{"version":3,"sources":["Core/Dialog/DialogComp.jsx","Core/Hooks/useToast.js","Core/Controls/GijgoGrid/index.jsx","Core/App/userSignature.jsx","Core/Services/signatureService.js","Core/Services/InternalUser/ServiceAgent/breakdownService.js","Core/Services/LoginService.js","Core/Hooks/useLoader.js","Core/Hooks/useDialog.js","Core/Auth/ChangePasswordComp.jsx","Core/Hooks/usePortalSettings.js","Components/_shared/ErrorScreens/Error404.jsx","Components/_shared/Home/index.jsx","Components/_shared/Login/LoginComp.jsx","Components/_shared/Login/index.jsx","Components/_shared/Logout/index.jsx","Components/_shared/ResetPassword/index.jsx","Core/Services/InternalUser/modelService.js","Components/_shared/Help/index.jsx","Components/InternalUser/Vehicles/ModelScreen/addEditModel.jsx","Components/InternalUser/Vehicles/ModelScreen/modelScreen.jsx","Core/Services/InternalUser/makeService.js","Components/InternalUser/Vehicles/MakeScreen/vehicleManufacturerModel.jsx","Components/InternalUser/Vehicles/MakeScreen/vehicleManufacturer.jsx","Core/Services/InternalUser/VMRS/vmrsSubCategoryService.js","Core/Services/InternalUser/VMRS/vmrsCategoryService.js","Components/InternalUser/Vehicles/VMRS/VmrsSubSategory/addEditVmrsSubCategoryModal.jsx","Components/InternalUser/Vehicles/VMRS/VmrsSubSategory/VmrsSubcategory.jsx","Core/Services/InternalUser/vmrsCategoryService.js","Components/InternalUser/Vehicles/VMRS/VmrsCategory/vmrsCategoryModal.jsx","Components/InternalUser/Vehicles/VMRS/VmrsCategory/vmrsCategory.jsx","Components/InternalUser/Driver/LicenseScreen/licenseTypeDialog.jsx","Core/Services/InternalUser/licenseTypeService.js","Components/InternalUser/Driver/LicenseScreen/licenseType.jsx","Core/Services/InternalUser/productGroupService.js","Components/InternalUser/Vehicles/ProductGroupScreen/ProductGroupModal.jsx","Components/InternalUser/Vehicles/ProductGroupScreen/ProductGroup.jsx","Core/Services/InternalUser/slippageService.js","Components/InternalUser/Vehicles/SlippageScreen/SlippageModal.jsx","Components/InternalUser/Vehicles/SlippageScreen/Slippage.jsx","Core/Services/InternalUser/ControllerService/customerService.js","Core/Controls/Inputs/PositiveInput.jsx","Components/InternalUser/Controllers/Customers/CustomerProvider.js","Core/Controls/ColorPicker.jsx","Components/InternalUser/Controllers/Customers/addCustomer.jsx","Core/Services/InternalUser/messageCustomer.js","Components/InternalUser/Controllers/Customers/MsgAllCustomersModal.jsx","Core/Loader/formLoader.jsx","Components/InternalUser/Controllers/DetailsModal/customerDetails.jsx","Components/InternalUser/Controllers/Customers/index.jsx","Core/Services/InternalUser/ControllerService/depotsService.js","Components/InternalUser/Controllers/Depots/DepotsProvidor.js","Components/InternalUser/Controllers/Depots/depoDetails.jsx","Components/InternalUser/Controllers/Depots/scheduleDetails.jsx","Components/InternalUser/Controllers/Depots/invoiceFields.jsx","Components/InternalUser/Controllers/Depots/addEditDepots.jsx","Components/InternalUser/Controllers/Depots/index.jsx","Core/Services/InternalUser/vehicleCheckSection.js","Components/InternalUser/Vehicles/CheckSection/checkSectionModal.jsx","Components/InternalUser/Vehicles/CheckSection/checkSection.jsx","Core/Services/InternalUser/customerFilterList.js","Components/InternalUser/Dashboard/CustomerList.jsx","Core/Services/dasboardWidgetsService.js","Components/InternalUser/Dashboard/DashboardProvider.js","Components/InternalUser/Dashboard/widgetSetting.jsx","Components/InternalUser/Dashboard/dashboardCard.jsx","Components/InternalUser/Dashboard/Dashboard.jsx","Components/InternalUser/Driver/DriverTypeScreen/driverTypeDialog.jsx","Core/Services/InternalUser/driverTypeService.js","Components/InternalUser/Driver/DriverTypeScreen/driverType.jsx","Components/InternalUser/Vehicles/BookingStatusScreen/bookingStatusDialog.jsx","Core/Services/InternalUser/bookingStatusService.js","Components/InternalUser/Vehicles/BookingStatusScreen/bookingStatus.jsx","Components/InternalUser/Vehicles/BookingDelayReason/delayReasonDialog.jsx","Core/Services/InternalUser/bookingDelayReason.js","Components/InternalUser/Vehicles/BookingDelayReason/bookingDelayReason.jsx","Components/InternalUser/Vehicles/CostCenterScreen/costCenterDialog.jsx","Core/Services/InternalUser/costCenterService.js","Components/InternalUser/Vehicles/CostCenterScreen/costCenter.jsx","Core/Services/InternalUser/serviceAgentFacilitiesService.js","Components/InternalUser/Vehicles/ServiceAgentFacilitiesScreen/ServiceAgentFacilitiesModal.jsx","Components/InternalUser/Vehicles/ServiceAgentFacilitiesScreen/ServiceAgentFacilities.jsx","Core/Services/InternalUser/ControllerService/vehicleService.js","Components/InternalUser/Controllers/Vehicles/VehicleProvider.js","Components/InternalUser/Controllers/Vehicles/more/otherVehicleField.jsx","Components/InternalUser/Controllers/Vehicles/more/jobFields.jsx","Components/InternalUser/Controllers/Vehicles/more/dateFields.jsx","Components/InternalUser/Controllers/Vehicles/more/flagDetails.jsx","Components/InternalUser/Controllers/Vehicles/addEditVehicle.jsx","Core/Services/InternalUser/ControllerService/scheduleVehicleService.js","Core/Services/InternalUser/Maintenance/DefectBreackDownStepper/DefectBreackDownStepper.js","Core/Services/InternalUser/ServiceAgent/serviceAgentService.js","Components/InternalUser/Controllers/DetailsModal/serviceAgent.jsx","Components/InternalUser/Maintenance/BreackdownDefectStepper/serviceAgentArrivedDate.jsx","Components/InternalUser/Maintenance/BreackdownDefectStepper/signOff.jsx","Components/InternalUser/Maintenance/BreackdownDefectStepper/administratorSignOff.jsx","Core/Services/InternalUser/JOB/jobService.js","Components/InternalUser/Controllers/JOBS/deleteJobModal.jsx","Core/Hooks/useWindowSize.js","Components/InternalUser/Maintenance/BreackdownDefectStepper/defectBreackDownStepper.jsx","Components/InternalUser/Maintenance/BreackdownDefectStepper/addJobStepper.jsx","Core/Services/InternalUser/ControllerService/noteService.js","Components/InternalUser/Controllers/Notes/progressReminder.jsx","Core/Modal/ConfirmationModal.jsx","Components/InternalUser/Controllers/Notes/jobNotes.jsx","Core/Services/InternalUser/VOR/addEditVor.js","Components/InternalUser/Controllers/VOR/AddEditVor.jsx","Components/InternalUser/Controllers/DetailsModal/depotDetails.jsx","Components/InternalUser/Controllers/Notes/defectBreakdownNotes.jsx","Components/InternalUser/Maintenance/BreakDown/BreakDownEditDetails.jsx","Components/InternalUser/Maintenance/BreakDown/BreakDownDetails.jsx","Components/InternalUser/Maintenance/BreakDown/locationHeaderComp.jsx","Components/InternalUser/Maintenance/BreakDown/AddBreakdown.jsx","Core/Services/InternalUser/Maintenance/DefectsService.js","Components/InternalUser/Maintenance/Defects/DefectsProvider.js","Components/InternalUser/Maintenance/Defects/defectDetail.jsx","Components/InternalUser/Maintenance/Defects/addEditDefectScreen.jsx","Components/InternalUser/Controllers/Notes/stickyNotes.jsx","Core/Services/InternalUser/ControllerService/jobDetailsService.js","Core/Controls/Table/index.jsx","Core/Services/InternalUser/ControllerService/mileageLogService.js","Components/InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleAdd.jsx","Components/InternalUser/Controllers/Vehicles/setVehicleMOTTaxExpiryDate.jsx","Components/InternalUser/Controllers/Vehicles/vehicleDetail.jsx","Core/Services/InternalUser/Vehicle/driverInfoService.js","Components/InternalUser/Controllers/Vehicles/DriverInfo/manageDriver.jsx","Components/InternalUser/Controllers/Vehicles/DriverInfo/driverHistory.jsx","Components/InternalUser/Controllers/Vehicles/DriverInfo/index.jsx","Core/Services/InternalUser/Vehicle/driverVehicle.js","Components/InternalUser/Controllers/Vehicles/DriverDailyChecks/imageCard.jsx","Components/InternalUser/Controllers/Vehicles/DriverDailyChecks/imageModal.jsx","Components/InternalUser/Controllers/Vehicles/DriverDailyChecks/driverDailyChecks.jsx","Components/InternalUser/Controllers/Vehicles/BatteryLevels/VehicleBatteryLevels.jsx","Core/Services/InternalUser/ControllerService/endUserService.js","Components/InternalUser/Controllers/DetailsModal/endUserDetails.jsx","Components/InternalUser/Controllers/Vehicles/archiveVehicle.jsx","Components/InternalUser/Controllers/Vehicles/vehicleDash.jsx","Components/InternalUser/Controllers/Notes/NotesProvider.js","Components/InternalUser/Controllers/Notes/addEditNotes.jsx","Components/InternalUser/Controllers/Notes/deleteNotes.jsx","Components/InternalUser/Controllers/Notes/index.jsx","Components/InternalUser/Maintenance/Defects/DefectEditDetails.jsx","Components/InternalUser/Maintenance/Defects/defectScreen.jsx","Components/InternalUser/Maintenance/BreakDown/breakDownDashboard.jsx","Components/InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleEdit.jsx","Components/InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleNotes.jsx","Components/InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleBookingStatus.jsx","Components/InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleBookingSection.jsx","Core/Services/InternalUser/Vehicle/vehicleTabChecks.js","Components/InternalUser/Controllers/Vehicles/VehicleDailyChecks/VehicleDiagrams/images1.png","Components/InternalUser/Controllers/Vehicles/VehicleDailyChecks/VehicleDiagrams/axImage01.png","Components/InternalUser/Controllers/Vehicles/VehicleDailyChecks/VehicleDiagrams/azImage02.png","Components/InternalUser/Controllers/Vehicles/VehicleDailyChecks/VehicleDiagrams/axImage03.png","Components/InternalUser/Controllers/Vehicles/VehicleDailyChecks/vehicleAxel.jsx","Components/InternalUser/Controllers/Vehicles/VehicleDailyChecks/vehicleDailyChecks.jsx","Components/InternalUser/Controllers/Vehicles/VehicleDailyChecks/editAxel.jsx","Components/InternalUser/Controllers/Vehicles/VehicleDailyChecks/actionTakenModal.jsx","Components/InternalUser/Controllers/Vehicles/VehicleDailyChecks/editVehicleDailyCheck.jsx","Components/InternalUser/Schedule/completeSchedule.jsx","Components/InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleRevise.jsx","Components/ServiceAgent/Schedules/requiredDocumentsModal.jsx","Components/InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicle.jsx","Components/InternalUser/Controllers/JOBS/JobScreenModal.jsx","Core/Services/InternalUser/JOB/jobQueryService.js","Components/InternalUser/Controllers/JOBS/JobStatusBtn/JobQuery.jsx","Components/InternalUser/Controllers/JOBS/JobScreen.jsx","Core/Services/InternalUser/ControllerService/journeyService.js","Components/InternalUser/Controllers/Vehicles/VehicleJourneys/journeysaddEdit.jsx","Components/InternalUser/Controllers/Vehicles/VehicleJourneys/index.jsx","Core/Services/InternalUser/ControllerService/fuelPurchaseService.js","Components/InternalUser/Controllers/FuelPurchaseTab/FuelPurchaseProvider.js","Components/InternalUser/Controllers/FuelPurchaseTab/addEditFuelPurchase.jsx","Components/InternalUser/Controllers/FuelPurchaseTab/index.jsx","Components/InternalUser/Controllers/Vehicles/DriverDailyChecks/editDriverChecks.jsx","Components/InternalUser/Controllers/Vehicles/DriverDailyChecks/index.jsx","Core/Services/InternalUser/Vehicle/messageService.js","Components/InternalUser/Controllers/Vehicles/Message/index.jsx","Components/InternalUser/Controllers/MileageLog/mileageLogDialog.jsx","Components/InternalUser/Controllers/MileageLog/mileageLog.jsx","Core/Services/InternalUser/ControllerService/driverService.js","Components/InternalUser/Controllers/VOR/VorIndex.jsx","Core/Services/InternalUser/invoicesService.js","Components/InternalUser/Invoices/addEditInvoice.jsx","Components/InternalUser/Controllers/JOBS/JOBItems/JobDetails.jsx","Components/InternalUser/Invoices/index.jsx","Core/Services/InternalUser/Maintenance/scheduleService.js","Components/ServiceAgent/Schedules/ScheduleDashboard.jsx","Core/Services/InternalUser/Vehicle/contractVechicleService.js","Components/InternalUser/Controllers/Vehicles/Contract/contractProvider.js","Components/InternalUser/Controllers/Vehicles/Contract/contractTab.jsx","Components/InternalUser/Controllers/Vehicles/Contract/index.jsx","Core/Services/InternalUser/Vehicle/vehicleRecallService.js","Components/InternalUser/Controllers/Vehicles/VehicleRecall/reCallProvider.js","Components/InternalUser/Controllers/Vehicles/VehicleRecall/addRecallScreen.jsx","Components/InternalUser/Controllers/Vehicles/VehicleRecall/RecallStepper/assignServiceAgentModal.jsx","Components/InternalUser/Controllers/Vehicles/VehicleRecall/RecallStepper/recallStepper.jsx","Components/InternalUser/Controllers/Vehicles/VehicleRecall/recallDashDetail.jsx","Components/InternalUser/Controllers/Vehicles/VehicleRecall/index.jsx","Components/InternalUser/Invoices/salesInvoice.jsx","Components/InternalUser/Controllers/Vehicles/editVehicle.jsx","Components/InternalUser/Controllers/Vehicles/index.jsx","Components/InternalUser/Vehicles/CollectionAndDelivery/collectionNDeliveryDialog.jsx","Core/Services/InternalUser/collectionNDeliveryService.js","Components/InternalUser/Vehicles/CollectionAndDelivery/collectionNDelivery.jsx","Components/InternalUser/Vehicles/EventDocuments/eventDocumentsDialog.jsx","Core/Services/InternalUser/eventDocumentsService.js","Components/InternalUser/Vehicles/EventDocuments/eventDocuments.jsx","Core/Services/InternalUser/vehicleTypeService.js","Core/Services/InternalUser/vehicleCategoryService.js","Components/InternalUser/Vehicles/VehicleTypeScreen/VehicleTypeModal.jsx","Components/InternalUser/Vehicles/VehicleTypeScreen/VehicleType.jsx","Components/InternalUser/ServiceAgent/ServiceAgentProvider.js","Components/InternalUser/ServiceAgent/addEditServiceAgent.jsx","Components/InternalUser/ServiceAgent/index.jsx","Components/InternalUser/ServiceAgent/serviceAgentDash.jsx","Components/InternalUser/ServiceAgent/editServiceAgent.jsx","Template/mileageimportsample.xlsx","Components/InternalUser/Controllers/Customers/ImportMileage/index.jsx","Template/Journeyimportsample.xlsx","Components/InternalUser/Controllers/Customers/ImportMileage/importJourney.jsx","Template/import-fuel_purchasesSample.xlsx","Components/InternalUser/Controllers/Customers/ImportMileage/importFuel.jsx","Core/Services/Admin/licenceCheck.js","Components/InternalUser/Controllers/Customers/LicenceCheckTopUp/index.jsx","Components/InternalUser/Controllers/Customers/VorTab/index.jsx","Template/depotimportsample.xlsx","Components/InternalUser/Controllers/Customers/ImportMileage/importDepot.jsx","Template/serviceagentimportsample.xlsx","Components/InternalUser/Controllers/Customers/ImportMileage/importServiceAgent.jsx","Components/InternalUser/Controllers/Customers/dashboard.jsx","Components/InternalUser/Controllers/Customers/CustVehicle/index.jsx","Components/InternalUser/Controllers/Customers/CustBreakdown/index.jsx","Core/Services/InternalUser/fleetInsurance.js","Components/InternalUser/Controllers/Customers/FleetInsurance/addfleetInsurance.jsx","Components/InternalUser/Controllers/Customers/FleetInsurance/index.jsx","Components/InternalUser/Controllers/Customers/EndUser/addEditEndUSer.jsx","Components/InternalUser/Controllers/Customers/EndUser/index.jsx","Core/Services/InternalUser/ControllerService/faultTypeService.js","Components/InternalUser/Controllers/Customers/FaultTypes/AddEditFaultTypes.jsx","Components/InternalUser/Controllers/Customers/FaultTypes/index.jsx","Components/InternalUser/VorReporting/RenderReportingDesign.jsx","Core/Controls/Charts/index.jsx","Core/Services/InternalUser/excelDownload.js","Components/InternalUser/VorReporting/vorReporting.jsx","Components/InternalUser/Maintenance/BreakDownDefectReporting/index.jsx","Core/Services/InternalUser/jobReportingService.js","Components/InternalUser/Controllers/JOBS/jobReporting.jsx","Components/InternalUser/Controllers/Customers/editDashboard.jsx","Core/Services/InternalUser/Vehicle/vehicleChecks.js","Components/InternalUser/Vehicles/VehicleCheckCheck/vehicleCheckCheckModal.jsx","Components/InternalUser/Vehicles/VehicleCheckCheck/tableCheckcheck.jsx","Components/InternalUser/Vehicles/VehicleCheckCheck/vehicleCheckCheck.jsx","Components/InternalUser/Controllers/Vehicles/ScheduleVehicle/jobHistory.jsx","Components/InternalUser/Controllers/Vehicles/ScheduleVehicle/upcomingEvents.jsx","Components/InternalUser/Controllers/JOBS/JobStatusBtn/JobEstimate.jsx","Components/InternalUser/Controllers/JOBS/JobStatusBtn/AcceptEstimateModal.jsx","Components/InternalUser/Controllers/JOBS/JobStatusBtn/SubmitWarning.jsx","Components/InternalUser/Controllers/JOBS/JobStatusBtn/statusBasedButtons.jsx","Components/InternalUser/Controllers/Vehicles/ScheduleVehicle/showJobDetailsInfo.jsx","Core/Services/InternalUser/JOB/jobItemsService.js","Components/InternalUser/Controllers/JOBS/JOBItems/getPastJobBy.jsx","Components/InternalUser/Controllers/JOBS/JOBItems/addJobItem.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/ServiceAgent/statusBtn.jsx","Core/Controls/Table/StyledCell&Row.jsx","Components/InternalUser/Controllers/JOBS/JOBItems/JobInvoiceLines/sellerLines.jsx","Core/Services/InternalUser/VOR/retorqueReasonsService.js","Components/VOR/RetorqueReasonsScreen/RetorqueReasonsModal.jsx","Components/VOR/RetorqueReasonsScreen/RetorqueReasons.jsx","Components/InternalUser/Controllers/JOBS/JOBItems/JobInvoiceLines/sellerInvoice.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/Customer/statusBtn.jsx","Components/InternalUser/Controllers/JOBS/JOBItems/JobInvoiceLines/purchaseInvoice.jsx","Components/InternalUser/Controllers/JOBS/JOBItems/jobCompletionModal.jsx","Components/InternalUser/Controllers/JOBS/JOBItems/jobHeaderDateStepper.jsx","Components/InternalUser/Controllers/JOBS/JOBItems/jobItemHeaderDates.jsx","Components/InternalUser/Controllers/JOBS/jobQueriesScreen.jsx","Components/InternalUser/Controllers/JOBS/JOBItems/JobItemsScreen.jsx","Components/InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleJobDetail.jsx","Components/ServiceAgent/Schedules/vehicleAllSchedules.jsx","Components/InternalUser/Maintenance/Schedules/maintenanceSchedules.jsx","Components/InternalUser/Controllers/JOBS/JOBItems/JobMessages.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/Internal/statusBtn.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/Internal/addUpdateJobNotes.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/Internal/addJobNotes.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/Internal/jobUpdateNotes.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/Internal/index.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/Internal/addJobItem.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/Internal/jobItemscreen.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/Customer/addJobItem.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/Customer/jobItemscreen.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/ServiceAgent/addJobItem.jsx","Components/InternalUser/Controllers/JOBS/JobDetails/ServiceAgent/jobItemscreen.jsx","Components/InternalUser/Controllers/JOBS/jobTabScreen.jsx","Components/InternalUser/Controllers/Driver/DriverProvider.js","Components/InternalUser/Controllers/Driver/addEditDriver.jsx","Components/InternalUser/Controllers/Driver/index.jsx","Components/InternalUser/Controllers/Driver/driverDashboard.jsx","Core/Services/InternalUser/licenceCheckService.js","Components/InternalUser/Controllers/LicenceCheck/checkConviction.jsx","Components/InternalUser/Controllers/LicenceCheck/AddLicenceChecks.jsx","Components/InternalUser/Controllers/LicenceCheck/index.jsx","Components/InternalUser/Controllers/Driver/editDashboard.jsx","Core/Services/InternalUser/scheduleEventsService.js","Components/InternalUser/Vehicles/ScheduleEventsScreen/scheduleEventsDialog.jsx","Components/InternalUser/Vehicles/ScheduleEventsScreen/scheduleEvents.jsx","Components/InternalUser/Vehicles/VehicleCategoryScreen/VehicleCategoryModal.jsx","Components/InternalUser/Vehicles/VehicleCategoryScreen/VehicleCategory.jsx","Components/InternalUser/Controllers/JOBS/UnassignedJobs/UnassignedJob.jsx","Core/Services/InternalUser/fuelTypeService.js","Components/InternalUser/Vehicles/FuelTypeScreen/FuelTypesModal.jsx","Components/InternalUser/Vehicles/FuelTypeScreen/FuelTypes.jsx","Components/InternalUser/Controllers/JobReminder/jobReminder.jsx","Components/InternalUser/Schedule/index.jsx","Components/InternalUser/Controllers/Vehicles/VehicleDepots/depotProvider.js","Components/InternalUser/Controllers/Vehicles/VehicleDepots/addEditDepots.jsx","Components/InternalUser/Controllers/Vehicles/VehicleDepots/depotDashboard.jsx","Core/Services/InternalUser/defectTypeService.js","Core/Services/InternalUser/ControllerService/depotsDepartmentService.js","Components/InternalUser/Controllers/Vehicles/VehicleDepots/Department/addEditDepartment.jsx","Components/InternalUser/Controllers/Vehicles/VehicleDepots/Department/index.jsx","Components/InternalUser/Controllers/Vehicles/VehicleDepots/index.jsx","Components/InternalUser/Vehicles/DefectTypeScreen/DefectTypeModal.jsx","Components/InternalUser/Vehicles/DefectTypeScreen/DefectType.jsx","Components/InternalUser/Schedule/OutstandingDocuments/ScheduleSetReceived.jsx","Components/InternalUser/Schedule/OutstandingDocuments/index.jsx","Components/InternalUser/Controllers/JOBS/InternalJobsScreen.jsx","Core/Services/InternalUser/costCategoriesService.js","Components/InternalUser/Vehicles/CostCategoriesScreen/CostCategoriesModal.jsx","Components/InternalUser/Vehicles/CostCategoriesScreen/CostCategories.jsx","Core/Services/InternalUser/costTypeService.js","Components/InternalUser/Vehicles/CostTypeScreen/CostTypesModal.jsx","Components/InternalUser/Vehicles/CostTypeScreen/CostTypes.jsx","Components/Driver/Maintenance/driverCheck.jsx","Components/InternalUser/DailyChecks/dailyChecksInternalUser.jsx","Core/Services/InternalUser/emailTemplateService.js","Components/InternalUser/Vehicles/EmailTemplateScreen/EmailTemplatesModal.jsx","Components/InternalUser/Vehicles/EmailTemplateScreen/EmailTemplates.jsx","Core/Services/InternalUser/Message/message.js","Components/InternalUser/Message/InternalUserMessage.jsx","Core/Services/InternalUser/ControllerService/EnquiriService.js","Components/InternalUser/Enquiries/EnquirieProvider.js","Components/InternalUser/Enquiries/EnquiryStepper/statusModal.jsx","Components/InternalUser/Enquiries/EnquiryStepper/liveEnquiryModal.jsx","Components/InternalUser/Enquiries/EnquiryStepper/EnquiryStepper.jsx","Components/InternalUser/Enquiries/AddNewEnquiries.jsx","Components/InternalUser/Enquiries/index.jsx","Components/InternalUser/Enquiries/AddEnquiryNotes.jsx","Components/InternalUser/Enquiries/EditEnquiry.jsx","Components/InternalUser/Controllers/JobTracking/index.jsx","Components/InternalUser/Schedule/SchedulePlanner/index.jsx","Action/actionName.js","Components/InternalUser/VehicleInspection/inspectionReducer.js","Components/InternalUser/VehicleInspection/index.jsx","Components/InternalUser/DeletedRecords/deletedJob.jsx","Components/InternalUser/DeletedRecords/deletedDefect.jsx","Core/Services/InternalUser/companyService.js","Components/InternalUser/Company/CompanyProvider.js","Components/InternalUser/Company/index.jsx","Components/InternalUser/VorReporting/customerVORReporting.jsx","Core/Services/Admin/userService.js","Components/Admin/UserManegment/userProvider.js","Components/Admin/UserManegment/dropdown.jsx","Components/Admin/UserManegment/addUser.jsx","Components/Admin/UserManegment/AssignedUser/index.jsx","Components/Admin/UserManegment/ResetPassword/index.jsx","Components/Admin/UserManegment/index.jsx","Core/Services/Admin/branchService.js","Components/Admin/Branches/addEditBranch.jsx","Components/Admin/Branches/index.jsx","Components/Admin/Dashboard/Dashboard.jsx","Core/Services/InternalUser/vehicleDailyChecksAdminService.js","Components/InternalUser/Vehicles/VehicleDailyChecksAdmin/vehicleDailyCheckModal.jsx","Components/InternalUser/Vehicles/VehicleDailyChecksAdmin/vehicleDailyChecksAdmin.jsx","Components/InternalUser/Vehicles/VehicleDailyChecksAdmin/index.jsx","Core/Services/Admin/reportCatalogueService.js","Components/Admin/ReportCatalogues/addEditReportCatalogue.jsx","Components/Admin/ReportCatalogues/index.jsx","Core/Services/InternalUser/menuItemService.js","Components/Admin/MenuScreen/MenuModal.jsx","Components/Admin/MenuScreen/Menu.jsx","Components/Admin/MenuScreen/MenuTab.jsx","Core/Services/InternalUser/VOR/retorquePositionsService.js","Components/Admin/TreeView/AddEditModal.jsx","Components/Admin/TreeView/TreeViewScreen.jsx","Components/Admin/TreeView/TreeViewTab.jsx","Core/Services/Admin/Settings.js","Components/Admin/Settings/Settings.jsx","Core/Services/InternalUser/VOR/vorTypesService.js","Components/VOR/vorTypesScreen/VorTypeModal.jsx","Core/Services/InternalUser/VOR/vorTypeDetailService.js","Components/VOR/VORTypeDetailScreen/vorTypeDetailDialog.jsx","Core/Services/InternalUser/VOR/vorSubCatService.js","Components/VOR/VORSubCatScreen/VorSubCatDialog.jsx","Components/VOR/VORSubCatScreen/VorSubCat.jsx","Components/VOR/VORTypeDetailScreen/vorTypeDetail.jsx","Components/VOR/vorTypesScreen/VorType.jsx","Components/VOR/RetorquePositionsScreen/RetorquePositionsModal.jsx","Components/VOR/RetorquePositionsScreen/RetorquePositions.jsx","Components/VOR/WorkshopResourcesScreen/WorkshopResources.jsx","Components/InternalUser/Invoices/updateSalesInvoice.jsx","Core/Services/InternalUser/ServiceAgent/maintenanceProvider.js","Components/InternalUser/Maintenance/Provider/addMaintenanceProvider.jsx","Components/InternalUser/Maintenance/Provider/maintenanceProvider.jsx","Components/InternalUser/Maintenance/BreakDown/editBreakDown.jsx","Components/ServiceAgent/Dashboard/ServiceAgentDash.jsx","Components/ServiceAgent/Defects/DefectStatusGrid.jsx","Components/ServiceAgent/Breakdown/index.jsx","Core/Services/ServiceAgent/Schedule/BookingReq.js","Components/ServiceAgent/Schedules/BookingRequest/BookingSection.jsx","Components/ServiceAgent/Schedules/BookingRequest/index.jsx","Components/ServiceAgent/Schedules/ConfiremdBookings/index.jsx","Components/ServiceAgent/Defects/ServiceAgentDefectDash.jsx","Components/ServiceAgent/Schedules/AcceptRejectByAgent/AcceptRejectByAgent.jsx","Components/ServiceAgent/JOBS/commonJobsScreen.jsx","Core/Services/InternalUser/ReportsService.js","Components/InternalUser/Reports/ReportsList/AddReportStepper.jsx","Components/InternalUser/Reports/ReportsList/ReportProvider.js","Components/InternalUser/Reports/ReportsList/AddReportScreen.jsx","Components/InternalUser/Reports/ReportsList/ReportsListScreen.jsx","Components/InternalUser/Reports/ReportsList/FilteredReportListScreen.jsx","Components/Customer/Dashboard/index.jsx","Components/Customer/Drivers/index.jsx","Components/Customer/Maintainance/BreakDowns/index.jsx","Components/Customer/Maintainance/Defects/index.jsx","Core/Services/InternalUser/Maintenance/VehicleCheckDaily.js","Components/Customer/Maintainance/VehicleDailyChecks/index.jsx","Components/Customer/Maintainance/Schedules/index.jsx","Components/Customer/Vehicle/index.jsx","Components/Customer/Vehicle/Jobs/index.jsx","Components/Customer/Vehicle/CustomerDepots/addEditDepots.jsx","Components/Customer/Vehicle/CustomerDepots/index.jsx","Components/Customer/DailyChecks/dailyChecksCustomer.jsx","Components/InternalUser/Maintenance/BreakDownDefectReporting/customerBreakDownDefectReporting.jsx","Components/Driver/Dashboard/index.jsx","Components/Driver/Vehicle/index.jsx","Components/Driver/Maintenance/addBreakdown.jsx","Components/Driver/Maintenance/addDefect.jsx","Components/Driver/Maintenance/checkIn.jsx","Components/Driver/DriverDash/DriverDash.jsx","Components/Driver/Maintenance/breakdownList.jsx","Components/Driver/Maintenance/defectList.jsx","Components/Driver/Maintenance/CheckoutVehicle/checkOut.jsx","Components/Driver/Maintenance/CheckoutVehicle/index.jsx","Components/Technician/Schedules.jsx","Components/Lead/Dashboard/index.jsx","Components/Lead/Enquires/index.jsx","Core/NavAndMenu/menu/menu-auth-type.js","Core/NavAndMenu/menu/roles-menu/Auth-menu.js","Core/NavAndMenu/menu/roles-menu/UnAuth-menu.js","Core/NavAndMenu/menu/roles-menu/admin-menu.js","Core/NavAndMenu/menu/roles-menu/internalUser-menu.js","Components/InternalUser/Controllers/Vehicles/VehicleDepots/editDashboard.jsx","Core/NavAndMenu/menu/roles-menu/serviceAgent-menu.js","Core/NavAndMenu/menu/roles-menu/customer-menu.js","Core/NavAndMenu/menu/roles-menu/driver-menu.js","Core/NavAndMenu/menu/roles-menu/technician-menu.js","Core/NavAndMenu/menu/roles-menu/lead-menu.js","Core/Hooks/useMenu.js","Core/NavAndMenu/_menu.js","Core/Services/menuService.js","Core/NavAndMenu/getAllowMenus.js","Core/NavAndMenu/AppNavbar.jsx","Core/App/DashNotification.jsx","Core/App/RouterAndView.jsx","Core/Loader/Loader.jsx","Core/Toaster/Toaster.jsx","Components/_shared/ResetPassword/ResetPasswordComp.jsx","Core/Auth/ForgotPasswordComp.jsx","Core/App/PageLevel/PageLevelComponents.jsx","Core/App/App.js","reportWebVitals.js","index.js","Core/Basic/storage-service.js","Core/Controls/Inputs/index.jsx","Core/Controls/GenericFileUploader/FileUploaderConfig.js","Core/Controls/Inputs/Buttons/ButtonModal.jsx","Components/InternalUser/Maintenance/BreakDown/getLocations.jsx","Core/Hooks/useLoginInfo.js","Core/Services/FileUploaderService.js","Core/Controls/Grid/Inputformatter.jsx","Core/Controls/Inputs/MandatoryField.jsx","Core/Services/Admin/AdminDashboardService.js","Core/Services/Customer/customerDashService.js","Core/Services/Driver/driverDashboard.js","Core/Services/ServiceAgent/ServiceAgent.js","Core/Controls/Grid/index.jsx","Core/Controls/Inputs/PasswordBox.jsx","Core/Controls/Inputs/Checkbox.jsx","Core/Controls/Inputs/SelectInput.jsx","Core/Controls/Breadcrumb/index.jsx","Core/Controls/Tabs/index.jsx","Core/Controls/Accordion/index.jsx","Core/Controls/Inputs/TimePicker.jsx","Core/Controls/Inputs/AutocompleteInput.jsx","Core/Controls/SpeedDial/index.jsx","Core/Services/InternalUser/postCodeService.js","Core/Controls/LocationField/index.jsx","Core/Controls/Inputs/Buttons/AppButtonsGroup.jsx","Core/Dialog/DiloagWithoutStaticHeader.jsx","Core/Services/InternalUser/InternalDashService.js","Core/Controls/Rating/index.jsx","Marker/car_repair_amber.png","Marker/car_repair_red.png","Marker/car_repair_green.png","Core/Basic/StaticService.js","Core/Controls/Autocomplete/index.jsx","Core/Controls/GenericFileUploader/UploaderModal.jsx","Core/Controls/GenericFileUploader/index.jsx","Marker/car_pin.png","Marker/hgv_pin.png","Marker/van_pin.png","Marker/trailer_pin.png","Marker/bus_pin.png","Core/Loader/LoaderState.js","Core/Toaster/ToastState.js","Core/App/PageLevel/DialogState.js","Core/App/PageLevel/AppContextProvider.jsx","Core/Controls/Inputs/DatePicker.jsx","Core/Basic/HttpService.js"],"names":["closeIconStyle","marginRight","PaperComponent","props","handle","cancel","DialogComp","title","children","footer","onClose","maxWidth","overflow","height","rest","aria-labelledby","open","display","alignItems","style","position","right","flexGrow","cursor","id","titleStyle","hideCloseAction","onClick","useToast","obj","useContext","AppContext","toastState","grid1","UserSignatureReminder","useState","setState","checkStatus","value","chosenID","closeSign","postData","Dialog","aria-describedby","DialogTitle","DialogActions","Grid","container","spacing","padding","item","xs","Button","color","variant","fullWidth","background","UserSignature","techniciansign","signAvailable","state","signCanvas","useRef","useEffect","st","imgSrc","AppStorage","getSignature","handleData","a","InputLabel","shrink","Tooltip","undefined","current","clear","marginTop","src","className","alt","ref","canvasProps","onEnd","fields","toDataURL","GetTechnicianSign","clearOnResize","FormHelperText","error","postSignature","sign","postWithAuth","signature","res","postSignatureStatus","ID","putWithAuth","getVehicleBreakdownDropdowns","getWithAuth","getBreakDownDropDown","memoize","getVehicleBreakdownsbyID","getVechicleIDByRegNO","postVehicleBreakdown","data","defectID","defectVehicleID","vehicleID","defectTypeCode","breakDownType","defectMileage","mileage","defectReportingDepotID","reportingDepotValue","defectLocation","breakDownLocation","defectContactNumber","reportedPhone","defectContactName","reportedBy","defectDriverName","driverName","defectDriverTelephone","driverPhone","defectDescription","problemReported","defectCallOutRequired","callOutRequired","defectUrgentCallOut","defectVOR","defectPoliceOnScene","policeOnScene","defectPassengersInvolved","passengersInvolved","defectNumberOfPassengers","numberOfPassenger","defectAccidentDamage","accDamage","defectInsuranceReference","iNSREF","defectReplacementVehicle","replacementvehicleRequired","domainName","defectVehicleLoaded","vehicleLoaded","defectVehicleLoadTypeID","loadTypeValue","defectMobilityRequested","mobilityRequested","defectMobilityUsed","mobilityUsed","defectPG9Issued","faultIds","modules","map","tryLogin","formState","post","loginName","name","password","success","performLogin","getUploaderConfig","resetPasswordWithToken","token","confirm","newPassword","confirmPassword","passwordResetToken","changePassword","currentPassword","forgotPasswordRequest","email","useLoader","loaderState","useDialog","dialogState","useStyles","makeStyles","theme","root","margin","ChangePasswordComp","showToastWarning","showToastError","showToastSuccess","showLoader","hideLoader","hideDialog","classes","setFormState","fieldChange","e","val","target","submit","validatePassword","message","messages","Container","autoComplete","autoFocus","label","onChange","type","usePortalSettings","portalSettings","getPortalSetting","expired","get","details","setPortalSetting","Error404","Typography","align","noWrap","Home","img","portalSettingBanner","process","portalSettingBannerImage","width","objectFit","defaultState","LoginComp","isLoggedIn","useLoginInfo","model","onFieldChange","handleEnter","key","loginUser","onSuccess","onKeyDown","button","disabled","endIcon","Login","showDialog","history","push","window","location","reload","Link","component","CommonModals","ForgotPassword","logout","performLogout","ResetPassword","onDialogClose","args","match","params","search","substring","getModelById","formatters","YesNo","Date_DDMMYYYY","postModelData","getModelDropdownData","AddEditModel","modelActive","modelID","modelMargin","makeList","vehicleTypeList","modelWarrantyGroupCode","errors","modelId","makeDescription","modelCode","modelDescription","modelMakeID","modelPhoto","vehicleTypeDescription","modelVehicleTypeID","dropDwonRes","Makes","makes","w","makeID","vehicleType","vehicleTypes","vehicleTypeID","inputChange","validations","formIsValid","length","test","submitHandler","formData","direction","sm","inputLabel","placeholder","required","List","textTransform","event","reader","FileReader","onload","result","readAsDataURL","files","accept","checked","$","GijgoGrid","isAction","columns","find","c","gijgoGrid","getToken","ut","uli","recordId","fileCount","configName","fileUploaderConfigName","Date","gridReload","setGridReload","gridFileCountRefresh","cols","events","field","renderer","row","formatter","addFileUploaderIcon","column","isGijgo","filterable","sortable","headerCssClass","idFieldName","isValidConfig","actionCol","prevFor","newFormatter","spn2","document","createElement","lnk2","marginLeft","gridRelaod","fileUploaderModalClose","docIDPassed","ReactDOM","render","pullArchivedJobsAndUpdateState","isReload","getUrl","grid","setTimeout","filterVal","storedFiltterValue","vehicleRegNumber","customerCompanyName","depotName","vorTypeDescription","forEach","itm","attr","filterRow","colXPath","filterInput","onSuccessFunc","response","dataConverter","dataSource","url","ExpBaseURL","headers","Authorization","host","includes","minWidth","headerFilter","pager","limit","on","records","totalRecords","gridActionSpn","gridActionGrid","justify","btnTitle","icon","AddIcon","onBtnClick","fontWeight","toolTipTitle","secondBtnTitle","secondBtnIcon","onSecondBtnClick","mapBtnToolTipTitle","mapBtnIcon","onMapBtnClick","GijgoActionBtn","$row","record","onRowDataBound","propertyName","dropdown","replaceWith","downloadCSVWrapper","downloadCustomUrl","downloadCSV","downloadBtnName","moment","format","bottom","left","zIndex","arrow","IconButton","aria-label","fontSize","modelgridStyle","gridContainer","formatterImageContainer","textAlign","formatterImage","backgroundSize","formatterEditBtn","basecolumns","spn","isBase64Image","lnk","headerRenderer","ColumnHeaderAlignRight","ColumnTextAlignRight","crumbs","path","active","ModelScreen","modalToggle","userId","pullModel","renderEdit","handleUpdate","useMemo","tempCols","element","closeModelHandler","list","total","getMakeById","postMakeData","VehicleManufacturerModel","makeActive","makeLogo","makeData","makeScreenStyle","gridImage","gridImageContainer","gridEditButton","gridIconsize","VehicleManufacturer","uservalue","pullMakeData","actionButton","handleMakeUpdate","closeMakeDialog","getVmrsSubCategoryById","postVmrsSubCategoryData","getAllVmrsCategorys","AddEditVmrsModal","btnLoader","setBtnLoader","vmrsSubCategoryID","vmrsCategoryValue","vmrsSubCategoryDescription","vmrsTaskCodeID","vmrsCategoryList","vmrsCategoryValueID","tempOptions","setTempOptions","resCategoryDropDown","vmrsCategoryID","vmrsDescription","subCategoryId","vmrsCategory","nm","ev","options","isBtnLoader","modalgridStyle","VmrsSubCategoryScreen","closeModalHandler","getVMRSCategoryById","postVMRSCategoryData","getVmrsCategoryDropDown","VmrsCategoryModal","vmrsCustomerIDValue","vmrsVehicleTypeIDValue","customerCodeList","custIDValue","vehicleTypeIDValue","vmrsDropDowns","customers","customerId","vehicle_type","nominalCode","vmrsCustomerID","vmrsVehicleTypeID","vmrsType","handleInputChange","vehicleId","singleSelectChange","submitVmrsCategory","vmrsCategoryData","base_columns","VmrsCategory","loader","userID","editActionButton","newColumn","LicenseTypeDialog","inputValue","blank","onFocus","childValue","driverLicenceTypeID","defaultValue","driverLicenceTypeDescription","btnText","updateRowData","text","addRowData","postDataToApi","updateDataToApi","LicenseType","isOpen","rows","setValue","pullApiData","mes","getAllProductGroups","getProductGroupsById","postProductGroupsData","ProductGroupModal","productGroupID","productGroupDescription","productGroupMaxMargin","productGroupMinMargin","productGroupCode","productGroupLeadTime","emptyStrigPattern","productGroupData","ProductGroup","productgroupsList","pullProdcutGroups","handleProductUpdate","closeProductGroupModal","isRowHovered","enableSearch","loadingData","paginate","offset","getSlippageById","postSlippageData","SlippageModal","slippageID","slippageReasonDescription","slippageReasonID","slippageData","Slippage","slippageList","pullSlippage","handleSlippageUpdate","slippageReasonId","closeSlippageModal","getCustomerById","Id","addCustomeres","invoice","customerID","customerShortName","customerAddress1","customerAddress2","customerCity","customerCounty","customerPostCode","customerTelephone","customerEmail","customerWebSite","customerStatusID","customerStatusIDValue","customerAccountManagerID","customerAccountManagerName","customerOperationsManagerName","customerOperationsManagerPhone","customerOperationsManagerEmail","customerFinanceDirectorName","customerFinanceDirectorPhone","customerFinanceDirectorEmail","customerRechargeMarkup","customerISOWeekStartDay","ISODaysValue","customerSendEmailNotifications","customerSendDefectEmail","customerDefectEmail","customerSendBreakdownEmail","customerBreakdownEmail","customerSendFailedDailyCheck","customerFailedDailyCheckEmail","sendScheduleConfirmation","customerScheduleConfirmationEmail","customerSendScheduleCompletion","customerScheduleCompletionEmail","customerSendVOREmail","customerVOREmail","customerSendQueryResponseReceived","customerQueryResponseReceivedEmail","customerSendJobApprovalRequired","customerJobApprovalRequiredEmail","customerAutoApprovalLimit","customerInspectionSheetHeadingBackgroundColour","customerInspectionSheetHeadingTextColour","customerHandlingDefects","handlingOLicense","customerEarnedRecognition","customerERStartDate","customerLogo","customerLicenceCheckAccountCode","customerCountryCode","customerInspectionEventID","customerInspectionEventIDValue","customerPaymentDays","customerPaymentDaysValue","customerAccountCode","customerOverdueReminderEmail","customerSendOverdueReminderEmail","customerSendInvoiceToDepot","customerUseAddressAsInvoiceAddress","customerInvoiceAddress1","customerInvoiceAddress2","customerInvoiceAddressCity","customerInvoiceAddressCounty","customerInvoiceAddressPostCode","customerInvoiceAddressCountryCode","customerInvoiceEmailAddress","customerEmailInvoices","customerTableHeaderBackgroundColour","customerTableHeaderColour","customerOddRowBackgroundColour","customerOddRowColour","customerEvenRowBackgroundColour","customerEvenRowColour","customerLabourRate","customerOutOfHoursLabourRate","customerVORHours","customerVORTimed","updateCustomer","getCustomerDropDown","postImportMileage","postImportJourney","postImportDepot","CustomerID","FileData","postImportServiceAgent","postImportFuel","getVORVehiclesByType","start","end","vehicleCategoryID","getTop10VORVehiclesByOccurance","getTop10VORVehiclesByDays","PositiveInput","onKeyPress","preventDefault","MandatoryPositiveInput","MandatoryField","CustomerScreenContext","createContext","ISODays","countryList","CustomerProvider","useHistory","autoApproveDays","autoCreateMileageBasedService","customerActive","customerAllowedDayRange","customerAltCompanyName","customerDateCreated","customerDateDeleted","customerDateUpdated","customerDisplayDefectsMonths","customerOperationsManagerID","customerSendVehicleNotification","customerVORMobileNumbers","customerVehicleNotificationEmail","oLicenseWarningFollowupInterval","oLicenseWarningInterval","scheduleCompletionReminder","isLoader","aCManagerList","tradingStatusList","operationsManagerList","customerStatusList","scheduleEventsList","customerPaymentDaysList","optionsState","setOptionState","pullCustomerdata","accountManager","tradingStatus","operationManager","customerStatus","scheduleEvents","x","scheduleEventID","scheduleEventName","console","log","setInvoiceFields","ccheduleCompletionReminder","credits","invoiceInfo","invoiceFields","useCallback","toLowerCase","countryCode","isNull","validatePostCodeWothCountryCode","phoneReg","emailValidation","handleSubmit","onFormSubmit","Provider","handleCheckbox","resetInput","clearImage","imagehandler","setVal","s","addressLine1","addressLine2","town","county","postCode","activeLoader","closeLoader","onColorChange","updatedColor","hex","setInvoiceVal","invoiceFieldsChange","invoiceCheckBox","ColorPicker","showPicker","r","g","b","styles","reactCSS","default","borderRadius","popover","cover","top","swatch","boxShadow","maxHeight","FlaggedBox","chkValue","txtName","onCheckChange","chkName","txtValue","YesNoRadio","RadioGroup","FormControlLabel","control","Radio","AddEditCustomer","checkhaveAccess","getAllowAcces","md","lg","aCManager","inputProps","max","toISOString","slice","paddingLeft","m","reuired","CanUpdateCustomers","forceEnabled","Screen","postMessageToAllCustomers","getMessageByID","sendMessage","Message","MsgAllCustomersModal","Alert","severity","multiline","FromLoader","flexDirection","justifyContent","CircularProgress","ModalLoader","CustomerDetails","minHeight","addressFormatter","mailFormatter","phoneNumberFormatter","baseColumns","CustomerScreen","show","showMsgModal","customerList","pullCustomerAndUpdateState","closeModals","dataFormatter","pathname","handleEditClick","renderEmail","col","renderCustomerName","selectedRowData","handelRowCick","handleClose","showCustomerModal","renderPhone","emailCol","phoneCol","customerNameCol","ChatBubble","CanSendMessageToCustomers","secondBtnLabel","getDepotById","getDropdown","addDepot","updateDepot","VehicleScreenContext","depotUseAddressAsInvoiceAddress","depotInvoiceAddress1","depotInvoiceAddress2","depotInvoiceAddressCity","depotInvoiceAddressCounty","depotInvoiceAddressPostCode","depotInvoiceAddressCountryCode","depotInvoiceEmailAddress","depotEmailInvoices","VehicleProvider","address1","address2","depotTown","depotCounty","depotCountyCode","depotEmail","depotTelephone","depotPostCode","depotNotInUse","depotCustomersRef","serviceAgentID","firstDayofWeek","scheduleBookingModeList","depotVORMobileNumbers","depotContact","depotServiceAgentID","depotAgentSecondaryAgentID","serviceAgentsList","depotFields","setDepotFields","depotID","mergeSchedules","displayISOWeek","addPaperworkReceived","trafficStyleColourCoding","MergeRange","depotDefectNotificationEmail","sunday","monday","tuesday","wednesday","thursday","friday","saturday","depotAdditionalPlanningEmails","cPCHolderEmail","cPCHolderName","secondaryEmail","depotSecondaryContact","depotPCNEmail","depotAccountName","depotAccountEmail","depotThirdPartyPlannerEmailAddress","depotBreakdownNotificationEmail","depotTimedVehicleStatusUpdateEmail","depotSchedulePlannerEmail","depotNotes","depotScheduleBookingMode","scheduleFields","setScheduleFields","scheduleBookingModes","scheduleBookingModeCode","scheduleBookingModeDescription","serviceAgents","depotAddress1","depotAddress2","depotCountryCode","scheduleBookingModeID","depotCustomerID","depotFirstDayofWeek","depotPrimaryAgentID","MergeSchedules","depotPlannerMergeSchedules","depotPlannerDisplayISOWeek","depotPlannerAddPaperworkReceived","depotPlannerTrafficStyleColourCoding","mergeRange","depotPlannerMergeRange","depotBookingPreferenceSunday","depotBookingPreferenceMonday","depotBookingPreferenceTuesday","depotBookingPreferenceWednesday","depotBookingPreferenceThursday","depotBookingPreferenceFriday","depotBookingPreferenceSaturday","depotCPCHolderEmail","depotCPCHolderName","depotSecondaryEmail","depotContactMobile","dt","handledepotCheckbox","depotData","depotVehicleStatusUpdateEmail","depotfirstDayofWeek","onFormClose","scheduleDetailsChange","closeModal","handledepotFields","handleActive","DepotsDetails","Paper","ScheduleDetails","invoiceDetails","AddEditDepots","getAccessParam","CanUpdateDepots","DepotsScreen","depotsList","pullDepotsAndUpdateState","handleAdd","isCust","splice","getAllVehicleCheckSection","getVehicleCheckSectionById","postVehicleCheckSectionData","getAllVehicleCheckSectionDropDown","CheckSectionModal","inspectionSheetSectionID","inspectionSheetSectionDescription","inspectionSheetSectionPosition","inspectionSheetSectionActive","vehicleCategoryDescription","categoryList","checkSectionID","inspectionSheetSectionVehicleCategoryID","checkSectionData","crumb","CheckSection","checkSectionList","pullData","handleButton","closeDialog","getAllFilterCustomers","postFilterCustomers","CustomerList","dashBoardDataReload","custList","setBtn","n","chekExist","filterCustomers","l","userFilterCustomerId","i","changedArray","objIndex","findIndex","setCustCheck","newCust","handelSubmit","customerIds","filter","DoneAllIcon","HighlightOffIcon","getAllDashboardWidgets","screenName","getWidgetsInfo","id2","postTheme","DashboardContext","DashWidgetsProvider","backgroundColorHover","hover","setHover","displayStyles","themes","setOpen","pullSettingData","widgetID","userWidgetID","widgetUsedID","displayStyleID","themeID","userWidgetWidgetUsedID","userWidgetDisplayStyleID","userWidgetThemeID","pullDashboardData","handleHover","newSt","handleBtn","handleTheme","handleBackgroundColor","mainDiv","buttonStyle","buttonIcons","3","FormatListBulletedIcon","2","ViewComfyIcon","1","ViewColumnIcon","SetWidgets","gutterBottom","Icon","listStyleType","Avatar","backgroundColour","border","Opacity","avatar","gridStyle","DashboardCard","Bgcolor","Card","textColour","heading","size","gs","gridstyleID","Total","toFixed","replace","subTittle","xl","onMouseEnter","onMouseLeave","backgroundColor","showDowBackground","numberIcon","textOverflow","whiteSpace","fontFamily","toLocaleString","marginBottom","redColor","redShadowColor","yellowColor","yellowShadowColor","greenColor","greenShadowColor","blueColor","blueShadowColor","InternalDashboard","rows_new","tilesData","showFilter","buttonID","widgetList","commonState","getDashBoardData","React","setList","DirectionsCarIcon","breakdownPercent","breakdowns","defectPercent","defects","vorPercent","vor","query","FromDash","LocalTaxiRoundedIcon","estimateCount","serviceCount","motCount","BuildIcon","inspectionCount","otherCount","EmojiTransportationIcon","taxCount","CreditCardIcon","insuranceCount","CheckIcon","complianceCount","NotificationsActiveIcon","reminderCount","4","LocalShippingIcon","trackingCountBreakdownRoadside","trackingCountBreakdownOnsite","trackingCountDefects","trackingCountAll","5","ErrorIcon","bookingsRequested","bookingsAccepted","ClearIcon","bookingsRejected","bookingsConfirmed","6","jobsUnassigned","jobsOpen","jobsInQuery","jobsAwaitingApprovals","7","dailyChecksFailed","dailyChecksMonitored","dailyChecksPassed","dailyChecksUnreviewed","8","leadsLiveEnquiries","leadsLost","leadsNewEnquiries","leadsSuccessful","15","DashboardIcon","dashBoardData","filteredList","cards","dashboard","filterdCustomer","filteredCustomerList","isFilterList","pullTheme","dashRes","new","portalSettingDashboardRefreshTime","setInterval","intervalId","clearInterval","showFilterModal","overFlow","showDashboardFullScreen","fullScreen","widgetName","hoverColor","DriverTypeDialog","isError","driverTypeID","driverTypeDescription","isAdd","postDriverType","putDriverType","DriverType","outData","BookingStatusDialog","bookingStatusID","bookingStatusDescription","saveData","postBookingStatus","BookingStatus","bookingDateDelayReasonID","bookingDateDelayReasonDescription","getAllDelayReason","postDelayReason","BookingDelayReason","CostCenterDialog","isChecked","costCentreID","costCentreDescription","costCentreActive","defaultChecked","postCostCenter","CostCenter","RowData","CanUpdateCustomerCostCentres","costCentreCustomerID","getServiceAgentFacilitiesById","postServiceAgentFacilitiesData","ServiceAgentFacilitiesModal","serviceAgentFacilityID","serviceAgentFacilityName","serviceAgentFacilityActive","serviceAgentFacilityAddInMapFilter","trim","ServiceAgentData","ServiceAgentFacilities","serviceAgentFacilitiesList","pullServiceAgent","serviceAgentUpdateHandler","ActionButtons","closeServiceAgentModal","getAllVehicle","filterID","getVehicleById","getVehicleScreenDropdowns","getCustomersListDropdowns","getSchedulePlannerDropdowns","custId","addVehicle","getRegBasedData","getTitleData","getSchedulePlannerData","fromDate","toDate","depotsID","endUser","fileType","endUserWildCard","responseType","returnOrgRes","archiveVehicle","date","VehicleID","unArchiveVehicle","postSetVehicleMOTandTax","getVehicleMOTandTax","regno","vehicleFuelType","regNumber","customerName","modelList","ModelAsPerMake","vehicleAsPerCategoryList","depotWithCustList","wheelPlan","vehicleCategoryList","capacity","co2Emission","fuelType","costCentreList","ownershipTypeID","ownershipTypeList","chassisNumber","vehiclePrimaryServiceAgentID","vehiclePrimaryServiceAgentIDList","vehicleEndUserID","vehicleEndUserIDList","fuelTypeList","vehicleSecondaryServiceAgentID","assetNumber","fleetNumber","ministryNumber","description","colour","MPG","P11DValue","radioCode","vehicleTankCapacity","vehicleTelematicsIMEI","vehicleNextInspectionDate","vehicleNextServiceDateDue","vehicleNextServiceMileage","vehicleCheckFrequency","vehicleMaintenanceRef","primaryAgent","vehicleLatestMileage","vehicleLastMileageDate","displayBatteryLevel","vehicleBatteryLevelDate","vehicleLevelOfCharge","vehicleStateOfCharge","vehicleServiceScheduleID","vehicleDOTScheduleID","otherFields","setOtherFields","vehicleV5CRegistrationUptoDate","jobAdminFee","odometerUnitCode","odometerUnitCodeList","cabTypeID","cabTypeList","vehicleSuspensionTypeID","suspensionList","vehicleBodyTypeID","vehicleBodyTypeList","vehicleConfigurationTypeID","configurationTypeList","vehicleRFLResponsible","euro4Compliant","RDE2Compliant","shuntVehicle","vehicleCoveredByFleetInsurance","vehicleIsSORN","hireSupplierID","hireSupplierList","hireHistoryID","hireHistoryList","vehicleMaintenanceProviderID","vehicleMaintenanceProviderList","vehicleAnnualMileage","vehicleTaxAmount","jobFields","setJobFields","dateOfReg1","fleetDate","dateOfReg","motExpiry","motExpiry1","taxDue","insuranceRenewalDate","vehicleRMStartDate","vehicleVOREndDate","vehicleRMEndDate","dateFields","setDateFields","customerIDValue","depotsIDValue","makeIDValue","modelIDValue","fuelTypeValue","vehiclePrimaryServiceAgentIDValue","vehicleEndUserIDValue","vehicleSecondaryServiceAgentIDValue","vehicleCategoryIDValue","costCentreIDValue","ownershipTypeIDValue","odometerUnitCodeValue","cabTypeIDValue","vehicleMaintenanceProviderIDValue","vehicleSuspensionTypeIDValue","vehicleBodyTypeIDValue","vehicleConfigurationTypeIDValue","vehicleServiceScheduleIDValue","vehicleDOTScheduleIDValue","isCustomer","userRoles","pullMileageData","DateFormatter","getVehicleDataById","vehicleCustomerID","vehicleDepotID","vehicleModel","vehicleMake","vehicleWheelPlan","customer","driver","vehicleDriverID","vehicleEngineCapacity","vehicleCO2Emission","vehicleFuelTypeID","vehicleCostCentreID","vehicleOwnershipTypeID","vehicleChassisNumber","endUserName","vehicleDirectVisionStandardRating","vehicleAssetNumber","vehicleFleetNumber","vehicleMinistryNumber","vehicleDescription","vehicleColour","vehicleMPG","vehicleP11DValue","service","schedule","vehicleRadioCode","vehicleJobAdminFee","vehicleOdometerUnitCode","vehicleCabTypeID","vehicleHireSupplierID","vehicleHireHistoryID","vorVehicleID","vehicleActive","vehicleDateOfRegistration","YearFormatter","vehicleFleetDate","vehicleNextServiceDateDueDisplay","vehicleMOTExpiry","vehicleTaxDue","vehicleInsuranceRenewalDate","vehicleEuro4Compliant","vehicleRDE2Compliant","vehicleShuntVehicle","activeRecallCount","depots","models","makeId","costCentres","vehicleOwnershipTypes","vehicleCategories","endUsers","fuelTypes","cabTypes","vehicleOdometerUnits","suspensionTypes","bodyTypes","configurationTypes","vehicleHireReasons","vehicleHireTypes","maintenanceProviders","scheduleInspection","vorID","ModelListAsPerMake","vehicleTypeCategoryID","Depots","fetchIdFromList","pullRegBasedData","toUpperCase","mot","registrationDate","taxDueDate","motExpiryDate","registrationNumber","vehicleCustomerId","capitalize","make","wheelplan","engineCapacity","co2Emissions","vehicleCategory","errors2","otherFieldsChange","jobFieldsChange","dateFieldsChange","handleTabPress","keyCode","stopPropagation","handleClick","showRatingModal","showRating","OtherVehicleDetails","JobFieldsModal","onRatingHandle","ratingValue","DateFieldsModal","isDisabled","min","FlagFieldsModal","AddEditVehicle","checkToshowBreadCrumbs","header","accordianBody","CanUpdateVehicles","getScheduleVehicleById","depotId","year","getScheduleByStatus","getSchedulesById","getAllScheduleDropdowns","postSchedule","getAllDropDowns","getAllNotesById","postScheduleNotes","getScheduleBookingSectionById","postScheduleBookingSection","getScheduleRequestBookingById","postScheduleRequestBooking","getCompleteScheduleDropdowns","postCompletedSchedule","deleteFutureUnCompletedSchedules","postScheduleReceived","postAgentArrivalTime","postVehicalRecoveredTime","postWorkinProgress","postJobStepper","postTechnicianSignOff","postAdministratorSignOff","getServiceAgentById","getServiceAgentsDropDown","postServiceAgentData","postServiceAgentRating","getMapNewData","ServiceAgentDetails","serviceAgentName","serviceAgentAddress1","serviceAgentAddress2","serviceAgentCounty","serviceAgentCity","serviceAgentPostCode","serviceAgentPhone","serviceAgentEmail","ServiceAgentArrivedDate","arrivedDate","jobData","jobServiceAgentID","serviceAgentIDValue","eTA","vehicleJobProgressDateETA","userData","fromPage","SubmitHandler","isValue","FormData","jobID","vehicleJobProgressJobID","vehicleJobProgressDateWorkInProgress","status","defectDateVehicleRecovered","showSaModal","sATitle","vehicleJobProgressDateAgentAssigned","vehicleJobProgressStatusCode","WorkInTitle","showDateNdBtn","recoveryRequired","DateTimeFormatter","paddingTop","HourglassEmptyIcon","iconFontSize","InputProps","BtnColor","SignOff","defectResolvedByName","displayName","lastLogin","vehicleJobProgressTechnicianSignOffSignature","imgtechniciansign","defectResolvedSignature","defectResolvedNotes","vehicleJobProgressSignOffNotes","InputChangeHandler","defect","declaration","showStepTech","AdministratorSignOff","DefectSignedOffByName","DefectSignOffNotes","vehicleJobProgressSignOffSignature","imgadministartorsign","DefectSignOffSignature","defectSignOffNotes","defectSignedOffByName","defectSignOffSignature","vehicleJobProgressTechnicianSignOffNotes","vehicleJobProgressDateTechnicianSignOff","showStepJob","postJobData","getVehicleJobDeleteDropDown","getVehicleDefectDeleteDropDown","DeleteJob","DeleteDefect","DeleteJobModal","reasonList","reason","reasonID","deleteID","Reason","ReasonID","useWindowSize","setSize","useLayoutEffect","updateSize","innerWidth","innerHeight","addEventListener","removeEventListener","ColorlibConnector","withStyles","alternativeLabel","backgroundImage","completed","line","StepConnector","useColorlibStepIconStyles","icons","ColorlibStepIcon","stepCount","clsx","instructions","codeCheck","JR","AA","AR","WC","WP","VR","AS","TS","JS","CustomizedSteppers","isServiceagent","isInternalUser","isDriver","isVehiclRecovery","activeStep","setActiveStep","administratorShow","serviceDate","steps","isY","step","setStep","windowWidth","TempStep","vehicleJobProgressDateCreated","isBtn","AgentName","agent","vehicleJobProgressDateAgentArrived","otherFunctions","alwaysShow","vehicleJobProgressDateJobSignOff","temp","index","vehicleJobProgressDateVehicleRecovered","technicianSignstepIndex","q","jobSignstepIndex","totalSteps","showJobDeleteModal","onStepperSubmit","ServiceAgentArrivalTimetitle","goJobDetails","CanViewJobs","WorkIcon","DeleteIcon","Stepper","connector","isOnClick","disableFocusListener","Step","StepLabel","StepIconComponent","popUpHandler","isDateMandatoey","portalSettingTechnicianDeclaration","portalSettingSignOffManagerDeclaration","JobStepperScreen","jobDescription","getAllNotes","frompage","DriverID","ServiceAgentID","JobID","getServiceAgentJobTracking","noteID","getNotesStickButtons","addUpdateNote","getNoteById","noteRefsID","getAllStickies","noteRefsGuidID","Date_DDMMMYYYY_HHMM","fieldType","AddEditJobsNotes","newBtnLoader","extBtnLoader","NoteList","newErrors","noteVehicleID","newNoteTitle","notesTitle","newNoteDescription","newNoteRefsGuidID","newNoteRefsID","newNoteStickyDisplayType","newNoteStickyDisplayFromDate","newNoteStickyDisplayEndDate","noteSendSMSReported","noteSendSMSReportedNo","newNoteSendSMS","newNoteSendSMSNumber","DisplayData","newNoteSendSMSReported","newNoteSendSMSReportedNo","NoteVehicleID","NoteID","Notedata","noteActive","noteDescription","noteTitle","noteStickyDisplayType","noteStickyDisplayFromDate","noteStickyDisplayEndDate","noteSendSMSNumber","newValidations","noteSendSMS","handleNewNoteSubmit","notefrompage","number","isDisable","ConfirmationModal","handleCancel","serviceAgentJobTrackingListcolumns","pullNoteAndUpdateState","pullSAGridList","agentNameID","serviceAgentJobTrackingList","noteDescriptionOne","getAllDefectNotes","showAllNotes","getAllSAList","showSAList","closeConfirmationModal","showConfirm","JobSingleNote","fontStyle","note","createdBy","dateCreated","titleModal","AssignmentIcon","agentName","opacity","Divider","orientation","flexItem","getDropDownForVor","getVorByID","getVorNotesById","addVor","AddVor","workAccomplishedCodes","technicianFailureCodes","AllvorTypeDetails","AllvorSubCategoryList","vorSubCategoryList","vorTypeList","vorTypeDetailList","branchIds","moduleIds","technicianFailureCodeIDs","technicianFailureCode","workAccomplishedCodesId","vorVehicleEstimatedEndDate","isReadOnly","faultTypes","defectFaultTypes","masterData","setMasterData","selectedData","setSelectedData","vorVehicleTypeIDValue","vorVehicleTypeDetailIDValue","vorSubCategoryIdValue","update","selectedtechnicianFailureCode","indexOf","selectedworkAccomplishedCodes","vorTypes","v","vorTypeID","vorSubCategories","vorTypeDetails","workAccomplishedCodeID","workAccomplishedDescription","technicianFailureDescription","order","resById","vorVehicleVehicleID","vorVehicleLocation","vorVehicleDateStarted","vorVehicleDateEnded","vorVehicleTypeID","vorVehicleTypeDetailID","vorAdditionalComment","vorSubCategoryId","vorTypeDetailID","p","vorTypeDetailDescription","vorSubCategoryDescription","resVorNote","notesGrid","selectedFaultTypes","ModuleChange","filterTypeDetails","vorTypeDetailTypeID","filterSubCatagoryList","vorSubCategoryCategoryId","RenderSingelNote","vorLogComment","userName","createdOn","DepotDetails","AddDefectBreakEditJobsNotes","dateClosed","closedBy","rd","checkIsClosed","float","BreakDownEditDetails","isServiceAgent","isInternal","pullNotes","NoteDriverID","NoteServiceAgID","isRefresh","closeNoteModal","showDefectBreakNotes","addNotes","closeVORModal","showVORPopup","pullBreackdownById","showModalHandler","setModalState","isValYesNo","toRender","modalName","depotModal","modalState","handleRowClick","toTurnOn","closeDeleteDefectModal","closetModal","showJobStepperScreen","paddingBottom","defectNumberGenerated","isAddJobBtnShow","reportingDepotName","urgentCallOut","vehicleLoadTypeDescription","paddingRight","CanViewNotes","BreakDownDetails","showVor","showDepotModal","closeAddPopUp","flag","handleShowDetails","alignContent","tyle","defectRegNumber","reportingDepot","homeDepotID","Mapheader","car_repair_greenLogo","car_repair_amberLogo","car_repair_redLogo","trimedhost","AddBreaddownModal","breakDownID","vehicleJobProgressDates","putOnVOR","loadType","PG9Issued","defectDateCreated","defectDateCallOutArrived","defectDateResolved","defectDateSignOff","vehicleLoadTypesList","vehicleLoadTypes","vehcileCategories","alert","defectNumber","showJob","showMap","updateLocation","vehicleJobProgress","endAdornment","InputAdornment","RoomIcon","getAllDefects","getAllVehicleDefects","postDefect","getDefectById","getDefectFaultType","startDate","endDate","getBreakDownFaultType","DefectsScreenContext","trimmedHost","DefectsProvider","DefectID","defectCustomerDefectNumber","preferredServiceAgent","defectAuthorisedBy","defectFields","setDefectFields","defectAlreadyBooked","defectAlreadyCompleted","defectAdvisedDontDrive","userSettings","setUserSettings","res1","jobProgressStatusList","jobProgressStatus","pullDefectByID","defectPreferredServiceAgent","selectHandler","defectReportingDepotIDValue","defectVehicleLoadTypeIDValue","DefectDetails","baseCrumb","AddEditDefectModal","StickyNotes","stickyList","getJobDetailsById","getAllJobDropDowns","postJobDetails","getJobHistory","getUpcomingEvents","mergeJobToMaster","setCompletionDate","setBookingDate","getJobRequiredDocuments","getJobRequireScheduledDocuments","setVehicleArrive","StyledTableCell","head","palette","common","white","body","TableCell","StyledTableRow","action","TableRow","cellValue","CustomizedTables","TableContainer","borderBottom","tableHeader","Table","TableBody","tableData","name1","value1","name2","value2","name3","value3","name4","value4","postMileageLog","postBatteryLevels","ScheduleAddEdit","scheduleID","scheduleDateDue","scheduleEndDate","scheduleMilesDue","scheduleFirstEvent","dropList","scheduleServiceAgentIDValue","scheduleServiceAgentID","serviceAgentid","setErrors","pullDropList","pullSchedule","scheduleId","validate","noErrors","err","scheduleMilesDueN","valueChanged","SetVehicleMOTTaxExpiryDate","taxExpiryDate","msg","regNo","taxStatus","DateOnlyFormatter","VehicleDetails","changeIndex","showScheduleAdd","showExpiryModal","setSatate","showExpiryBtn","showPopup","handlePopup","AccessTimeIcon","notifyColor","textCol","todayDate","date1","date2","diffDays","parseInt","EventIcon","scheduleName","rowSpan","getDriverList","getDriverHistoryList","postDriverMilege","postDriverCheckIn","postDriverCheckOut","DriverVehicleModal","driverList","vehicleDriverHistoryID","historyList","vehicleDriverHistoryDriverID","setError","vehicleDriverHistory","driverID","isValid","vehicleDriverHistoryVehicleID","vehicleDriverHistoryDateAssigned","vehicleDriverHistoryMileageAssigned","submutRes","DriverHistory","drivers","TableHead","to","textDecoration","assigned","removed","tbHead","tbContent","DriverInfo","showHistory","showManageDriver","openModal","vehicleDisc","LocalOfferIcon","getvehiclecheckchecksById","getEditDriverChekssById","postvehiclecheckchecksData","PostImage","getImageByID","ImageCard","avtar","selfBg","ImageModal","images","setImage","image","TitleComp","inspectionDesc","multiple","onImageChange","maxNumber","dataURLKey","imageList","onImageUpload","onImageRemoveAll","onImageRemove","onImageUpdate","im","fill","setCurrentImage","getElementById","scrollBy","behavior","submitImage","CheckButtons","PassButton","FailButton","NAButton","MButton","UploadWithBadge","DriverDailyChecks","vehicleDailyCheckDateStarted","vehicleDailyCheckCheckTypeID","vehicleDailyCheckStatusId","vehicleDailyCheckDateExpire","vehicleDailyCheckDriverComment","vehicleDailyCheckDriverId","vehicleDailyCheckId","selectAll","vehicleDailyCheckCheckerName","desc","imageUpload","res2","reportedUser","checkType","dailyCheckTypes","checkQueList","driverDailyCheckCheckSections","checkOptions","driverDailyCheckOptions","checklist","pullDetails","handleInputs","checkAll","passId","vehicleDailyCheckResultsVehicleDailyCheckOptionId","handleButtonChange","buttonVal","checkId","dailyCheckSectionID","handleNote","vehicleDailyCheckReportedUserID","vehicleDailyCheckMileage","vehicleDailyCheckDriverName","driverDailyCheckResultsVM","vehicleDailyCheckSectionID","vehicleDailyCheckResultsNotes","vehicleDailyCheckResultsAssesementNotes","vehicleDailyCheckResultsDefectID","vehicleDailyCheckResultsStatusId","vehicleDailyCheckCreatorSignature","driverDailyCheckPhotoVM","imageHanlder","checkSectionId","selectedImages","paper","vehicleDailyCheckOptionDescription","vehicleDailyCheckOptionId","dailyCheckSectionDescription","Comp","Badge","count","basicCount","maxwidth","addUpdateIndex","FilterimagesList","data_url","tempArray","inspectionSheetCheckCheckID","inspectionSheetCheckPhotos","AddBatteryLevels","batteryLevelID","batteryLevelVehicleID","batteryLevelDate","batteryLevelOfCharge","batteryLevelStateOfCharge","batteryLevelCaptureSource","batteryLevelActive","reloadData","Hidden","only","getEndUserByID","postEndUser","EndUserDetails","endUserID","endUserCustomerID","endUserAddress1","endUserAddress2","endUserTown","endUserCounty","endUserCountryCode","endUserPostCode","endUserContactName","endUserContactPhone","endUserContactEmail","ArchiveVehicleModal","VehicleActive","UpcomingEvents","stickyHeader","dateDue","MileageLogSection","odometerReadingID","odometerReadingVehicleID","odometerReadingDate","odometerReading","odometerReadingCaptureSource","odometerReadingActive","reloadMileageData","numberThousandsSeparator","showEdit","btnFlag","CanUpdateVehicleMileages","VehicleDashBoard","setChecked","handleChange","prev","customerModal","serviceAgentModal","endUserModal","renderBold","showBreakDownPopup","showDetails","upcomingEventsList","showCheck","showArchivePopup","setData","vehicleUncompletedSchedulesList","showDefectPopup","handleAddPopUp","showBtn","isReadOnlyUser","EditIcon","CanAddVOR","CanAddDailyChecks","CanAddBreakdowns","CanAddDefects","Collapse","in","NotesScreenContext","NotesProvider","showDelete","NotesButtons","userBasePermi","respons","CanUpdateVehicleNotes","CanUpdateDriverNotes","CanUpdateServiceAgentNotes","CanUpdateCustomerNotes","stickyDisPlayType","isCreateNote","handleDeleteSubmit","onFormCancel","deleteTitle","handleDelete","AddEditNotes","DeleteNotes","NoteDashboard","noteId","gridBtnTitle","notelist","DefectEditDetails","o","overflowY","baseCrumbs","ColumnHeaderAlignLeft","ColumnTextAlignLeft","DefectsScreen","rowVehicleID","resBrekDown","filterVehicleID","pullDefects","renderRegNumberEdit","handleEditRegClick","renderAgentName","agentNameCol","tempCrumbs","modalEditDetail","defectDate","urlForcondition","isPage","BreakDownDashboard","breakdownList","breakID","pullBreakDownAndUpdateState","defecttypecode","all","getRegNumberVal","setRegNumber","ScheduleNotes","noteText","pullNoteList","schedules","scheduleNoteScheduleID","scheduleNoteDescription","scheduleNoteCreatedBy","scheduleNoteDateCreated","ScheduleBookingStatus","scheduleNightBooking","scheduleRequestedBookingDate","scheduleRequestedBookingTimeSlot","showLocationBox","scheduleCollectionLocation","scheduleDeliveryLocation","pullBookingData","DataList","bookingData","scheduleCollectAfter","scheduleCollectionAndDeliverID","scheduleDeliverBefore","checkNull","param","yesNoChanged","innerText","collectionAndDelivery","ScheduleBookingSection","scheduleBookingDate","schedulePrepDate","scheduleCollectionAndDeliver","requestBookingData","setRequestBookingData","formatTime","pullRequestBookingData","collName","z","scheduleServiceAgentsID","getChecksAddTabByID","postChecksData","getChecksEditByID","getSingleChecks","postSingleChecksData","axOS","axOS2","ax2OS","ax2OS2","ax2NS","ax2Break","axBreakHeading","Axel","axelTitles","osTreadDepth","nsTreadDepth","singleAxel","oSTyrePressure","nSTyrePressure","axelone","osFrontTreadDepth","nsFrontTreadDepth","doubleAxelOne","osBrakeLineRemaining","doubleAxelTwo","nsBrakeLineRemaining","doubleAxelThree","oSFrontTyrePressure","nSFrontTyrePressure","axeltwo","showTost","axleErrors","table","secondary","headings","D","M","N","S","R","RButton","VehicleDailyChecks","checksList","buttonList","passVal","inspectionSheetAxlesVM","VehicleDailyCheckResultsVM","vehicleInspectionID","vehicleInspectionScheduleID","sheduleID","vehicleInspectionStatusID","vehicleInspectionDateInspected","vehicleInspectionResult","vehicleInspectionSignedOffComment","vehicleInspectionSignedOffName","vehicleInspectionSignedOffSignature","vehicleInspectionSignedOffDate","vehicleInspectionSignedOffIPAddress","showConfirmMessage","handleInput","sheduleVechicleID","vehicleInformation","vehicleInfo","inspectionSheetSectionsVM","inspectionSheetChecksVM","inspectionSheetCheckResultCheckID","inspectionSheetCheckID","inspectionSheetCheckResultOptionCode","inspectionSheetCheckResultNotes","inspectionSheetCheckResultIMReference","inspectionSheetCheckResultDefectID","inspectionSheetCheckOptionsVM","widths","imageHandler","inspectioncheckID","showImageModal","changeState","changeNotesState","des","changeAllChildChecks","buttonId","condition","groupLabel","grp","sheetsCheckIds","sheetsCheck","axelNo","showError","ax","axleNumber","handleConfirmPopup","checksOption","checksNotes","axel1Validation","axel2Validation","Axeloneval","Axeltwoval","Object","keys","vehicleInspectionInspectionComment","submitData","resultVM","vehicleInspectionMileage","vehicleInspectionInspectorName","vehicleInspectionInspectorSignature","vehicleInspectionBrakeTestTypeID","vehicleInspectionBrakeTestNumber","vehicleInspectionRoadCondition","vehicleInspectionServiceBrakePerformance","vehicleInspectionSecondaryBrakePerformance","vehicleInspectionParkingBrakePerformance","vhicleInspectionID","inspectionSheetCheckResultsVM","inspectionSheetCheckPhotoVM","k","inspectionSheetCheckOptionCode","inspectionSheetCheckOptionDescription","inspectionSheetCheckDescription","visibility","osBrakeTemperatureAxle","npm","nsBrakeTemperatureAxle","typography","brakeTypography","Ax2osOut","Ax2osin","Ax2nsin","axBreak","axOsout","axNsout","axImage","unit","EditAxel","tyreAxles","osTyrePressure","nsTyrePressure","osFrontTyrePressure","nsFrontTyrePressure","ActionTakenModal","statusList","getCheckData","selectedCheck","inspectionSheetCheckResultID","defectDetail","vehicleInspectionsDefectActionTaken","vehicleInspectionsDefectRectifiedSignature","vehicleInspectionsDefectStatusID","rectifiedBy","vehicleInspectionsDefectRectifiedDate","vehicleInspectionsDefectRectifiedName","vehicleInspectionsDefectID","valuePropertyName","textPropertyName","brakeTest","EditVehicleDailyChecks","vehicleDailyChecks","load","showbtn","isSignOff","isCustomerSignOff","submitArray","actionTaken","isModal","setIsModal","getCheckDetails","checkID","vehicleDailyChecksResult","inspectionSheetCheckResultStatusID","TempData","checksObject","defectStatusID","vehicleChecksList","values","reduce","acc","cur","assign","TempAxel","IsAxel1","IsAxel2","IsAxel3","IsAxel4","vehicleDailyCheckOptions","ChecksObj","inspectionSheetCheckResultStatus","getTitle","inspectionCheckResultID","vehicleInspectionsPhotoObject","actionTakenHandle","check","closeActionTakenhandle","confirmHandle","sumbitImage","vehicleInspectionsPhotoID","vehicleInspectionsPhotoResultID","photosUploaded","resultStatus","portalSettingSignOffCustomerDeclaration","CanUpdateVehicleInspections","uniqueImages","CompleteScheduleModal","isActive","createNewEvent","slippageValue","serviceAgent","slippage","dateCompleted","mandateSlippage","failReason","dropDown","dayRange","rowData","createNew","slippageReasons","isOverDueSchedule","scheduleDateCompleted","scheduleTestResult","scheduleFailReason","scheduleSlippageReasonID","scheduleActualMiles","entries","scheduleEventDisplayResult","btnName","CanUpdateSchedules","ScheduleRevise","bookingDate","bookingReasonID","jobReasonList","listReason","scheduleJobID","bookingNotes","RequiredDocumentsModal","refresherFlag","jobdocument","setJobDocument","dataReload","docName","scheduleDocID","ScheduleVehicle","showChecks","showEditChecks","isDeleteFuture","openDialog","setOpenDialog","scheduleVehicleID","reg","handleCheck","closeCheck","deleteFutureUnComSchedules","styleCol","textDecorationLine","NoneCondition","scheduleBookingStatusID","PostAddIcon","checkButton","displayJobDetails","displayAddInspectionCheck","CanAddInspections","displayEditInspectionCheck","displayDeleteSchedules","CanDeleteSchedules","dateFormatter","BasicColFormate","clVal","displayNotes","isNote","displayBookingRequest","displayBookJob","displayReviseSchedule","displayCompleteSchedule","scheduleCompletionDate","getRenderValue","dueDateFormatter","textColor","getScheduleColour","dueDate","displayEditVehicleSchedule","dateDueCol","scheduleEventNameCol","scheduleRequestedDatecol","bookingDateCol","scheduleCompletionDateCol","agentCol","closeTheDialog","addBtnTitle","CanViewSchedules","CanViewDocuments","notes","section","complete","revise","showRequiredDocumentsModal","JobScreenModal","customerOrderNo","serviceAgentList","jobDepotList","jobAuthorityRef","jobDepotID","jobCustomerOrderNo","getAllJobQueryList","postJobQueryModal","UpdateJobStatus","JobsSubmitcost","JobsApproveJob","JobsConfirmJob","getAllJobUpdateNotesList","addUpdateJobUpdateNote","getJobUpdateNotesbyId","JobQueryModal","jobQueryMessage","jobQueryClosed","pullJobQueryList","jobQueryJobID","customerMessage","CanDeleteJobLines","NumberWithPound","JobScreen","jobList","pullJobList","showJobQuery","SpeakerNotesIcon","renderDepotName","depotNameCol","page","JobQuery","CanUploadJobDocuments","getJourneyById","postJourney","journeyDropDown","JourneysAddEditModal","journeyActive","journeyDriverID","journeyID","journeyVehicleID","journeyEndLocationCoordinates","journeyStartLocationCoordinates","journeyEndOdometerReading","driversList","typeList","journeyTypeID","journeyDateStarted","journeyDateEnded","journeyStartOdometerReading","journeyStartLocation","journeyEndLocation","journeyNote","dropDownRes","journeyTypes","duration","diff","Hours","Math","floor","minutes","setDuration","distance","HandleSubmit","journeyData","varient","CanUpdateVehicleJourneys","VehicleJourneys","journeyList","pullJourneyData","handleAddEdit","editFormatter","getFuelPurchaseById","vehicleid","getFuelPurchaseScreenDropdowns","addFuelPurchase","FuelPurchaseScreenContext","FuelPurchaseProvider","fuelPurchaseActive","FuelPurchaseList","purchaseDate","paymentMethodList","fuelID","liters","cost","paymentMethod","pullFuelPurchaseAndUpdateState","fuelPaymentMethods","fuelPurchaseID","fuelPurchaseOdometer","fuelPurchaseLitres","fuelPurchaseCost","fuelPurchasePaymentMethodID","fuelPurchaseNotes","fuelPurchaseVehicleID","fuelPurchaseDriverID","fuelPurchaseDate","FuelPurchaseModal","mt","CanUpdateVehicleFuelRecords","FuelPurchaseDashboard","closeFuelPurchasesModal","statusObj","EditDriverDailyChecks","chekcsID","driverDailyChecks","signImg","vehicleDailyCheckCompletedBySignature","vehicleDailyCheckReviewerComment","vehicleDailyCheckResultStatus","driverDailyCheckResult","handleStatus","setCommonStatus","statusError","driverDailyCheckResultID","checkDescription","vehicleDailyCheckResultId","vehicleDailyCheckPhotoObject","VehicleDailyCheckPhotoID","VehicleDailyCheckPhotoResultID","VehicleDailyCheckPhotoObject","insertEmpty","DriverDailyChecksGrid","addChecksShow","editChecksShow","checks","setChecks","pullChecksData","checksID","startTime","endTime","getVehicleMessages","postMessage","outgoning","empty","customScroll","webkitBoxShadow","outline","activeBorder","borderLeft","borderStyle","br","borderRight","bl","DefaultMesaage","messageList","AlwaysScrollToBottom","elementRef","scrollIntoView","getMessages","sort","sdate","validation","submitMessage","classText","rdate","OutlinedInput","edge","MileageLogDialog","MileageLog","getDriverById","getDriverScreenDropdowns","addDriver","updateDriver","VorScreen","VorList","checkedA","filterFlag","activeOrInactive","vorFlag","tempSt","closeVorModal","Switch","css","lastUpdateDate","getVehicleInvoiceById","postgetVehicleInvoiceData","invoiceScreenDropdowns","invoiceSearchOrderNo","InvoiceModalScreen","orderNumberList","purchaseInvoiceStatusIDList","invoiceItemTypes","invoiceAgentList","purchaseInvoiceVehicleID","purchaseInvoiceID","purchaseInvoiceAgentID","purchaseInvoiceDate","purchaseInvoiceJobDate","purchaseInvoiceAgentName","purchaseInvoiceNumber","purchaseInvoiceJobID","purchaseInvoiceNominalCode","purchaseInvoiceStatusID","purchaseInvoiceDateDue","purchaseInvoiceOrderNumber","purchaseInvoiceDatePaid","tempInputList","purchaseInvoiceItemID","purchaseInvoiceItemQuantity","purchaseInvoiceItemTypeID","purchaseInvoiceItemDescription","purchaseInvoiceItemNet","purchaseInvoiceItemVAT","purchaseInvoiceItemTypeIDValue","inputList","setInputList","purchaseInvoiceAgentIDValue","purchaseInvoiceStatusIDValue","purchaseInvoiceStatus","invoiceID","orderNo","purchaseInvoiceItems","getOrderNo","jobAgentOrderNo","ApproveOrderNo","jobApprovedOrderNo","jobDate","handleAddClick","onInputChange","handleRemoveClick","alertBoxColorCode","EP","JP","AU","JQ","FR","JD","CA","JC","JA","JobDetail","jobRegNumber","jobDetails","setJobDetails","jobOrderDate","jobOrderTotal","orderTotal","jobEstimatedCost","jobProformaInvNet","jobLimit","jobMileageDate","jobMileage","jobVehicleID","vehicleJobStatus","jobStatusID","jobOrderNo","getMakeModel","InvoiceScreen","invoiceList","statusCode","pullInvoiceData","handleInvoiceUpdate","getAllVehicleSchedules","yearInput","bullet","transform","pos","cardContent","fromTab","YEARS","years","d","startYear","getFullYear","endYear","ScheduleDashboard","scheduleEventNames","sortedScheduleEvent","uniqueYear","scheduleCustomerIDValue","scheduleDepotsIDValue","resCust","tempSortedScheduleEvent","month","uniquescheduleEventNames","Set","selectedYear","gridShow","endUserWithCustList","scheduleEndUserIDValue","j","scheduleBookingStatus","NoteIcon","ConfirmationNumberIcon","CheckCircleIcon","downloadPdf","URL","createObjectURL","Blob","link","href","setAttribute","appendChild","click","remove","selectedMonth","isCompleteDate","CardHeader","titleTypographyProps","CardContent","getContracts","getContractsDropDown","postContracts","ContractContext","ContractProvider","contractID","vehicleContractID","contractVehicleID","contractDurationTypes","contractTypes","agreementTypes","contractStatus","setDropdown","pullEditData","contractStatusID","contractTypeID","contractReference","contractNominalCode","contractDurationTypeID","contractAgreementTypeID","contractTerm","contractStartDate","contractEndDate","contractExtendedDate","contractAnticipatedRenewalDate","contractPurchasePrice","contractPurchaseDate","contractFinalPayment","contractAdminCost","contractRAndMIncluded","contractRAndMCost","contractTyresIncluded","contractTyresCost","contractSubstituteIncluded","contractSubstituteCost","contractBreakdownIncluded","contractBreakdownCost","contractInspectionsIncluded","contractInspectionsCost","contractTachographIncluded","contractTachographCost","contractRFLIncluded","contractRFLCost","contractAncEquipmentIncluded","contractAncEquipmentCost","contractReSellValue","contractRAndMStartDate","contractRAndMEndDate","contractMileage","contractExcessMileage","contractP11DValue","contractInitialMileage","contractAnticipatedAnnualMileage","contractFundingCompanyName","contractFundingCompanyTelephone","contractInitialPayment","contractMonthlyPayment","contractBroker","contractTotalCostOfFunding","contractInclusiveofMaintenance","contractMaintenanceCost","contractMaintenanceProviderId","contractTyreSupplier","contractDurationTypeDescription","contractTypeDescription","agreementTypeID","agreementTypeDescription","maintenanceProviderID","maintenanceProviderName","contractStatusDescription","changeDate","add","ContractField","CanUpdateVehicleContracts","ContractDash","setShow","hadleScreen","postRecalls","getRecallByID","getRecallLogByID","postRecallLog","postRecallBookedStep","postRecallOnsiteAndWorkedShop","postRecallCompleted","RecallScreenContext","RecallProvider","recallVehicleID","showNote","recallNumber","recallDate","recallDescription","recallExpiryDate","fromScreen","recallID","handleEditForm","reCallId","getRecallDetails","pullrecallLog","recallDateCreated","recallStatusID","recallDateBooked","recallDateOnSite","recallDateWorkshop","recallDateCompleted","recallLogNotes","logvalidation","handleSubmitLog","logList","isRefreshDetails","AddRecall","CanUpdateVehicleRecalls","AssignServiceAgentModal","commonDate","stepData","recallServiceAgentID","getServiceAgentList","recallCompletedComments","String","CustomizedRecallSteppers","inputContainer","textAreaContainer","recallLogDateCreated","RecallDashboard","DoneIcon","outlineStyle","outlineWidth","outlineColor","vehicleDesc","VehicleRecalls","showRecall","loadUrl","final","SalesInvoiceScreen","code","getCrumbs","vat","net","EditVehicle","tabIndex","setTabIndex","split","tabs","getTime","timeDependency","CanViewInvoices","VehicleRecall","Contract","tabList","newTabs","CanViewBreakdowns","CanViewDefects","CanViewDailyChecks","CanViewMessages","CanViewSalesInvoices","CanViewVOR","selectedIndex","VehicleScreen","showEditPopup","vehicleList","activeToggle","pullVehicleAndUpdateState","urlIndex","lastIndexOf","regNumberCol","tempCrums","crumbClose","collectionAndDeliverID","collectionAndDeliverDescription","postCollectionNDelivery","EventDocumentsDialog","eventDocName","eventDocRequiredInDays","eventDocID","eventDocChase","eventDocLegal","eventDocRequiredInDaysN","postEventDocs","EventDocuments","getVehicleTypesById","postVehicleTypesData","getAllVehicleCategories","getVehicleCategoriesById","postVehicleCategoriesData","VehicleTypeModal","vehicleTypeActive","VehicleTypeRFLApplicable","VehicleTypeInsuranceApplicable","VehicleTypeMOTApplicable","VehicleTypeFuelCardApplicable","vehicleTypeMileageApplicable","vehicleTypeRFLApplicable","vehicleTypeInsuranceApplicable","vehicleTypeMOTApplicable","vehicleTypeFuelCardApplicable","vehiclename","vehicleData","VehicleType","pullVehicleType","handleVehicleType","closeVehicleModal","ServiceAgentScreenContext","ServiceAgentProvider","serviceAgentFax","serviceAgentWebSite","serviceAgentStartDate","serviceAgentMaintenanceContractRef","serviceAgentAccountCentreID","serviceAgentOrderEmail","serviceAgentCurrencyID","serviceAgentLabourRate","serviceAgentOutOfHoursLabourRate","serviceAgentOrderConfirmationName","serviceAgentOrderConfirmationPhone","serviceAgentSendOrderConfirmation","serviceAgentOrderConfirmationEmail","serviceAgentBookingName","serviceAgentBookingPhone","serviceAgentSendBookingEmail","serviceAgentBookingEmail","serviceAgentSendJobUpdateEmail","serviceAgentJobUpdateEmail","serviceAgentSendQueryResponseReceived","serviceAgentQueryResponseReceivedEmail","serviceAgentSendJobApprovalReceived","serviceAgentobApprovalReceivedEmail","serviceAgentNominalCode","serviceAgentServiceManagerName","serviceAgentServiceManagerPhone","serviceAgentServiceManagerEmail","handlingDefects","serviceAgentActive","hasInspectionSheetControl","serviceAgentOpenMonday","serviceAgentMondayOpeningTime","serviceAgentMondayClosingTime","serviceAgentOpenTuesday","serviceAgentTuesdayOpeningTime","serviceAgentTuesdayClosingTime","serviceAgentOpenWednesday","serviceAgentWednesdayOpeningTime","serviceAgentWednesdayClosingTime","serviceAgentOpenThursday","serviceAgentThursdayOpeningTime","serviceAgentThursdayClosingTime","serviceAgentOpenFriday","serviceAgentFridayOpeningTime","serviceAgentFridayClosingTime","serviceAgentOpenSaturday","serviceAgentSaturdayOpeningTime","serviceAgentSaturdayClosingTime","serviceAgentOpenSunday","serviceAgentSundayOpeningTime","serviceAgentSundayClosingTime","serviceAgentOpenBankHoliday","serviceAgentBankHolidayOpeningTime","serviceAgentBankHolidayClosingTime","serviceAgentFacilitieslist","serviceAgentFacilities","serviceAgentFacilitiId","serviceAgentCurrencyIDList","serviceAgentCurrencyIDValue","serviceAgentPaymentDays","serviceAgentPaymentDaysValue","serviceAgentPaymentDaysList","padValue","facilitiesData","serviceAgentRating","serviceAgentAccountCode","CanUpdateServiceAgents","dropDownlist","currencies","selectedServiceAgent","setAllTime","isOpenClose","AddEditServiceAgent","Box","dialogTitleStyle","ServiceAgent","gooleSearchValue","showGoogleValue","isAdmin","renderRating","CanUpdateServiceAgentRating","renderAgentAddress","rowSelctedValues","serviceAgentAddress","ratingCol","agentAddressCol","closeGoogleSerach","pullAllServiceAgent","selectedRatingValue","closeRatingModal","ratingSubmit","ratingData","reGenrateMap","SyncIcon","frameborder","allowfullscreen","aria-hidden","tabindex","ServiceAgentDashboard","isNullCheck","join","EditServiceAgent","flex","ImportMileage","file","showTable","fileName","selectedFile","uploading","append","downloadFile","download","ImportJourney","ImportFuel","postCustomerLicence","CustomerId","postArchiveCustomerLicence","CreditTopup","submitArchive","accountCode","LicenceResponseTable","resList","davisDepots","davissuccess","setLicenceCheckLocationIdSuccess","davisDepartmentResponse","departmentName","VorReportingTab","showLoader1","showLoader2","vehiclesByOccurance","vehiclesByDay","tempTab","ImportDepot","ImportServiceAgent","CustomerDashBoard","accountManagaerName","currency","isoStartDate","listNames","setListNames","checkBtn","isMandatory","showTopUp","showRes","licence","setLicence","setResList","accName","currencyName","currencyList","customerCurrencyID","isoName","setlicenceCheckMessage","licenceCheckMessage","toString","closeCustomerModal","showMileage","showJourney","showFuel","showDepot","showServiceAgent","addLicenceChecks","badgeContent","showZero","CanImportDepots","CanImportServiceAgents","Person","CanImportMileages","CanImportJourneys","LocalTaxiIcon","CanImportFuelPurchases","LocalGasStationIcon","formatWithComma","autoApproveQueryDays","overdueQueriesDays","credit","CustVehicleScreen","handleBreakDown","defectJobID","getFleetInsurancesByID","postFleetInsurances","AddFleetInsurance","fleetInsuranceCustomerID","fleetInsuranceId","fleetInsurancePremiumFrequency","fleetInsuranceUseBusiness","fleetInsuranceDriversAgency","fleetInsuranceUseSDP","fleetInsuranceUseCarriage","fleetInsuranceInsurerName","fleetInsuranceInsurerContactName","fleetInsuranceInsurerTelephone","fleetInsuranceInsurerEmail","fleetInsurancePolicyNumber","fleetInsuranceBrokerName","fleetInsuranceBrokerContactName","fleetInsuranceBrokerTelephone","fleetInsuranceBrokerEmail","fleetInsuranceStartDate","fleetInsuranceExpiryDate","fleetInsuranceReviewFrom","fleetInsurancePremium","fleetInsuranceBusinessType","fleetInsuranceBusinessEstablished","fleetInsuranceUseOther","fleetInsuranceExcessAccidentDamage","fleetInsuranceExcessFireAndTheft","fleetInsuranceExcessWindcreen","fleetInsuranceDriversUnder25","fleetInsuranceDrivers25to29","fleetInsuranceDrivers30orOver","fleetInsuranceNotes","fleetInsuranceMIDUpdatedBy","tem","CanUpdateCustomerFleetInsurance","FleetInsurance","handleDialog","pullListData","AddEditEndUser","endUserId","EndUser","showModal","handleModal","getFaultTypesByID","postFaultTypes","AddEditFaultTypes","faultTypeID","faultTypeCustomerID","faultTypeDescription","FaultTypes","RenderReportingByFilter","flexShrink","borderWidth","borderColor","option","sum","noRow","barColors","0","9","10","11","12","13","14","renderCurrencyLabel","y","textAnchor","dominantBaseline","renderCustomizedLabel","ReportingBarChart","hideCurrnecy","ResponsiveContainer","BarChart","XAxis","dataKey","sclaeToFit","verticalAnchor","interval","angle","small","YAxis","contentStyle","Legend","Bar","barSize","legendType","LabelList","content","entry","Cell","setval","downloadFileWithExt","fileExt","GetVORReportingExcelFile","GetDefectReportingExcelFile","GetBreakdownReportingExcelFile","GetJobReportingExcelFile","GetSchedulesExcelFile","mode","GetOutstandingDocSchedulesExcelFile","_","isEmpty","filterValues","property","received","startOf","VorReportingModal","VehicleByType","NumberOfDepot","sumOfAllDepot","setTop5ID","setBarData","top5Days","setBarVal","set_type","vehicleDepotsList","byReg","depot","faultType","TypeIsReload","vehicleCategoryListdropdown","cond","vorType","handleReports","handleBarChart","getURl","navigationMenuID","totalDays","top5Reg","top5Makes","top5models","Depot","handleBar","settop5List","ButtonGroup","ria-label","convertData","showDownload","BreakdownDefectReporting","vorByReg","top5Make","top5Model","barValues","Crumbs","string","charAt","newst","renderVehicleReg","rendeDefectNo","gotoDefectEditScreen","defectNo","tempCol","getjobByType","COLORS","JobReportScreen","deoptList","jobTypeList","monthYearList","vmrsDescriptionList","checkCondition","showDetailsPopup","isCustSelected","jobTotal","jobType","monthYear","PieChart","Pie","cx","cy","paddingAngle","outerRadius","innerRadius","CartesianGrid","strokeDasharray","EditCustomer","CustVehicle","getAllvehiclecheckchecks","getVehicleCategory","getVehicleCheckSection","VehicleCheckCheckMdal","addID","inspectionSheetCheckPosition","inspectionSheetCheckLegalRequirement","inspectionSheetCheckActive","inspectionSheetIMReference","dropdownList","checkUserID","inspectionSheetCheckSectionID","listss","dropDownData","BasicTable","checkCheckList","checksMainID","handleAddEditModal","accHeading","selected","scope","VehicleCheckCheck","checkList","VehicleCategoryList","accOpen","expandCollapsedAt","pullcheckData","pros","Promise","responses","addid","accData","handleExpand","checkChecks","tab","filterAccordion","ad","changedAt","Expand","JobHistory","jobHistoryList","pullHistoryAndUpdateState","refreshDependancy","Date_DDMMMYYYY","MergeTypeIcon","jobMerge","pullUpcomingEventsAndUpdateState","JobEstimateModal","isAccept","requestEstimate","markInProgress","jobEstimate","estimateRevised","acceptEstimate","approvOrder","approved","passToCustomer","ToFixedDigit","focused","SubmitEstimateModal","mileageIsRequired","jobStatus","mileageDate","SubmitWarnngModal","onYes","CancelButton","goPreviousScreen","StatusBasedButton","showEstimate","showSubmitCostModal","handelPopup","showSubmit","refreshScreen","goBack","CostomButton","btnLable","btnType","otherOptionsBtnShow","isShownHeadrer","showSave","AcceptEstimateModal","mileageRequired","JobEstimate","JobDetailsInfo","approvedBy","jobApprovedDate","getAllJobItems","getJobItemById","getJobItemsDropDown","postJobItem","createInvoice","getPastJobByVMRSCategoryNSubCategory","jobId","VehicleId","VMRSCatId","VMRSSubCatId","GetPurchaseInvoice","GetSalesInvoice","SalesInvoiceAddHeaderLabourPart","GetVehicleSalesInvoice","UpdateVehicleSalesInvoice","PostInternalVehicleJobsItem","VehicleSalesInvoiceGenratePdf","PastJobs","pastJobs","VMRSCategoryID","VMRSSubCategoryID","ServiceAgentstatusBasedButton","jobInAgentQuery","jobIsEstimate","verticalAlign","SalesLines","invoiceLinesCheckBox","invoiceLinesCheckField","PartSelectChange","handleFields","invoiceLines","partsDetails","vatRate","invoiceItemVATRateID","onInvoiceItemChange","Fragment","colSpan","isSelected","itemID","labourDescription","costType","labourHours","labourRate","labourDiscount","labourExVAT","vatIdError","invoiceItemVAT","some","jobItemID","partID","partNumber","partDescription","qty","unitPrice","discount","getRetorqueById","postRetorqueData","RetorqueReasonsModal","retorqueReasonID","retorqueReasonDescription","retorqueData","RetorqueReasons","RetorqueList","pullRetorquereasons","retorqueHandler","AddJobItemModal","vehicleDetails","paymentDays","percentage","num","per","getFixedDigit","part","salesLabourItems","labourVATRateID","labourVATPercent","vatRatePercent","labourVATAmount","labourCost","salesPartsItems","partQuantity","partUnitPrice","partDiscount","partVATRateID","partVATPercent","partVATAmount","salesInvoiceDate","salesInvoiceDateDue","salesInvoiceJobID","orderRef","bookedDate","total1","calPercentage","CuststatusBasedButton","HelpIcon","PurchaseInvoice","jobItemsList","purchaseNominalCode","showOk","getSelectedJob","CreateInvoiceItems","partsprice","signedOffByName","signOffNotes","signOffSignature","jobCompletionDate","borderTopWidth","circle","JobItemHeaderDates","isinternal","vehicleArrivalDateCheck","jobCompleteDateCheck","bookingDateCheck","isjobCompletionDate","isarrivedDate","isbookingDate","vehicleArrived","completionDate","dateFlowName","placement","confirmModalTitle","confirmModalText","BookingDateModal","dateReplied","JobQueriesScreen","isHeaderNotShow","JobItemsScreen","JobBookedDetail","jobTypeID","jobTypes","jobDropDowns","setJobDropDowns","jobServiceAgentIDValue","jobDepotIDValue","jobTypeIDValue","pullJobDropDowns","PullData","jobApproved","dropDowns","crumbsServiceAgent","MaintenanceSchedules","filteredRows","finalData","endOf","handleCloseModal","customerCol","crumbsMaintenance","dateRangeChanged","JobMessages","setLoader","pullMessageList","InternalstatusBasedButton","jobInCustomerQuery","CanUpdateJobLimit","jobUpdateID","jobUpdateJobID","jobUpdateReminderDate","jobUpdateNotes","jobUpdateNotesResult","jobUpdateDateCreated","jobUpdateDateClosed","jobUpdateNotesActive","newjobUpdateReminderDate","newJobUpdateNotes","arr","objWithIdIndex","AddJobUpdateNotes","notesResult","jobUpdateClosedUserID","stateNotes","setNotsState","JobUpdtaeNotes","showAddJobUpdateNotes","callonFormsubmit","handelModal","Add","InternalJobDetail","jobOutOfHours","jobDefectID","isEditableFields","showVorModal","radioButtonChange","CanUpdateJobs","isRequired","vehicleJobPartDiscount","getTwoFixed","setBackup","jobItemStatusID","JobItemCostTypeID","jobItemStatus","workCategory","costCategory","vehicleJobPartCustomerUnitPrice","partsDiscount","partsTotal","workList","costCategories","readOnly","showPastJob","costCategoryValue","jobItemStatusIDValue","jobItemCostTypeIDValue","workCategoryValue","showCancelConfirmModal","jobItemCustomerLabourTotal","jobItemCustomerPartsPrice","Status","vehicleJobPartNumber","vehicleJobPartQuantity","vehicleJobPartUnitPrice","vehicleJobPartCustomerQuantity","vehicleJobPartCustomerDiscount","vehicleJobPartDescription","partId","isUpdate","newList","newPartToSetIsDelete","isDeleted","handleDeletePart","CalculateTotal","CalculateCutomerTotal","customerTotal","actionCol2","custTotalCol","islabourRateSet","markup","category","catid","subcatid","subcatname","costTypeList","partList","vehicleJobPartsDetails","info","vehicleJobitemdetails","jobItemDescription","jobItemJobID","jobItemCostTypeID","jobItemVMRSCategoryID","jobItemVMRSSubCategoryID","jobItemCostCategoryID","allowUpdate","allowUpdat","jobItemLabourHours","jobItemLabHourRate","jobItemCustomerLabHourRate","jobItemCustomerLabourCost","jobItemLabourDiscount","caltotal","calLabourTotal","custLabourTotal","customerUnitPrice","calCustTotal","customerPartsPriceTotal","WorkCategoryChange","cat","submitSendForApproval","PartsVM","vehicleJobCustomerUnitPrice","vehicleJobPartsVM","sendForApproval","handleOpen","setbtn","SearchIcon","newPartToAdd","InternalJobItem","showInvoice","showSellerBtn","showSellerInvoice","showCreate","vmrs","cellClass","pullJobDetails","pullJobItems","jobCustomerOrderTotal","vehicleJobItems","Labour","custTotal","totalLabour","jobItemPartsprice","nst","checkApprovedJob","btnHandler","createInvoiceHandler","canAddScheduleItemstoJob","UpdateIcon","showUpComingEvents","rowHeight","jobItemCustomerLabourHours","jobItemCustomerLabourDiscount","AgentJobItemsScreen","allApprovedJob","JobTabScreen","setIndex","modalData","setModalData","Internal","baseTabs","DriverScreenContext","DriverProvider","driverDefectManager","driverLicenseCheckFrequency","driverFuelCardProvider","driverFuelCardNumber","driverFuelCardPIN","driverLicenseNumber","firstName","licenseTypeID","payrollNumber","middleName","licenseTypeList","driverTypeList","genderList","licenceList","driverLicenceTypesList","fuelCardProvidersList","driverFuelCardNumberList","defectManagerList","driverTypeIDValue","licenseTypeIDValue","genderValue","driverDefectManagerValue","driverLicenseCheckFrequencyValue","driverFuelCardProviderValue","driverLicenceTypes","driverTypes","genders","licenceCheckFrequency","fuelCardProviders","defectManager","driverAddress1","driverAddress2","address3","driverAddress3","driverCostCentreDescription","driverCustomerID","driverDepotID","driverDepotName","jobTitle","driverJobTitle","gender","driverGenderID","driverFuelCarProvider","driverCostCentreID","driverLicenceDescription","lastName","driverLastName","driverMiddleName","dateOfBirth","driverDateOfBirth","dateOfBirth1","driverFirstName","driverPayrollNumber","driverPostCode","driverTown","driverCounty","driverLoginEnabled","driverMobile","driverReceiveEmailNotification","telePhone","driverTelephone","licenceCheckFrequencyDescription","fuelCardProviderName","validatePostCode","AddEditDriver","CanUpdateDepotDepartments","DriverScreen","DriverList","pullDriverAndUpdateState","driverNameCol","CanUpdateDrivers","DriverDashBoard","telephone","getlicenceConvictionList","getLicenceConvictionbyid","postlicenceConviction","getLicenceCheckbyid","postLicenceCheck","LicenceCheckDropdown","CheckConviction","handleConvictionModal","pullLicenceConvictionList","licenceConvictionID","setNewSt","btnConditions","licenceConvictionCheckID","licenceConvictionOffenceCode","licenceConvictionOffenceDescription","licenceConvictionPoints","licenceConvictionDateConvicted","licenceConvictionDateEffectiveUntil","licenceConvictionDateBannedUntil","licenceConvictionDateCreated","licenceConvictionCreatedUserID","licenceConvictionDateUpdated","licenceConvictionUpdatedUserID","licenceConvictionDateDeleted","licenceConvictionDeletedUserID","licenceCheckID","Date_DDMMYY","AddEditLicence","convictionList","licenceCategoriesList","licenceCheckFrequencyList","licenceRiskLevelsList","licenceCheckRiskLevel","licenceCheckCategoriesAllowed","licenceCheckCategoriesAllowedValue","licenceCategories","setlicenceCategories","seterrors","licenceRiskLevels","licenceCheckDriverID","licenceCheckLicenceNumber","licenceCheckLicenceIssueNumber","licenceCheckAddress","licenceCheckDateChecked","licenceCheckDateCheckExpires","licenceCheckPhotoExpiryDate","licenceCheckLicenceExpiryDate","licenceCheckDateOfBirth","licenceCheckPoints","licenceCheckAutoCreated","licenceCheckShortTerm","selectedModule","btnCondition","FormControl","LicenceChecks","EditDriver","CanDoDriverLicenceChecks","getScheduleEventsById","getAllDropdowns","postScheduleEvents","firstEventList","nextEventList","ScheduleEventDialog","multi","scheduleEventInterval","scheduleEventTimeToFirst","scheduleEventMilesDue","scheduleEventFirstEvent","scheduleEventNextEvent","scheduleEventDayRange","vmrsSubCategory","scheduleEventInternalType","eventDocsIds","scheduleEventIntervalPeriodCode","scheduleEventDisplayInspectionLink","allowedDayRangeList","scheduleEventReminderInterval","scheduleEventReminderMilesDue","scheduleEventReminderPeriodCode","scheduleEventCreateNewEvent","Number","eventDocs","subModule","vmrsSubCategoryList","allowedDayRange","allowedDayRangeID","allowedDayRangeDescription","scheduleEventTimeToFirstN","scheduleEventIntervalN","scheduleEventMilesDueN","bothNeeded","yesNoClicked","innerHTML","eventInternalTypes","eventIntervalPeriods","ScheduleEvent","dropDownResponse","VehicleCategoryModal","vehicleCategoryActive","showBox","FilterimageList","handleImagesBox","setImages","vehicleCategoryImages","VehicleCategory","pullVehicleCategory","vehicleCategoryHandler","UnassignedJob","getFuelTypesById","postFuelTypesData","FuelTypesModal","fuelTypeID","fuelTypeDescription","fuelTypeDisplayBatteryLevel","fuelTypeActive","AllData","FuelTypes","fuelList","pullAllData","JobReminder","concatNoteTitle","handleNotesClose","jobNotesID","InternalUserSchedule","showBred","handleModalClose","custCol","CanUploadScheduleDocuments","DepotScreenContext","DepotProvider","depotIsSendJobApprovalRequired","depotIsOrderConfirmation","depotIsBookingEmail","depotIsJobUpdateEmail","depotIsSendQueryResponseReceived","depotIsSendBreakdownEmail","depotIsSendDefectEmail","depotServiceAgentValue","depotAgentSecondaryAgentValue","depotCustomerValue","depotScheduleBookingModeValue","depotSendJobApprovalRequiredEmail","depotOrderConfirmationEmail","depotBookingEmail","depotJobUpdateEmail","depotSendQueryResponseReceivedEmail","resetInvoiceInput","contactName","depotSendOverdueReminderEmail","depotOverdueReminderEmail","EditDepotDash","setstate","isYesNo","PrimaryServiceAgent","showDepotScreen","postDefectTypesData","getDepartmentById","postDepartment","AddEditDepartment","departmentID","departmentDepotID","departmentAddress1","departmentAddress2","departmentTown","departmentCounty","departmentPostCode","departmentPhone","departmentContactName","departmentContactEmail","departmentResponse","Department","VehicleDepots","DefectTypeModal","defectTypeID","defectTypeDescription","defectEmailDocument","IsAdd","defectTypeData","DefectType","DefectTypeList","ScheduleSetReceivedModal","dateReceived","dateRequired","OutStandingDocuments","outStandingDocsList","recordType","showSetReceived","DescriptionIcon","depotCol","ScheduleSetReceived","InternalUserJobsScreen","actionjobDateCol","screenCode","getCostCategoriesById","postCostCategoriesData","CostCategoriesModal","costCategoryID","costCategoryLedgerCode","CostCategories","CostCategoriesList","getCostTypesById","postCostTypesData","CostTypesModal","costTypeCode","costTypeDescription","costTypeActive","costTypeRechargeToCustomer","costTypePaySupplier","CostTypes","costTypesList","DriverChecks","resizable","DailyCheckInternalUser","showAddCheck","editClose","dataUrl","resultCode","role","postEmailTemplatesData","EmailTemplatesModal","subject","code1","RegExp","emailTemplatesData","emailTemplateCode","emailTemplateSubject","emailTemplateBody","emailTemplateActive","minlength","EmailTemplates","EmailTemplateList","pullEmailTemplates","getCustomerMessages","getCustomerMessagesList","InternalUserChatting","filterCustList","dense","labelId","ListItem","ListItemText","primary","unreadMessageCount","getAllEnquiry","getEnquiryScreenDropdowns","addNewEnquiry","getEnquiryById","getEnquiryNotes","LeadNoteLeadID","addLeadNotes","addLiveEnquiry","addLeadFinalise","EnquiriesScreenContext","EnquiriesProvider","leadID","leadCompanyName","leadMainContactEmail","leadFleetSize","leadAdditionalInformation","leadAddress1","leadAddress2","leadMainContactPhone","leadMainContactName","leadPostcode","leadCounty","leadCountryCode","leadCity","leadReferrerName","leadReferrerEmail","leadStatusID","branchName","notesList","typeOfVehicleOptionId","leadLostReasonID","leadDateCreated","leadOutcomeDate","leadReferrerBranchID","leadTypeOfBusinessList","branchList","typeOfVehicleOption","leadLostReasonsList","leadStatusList","leadTypeOfBusiness","typeOfVehicleValue","typeOfvehicle","leadVehicleTypes","id1","businessTypes","branches","leadLostReasons","leadStatus","pullEnquiryByID","leadLiveDate","leadSelectedVehicleTypes","leadSelectedVehicleTypeID","leadSelectedVehicleTypesVM","typeOfVehicleChange","GotoEditMode","StatusModal","lostReasonID","comment","statusId","reasonId","statusID","Description","LiveEquityModal","EnquiryStepper","statusShow","AddEnquiries","crumbsObj","setEnquiry","EnquiriesScreen","EnquiriesID","enquiriesList","pullEnquiriesData","handleEnquiriesUpdate","AddNewEnquiries","AddEditLeadNotes","leadNoteID","leadNoteLeadID","leadNoteDescription","new_enquiry","live_enquiry","successful_enquiry","lost_enquiry","EnquiryEditModal","leadVehicleTypeDescription","JobTracking","showJobNotes","openNotesModal","handleEditBreakdown","startOfMonth","endOfMonth","SchedulePlannerScreen","serviceAgentsWithCustList","pdfData","freeSolo","HANDELCHECK","HANDELCLOSE","initState","reducer","payload","VehicleInspection","useReducer","dispatch","DeletedJobs","cn","DeletedDefect","defecteNo","getCompanyDetails","postCompanyDetails","CompanyScreenContext","CompanyProvider","companyID","companyName","companyRegistrationNumber","companyVATNumber","companyLogo","companyEmail","companyPhone","companyWebsite","companyAddress1","companyAddress2","companyCity","companyCounty","companyPostCode","companyCountryCode","companyRegisteredAddressSameAsCompanyAddress","companyRegisteredAddress1","companyRegisteredAddress2","companyRegisteredCity","companyRegisteredPostCode","companyRegisteredCounty","companyBankAccountName","companyRegisteredCountryCode","companyBankSortCode","companyBankAccountNumber","companyBankName","setValRegistered","AddEditCompany","CanUpdateCompanyDetails","CompanyDetail","CustomerVORReporting","getUserPermissionsFromID","setUserPermissions","getAllUsers","getUserById","checkArray","Adduser","userInitials","phoneNo","phone","isLocked","userRole","userType","isAllBranch","allbranch","depotsIds","depotIds","serviceAgentIds","serviceAgentId","driverId","UpdateUser","isUpdateEmail","isalldepots","alldepots","getUserDropdown","getDriverBasedOnCustndDepot","cust","ResetPassByAdmin","newpassword","UserScreenContext","UserProvider","matchDepoCustId","handleValidation","singleEmailValidation","updateValidation","branchs","Updateuser","newMatchDepoCustId","selectedBranch","moduleID","moduleName","branchID","branchShortName","canOverrideMandatorySteps","updateState","BranchChange","onSelectCheckbox","branch","DepotChange","ServiceChange","DropdownModal","showModules","AddUserModal","CustChange","maxLength","AssignPermissionScreen","permissions","setPermissions","setUserID","perm","Permission","hidden","DefaultState","toCheck","input","shouldBeDisabled","FormLabel","canViewDocuments","canDeleteDocuments","canViewCompanyDetails","canUpdateCompanyDetails","canViewInvoices","canViewNotes","canViewMessages","canImportFuelPurchases","canImportJourneys","canImportMileages","canImportDepots","canImportServiceAgents","canViewSchedules","canUpdateSchedules","canDeleteSchedules","canBookSchedules","canUpdateScheduleNotes","canUploadScheduleDocuments","canViewJobs","canUpdateJobs","canAuthoriseJobs","canUploadJobDocuments","canDeleteJobLines","canSendReplyJobQueries","canUpdateJobLimit","canViewDepots","canUpdateDepots","canUpdateDepotDepartments","canUpdateDepotNotes","canViewVehicles","canAddVehicles","canUpdateVehicles","canUpdateVehicleFuelRecords","canUpdateVehicleContracts","canUpdateVehicleDailyChecks","canUpdateVehicleJourneys","canUpdateVehicleMileages","canUpdateVehicleNotes","canUpdateVehicleRecalls","canViewDrivers","canAddDrivers","canUpdateDrivers","canUpdateDriverNotes","canDoDriverLicenceChecks","canViewCustomers","canUpdateCustomers","canUploadCustomerDocuments","canSendMessageToCustomers","canUpdateCustomerCostCentres","canUpdateCustomerFleetInsurance","canUpdateCustomerNotes","canViewServiceAgents","canAddServiceAgents","canUpdateServiceAgents","canUpdateServiceAgentRating","canUpdateServiceAgentNotes","canViewDailyChecks","canAddDailyChecks","canViewInspections","canAddInspections","canUpdateVehicleInspections","canViewBreakdowns","canAddBreakdowns","canUpdateVehicleBreakdowns","canViewDefects","canAddDefects","canUpdateVehicleDefects","canViewVOR","canAddVOR","canUpdateVOR","canViewPurchaseInvoices","canAddPurchaseInvoices","canUpdatePurchaseInvoices","canViewSalesInvoices","canUpdateSalesInvoices","ResetPasswordAdmin","enableChange","handleResetPass","UserScreen","showAsgPermi","showPassReset","userList","pullUserAndUpdateState","activeUser","screen","closeUserModal","LockIcon","RotateLeftIcon","rowPerPage","getBranchById","addBranches","branchCode","branchFax","fax","country","postcode","shortName","updateBranches","AddEditBranch","branchData","ColumnHeaderAlignleft","ColumnTextAlignleft","BranchScreen","pullBranchAndUpdateState","closeBranchModal","AdminDashboard","getAllAdminDash","activeUsers","eventDocuments","inspectionSheetChecks","inspectionSheetSections","totalUsers","getAllVehicleDailyChecks","getVehicleDailyCheckById","postVehicleDailyChecks","dailyCheckSectionPosition","dailyCheckSectionActive","dailyCheckSectionLegalRequirement","resDrop","then","dailyCheckSectionVehicleCategoryID","VehicleDailyChecksAdmin","VehicleDailyChecksTab","CheckRes","filterTab","getReportCataloguesById","addReportCatalogues","AddEditReportCatalogue","reportsList","reportCatalogueName","tablesToUseList","reportCatalogueSQL","reportCatalogueColumnDisplayName","reportCatalogueColumnDatabaseName","reportCatalogueColumnFieldType","reportCatalogueColumnSelectionType","reportCatalogueColumnLength","reportCatalogueColumnMandatory","reportCatalogueColumnMandatoryList","reportCatalogueColumnSelectionTypesList","reportCatalogueColumnFieldTypesList","catlogId","reportCatalogueID","tablesListIds","reportCatalogueSelectionTypes","reportCatalogueFieldTypes","reportCatalogueColumns","reportCatalogueTables","reportCatalogueTableName","reportCatalogues","reportCatalogueColumnsVM","reportCatalogueTablesVM","ReportCataloguesScreen","reportCataloguesList","reportCataloguesData","pullReportCataloguesAndUpdateState","closeReportCataloguesModal","getMenuTab","getMenuItemsById","postMenuItems","getMenuItemsDropdown","menuid","MenuModal","leftNavigationMenuURL","leftNavigationMenuComponent","leftNavigationMenuAuthType","navigationMenuSequence","iconIDValue","leftNavigationMenuIconName","menuIconList","navigationMenuRoleID","menuRoleList","screenList","flatScreenList","navigationMenuParentMenuID","parentMenuList","navigationMenuLabel","navigationMenuActive","navigationScreenID","navigationMenuIconIDValue","tabID","dropDwonData","parent_MenuList","navigationMenus","screen_List","screens","roles","navigationMenuIconID","MenuId","abcd","screenIconID","roleName","Menu","menuList","pullMenuItems","MenuTab","leftNavigationMenuTabs","getRetorquepositionId","postRetorquepositionData","grey","borderTopRightRadius","borderBottomRightRadius","fontWeightMedium","fontWeightRegular","group","expanded","labelRoot","labelIcon","editBtn","labelText","TreeViewTab","addPortalSettings","getPortalSettings","Settings","Title","CallUs","OpeningTimes","EmailUs","Technician","CustomerSignOff","Driver","DefectManager","HeaderTextColorCode","HeaderBackgroundColorCode","MenubarTextColorCode","MenubarBackgroundColorCode","productLogo","labelLogo","bannerLogo","refreshTime","bannerImage","documentsLogo","pullSettingsAndUpdateState","portalSettingId","portalSettingTitle","portalSettingCallUs","portalSettingOpeningTime","portalSettingEmailUs","portalSettingDriverDeclaration","portalSettingDefectManagerDeclaration","portalHeaderTextColour","portalHeaderBackgroundColour","portalMenuBarTextColour","portalMenuBarBackgroundColour","portalSettingDisplayTopNavCounters","portalSettingMainLogo","portalSettingAdditionalLogo","portalSettingDocumentsLogo","handleImage","formatterImageProductContainer","handleFieldChange","Item","getVorById","postVorData","VorModal","vorData","getAllVorTypeList","postVorTypeDetail","VORTypeDialog","dataList","postVorSubCatData","VorSubCatDialog","focusedRow","VORSubCategoryCategoryId","VORSubCategoryDescription","VORSubCategoryId","VorSubCat","closeType","closeSubCat","VORTypeDetail","showSubCat","subCatHandler","va","Assignment","Vor","vorList","pullVorType","vorHandler","reasonHandler","showReasons","focusedDescription","VorTypeModal","RetorquePositionsModal","retorquePositionID","retorquePositionDescription","retorquepositionData","RetorquePositions","RetorquePositionsList","pullRetorquePositions","retorquePositionHandler","WorkshopResources","UpdateSalesInvoice","datePaid","statusValue","invoiceDue","invoiceDatePaid","vehicleSalesInvoiceStatusID","getStatus","GeneratePdfInvoice","valFormater","invoiceNumber","PictureAsPdfIcon","invoiceDate","exVat","labourVAT","labourID","partsVAT","partsVATPercent","getMaintenanceProviderById","postMaintenanceProviderData","AddMaintenanceProvider","maintenanceProviderIncludesRFL","maintenanceProviderIncludesRM","maintenanceProviderIncludesTyres","maintenanceProviderIncludesCranes","maintenanceProviderIncludesFridges","maintenanceProviderIncludesTailLifts","maintenanceProviderIncludesOther","maintenanceProviderIncludesActive","providerID","maintenanceProviderAddress1","maintenanceProviderAddress2","maintenanceProviderCity","maintenanceProviderPostCode","maintenanceProviderCounty","maintenanceProviderCountryCode","maintenanceProviderPhone","maintenanceProviderFax","maintenanceProviderEmail","maintenanceProviderWebsite","maintenanceProviderContactName","maintenanceProviderContactPhone","maintenanceProviderContractRef","maintenanceProviderContractStartDate","maintenanceProviderContractEndDate","ProviderData","maxLenght","MaintenanceProvider","providerList","handleProvider","pulldata","EditBreakdownLink","BreakDownID","showMessage","ServiceAgentDash","getAllServiceAgentDash","cnt","DefetctStatusGrid","crubsSet","typebo","typebr","ServiceAgentBreakdown","lassName","postServiceAgentBookingRequest","ServiceAgentScheduleBookingSection","checkFlag","isAcceptByServiceAgent","BookingRequests","pullAllBookingSchedule","ConfirmedBookings","ServiceAgentDefectsScreen","AcceptRejectByAgent","isDirectLink","CommonJobsScreen","getReportsById","ReportsDetailsSave","ReportsColumnsGetDetails","ReportSelectionsGetDetails","GetReportSequence","ReportCombinedSave","GetFilterdReport","GetReportExcelDFile","AddReportStepper","ReportsScreenContext","ReportsProvider","userReportName","userReportSendEmail","operator","reportCatalogue","userReportID","selectionList","columnList","allColumnsList","userColumnId","selectedColumns","sequenceReportCatID","selectiondetails","sequenceColumList","sequenceList","getCol","sequenceVM","userReportSequenceOrder","reportSchedules","reportScheduleID","reportScheduleTitle","userReportUserID","userReportScheduleID","userReportCatalogueID","getDetailsSelections","getColumnsDetails","reportCatalogueColumnID","userReportCatalogueColumnID","userReportSelectionOperator","userReportFromValue","userReportToValue","combinedData","userReportColumns","userReportSelectionsVM","userReportSequenceReportCatalogueColumnID","handleNextSteps","saveReportFlag","handelSaveReportDetails","getSequenceById","AllsequenceColumList","checkOpCondition","selectionDetailsList","itmInner","tuka","getFilteredRows","handlePreviousStep","selectionOnChange","op","handelAddSequence","seqValidations","seqDescription","newSelectedColumns","reportInputChange","deleteSequence","baseSequenceColumn","AddReportScreen","dataFormatterSequenceColumn","sequenceColumn","getStepContent","ReportsListScreen","pullReportsAndUpdateState","closeReportModal","newCrumbs","FilteredReportsListScreen","colData","purpleColor","purpleShadowColor","CustomerDashobard","setWidgets","DowntimeDash","MaintananceEvent","FleetDash","AttachMoneyIcon","FleetSchedule","DriverCheck","jobsApprovedTotal","jobsApproved","jobsInQueryTotal","jobsAwaitingApprovalTotal","16","getAllCustomerDashboard","handleFilter","localStorage","getItem","JSON","parse","Grid_1","gridObj","Grid_2","Grid_3","PopUpCust","driveAddress1","driveAddress2","CustomerDriverScreen","CanAddDrivers","CustomerBreakDownDashboard","CustomerDefectsScreen","getAllVehicleCheckDaily","CustomerVehicleCheckDaily","CustomerAllVehicleSchedules","textWight","dtDueIn","daysPast","CustomerVehicleScreen","CustomerJobScreen","custRes","CustomerDepots","closeDepotsModal","DailyChecksCustomer","CustomerBreakDownDefectReporting","getAllDriverDash","breakdownType","breakdownOnsite","breakdownRoadside","driverDefect","driverCheck","failedChecks","checkedInCount","DriverVehicleScreen","vehicles","workshopBooking","isDriverCheck","isCheckIn","DriverDash","isVehicle","vehicleMakeModel","getVehicleByRegNo","onCheckInSucc","forceEditable","filterText","tempCrumb","DriverBreakDownDashboard","DriverDefectsScreen","closeByGridByBredcrumb","fromGrid","VehicleCheckOut","dateCheckOut","mileageCheckOut","CheckOutScreen","ExitToAppIcon","closeCheckOutModal","TechnicianSchedule","displayCheck","LeadDashboard","LeadEnquiriesScreen","headerRowHeight","TypeOfAuth","exact","Components","authType","closeScreen","useCurrentMenus","menus","adminMenu","internalMenu","driverMenu","technician","leadMenu","authMenu","unAuthMenu","getMenuForRole","getMenuItems","Customers","CanViewCustomers","Jobs","Drivers","CanViewDrivers","CanViewServiceAgents","Invoices","CanViewCompanyDetails","GetAllowMenus","tempMenus","jobIndex","screenLabel","logo","drawer","drawerOpen","overflowX","listStyle","transition","transitions","create","easing","sharp","enteringScreen","drawerClose","leavingScreen","breakpoints","up","toolbar","mixins","nested","itemText","MiniDrawer","currentMenus","useTheme","isError404","myMenus","setMyMenus","myRoutes","setMyRoutes","handleDrawerClose","closeDrawer","getNestedChildren","parent","out","newArray","CanViewDepots","CanViewVehicles","menusFromApi","possibleMenusFlat","mi","menuConfig","screenURL","screenAuthType","Icons","portalSettingLogo","Drawer","isDrawer","handler","isFiltered","subOption","ListItemIcon","opneDrawer","timeout","unmountOnExit","activeClassName","DashNotification","deletedMenu","reportingMenu","settingMenu","currentTarget","anchorEl","setAnchorEl","Boolean","activeVehicles","unassignedJobs","isAccess","CommonPopover","handleCloseReporting","onCloseHandler","Popover","anchorOrigin","vertical","horizontal","transformOrigin","MenuList","MenuItem","tempPop","tempPopClose","reportingCurrentTarget","deleteCurrentTarget","settingCurrentTarget","appBar","appBarShift","menuButton","hide","logoutBtn","VerticalAlign","BoxSizing","AlignItems","shape","fade","searchIcon","pointerEvents","inputRoot","inputInput","RouterAndView","itemArray","PhoneIphone","isShow","AccessTime","Email","setDrawerOpen","openSign","setOpenSign","openSignRem","setOpenSignRem","passReset","setPassReset","getSignNotifiedStatus","getSignatureStatus","setSignNotifiedStatus","postSignData","resSign","setSignature","handleDrawerOpen","changePass","filterVehicleId","filterVehicleMakeModel","vehicleReg","AppBar","Toolbar","InputBase","backdrop","LoaderSpinner","showMsg","isVisible","createPortal","Backdrop","Chip","Toaster","Snackbar","autoHideDuration","hideToast","ResetPasswordComp","ForgotPasswordComp","setEmail","PageLevelComponents","hashPaths","getHashPathParts","ChangePassword","hash","Loader","GenericModal","App","AppContextProvider","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","StrictMode","storage","getName","setting","setItem","stringify","removeItem","getLastLogin","getUserRoles","loginInfoUpdatedAt","now","defaultSignature","signatureStatus","access","saveFileUploaderConfig","Name","getFileUploaderConfig","portalSetting","setSignatureStatus","vl","TextBox","InputTextWithMemo","memo","configFromStorage","getConfigIdFromName","AddButton","EditButton","disableHoverListener","DeleteButton","CustomIconButton","CustomColorButton","CustomNewColorButton","DefaultButton","PrimaryButton","SecondaryButton","YesButton","NoButton","PassAllbutton","Pass","Fail","NABtn","MBtn","RBtn","tempObj","hgv","hgvLogo","van","vanLogo","trailer","trailerLogo","psv","busLogo","car","locationLogo","Geocode","setApiKey","setLanguage","setLocationType","enableDebug","GetAgentLocation2","vehcileCategoriesLogo","google","mapLocation","FilterList","tempFilterList","filterRecoveryAgent","serviceagent","recoveryAgent","activeMarker","showingInfoWindow","currentLat","currentLang","arr_facilities","facilitiId","zoom","initMap","isLastEventIsClicked","maps","Map","center","lat","lng","infoWindow","InfoWindow","disableAutoPan","addListener","markers","locatinAddress","contentString","marker","Marker","anchor","scaledSize","setContent","close","MarkerClusterer","deg2rad","deg","PI","urls","fetch","resp","texts","eval","fetchCurrentLocation","fromAddress","results","geometry","dLat","dLon","sin","cos","atan2","sqrt","tempServiceFacList","tempIndex","getLocation","searchHandle","f","getFilesForConfig","configId","uploadFileUsignUploaderConfig","updateName","uniqueFileName","newName","deleteUploadedFile","downloadUploadedFile","fileNameFull","maximumFractionDigits","isSameWeek","isSame","isSameMonth","SimpleField","searchTimer","DataGrid","pagedIndex","pagedData","sortColumns","setSortColumns","finalRow","setFinalRow","setFilteredRow","filterd","t","rw","sortedRows","getComparator","sortColumn","compResult","columnKey","comparator","tempo","chunk","splitIntoChunk","finalRows","isGridBtn","getFilterVal","clearTimeout","searchBoxClassName","mapBtnLabel","emptyRowsRenderer","EmptyRowsRenderer","defaultColumnOptions","onSortColumnsChange","onRowClick","showFirstButton","showLastButton","showIcon","PasswordField","showPass","setShowPass","TextField","passField","Visibility","VisibilityOff","UnderlyingCheckBox","isPrimary","Checkbox","CustomCheckBox","PrimaryCheckbox","SecondaryCheckbox","SelectBox","dropdownValueName","select","BreadCrumbs","Breadcrumbs","separator","tabStyle","tabWidth","getTabAndPanelId","controlId","tabId","panelId","TabPanel","selectedTabIndex","TabComponent","Tabs","indicatorColor","scrollButtons","newValue","Tab","aria-controls","dark","contrastText","pxToRem","AccordionComponent","expand","setExpand","Accordion","isExpanded","AccordionSummary","expandIcon","AccordionDetails","accKey","defaultProps","TimePicker","Singleselect","autoSelect","getOptionLabel","renderInput","exampleWrapper","speedDial","getPostCodeDetails","ul","listSection","Postcode","postCodeList","setpostCodeList","setCode","setloader","PostCodeValue","TrimCode","getVal","AppButtonGroup","btnContainer","ConvertOps","ops","ToggleButtonGroup","exclusive","ToggleButton","DialogWithoutStaticHeader","DialogContent","getAllInternalDash","SimpleRating","passwordValidateRegex","_ENV_","getConstants","prop","GB","IE","pattern","multiEmailTest","Multiselect","getOptionSelected","basicColumns","UploaderModal","AccessConfig","ScheduleDocuments","CanUploadCustomerDocuments","getAccessValue","useToastRef","useLoginInfoRef","loading","inEdit","inDelete","fileToAction","currentFiles","getFiles","uploadSelectedFile","showDeleteConfirm","uniqFileName","UniqueFileName","FileName","hideModal","actionButtons","Edit","CanDeleteDocuments","Delete","updateFileToServer","confirmDelete","gridColumns","fn","FileExt","CloudUpload","Check","FileUploaderButton","showUploader","hideFileUploader","PermMedia","LoaderState","setIsVisible","setMessages","msgs","oldMsgs","ind","ToastState","setText","setSeverity","showToast","showToastInfo","DialogState","setDialogState","setCommonState","DatePicker","InputLabelProps","DateTimePicker","CustomChip","chipBtnContainer","ChipWithoutLable","server","prod","defaultOptions","baseURL","validateStatus","instance","axios","interceptors","request","use","config","useAuthToken","generateRoutingURL","put","warn","statusText"],"mappings":"+OAQMA,EAAiB,CACnBC,YAAa,GAGjB,SAASC,EAAeC,GACpB,OACI,cAAC,IAAD,CAAWC,OAAO,0BAA0BC,OAAQ,mCAApD,SACI,cAAC,IAAD,eAAWF,MA2BRG,IAvBE,SAAC,GAA0G,IAAxGC,EAAuG,EAAvGA,MAAOC,EAAgG,EAAhGA,SAAUC,EAAsF,EAAtFA,OAAQC,EAA8E,EAA9EA,QAA8E,IAArEC,gBAAqE,MAA1D,KAA0D,MAApDC,gBAAoD,MAAzC,SAAyC,MAA/BC,cAA+B,MAAtB,OAAsB,EAAXC,EAAW,sFACvH,OACI,mCACI,eAAC,IAAD,yBAAQJ,QAASA,EAASR,eAAgBA,EAAgBa,kBAAgB,yBAAyBC,MAAM,EAAML,SAAUA,GAAcG,GAAvI,cACI,eAAC,IAAD,CAAKG,QAAQ,OAAOC,WAAW,SAASC,MAAO,CAAEC,SAAUb,EAAQ,WAAa,WAAYc,MAAO,OAAnG,UACI,cAAC,IAAD,CAAKC,SAAU,EAAGH,MAAO,CAAEI,OAAQ,QAAUC,GAAG,yBAAhD,SACKjB,GAAS,cAAC,IAAD,CAAaY,MAAOL,EAAKW,WAAzB,SAAsClB,OAElDO,EAAKY,iBACH,cAAC,IAAD,UACI,cAAC,IAAD,CAAYC,QAASjB,EAASS,MAAOnB,EAArC,SACI,cAAC,IAAD,WAKhB,cAAC,IAAD,CAAemB,MAAO,CAAEP,SAAUA,EAAUC,OAAQA,GAApD,SAA+DL,IAC9DC,GAAU,cAAC,IAAD,UAAgBA,Y,gCCpC3C,qDAGamB,EAAW,WACpB,IAAMC,EAAMC,qBAAWC,KACvB,OAAOF,GAAOA,EAAIG,a,uLCclBC,E,0bCVSC,EAAwB,SAAC/B,GAClC,MAA0BgC,qBAA1B,mBAAcC,GAAd,WACMC,EAAc,SAACC,GACjBF,EAAS,CAAEG,SAAUD,IACP,IAAVA,GACAnC,EAAMqC,YACNrC,EAAMO,YACW,IAAV4B,GAGU,IAAVA,KAFPnC,EAAMsC,SAAS,KAAMH,GACrBnC,EAAMO,YAMd,OACI,mCACI,eAACgC,EAAA,EAAD,CAAQ1B,MAAM,EAAMD,kBAAgB,qBAAqB4B,mBAAiB,2BAA1E,UACI,cAACC,EAAA,EAAD,CAAapB,GAAG,qBAAhB,uDACA,cAACqB,EAAA,EAAD,UACI,eAACC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAE8B,QAAS,QAA9C,UACI,cAACH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAACC,EAAA,EAAD,CAAQzB,QAAS,kBAAMU,EAAY,IAAIgB,MAAM,UAAUC,QAAQ,YAAYC,WAAS,EAApF,mBAIJ,cAACT,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAACC,EAAA,EAAD,CAAQzB,QAAS,kBAAMU,EAAY,IAAIgB,MAAM,YAAYC,QAAQ,YAAYC,WAAS,EAAtF,kBAIJ,cAACT,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAACC,EAAA,EAAD,CAAQzB,QAAS,kBAAMU,EAAY,IAAIiB,QAAQ,YAAYC,WAAS,EAACpC,MAAO,CAAEqC,WAAY,UAAWH,MAAO,SAA5G,gCAqGbI,GA1FO,SAACtD,GACnB,MAA0BgC,mBAAS,CAAEuB,eAAgB,KAAMC,eAAe,IAA1E,mBAAOC,EAAP,KAAcxB,EAAd,KACMyB,EAAaC,mBAwBnBC,qBAAU,WACN3B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBC,OAAQC,IAAWC,eAAgBR,cAA6C,WAA9BO,IAAWC,sBACzF,IAEH,IAAMC,EAAU,uCAAG,sBAAAC,EAAA,sDAEfT,EAAMF,gBAAkBvD,EAAMsC,SAASmB,EAAMF,eAAgB,IAC5DE,EAAMF,gBAAkBE,EAAMD,gBAAkBxD,EAAMO,UAHxC,2CAAH,qDAKhB,OACI,mCACI,eAACoC,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,sBAAKhC,MAAO,CAAEC,SAAU,YAAxB,UACI,cAACkD,EAAA,EAAD,CAAYC,QAAM,EAAlB,uBACA,qBACIpD,MAAO,CACHC,SAAU,WACVC,MAAO,GAHf,SAMI,cAACmD,EAAA,EAAD,CAASjE,MAAM,kBAAf,SACI,cAAC,IAAD,CACIoB,QA9ClB,WACVS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELN,eAAgB,KAChBC,eAAe,EACfM,OAAQ,eAEgBQ,KAAd,OAAVZ,QAAU,IAAVA,OAAA,EAAAA,EAAYa,WACF,OAAVb,QAAU,IAAVA,KAAYa,QAAQC,UAuCIxD,MAAO,CACHI,OAAQ,UACRqD,UAAW,SAK1BhB,EAAMD,cACH,qBAAKkB,IAAKjB,EAAMK,OAAQa,UAAU,eAAeC,IAAI,qBAErD,qBAAKD,UAAU,eAAf,SACI,cAAC,IAAD,CACIE,IAAKnB,EACLoB,YAAa,CAAEH,UAAW,UAC1BI,MAAO,YAlDb,WACtB,IAAIC,EAASvB,EAAMuB,OACnB/C,GAAS,SAAC4B,GAMN,OALS,2BACFA,GADE,IAELN,eAAgBG,EAAWa,QAAQU,YACnCD,OAAQA,OA6CgBE,IAEJC,eAAe,WAMnC,cAACxC,EAAA,EAAD,CAAMK,GAAI,GAAV,SAEI,cAACoC,EAAA,EAAD,CAAgBC,OAAK,EAArB,yDAEJ,eAAC1C,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,UAAW,GAAhD,UACI,cAAC9B,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAjB,SACI,cAAC,IAAD,CAAiBvB,QAASyC,EAA1B,oBAEJ,cAACtB,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAjB,SACI,cAAC,IAAD,CAAiBvB,QAASxB,EAAMO,QAAhC,+B,QCpIX+E,GAAa,uCAAG,WAAOC,GAAP,eAAArB,EAAA,sEACTsB,aAAa,iBAAkB,CAAEC,UAAWF,IADnC,cACrBG,EADqB,yBAElBA,GAFkB,2CAAH,sDAKbC,GAAmB,uCAAG,WAAOC,GAAP,eAAA1B,EAAA,sEACf2B,aAAY,uBAAD,OAAwBD,IADpB,cAC3BF,EAD2B,yBAExBA,GAFwB,2CAAH,sD,yCCHnBI,I,OAA4B,uCAAG,WAAOzE,GAAP,eAAA6C,EAAA,sEACxB6B,aAAY,+CAAD,OAAgD1E,IADnC,cACpCqE,EADoC,yBAEjCA,GAFiC,2CAAH,uDAK5BM,GAAuBC,mBAAO,sBAAC,4BAAA/B,EAAA,sEACxB6B,aAAY,qCADY,cACpCL,EADoC,yBAEjCA,GAFiC,4CAmB/BQ,GAAwB,uCAAG,WAAO7E,GAAP,eAAA6C,EAAA,sEACpB6B,aAAY,qBAAD,OAAsB1E,IADb,cAChCqE,EADgC,yBAE7BA,GAF6B,2CAAH,sDAKxBS,GAAoB,uCAAG,WAAO9E,GAAP,eAAA6C,EAAA,sEAChB6B,aAAY,wBAAD,OAAyB1E,IADpB,cAC5BqE,EAD4B,yBAEzBA,GAFyB,2CAAH,sDAKpBU,GAAoB,uCAAG,WAAOC,EAAM5C,GAAb,mBAAAS,EAAA,sEAChBsB,aAAa,oBAAqB,CAC9Cc,SAAUD,EAAKC,SACfC,gBAAiBF,EAAKG,UACtBC,eAAgBJ,EAAKK,cACrBC,cAAeN,EAAKO,QACpBC,uBAAsB,UAAER,EAAKS,2BAAP,aAAE,EAA0BzF,GAClD0F,eAAgBV,EAAKW,kBACrBC,oBAAqBZ,EAAKa,cAC1BC,kBAAmBd,EAAKe,WACxBC,iBAAkBhB,EAAKiB,WACvBC,sBAAuBlB,EAAKmB,YAC5BC,kBAAmBpB,EAAKqB,gBACxBC,sBAAuBtB,EAAKuB,gBAC5BC,oBAAqBxB,EAAKwB,oBAC1BC,UAAWzB,EAAKyB,UAChBC,oBAAqB1B,EAAK2B,cAC1BC,yBAA0B5B,EAAK6B,mBAC/BC,yBAA0B9B,EAAK+B,kBAC/BC,qBAAsBhC,EAAKiC,UAC3BC,yBAA0BlC,EAAKmC,OAC/BC,yBAA0BpC,EAAKqC,2BAC/BC,WAAYtC,EAAKsC,WACjBC,oBAAqBvC,EAAKwC,cAC1BC,wBAAuB,UAAEzC,EAAK0C,qBAAP,aAAE,EAAoB1H,GAC7C2H,wBAAyB3C,EAAK4C,kBAC9BC,mBAAoB7C,EAAK8C,aACzBC,gBAAiB/C,EAAK+C,gBACtBC,SAAU5F,EAAM6F,QAAQC,KAAI,qBAAGlI,QA5BH,cAC5BqE,EAD4B,yBA+BzBA,GA/ByB,2CAAH,wD,8BClCtB8D,GAAQ,uCAAG,WAAOC,GAAP,eAAAvF,EAAA,sEACFwF,aAAK,SAAU,CAC3BC,UAAWF,EAAUG,KACrBC,SAAUJ,EAAUI,WAHN,YACdnE,EADc,QAKVoE,QALU,uBAMd/F,IAAWgG,aAAarE,EAAIW,MANd,SAOR2D,eAPQ,gCASXtE,GATW,2CAAH,sDAYNuE,GAAsB,uCAAG,WAAO5I,EAAI6I,EAAOL,EAAUM,GAA5B,eAAAjG,EAAA,sEAClBwF,aAAK,mBAAD,OAAoBrI,GAAM,CAC1C+I,YAAaP,EACbQ,gBAAiBF,EACjBG,mBAAoBJ,IAJU,cAC9BxE,EAD8B,yBAM3BA,GAN2B,2CAAH,4DAStB6E,GAAc,uCAAG,mCAAArG,EAAA,6DAASsG,EAAT,EAASA,gBAAiBX,EAA1B,EAA0BA,SAAUQ,EAApC,EAAoCA,gBAApC,SACV7E,aAAa,kBAAmB,CAC5CgF,gBAAiBA,EACjBJ,YAAaP,EACbQ,gBAAiBA,IAJK,cACtB3E,EADsB,yBAMnBA,GANmB,2CAAH,sDASd+E,GAAqB,uCAAG,WAAOC,GAAP,eAAAxG,EAAA,sEACjBwF,aAAK,iBAAkB,CACnCgB,MAAOA,IAFsB,cAC7BhF,EAD6B,yBAI1BA,GAJ0B,2CAAH,sD,SC/BrBiF,GAAY,WAGvB,OAFwBhJ,qBAAYC,KAA5BgJ,aCDGC,GAAY,WAGvB,OAFwBlJ,qBAAYC,KAA5BkJ,aCQJC,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACF,QAAS,CACLC,OAAQF,EAAMpI,QAAQ,EAAG,SAsEtBuI,GAhEU,SAAUpL,GAE/B,MAA+DyB,eAAvD4J,EAAR,EAAQA,iBAAkBC,EAA1B,EAA0BA,eAAgBC,EAA1C,EAA0CA,iBAC1C,EAAmCZ,KAA3Ba,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,WACZC,EAAeb,KAAfa,WAEJC,EAAUZ,KAEd,EAAgC/I,mBAAS,CACrCwI,gBAAiB,GACjBX,SAAU,GACVQ,gBAAiB,KAHrB,mBAAKZ,EAAL,KAAgBmC,EAAhB,KAMA,SAASC,EAAYC,GACjB,IAAIC,EAAG,eACFD,EAAEE,OAAOpC,KAAOkC,EAAEE,OAAO7J,OAE9ByJ,GAAa,SAAA/H,GACT,OAAO,2BAAKA,GAAOkI,MAI3B,IAAME,EAAM,uCAAG,4BAAA/H,EAAA,yDACNuF,EAAUe,gBADJ,gBAEPa,EAAiB,gCAFV,0BAIDa,aAAiBzC,EAAUI,UAJ1B,gBAKPwB,EAAiB,uDALV,0BAOF5B,EAAUI,WAAaJ,EAAUY,gBAP/B,iBAQPgB,EAAiB,uDARV,+BAUPG,IAVO,UAWSjB,GAAed,GAXxB,QAWH/D,EAXG,OAYP+F,IACI/F,EAAIoE,SACJyB,EAAiB7F,EAAIyG,SACrBT,IACA1L,EAAMO,WAEN+K,EAAe5F,EAAI0G,UAlBhB,4CAAH,qDAuBZ,OACI,cAACC,GAAA,EAAD,CAAW7L,SAAS,KAApB,SACI,uBAAM8L,aAAa,MAAM3H,UAAWgH,EAAQT,KAA5C,UACI,cAAC,IAAD,CAAeqB,WAAW,EAAMC,MAAM,mBAAmBpJ,WAAS,EAACjB,MAAOsH,EAAUe,gBAAiBZ,KAAK,kBAAkB6C,SAAUZ,IACtI,cAAC,IAAD,CAAeW,MAAM,eAAepJ,WAAS,EAACjB,MAAOsH,EAAUI,SAAUD,KAAK,WAAW6C,SAAUZ,IACnG,cAAC,IAAD,CAAeW,MAAM,uBAAuBpJ,WAAS,EAACjB,MAAOsH,EAAUY,gBAAiBT,KAAK,kBAAkB6C,SAAUZ,IACzH,cAAC5I,EAAA,EAAD,CACIyJ,KAAK,SACLtJ,WAAS,EACTD,QAAQ,YACRD,MAAM,UACN1B,QAASyK,EALb,mCCrEHU,GAAoB,WAC7B,IAAMC,EAAiB7I,IAAW8I,oBAAsB,CAAEC,SAAS,GACnE,EAAwB9K,mBAAS,IAAjC,mBAAKyB,EAAL,KAAYxB,EAAZ,KAgBA,OAfA2B,qBAAU,WAAM,4CACZ,8BAAAM,EAAA,0DACQ0I,EAAeE,QADvB,gCAE0BC,aAAI,iBAF9B,OAEcrH,EAFd,QAGQ,UAAIA,EAAIW,YAAR,aAAI,EAAU2G,QAAQ,MAClBjJ,IAAWkJ,iBAAiBvH,EAAIW,KAAK2G,QAAQ,IAC7C/K,EAAS8B,IAAW8I,qBALhC,sBAQQ5K,EAAS8B,IAAW8I,oBAR5B,4CADY,uBAAC,WAAD,wBAYZA,KACD,IAEIpJ,G,iLCQIyJ,I,OAzBA,WACX,OAAO,eAACb,GAAA,EAAD,CAAW7L,SAAS,KAApB,UACH,sBAAKmE,UAAU,MAAf,UACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,KAAKiK,MAAM,SAASlK,MAAM,QAA9C,iBACA,cAACiK,GAAA,EAAD,CAAYhK,QAAQ,KAAKkK,QAAM,EAACD,MAAM,SAASlK,MAAM,QAArD,gCAEJ,sBAAKyB,UAAU,kBAAf,UACI,sBAAKA,UAAU,aAAf,UACI,qBAAKA,UAAU,QACf,qBAAKA,UAAU,QACf,qBAAKA,UAAU,UACf,qBAAKA,UAAU,YAEnB,qBAAKA,UAAU,QAAf,SACI,sBAAKA,UAAU,OAAf,UACI,qBAAKA,UAAU,QACf,qBAAKA,UAAU,cACf,qBAAKA,UAAU,eAGvB,qBAAKA,UAAU,mBCDZ2I,GArBJ,WACP,IAAMV,EAAiBD,KACjBY,EAAQX,EAAeY,oBACvBZ,EAAeY,oBADT,UAEHC,GAFG,YAEuBb,EAAec,0BAClD,OACI,qBAAK1M,MAAO,CAAEN,OAAQ,sBAAtB,SACI,qBAAKM,MAAO,CAAEN,OAAQ,QAAtB,SACI,qBACIgE,IAAK6I,EACL7M,OAAO,OACPiN,MAAM,OACN3M,MAAO,CACH4M,UAAW,gB,qBCN/BC,GAAe,CACfjE,KAAM,GACNC,SAAU,IAGRkB,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFzG,UAAWwG,EAAMpI,QAAQ,GACzB,QAAS,CACLsI,OAAQF,EAAMpI,QAAQ,EAAG,IAE7B,aAAc,CACVsI,OAAQF,EAAMpI,QAAQ,EAAG,EAAG,SA8DzBiL,GAzDC,SAAC9N,GACb,IAAM2L,EAAUZ,KAChB,EAAmCJ,KAA3Ba,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,WACpB,EAA6ChK,eAArC4J,EAAR,EAAQA,iBAAkBC,EAA1B,EAA0BA,eACpByC,EAAeC,eAAfD,WACN,EAAwB/L,mBAAS6L,IAAjC,mBAAKI,EAAL,KAAYhM,EAAZ,KAEIiM,EAAgB,SAAApC,GAChB,IAAIpK,EAAG,eACFoK,EAAEE,OAAOpC,KAAOkC,EAAEE,OAAO7J,OAE9BF,GAAS,SAAA4B,GAAE,kCAAUA,GAAOnC,OAGhC,SAASyM,EAAYrC,GACH,UAAVA,EAAEsC,KACFC,IAIR,IAAIA,EAAS,uCAAG,4BAAAnK,EAAA,0DACR+J,EAAMrE,OAAQqE,EAAMpE,SADZ,uBAER2B,IAFQ,SAGQhC,GAASyE,GAHjB,OAGJvI,EAHI,OAIR+F,IACI/F,EAAIoE,QACJ9J,EAAMsO,WAAatO,EAAMsO,YAEzBhD,EAAe5F,EAAIyG,SARf,uBAWRd,EAAiB,kCAXT,4CAAH,qDAeb,OAAO,oCACD0C,GAEE,uBAAMpJ,UAAWgH,EAAQT,KAAzB,UACI,cAAC,IAAD,CAAWqB,WAAW,EAAMnJ,WAAS,EAACoJ,MAAM,YAAYrK,MAAO8L,EAAMrE,KAAMA,KAAK,OAAO6C,SAAUyB,EAAeK,UAAWJ,IAC3H,cAAC,IAAD,CAAe/K,WAAS,EAACoJ,MAAM,WAAWrK,MAAO8L,EAAMpE,SAAUD,KAAK,WAAW6C,SAAUyB,EAAeK,UAAWJ,IACrH,cAAClL,EAAA,EAAD,CACIE,QAAQ,YACRD,MAAM,UACNE,WAAS,EACTuB,UAAWgH,EAAQ6C,OACnBC,UAAWR,EAAMrE,OAASqE,EAAMpE,SAChC6E,QAAS,cAAC,KAAD,IACTlN,QAAS6M,EAPb,yB,oBCjBDM,GAhCH,SAAA3O,GACR,IAAQ4O,EAAe/D,KAAf+D,WAcR,OAAO,mCACH,cAACzO,GAAA,EAAD,CAAYC,MAAM,SAASG,QARZ,WACfP,EAAM6O,QAAQC,KAAK,MAO6BtO,SAAS,KAAzD,SACA,eAAC6L,GAAA,EAAD,CAAW7L,SAAS,KAApB,UACI,cAAC,GAAD,CAAW8N,UAdD,WACdtO,EAAM6O,QAAQC,KAAK,KACnBC,OAAOC,SAASC,YAaZ,eAACtM,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,IAAE,EAAb,SACI,cAACkM,GAAA,EAAD,CAAMC,UAAU,SAAS3N,QAV1B,WACXxB,EAAM6O,QAAQC,KAAK,KACnBF,EAAWQ,IAAaC,iBAQ8BlM,QAAQ,QAAlD,gCAEJ,cAACR,EAAA,EAAD,CAAMI,MAAI,eCjCXuM,GAPA,SAAAtP,GAIX,OAHA+D,IAAWwL,gBACXvP,EAAM6O,QAAQC,KAAK,KACnBC,OAAOC,SAASC,SACT,yBCeIO,GAjBO,SAAAxP,GAClB,IAAQ4O,EAAe/D,KAAf+D,WACFa,EAAgB,WAClBzP,EAAM6O,QAAQC,KAAK,MAWvB,OATAlL,qBAAU,WACN,IAAM8L,EAAO,CACTrO,GAAIrB,EAAM2P,MAAMC,OAAOvO,GACvB6I,MAAO6E,OAAOC,SAASa,OAAOC,UAAU,GACxCL,iBAGJb,EAAWQ,IAAaI,cAAeE,KACxC,IACI,8B,4BCXEK,ICmB0CC,IAAWC,MACfD,IAAWE,cDpBrC,uCAAG,WAAO7O,GAAP,eAAA6C,EAAA,sEACR6B,aAAY,UAAD,OAAW1E,IADd,cACpBqE,EADoB,yBAEjBA,GAFiB,2CAAH,uDAKZyK,GAAa,uCAAG,WAAO9J,GAAP,eAAAnC,EAAA,sEACTsB,aAAa,SAAUa,GADd,cACrBX,EADqB,yBAElBA,GAFkB,2CAAH,sDAKb0K,GAAoB,uCAAG,WAAO/J,GAAP,eAAAnC,EAAA,sEAChB6B,aAAY,0BADI,cAC5BL,EAD4B,yBAEzBA,GAFyB,2CAAH,sDE4MlB2K,I,MA/MM,SAACrQ,GACpB,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAmCX,KAA3Ba,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,WAEpB,EAA0BzJ,mBAAS,CACjCsO,aAAa,EACbC,QAAS,KACTC,YAAa,GACbC,SAAU,GACVC,gBAAiB,GACjBC,uBAAwB,KACxBC,OAAQ,KAPV,mBAAOnN,EAAP,KAAcxB,EAAd,KAUA2B,oBAAS,sBAAC,kCAAAM,EAAA,0DACJlE,EAAM6Q,QADF,uBAENrF,IAFM,SAGUuE,GAAa/P,EAAM6Q,SAH7B,OAGFnL,EAHE,OAIN+F,IACI/F,EAAIoE,SACN7H,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEPiN,gBAAiBpL,EAAIW,KAAKyK,gBAC1BR,YAAa5K,EAAIW,KAAKiK,YACtBS,UAAWrL,EAAIW,KAAK0K,UACpBC,iBAAkBtL,EAAIW,KAAK2K,iBAC3BT,QAAS7K,EAAIW,KAAKkK,QAClBU,YAAavL,EAAIW,KAAK4K,YACtBT,YAAa9K,EAAIW,KAAKmK,YACtBU,WAAYxL,EAAIW,KAAK6K,WACrBP,uBAAwBjL,EAAIW,KAAKsK,uBACjCQ,uBAAwBzL,EAAIW,KAAK8K,uBACjCC,mBAAoB1L,EAAIW,KAAK+K,wBAlB3B,uBAsBgBhB,KAtBhB,QAsBJiB,EAtBI,QAuBQvH,UACRwH,EAAQD,EAAYhL,KAAKkL,MAAMhI,KAAI,SAACiI,GAAD,MAAQ,CAC/CnQ,GAAImQ,EAAEC,OACN7H,KAAM4H,EAAEV,oBAEJY,EAAcL,EAAYhL,KAAKsL,aAAapI,KAAI,SAACiI,GAAD,MAAQ,CAC5DnQ,GAAImQ,EAAEI,cACNhI,KAAM4H,EAAEL,2BAEVlP,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4M,SAAUa,EAAOZ,gBAAiBgB,QAhCvD,4CAkCP,IAEH,IAAMG,EAAc,SAAC/F,GACnB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAkB/B2P,EAAc,WAClB,IAAQf,EAA8EtN,EAA9EsN,UAAWC,EAAmEvN,EAAnEuN,iBAAkBC,EAAiDxN,EAAjDwN,YAAaT,EAAoC/M,EAApC+M,YAAaY,EAAuB3N,EAAvB2N,mBAE3DW,GAAc,EACdnB,EAAS,GAsBb,OArBKK,IACHL,EAAOK,YAAc,yBACrBc,GAAc,GAEXX,IACHR,EAAOQ,mBAAqB,yBAC5BW,GAAc,GAEXhB,IACHH,EAAOG,UAAY,yBACnBgB,GAAc,GAEXf,IACHJ,EAAOI,iBAAmB,yBAC1Be,GAAc,GAEXvB,EAAYwB,QAnBM,oBAmBoBC,KAAKzB,KAC9CI,EAAOJ,YAAP,8CACAuB,GAAc,GAEhB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAQHG,EAAa,uCAAG,8BAAAhO,EAAA,0DAChB4N,IADgB,uBAEdK,EAAW,CACb5B,QAAS9M,EAAM8M,QACfQ,UAAWtN,EAAMsN,UACjBC,iBAAkBvN,EAAMuN,iBACxBC,YAAaxN,EAAMwN,YACnBC,WAAYzN,EAAMyN,WAClBE,mBAAoB3N,EAAM2N,mBAC1BT,uBAAwBlN,EAAMkN,uBAC9BH,YAAa/M,EAAM+M,YACnBF,YAAa7M,EAAM6M,aAXH,SAaFH,GAAcgC,GAbZ,QAadzM,EAbc,QAcVoE,SACNyB,EAAiB7F,EAAIyG,SACrBnM,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAlBH,2CAAH,qDAuBnB,OACE,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAW,MAAOvP,QAAS,EAA3C,UACE,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACE,cAAC,IAAD,CACE2N,WAAW,aACXC,YAAY,aACZpQ,MAAOsB,EAAMsN,WAAa,GAC1BtE,SAAUoF,EACVjI,KAAK,YACLgH,OAAQnN,EAAMmN,OAAOG,cAGzB,cAACpO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACE,cAAC,IAAD,CACE2N,WAAW,cACXC,YAAY,cACZpQ,MAAOsB,EAAMuN,kBAAoB,GACjCvE,SAAUoF,EACVjI,KAAK,mBACLgH,OAAQnN,EAAMmN,OAAOI,qBAGzB,eAACrO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACE,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,kBAGA,cAAC,IAAD,CAAW5I,KAAK,cAAczH,MAAOsB,EAAMwN,aAAe,GAAIxE,SAAUoF,EAAaY,KAAMhP,EAAMgN,WACjG,cAACrL,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOK,iBAEtC,eAACtO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACE,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,0BAGA,cAAC,IAAD,CAAW5I,KAAK,qBAAqBzH,MAAOsB,EAAM2N,oBAAsB,GAAI3E,SAAUoF,EAAaY,KAAMhP,EAAMiN,kBAC/G,cAACtL,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOQ,wBAEtC,cAACzO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACE,cAAC,IAAD,CACEC,WAAW,sBACXC,YAAY,sBACZpQ,MAAOsB,EAAMkN,wBAA0B,GACvClE,SAAUoF,EACVjI,KAAK,6BAGT,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACE,cAAC,IAAD,CACE2N,WAAW,SACXC,YAAY,SACZpQ,MAAOsB,EAAM+M,aAAe,GAC5B/D,SAAUoF,EACVjI,KAAK,cACLgH,OAAQnN,EAAMmN,OAAOJ,gBAGzB,cAAC7N,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACG5O,EAAMyN,WACL,cAAC,IAAD,CACE1P,QAzHS,WACbiC,EAAMyN,YACRjP,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqN,WAAY,WAwHjClQ,MAAO,CACL2M,MAAO,MACP+E,cAAe,cAJnB,yBAUA,uBAAOhG,KAAK,OAAO9C,KAAK,cAAc6C,SA3I3B,SAACkG,GAClB,IAAIC,EAAS,IAAIC,WACjBD,EAAOE,OAAS,SAAChH,GACf,IAAQiH,EAAWjH,EAAEE,OAAb+G,OACR9Q,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqN,WAAY6B,QAEzCH,EAAOI,cAAcL,EAAM3G,OAAOiH,MAAM,KAqI4BC,OAAO,cAGzE,cAACvQ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACE,cAAC,IAAD,CAAmBc,QAAS1P,EAAM6M,YAAa1G,KAAK,cAAc6C,SAnGlD,SAACX,GACrB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,EAAOuJ,QAiGsD3G,MAAM,kBAEnG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,2B,kGjBnMJkB,GAAIrE,OAAOqE,EA4RAC,GA1RG,SAACrT,GACf,IAAIsT,EAAWtT,EAAMuT,QAAQC,MAAK,SAACC,GAAD,MAAiB,WAAVA,EAAErF,OAqBrCzC,EAnBYX,aAAW,SAACC,GAAD,MAAY,CACrCyI,UAAW,CACP,iCAAkC,CAC9B5Q,QAAS,SAAC9C,GACN,OAAOA,EAAMsT,SAAW,oBAAsB,4BAe9CvI,CAAU,CAAEuI,SAAUA,IAClCpJ,EAAQnG,IAAW4P,WACjBC,EAAKnS,eACLoS,EAAM7F,eACZ,EAA0BhM,mBAAS,CAC/B8R,SAAU9T,EAAM8T,SAChBC,UAAU,GAAD,OAAK/T,EAAM+T,WAAa,GACjCC,WAAYhU,EAAMiU,uBAClBV,QAAS,KAJb,mBAAO9P,EAAP,KAAcxB,EAAd,KAMA,EAAoCD,mBAAS,IAAIkS,MAAjD,mBAAOC,EAAP,KAAmBC,EAAnB,KAEMC,EAAuB,WACzBD,GAAc,SAACvQ,GAAD,mBAAC,eAAaA,GAAd,IAAkBsQ,WAAY,IAAID,WAGpDtQ,qBAAU,WACN,IA2BI0Q,EA1BWtU,EAAMuT,QAAQhK,KAAI,SAACkK,GAC9B,MAAc,WAAVA,EAAErF,KACFkF,GAAW,EACJ,CACHiB,OAAQd,EAAEc,OACVC,MAAOf,EAAErF,IACThO,MAAOqT,EAAE7J,KACT+D,MAAO8F,EAAE9F,MACT8G,SAAU,SAACtS,EAAOuS,GAAR,OAAiBjB,EAAEkB,UAAYlB,EAAEkB,UAAUxS,EAAOuS,GAAOvS,GACnEyS,oBAAqBnB,EAAEmB,sBAIpB,CACHL,OAAQd,EAAEc,OACVC,MAAOf,EAAErF,IACThO,MAAOqT,EAAE7J,KACT+D,MAAO8F,EAAE9F,MACT8G,SAAU,SAACtS,EAAOuS,GAAR,OAAiBjB,EAAEkB,UAAYlB,EAAEkB,UAAU,CAAED,MAAKG,OAAQ,CAAEzG,IAAKqF,EAAErF,IAAKxE,KAAM6J,EAAE7J,OAAU,CAAEkL,SAAS,IAAU3S,GACzH4S,WAA6B,OAAjBtB,EAAEsB,WACdC,UAAyB,IAAfvB,EAAEuB,eAAoC1Q,IAAfmP,EAAEuB,SACnC5H,MAAOqG,EAAErG,OAAS,WAKN7D,KAAI,SAACkK,GAAD,mBAAC,eAAYA,GAAb,IAAgBwB,eAAgB,kBAC5D,GAAIX,EAAKtC,OAAS,GAAKhS,EAAMkV,aAAelV,EAAMiU,wBAA0BkB,aAAcnV,EAAMiU,wBAAyB,CACrH,IAAMmB,EAAYd,EAAKd,MAAK,SAACC,GAAD,OAAOA,EAAEmB,uBACrC,GAAIQ,EAAW,CACX,IAAMC,EAAUD,EAAUX,SACtBa,EAAe,SAAC1F,EAAQ7D,GACxB,IAAMwJ,EAAOC,SAASC,cAAc,QAC9BC,EACF,eAAC/S,EAAA,EAAD,CACIC,WAAS,EAET7B,WAAW,SAHf,UAKI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAElB,YAAa,OAAQ6V,WAAY,OAArD,SAEQ,cAAC,KAAD,CACI/B,GAAIA,EACJC,IAAKA,EACLE,UAAWhI,EAAIgI,UACfD,SAAU/H,EAAI/L,EAAMkV,aACpBjB,uBAAwBjU,EAAMiU,uBAC9B2B,WAAYvB,EACZwB,uBAAwB7V,EAAM6V,uBAC9BC,YAAkC,iBAArB9V,EAAMkV,gBAI/B,cAACvS,EAAA,EAAD,CAAMI,MAAI,EAAV,SAAYsS,EAAQzF,EAAQ7D,QAIpC,OADAgK,IAASC,OAAON,EAAMH,GACfA,GAEXH,EAAUX,SAAWa,OAEtB,CACH,IAAMF,EAAYd,EAAKd,MAAK,SAACC,GAAD,MAAkB,UAAXA,EAAEe,SACrC,GAAIY,EAAW,CACX,IAAMC,EAAUD,EAAUX,SACtBa,EAAe,SAAC1F,EAAQ7D,GACxB,IAAMwJ,EAAOC,SAASC,cAAc,QAC9BC,EAAOL,EAAQzF,EAAQ7D,GAE7B,OADAgK,IAASC,OAAON,EAAMH,GACfA,GAEXH,EAAUX,SAAWa,GAG7BrT,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB0P,QAASe,SACrC,CAACtU,EAAMuT,QAASY,IAEnBvQ,oBAAS,sBAAC,sBAAAM,EAAA,sDACFT,EAAM8P,QAAQvB,OAAS,GACvBiE,IAFE,2CAIP,CAACxS,EAAM8P,QAASvT,EAAMkW,SAAUlW,EAAMmW,SAEzC,IAAMF,EAA8B,uCAAG,4BAAA/R,EAAA,sDACnC6K,OAAOqE,EAAP,WAAa3P,EAAMpC,KAAM+U,KAAK,WAAW,GAAM,GAE/CC,YAAW,WAEP,GAAIrW,EAAMsW,UAAW,CACjB,IAAIC,EAAqB,CACrBC,iBAAkBxW,EAAMsW,UAAUE,kBAAoB,GACtDC,oBAAqBzW,EAAMsW,UAAUG,qBAAuB,GAC5DC,UAAW1W,EAAMsW,UAAUI,WAAa,GACxCC,mBAAoB3W,EAAMsW,UAAUK,oBAAsB,IAE9D3W,EAAMuT,QAAQqD,SAAQ,SAACC,GACnB,GAAIN,EAAoB,CACpB,IAAIlV,EAAK+R,GAAEtR,GAAOgV,KAAK,MAEnBC,EAAY3D,GADD,IAAM/R,EAAK,iCAE1B,GAA2B,GAAvB+R,GAAE2D,GAAW/E,OAAa,CAC1B,IAAIgF,EAAW,6BAAwBH,EAAIzI,KAAQ,KAC/C6I,EAAc7D,GAAE2D,GAAWvD,KAAKwD,GAChC5D,GAAE6D,GAAajF,QAAUuE,EAAmB,GAAD,OAAIM,EAAIzI,QACnDgF,GAAE6D,GAAalL,IAAIwK,EAAmB,GAAD,OAAIM,EAAIzI,OAC7CtM,EAAMuE,OAAOuJ,OAAOiH,EAAIzI,KAAOmI,EAAmB,GAAD,OAAIM,EAAIzI,YAU7EtM,EAAMmN,YAGJiI,EAAgB,SAAUC,GAC5BrV,EAAMkU,OAAOhW,EAAMoX,cAAcD,MAGrCrV,EAAQiN,OAAOqE,EAAP,WAAa3P,EAAMpC,KAAM+U,KAAzB,yBACJiB,WAAY,CACRC,IAAI,GAAD,OAAKC,KAAL,gBAAuBvX,EAAMmW,QAChCqB,QAAS,CAAEC,cAAc,UAAD,OAAYvN,GAASvB,WAAYoG,OAAOC,SAAS0I,KAAKC,SAAS,aAAe,YAAc5I,OAAOC,SAAS0I,MACpI5N,QAASoN,IAEU,OAAnBlX,EAAM4X,UAAqB,CAAEA,SAAU,OANvC,IAQJC,aAAc,CACVnL,KAAM,YAGV6G,QAAQ,aAAK9P,EAAM8P,SACnBuE,MAAO,CACHC,MAAO,QAITC,GAAG,aAAa,SAAUlM,EAAGmM,EAASC,GACxC,IAAMC,EAAgB3C,SAASC,cAAc,QACvC2C,EACF,eAACzV,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,eAAxB,UACKrY,EAAMsY,UACH,cAAC3V,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,YAArB,SAEI,cAAC,KAAD,CAAkB4T,KAAMC,KAAShX,QAASxB,EAAMyY,WAAYzX,MAAO,CAAE0X,WAAY,QAAUC,aAAc3Y,EAAMsY,aAKtHtY,EAAM4Y,gBACH,cAACjW,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,YAArB,SAEI,cAAC,KAAD,CACI4T,KAAMvY,EAAM6Y,cACZrX,QAASxB,EAAM8Y,iBACf9X,MAAO,CAAE0X,WAAY,QACrBC,aAAc3Y,EAAM4Y,mBAgB/B5Y,EAAM+Y,oBACH,cAACpW,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,YAArB,SACI,cAAC,KAAD,CACI4T,KAAMvY,EAAMgZ,WACZxX,QAASxB,EAAMiZ,cACfjY,MAAO,CAAE0X,WAAY,QACrBC,aAAc3Y,EAAM+Y,0BAMxChD,IAASC,OAAOoC,EAAgBD,GAGhCe,EAAepX,EAAO,SAFCqW,MAI3BrW,EAAMkW,GAAG,gBAAgB,SAAUlM,EAAGqN,EAAM9X,EAAI+X,GAC5CpZ,EAAMqZ,gBAAkBrZ,EAAMqZ,eAAevN,EAAGqN,EAAM9X,EAAI+X,MAE9DtX,EAAMmN,SAhH6B,2CAAH,qDAmH9BiK,EAAiB,SAAC9C,EAAMkD,EAAcC,GACxC,IAAIlY,EAAK+R,GAAEgD,GAAMU,KAAK,MAElBC,EAAY3D,GADD,IAAM/R,EAAK,iCAE1B,GAA2B,GAAvB+R,GAAE2D,GAAW/E,OAAa,CAC1B,IACIiF,EAAc7D,GAAE2D,GAAWvD,KADhB,4BAEXJ,GAAE6D,GAAajF,QACfoB,GAAE6D,GAAauC,YAAYD,KAIjCE,EAAkB,uCAAG,4BAAAvV,EAAA,sDACnBlE,EAAM0Z,kBACN1Z,EAAM0Z,kBAAkB5X,EAAMuE,OAAOuJ,QAEhC,QAAL,EAAA9N,SAAA,SAAO6X,YAAP,UAAsB3Z,EAAM4Z,gBAA5B,YAA+CC,OAASC,OAAO,qBAA/D,SAJmB,2CAAH,qDAOxB,OACI,cAACnX,EAAA,EAAD,CACIC,WAAS,EADb,SAII,eAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAIrR,MAAO,CAAEmK,OAAQ,YAAa1K,SAAU,OAAQQ,SAAU,YAAc0D,UAAWgH,EAAQ+H,UAAhI,UACK1T,EAAM4Z,iBACH,cAACjX,EAAA,EAAD,CACII,MAAI,EAEJ/B,MAAO,CAAE+Y,OAAQ,MAAOC,KAAM,OAAQC,OAAQ,GAAIhZ,SAAU,YAHhE,SAKI,cAACoD,EAAA,EAAD,CAASjE,MAAK,UAAKJ,EAAM4Z,gBAAkB5Z,EAAM4Z,gBAAkB,gBAAkBM,OAAK,EAA1F,SACI,cAACC,EAAA,EAAD,CAAYC,aAAW,SAASpZ,MAAO,CAAE8B,QAAS,OAAlD,SACI,cAAC,KAAD,CAAmBuX,SAAS,QAAQ7Y,QAASiY,UAK7D,uBAAOpY,GAAE,UAAKoC,EAAMpC,YkB7R9BiZ,GAAiB,CACnBC,cAAe,CAAE7Z,OAAQ,SACzB8Z,wBAAyB,CAAE7M,MAAO,OAAQ8M,UAAW,UACrDC,eAAgB,CAAE/M,MAAO,GAAIjN,OAAQ,OAAQia,eAAgB,SAC7DC,iBAAkB,CAAEH,UAAW,WAsB7BI,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,YAAaxE,KAAM,QAC1B,CAAEwE,IAAK,mBAAoBxE,KAAM,eACjC,CAAEwE,IAAK,yBAA0BxE,KAAM,QACvC,CAAEwE,IAAK,kBAAmBxE,KAAM,QAChC,CAAEwE,IAAK,aAAcxE,KAAM,OAAQ+K,UAzBnB,SAACtO,GAAU,IAAD,EACpByU,EAAMtF,SAASC,cAAc,QAC/BsF,EAAa,OAAG1U,QAAH,IAAGA,GAAH,UAAGA,EAAMqO,IAAIxD,kBAAb,aAAG,EAAsByG,SAAS,UAC7CqD,GAAU,OAAJ3U,QAAI,IAAJA,OAAA,EAAAA,EAAMqO,IAAIxD,YAClB,qBAAKlQ,MAAOsZ,GAAeE,wBAA3B,SACI,qBACI9V,IAAKqW,EAAa,OAAG1U,QAAH,IAAGA,OAAH,EAAGA,EAAMqO,IAAIxD,WAAa,iCAA2B7K,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAMqO,IAAIxD,YACjFtM,IAAK,OACL5D,MAAOsZ,GAAeI,mBAI9B,qBAAK1Z,MAAOsZ,GAAeE,wBAA3B,4BAIJ,OADAzE,IAASC,OAAOgF,EAAKF,GACdA,GASoD/F,WAAY,MACvE,CAAE3G,IAAK,yBAA0BxE,KAAM,kBACvC,CAAEwE,IAAK,cAAexE,KAAM,SAAUqR,eAAgBjL,IAAWkL,uBAAwBvG,UAAW3E,IAAWmL,uBAE7GC,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,SAAU0R,QAAQ,IAsEfC,GAnEK,WAChB,MAA0BvZ,mBAAS,CAAEwZ,aAAa,EAAOC,OAAQ,KAAMhJ,KAAM,GAAIjH,YAAY,IAA7F,mBAAO/H,EAAP,KAAcxB,EAAd,KAEA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNwX,IADM,2CAEP,IAEH,IAAMA,EAAS,uCAAG,sBAAAxX,EAAA,sDACdjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHJ,2CAAH,qDAOTyH,EAAa,SAACtV,EAAMqO,GACtB,OACI,qBAAK1T,MAAOsZ,GAAeM,iBAA3B,SACI,cAAC,IAAD,CAAYpZ,QAAS,kBAAMoa,EAAalH,IAAMiE,aAAa,kBAKjEpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAKnD,OAJIgH,IACAA,EAAUT,UAAYgH,GAGnBG,IACR,IAEGF,EAAe,SAAChM,GAClB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBgY,OAAM,OAAE7L,QAAF,IAAEA,OAAF,EAAEA,EAAQW,QAASiL,aAAa,QAGrEQ,EAAoB,SAACtW,GACvBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,OAC9C9V,GAAOgW,KAGLtb,EAAQqD,EAAMgY,OAAS,eAAiB,YAE9C,OACI,sBAAK9W,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQ,SACRmC,SAAS,YACTG,WAAY,kBAAImD,EAAa,OAC7B1F,SAAUzS,EAAMyS,WAGnBzS,EAAM+X,YACH,cAACrb,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMyb,GAAkB,IAAQxb,SAAS,KAAKC,SAAS,OAA1F,SACI,cAAC,GAAD,CAAcoQ,QAASpN,EAAMgY,OAAQlb,QAAS,kBAAMyb,GAAkB,QAE1E,SC9GHG,GAAW,uCAAG,WAAO9a,GAAP,eAAA6C,EAAA,sEACP6B,aAAY,SAAD,OAAU1E,IADd,cACnBqE,EADmB,yBAEhBA,GAFgB,2CAAH,sDAKX0W,GAAY,uCAAG,WAAO/V,GAAP,eAAAnC,EAAA,sEACRsB,aAAa,QAASa,GADd,cACpBX,EADoB,yBAEjBA,GAFiB,2CAAH,sDC0HV2W,GAzHkB,SAACrc,GAC9B,MAA0BgC,mBAAS,CAAE8O,gBAAiB,GAAIwL,YAAY,EAAMC,SAAU,GAAI9K,OAAQ,KAAMb,OAAQ,KAAhH,mBAAOnN,EAAP,KAAcxB,EAAd,KAEA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,0DACFlE,EAAMyR,OADJ,gCAEc0K,GAAYnc,EAAMyR,QAFhC,QAEE/L,EAFF,QAGMoE,QACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELgO,OAAQ/L,EAAIW,KAAKoL,OACjBX,gBAAiBpL,EAAIW,KAAKyK,gBAC1BwL,WAAY5W,EAAIW,KAAKiW,WACrBC,SAAU7W,EAAIW,KAAKkW,cAGvBjR,EAAe5F,EAAIyG,SAZrB,2CAeP,IAEH,IA+BM2F,EAAc,WAChB,IAAQhB,EAAoBrN,EAApBqN,gBACJiB,GAAc,EACdnB,EAAS,GAMb,OALKE,IACDF,EAAOE,gBAAkB,0BACzBiB,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAER0K,EAAW,CACb/K,OAAQhO,EAAMgO,OACdX,gBAAiBrN,EAAMqN,gBACvByL,SAAU9Y,EAAM8Y,SAChBD,WAAY7Y,EAAM6Y,YANR,SAQEF,GAAaI,GARf,QAQV9W,EARU,QASNoE,SACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAbT,2CAAH,qDAmBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAGwV,QAAQ,SAAStX,WAAW,SAAxE,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,cACX1I,KAAK,kBACLzH,MAAOsB,EAAMqN,gBACbrE,SArEU,SAACX,GACvB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,EAAOzH,QAoE7ByO,OAAQnN,EAAMmN,OAAOE,oBAG7B,eAACnO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,mBACCX,EAAM8Y,SACH,cAAC,IAAD,CACI/a,QApDD,WACXiC,EAAM8Y,UACNta,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB0Y,SAAU,WAmDzBvb,MAAO,CACH2M,MAAO,MACP+E,cAAe,cAJvB,yBAUA,uBAAOhG,KAAK,OAAO9C,KAAK,WAAW6C,SAzEjC,SAACkG,GACf,IAAIC,EAAS,IAAIC,WACjBD,EAAOE,OAAS,SAAChH,GACb,IAAQiH,EAAWjH,EAAEE,OAAb+G,OACR9Q,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,IAAe8Y,SAAUxJ,QAI1CH,EAAOI,cAAcL,EAAM3G,OAAOiH,MAAM,KAgE8BC,OAAO,eAGzE,cAACvQ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAmBmQ,QAAS1P,EAAM6Y,WAAY1S,KAAK,aAAa6C,SArFrD,SAACX,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAkF8D3G,MAAM,kBAEpG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMyR,OAAS,SAAW,cCvH9EgL,GAAkB,CACpBC,UAAW,CAAE/O,MAAO,GAAIjN,OAAQ,OAAQia,eAAgB,QAAShF,WAAY,QAC7EgH,mBAAoB,CAAEhP,MAAO,OAAQ8M,UAAW,UAChDmC,eAAgB,CAAEnC,UAAW,UAC7BoC,aAAc,CAAExC,SAAU,KAExBe,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,QAAS0R,QAAQ,IAiBvBT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,kBAAmBxE,KAAM,eAChC,CAAEwE,IAAK,WAAYxE,KAAM,OAAQ+K,UAjBd,SAACtO,GAAU,IAAD,EACvByU,EAAMtF,SAASC,cAAc,QAC/BsF,EAAa,OAAG1U,QAAH,IAAGA,GAAH,UAAGA,EAAMqO,IAAI6H,gBAAb,aAAG,EAAoB5E,SAAS,UAC3CqD,EAAM3U,EAAKqO,IAAI6H,SACjB,qBAAKvb,MAAOyb,GAAgBE,mBAA5B,SACI,qBAAKjY,IAAKqW,EAAgB1U,EAAKqO,IAAI6H,SAAW,yBAA2BlW,EAAKqO,IAAI6H,SAAU3X,IAAK,OAAQ5D,MAAOyb,GAAgBC,cAGpI,qBAAK1b,MAAOyb,GAAgBE,mBAA5B,4BAGJ,OADA5G,IAASC,OAAOgF,EAAKF,GACdA,GAMqDnN,MAAO,MAAOoH,WAAY,MACtF,CAAE3G,IAAK,aAAcxE,KAAM,cAAe+K,UAAW,SAAC7I,GAAD,OAAQA,EAAE4I,IAAI4H,WAAa,MAAQ,MAAO3O,MAAO,QAyF3FmP,GAtFa,SAAC9c,GACzB,MAA0BgC,mBAAS,CAC/BwZ,aAAa,EACbuB,UAAW,KACXtM,SAAU,GACVjF,YAAY,IAJhB,mBAAO/H,EAAP,KAAcxB,EAAd,KAOA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN8Y,IADM,2CAEP,IAEH,IAAMA,EAAY,uCAAG,sBAAA9Y,EAAA,sDACjBjC,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELyS,SAAU,IAAIhC,UAHD,2CAAH,qDAOZ+I,EAAe,SAAC5W,EAAMqO,GACxB,OACI,qBAAK/P,UAAU,kBAAkB3D,MAAOyb,GAAgBG,eAAxD,SACI,cAAC,IAAD,CAAYpb,QAAS,kBAAM0b,EAAiBxI,IAAMiE,aAAa,iBAKrEpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYsI,GAEnBnB,IACR,IAEG1b,EAAQqD,EAAMgY,OAAS,cAAgB,WAEvCyB,EAAmB,SAACtN,GACtB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,EAAMC,OAAM,OAAE7L,QAAF,IAAEA,OAAF,EAAEA,EAAQ6B,aAGlE0L,EAAkB,SAACzX,GACrBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,OAC9C9V,GAAOsX,KAGX,OACI,sBAAKrY,UAAU,SAAf,UACI,qBAAK0N,GAAI,GAAT,SACI,cAAC,IAAD,CAAa+I,OAAQA,OAEzB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQ,QACRmC,SAAS,WACTG,WAAY,kBAAMyE,EAAiB,OACnChH,SAAUzS,EAAMyS,WAgBnBzS,EAAM+X,YACH,cAACrb,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAM4c,GAAgB,IAAzD,SACI,cAAC,GAAD,CAA0B1L,OAAQhO,EAAMgY,OAAQlb,QAAS,kBAAM4c,GAAgB,QAEnF,SCpHHC,GAAsB,uCAAG,WAAO/b,GAAP,eAAA6C,EAAA,sEAClB6B,aAAY,mBAAD,OAAoB1E,IADb,cAC9BqE,EAD8B,yBAE3BA,GAF2B,2CAAH,sDAKtB2X,GAAuB,uCAAG,WAAOhX,GAAP,eAAAnC,EAAA,sEACnBsB,aAAa,kBAAmBa,GADb,cAC/BX,EAD+B,yBAE5BA,GAF4B,2CAAH,sDCVvB4X,GAAmB,uCAAG,4BAAApZ,EAAA,sEACf6B,aAAY,gBADG,cAC3BL,EAD2B,yBAExBA,GAFwB,2CAAH,qDCoJjB6X,GAvIU,SAACvd,GACtB,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAmCX,KACnC,GADA,EAAQa,WAAR,EAAoBC,WACczJ,oBAAS,IAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAA0Bzb,mBAAS,CAC/B0b,kBAAmB,KACnBC,kBAAmB,GACnBC,2BAA4B,GAC5BC,eAAgB,GAChBC,iBAAkB,GAClBlN,OAAQ,KANZ,mBAAOnN,EAAP,KAAcxB,EAAd,KASA,EAAsCD,mBAAS,CAC3C+b,oBAAqB,OADzB,mBAAOC,EAAP,KAAoBC,EAApB,KAGAra,oBAAS,sBAAC,8BAAAM,EAAA,sEAC0BoZ,KAD1B,UACFY,EADE,OAENjc,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELia,iBAAkBI,EAAoB7X,KAAK4V,KAAK1S,KAAI,SAACiI,GAAD,MAAQ,CACxDnQ,GAAImQ,EAAE2M,eACNvU,KAAM4H,EAAE4M,0BAGZpe,EAAMqe,cATJ,gCAUcjB,GAAuBpd,EAAMqe,eAV3C,OAUE3Y,EAVF,OAWFzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+Z,2BAA4BlY,EAAIW,KAAKuX,2BACrCF,kBAAmBhY,EAAIW,KAAKqX,kBAC5BG,eAAgBnY,EAAIW,KAAKwX,eACzBF,kBAAmBjY,EAAIW,KAAKiY,aAC5BF,gBAAiB1Y,EAAIW,KAAK+X,qBAjB5B,2CAoBP,IAEHxa,qBAAU,WACN,IAAIma,EAAsB,KACtBta,EAAMka,oBACNI,EAAsBta,EAAMqa,iBAAiBtK,MAAK,qBAAGnS,KAAgBoC,EAAMka,sBAE/EM,GAAe,SAACpa,GAAD,mBAAC,eACTA,GADQ,IAEXka,oBAAqBA,SAE1B,CAACta,EAAMka,oBAEV,IAK4BY,EALtB1M,EAAc,SAAC/F,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAOjC2P,EAAc,WAChB,IAAQ8L,EAA+Cna,EAA/Cma,2BAA4BC,EAAmBpa,EAAnBoa,eAChC9L,GAAc,EACdnB,EAAS,GAcb,MAZK,QAAQqB,KAAK2L,KACdhN,EAAOgN,2BAA6B,yBACpC7L,GAAc,GAEb,QAAQE,KAAK4L,GAGN,WAAW5L,KAAK4L,KACxBjN,EAAOiN,eAAiB,kCACxB9L,GAAc,IAJdnB,EAAOiN,eAAiB,yBACxB9L,GAAc,GAKlB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGLG,EAAa,uCAAG,gCAAAhO,EAAA,0DACd4N,IADc,uBAERK,EAAW,CACbyL,2BAA4Bna,EAAMma,2BAClCF,kBAAmBja,EAAMia,kBACzBG,eAAgBpa,EAAMoa,eACtBS,aAAY,UAAEN,EAAYD,2BAAd,aAAE,EAAiC1c,IAEnDoc,GAAa,GARC,SASEJ,GAAwBlL,GAT1B,QASVzM,EATU,QAUNoE,SACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAhBC,2CAAH,qDAoBnB,OACI,eAAC9a,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAW,MAAOvP,QAAS,EAAG9B,WAAW,SAASsX,QAAQ,SAA1E,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CAAcjC,MAAO6b,EAAYD,oBAAqBtR,UAlDtC8R,EAkDmE,sBAlD5D,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SAiD4E0S,QAAShb,EAAMqa,mBAC1H,cAAC1Y,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0N,kBAExC,cAAC3b,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZpQ,MAAOsB,EAAMma,4BAA8B,GAC3CnR,SAAUoF,EACVjI,KAAK,6BACLgH,OAAQnN,EAAMmN,OAAOgN,+BAG7B,cAACjb,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,YACXC,YAAY,YACZpQ,MAAOsB,EAAMoa,eACbpR,SAAUoF,EACVjI,KAAK,iBACLgH,OAAQnN,EAAMmN,OAAOiN,mBAG7B,cAAClb,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiB+Z,YAAalB,EAAWhc,QAAS0Q,EAAlD,0BCvIVyM,GAAiB,CACnBnE,wBAAyB,CAAE7M,MAAO,OAAQ8M,UAAW,UACrDC,eAAgB,CAAE/M,MAAO,GAAIjN,OAAQ,OAAQia,eAAgB,SAC7DC,iBAAkB,CAAEH,UAAW,WAE7BW,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,OAAQ0R,QAAQ,GACxB,CAAE1R,KAAM,sBAAuB0R,QAAQ,IAgE5BsD,GA9De,WAC1B,MAA0B5c,mBAAS,CAAEwZ,aAAa,EAAO6C,cAAe,KAAM5L,KAAM,GAAIjH,YAAY,IAApG,mBAAO/H,EAAP,KAAcxB,EAAd,KAcMsR,EAAU,CACZ,CAAEnF,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,KAAMgH,UAT/B,SAACtO,EAAMqO,GACtB,OACI,qBAAK1T,MAAO2d,GAAe/D,iBAA3B,SACI,cAAC,IAAD,CAAYpZ,QAAS,kBAAMoa,EAAalH,IAAMiE,aAAa,8BAOnE,CAAEvK,IAAK,6BAA8BxE,KAAM,eAC3C,CAAEwE,IAAK,kBAAmBxE,KAAM,iBAChC,CACIwE,IAAK,iBACLxE,KAAM,YACNqR,eAAgBjL,IAAWkL,uBAC3BvG,UAAW3E,IAAWmL,qBACtBxN,MAAO,QAITiO,EAAe,SAAChM,GAClB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB4a,cAAa,OAAEzO,QAAF,IAAEA,OAAF,EAAEA,EAAQ8N,kBAAmBlC,aAAa,QAGtFqD,EAAoB,SAACnZ,GACvBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,OAC9C9V,GA9BAzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqS,SAAU,IAAIhC,WAiCvC9T,EAAQqD,EAAM4a,cAAgB,2BAA6B,wBAEjE,OACI,sBAAK1Z,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAM,kBACNiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,wBACTG,WAAY,kBAAMmD,EAAa,SAElCnY,EAAM+X,YACH,cAACrb,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMse,GAAkB,IAA3D,SACI,cAAC,GAAD,CAAkBR,cAAe5a,EAAM4a,cAAe9d,QAAS,kBAAMse,GAAkB,QAE3F,SCrEHC,GAAmB,uCAAG,WAAOzd,GAAP,eAAA6C,EAAA,sEACf6B,aAAY,gBAAD,OAAiB1E,IADb,cAC3BqE,EAD2B,yBAExBA,GAFwB,2CAAH,sDAKnBqZ,GAAoB,uCAAG,WAAO1Y,GAAP,eAAAnC,EAAA,sEAChBsB,aAAa,eAAgBa,GADb,cAC5BX,EAD4B,yBAEzBA,GAFyB,2CAAH,sDAKpBsZ,GAAuB,uCAAG,4BAAA9a,EAAA,sEACnB6B,aAAY,gCADO,cAC/BL,EAD+B,yBAE5BA,GAF4B,2CAAH,qDC4JrBuZ,GArKW,SAACjf,GACvB,MAA0BgC,mBAAS,CAC/Bkd,oBAAqB,GACrBC,uBAAwB,GACxBf,gBAAiB,GACjBgB,iBAAkB,GAClB1O,gBAAiB,GACjByN,eAAgB,KAChBvN,OAAQ,KAPZ,mBAAOnN,EAAP,KAAcxB,EAAd,KASA,EAAkCD,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAAsCzb,mBAAS,CAC3Cqd,YAAa,KACbC,mBAAoB,OAFxB,mBAAOtB,EAAP,KAAoBC,EAApB,KAIA,EAA6Cxc,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,kCAAAM,EAAA,sEACoB8a,KADpB,WACFO,EADE,QAEYzV,UACRsV,EAAmBG,EAAclZ,KAAKmZ,UAAUjW,KAAI,SAACxG,GAAD,MAAW,CACjE1B,GAAI0B,EAAK0c,WACT7V,KAAM7G,EAAK0T,wBAETiJ,EAAeH,EAAclZ,KAAKsL,aAAapI,KAAI,SAACxG,GAAD,MAAW,CAChE1B,GAAI0B,EAAK6O,cACThI,KAAM7G,EAAKoO,2BAEflP,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELub,iBAAkBA,EAClB1O,gBAAiBgP,SAGrB1f,EAAMme,eAjBJ,gCAkBcW,GAAoB9e,EAAMme,gBAlBxC,QAkBEzY,EAlBF,QAmBMoE,SACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL0a,eAAgBzY,EAAIW,KAAK8X,eACzBC,gBAAiB1Y,EAAIW,KAAK+X,gBAC1BuB,YAAaja,EAAIW,KAAKsZ,YACtBT,oBAAqBxZ,EAAIW,KAAKuZ,eAC9BT,uBAAwBzZ,EAAIW,KAAKwZ,kBACjCC,SAAUpa,EAAIW,KAAKyZ,cA3BzB,2CA+BP,IAEH,IAAMC,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAIhByB,qBAAU,WACN,IAAI6b,EAAa,KACbO,EAAY,KACZvc,EAAMyb,sBACNO,EAAahc,EAAM2b,iBAAiB5L,MAAK,qBAAGnS,KAAgBoC,EAAMyb,wBAElEzb,EAAM0b,yBACNa,EAAYvc,EAAMiN,gBAAgB8C,MAAK,qBAAGnS,KAAgBoC,EAAM0b,2BAEpElB,GAAe,SAACpa,GAAD,mBAAC,eACTA,GADQ,IAEXwb,YAAaI,EACbH,mBAAoBU,SAEzB,CAACvc,EAAMyb,oBAAqBzb,EAAM0b,yBAErC,IAAMc,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SAGrC+F,EAAc,WAChB,IAAQsM,EAAoB3a,EAApB2a,gBAEJrM,GAAc,EACdnB,EAAS,GAMb,MARwB,QAGDqB,KAAKmM,KACxBxN,EAAOwN,gBAAkB,yBACzBrM,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLmO,EAAkB,uCAAG,kCAAAhc,EAAA,0DACnB4N,IADmB,uBAEbqO,EAAmB,CACrBhC,eAAgB1a,EAAM0a,eACtBC,gBAAiB3a,EAAM2a,gBACvBuB,YAAalc,EAAMkc,YACnBC,eAAc,UAAE5B,EAAYqB,mBAAd,aAAE,EAAyBhe,GACzCwe,kBAAiB,UAAE7B,EAAYsB,0BAAd,aAAE,EAAgCje,GACnDye,SAAUrc,EAAMqc,UAEpBrC,GAAa,GAVM,SAWHsB,GAAqBoB,GAXlB,QAWfza,EAXe,QAYXoE,SACJyB,EAAiB,oCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAlBM,2CAAH,qDAsBxB,OACI,eAAC9a,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAGwV,QAAQ,SAAStX,WAAW,SAAxE,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAAC,IAAD,CACI2N,WAAW,cACXjR,GAAG,iBACHuI,KAAK,kBACLzG,QAAQ,WACRoP,YAAY,cACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM2a,gBACbxN,OAAQnN,EAAMmN,OAAOwN,oBAG7B,cAACzb,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,eACXjR,GAAG,iBACHuI,KAAK,cACL2I,YAAY,eACZpP,QAAQ,WACRsJ,SAAUsT,EACV5d,MAAOsB,EAAMkc,gBAGrB,cAAChd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,YACXjR,GAAG,iBACHuI,KAAK,WACL2I,YAAY,YACZpP,QAAQ,WACRsJ,SAAUsT,EACV5d,MAAOsB,EAAMqc,aAGrB,eAACnd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CAAcjC,MAAO6b,EAAYqB,YAAa5S,SAAUwT,EAAmB,eAAgBxB,QAAShb,EAAM2b,sBAE9G,eAACzc,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CAAcjC,MAAO6b,EAAYsB,mBAAoB7S,SAAUwT,EAAmB,sBAAuBxB,QAAShb,EAAMiN,qBAE5H,cAAC/N,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,aAArC,SACI,cAAC,IAAD,CAAiB+Z,YAAalB,EAAWhc,QAAS0e,EAAlD,SAAuElgB,EAAMme,eAAiB,SAAW,cC/JnH/C,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,OAAQ0R,QAAQ,GACxB,CAAE1R,KAAM,kBAAmB0R,QAAQ,IAGjC8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,kBAAmBxE,KAAM,eAChC,CAAEwE,IAAK,cAAexE,KAAM,eAAgB+D,MAAO,OACnD,CAAES,IAAK,eAAgBxE,KAAM,gBAAiB+D,MAAO,OACrD,CAAES,IAAK,yBAA0BxE,KAAM,eAAgB+D,MAAO,OAC9D,CAAES,IAAK,WAAYxE,KAAM,YAAa+D,MAAO,QAoElC0S,GAjEM,SAACrgB,GAClB,MAA0BgC,mBAAS,CAC/B8b,iBAAkB,GAClBwC,QAAQ,EACR9E,aAAa,IAHjB,mBAAO/X,EAAP,KAAcxB,EAAd,KAMM+a,EAAY,uCAAG,sBAAA9Y,EAAA,sDACjBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHD,2CAAH,qDAOZgJ,EAAmB,SAACtN,GACtB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,EAAM+E,OAAM,OAAE3Q,QAAF,IAAEA,OAAF,EAAEA,EAAQuO,qBAGlEqC,EAAmB,SAACna,EAAMqO,GAC5B,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAM0b,EAAiBxI,IAAMiE,aAAa,0BAKrEpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAY6L,GAEnBC,KAGLrgB,EAAQqD,EAAM8c,OAAS,uBAAyB,oBAEhDpD,EAAkB,SAACzX,GACrBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,OAC9C9V,GAAOsX,KAGX,OACI,sBAAKrY,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAO,eACPiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,oBACTG,WAAY,kBAAMyE,EAAiB,SAEtCzZ,EAAM+X,YACH,cAACrb,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAM4c,GAAgB,IAAQ3c,SAAS,KAA1E,SACI,cAAC,GAAD,CAAmB2d,eAAgB1a,EAAM8c,OAAQhgB,QAAS,kBAAM4c,GAAgB,QAEpF,SC5BDuD,GAjDW,SAAC1gB,GAAW,IAAD,EACnC,EAA0BgC,mBAAS,CACjC2e,WAAY,GACZC,OAAO,EACPvf,GAAI,OAHN,mBAAOoC,EAAP,KAAcxB,EAAd,KAcA,OACE,cAAC9B,GAAA,EAAD,CAAYC,MAAOJ,EAAMI,MAAOG,QAASP,EAAMO,QAASC,SAAS,KAAjE,SACE,eAACmC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACE,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,cACXC,YAAY,cACZhG,WAAS,EACTsU,QAAS,SAAClO,GACR1Q,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEP8c,WAAYhO,EAAM3G,OAAO7J,MACzBd,GAAIrB,EAAM8gB,WAAWza,KAAK0a,0BAG9BtU,SAAU,SAACkG,GACT1Q,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEP8c,WAAYhO,EAAM3G,OAAO7J,MACzBye,OAAO,QAGXI,aAAY,UAAEhhB,EAAM8gB,WAAWza,KAAK4a,oCAAxB,QAAwD,GACpErQ,OAAQnN,EAAMmd,MAAQ,yBAA2B,OAGrD,cAACje,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QApCR,WACU,KAArBiC,EAAMkd,WACR1e,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+c,OAAO,QAEL,QAA7B5gB,EAAM8gB,WAAWI,QAAoBlhB,EAAMmhB,cAAc,CAAEvb,GAAInC,EAAMpC,GAAI+f,KAAM3d,EAAMkd,aAAgB3gB,EAAMqhB,WAAW5d,EAAMkd,YAC5H3gB,EAAMO,YA+BF,SAAkE,QAA7BP,EAAM8gB,WAAWI,QAAoB,MAAQ,mBCpC/EI,GAAa,uCAAG,WAAOjb,GAAP,eAAAnC,EAAA,sEACTsB,aAAa,qBAAsBa,GAD1B,cACrBX,EADqB,yBAElBA,GAFkB,2CAAH,sDAIb6b,GAAe,uCAAG,WAAOlb,GAAP,eAAAnC,EAAA,sEACX2B,aAAY,sBAAD,OAAuBQ,EAAK0a,qBAAuB1a,GADnD,cACvBX,EADuB,yBAEpBA,GAFoB,2CAAH,sDCNtB0V,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,UAAW0R,QAAQ,GAC3B,CAAE1R,KAAM,uBAAwB0R,QAAQ,IAEtCT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,+BAAgCxE,KAAM,gBAyHlC4X,GAvHK,WAChB,MAA6C/f,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAA0BtJ,mBAAS,CAC/B5B,MAAO,2BACPiG,KAAM,GACN6a,QAAS,MACTO,QAAQ,EACRC,KAAM,GACNlW,YAAY,EACZ0K,SAAU,OAPd,mBAAO/T,EAAP,KAAcwf,EAAd,KAUMC,EAAW,uCAAG,sBAAA1d,EAAA,sDAChByd,GAAS,SAAC9d,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAwBXyH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,qBACI1T,MAAO,CACHyZ,UAAW,UAFnB,SAKI,cAAC,IAAD,CACI9B,aAAa,2BACbnX,QAAS,WACLmgB,GAAS,SAAC9d,GAAD,mBAAC,eACHA,GADE,IAELzD,MAAO,2BACP8gB,QAAS,eACTO,QAAQ,EACRpb,KAAMqO,aAQxBnB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IACGuF,EAAU,uCAAG,WAAOlf,GAAP,eAAA+B,EAAA,sEACCod,GAAc,CAAEL,6BAA8B9e,IAD/C,OACX0f,EADW,OAEfD,IACIC,EACAA,EAAI/X,QAAUyB,EAAiBsW,EAAI1V,SAAW,mCAAqCb,EAAeuW,EAAI1V,SAAW,wBAEjHb,EAAe,wBANJ,2CAAH,sDASV6V,EAAa,uCAAG,WAAOhf,GAAP,eAAA+B,EAAA,sEACFqd,GAAgB,CAC5BR,oBAAqB5e,EAAMyD,GAC3Bqb,6BAA8B9e,EAAMif,OAHtB,OACdS,EADc,OAKlBD,IACIC,EACAA,EAAI/X,QAAUyB,EAAiBsW,EAAI1V,SAAW,qCAAuCb,EAAeuW,EAAI1V,SAAW,wBAEnHb,EAAe,wBATD,2CAAH,sDAenB,OACI,sBAAK3G,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAXF,qBAYEmC,SAAS,0BACTG,WA5EU,WAClBkJ,GAAS,SAAC9d,GAAD,mBAAC,eACHA,GADE,IAELzD,MAAO,2BACPiG,KAAM,GACN6a,QAAS,MACTO,QAAQ,QAuEJvL,SAAU/T,EAAM+T,WAGnB/T,EAAMsf,OACH,cAAC,GAAD,CACI9c,UAAU,mBACVpE,QA1FI,WAChBohB,GAAS,SAAC9d,GAAD,mBAAC,eACHA,GADE,IAEL4d,QAAQ,QAwFArhB,MAAO+B,EAAM/B,MACb0gB,WAAY3e,EACZkf,WAAYA,EACZF,cAAeA,IAEnB,SCpIHW,GAAmB,uCAAG,4BAAA5d,EAAA,sEACjB6B,aAAY,iBADK,cAC7BL,EAD6B,yBAE1BA,GAF0B,2CAAH,qDAKnBqc,GAAoB,uCAAG,WAAO1gB,GAAP,eAAA6C,EAAA,sEAClB6B,aAAY,iBAAD,OAAkB1E,IADX,cAC9BqE,EAD8B,yBAE3BA,GAF2B,2CAAH,sDAKpBsc,GAAqB,uCAAG,WAAO3b,GAAP,eAAAnC,EAAA,sEACnBsB,aAAa,gBAAiBa,GADX,cAC/BX,EAD+B,yBAE5BA,GAF4B,2CAAH,sDCmJnBuc,OAvJf,SAA2BjiB,GACzB,MAA0BgC,mBAAS,CACjCkgB,eAAgB,KAChBC,wBAAyB,GACzBC,sBAAuB,GACvBC,sBAAuB,GACvBC,iBAAkB,GAClBC,qBAAsB,GACtB3R,OAAQ,KAPV,mBAAOnN,EAAP,KAAcxB,EAAd,KAUA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,0DACJlE,EAAMkiB,eADF,gCAEUH,GAAqB/hB,EAAMkiB,gBAFrC,QAEFxc,EAFE,QAGEoE,SACN7H,GAAS,SAACwB,GAAD,mBAAC,eACLA,GADI,IAEPye,eAAgBxc,EAAIW,KAAK6b,eACzBC,wBAAyBzc,EAAIW,KAAK8b,wBAClCC,sBAAuB1c,EAAIW,KAAK+b,sBAChCC,sBAAuB3c,EAAIW,KAAKgc,sBAChCC,iBAAkB5c,EAAIW,KAAKic,iBAC3BC,qBAAsB7c,EAAIW,KAAKkc,0BAX7B,2CAeP,IAEH,IAAMxC,EAAoB,SAACpN,GACzB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACLA,GADI,kBAENmG,EAAOzH,QAIN2P,EAAc,WAClB,IAAQqQ,EAAkH1e,EAAlH0e,wBAAyBC,EAAyF3e,EAAzF2e,sBAAuBC,EAAkE5e,EAAlE4e,sBAAuBC,EAA2C7e,EAA3C6e,iBAAkBC,EAAyB9e,EAAzB8e,qBAC7FC,EAAoB,QACpBzQ,GAAc,EACdnB,EAAS,GAsBb,OArBK4R,EAAkBvQ,KAAKkQ,KAC1BvR,EAAOuR,wBAA0B,0BACjCpQ,GAAc,GAEXyQ,EAAkBvQ,KAAKmQ,KAC1BxR,EAAOwR,sBAAwB,yBAC/BrQ,GAAc,GAEXyQ,EAAkBvQ,KAAKoQ,KAC1BzR,EAAOyR,sBAAwB,yBAC/BtQ,GAAc,GAEXyQ,EAAkBvQ,KAAKqQ,KAC1B1R,EAAO0R,iBAAmB,mBAC1BvQ,GAAc,GAEXyQ,EAAkBvQ,KAAKsQ,KAC1B3R,EAAO2R,qBAAuB,wBAC9BxQ,GAAc,GAEhB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAEHG,EAAa,uCAAG,8BAAAhO,EAAA,0DAChB4N,IADgB,uBAEZ2Q,EAAmB,CACvBP,eAAgBze,EAAMye,eACtBC,wBAAyB1e,EAAM0e,wBAC/BC,sBAAuB3e,EAAM2e,sBAC7BC,sBAAuB5e,EAAM4e,sBAC7BC,iBAAkB7e,EAAM6e,iBACxBC,qBAAsB9e,EAAM8e,sBARZ,SAUFP,GAAsBS,GAVpB,QAUd/c,EAVc,QAWVoE,SACNyB,EAAiB,oCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAfH,2CAAH,qDAoBnB,OACE,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACE,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,cACX1I,KAAK,0BACL2I,YAAY,cACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM0e,wBACbvR,OAAQnN,EAAMmN,OAAOuR,4BAIzB,cAACxf,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACE,cAAC,IAAD,CACE2N,WAAW,aACX5F,KAAK,SACL9C,KAAK,wBACL2I,YAAY,aACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM2e,sBACbxR,OAAQnN,EAAMmN,OAAOwR,0BAIzB,cAACzf,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACE,cAAC,IAAD,CACE2N,WAAW,aACX5F,KAAK,SACL9C,KAAK,wBACL2I,YAAY,aACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM4e,sBACbzR,OAAQnN,EAAMmN,OAAOyR,0BAGzB,cAAC1f,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACE,cAAC,IAAD,CACE2N,WAAW,OACX1I,KAAK,mBACL2I,YAAY,OACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM6e,iBACb1R,OAAQnN,EAAMmN,OAAO0R,qBAGzB,cAAC3f,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACE,cAAC,IAAD,CACE2N,WAAW,YACX5F,KAAK,SACL9C,KAAK,uBACL2I,YAAY,YACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM8e,qBACb3R,OAAQnN,EAAMmN,OAAO2R,yBAIzB,cAAC5f,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMkiB,eAAiB,SAAW,cCjJ9E9G,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,QAAS0R,QAAQ,GACzB,CAAE1R,KAAM,iBAAkB0R,QAAQ,IAEhC8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,0BAA2BxE,KAAM,eACxC,CAAEwE,IAAK,wBAAyBxE,KAAM,aAAcqR,eAAgBjL,IAAWkL,uBAAwBvG,UAAW3E,IAAWmL,sBAC7H,CAAE/M,IAAK,wBAAyBxE,KAAM,aAAcqR,eAAgBjL,IAAWkL,uBAAwBvG,UAAW3E,IAAWmL,sBAC7H,CAAE/M,IAAK,mBAAoBxE,KAAM,QACjC,CAAEwE,IAAK,uBAAwBxE,KAAM,YAAaqR,eAAgBjL,IAAWkL,uBAAwBvG,UAAW3E,IAAWmL,uBAwEhHuH,OArEf,SAAsB1iB,GAClB,MAA0BgC,mBAAS,CAC/B2gB,kBAAmB,GACnBrC,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0e,IADM,2CAEP,IAEH,IAAMA,EAAiB,uCAAG,4BAAA1e,EAAA,sEACN4d,KADM,OAClBpc,EADkB,OAEtBzD,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELkf,kBAAmBjd,EAAIW,KACvBia,QAAQ,OALU,2CAAH,qDASjBuC,EAAsB,SAACjT,GACzB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAMqhB,eAAgBtS,EAAOsS,qBAElE1B,EAAmB,SAACna,GACtB,OACI,qBAAKrF,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMqhB,EAAoBxc,EAAKqO,MAAMiE,aAAa,0BAK7EpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAY6L,GAEnBC,KAGLrgB,EAAQqD,EAAMye,eAAiB,uBAAyB,oBAExDY,EAAyB,SAACpd,GAC5BzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOkd,KAGX,OACI,sBAAKje,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,KAAD,CACI7H,QAASA,EACTmO,KAAMje,EAAMkf,kBACZI,cAAc,EACdC,cAAc,EACdC,YAAaxf,EAAM6c,OACnBhI,SAAS,oBACTG,WAAYoK,EACZK,UAAQ,EACRC,OAAQ,MAEX1f,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMuiB,GAAuB,IAAQtiB,SAAS,KAAjF,SACI,cAAC,GAAD,CAAmB0hB,eAAgBze,EAAMye,eAAgB3hB,QAAS,kBAAMuiB,GAAuB,QAEnG,SChFHM,GAAe,uCAAG,WAAO/hB,GAAP,eAAA6C,EAAA,sEACX6B,aAAY,mBAAD,OAAoB1E,IADpB,cACvBqE,EADuB,yBAEpBA,GAFoB,2CAAH,sDAKf2d,GAAgB,uCAAG,WAAOhd,GAAP,eAAAnC,EAAA,sEACZsB,aAAa,kBAAmBa,GADpB,cACxBX,EADwB,yBAErBA,GAFqB,2CAAH,sDCkFd4d,OAtFf,SAAuBtjB,GACnB,MAA0BgC,mBAAS,CAC/BuhB,WAAY,KACZC,0BAA2B,GAC3B5S,OAAQ,KAHZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAMA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B,EAAkCtJ,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA7Z,oBAAS,sBAAC,4BAAAM,EAAA,0DACFlE,EAAMujB,WADJ,gCAEcH,GAAgBpjB,EAAMujB,YAFpC,QAEE7d,EAFF,QAGMoE,SACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL8f,WAAY7d,EAAIW,KAAKod,iBACrBD,0BAA2B9d,EAAIW,KAAKmd,+BAP1C,2CAWP,IAEH,IAQM1R,EAAc,WAChB,IAAQ0R,EAA8B/f,EAA9B+f,0BAEJzR,GAAc,EACdnB,EAAS,GAMb,MARwB,QAGDqB,KAAKuR,KACxB5S,EAAO4S,0BAA4B,yBACnCzR,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAEd2L,GAAa,GACPiG,EAAe,CACjBF,0BAA2B/f,EAAM+f,0BACjCC,iBAAkBhgB,EAAM8f,YALd,SAOEF,GAAiBK,GAPnB,QAOVhe,EAPU,QAQNoE,SACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAdC,2CAAH,qDAkBnB,OACI,eAAC9a,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAGwV,QAAQ,SAAStX,WAAW,SAAxE,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,cACX1I,KAAK,4BACLzG,QAAQ,WACRoP,YAAY,cACZ9F,SA/CU,SAACkG,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QA4CAA,MAAOsB,EAAM+f,0BACb5S,OAAQnN,EAAMmN,OAAO4S,8BAI7B,cAAC7gB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiB+Z,YAAalB,EAAWpa,WAAS,EAAC5B,QAAS0Q,EAA5D,SACKlS,EAAMujB,WAAa,SAAW,cC9E7CnI,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,SAAU0R,QAAQ,GAC1B,CAAE1R,KAAM,mBAAoB0R,QAAQ,IAGlC8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,4BAA6BxE,KAAM,gBAqE/B+Z,OAlEf,SAAkB3jB,GACd,MAA0BgC,mBAAS,CAC/B4hB,aAAc,GACdtD,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAMM4hB,EAAY,uCAAG,sBAAA3f,EAAA,sDACjBjC,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELyS,SAAU,IAAIhC,UAHD,2CAAH,qDAOZ4P,EAAuB,SAAClU,GAC1B3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAMkjB,iBAAgB,OAAEnU,QAAF,IAAEA,OAAF,EAAEA,EAAQ6T,uBAGrEjD,EAAmB,SAACna,EAAMqO,GAC5B,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMsiB,EAAqBpP,IAAMiE,aAAa,4BAKzEpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAY6L,GAEnBC,KAGLrgB,EAAQqD,EAAMsgB,iBAAmB,0BAA4B,uBAE7DC,EAAqB,SAACte,GACxBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOme,KAIX,OACI,sBAAKlf,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAPK,kBAQLiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,sBACTG,WAAY,kBAAMqL,EAAqB,SAE1CrgB,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMyjB,GAAmB,IAAQxjB,SAAS,KAA7E,SACI,cAAC,GAAD,CAAe+iB,WAAY9f,EAAMsgB,iBAAkBxjB,QAAS,kBAAMyjB,GAAmB,QAEzF,SC1EHC,GAAe,uCAAG,WAAOC,GAAP,eAAAhgB,EAAA,sEACX6B,aAAY,aAAD,OAAcme,IADd,cACvBxe,EADuB,yBAEpBA,GAFoB,2CAAH,sDAKfye,GAAa,uCAAG,WAAO9d,EAAM2X,EAAaoG,GAA1B,yBAAAlgB,EAAA,sEACTsB,aAAa,YAAa,CACtC6e,WAAY,KACZC,kBAAmBje,EAAKie,kBACxB7N,oBAAqBpQ,EAAKoQ,oBAC1B8N,iBAAkBle,EAAKke,iBACvBC,iBAAkBne,EAAKme,iBACvBC,aAAcpe,EAAKoe,aACnBC,eAAgBre,EAAKqe,eACrBC,iBAAkBte,EAAKse,iBAEvBC,kBAAmBve,EAAKue,kBACxBC,cAAexe,EAAKwe,cACpBC,gBAAiBze,EAAKye,gBAEtBC,iBAAgB,UAAE/G,EAAYgH,6BAAd,aAAE,EAAmC3jB,GACrD4jB,yBAAwB,UAAEjH,EAAYkH,kCAAd,aAAE,EAAwC7jB,GAElE8jB,8BAA+B9e,EAAK8e,8BACpCC,+BAAgC/e,EAAK+e,+BACrCC,+BAAgChf,EAAKgf,+BACrCC,4BAA6Bjf,EAAKif,4BAClCC,6BAA8Blf,EAAKkf,6BACnCC,6BAA8Bnf,EAAKmf,6BAEnCC,uBAAwBpf,EAAKof,uBAC7BC,wBAAuB,UAAE1H,EAAY2H,oBAAd,aAAE,EAA0BtkB,GACnDukB,+BAAgCvf,EAAKuf,iCAAkC,EAGvEC,wBAAyBxf,EAAKwf,0BAA2B,EACzDC,oBAAqBzf,EAAKyf,oBAC1BC,2BAA4B1f,EAAK0f,6BAA8B,EAC/DC,uBAAwB3f,EAAK2f,uBAC7BC,6BAA8B5f,EAAK4f,+BAAgC,EACnEC,8BAA+B7f,EAAK6f,8BAEpCC,yBAA0B9f,EAAK8f,2BAA4B,EAC3DC,kCAAmC/f,EAAK+f,kCACxCC,+BAAgChgB,EAAKggB,iCAAkC,EACvEC,gCAAiCjgB,EAAKigB,gCACtCC,qBAAsBlgB,EAAKkgB,uBAAwB,EACnDC,iBAAkBngB,EAAKmgB,iBACvBC,kCAAmCpgB,EAAKogB,oCAAqC,EAC7EC,mCAAoCrgB,EAAKqgB,mCACzCC,gCAAiCtgB,EAAKsgB,kCAAmC,EACzEC,iCAAkCvgB,EAAKugB,iCAIvCC,0BAA2BxgB,EAAKwgB,0BAChCC,+CAAgDzgB,EAAKygB,+CACrDC,yCAA0C1gB,EAAK0gB,yCAO/CC,wBAAyB3gB,EAAK2gB,0BAA2B,EACzDC,iBAAkB5gB,EAAK4gB,mBAAoB,EAE3CC,0BAA2B7gB,EAAK6gB,4BAA6B,EAC7DC,oBAAqB9gB,EAAK8gB,oBAC1BC,aAAc/gB,EAAK+gB,aACnBC,gCAAiChhB,EAAKghB,gCACtCC,oBAAqBjhB,EAAKihB,oBAC1BC,0BAAyB,UAAEvJ,EAAYwJ,sCAAd,aAAE,EAA4CnmB,GACvEomB,oBAAmB,UAAEzJ,EAAY0J,gCAAd,aAAE,EAAsCrmB,GAC3DsmB,oBAAqBthB,EAAKshB,oBAC1BC,6BAA8BvhB,EAAKuhB,6BACnCC,iCAAkCxhB,EAAKwhB,iCAEvCC,2BAA4B1D,EAAQ0D,2BACpCC,mCAAoC3D,EAAQ2D,mCAC5CC,wBAAyB5D,EAAQ4D,wBACjCC,wBAAyB7D,EAAQ6D,wBACjCC,2BAA4B9D,EAAQ8D,2BACpCC,6BAA8B/D,EAAQ+D,6BACtCC,+BAAgChE,EAAQgE,+BACxCC,kCAAmCjE,EAAQiE,kCAC3CC,4BAA6BlE,EAAQkE,4BACrCC,sBAAuBnE,EAAQmE,sBAC/BC,oCAAqCniB,EAAKmiB,oCAC1CC,0BAA2BpiB,EAAKoiB,0BAChCC,+BAAgCriB,EAAKqiB,+BACrCC,qBAAsBtiB,EAAKsiB,qBAC3BC,gCAAiCviB,EAAKuiB,gCACtCC,sBAAuBxiB,EAAKwiB,sBAC5BC,mBAAoBziB,EAAKyiB,mBACzBC,6BAA8B1iB,EAAK0iB,6BACnCC,iBAAkB3iB,EAAK2iB,iBACvBC,iBAAkB5iB,EAAK4iB,mBA5FF,cACrBvjB,EADqB,yBA8FlBA,GA9FkB,2CAAH,0DAiGbwjB,GAAc,uCAAG,WAAO7iB,EAAM2X,EAAaoG,GAA1B,yBAAAlgB,EAAA,sEACV2B,aAAY,aAAD,OAAcQ,EAAKge,YAAc,CACxDA,WAAYhe,EAAKge,WACjBC,kBAAmBje,EAAKie,kBACxB7N,oBAAqBpQ,EAAKoQ,oBAC1B8N,iBAAkBle,EAAKke,iBACvBC,iBAAkBne,EAAKme,iBACvBC,aAAcpe,EAAKoe,aACnBC,eAAgBre,EAAKqe,eACrBC,iBAAkBte,EAAKse,iBAEvBC,kBAAmBve,EAAKue,kBACxBC,cAAexe,EAAKwe,cACpBC,gBAAiBze,EAAKye,gBAEtBC,iBAAgB,UAAE/G,EAAYgH,6BAAd,aAAE,EAAmC3jB,GACrD4jB,yBAAwB,UAAEjH,EAAYkH,kCAAd,aAAE,EAAwC7jB,GAElE8jB,8BAA+B9e,EAAK8e,8BACpCC,+BAAgC/e,EAAK+e,+BACrCC,+BAAgChf,EAAKgf,+BACrCC,4BAA6Bjf,EAAKif,4BAClCC,6BAA8Blf,EAAKkf,6BACnCC,6BAA8Bnf,EAAKmf,6BAEnCE,wBAAuB,UAAE1H,EAAY2H,oBAAd,aAAE,EAA0BtkB,GACnDukB,+BAAgCvf,EAAKuf,iCAAkC,EAGvEC,wBAAyBxf,EAAKwf,0BAA2B,EACzDC,oBAAqBzf,EAAKyf,oBAC1BC,2BAA4B1f,EAAK0f,6BAA8B,EAC/DC,uBAAwB3f,EAAK2f,uBAC7BC,6BAA8B5f,EAAK4f,+BAAgC,EACnEC,8BAA+B7f,EAAK6f,8BAEpCC,yBAA0B9f,EAAK8f,2BAA4B,EAC3DC,kCAAmC/f,EAAK+f,kCACxCC,+BAAgChgB,EAAKggB,iCAAkC,EACvEC,gCAAiCjgB,EAAKigB,gCACtCC,qBAAsBlgB,EAAKkgB,uBAAwB,EACnDC,iBAAkBngB,EAAKmgB,iBACvBC,kCAAmCpgB,EAAKogB,oCAAqC,EAC7EC,mCAAoCrgB,EAAKqgB,mCACzCC,gCAAiCtgB,EAAKsgB,kCAAmC,EACzEC,iCAAkCvgB,EAAKugB,iCAKvCC,0BAA2BxgB,EAAKwgB,0BAChCpB,uBAAwBpf,EAAKof,uBAC7BqB,+CAAgDzgB,EAAKygB,+CACrDC,yCAA0C1gB,EAAK0gB,yCAO/CC,wBAAyB3gB,EAAK2gB,0BAA2B,EACzDC,iBAAkB5gB,EAAK4gB,mBAAoB,EAE3CC,0BAA2B7gB,EAAK6gB,4BAA6B,EAC7DC,oBAAqB9gB,EAAK8gB,oBAC1BC,aAAc/gB,EAAK+gB,aACnBC,gCAAiChhB,EAAKghB,gCACtCC,oBAAqBjhB,EAAKihB,oBAC1BC,0BAAyB,UAAEvJ,EAAYwJ,sCAAd,aAAE,EAA4CnmB,GACvEomB,oBAAmB,UAAEzJ,EAAY0J,gCAAd,aAAE,EAAsCrmB,GAC3DsmB,oBAAqBthB,EAAKshB,oBAC1BC,6BAA8BvhB,EAAKuhB,6BACnCC,iCAAkCxhB,EAAKwhB,iCACvCC,2BAA4B1D,EAAQ0D,2BACpCC,mCAAoC3D,EAAQ2D,mCAC5CC,wBAAyB5D,EAAQ4D,wBACjCC,wBAAyB7D,EAAQ6D,wBACjCC,2BAA4B9D,EAAQ8D,2BACpCC,6BAA8B/D,EAAQ+D,6BACtCC,+BAAgChE,EAAQgE,+BACxCC,kCAAmCjE,EAAQiE,kCAC3CC,4BAA6BlE,EAAQkE,4BACrCC,sBAAuBnE,EAAQmE,sBAC/BC,oCAAqCniB,EAAKmiB,oCAC1CC,0BAA2BpiB,EAAKoiB,0BAChCC,+BAAgCriB,EAAKqiB,+BACrCC,qBAAsBtiB,EAAKsiB,qBAC3BC,gCAAiCviB,EAAKuiB,gCACtCC,sBAAuBxiB,EAAKwiB,sBAC5BC,mBAAoBziB,EAAKyiB,mBACzBC,6BAA8B1iB,EAAK0iB,6BACnCC,iBAAkB3iB,EAAK2iB,iBACvBC,iBAAkB5iB,EAAK4iB,mBA5FD,cACtBvjB,EADsB,yBA8FnBA,GA9FmB,2CAAH,0DAiGdyjB,GAAmB,uCAAG,WAAOjF,GAAP,eAAAhgB,EAAA,sEACf6B,aAAY,sCADG,cAC3BL,EAD2B,yBAExBA,GAFwB,2CAAH,sDAKnB0jB,GAAiB,uCAAG,WAAO/iB,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,qCAAsCa,GADtC,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDAKjB2jB,GAAiB,uCAAG,WAAOhjB,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,6BAA8Ba,GAD9B,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDAKjB4jB,GAAe,uCAAG,WAAOC,EAAYC,GAAnB,eAAAtlB,EAAA,sEACXsB,aAAa,0BAAD,OAA2B+jB,GAAcC,GAD1C,cACvB9jB,EADuB,yBAEpBA,GAFoB,2CAAH,wDAKf+jB,GAAsB,uCAAG,WAAOF,EAAYC,GAAnB,eAAAtlB,EAAA,sEAClBsB,aAAa,wCAAD,OAAyC+jB,GAAcC,GADjD,cAC9B9jB,EAD8B,yBAE3BA,GAF2B,2CAAH,wDAKtBgkB,GAAc,uCAAG,WAAOrjB,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,oCAAqCa,GADxC,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKdikB,GAAoB,uCAAG,WAAOzF,EAAI0F,EAAOC,EAAKC,EAAmBrY,GAA1C,eAAAvN,EAAA,sEAChB6B,aAAY,kCAAD,OACWme,GAAM,GADjB,sBACiC0F,EADjC,oBACkDC,EADlD,8BAC2EC,EAD3E,mBACuGrY,IAFlG,cAC5B/L,EAD4B,yBAIzBA,GAJyB,2CAAH,8DAMpBqkB,GAA8B,uCAAG,WAAO7F,GAAP,eAAAhgB,EAAA,sEAC1B6B,aAAY,4CAAD,OAA6Cme,GAAMA,IADpC,cACtCxe,EADsC,yBAEnCA,GAFmC,2CAAH,sDAI9BskB,GAAyB,uCAAG,WAAO9F,GAAP,eAAAhgB,EAAA,sEACrB6B,aAAY,uCAAD,OAAwCme,GAAMA,IADpC,cACjCxe,EADiC,yBAE9BA,GAF8B,2CAAH,sD,qDCnPzBukB,GAAgB,SAACjqB,GAM5B,OAAO,cAAC,KAAD,aAAWqB,GAAG,WAAWqL,KAAK,SAASwd,WALtB,SAACvX,GACnB,SAASV,KAAKU,EAAMvE,MACtBuE,EAAMwX,mBAGqEnqB,KAGpEoqB,GAAyB,SAACpqB,GAMrC,OAAO,cAACqqB,GAAA,EAAD,aAAgBhpB,GAAG,WAAWqL,KAAK,SAASwd,WAL3B,SAACvX,GACnB,SAASV,KAAKU,EAAMvE,MACtBuE,EAAMwX,mBAG0EnqB,KCXzEsqB,GAAwBC,0BAE/BC,GAAU,CACZ,CAAEnpB,GAAI,EAAGuI,KAAM,UACf,CAAEvI,GAAI,EAAGuI,KAAM,WACf,CAAEvI,GAAI,EAAGuI,KAAM,aACf,CAAEvI,GAAI,EAAGuI,KAAM,YACf,CAAEvI,GAAI,EAAGuI,KAAM,UACf,CAAEvI,GAAI,EAAGuI,KAAM,aAGb6gB,GAAc,CAChB,CAAEppB,GAAI,KAAMuI,KAAM,MAClB,CAAEvI,GAAI,KAAMuI,KAAM,OAGT8gB,GAAmB,SAAC1qB,GAC7B,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEtBuD,EAAU8b,eAEd,EAA0B3oB,mBAAS,aAC/B4O,OAAQ,GACRga,gBAAiB,KACjBC,+BAA+B,EAC/B5F,yBAA0B,GAC1B6F,gBAAgB,EAChBvG,iBAAkB,GAClBC,iBAAkB,GAClBuG,wBAAyB,KACzBC,uBAAwB,GACxBnE,0BAA2B,GAC3Bb,uBAAwB,GACxBvB,aAAc,GACdhO,oBAAqB,GACrB6Q,oBAAqB,GACrB5C,eAAgB,GAChB6C,0BAA2B,KAC3B0D,oBAAqB,GACrBC,oBAAqB,KACrBC,oBAAqB,GACrBrF,oBAAqB,GACrBsF,6BAA8B,KAC9BjE,oBAAqB,GACrBD,2BAA2B,EAC3BrC,cAAe,GACfqB,8BAA+B,GAC/BV,6BAA8B,GAC9BF,4BAA6B,GAC7BC,6BAA8B,GAC9ByB,yBAAyB,EACzB3C,WAAY,KACZqB,wBAAyB,GACzBkB,iCAAkC,GAClCvB,+BAAgC,GAChCgG,4BAA6B,GAC7BlG,8BAA+B,GAC/BC,+BAAgC,GAChCT,iBAAkB,GAClB+B,mCAAoC,GACpCJ,gCAAiC,GACjCF,kCAAmC,GACnCL,4BAA4B,EAC5BF,yBAAyB,EACzBD,gCAAgC,EAChCK,8BAA8B,EAC9BU,iCAAiC,EACjCF,mCAAmC,EACnCJ,gCAAgC,EAChCE,sBAAsB,EACtB+E,iCAAiC,EACjChH,kBAAmB,GACnBS,iBAAkB,GAClBH,kBAAmB,GACnB4B,iBAAkB,GAClBwC,iBAAkB,KAClBuC,yBAA0B,KAC1BC,iCAAkC,GAClC1G,gBAAiB,GACjBmC,kBAAkB,EAClBwE,gCAAiC,KACjCC,wBAAyB,KACzBjG,uBAAwB,GACxBqB,+CAAgD,MAChDC,yCAA0C,MAC1C4E,4BAA4B,EAC5BxF,0BAA0B,EAC1ByF,UAAU,EAEVxE,aAAc,GACdK,oBAAqB,KACrBE,oBAAqB,KACrBC,6BAA8B,GAC9BC,kCAAkC,EAClCW,oCAAqC,GACrCC,0BAA2B,GAC3BC,+BAAgC,GAChCC,qBAAsB,GACtBC,gCAAiC,GACjCC,sBAAuB,GACvBC,mBAAoB,KACpBC,6BAA8B,KAE9BE,kBAAkB,GAlFY,mBAmFZ,OAnFtB,mBAAOxlB,EAAP,KAAcxB,EAAd,KA0FA,EAAkCD,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAAuCzb,mBAAS,CAE5C6pB,cAAe,GACfC,kBAAmB,GACnBC,sBAAuB,GACvBC,mBAAoB,GACpBC,mBAAoB,GACpBC,wBAAyB,CACrB,CAAEtiB,KAAM,UAAWvI,GAAI,IACvB,CAAEuI,KAAM,UAAWvI,GAAI,IACvB,CAAEuI,KAAM,UAAWvI,GAAI,IACvB,CAAEuI,KAAM,UAAWvI,GAAI,OAX/B,mBAAO8qB,EAAP,KAAqBC,EAArB,KAeA,EAAsCpqB,mBAAS,CAC3CkjB,2BAA4B,KAC5BS,aAAc,KAEdX,sBAAuB,KACvBwC,+BAAgC,KAChCE,yBAA0B,OAN9B,mBAAO1J,EAAP,KAAoBC,EAApB,KAsBAra,oBAAS,sBAAC,sBAAAM,EAAA,sDACNmoB,IADM,2CAEP,IAEH,IAAMA,EAAgB,uCAAG,kCAAAnoB,EAAA,sEACJilB,KADI,UACjBlN,EADiB,OAErBmQ,GAAe,SAACvoB,GAAD,mBAAC,eACTA,GADQ,IAEXgoB,cAAe5P,EAAK5V,KAAKimB,eACzBR,kBAAmB7P,EAAK5V,KAAKkmB,cAC7BR,sBAAuB9P,EAAK5V,KAAKmmB,iBACjCR,mBAAoB/P,EAAK5V,KAAKomB,eAC9BR,mBAAoBhQ,EAAK5V,KAAKqmB,eAAenjB,KAAI,SAACojB,GAC9C,MAAO,CAAEtrB,GAAIsrB,EAAEC,gBAAiBhjB,KAAM+iB,EAAEE,4BAG5C7sB,EAAMqkB,WAZW,iCAaDJ,GAAgBjkB,EAAMqkB,YAbrB,OAab3e,EAba,OAeXW,EAfW,UAeJX,EAAIW,YAfA,aAeJ,EAAU4V,KAAK,GAE5B6Q,QAAQC,IAAI1mB,GAEZ2mB,GAAiB,SAACnpB,GAAD,mBAAC,eACXA,GADU,IAEbikB,2BAA0B,OAAEzhB,QAAF,IAAEA,OAAF,EAAEA,EAAMyhB,2BAClCC,mCAAkC,OAAE1hB,QAAF,IAAEA,OAAF,EAAEA,EAAM0hB,mCAC1CC,wBAAuB,OAAE3hB,QAAF,IAAEA,OAAF,EAAEA,EAAM2hB,wBAC/BC,wBAAuB,OAAE5hB,QAAF,IAAEA,OAAF,EAAEA,EAAM4hB,wBAC/BC,2BAA0B,OAAE7hB,QAAF,IAAEA,OAAF,EAAEA,EAAM6hB,2BAClCC,6BAA4B,OAAE9hB,QAAF,IAAEA,OAAF,EAAEA,EAAM8hB,6BACpCC,+BAA8B,OAAE/hB,QAAF,IAAEA,OAAF,EAAEA,EAAM+hB,+BACtCC,kCAAiC,OAAEhiB,QAAF,IAAEA,OAAF,EAAEA,EAAMgiB,kCACzCC,4BAA2B,OAAEjiB,QAAF,IAAEA,OAAF,EAAEA,EAAMiiB,4BACnCC,sBAAqB,OAAEliB,QAAF,IAAEA,OAAF,EAAEA,EAAMkiB,2BAEjCtmB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAELwgB,WAAYhe,EAAKge,WACjBC,kBAAmBje,EAAKie,kBACxB7N,oBAAqBpQ,EAAKoQ,oBAC1B8N,iBAAkBle,EAAKke,iBACvBC,iBAAkBne,EAAKme,iBACvBC,aAAcpe,EAAKoe,aACnBC,eAAgBre,EAAKqe,eACrBC,iBAAkBte,EAAKse,iBACvB2C,oBAAqBjhB,EAAKihB,oBAC1B1C,kBAAmBve,EAAKue,kBACxBC,cAAexe,EAAKwe,cACpBC,gBAAiBze,EAAKye,gBACtBgG,eAAgBzkB,EAAKykB,eACrB/F,iBAAkB1e,EAAK0e,iBACvBE,yBAA0B5e,EAAK4e,yBAC/BoG,4BAA6BhlB,EAAKglB,4BAClClG,8BAA+B9e,EAAK8e,8BACpCC,+BAAgC/e,EAAK+e,+BACrCC,+BAAgChf,EAAKgf,+BACrCC,4BAA6Bjf,EAAKif,4BAClCC,6BAA8Blf,EAAKkf,6BACnCC,6BAA8Bnf,EAAKmf,6BAEnC+B,0BAA2BlhB,EAAKkhB,0BAChC7B,wBAAyBrf,EAAKqf,wBAC9BE,+BAAgCvf,EAAKuf,iCAAkC,EACvE0F,gCAAiCjlB,EAAKilB,kCAAmC,EACzEE,iCAAkCnlB,EAAKmlB,iCACvC3F,wBAAyBxf,EAAKwf,0BAA2B,EACzDC,oBAAqBzf,EAAKyf,oBAC1BC,2BAA4B1f,EAAK0f,6BAA8B,EAC/DC,uBAAwB3f,EAAK2f,uBAC7BC,6BAA8B5f,EAAK4f,+BAAgC,EACnEC,8BAA+B7f,EAAK6f,8BACpC+G,2BAA4B5mB,EAAK4mB,2BACjC9G,yBAA0B9f,EAAK8f,yBAC/BC,kCAAmC/f,EAAK+f,kCACxCC,+BAAgChgB,EAAKggB,iCAAkC,EACvEC,gCAAiCjgB,EAAKigB,gCACtCC,qBAAsBlgB,EAAKkgB,uBAAwB,EACnDC,iBAAkBngB,EAAKmgB,iBACvBC,kCAAmCpgB,EAAKogB,oCAAqC,EAC7EC,mCAAoCrgB,EAAKqgB,mCACzCC,gCAAiCtgB,EAAKsgB,kCAAmC,EACzEC,iCAAkCvgB,EAAKugB,iCACvC2E,yBAA0BllB,EAAKklB,yBAC/BvC,iBAAkB3iB,EAAK2iB,iBACvB0C,wBAAyBrlB,EAAKqlB,wBAC9BD,gCAAiCplB,EAAKolB,gCACtC5E,0BAA2BxgB,EAAKwgB,0BAChC+D,gBAAiBvkB,EAAKukB,gBACtBnF,uBAAwBpf,EAAKof,uBAC7BqB,+CAAgDzgB,EAAKygB,+CACrDC,yCAA0C1gB,EAAK0gB,yCAC/CgE,wBAAyB1kB,EAAK0kB,wBAC9BK,6BAA8B/kB,EAAK+kB,6BACnCpE,wBAAyB3gB,EAAK2gB,0BAA2B,EACzDC,iBAAkB5gB,EAAK4gB,mBAAoB,EAC3C4D,8BAA+BxkB,EAAKwkB,8BACpC3D,0BAA2B7gB,EAAK6gB,4BAA6B,EAC7DC,oBAAqB9gB,EAAK8gB,oBAC1BC,aAAc/gB,EAAK+gB,aACnBC,gCAAiChhB,EAAKghB,gCACtC6F,QAASxnB,EAAIW,KAAK6mB,QAClBtB,UAAU,EACVnE,oBAAqBphB,EAAKohB,oBAC1BE,oBAAqBthB,EAAKshB,oBAC1BC,6BAA8BvhB,EAAKuhB,6BACnCC,iCAAkCxhB,EAAKwhB,iCACvCW,oCAAqCniB,EAAKmiB,oCAC1CC,0BAA2BpiB,EAAKoiB,0BAChCC,+BAAgCriB,EAAKqiB,+BACrCC,qBAAsBtiB,EAAKsiB,qBAC3BC,gCAAiCviB,EAAKuiB,gCACtCC,sBAAuBxiB,EAAKwiB,sBAC5BC,mBAAoBziB,EAAKyiB,mBACzBC,6BAA8B1iB,EAAK0iB,6BACnCE,iBAAkB5iB,EAAK4iB,kBA/ElB,mBAgFa5iB,EAAK2iB,sBAhHV,4CAAH,qDAiIlBmE,EAAc,CAEdnF,wBAAyB,GACzBC,wBAAyB,GACzBC,2BAA4B,GAC5BC,6BAA8B,GAC9BC,+BAAgC,GAChCC,kCAAmC,KACnCC,4BAA6B,GAC7BC,uBAAuB,GAI3B,EAA0CvmB,mBAAS,2BAC5CmrB,GAD2C,IAE9CpF,oCAAoC,EACpCD,4BAA4B,EAE5BlX,OAAQ,MALZ,mBAAOwc,EAAP,KAAsBJ,EAAtB,KAiDAppB,qBAAU,WACN,IAAIshB,EAA6B,KAC7BS,EAAe,KACfX,EAAwB,KACxBwC,EAAiC,KACjCE,EAA2B,KAE3BjkB,EAAMwhB,2BACNC,EAA6BiH,EAAaN,cAAcrY,MAAK,qBAAGnS,KAAgBoC,EAAMwhB,6BAEtFxhB,EAAMiiB,0BACNC,EAAe6E,GAAQhX,MAAK,qBAAGnS,KAAgBoC,EAAMiiB,4BAErDjiB,EAAMshB,mBACNC,EAAwBmH,EAAaH,mBAAmBxY,MAAK,qBAAGnS,KAAgBoC,EAAMshB,qBAEtFthB,EAAM8jB,4BACNC,EAAiC2E,EAAaF,mBAAmBzY,MAAK,qBAAGnS,KAAgBoC,EAAM8jB,8BAE/F9jB,EAAMgkB,sBACNC,EAA2ByE,EAAaD,wBAAwB1Y,MAAK,qBAAGnS,KAAgBoC,EAAMgkB,wBAElGxJ,GAAe,SAACpa,GAAD,mBAAC,eACTA,GADQ,IAEXqhB,2BAA4BA,EAC5BS,aAAcA,EAEdX,sBAAuBA,EACvBwC,+BAAgCA,EAChCE,yBAA0BA,SAE/B,CACCjkB,EAAMgkB,oBACNhkB,EAAMwhB,yBACNxhB,EAAMiiB,wBAENjiB,EAAMshB,iBACNthB,EAAM8jB,4BAGV,IAAM1V,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACP,SAAVvK,GAA2C,UAAvBuK,EAAK4gB,cACzBrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAClB,UAAVzH,GAA4C,UAAvBuK,EAAK4gB,cACjCrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAEnC3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SAExC,IAkCG2P,EAAc,WAChB,IACIwS,EAkCA7gB,EAlCA6gB,kBACA7N,EAiCAhT,EAjCAgT,oBAEA8N,GA+BA9gB,EAhCAshB,iBAgCAthB,EA/BA8gB,kBACAI,EA8BAlhB,EA9BAkhB,iBACAkC,EA6BApjB,EA7BAojB,0BAGAjC,GA0BAnhB,EA3BAgiB,uBA2BAhiB,EA1BAmhB,mBACAQ,EAyBA3hB,EAzBA2hB,+BACAG,EAwBA9hB,EAxBA8hB,6BACAV,EAuBAphB,EAvBAohB,cACAQ,EAsBA5hB,EAtBA4hB,+BACAG,EAqBA/hB,EArBA+hB,6BACAM,EAoBAriB,EApBAqiB,oBACAE,EAmBAviB,EAnBAuiB,uBACAQ,EAkBA/iB,EAlBA+iB,iBACAN,EAiBAziB,EAjBAyiB,8BACAE,EAgBA3iB,EAhBA2iB,kCACAE,EAeA7iB,EAfA6iB,gCACAI,EAcAjjB,EAdAijB,mCACAE,EAaAnjB,EAbAmjB,iCACAf,EAYApiB,EAZAoiB,wBACAE,EAWAtiB,EAXAsiB,2BACAQ,EAUA9iB,EAVA8iB,qBACAN,EASAxiB,EATAwiB,6BACAI,EAQA5iB,EARA4iB,+BACAF,EAOA1iB,EAPA0iB,yBACAM,EAMAhjB,EANAgjB,kCACAE,EAKAljB,EALAkjB,gCAEAW,GAGA7jB,EAJA8pB,YAIA9pB,EAHA6jB,qBACAO,EAEApkB,EAFAokB,iCACAD,EACAnkB,EADAmkB,6BAEI5C,EAA0BhH,EAA1BgH,sBACJjT,GAAc,EACdnB,EAAS,GAER,QAAQqB,KAAKqS,KACd1T,EAAO0T,kBAAoB,kCAC3BvS,GAAc,GAEb,QAAQE,KAAKwE,KACd7F,EAAO6F,oBAAsB,4BAC7B1E,GAAc,GAEdyb,kBAAOxI,KACPpU,EAAOmU,iBAAmB,qBAC1BhT,GAAc,GAEb,QAAQE,KAAKsS,KACd3T,EAAO2T,iBAAmB,sBAC1BxS,GAAc,GAKbuV,IACD1W,EAAO2c,YAAc,4BACrBxb,GAAc,GAEgB,OAA9BtO,EAAM6jB,qBACFA,IAAwBmG,aAAgCnG,EAAqB3C,KAC7E/T,EAAO+T,iBAAP,8BACA5S,GAAc,GAIlB8U,EAA4B,IAC5BjW,EAAOiW,0BAA4B,4BACnC9U,GAAc,GAWlB,IAAI2b,EAAW,4DACVA,EAASzb,KAAK2S,KAAsB,QAAQ3S,KAAK2S,IAAuB4I,kBAAO5I,KAChFhU,EAAOgU,kBAAoB,uBAC3B7S,GAAc,GAEb2b,EAASzb,KAAKmT,KAAmC,QAAQnT,KAAKmT,IAAoCoI,kBAAOpI,KAC1GxU,EAAOwU,+BAAiC,uBACxCrT,GAAc,GAEb2b,EAASzb,KAAKsT,KAAiC,QAAQtT,KAAKsT,IAAkCiI,kBAAOjI,KACtG3U,EAAO2U,6BAA+B,uBACtCxT,GAAc,IAId8T,GACAE,GACAQ,GACAN,GACAI,GACAF,GACAM,GACAE,GACAkB,MAEIhC,GAA6B,QAAQ5T,KAAK6T,KAAwB0H,kBAAO1H,KACzElV,EAAOkV,oBAAsB,0CAC7B/T,GAAc,IAEdgU,GAAgC,QAAQ9T,KAAK+T,KAA2BwH,kBAAOxH,KAC/EpV,EAAOoV,uBAAyB,0CAChCjU,GAAc,IAEdwU,GAA0B,QAAQtU,KAAKuU,KAAqBgH,kBAAOhH,KACnE5V,EAAO4V,iBAAmB,0CAC1BzU,GAAc,IAEdkU,GAAkC,QAAQhU,KAAKiU,KAAkCsH,kBAAOtH,KACxFtV,EAAOsV,8BAAgC,0CACvCnU,GAAc,IAEdoU,GAA8B,QAAQlU,KAAKmU,KAAsCoH,kBAAOpH,KACxFxV,EAAOwV,kCAAoC,0CAC3CrU,GAAc,IAEdsU,GAAoC,QAAQpU,KAAKqU,KAAoCkH,kBAAOlH,KAC5F1V,EAAO0V,gCAAkC,0CACzCvU,GAAc,IAEd0U,GAAuC,QAAQxU,KAAKyU,KAAuC8G,kBAAO9G,KAClG9V,EAAO8V,mCAAqC,0CAC5C3U,GAAc,IAEd4U,GAAqC,QAAQ1U,KAAK2U,KAAqC4G,kBAAO5G,KAC9FhW,EAAOgW,iCAAmC,0CAC1C7U,GAAc,IAEd8V,GAAsC,QAAQ5V,KAAK2V,KAAiC4F,kBAAO5F,KAC3FhX,EAAOgX,6BAA+B,0CACtC7V,GAAc,IA6DtB,OAvDK4b,aAAgB9I,KAAkB,QAAQ5S,KAAK4S,IAAmB2I,kBAAO3I,KAC1EjU,EAAOiU,cAAgB,mBACvB9S,GAAc,GAEb4b,aAAgBtI,KAAmC,QAAQpT,KAAKoT,IAAoCmI,kBAAOnI,KAC5GzU,EAAOyU,+BAAiC,mBACxCtT,GAAc,GAGb4b,aAAgBnI,KAAiC,QAAQvT,KAAKuT,IAAkCgI,kBAAOhI,KACxG5U,EAAO4U,6BAA+B,mBACtCzT,GAAc,GAEb4b,aAAgB7H,KAAwB,QAAQ7T,KAAK6T,IAAyB0H,kBAAO1H,KACtFlV,EAAOkV,oBAAsB,mBAC7B/T,GAAc,GAEb4b,aAAgB3H,KAA2B,QAAQ/T,KAAK+T,IAA4BwH,kBAAOxH,KAC5FpV,EAAOoV,uBAAyB,mBAChCjU,GAAc,GAEb4b,aAAgBnH,KAAqB,QAAQvU,KAAKuU,IAAsBgH,kBAAOhH,KAChF5V,EAAO4V,iBAAmB,mBAC1BzU,GAAc,GAEb4b,aAAgBzH,KAAkC,QAAQjU,KAAKiU,IAAmCsH,kBAAOtH,KAC1GtV,EAAOsV,8BAAgC,mBACvCnU,GAAc,GAGb4b,aAAgBvH,KACjB,QAAQnU,KAAKmU,IACZoH,kBAAOpH,KAERxV,EAAOwV,kCAAoC,mBAC3CrU,GAAc,GAEb4b,aAAgBrH,KAAoC,QAAQrU,KAAKqU,IAAqCkH,kBAAOlH,KAC9G1V,EAAO0V,gCAAkC,mBACzCvU,GAAc,GAGb4b,aAAgBjH,KACjB,QAAQzU,KAAKyU,IACZ8G,kBAAO9G,KAER9V,EAAO8V,mCAAqC,mBAC5C3U,GAAc,GAEb4b,aAAgB/G,KAAqC,QAAQ3U,KAAK2U,IAAsC4G,kBAAO5G,KAChHhW,EAAOgW,iCAAmC,mBAC1C7U,GAAc,GAGlB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGL6b,EAAY,uCAAG,4BAAA1pB,EAAA,0DACb4N,IADa,oBAGb2L,GAAa,IACTzd,EAAMqkB,WAJG,gCAKG6E,GAAezlB,EAAOua,EAAaoP,GALtC,OAKT1nB,EALS,+CAOGye,GAAc1gB,EAAOua,EAAaoP,GAPrC,QAOT1nB,EAPS,eASTA,EAAIoE,SACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAM6tB,cAAa,GACnBhf,EAAQC,KAAR,yBAEAxD,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAhBA,4CAAH,qDA2BlB,OACI,cAAC6M,GAAsBwD,SAAvB,CACI3rB,MAAO,CACHsB,QACAmqB,eACA/b,cACAkc,eAdW,SAACjiB,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAY5B6a,WAjRO,SAACpkB,GAChB3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SAiR3BqkB,WA1QO,WACXxqB,EAAM2jB,cACNnlB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBujB,aAAc,WAyQrC8G,aA5PO,SAACvb,GAChB,IAAIC,EAAS,IAAIC,WACjBD,EAAOE,OAAS,SAAChH,GACb,IAAQiH,EAAWjH,EAAEE,OAAb+G,OACR9Q,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBujB,aAAcrU,QAE7CH,EAAOI,cAAcL,EAAM3G,OAAOiH,MAAM,KAuPhCkb,OA1WG,SAACC,GACZnsB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL0gB,iBAAkB6J,EAAEC,aACpB7J,iBAAkB4J,EAAEE,aACpB7J,aAAc2J,EAAEG,KAChB7J,eAAgB0J,EAAEI,OAClB7J,iBAAkByJ,EAAEK,eAoWhBxO,mBAjRe,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SAiR/Bye,WACAC,eACA0B,eACAnO,cACAqO,mBACAqC,aAtWS,SAAC9e,GAClB3N,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+nB,SAAUhc,QAoWN+e,YAjWQ,WAChB1sB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+nB,UAAU,QA+VNpO,YACAoR,cAhRU,SAACC,EAAcjlB,GAC7BilB,GACA5sB,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAFI,OAEGilB,QAFH,IAEGA,OAFH,EAEGA,EAAcC,UA6QtB1B,gBACA2B,cA9VU,SAACX,GACnBpB,GAAiB,SAACnpB,GAAD,mBAAC,eACXA,GADU,IAEbmkB,wBAAyBoG,EAAEC,aAC3BpG,wBAAyBmG,EAAEE,aAC3BpG,2BAA4BkG,EAAEG,KAC9BpG,6BAA8BiG,EAAEI,OAChCpG,+BAAgCgG,EAAEK,eAwV9BO,oBA9ZgB,SAACljB,GACzB,MAAuCA,EAAEE,OAAjCpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KAArB,EAA2ByG,QAEb,SAAVhR,GAA2C,UAAvBuK,EAAK4gB,cACzBN,GAAiB,SAACnpB,GAAD,mBAAC,2BAAaA,GAAOspB,GAArB,kBAAmCvjB,GAAO,OAC1C,UAAVzH,GAA6C,WAApB,OAAJuK,QAAI,IAAJA,OAAA,EAAAA,EAAM4gB,eAClCN,GAAiB,SAACnpB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAE3CojB,GAAiB,SAACnpB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAuZvC8sB,gBA9XY,SAACnjB,GACrB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QAEd6Z,GAAiB,SAACnpB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOuJ,SAoW3C,SA0BKnT,EAAMK,Y,2DC/mBJ6uB,GArEK,SAAClvB,GACjB,MAA0BgC,mBAAS,CAC/BmtB,YAAY,EACZjsB,MAAO,CACHksB,EAAG,MACHC,EAAG,MACHC,EAAG,KACHprB,EAAG,OANX,mBAAOT,EAAP,KAAcxB,EAAd,KASQwK,EAAmCzM,EAAnCyM,SAAUvJ,EAAyBlD,EAAzBkD,MAAOxC,EAAkBV,EAAlBU,OAAQiN,EAAU3N,EAAV2N,MAa3B4hB,EAASC,KAAS,CACpBC,QAAS,CACLvsB,MAAO,CACHyK,MAAM,GAAD,OAAKA,GAAS,QACnBjN,OAAO,GAAD,OAAKA,GAAU,QACrBgvB,aAAc,MACdrsB,WAAW,GAAD,OAAKH,IAEnBysB,QAAS,CACL1uB,SAAU,WACVgZ,OAAQ,KAEZ2V,MAAO,CACH3uB,SAAU,QACV4uB,IAAK,MACL3uB,MAAO,MACP6Y,OAAQ,MACRC,KAAM,OAEV8V,OAAQ,CACJniB,MAAM,GAAD,OAAKA,GAAS,QACnB7K,QAAS,MACTO,WAAY,UACZqsB,aAAc,MACdtuB,OAAQ,UACRN,QAAS,eACTivB,UAAW,+BAKvB,OACI,gCACI,qBAAK/uB,MAAOuuB,EAAOO,OAAQtuB,QA7CnB,WACZS,EAAS,CACLktB,YAAa1rB,EAAM0rB,cA2CnB,SACI,qBAAKnuB,MAAOuuB,EAAOrsB,UAEtBO,EAAM0rB,WACH,sBAAKnuB,MAAOuuB,EAAOI,QAAnB,UACI,qBAAK3uB,MAAOuuB,EAAOK,MAAOpuB,QA5C1B,WACZS,EAAS,CACLktB,YAAY,OA2CJ,cAAC,KAAD,CAAcjsB,MAAOA,GAAS,UAAWuJ,SAAUA,OAEvD,SCnDV2O,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YAAa0R,QAAQ,GAC7B,CAAE1R,KAAM,sBAAuB0R,QAAQ,IAGrChB,GAAiB,CACnBC,cAAe,CAAE7Z,OAAQ,SACzB8Z,wBAAyB,CAAE7M,MAAO,OAAQ8M,UAAW,UACrDC,eAAgB,CAAE/M,MAAO,IAAKqiB,UAAW,GAAIrV,eAAgB,SAC7DC,iBAAkB,CAAEH,UAAW,WAG7BwV,GAAa,SAACjwB,GAIhB,OAHA4D,qBAAU,YACL5D,EAAMkwB,UAAYlwB,EAAMguB,WAAWhuB,EAAMmwB,WAC3C,CAACnwB,EAAMkwB,WAEN,qCACI,cAAC/rB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,QAC1B,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,WAA3B,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAASnT,EAAMkwB,SAAUzjB,SAAUzM,EAAMowB,cAAexmB,KAAM5J,EAAMqwB,YAE3F,cAAC1tB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIuP,YAAavS,EAAMwM,MACnBrK,MAAOnC,EAAMswB,SACb7jB,SAAUzM,EAAM6R,YAChBjI,KAAM5J,EAAMmwB,QACZ1hB,UAAWzO,EAAMkwB,oBAQnCK,GAAa,SAACvwB,GAChB,OACI,eAAC2C,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,UAE9B,cAAC7J,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAG7B,MAAO,CAAE2U,WAAY,OAAtD,SACI,eAAC6a,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAYpa,EAAM4J,KAAMA,KAAM5J,EAAM4J,KAAMzH,MAAOnC,EAAMmC,MAAOsK,SAAUzM,EAAMyM,SAA9F,UACI,cAACgkB,GAAA,EAAD,CAAkBtd,SAAyB,IAAhBnT,EAAMmC,MAAgBA,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACxF,cAACikB,GAAA,EAAD,CAAkBtd,SAAyB,IAAhBnT,EAAMmC,MAAiBA,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,gBAOxGokB,GAAkB,SAAC5wB,GAAW,IAAD,EAC/B,EAoBI2B,qBAAW2oB,IAnBX7mB,EADJ,EACIA,MACA+Z,EAFJ,EAEIA,UACAoQ,EAHJ,EAGIA,aACA/b,EAJJ,EAIIA,YACAkc,EALJ,EAKIA,eACAC,EANJ,EAMIA,WACAE,EAPJ,EAOIA,aACAD,EARJ,EAQIA,WACAE,EATJ,EASIA,OACAlO,EAVJ,EAUIA,mBACAuK,EAXJ,EAWIA,QACAC,EAZJ,EAYIA,YACA0B,EAbJ,EAaIA,aACAnO,EAdJ,EAcIA,YACA4Q,EAfJ,EAeIA,cACAxB,EAhBJ,EAgBIA,cACA2B,EAjBJ,EAiBIA,cACAC,EAlBJ,EAkBIA,oBACAC,EAnBJ,EAmBIA,gBAEA4B,EAAkB9sB,IAAW+sB,gBAEjC,OACI,sBAAK9vB,MAAO,CAAEP,SAAU,UAAYkE,UAAW,WAAIlB,EAAM4gB,YAAc,UAAa,qBAApF,UACMrkB,EAAMqkB,WAA6E,KAAhE,cAAC,IAAD,CAAajJ,OAAQA,GAAQzW,UAAU,sBAC5D,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,SAEI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAAC,IAAD,CACI2N,WAAW,aACXC,YAAY,aACZpQ,MAAOsB,EAAM6gB,kBACb7X,SAAUoF,EACVjI,KAAK,sBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0T,uBAExC,eAAC3hB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAAC,IAAD,CACI2N,WAAW,OACXC,YAAY,gBACZpQ,MAAOsB,EAAMgT,oBACbhK,SAAUoF,EACVjI,KAAK,wBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO6F,yBAExC,eAAC9T,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,eACXC,YAAY,eACZpQ,MAAOsB,EAAMkkB,oBACblb,SAAUoF,EACVjI,KAAK,wBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO+W,yBAGxC,eAAChlB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,oBAGA,cAAC,IAAD,CACIiM,QAAS0N,EAAaH,mBACtB7pB,MAAO6b,EAAYgH,sBACnBvY,SAAUwT,EAAmB,2BASjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOmU,sBAExC,eAACpiB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,0BAGA,cAAC,IAAD,CAAWwF,KAAK,sBAAsBzH,MAAOsB,EAAM6jB,oBAAqB7a,SAAUoF,EAAaY,KAAMgY,IACrG,cAACrlB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO2c,iBAGxC,eAAC5qB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAAC,IAAD,CACI2N,WAAW,YACXC,YAAY,YACZpQ,MAAOsB,EAAM8gB,kBAAoB,GACjC9X,SAAUoF,EACVjI,KAAK,qBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO2T,sBAExC,cAAC5hB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,YACXC,YAAY,YACZpQ,MAAOsB,EAAM+gB,kBAAoB,GACjC/X,SAAUoF,EACVjI,KAAK,uBAIb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,OAAOC,YAAY,OAAOpQ,MAAOsB,EAAMghB,cAAgB,GAAIhY,SAAUoF,EAAajI,KAAK,mBAEnH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,SACXC,YAAY,SACZpQ,MAAOsB,EAAMihB,gBAAkB,GAC/BjY,SAAUoF,EACVjI,KAAK,qBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,SASI,cAAC,IAAD,CACIxC,MAAOsB,EAAMkhB,kBAAoB,GACjClY,SAAUoF,EACVjI,KAAK,mBACLukB,OAAQA,EACRvd,OAAQnN,EAAMmN,OAAO+T,qBAG7B,eAAChiB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,QACXC,YAAY,QACZpQ,MAAOsB,EAAMmhB,mBAAqB,GAClCnY,SAAUoF,EACVjI,KAAK,sBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOgU,uBAExC,eAACjiB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CAAa1e,WAAW,QAAQC,YAAY,QAAQpQ,MAAOsB,EAAMohB,eAAiB,GAAIpY,SAAUoF,EAAajI,KAAK,kBAClH,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOiU,mBAExC,cAACliB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,UACXC,YAAY,UACZpQ,MAAOsB,EAAMqhB,iBAAmB,GAChCrY,SAAUoF,EACVjI,KAAK,sBAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CACIqa,QAAS0N,EAAaN,cACtB1pB,MAAO6b,EAAYkH,2BACnBzY,SAAUwT,EAAmB,gCAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOqgB,eAExC,cAACtuB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,GAAD,CACIxkB,MAAM,sBACN5C,KAAK,4BACLzH,MAAOsB,EAAMyjB,0BACbza,SAAUoF,MAGlB,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2CACA,cAAC,IAAD,CACI8sB,WAAY,CACRC,KAAK,IAAIjd,MAAOkd,cAAcC,MAAM,EAAG,KAE3ClvB,MAAOsB,EAAM0jB,qBAAuBtN,KAAOpW,EAAM0jB,qBAAqBrN,OAAO,cAC7ErN,SAAUoF,EACVjI,KAAK,gCAgBrB,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UAEI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,6BAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,GAAD,CACIpnB,KAAK,6BACLzH,MAAOirB,EAActF,2BACrBrb,SAAUuiB,EACVxiB,MAAM,6BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,GAAD,CACIpnB,KAAK,qCACLzH,MAAOirB,EAAcrF,mCACrBtb,SAAUuiB,EACVxiB,MAAM,uCAEN,IACR,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,GAAD,CACIxkB,MAAM,wBACN6jB,QAAQ,wBACRH,SAAU9C,EAAc7E,sBACxB4H,QAAQ,8BACRG,SAAUlD,EAAc9E,4BACxB8H,cAAenB,EACfpd,YAAamd,EACbhB,WAAYA,MAIpB,cAACrrB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI7uB,MAAOirB,EAAchF,gCAAkC,GACvD3b,SAAUuiB,EACVplB,KAAK,iCACLukB,OAAQY,EACRtgB,SAAU2e,EAAcrF,uCAIhC,cAACplB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,WACXC,YAAY,WACZpQ,MAAOirB,EAAcpF,yBAA2B,GAChDvb,SAAUuiB,EACVplB,KAAK,0BACL6E,SAAU2e,EAAcrF,uCAIhC,cAACplB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,WACXC,YAAY,WACZpQ,MAAOirB,EAAcnF,yBAA2B,GAChDxb,SAAUuiB,EACVvgB,SAAU2e,EAAcrF,uCAIhC,cAACplB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,OACXC,YAAY,OACZpQ,MAAOirB,EAAclF,4BAA8B,GACnDzb,SAAUuiB,EACVplB,KAAK,6BACL6E,SAAU2e,EAAcrF,uCAGhC,cAACplB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,SACXC,YAAY,SACZpQ,MAAOirB,EAAcjF,8BAAgC,GACrD1b,SAAUuiB,EACVplB,KAAK,+BACL6E,SAAU2e,EAAcrF,uCAGhC,eAACplB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,0BAGA,cAAC,IAAD,CACIwF,KAAK,oCACLzH,MAAOirB,EAAc/E,kCACrB5b,SAAUuiB,EACVvc,KAAMgY,EACNhc,SAAU2e,EAAcrF,kDAQhD,cAACplB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UAEI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,6BAGA,uBAEA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,yBACXC,YAAY,yBACZ3I,KAAK,gCACLzH,MAAOsB,EAAM0hB,8BACb1Y,SAAUoF,MAGlB,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,0BACXC,YAAY,0BACZ3I,KAAK,iCACLzH,MAAOsB,EAAM2hB,+BACb3Y,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOwU,oCAExC,eAACziB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,0BACXC,YAAY,0BACZ3I,KAAK,iCACLzH,MAAOsB,EAAM4hB,+BACb5Y,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOyU,oCAExC,cAAC1iB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,wBACXC,YAAY,wBACZ3I,KAAK,8BACLzH,MAAOsB,EAAM6hB,4BACb7Y,SAAUoF,MAGlB,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,yBACXC,YAAY,yBACZ3I,KAAK,+BACLzH,MAAOsB,EAAM8hB,6BACb9Y,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO2U,kCAExC,eAAC5iB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,yBACXC,YAAY,yBACZ3I,KAAK,+BACLzH,MAAOsB,EAAM+hB,6BACb/Y,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO4U,4CAOxD,cAAC7iB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UAEI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,sBAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,GAAD,CACIpnB,KAAK,0BACLzH,MAAOsB,EAAMujB,wBACbva,SAAUoF,EACVrF,MAAM,uBAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,GAAD,CACIpnB,KAAK,0BACLzH,MAAOsB,EAAMujB,wBACbva,SAAUoF,EACVrF,MAAM,0BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,GAAD,CACIpnB,KAAK,mBACLzH,MAAOsB,EAAMwjB,iBACbxa,SAAUoF,EACVrF,MAAM,wBAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,GAAD,CACIxkB,MAAM,YACN6jB,QAAQ,mBACRH,SAAUzsB,EAAMwlB,iBAChBkH,QAAQ,mBACRG,SAAU7sB,EAAMulB,iBAChBoH,cAAerC,EACflc,YAAaA,EACbmc,WAAYA,MAGpB,eAACrrB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIqa,QAAS0N,EAAaD,yBAA2B,GACjD/pB,MAAO6b,EAAY0J,yBACnBjb,SAAUwT,EAAmB,iCAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kCACA,cAAC,GAAD,CACImO,YAAY,uBACZ3I,KAAK,4BACLzH,MAAOsB,EAAMojB,0BACbpa,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOiW,+BAExC,eAAClkB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAAC,IAAD,CACIsI,KAAK,SACL6F,YAAY,oBACZ3I,KAAK,yBACLzH,MAAOsB,EAAMgiB,uBACbhZ,SAAUoF,OAGlB,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCACA,cAAC,IAAD,CAAcqa,QAAS+L,EAASroB,MAAO6b,EAAY2H,aAAclZ,SAAUwT,EAAmB,qBAElG,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CACIqa,QAAS0N,EAAaF,mBACtB9pB,MAAO6b,EAAYwJ,+BACnB/a,SAAUwT,EAAmB,uCAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,cACXC,YAAY,cACZ3I,KAAK,qBACLzH,MAAOsB,EAAMqlB,mBACbrc,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkY,wBAExC,eAACnmB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,2BACXC,YAAY,2BACZ3I,KAAK,+BACLzH,MAAOsB,EAAMslB,6BACbtc,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOmY,4CAQxD,cAACpmB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UAEI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,2BAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,GAAD,CACIpnB,KAAK,iCACLzH,MAAOsB,EAAMmiB,+BACbnZ,SAAUoF,EACVrF,MAAM,+BAGd,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,GAAD,CACIxkB,MAAM,oBACN6jB,QAAQ,0BACRH,SAAUzsB,EAAMoiB,wBAChBsK,QAAQ,sBACRG,SAAU7sB,EAAMqiB,oBAChBsK,cAAerC,EACflc,YAAaA,EACbmc,WAAYA,IAEhB,cAAC5oB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkV,yBAExC,eAACnjB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,GAAD,CACIxkB,MAAM,uBACN6jB,QAAQ,6BACRH,SAAUzsB,EAAMsiB,2BAChBoK,QAAQ,yBACRG,SAAU7sB,EAAMuiB,uBAChBoK,cAAerC,EACflc,YAAaA,EACbmc,WAAYA,IAEhB,cAAC5oB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOoV,4BAExC,eAACrjB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,GAAD,CACIxkB,MAAM,iBACN6jB,QAAQ,uBACRH,SAAUzsB,EAAM8iB,qBAChB4J,QAAQ,mBACRG,SAAU7sB,EAAM+iB,iBAChB4J,cAAerC,EACflc,YAAaA,EACbmc,WAAYA,IAEhB,cAAC5oB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO4V,sBAExC,eAAC7jB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,GAAD,CACIxkB,MAAM,gCACN6jB,QAAQ,+BACRH,SAAUzsB,EAAMwiB,6BAChBkK,QAAQ,gCACRG,SAAU7sB,EAAMyiB,8BAChBkK,cAAerC,EACflc,YAAaA,EACbmc,WAAYA,IAEhB,cAAC5oB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOsV,mCAExC,eAACvjB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,GAAD,CACIxkB,MAAM,qCACN6jB,QAAQ,2BACRH,SAAUzsB,EAAM0iB,yBAChBgK,QAAQ,oCACRG,SAAU7sB,EAAM2iB,kCAChBgK,cAAerC,EACflc,YAAaA,EACbmc,WAAYA,IAEhB,cAAC5oB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOwV,uCAExC,eAACzjB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,GAAD,CACIxkB,MAAM,iCACN6jB,QAAQ,iCACRH,SAAUzsB,EAAM4iB,+BAChB8J,QAAQ,kCACRG,SAAU7sB,EAAM6iB,gCAChB8J,cAAerC,EACflc,YAAaA,EACbmc,WAAYA,IAEhB,cAAC5oB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0V,qCAExC,eAAC3jB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,GAAD,CACIxkB,MAAM,+BACN6jB,QAAQ,oCACRH,SAAUzsB,EAAMgjB,kCAChB0J,QAAQ,qCACRG,SAAU7sB,EAAMijB,mCAChB0J,cAAerC,EACflc,YAAaA,EACbmc,WAAYA,IAEhB,cAAC5oB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO8V,wCAExC,eAAC/jB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,GAAD,CACIxkB,MAAM,6BACN6jB,QAAQ,kCACRH,SAAUzsB,EAAMkjB,gCAChBwJ,QAAQ,mCACRG,SAAU7sB,EAAMmjB,iCAChBwJ,cAAerC,EACflc,YAAaA,EACbmc,WAAYA,IAEhB,cAAC5oB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOgW,sCAExC,eAACjkB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,GAAD,CACIxkB,MAAM,8BACN6jB,QAAQ,mCACRH,SAAUzsB,EAAMokB,iCAChBsI,QAAQ,+BACRG,SAAU7sB,EAAMmkB,6BAChBwI,cAAerC,EACflc,YAAaA,EACbmc,WAAYA,IAEhB,cAAC5oB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOgX,4CAOxD,cAACjlB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UAEI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,2BAGA,uBAEA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,UAAW,IAAhD,UACI,eAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAA5D,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAEswB,YAAa,GAAI3jB,MAAO,SAApD,6CAGA,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGhwB,MAAO,CAAEyD,WAAY,GAA5D,UACI,cAACN,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,GAAD,CACIpD,MAAO,CAAEswB,YAAa,IACtB5wB,OAAO,OACPiN,MAAM,QACN/D,KAAK,iDACLvI,GAAG,iDACH6B,MAAOO,EAAMqjB,+CACbra,SAAU,SAAC8kB,GAAD,OAAO3C,EAAc2C,EAAG,wDAG1C,eAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGhwB,MAAO,CAAEyD,WAAY,GAA5D,UACI,cAACN,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,GAAD,CACI1D,OAAO,OACPiN,MAAM,QACN/D,KAAK,2CACLvI,GAAG,2CACH6B,MAAOO,EAAMsjB,yCACbta,SAAU,SAAC8kB,GAAD,OAAO3C,EAAc2C,EAAG,qDAI9C,eAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAA5D,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAEswB,YAAa,EAAG3jB,MAAO,SAAnD,iCAGA,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGhwB,MAAO,CAAEyD,WAAY,GAA5D,UACI,cAACN,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,GAAD,CACI1D,OAAO,OACPiN,MAAM,QACN/D,KAAK,sCACLvI,GAAG,sCACH6B,MAAOO,EAAM+kB,oCACb/b,SAAU,SAAC8kB,GAAD,OAAO3C,EAAc2C,EAAG,6CAG1C,eAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGhwB,MAAO,CAAEyD,WAAY,GAA5D,UACI,cAACN,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,GAAD,CACI1D,OAAO,OACPiN,MAAM,QACN/D,KAAK,4BACLvI,GAAG,4BACH6B,MAAOO,EAAMglB,0BACbhc,SAAU,SAAC8kB,GAAD,OAAO3C,EAAc2C,EAAG,sCAI9C,eAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAA5D,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAEswB,YAAa,EAAG3jB,MAAO,SAAnD,4BAGA,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGhwB,MAAO,CAAEyD,WAAY,GAA5D,UACI,cAACN,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,GAAD,CACI1D,OAAO,OACPiN,MAAM,QACN/D,KAAK,iCACLvI,GAAG,iCACH6B,MAAOO,EAAMilB,+BACbjc,SAAU,SAAC8kB,GAAD,OAAO3C,EAAc2C,EAAG,wCAG1C,eAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGhwB,MAAO,CAAEyD,WAAY,GAA5D,UACI,cAACN,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,GAAD,CACI1D,OAAO,OACPiN,MAAM,QACN/D,KAAK,uBACLvI,GAAG,uBACH6B,MAAOO,EAAMklB,qBACblc,SAAU,SAAC8kB,GAAD,OAAO3C,EAAc2C,EAAG,iCAI9C,eAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAA5D,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAEswB,YAAa,GAAI3jB,MAAO,SAApD,6BAGA,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGhwB,MAAO,CAAEyD,WAAY,GAA5D,UACI,cAACN,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,GAAD,CACI1D,OAAO,OACPiN,MAAM,QACN/D,KAAK,kCACLvI,GAAG,kCACH6B,MAAOO,EAAMmlB,gCACbnc,SAAU,SAAC8kB,GAAD,OAAO3C,EAAc2C,EAAG,yCAG1C,eAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGhwB,MAAO,CAAEyD,WAAY,GAA5D,UACI,cAACN,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,GAAD,CACI1D,OAAO,OACPiN,MAAM,QACN/D,KAAK,wBACLvI,GAAG,wBACH6B,MAAOO,EAAMolB,sBACbpc,SAAU,SAAC8kB,GAAD,OAAO3C,EAAc2C,EAAG,kCAI9C,eAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGhwB,MAAO,CAAEC,SAAU,YAA3D,UACI,cAACkD,EAAA,EAAD,CAAYC,QAAM,EAACotB,SAAO,EAA1B,2BAGC/tB,EAAM2jB,cACH,sBACIpmB,MAAO,CACHC,SAAU,WACVC,MAAO,EACP2uB,IAAK,GAJb,SAOI,cAACxrB,EAAA,EAAD,CAASjE,MAAM,cAAf,SACI,cAAC,KAAD,CAAWia,SAAS,QAAQ7Y,QAASysB,QAKjD,eAACtrB,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAO,CAAEyD,UAAW,OAAtC,SACI,uBAAOiI,KAAK,OAAO9C,KAAK,cAAc6C,SAAUyhB,EAAchb,OAAO,cAEzE,cAACvQ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAOsZ,GAAeE,wBAAxC,SACI,qBACI9V,KACI,UAAAjB,EAAM2jB,oBAAN,eAAoBzP,SAAS,WAAYlU,EAAM2jB,aAAe,yBAA2B3jB,EAAM2jB,aAEnGxiB,IAAK,OACL5D,MAAOsZ,GAAeI,oCAStC,OAAfmW,QAAe,IAAfA,OAAA,EAAAA,EAAiBY,qBACd,cAAC9uB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB+Z,YAAalB,EAAWhc,QAASosB,EAAlD,SACK5tB,EAAMqkB,WAAa,OAAS,UAIzC,cAAC1hB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB+sB,cAAc,EAAMlwB,QAASxB,EAAM6tB,aAApD,6BAgBL8D,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAsBA,GAAtB,aACI,cAAC,GAAD,eAAqBA,QC32BpB4xB,GAAyB,uCAAG,WAAOvrB,GAAP,eAAAnC,EAAA,sEACrBsB,aAAa,2CAA4Ca,GADpC,cACjCX,EADiC,yBAE9BA,GAF8B,2CAAH,sDAKzBmsB,GAAc,uCAAG,WAAOxwB,GAAP,eAAA6C,EAAA,sEACV6B,aAAY,qBAAD,OAAsB1E,IADvB,cACtBqE,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKdosB,GAAW,uCAAG,WAAOzwB,EAAI8K,GAAX,eAAAjI,EAAA,sEACPsB,aAAa,0BAA2B,CACpDI,GAAIvE,EACJ0wB,QAAS5lB,IAHU,cACnBzG,EADmB,yBAKhBA,GALgB,2CAAH,wD,WC2DTssB,GA7Dc,SAAChyB,GAC1B,MAA0BgC,mBAAS,CAC/B4O,OAAQ,GACRzE,QAAS,KAFb,mBAAO1I,EAAP,KAAcxB,EAAd,KAUM6P,EAAc,WAChB,IAAQ3F,EAAY1I,EAAZ0I,QACJ4F,GAAc,EACdnB,EAAS,GAMb,OALKzE,IACDyE,EAAOzE,QAAU,sBACjB4F,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGL6b,EAAY,uCAAG,sBAAA1pB,EAAA,0DACb4N,IADa,gCAEG8f,GAA0B,CAAEzlB,QAAS1I,EAAM0I,UAF9C,cAGLrC,SACJ9J,EAAM6tB,eAJG,2CAAH,qDASlB,OACI,eAAClrB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIpsB,UAAU,mBAArC,SACI,cAACstB,GAAA,EAAD,CAAOC,SAAS,UAAUvtB,UAAU,cAApC,uFAKJ,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIpsB,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,qBACA,cAAC,IAAD,CACI2f,WAAS,EACTzQ,KAAM,GACNnP,YAAY,UACZ3I,KAAK,UACL6C,SAzCI,SAACX,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAwCvBA,MAAOsB,EAAM0I,UAEjB,cAAC/G,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOzE,aAExC,cAACxJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBxB,QAASosB,EAAcxqB,WAAS,EAACuB,UAAU,aAA5D,0B,+BC5DHytB,GAAa,SAACpyB,GACvB,OACI,qBACIgB,MAAO,CACHN,OAAQ,sBACRI,QAAS,OACTuxB,cAAe,SACfC,eAAgB,UALxB,SAQI,cAACC,GAAA,EAAD,CAAkBvxB,MAAO,CAAE2U,WAAY,OAAQ7V,YAAa,aAK3D0yB,GAAc,WACvB,OACI,qBAAKxxB,MAAO,CAAEF,QAAS,OAAQuxB,cAAe,SAAUC,eAAgB,UAAxE,SACI,cAACC,GAAA,EAAD,CAAkBvxB,MAAO,CAAE2U,WAAY,OAAQ7V,YAAa,aCwDzD2yB,OArEf,SAAyBzyB,GACrB,MAA0BgC,mBAAS,CAC/BsiB,kBAAmB,KACnBC,iBAAkB,KAClBC,iBAAkB,KAClBE,eAAgB,KAChBD,aAAc,KACdE,iBAAkB,KAClBC,kBAAmB,KACnBC,cAAe,KACfvE,QAAQ,IATZ,mBAAO7c,EAAP,KAAcxB,EAAd,KAgCA,OApBA2B,oBAAS,sBAAC,8BAAAM,EAAA,0DACFlE,EAAMqkB,WADJ,gCAEcJ,GAAgBjkB,EAAMqkB,YAFpC,OAEE3e,EAFF,OAGIW,EAAOX,EAAIW,KAAK4V,KAAK,GAC3Bha,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELygB,kBAAmBje,EAAKie,kBACxB7N,oBAAqBpQ,EAAKoQ,oBAC1B8N,iBAAkBle,EAAKke,iBACvBC,iBAAkBne,EAAKme,iBACvBC,aAAcpe,EAAKoe,aACnBC,eAAgBre,EAAKqe,eACrBC,iBAAkBte,EAAKse,iBACvBC,kBAAmBve,EAAKue,kBACxBC,cAAexe,EAAKwe,cACpBvE,QAAQ,OAfV,2CAkBP,IAGC7c,EAAM6c,OACF,eAAC3d,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAG7B,MAAO,CAAE4W,SAAU,QAAS8a,UAAW,SAAnF,UACI,eAAC/vB,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,4BACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAM6gB,uBAEvB,eAAC3hB,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,sBACA,cAAC+H,GAAA,EAAD,UACK6C,IAAW2iB,iBACRlvB,EAAM8gB,iBACN9gB,EAAM+gB,iBACN/gB,EAAMghB,aACNhhB,EAAMihB,eACNjhB,EAAMkhB,uBAIlB,eAAChiB,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW4iB,cAAcnvB,EAAMohB,oBAEjE,eAACliB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBpvB,EAAMmhB,2BAI5E,qBAAK5jB,MAAO,CAAEF,QAAS,OAAQuxB,cAAe,SAAUC,eAAgB,SAAU3kB,MAAO,QAASjN,OAAQ,SAA1G,SACI,cAAC6xB,GAAA,EAAD,CAAkBvxB,MAAO,CAAEmK,OAAQ,aCrD7C2nB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,KACPiH,qBAAqB,GAEzB,CAAExG,IAAK,sBAAuBxE,KAAM,OAAQ+D,MAAO,OACnD,CACIS,IAAK,WACLxE,KAAM,WAEN+K,UAAW3E,IAAWmL,qBACtBxN,MAAO,MAEX,CACIS,IAAK,aACLxE,KAAM,aAEN+K,UAAW3E,IAAWmL,qBACtBxN,MAAO,MAEX,CACIS,IAAK,UACLxE,KAAM,UAEN+K,UAAW3E,IAAWmL,qBACtBxN,MAAO,MAIX,CACIS,IAAK,gBACLxE,KAAM,QACN+D,MAAO,OAEX,CAAES,IAAK,oBAAqBxE,KAAM,QAAS+D,MAAO,OAClD,CACIS,IAAK,kBACLxE,KAAM,UACN+K,UAAW,SAACtO,GAAD,iBAAU2J,IAAW2iB,iBAAX,UAA4BtsB,EAAKqO,WAAjC,aAA4B,EAAU6P,iBAAtC,UAAwDle,EAAKqO,WAA7D,aAAwD,EAAU+P,aAAlE,UAAgFpe,EAAKqO,WAArF,aAAgF,EAAUiQ,qBAIjHvJ,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YAAayR,KAAM,IAAKC,QAAQ,IAuK7ByX,GApKQ,SAAC/yB,GACOyB,eAAnB6J,eACMqf,eADd,IAEIkG,EAAkB9sB,IAAW+sB,gBAEjC,EAA0B9uB,mBAAS,CAC/BgxB,MAAM,EACNC,cAAc,EACdznB,YAAY,EACZ0nB,aAAc,GACd7O,WAAY,OALhB,mBAAO5gB,EAAP,KAAcxB,EAAd,KAQMkxB,EAA0B,uCAAG,sBAAAjvB,EAAA,sDAC/BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHa,2CAAH,qDA0B1Bkf,EAAc,SAAC1tB,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACNC,cAAc,OAElBvtB,GAAOytB,KAQLE,EAAgB,SAACtnB,EAAK2I,GACxB,OACI,cAAC/R,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CAAY4V,aAAa,gBAAgBnX,QAAS,kBATtC,SAACuK,GACrB/L,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,4BAAD,OAA8BvnB,EAAI0T,WAAlC,YAAgD1T,EAAI0K,uBAOA8c,CAAgB7e,SAK9E8e,EAAc,SAAC,EAAcpd,GAAU,IAAtB1B,EAAqB,EAArBA,IACboG,GADkC,EAAhB2Y,IACZje,SAASC,cAAc,SAC7BuF,EAAM,qBAAKha,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,WAAxC,SAAsD8M,IAAW4iB,cAAcle,EAAImQ,iBAE/F,OADA9O,IAASC,OAAOgF,EAAKF,GACdA,GAWL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAXA,SAACkT,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,OAOYgqB,CAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI+B,sBAIb,OADAV,IAASC,OAAOgF,EAAKF,GACdA,GAGL+Y,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNizB,mBAAmB,QAIrBC,EAAc,SAAC,EAAc3d,GAAU,IAAtB1B,EAAqB,EAArBA,IACboG,GADkC,EAAhB2Y,IACZje,SAASC,cAAc,SAC7BuF,EAAM,qBAAKha,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,WAAxC,SAAsD8M,IAAW6iB,qBAAqBne,EAAIkQ,qBAEtG,OADA7O,IAASC,OAAOgF,EAAKF,GACdA,GAGLvH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAC/C4lB,EAAWlY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,kBAAhBA,EAAQ3N,OAC9C6lB,EAAWnY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,sBAAhBA,EAAQ3N,OAC9C8lB,EAAkBpY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,wBAAhBA,EAAQ3N,OAazD,OAZI6lB,IACAA,EAAStf,UAAYof,GAErBC,IACAA,EAASrf,UAAY6e,GAErBpe,IACAA,EAAUT,UAAY0e,GAEtBa,IACAA,EAAgBvf,UAAY+e,GAEzB5X,IACR,IAEH,OACI,sBAAKnX,UAAU,SAAf,UACKlB,EAAMwvB,aACH,cAAC9yB,GAAA,EAAD,CAAYC,MAAO,gCAAiCG,QAAS,kBAAM6yB,GAAY,IAAO5yB,SAAS,KAA/F,SACI,cAAC,GAAD,CAAsBqtB,aAAc,kBAAMuF,GAAY,QAE1D,KAEH3vB,EAAMuvB,KACH,cAAC,GAAD,CAAiB3O,WAAY5gB,EAAM4gB,WAAYwJ,aAAc,kBAAMuF,GAAY,MAE/E,qCACI,cAAC,IAAD,CAAahY,OAAQA,KAErB,cAAC,GAAD,CACI9C,SAAS,eACTG,WAnHF,SAACW,GACfnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,QAiHMla,iBA5GD,WACf7W,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELovB,cAAc,QA0GFpa,cAAesb,KACfvb,eAAc,WAAoB,OAAfiY,QAAe,IAAfA,OAAA,EAAAA,EAAiBuD,2BAA4B,uCAAyC,IACzGC,eAAe,eACfle,OAAM,YACN5C,QAASA,EACT2B,YAAY,aACZjB,uBAAuB,iBACvBmD,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,cAI3BzS,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBlU,WAAYoO,aAAcgG,MAEjF,SCvNHS,GAAY,uCAAG,WAAOpQ,GAAP,eAAAhgB,EAAA,sEACR6B,aAAY,UAAD,OAAWme,IADd,cACpBxe,EADoB,yBAEjBA,GAFiB,2CAAH,sDAKZ6uB,GAAW,uCAAG,4BAAArwB,EAAA,sEACP6B,aAAY,0BADL,cACnBL,EADmB,yBAEhBA,GAFgB,2CAAH,qDAKX8uB,GAAQ,uCAAG,WAAOnuB,GAAP,eAAAnC,EAAA,sEACJsB,aAAa,SAAUa,GADnB,cAChBX,EADgB,yBAEbA,GAFa,2CAAH,sDAKR+uB,GAAW,uCAAG,WAAOpuB,EAAMhF,GAAb,eAAA6C,EAAA,sEACP2B,aAAY,UAAD,OAAWxE,GAAMgF,GADrB,cACnBX,EADmB,yBAEhBA,GAFgB,2CAAH,wDCrBXgvB,GAAuBnK,0BAChC4C,GAAc,CACdwH,iCAAiC,EACjCC,qBAAsB,GACtBC,qBAAsB,GACtBC,wBAAyB,GACzBC,0BAA2B,GAC3BC,4BAA6B,GAC7BC,+BAAgC,KAChCC,yBAA0B,GAC1BC,oBAAoB,GAEXC,GAAkB,SAACp1B,GAC5B,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAsCtJ,mBAAS,CAC3C4H,KAAM,GACNyrB,SAAU,GACVC,SAAU,GACVC,UAAW,GACXC,YAAa,GACbC,gBAAiB,GACjBC,WAAY,GACZC,eAAgB,GAChBC,cAAe,GACfC,eAAe,EACfC,kBAAmB,GACnBC,eAAgB,GAChBC,eAAgB,KAChBC,wBAAyB,GACzBC,sBAAuB,GACvBC,aAAc,GACdC,oBAAqB,GACrBC,2BAA4B,GAC5BC,kBAAmB,GACnB1lB,OAAQ,KApBZ,mBAAO2lB,EAAP,KAAoBC,EAApB,KAuBA,EAA4Cx0B,mBAAS,CACjD4O,OAAQ,GACR6lB,QAAS,KACTC,gBAAgB,EAChBC,gBAAgB,EAChBC,sBAAsB,EACtBC,0BAA0B,EAC1BC,WAAY,GACZC,6BAA8B,GAC9BC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,WAAW,EACXC,UAAU,EACVC,QAAQ,EACRC,UAAU,EACVC,8BAA+B,GAC/BC,eAAgB,GAChBC,cAAe,GACfC,eAAgB,GAChBC,sBAAuB,GACvBC,cAAe,GACfC,iBAAkB,GAClBC,kBAAmB,GACnBC,mCAAoC,GACpCC,gCAAiC,GACjCC,mCAAoC,GACpCC,0BAA2B,GAC3BC,WAAY,GACZlC,wBAAyB,GACzBmC,yBAA0B,KA9B9B,mBAAOC,EAAP,KAAuBC,EAAvB,KAiCA,EAA0Ct2B,mBAAS,2BAC5CmrB,IAD2C,IAE9Cvc,OAAQ,MAFZ,mBAAOwc,EAAP,KAAsBJ,EAAtB,KAIAppB,oBAAS,sBAAC,kCAAAM,EAAA,sEACUqwB,KADV,UACF7uB,EADE,OAEAuwB,EAA0BvwB,EAAIW,KAAKkyB,qBAAqBhvB,KAAI,SAACxG,GAAD,MAAW,CACzE1B,GAAI0B,EAAKy1B,wBACT5uB,KAAM7G,EAAK01B,mCAEfjC,GAAe,SAAC3yB,GAAD,mBAAC,eACTA,GADQ,IAEXoyB,wBAAyBA,EACzBK,kBAAmB5wB,EAAIW,KAAKqyB,oBAE5B14B,EAAMy2B,QAXJ,iCAYcnC,GAAat0B,EAAMy2B,SAZjC,OAYE/wB,EAZF,OAaIW,EAAOX,EAAIW,KAAK2G,QAAQ,GAC9BwpB,GAAe,SAAC3yB,GAAD,mBAAC,eACTA,GADQ,IAEX+F,KAAMvD,EAAKqQ,UACX2e,SAAUhvB,EAAKsyB,cACfrD,SAAUjvB,EAAKuyB,cACfpD,YAAanvB,EAAKmvB,YAClBD,UAAWlvB,EAAKkvB,UAChBE,gBAAiBpvB,EAAKwyB,iBACtBnD,WAAYrvB,EAAKqvB,WACjBI,kBAAmBzvB,EAAKyvB,kBACxBgD,sBAAuBzyB,EAAKyyB,sBAC5BlD,cAAevvB,EAAKuvB,cACpBD,eAAgBtvB,EAAKsvB,eACrBQ,aAAc9vB,EAAK8vB,aACnBN,cAAexvB,EAAKwvB,cACpBkD,gBAAiB1yB,EAAK0yB,gBACtB/C,eAAgB3vB,EAAK2yB,oBACrB9C,sBAAuB7vB,EAAK6vB,sBAC5BE,oBAAqB/vB,EAAK4yB,oBAC1B5C,2BAA4BhwB,EAAKgwB,gCAErCiC,GAAkB,SAACz0B,GAAD,mBAAC,eACZA,GADW,IAEd4yB,QAASpwB,EAAKowB,QACdsC,gBAAiB1yB,EAAK0yB,gBACtBD,sBAAuBzyB,EAAKyyB,sBAC5BI,eAAgB7yB,EAAK8yB,2BACrBxC,eAAgBtwB,EAAK+yB,2BACrBxC,qBAAsBvwB,EAAKgzB,iCAC3BxC,yBAA0BxwB,EAAKizB,qCAC/BC,WAAYlzB,EAAKmzB,uBACjBxC,OAAQ3wB,EAAKozB,6BACb1C,6BAA8B1wB,EAAK0wB,6BACnCE,OAAQ5wB,EAAKqzB,6BACbxC,QAAS7wB,EAAKszB,8BACdxC,UAAW9wB,EAAKuzB,gCAChBxC,SAAU/wB,EAAKwzB,+BACfxC,OAAQhxB,EAAKyzB,6BACbxC,SAAUjxB,EAAK0zB,+BACfxC,8BAA+BlxB,EAAKkxB,8BACpCC,eAAgBnxB,EAAK2zB,oBACrBvC,cAAepxB,EAAK4zB,mBACpBvC,eAAgBrxB,EAAK6zB,oBACrBvC,sBAAuBtxB,EAAKsxB,sBAC5BC,cAAevxB,EAAKuxB,cACpBC,iBAAkBxxB,EAAKwxB,iBACvBC,kBAAmBzxB,EAAKyxB,kBACxBqC,mBAAoB9zB,EAAK8zB,mBACzBpC,mCAAoC1xB,EAAK0xB,mCACzCK,yBAA0B/xB,EAAK+xB,yBAC/BJ,gCAAiC3xB,EAAK2xB,gCACtCC,mCAAoC5xB,EAAK4xB,mCACzCC,0BAA2B7xB,EAAK6xB,0BAChCC,WAAY9xB,EAAK8xB,gBAErBnL,GAAiB,SAACoN,GAAD,mBAAC,eACXA,GADU,IAEbzF,gCAAiCtuB,EAAKsuB,gCACtCC,qBAAsBvuB,EAAKuuB,qBAC3BC,qBAAsBxuB,EAAKwuB,qBAC3BC,wBAAyBzuB,EAAKyuB,wBAC9BC,0BAA2B1uB,EAAK0uB,0BAChCC,4BAA6B3uB,EAAK2uB,4BAClCC,+BAAgC5uB,EAAK4uB,+BACrCC,yBAA0B7uB,EAAK6uB,yBAC/BC,mBAAoB9uB,EAAK8uB,wBA/E3B,4CAkFP,IAEH,IAoCMkF,EAAsBhN,uBAAY,SAACvhB,GACrC,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdqjB,GAAe,SAAC3yB,GAEZ,OADS,2BAAQA,GAAR,kBAAa+F,EAAOuJ,SAGlC,IACG4a,EAAiBV,uBAAY,SAACvhB,GAChC,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdmlB,GAAkB,SAACz0B,GAEf,OADS,2BAAQA,GAAR,kBAAa+F,EAAOuJ,SAGlC,IASGrB,EAAc,WAChB,IAAQlI,EAA0C2sB,EAA1C3sB,KAAMyrB,EAAoCkB,EAApClB,SAAoBG,GAAgBe,EAA1BjB,SAA0BiB,EAAhBf,aAC1BN,EAAiD9H,EAAjD8H,yBAA0BC,EAAuB/H,EAAvB+H,mBAC9BpjB,GAAc,EACdnB,EAAS,GAuBb,MAtBK,QAAQqB,KAAKrI,KACdgH,EAAOhH,KAAO,0BACdmI,GAAc,GAEb,QAAQE,KAAKojB,KACdzkB,EAAOykB,SAAW,8BAClBtjB,GAAc,GAEb,QAAQE,KAAKujB,KACd5kB,EAAO4kB,YAAc,4BACrBzjB,GAAc,IAOdojB,GAAwB,QAAQljB,KAAKijB,KAA6B1H,kBAAO0H,KACzEtkB,EAAOskB,yBAA2B,0CAClCnjB,GAAc,GAElBykB,GAAe,SAAC3yB,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAClCmB,GAGL6b,EAAY,uCAAG,8BAAA1pB,EAAA,0DACb4N,IADa,oBAEPwoB,EAAY,CACd7D,QAAS4B,EAAe5B,QACxBsC,gBAAiB/4B,EAAMqkB,WACvB3N,UAAW6f,EAAY3sB,KACvB+uB,cAAepC,EAAYlB,SAC3BuD,cAAerC,EAAYjB,SAC3BE,YAAae,EAAYf,YACzBD,UAAWgB,EAAYhB,UACvBsD,iBAAkBtC,EAAYd,gBAC9BC,WAAYa,EAAYb,WACxBI,kBAAmBS,EAAYT,kBAC/BF,cAAeW,EAAYX,cAC3BD,eAAgBY,EAAYZ,eAC5BQ,aAAcI,EAAYJ,aAC1BN,cAAeU,EAAYV,cAC3BoD,oBAAqB1C,EAAYH,oBACjCC,2BAA4BE,EAAYF,2BACxCH,sBAAuBK,EAAYL,sBACnCiD,2BAA4Bd,EAAe3B,eAC3C0C,2BAA4Bf,EAAe1B,eAC3C0C,iCAAkChB,EAAezB,qBACjD0C,qCAAsCjB,EAAexB,yBACrD2C,uBAAwBnB,EAAekB,WACvCE,6BAA8BpB,EAAerB,OAC7CD,6BAA8BsB,EAAetB,6BAC7C2C,6BAA8BrB,EAAepB,OAC7C0C,8BAA+BtB,EAAenB,QAC9C0C,gCAAiCvB,EAAelB,UAChD0C,+BAAgCxB,EAAejB,SAC/C0C,6BAA8BzB,EAAehB,OAC7C0C,+BAAgC1B,EAAef,SAC/CC,8BAA+Bc,EAAed,8BAC9CyC,oBAAqB3B,EAAeb,eACpCyC,mBAAoB5B,EAAeZ,cACnCyC,oBAAqB7B,EAAeX,eACpCC,sBAAuBU,EAAeV,sBACtCC,cAAeS,EAAeT,cAC9BC,iBAAkBQ,EAAeR,iBACjCsC,mBAAoB9B,EAAe8B,mBACnCrC,kBAAmBO,EAAeP,kBAClCC,mCAAoCM,EAAeN,mCACnDK,yBAA0BC,EAAeD,yBACzCJ,gCAAiCK,EAAeL,gCAChDC,mCAAoCI,EAAeJ,mCACnDsC,8BAA+BlC,EAAekC,8BAC9CrC,0BAA2BG,EAAeH,0BAC1CsC,oBAAqBnC,EAAeW,oBACpCb,WAAYE,EAAeF,WAC3BxD,gCAAiCvH,EAAcuH,gCAC/CC,qBAAsBxH,EAAcwH,sBAAwB,GAC5DC,qBAAsBzH,EAAcyH,sBAAwB,GAC5DC,wBAAyB1H,EAAc0H,yBAA2B,GAClEC,0BAA2B3H,EAAc2H,2BAA6B,GACtEC,4BAA6B5H,EAAc4H,6BAA+B,GAC1EC,+BAAgC7H,EAAc6H,gCAAkC,GAChFC,yBAA0B9H,EAAc8H,0BAA4B,GACpEC,mBAAoB/H,EAAc+H,qBAIlCn1B,EAAMy2B,QA9DG,gCA+DGhC,GAAY6F,EAAWt6B,EAAMy2B,SA/DhC,OA+DT/wB,EA/DS,+CAiEG8uB,GAAS8F,GAjEZ,QAiET50B,EAjES,eAmETA,EAAIoE,SACJyB,EAAiB,6BACjBvL,EAAMy6B,aAAY,IAElBnvB,EAAe5F,EAAIyG,SAvEV,4CAAH,qDA8ElB,OACI,cAACuoB,GAAqB5G,SAAtB,CACI3rB,MAAO,CACHk2B,iBACAzK,eACA8M,sBA/IkB,SAAC5uB,GAC3B,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdm2B,GAAkB,SAACz0B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QA8IpC4rB,iBACA4M,WAVO,WACf36B,EAAMy6B,aAAY,IAUVG,kBA9Ic,SAAC9uB,GACvB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdq0B,GAAe,SAAC3yB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QA6IjCk4B,sBACA9D,cACAsE,aA9HS,SAAC9uB,GAClByqB,GAAe,SAAChiB,GAAD,mBAAC,eACTA,GADQ,IAEXqhB,cAAe9pB,QA4HXijB,oBAxKgB,SAACljB,GACzB,MAAuCA,EAAEE,OAAjCpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KAArB,EAA2ByG,QACb,SAAVhR,GAA2C,UAAvBuK,EAAK4gB,cACzBN,GAAiB,SAACnpB,GAAD,mBAAC,2BAAaA,GAAOspB,IAArB,kBAAmCvjB,GAAO,OAC1C,UAAVzH,GAA6C,WAApB,OAAJuK,QAAI,IAAJA,OAAA,EAAAA,EAAM4gB,eAClCN,GAAiB,SAACnpB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAE3CojB,GAAiB,SAACnpB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAkKvCirB,gBACAe,OApLG,SAACC,GACZpB,GAAiB,SAACnpB,GAAD,mBAAC,eACXA,GADU,IAEb+wB,qBAAsBxG,EAAEC,aACxBwG,qBAAsBzG,EAAEE,aACxBwG,wBAAyB1G,EAAEG,KAC3BwG,0BAA2B3G,EAAEI,OAC7BwG,4BAA6B5G,EAAEK,eA8K3BT,WA5JO,SAACpkB,GAChBojB,GAAiB,SAACnpB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SA4JnCqlB,gBAlKY,SAACnjB,GACrB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACd6Z,GAAiB,SAACnpB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOuJ,SAiJ3C,SAkBKnT,EAAMK,Y,UCxMJy6B,GA9IO,SAAC96B,GACnB,IAAQu2B,EAAsEv2B,EAAtEu2B,YAAaqE,EAAyD56B,EAAzD46B,kBAAyD56B,EAAtCq6B,oBAAsCr6B,EAAjB66B,aAE7D,OACI,cAACl4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SACI,cAACo2B,GAAA,EAAD,CAAOp2B,UAAU,uBAAuB3D,MAAO,CAAE8B,QAAS,OAA1D,SACI,eAACH,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,QACXC,YAAY,aACZpQ,MAAOo0B,EAAY3sB,KACnB6C,SAAUmuB,EACVhxB,KAAK,OACLgH,OAAQ2lB,EAAY3lB,OAAOhH,SAGnC,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,IAClB,cAAC,IAAD,CACIkO,WAAW,YACXC,YAAY,YACZpQ,MAAOo0B,EAAYlB,UAAY,GAC/B5oB,SAAUmuB,EACVhxB,KAAK,WACLgH,OAAQ2lB,EAAY3lB,OAAOykB,cAGnC,cAAC1yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAaC,WAAW,YAAYC,YAAY,YAAYpQ,MAAOo0B,EAAYjB,SAAU7oB,SAAUmuB,EAAmBhxB,KAAK,eAE/H,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAaC,WAAW,OAAOC,YAAY,OAAOpQ,MAAOo0B,EAAYhB,UAAW9oB,SAAUmuB,EAAmBhxB,KAAK,gBAEtH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,YACXC,YAAY,aACZpQ,MAAOo0B,EAAYX,cACnBnpB,SAAUmuB,EACVhxB,KAAK,oBAIb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAAC,IAAD,CACI2N,WAAW,SACXC,YAAY,SACZpQ,MAAOo0B,EAAYf,aAAe,GAClC/oB,SAAUmuB,EACVhxB,KAAK,cACLgH,OAAQ2lB,EAAY3lB,OAAO4kB,cAC5B,OAOP,cAAC7yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,QACXC,YAAY,QACZ7F,KAAK,QACLvK,MAAOo0B,EAAYb,YAAc,GACjCjpB,SAAUmuB,EACVhxB,KAAK,iBAIb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,gBACXC,YAAY,iBACZpQ,MAAOo0B,EAAYT,kBACnBrpB,SAAUmuB,EACVhxB,KAAK,wBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,YACXC,YAAY,YACZ7F,KAAK,MACLvK,MAAOo0B,EAAYZ,eACnBlpB,SAAUmuB,EACVhxB,KAAK,qBAIb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,iBACXC,YAAY,iBACZpQ,MAAOo0B,EAAYJ,aACnB1pB,SAAUmuB,EACVhxB,KAAK,mBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,qBACXC,YAAY,qBACZpQ,MAAOo0B,EAAYL,sBACnBzpB,SAAUmuB,EACVhxB,KAAK,4BAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,mCACA,cAAC,IAAD,CACIwF,KAAK,sBACLzH,MAAOo0B,EAAYH,oBACnB3pB,SAAUmuB,EACVnoB,KAAM8jB,EAAYD,uBAG1B,eAAC3zB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,qCACA,cAAC,IAAD,CACIwF,KAAK,6BACLzH,MAAOo0B,EAAYF,2BACnB5pB,SAAUmuB,EACVnoB,KAAM8jB,EAAYD,uBAG1B,eAAC3zB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAAC,IAAD,CACImO,YAAY,oBACZpQ,MAAOo0B,EAAYP,eACnBvpB,SAAUmuB,EACVhxB,KAAK,iBACL6I,KAAM,gBC+InBuoB,GApRS,SAACh7B,GACrB,IAAQu2B,EAAqFv2B,EAArFu2B,YAAamE,EAAwE16B,EAAxE06B,sBAAuB3M,EAAiD/tB,EAAjD+tB,eAAgBsK,EAAiCr4B,EAAjCq4B,eAAgBwC,EAAiB76B,EAAjB66B,aAE5E,OACI,qCACI,cAACl4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,8DAEJ,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SACI,cAACo2B,GAAA,EAAD,CAAOp2B,UAAU,uBAAuB3D,MAAO,CAAE8B,QAAS,OAA1D,SACI,eAACH,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,gBAApC,SACI,cAAC,IAAD,CACIwO,QAASklB,EAAe3B,eACxB9sB,KAAK,iBACL6C,SAAUshB,EACVvhB,MAAM,sBAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,gBAApC,SACI,cAAC,IAAD,CACIwO,QAASklB,EAAe1B,eACxB/sB,KAAK,iBACL6C,SAAUshB,EACVvhB,MAAM,+BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,gBAApC,SACI,cAAC,IAAD,CACIwO,QAASklB,EAAezB,qBACxBhtB,KAAK,uBACL6C,SAAUshB,EACVvhB,MAAM,8BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,gBAApC,SACI,cAAC,IAAD,CACIwO,QAASklB,EAAexB,yBACxBjtB,KAAK,2BACL6C,SAAUshB,EACVvhB,MAAM,oCAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,2BACXC,YAAY,QACZ7F,KAAK,SACLvK,MAAOk2B,EAAekB,WACtB9sB,SAAUiuB,EACV9wB,KAAK,iBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,4BACXC,YAAY,4BACZpQ,MAAOk2B,EAAetB,6BACtBtqB,SAAUiuB,EACV9wB,KAAK,mCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,yBACXC,YAAY,gBACZ7F,KAAK,QACLvK,MAAOk2B,EAAeH,2BAA6B,GACnDzrB,SAAUiuB,EACV9wB,KAAK,gCAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,mCACA,cAAC,IAAD,CACIwF,KAAK,2BACLzH,MAAOk2B,EAAeD,yBACtB3rB,SAAUiuB,EACVjoB,KAAM8jB,EAAYN,6BAG1B,cAACtzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,oCACXC,YAAY,oCACZ3I,KAAK,qCACLzH,MAAOk2B,EAAeN,mCACtBtrB,SAAUiuB,aAM9B,cAAC/3B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,wDAEJ,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SACI,cAACo2B,GAAA,EAAD,CAAOp2B,UAAU,uBAAjB,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGE,MAAI,EAAhC,UACI,cAACJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,gBAA1C,SACI,cAAC,IAAD,CAAmBwO,QAASklB,EAAerB,OAAQptB,KAAK,SAAS6C,SAAUshB,EAAgBvhB,MAAM,aAErG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,gBAA1C,SACI,cAAC,IAAD,CAAmBwO,QAASklB,EAAepB,OAAQrtB,KAAK,SAAS6C,SAAUshB,EAAgBvhB,MAAM,aAErG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,gBAA1C,SACI,cAAC,IAAD,CAAmBwO,QAASklB,EAAenB,QAASttB,KAAK,UAAU6C,SAAUshB,EAAgBvhB,MAAM,cAEvG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,gBAA1C,SACI,cAAC,IAAD,CAAmBwO,QAASklB,EAAelB,UAAWvtB,KAAK,YAAY6C,SAAUshB,EAAgBvhB,MAAM,gBAE3G,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,gBAA1C,SACI,cAAC,IAAD,CAAmBwO,QAASklB,EAAejB,SAAUxtB,KAAK,WAAW6C,SAAUshB,EAAgBvhB,MAAM,eAEzG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,gBAA1C,SACI,cAAC,IAAD,CAAmBwO,QAASklB,EAAehB,OAAQztB,KAAK,SAAS6C,SAAUshB,EAAgBvhB,MAAM,aAErG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,gBAA1C,SACI,cAAC,IAAD,CAAmBwO,QAASklB,EAAef,SAAU1tB,KAAK,WAAW6C,SAAUshB,EAAgBvhB,MAAM,sBAKrH,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,qDAEJ,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SACI,cAACo2B,GAAA,EAAD,CAAOp2B,UAAU,uBAAjB,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,6BACXC,YAAY,6BACZ7F,KAAK,QACLvK,MAAOk2B,EAAed,8BACtB9qB,SAAUiuB,EACV9wB,KAAK,oCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,mBACXC,YAAY,mBACZ7F,KAAK,QACLvK,MAAOk2B,EAAeb,eACtB/qB,SAAUiuB,EACV9wB,KAAK,qBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,kBACXC,YAAY,kBACZpQ,MAAOk2B,EAAeZ,cACtBhrB,SAAUiuB,EACV9wB,KAAK,oBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,kBACXC,YAAY,kBACZ7F,KAAK,QACLvK,MAAOk2B,EAAeX,eACtBjrB,SAAUiuB,EACV9wB,KAAK,qBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,iBACXC,YAAY,iBACZpQ,MAAOk2B,EAAe8B,mBACtB1tB,SAAUiuB,EACV9wB,KAAK,yBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,2BACXC,YAAY,2BACZpQ,MAAOk2B,EAAeV,sBACtBlrB,SAAUiuB,EACV9wB,KAAK,4BAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,YACXC,YAAY,YACZ7F,KAAK,QACLvK,MAAOk2B,EAAeT,cACtBnrB,SAAUiuB,EACV9wB,KAAK,oBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,eACXC,YAAY,eACZpQ,MAAOk2B,EAAeR,iBACtBprB,SAAUiuB,EACV9wB,KAAK,uBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,gBACXC,YAAY,gBACZ7F,KAAK,QACLvK,MAAOk2B,EAAeP,kBACtBrrB,SAAUiuB,EACV9wB,KAAK,+BAMzB,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,yDAEJ,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SACI,cAACo2B,GAAA,EAAD,CAAOp2B,UAAU,uBAAjB,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,+BACXC,YAAY,+BACZ7F,KAAK,QACLvK,MAAOk2B,EAAeL,gCACtBvrB,SAAUiuB,EACV9wB,KAAK,sCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,8BACXC,YAAY,8BACZ7F,KAAK,QACLvK,MAAOk2B,EAAekC,8BACtB9tB,SAAUiuB,EACV9wB,KAAK,oCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,gCACXC,YAAY,iCACZ7F,KAAK,QACLvK,MAAOk2B,EAAeJ,mCACtBxrB,SAAUiuB,EACV9wB,KAAK,gDAMzB,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,4CAEJ,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SACI,cAACo2B,GAAA,EAAD,CAAOp2B,UAAU,uBAAjB,SACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAA9B,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAWS,MAAO8yB,EAAYV,cAAer0B,QAAS,kBAAMq5B,GAAa,QAE7E,cAACl4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAUS,MAAO8yB,EAAYV,cAAer0B,QAAS,kBAAMq5B,GAAa,mBC1Q9F5K,GAAa,SAACjwB,GAIhB,OAHA4D,qBAAU,YACL5D,EAAMkwB,UAAYlwB,EAAMguB,WAAWhuB,EAAMmwB,WAC3C,CAACnwB,EAAMkwB,WAEN,qCACI,cAAC/rB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,QAC1B,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,WAA3B,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAASnT,EAAMkwB,SAAUzjB,SAAUzM,EAAMowB,cAAexmB,KAAM5J,EAAMqwB,YAE3F,cAAC1tB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIuP,YAAavS,EAAMwM,MACnBrK,MAAOnC,EAAMswB,SACb7jB,SAAUzM,EAAM6R,YAChBjI,KAAM5J,EAAMmwB,QACZ1hB,UAAWzO,EAAMkwB,oBAQnCK,GAAa,SAACvwB,GAChB,OACI,eAAC2C,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,UAE9B,cAAC7J,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAG7B,MAAO,CAAE2U,WAAY,OAAtD,SACI,eAAC6a,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAYpa,EAAM4J,KAAMA,KAAM5J,EAAM4J,KAAMzH,MAAOnC,EAAMmC,MAAOsK,SAAUzM,EAAMyM,SAA9F,UACI,cAACgkB,GAAA,EAAD,CAAkBtd,SAAyB,IAAhBnT,EAAMmC,MAAgBA,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACxF,cAACikB,GAAA,EAAD,CAAkBtd,SAAyB,IAAhBnT,EAAMmC,MAAiBA,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,gBAMxGie,GAAc,CAChB,CAAEppB,GAAI,KAAMuI,KAAM,MAClB,CAAEvI,GAAI,KAAMuI,KAAM,OA0GPqxB,GAxGQ,SAACj7B,GACpB,IAAQgvB,EAAyFhvB,EAAzFgvB,oBAAqB5B,EAAoEptB,EAApEotB,cAAee,EAAqDnuB,EAArDmuB,OAAQH,EAA6ChuB,EAA7CguB,WAAYiB,EAAiCjvB,EAAjCivB,gBAAiBsH,EAAgBv2B,EAAhBu2B,YAEjF,OACI,mCACI,cAAC5zB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UAEI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,6BAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,GAAD,CACIpnB,KAAK,kCACLzH,MAAOirB,EAAcuH,gCACrBloB,SAAUuiB,EACVxiB,MAAM,sCAGd,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,GAAD,CACIxkB,MAAM,wBACN6jB,QAAQ,qBACRH,SAAU9C,EAAc+H,mBACxBhF,QAAQ,2BACRG,SAAUlD,EAAc8H,yBACxB9E,cAAenB,EACfpd,YAAamd,EACbhB,WAAYA,EACZvf,SAAU2e,EAAcuH,kCAE5B,cAACvvB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOskB,8BAE9C,cAACvyB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI7uB,MAAOirB,EAAc4H,6BAA+B,GACpDvoB,SAAUuiB,EACVplB,KAAK,8BACLukB,OAAQA,EACR1f,SAAU2e,EAAcuH,oCAGhC,eAAChyB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,WACXC,YAAY,WACZpQ,MAAOirB,EAAcwH,sBAAwB,GAC7CnoB,SAAUuiB,EACVplB,KAAK,uBACL6E,SAAU2e,EAAcuH,kCAE5B,cAACvvB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB+nB,EAAcxc,OAAOgkB,0BAEhD,cAACjyB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,WACXC,YAAY,WACZpQ,MAAOirB,EAAcyH,sBAAwB,GAC7CpoB,SAAUuiB,EACVplB,KAAK,uBACL6E,SAAU2e,EAAcuH,oCAGhC,cAAChyB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,OACXC,YAAY,OACZpQ,MAAOirB,EAAc0H,yBAA2B,GAChDroB,SAAUuiB,EACVplB,KAAK,0BACL6E,SAAU2e,EAAcuH,oCAGhC,cAAChyB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,SACXC,YAAY,SACZpQ,MAAOirB,EAAc2H,2BAA6B,GAClDtoB,SAAUuiB,EACVplB,KAAK,4BACL6E,SAAU2e,EAAcuH,oCAGhC,eAAChyB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CACIwF,KAAK,iCACLzH,MAAOirB,EAAc6H,+BACrBxoB,SAAUuiB,EACVvc,KAAMgY,GACNhc,SAAU2e,EAAcuH,kDCvItDuG,GAAgB,SAACl7B,GACnB,IAAIm7B,EAAiBp3B,IAAW+sB,gBAChC,EAeInvB,qBAAW+yB,IAdX2D,EADJ,EACIA,eACAzK,EAFJ,EAEIA,aACA8M,EAHJ,EAGIA,sBACA3M,EAJJ,EAIIA,eACA4M,EALJ,EAKIA,WACAC,EANJ,EAMIA,kBACAP,EAPJ,EAOIA,oBACA9D,EARJ,EAQIA,YACAsE,EATJ,EASIA,aACA7L,EAVJ,EAUIA,oBACA5B,EAXJ,EAWIA,cACAY,EAZJ,EAYIA,WACAG,EAbJ,EAaIA,OACAc,EAdJ,EAcIA,gBAGJ,OACI,qBAAKtqB,UAAU,oBAAoB3D,MAAO,CAAEyD,UAAW,GAAvD,SACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAAC,GAAD,CACIg4B,aAAcA,EACdD,kBAAmBA,EACnBP,oBAAqBA,EACrB9D,YAAaA,IAEjB,cAAC,GAAD,CACItH,gBAAiBA,EACjBD,oBAAqBA,EACrB5B,cAAeA,EACfe,OAAQA,EACRoI,YAAaA,EACbvI,WAAYA,IAEhB,cAAC,GAAD,CACI0M,sBAAuBA,EACvB3M,eAAgBA,EAChBsK,eAAgBA,EAChB9B,YAAaA,EACbsE,aAAcA,IAElB,cAACl4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASosB,EAAcjpB,UAAU,aAAa8J,WAAU,OAAC0sB,QAAD,IAACA,OAAD,EAACA,EAAgBC,iBAA1F,SACK/C,EAAe5B,QAAU,OAAS,UAG3C,cAAC9zB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASm5B,EAAYh2B,UAAU,aAAhD,4BAgBLgtB,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAqBA,GAArB,aACI,cAAC,GAAD,eAAmBA,QC7DzB8yB,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,KAAMiH,qBAAqB,GACnE,CAAExG,IAAK,YAAaxE,KAAM,OAAQ+D,MAAO,OACzC,CAAES,IAAK,aAAcxE,KAAM,QAAS+D,MAAO,OAC3C,CACIS,IAAK,eACLxE,KAAM,YA0FCyxB,GAtFM,SAACr7B,GACSyB,eAAnB6J,eAAR,IACI6vB,EAAiBp3B,IAAW+sB,gBAChC,EAA0B9uB,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZ8vB,WAAY,GACZ7E,QAAS,OAJb,mBAAOhzB,EAAP,KAAcxB,EAAd,KAOMs5B,EAAwB,uCAAG,sBAAAr3B,EAAA,sDAC7BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHW,2CAAH,qDAO9BtQ,oBAAS,sBAAC,sBAAAM,EAAA,sDACNq3B,IADM,2CAEP,IAEH,IAAMC,EAAY,SAACpiB,GACfnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACNyD,QAASrd,QAYXia,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,cAAC/R,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACI4V,aAAa,aACbnX,QAAS,WACLg6B,EAAU9mB,EAAI+hB,eAO5BljB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAOnD,OANIgH,IACAA,EAAUT,UAAY0e,GAErBrzB,EAAMy7B,QACP3f,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,WAAYxE,KAAM,gBAAiB+D,MAAO,QAEpEmO,IACR,IAEH,OACI,qBAAKnX,UAAU,oBAAf,SACKlB,EAAMuvB,KACH,cAAC,GAAD,CAAeyD,QAAShzB,EAAMgzB,QAASgE,YApC1B,SAAC/0B,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,OAEVttB,GAAO61B,KA+BuElX,WAAYrkB,EAAMqkB,aAExF,mCACI,cAAC,GAAD,CACI/L,UAAwB,OAAd6iB,QAAc,IAAdA,OAAA,EAAAA,EAAgBC,iBAAkB,aAAe,GAC3D3iB,WAAY,kBAAM+iB,EAAU,OAC5BrlB,OAAM,4BAAuBnW,EAAMqkB,YACnC9Q,QAASA,EACT2B,YAAY,UACZjB,uBAAuB,cACvBmD,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,gBCjG3BylB,GAAyB,uCAAG,4BAAAz3B,EAAA,sEACrB6B,aAAY,uBADS,cACjCL,EADiC,yBAE9BA,GAF8B,2CAAH,qDAKzBk2B,GAA0B,uCAAG,WAAOv6B,GAAP,eAAA6C,EAAA,sEACtB6B,aAAY,uBAAD,OAAwB1E,IADb,cAClCqE,EADkC,yBAE/BA,GAF+B,2CAAH,sDAK1Bm2B,GAA2B,uCAAG,WAAOx1B,GAAP,eAAAnC,EAAA,sEACvBsB,aAAa,sBAAuBa,GADb,cACnCX,EADmC,yBAEhCA,GAFgC,2CAAH,sDAK3Bo2B,GAAiC,uCAAG,4BAAA53B,EAAA,sEAC7B6B,aAAY,qBADiB,cACzCL,EADyC,yBAEtCA,GAFsC,2CAAH,qDCuI/Bq2B,GA5IW,SAAC/7B,GACvB,MAA0BgC,mBAAS,CAC/Bg6B,yBAA0B,KAC1BC,kCAAmC,GACnCC,+BAAgC,GAChCC,8BAA8B,EAC9BC,2BAA4B,GAC5BxrB,OAAQ,GACRyrB,aAAc,KAPlB,mBAAO54B,EAAP,KAAcxB,EAAd,KAUA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,8BAAAM,EAAA,0DACFlE,EAAMs8B,eADJ,gCAEcV,GAA2B57B,EAAMs8B,gBAF/C,QAEE52B,EAFF,QAGMoE,SACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELu4B,yBAA0Bt2B,EAAIW,KAAK21B,yBACnCC,kCAAmCv2B,EAAIW,KAAK41B,kCAC5CC,+BAAgCx2B,EAAIW,KAAK61B,+BACzCE,2BAA4B12B,EAAIW,KAAKk2B,wCACrCJ,6BAA8Bz2B,EAAIW,KAAK81B,kCAV7C,uBAeUL,KAfV,OAeFp2B,EAfE,OAgBNzD,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL44B,aAAc32B,EAAIW,KAAK4V,KAAK1S,KAAI,SAACxG,GAAD,MAAW,CACvC1B,GAAI0B,EAAK+mB,kBACTlgB,KAAM7G,EAAKq5B,oCApBb,2CAuBP,IAEH,IAAMrc,EAAoB,SAACjU,GACvB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,EAAOzH,QAWvC2P,EAAc,WAChB,IAAQmqB,EAAkGx4B,EAAlGw4B,kCAAmCC,EAA+Dz4B,EAA/Dy4B,+BAAgCE,EAA+B34B,EAA/B24B,2BACvE5Z,EAAoB,QACpBzQ,GAAc,EACdnB,EAAS,GAcb,OAbK4R,EAAkBvQ,KAAKgqB,KACxBrrB,EAAOqrB,kCAAoC,yBAC3ClqB,GAAc,GAEbyQ,EAAkBvQ,KAAKiqB,KACxBtrB,EAAOsrB,+BAAiC,yBACxCnqB,GAAc,GAEbyQ,EAAkBvQ,KAAKmqB,KACxBxrB,EAAOwrB,2BAA6B,yBACpCrqB,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAER0qB,EAAmB,CACrBR,yBAA0Bv4B,EAAMu4B,yBAChCE,+BAAgCz4B,EAAMy4B,+BACtCD,kCAAmCx4B,EAAMw4B,kCACzCE,6BAA8B14B,EAAM04B,6BACpCC,2BAA4B34B,EAAM24B,2BAClCG,wCAAyC94B,EAAM24B,4BARrC,SAUEP,GAA4BW,GAV9B,QAUV92B,EAVU,QAWNoE,SACJyB,EAAiB,4CACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAfT,2CAAH,qDAqBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACI,cAAC,IAAD,CACI2N,WAAW,mBACX1I,KAAK,iCACL6C,SAAUsT,EACV5d,MAAOsB,EAAMy4B,+BACbtrB,OAAQnN,EAAMmN,OAAOsrB,mCAG7B,eAACv5B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CACIwF,KAAK,6BACLzH,MAAOsB,EAAM24B,4BAA8B,IAC3C3vB,SAAUsT,EACVtN,KAAMhP,EAAM44B,eAEhB,cAACj3B,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOwrB,gCAExC,cAACz5B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,cACX1I,KAAK,oCACL6C,SAAUsT,EACV5d,MAAOsB,EAAMw4B,kCACbrrB,OAAQnN,EAAMmN,OAAOqrB,sCAG7B,cAACt5B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACImQ,QAAS1P,EAAM04B,6BACfvyB,KAAK,+BACL6C,SAtFO,SAACX,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAoFxB3G,MAAM,kBAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMs8B,eAAiB,SAAW,cC5ItFG,GAAQ,CACV,CAAE7yB,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,iBAAkB0R,QAAQ,GAClC,CAAE1R,KAAM,sBAAuB0R,QAAQ,IAErCT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,oCAAqCxE,KAAM,eAClD,CACIwE,IAAK,iCACLxE,KAAM,WACN+D,MAAO,MACPsN,eAAgBjL,IAAWkL,uBAC3BvG,UAAW3E,IAAWmL,sBAE1B,CAAE/M,IAAK,6BAA8BxE,KAAM,WAAY+D,MAAO,OAC9D,CAAES,IAAK,+BAAgCxE,KAAM,cAAe+K,UAAW,SAAC7I,GAAD,OAAQA,EAAE4I,IAAIynB,6BAA+B,MAAQ,MAAOxuB,MAAO,QAwE/H+uB,GAtEM,WACjB,MAA0B16B,mBAAS,CAC/B26B,iBAAkB,GAClBnxB,YAAY,EACZgQ,aAAa,IAHjB,mBAAO/X,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN04B,IADM,2CAEP,IAEH,IAAMA,EAAQ,uCAAG,4BAAA14B,EAAA,sEACGy3B,KADH,OACTj2B,EADS,OAGbzD,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELk5B,iBAAkBj3B,EAAIW,KACtBmF,YAAY,OANH,2CAAH,qDASRyR,EAAe,SAAC5W,GAClB,OACI,qBAAKrF,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMq7B,EAAax2B,EAAKqO,MAAMiE,aAAa,kCAItEkkB,EAAe,SAACjtB,GAClB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,EAAM+E,OAAQ3Q,EAAOosB,+BAGjEc,EAAc,SAACp3B,GACjBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,OAC9C9V,GAAOk3B,KAGLrpB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI7C,OAHIgH,IACAA,EAAUT,UAAYsI,GAEnBnB,IACR,IAEG1b,EAAQqD,EAAM8c,OAAS,+BAAiC,4BAE9D,OACI,sBAAK5b,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQqhB,KACrB,cAAC,IAAD,CACIlpB,QAASA,EACTmO,KAAMje,EAAMk5B,iBACZ5Z,cAAc,EACdC,cAAc,EACdC,YAAaxf,EAAM+H,WACnB8M,SAAS,4BACTG,WAAYokB,EACZ3Z,UAAQ,EACRC,OAAQ,MAEX1f,EAAM+X,YACH,cAACrb,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMu8B,GAAY,IAArD,SACI,cAAC,GAAD,CAAmBR,eAAgB74B,EAAM8c,OAAQhgB,QAAS,kBAAMu8B,GAAY,QAEhF,S,8BCvFHC,I,OAAqB,uCAAG,4BAAA74B,EAAA,sEACjB6B,aAAY,uBADK,cAC7BL,EAD6B,yBAE1BA,GAF0B,2CAAH,sDAKrBs3B,GAAmB,uCAAG,WAAO32B,GAAP,eAAAnC,EAAA,sEACfsB,aAAa,sBAAuBa,GADrB,cAC3BX,EAD2B,yBAExBA,GAFwB,2CAAH,sD,0CC+GjBu3B,OA5Gf,SAAsBj9B,GAClB,MAA6CyB,eAAnB6J,GAA1B,EAAQC,iBAAR,EAA0BD,gBAClB4xB,EAAwBv7B,qBAAWC,KAAnCs7B,oBAER,EAA0Bl7B,mBAAS,CAC/Bm7B,SAAU,GACVvsB,OAAQ,GACRpF,YAAY,EACZ4xB,OAAQ,KAJZ,mBAAO35B,EAAP,KAAcxB,EAAd,KAOA2B,oBAAS,sBAAC,4BAAAM,EAAA,sEACU64B,KADV,QACFr3B,EADE,QAEFW,KAAKmZ,UAAU5I,SAAQ,SAAUymB,GAAI,IAAD,IAChCC,EAAS,OAAG53B,QAAH,IAAGA,GAAH,UAAGA,EAAKW,YAAR,iBAAG,EAAWk3B,uBAAd,aAAG,EAA4B/pB,MAAK,SAACgqB,GAAD,OAAOA,EAAEC,sBAAwBJ,EAAEh8B,MAEhFg8B,EAAE/hB,SADFgiB,KAIRr7B,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAELs5B,SAAQ,OAAEz3B,QAAF,IAAEA,GAAF,UAAEA,EAAKW,YAAP,aAAE,EAAWmZ,UACrBhU,YAAY,OAXV,2CAaP,IAEH,IAAMuiB,EAAiBV,uBAAY,SAACqQ,GAAD,OAAO,SAAC5xB,GACvC,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACVwqB,EAAY,aAAOl6B,EAAM05B,UACzBS,EAAWn6B,EAAM05B,SAASU,WAAU,SAAClR,GAAD,OAAOA,EAAEtrB,IAAMq8B,KACvDC,EAAaC,GAAUh0B,GAAQuJ,EAC/BlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,IAAe05B,SAAUQ,EAAcP,OAAQ,YAK1DU,EAAezQ,uBAAY,SAACthB,GAC9B,IAAIgyB,EAAUt6B,EAAM05B,SAAS5zB,KAAI,SAACkK,GAAD,mBAAC,eAAYA,GAAb,IAAgB6H,OAAQvP,OACzD9J,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,IAAe05B,SAAUY,EAASX,OAAQrxB,EAAM,QAAU,kBAKrEiyB,EAAe3Q,sBAAW,uCAAC,WAAOthB,GAAP,iBAAA7H,EAAA,6DACzBmC,EAAO,CAAE43B,YAAa,MACtBlyB,IACA1F,EAAO,CAAE43B,YAAax6B,EAAM05B,SAASe,QAAO,SAACvR,GAAD,OAAOA,EAAErR,UAAQ/R,KAAI,SAACojB,GAAD,OAAOA,EAAEtrB,QAHjD,SAKb27B,GAAoB32B,GALP,QAKzBX,EALyB,QAMrBoE,SAEJ9J,EAAMO,SAAQ,GACd28B,KAEA5xB,EAAe5F,EAAIyG,SAXM,2CAAD,uDAchC,OACI,cAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,SACKY,EAAM+H,WACH,cAAC7I,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,GAAIzP,WAAS,EAAC7B,WAAW,SAASsX,QAAQ,SAASrX,MAAO,CAAE2M,MAAO,sBAAuBjN,OAAQ,KAAjH,SACI,cAAC6xB,GAAA,EAAD,MAGJ,qCACI,eAAC5vB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAAQ,WAApC,UACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIwV,KAAM4lB,KACNj7B,MAAK,UAAqB,SAAhBO,EAAM25B,OAAoB,YAAc,IAClD5wB,MAAM,aACNhL,QAAS,kBAAMs8B,GAAa,QAGpC,cAACn7B,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIwV,KAAM6lB,KACNl7B,MAAK,UAAqB,WAAhBO,EAAM25B,OAAsB,YAAc,IACpD5wB,MAAM,cACNhL,QAAS,kBAAMs8B,GAAa,WAIvCr6B,EAAM05B,SAAS5zB,KAAI,SAACgoB,GAAD,OAChB,cAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,SACI,cAAC,IAAD,CAAmB5d,QAASoe,EAAEjW,OAAQ1R,KAAK,SAAS6C,SAAUshB,EAAewD,EAAElwB,IAAKmL,MAAO+kB,EAAE3nB,YAGrG,eAACjH,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAAS,kBAAMw8B,GAAa,IAAO56B,WAAS,EAACuB,UAAU,aAAxE,0BAIJ,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAAS,kBAAMw8B,GAAa,IAAQ56B,WAAS,EAACuB,UAAU,aAAzE,qC,gNCzGf05B,GAAsB,uCAAG,WAAOC,GAAP,eAAAp6B,EAAA,sEAClB6B,aAAY,qBAAD,OAAsBu4B,IADf,cAC9B54B,EAD8B,yBAE3BA,GAF2B,2CAAH,sDAItB64B,GAAc,uCAAG,WAAOl9B,GAAP,6BAAA6C,EAAA,2DAAWs6B,EAAX,+BAAiB,MAAjB,gCAGVz4B,aAAY,cAAD,OAAe1E,EAAf,YAAqBm9B,IAHtB,OAGtB94B,EAHsB,8CAKVK,aAAY,cAAD,OAAe1E,IALhB,OAKtBqE,EALsB,wCAOnBA,GAPmB,4CAAH,sDAUd+4B,GAAS,uCAAG,WAAOp4B,GAAP,eAAAnC,EAAA,sEACLsB,aAAa,aAAca,GADtB,cACjBX,EADiB,yBAEdA,GAFc,2CAAH,sDCXTg5B,GAAmBnU,0BAEnBoU,GAAsB,SAAC3+B,GAChC,MAA6CyB,eAAnB6J,GAA1B,EAAQC,iBAAR,EAA0BD,gBACtBuD,EAAU8b,eAEd,EAA0B3oB,mBAAS,CAC/B48B,qBAAsB,GACtBv9B,GAAI,OAFR,mBAAOw9B,EAAP,KAAcC,EAAd,KAKA,EAA0B98B,mBAAS,CAC/B+8B,cAAe,GACfC,OAAQ,KAFZ,mBAAOv7B,EAAP,KAAcxB,EAAd,KAKA,EAAwBD,oBAAS,GAAjC,mBAAOnB,EAAP,KAAao+B,EAAb,KA2BAr7B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNg7B,IADM,2CAEP,CAACr+B,EAAMb,EAAMm/B,SAAUn/B,EAAMo/B,eAEhC,IAAMF,EAAe,uCAAG,gCAAAh7B,EAAA,0DAChBlE,EAAMm/B,SADU,gCAEAZ,GAAev+B,EAAMm/B,SAAUn/B,EAAMo/B,cAFrC,OAEZ15B,EAFY,OAGZW,EAHY,OAGLX,QAHK,IAGLA,GAHK,UAGLA,EAAKW,YAHA,aAGL,EAAW4V,KAAK,GAC3Bha,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk7B,cAAa,OAAEr5B,QAAF,IAAEA,OAAF,EAAEA,EAAKW,KAAK04B,cACzBC,OAAM,OAAEt5B,QAAF,IAAEA,OAAF,EAAEA,EAAKW,KAAK24B,OAClBI,aAAc/4B,EAAK+4B,aACnBC,aAAch5B,EAAKg5B,aACnBC,eAAgBj5B,EAAKi5B,eACrBC,QAASl5B,EAAKk5B,aAXF,2CAAH,qDA+Bf3R,EAAY,uCAAG,4BAAA1pB,EAAA,6DACbmC,EAAO,CACP+4B,aAAc37B,EAAM27B,cAAgB,KACpCI,uBAAwB/7B,EAAM47B,cAAgB,KAC9CI,yBAA0Bh8B,EAAM67B,gBAAkB,KAClDI,kBAAmBj8B,EAAM87B,SAAW,MALvB,SAQDd,GAAUp4B,GART,cASTyD,SAEJ9J,EAAM2/B,oBACN3/B,EAAMO,WAEN+K,EAAe,SAdF,2CAAH,qDAkBlB,OACI,cAACozB,GAAiB5Q,SAAlB,CAA2B3rB,MAAO,CAAEtB,OAAMg+B,QAAOe,YA3EjC,SAAC7zB,EAAK1K,EAAIk+B,GAAV,OAAsB,WACtCT,GAAS,SAACj7B,GACN,IAAIg8B,EAAK,eAAQh8B,GAejB,OAdIkI,GAAmB,IAAZwzB,GACPM,EAAMjB,qBAAuB,UAC7BiB,EAAMx+B,GAAKA,EACXw+B,EAAM38B,MAAQ,SACP6I,GACP8zB,EAAMjB,qBAAuB,kBAC7BiB,EAAMx+B,GAAKA,EACXw+B,EAAM38B,MAAQ,UAEd28B,EAAMjB,qBAAuB,GAC7BiB,EAAMx+B,GAAK,KACXw+B,EAAM38B,MAAQ,IAGX28B,OA0DmDC,UAnChD,SAAC/zB,GACf9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBy7B,eAAgBvzB,QAkC8BU,SA/E9D,SAACV,GACZ8C,EAAQC,KAAK/C,IA8EsEg0B,YAvBnE,SAACh0B,GAAD,OAAS,WACzBkzB,GAASp+B,KAsBuF4C,QAAOu8B,sBA/B7E,SAAC3+B,GAAD,OAAQ,WAClCY,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GAEjB,OADAg8B,EAAMN,QAAUl+B,EACTw+B,OA2BmHjS,gBAA9H,SACK5tB,EAAMK,Y,0CC3FbkvB,GAAS,CACX0Q,QAAS,CACLtyB,MAAO,QAGXuyB,YAAa,CACTxtB,cAAe,aACfvH,OAAQ,QAGVg1B,GAAc,CAChBC,EAAGC,KACHC,EAAGC,KACHC,EAAGC,MAEDC,GAAa,SAAC1gC,GAChB,MAAkE2B,qBAAW+8B,IAArEoB,EAAR,EAAQA,UAAWr8B,EAAnB,EAAmBA,MAAOu8B,EAA1B,EAA0BA,sBAAuBpS,EAAjD,EAAiDA,aAEjD,OACI,mCACKnqB,EAAMs7B,cAAc/sB,OACjB,gCACI,cAAC7E,GAAA,EAAD,CAAYhK,QAAQ,QAAQw9B,cAAY,EAACz9B,MAAM,YAA/C,kCAGA,qBAAKlC,MAAOuuB,GAAO0Q,QAAnB,SACKx8B,EAAMs7B,cAAcx1B,KAAI,SAACgoB,EAAGmM,GACzB,IAAIkD,EAAOT,GAAY5O,EAAElwB,IACzB,OACI,eAAC4B,EAAA,EAAD,CAEIjC,MAAOuuB,GAAO2Q,YACd/8B,SAAc,OAALM,QAAK,IAALA,OAAA,EAAAA,EAAO67B,iBAAkB/N,EAAElwB,GAAK,YAAc,WACvD6B,MAAM,YACN1B,QAAS,kBAAMs+B,EAAUvO,EAAElwB,KAL/B,UAOI,cAACu/B,EAAD,IAPJ,IAOcrP,EAAE3nB,OANP8zB,EAAI,QAWzB,uBAEA,cAACvwB,GAAA,EAAD,CAAYhK,QAAQ,QAAQw9B,cAAY,EAACz9B,MAAM,YAA/C,0BAIA,qBAAKlC,MAAO,CAAE2M,MAAO,QAArB,SACI,oBAAI3M,MAAO,CAAE6/B,cAAe,OAAQ//B,QAAS,OAAQgC,QAAS,GAA9D,gBACKW,QADL,IACKA,OADL,EACKA,EAAOu7B,OAAOz1B,KAAI,SAACgoB,EAAGmM,GACnB,OACI,oBAAgB18B,MAAO,CAAEI,OAAQ,UAAW+J,OAAQ,WAAa3J,QAASw+B,EAAsBzO,EAAElwB,IAAlG,SACI,cAACy/B,GAAA,EAAD,CAAQ9/B,MAAO,CAAEqC,WAAYkuB,EAAEwP,iBAAkBrgC,OAAQ,GAAIiN,MAAO,GAAIqzB,OAAiB,IAATzP,EAAElwB,GAAW,iBAAmB,IAAhH,SACI,+BAAW,OAALoC,QAAK,IAALA,OAAA,EAAAA,EAAO87B,WAAYhO,EAAElwB,IAAM,cAAC,KAAD,CAAWL,MAAO,CAAEkC,MAAgB,IAATquB,EAAElwB,GAAW,QAAU,WAFlFq8B,EAAI,UAS7B,uBACA,cAAC/6B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBxB,QAASosB,EAA1B,2BAKZ,qBAAK5sB,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,GAAD,SAcLgkB,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAgBA,QC1EtB+K,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFyC,MAAO,OACPqzB,OAAQ,kCACRC,QAAS,GACTrpB,SAAU,IACV8X,aAAc,GACdK,UAAW,0CAGfmR,OAAQ,CACJxgC,OAAQ,GACRiN,MAAO,QAITwzB,GAAY,CACdX,EAAG,EACHF,EAAG,EACHF,EAAG,IAGDgB,GAAgB,SAACphC,GACnB,IAAM2L,EAAUZ,KAChB,EAAmEpJ,qBAAW+8B,IAAtEG,EAAR,EAAQA,MAAOe,EAAf,EAAeA,YAAanzB,EAA5B,EAA4BA,SAAUszB,EAAtC,EAAsCA,YAAat8B,EAAnD,EAAmDA,MAAO5C,EAA1D,EAA0DA,KAClDob,EAASjc,EAATic,KAGJolB,GAFYplB,EAAKjK,OAEPvO,EAAMu7B,OAAOxrB,MAAK,SAAC+d,GAAD,OAAOA,EAAElwB,KAAOrB,EAAMu/B,YAEtD,OACI,eAAC+B,GAAA,EAAD,CAAM38B,UAAWgH,EAAQT,KAAzB,UACI,eAACiC,GAAA,EAAD,CAAYhK,QAAQ,KAAKnC,MAAO,CAAEqC,WAAU,OAAEg+B,QAAF,IAAEA,OAAF,EAAEA,EAASN,iBAAkB79B,MAAK,OAAEm+B,QAAF,IAAEA,OAAF,EAAEA,EAASE,WAAYz+B,QAAS,EAAG2X,UAAW,UAA5H,UACKza,EAAMwhC,QADX,WAGI,cAACn9B,EAAA,EAAD,CAASjE,MAAO,oBAAhB,SACI,cAAC,KAAD,CAAWoB,QAASu+B,EAAY//B,EAAMwhC,SAAUxgC,MAAO,CAAEI,OAAQ,UAAWV,OAAQ,GAAIiV,YAAa,IAAM8rB,KAAK,eAIxH,cAAC9+B,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAEqC,WAAU,OAAEg+B,QAAF,IAAEA,OAAF,EAAEA,EAASN,kBAAoB1oB,QAAQ,gBAA1E,gBACK4D,QADL,IACKA,OADL,EACKA,EAAM1S,KAAI,SAACgoB,EAAGmM,GAAO,IAAD,IACbkD,EAAI,OAAGrP,QAAH,IAAGA,OAAH,EAAGA,EAAGqP,KACVc,EAAKP,GAAUnhC,EAAM2hC,aACrBC,EAAK,OAAGrQ,QAAH,IAAGA,GAAH,UAAGA,EAAGrV,aAAN,aAAG,EAAU2lB,QAAQ,GAAGC,QAAQ,0BAA2B,OACpE,OACI,cAACz9B,EAAA,EAAD,CAASjE,MAAOmxB,EAAE/iB,OAAS,GAAK+iB,EAAEwQ,UAAW7nB,OAAK,EAAlD,SACI,cAACvX,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAU,IAAN0+B,EAAW,GAAK,EAAG3Q,GAAI2Q,EAAIM,GAAIN,EAA9C,SACI,sBACIO,aAAcrC,GAAY,EAAMrO,EAAEwQ,UAAW/hC,EAAMu/B,SACnD2C,aAActC,GAAY,EAAOrO,EAAEwQ,UAAW/hC,EAAMu/B,SACpDv+B,MAAO,CACH2M,MAAO,OACP7M,QAAS,OACTgC,QAAS,OACTk+B,OAAQ,iCACR39B,YAAiB,OAALw7B,QAAK,IAALA,OAAA,EAAAA,EAAOx9B,OAAP,OAAckwB,QAAd,IAAcA,OAAd,EAAcA,EAAGwQ,WAAjB,OAA6BlD,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAOD,qBAApC,OAA2DyC,QAA3D,IAA2DA,OAA3D,EAA2DA,EAASN,iBAChF79B,OAAY,OAAL27B,QAAK,IAALA,OAAA,EAAAA,EAAOx9B,OAAP,OAAckwB,QAAd,IAAcA,OAAd,EAAcA,EAAGwQ,WAAjB,OAA6BlD,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAO37B,MAApC,OAA4Cm+B,QAA5C,IAA4CA,OAA5C,EAA4CA,EAASE,YATpE,UAYI,qBAAKvgC,MAAO,CAAE2M,MAAO,QACrB,qBAAK3M,MAAO,CAAE2M,MAAO,MAAOlJ,UAAW,GAAvC,SACI,cAACq8B,GAAA,EAAD,CACI1mB,aAAW,SACXzV,UAAWgH,EAAQu1B,OACnBlgC,MAAO,CAAEmhC,gBAAe,OAAE5Q,QAAF,IAAEA,OAAF,EAAEA,EAAGluB,WAAY0sB,UAAU,oBAAD,cAAsBwB,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAG6Q,oBAH/E,UAKM,OAAD7Q,QAAC,IAADA,OAAA,EAAAA,EAAG8Q,YAAa,uBAAMrhC,MAAO,CAAEqZ,SAAU,IAAzB,iBAAgCkX,QAAhC,IAAgCA,OAAhC,EAAgCA,EAAG8Q,WAAnC,OAAyD,cAACzB,EAAD,QAnBtF,gBAuBI,sBACI5/B,OAAK,GACD2U,WAAY,GACZhI,MAAO,MACPvM,OAAQ,UACRkhC,aAAc,WACdC,WAAY,UALX,sBAMM,OANN,yBAOS,UAPT,8BAQchR,EAAE/iB,OAAS,GAAK,IAR9B,GAULhN,QAAS,kBAAMiL,EAAQ,OAAC8kB,QAAD,IAACA,OAAD,EAACA,EAAGlW,OAX/B,WAaM,OAADkW,QAAC,IAADA,OAAA,EAAAA,EAAGrV,OACA,sBAAKlb,MAAO,CAAEqZ,SAAU,GAAI3B,WAAY,IAAK8pB,WAAW,6BAAxD,UACK,IADL,cAESZ,EAAMa,eAAe,UAC1B,uBAAMzhC,MAAO,CAAEqZ,SAAU,GAAImoB,WAAW,4BAA8B7sB,WAAY,GAAlF,qBAAyF4b,QAAzF,IAAyFA,OAAzF,EAAyFA,EAAGnxB,MAA5F,UAEJmxB,EAAE/iB,OACF,qBAAKxN,MAAO,CAAEqZ,SAAU,GAAI3B,WAAY,IAAK8pB,WAAW,6BAAxD,gBAAyFjR,QAAzF,IAAyFA,OAAzF,EAAyFA,EAAGnxB,QAE5F,qBAAKY,MAAO,CAAEqZ,SAAU,GAAI3B,WAAY,IAAK8pB,WAAW,6BAAxD,gBAAyFjR,QAAzF,IAAyFA,OAAzF,EAAyFA,EAAGnxB,QAEhG,uBAAMY,MAAO,CAAEqZ,SAAU,GAAIqoB,aAAc,GAAIF,WAAW,6BAA1D,qBAA4FjR,QAA5F,IAA4FA,OAA5F,EAA4FA,EAAGwQ,sBAjD/G,cAA+DrE,SA0D1E78B,EACG,cAACV,GAAA,EAAD,CAAYI,QAASw/B,EAAY//B,EAAMwhC,SAAUphC,MAAM,WAAWI,SAAS,KAA3E,SACI,cAAC,GAAD,CACIghC,QAASxhC,EAAMwhC,QACfrC,SAAUn/B,EAAMm/B,SAChBC,aAAcp/B,EAAMo/B,aACpBO,kBAAmB3/B,EAAM2/B,kBACzBp/B,QAASw/B,EAAY//B,EAAMwhC,aAGnC,SAYD7P,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAmBA,Q,4HChGzB+K,GAAYC,YAAW,CACzBE,KAAM,CACFyC,MAAO,SAIXwzB,GAAY,CACZX,EAAG,GACHF,EAAG,EACHF,EAAG,GAGHuC,GAAW,UACXC,GAAiB,uBACjBC,GAAc,UACdC,GAAoB,2BAGpBC,GAAa,UACbC,GAAmB,yBACnBC,GAAY,UACZC,GAAkB,UAwmBPC,GAtmBW,SAACnjC,GAAW,IAAD,IAC3B4M,EAAiBD,KAEvB,GADgB5B,KACU/I,mBAAS,CAC/BohC,SAAU,GACVC,UAAW,GACXC,YAAY,EACZC,SAAU,EACVC,WAAY,MALhB,mBAAO//B,EAAP,KAAcxB,EAAd,KAOA,EAA+DN,qBAAWC,KAAlE6hC,EAAR,EAAQA,YAAkCC,GAA1C,EAAqBxG,oBAArB,EAA0CwG,kBAE1C,EAA8B1hC,mBAAS,IAAvC,mBAEA,GAFA,UAE8B2hC,IAAM3hC,UAAS,IAA7C,mBA6WI4hC,GA7WJ,UA6Wc,CACVpD,EAxWe,CACf,CACII,KAAMiD,KACNxB,WAAY5+B,EAAM4/B,UAAUS,iBAC5B1jC,MAAOqD,EAAM4/B,UAAUU,YAAc,EACrChC,UAAW,YACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,gCAEV,CACIulB,KAAMiD,KACNxB,WAAY5+B,EAAM4/B,UAAUW,cAC5B5jC,MAAOqD,EAAM4/B,UAAUY,SAAW,EAClClC,UAAW,UACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,wBAEV,CACIulB,KAAMiD,KACNxB,WAAY5+B,EAAM4/B,UAAUa,WAC5B9jC,MAAOqD,EAAM4/B,UAAUc,KAAO,EAC9BpC,UAAW,MACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,CACFiY,SAAS,kBACT8Q,MAAO,CAAEC,UAAU,KAG3B,CACIzD,KAAM0D,KAENlkC,MAAOqD,EAAM4/B,UAAUkB,eAAiB,EACxCxC,UAAW,YACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,qBAmUVilB,EA/TmB,CACnB,CACIM,KAAMiD,KAENzjC,MAAOqD,EAAM4/B,UAAUmB,cAAgB,EACvCzC,UAAW,WACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,4BAEV,CACIulB,KAAMiD,KAENzjC,MAAOqD,EAAM4/B,UAAUoB,UAAY,EACnC1C,UAAW,OACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,4BAEV,CACIulB,KAAM8D,KAENtkC,MAAOqD,EAAM4/B,UAAUsB,iBAAmB,EAC1C5C,UAAW,cACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,4BAEV,CACIulB,KAAMP,KAENjgC,MAAOqD,EAAM4/B,UAAUuB,YAAc,EACrC7C,UAAW,SACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,6BA6RV+kB,EAzRY,CACZ,CACIQ,KAAMiE,KAENzkC,MAAOqD,EAAM4/B,UAAUyB,UAAY,EACnC/C,UAAW,MACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,0BAEV,CACIulB,KAAMmE,KAEN3kC,MAAOqD,EAAM4/B,UAAU2B,gBAAkB,EACzCjD,UAAW,YACX1+B,WA3HM,UA4HN++B,kBA3HY,4BA4HZ/mB,KAAM,0BAEV,CACIulB,KAAMqE,KAEN7kC,MAAOqD,EAAM4/B,UAAU6B,iBAAmB,EAC1CnD,UAAW,aACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,kCAEV,CACIulB,KAAMuE,KAEN/kC,MAAOqD,EAAM4/B,UAAU+B,eAAiB,EACxCrD,UAAW,YACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,4BAuPVgqB,EAnPkB,CAClB,CACIzE,KAAM0E,KAENllC,MAAOqD,EAAM4/B,UAAUkC,gCAAkC,EACzDxD,UAAW,sBACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,mBAEV,CACIulB,KAAMiD,KAENzjC,MAAOqD,EAAM4/B,UAAUmC,8BAAgC,EACvDzD,UAAW,oBACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,mBAEV,CACIulB,KAAM8D,KAENtkC,MAAOqD,EAAM4/B,UAAUoC,sBAAwB,EAC/C1D,UAAW,cACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,mBAGV,CACIulB,KAAMuE,KAEN/kC,MAAOqD,EAAM4/B,UAAUqC,kBAAoB,EAC3C3D,UAAW,eACX1+B,WAAY4/B,GACZb,kBAAmBc,GACnB7nB,KAAM,iBAgNVsqB,EA5MgB,CAChB,CACI/E,KAAMgF,KAENxlC,MAAOqD,EAAM4/B,UAAUwC,mBAAqB,EAC5C9D,UAAW,qBACX1+B,WAAYw/B,GACZT,kBAAmBU,GACnBznB,KAAM,8BAEV,CACIulB,KAAMqE,KAEN7kC,MAAOqD,EAAM4/B,UAAUyC,kBAAoB,EAC3C/D,UAAW,oBACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,8BAGV,CACIulB,KAAMmF,KAEN3lC,MAAOqD,EAAM4/B,UAAU2C,kBAAoB,EAC3CjE,UAAW,oBACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,8BAEV,CACIulB,KAAM8D,KAENtkC,MAAOqD,EAAM4/B,UAAU4C,mBAAqB,EAC5ClE,UAAW,qBACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,gCAyKV6qB,EArKO,CACP,CACItF,KAAMgF,KAENxlC,MAAOqD,EAAM4/B,UAAU8C,gBAAkB,EACzCpE,UAAW,kBACX1+B,WAAYw/B,GACZT,kBAAmBU,GACnBznB,KAAM,oBAEV,CACIulB,KAAMqE,KAEN7kC,MAAOqD,EAAM4/B,UAAU+C,UAAY,EACnCrE,UAAW,YACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,oBAGV,CACIulB,KAAMqE,KAEN7kC,MAAOqD,EAAM4/B,UAAUgD,aAAe,EACtCtE,UAAW,gBACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,oBAEV,CACIulB,KAAMqE,KAEN7kC,MAAOqD,EAAM4/B,UAAUiD,uBAAyB,EAChDvE,UAAW,0BACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,qBAkIVkrB,EA/Hc,CACd,CACI3F,KAAMmF,KAEN3lC,MAAOqD,EAAM4/B,UAAUmD,mBAAqB,EAC5CzE,UAAW,SACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,+BAEV,CACIulB,KAAMgF,KAENxlC,MAAOqD,EAAM4/B,UAAUoD,sBAAwB,EAC/C1E,UAAW,UACX1+B,WAAYw/B,GACZT,kBAAmBU,GACnBznB,KAAM,gCAGV,CACIulB,KAAMqE,KAEN7kC,MAAOqD,EAAM4/B,UAAUqD,mBAAqB,EAC5C3E,UAAW,SACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,+BAEV,CACIulB,KAAM8D,KAENtkC,MAAOqD,EAAM4/B,UAAUsD,uBAAyB,EAChD5E,UAAW,aACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,mCA4FVurB,EAxFU,CACV,CACIhG,KAAMqE,KAEN7kC,MAAOqD,EAAM4/B,UAAUwD,oBAAsB,EAC7C9E,UAAW,gBACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,2BAEV,CACIulB,KAAMgF,KAENxlC,MAAOqD,EAAM4/B,UAAUyD,WAAa,EACpC/E,UAAW,gBACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,2BAGV,CACIulB,KAAMqE,KAEN7kC,MAAOqD,EAAM4/B,UAAU0D,mBAAqB,EAC5ChF,UAAW,eACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,0BAEV,CACIulB,KAAMqE,KAEN7kC,MAAOqD,EAAM4/B,UAAU2D,iBAAmB,EAC1CjF,UAAW,sBACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,kCAqDV4rB,GAjDa,CACb,CACIz4B,QAAQ,EACRoyB,KAAMsG,KACN7jC,WAAY4/B,GACZb,kBAAmBc,GACnB9iC,MAAO,MACP2hC,UAAW,aAEX1mB,KAAM,6BAEV,CACI7M,QAAQ,EACRoyB,KAAMsG,KACN7jC,WAAY4/B,GACZb,kBAAmBc,GACnB9iC,MAAO,SACP2hC,UAAW,YACX1mB,KAAM,kCAEV,CACI7M,QAAQ,EACRoyB,KAAMsG,KACN7jC,WAAY4/B,GACZb,kBAAmBc,GACnB9iC,MAAO,YACP2hC,UAAW,aACX1mB,KAAM,qCAEV,CACI7M,QAAQ,EACRoyB,KAAMsG,KACN7jC,WAAY4/B,GACZb,kBAAmBc,GACnB9iC,MAAO,MACP2hC,UAAW,cACX1mB,KAAM,yBAgBRskB,EAAiB,uCAAG,sCAAAz7B,EAAA,sDAClBu/B,EAAY0D,gBACRzhC,EAAM+9B,EAAY0D,cAClBC,EAAe,GACbC,EAHqB,UAGb3hC,EAAIW,YAHS,aAGb,EAAUihC,WAEL,QADbC,EAJqB,UAIH7hC,EAAIW,YAJD,aAIH,EAAUkhC,uBACf,IAAfA,OAAA,EAAAA,EAAiBv1B,QAAS,IAC1Bo1B,EAAeG,EAAgBh+B,KAAI,SAACxG,GAChC,OAAO,8BAAMA,EAAK0T,0BAG1BxU,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAELw/B,UAAWgE,EAAM,GACjBG,qBAAsBJ,EACtBK,cAA0B,QAAZ,EAAAL,SAAA,eAAcp1B,QAAS,QAfvB,2CAAH,qDAoBjB01B,EAAS,uCAAG,4BAAAxjC,EAAA,sEACMm6B,GAAuB,aAD7B,OACVsJ,EADU,OAEd1lC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2/B,WAAYmE,EAAQthC,KAAK04B,mBAJf,2CAAH,qDAQfn7B,oBAAS,sBAAC,sBAAAM,EAAA,sEACAw/B,IADA,OAENgE,IAFM,2CAGP,IAEH9jC,oBAAS,sBAAC,sBAAAM,EAAA,sDACFlE,EAAM4nC,KACN74B,OAAOC,SAASC,SAFd,2CAIP,CAACjP,EAAM4nC,MAEVhkC,oBAAS,sBAAC,sBAAAM,EAAA,sEACAy7B,IADA,2CAEP,CAAC8D,IAEJ7/B,oBAAS,sBAAC,4BAAAM,EAAA,2DACF0I,EAAei7B,kCAAoC,GADjD,gCAEuBC,aAAY,WACjCpE,MACkD,IAAnD92B,EAAei7B,mCAJhB,cAEIE,EAFJ,0BAKK,kBAAMC,cAAcD,MALzB,2CAOP,CAACn7B,EAAei7B,oCAEnB,IAAMI,EAAkB,SAACl8B,GACrB9J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELy/B,YAAY,OAEhBv3B,GAAO4zB,KAsBX,OACI,qBAAKh7B,UAAU,SAAS3D,MAAO,CAAEqC,WAAY,oBAAqB6kC,SAAU,QAA5E,SACI,eAACvlC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACKY,EAAM6/B,YACH,cAACnjC,GAAA,EAAD,CAAYC,MAAM,oBAAoBG,QAAS,kBAAM0nC,GAAgB,IAAQznC,SAAS,KAAtF,SACI,cAAC,GAAD,CAAcD,QAAS0nC,MAI/B,sBAAKjnC,MAAO,CAAEC,SAAU,QAAS8Y,OAAQ,GAAI7Y,MAAO,IAApD,UACI,cAACmD,EAAA,EAAD,CAASjE,MAAO,cAAe8Z,OAAK,EAApC,SACI,cAAC4mB,GAAA,EAAD,CACI1mB,aAAW,SACX5Y,QA1BM,WAC1BS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELskC,yBAAyB,QAyBTnnC,MAAO,CACHmhC,gBAAiBc,GACjBlT,UAAU,oBAAD,OAAsBmT,IAC/B9hC,OAAQ,UACRshC,aAAc,IARtB,SAWI,cAAC,KAAD,QAGR,cAACr+B,EAAA,EAAD,CAASjE,MAAOqD,EAAMgkC,aAAe,2CAAUhkC,EAAM+jC,wBAA+B,UAAWttB,OAAK,EAApG,SACI,cAAC4mB,GAAA,EAAD,CACI1mB,aAAW,SACX5Y,QA/CE,WACtBS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELy/B,YAAY,QA8CItiC,MAAO,CACHmhC,gBAAiB1+B,EAAMgkC,aAAexE,GAAYN,GAClD5S,UAAWtsB,EAAMgkC,aAAN,2BAAyCvE,IAAzC,2BAAiFN,IAC5FxhC,OAAQ,WAPhB,SAUI,cAAC,KAAD,WAIXqC,EAAM0kC,wBACH,eAAChoC,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMusB,QAAQC,IAAI,UAAUqb,YAAU,EAAC7mC,iBAAiB,EAAzF,UACI,qBAAKP,MAAO,CAAEC,SAAU,QAAS8Y,OAAQ,GAAI7Y,MAAO,IAApD,SACI,cAACmD,EAAA,EAAD,CAASjE,MAAO,eAAgB8Z,OAAK,EAArC,SACI,cAAC4mB,GAAA,EAAD,CACI1mB,aAAW,SACX5Y,QArDH,WACzBS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELskC,yBAAyB,QAoDDnnC,MAAO,CACHmhC,gBAAiBc,GACjBlT,UAAU,oBAAD,OAAsBmT,IAC/B9hC,OAAQ,UACRshC,aAAc,IARtB,SAWI,cAAC,KAAD,UAIZ,cAAC//B,EAAA,EAAD,CACIC,WAAS,EACTC,QAAS,EACTuP,UAAU,MAEVrR,WAAW,SACXgC,MAAI,EACJC,GAAI,GACJqP,GAAI,GACJ0e,GAAI,GACJC,GAAI,GACJrsB,UAAU,gBACV3D,MAAO,CAAEP,SAAU,OAAQC,OAAQ,QAZvC,UAcK,UAAA+C,EAAM+/B,kBAAN,eAAkBxxB,QAAS,EACxBvO,EAAM+/B,WAAWj6B,KAAI,SAACgoB,EAAGmM,GACrB,IAAIgE,EAAKP,GAAU5P,EAAE+N,gBACjBrjB,EAAO2nB,EAAQrS,EAAE8N,cACrB,OACI,cAAC18B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAW,IAAP2Q,EAAW,EAAIA,EAAI1Q,GAAW,IAAP0Q,EAAW,EAAIA,EAAI1gC,MAAO,CAAE8B,QAAS,WAAak/B,GAAIN,EAA5G,SACI,cAAC,GAAD,CACIzlB,KAAMA,GAAQ,GACdsjB,QAAShO,EAAEgO,QACXiC,QAASjQ,EAAE8W,WACX1G,YAAapQ,EAAE+N,eACfH,SAAU5N,EAAE8N,aACZiJ,WAAY/W,EAAEsN,MACdO,aAAc7N,EAAE6N,aAChBO,kBAAmBA,KAT0FjC,MAe7H,qBAAK18B,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,GAAD,WAMhB,cAAChL,EAAA,EAAD,CACIC,WAAS,EACTC,QAAS,EACTuP,UAAU,MAEVrR,WAAW,SACXgC,MAAI,EACJC,GAAI,GACJqP,GAAI,GACJ0e,GAAI,GACJC,GAAI,GACJrsB,UAAU,gBAXd,UAaK,UAAAlB,EAAM+/B,kBAAN,eAAkBxxB,QAAS,EACxBvO,EAAM+/B,WAAWj6B,KAAI,SAACgoB,EAAGmM,GACrB,IAAIgE,EAAKP,GAAU5P,EAAE+N,gBACjBrjB,EAAO2nB,EAAQrS,EAAE8N,cACrB,OACI,cAAC18B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAW,IAAP2Q,EAAW,EAAIA,EAAI1Q,GAAW,IAAP0Q,EAAW,EAAIA,EAAI1gC,MAAO,CAAE8B,QAAS,WAAak/B,GAAIN,EAA5G,SACI,cAAC,GAAD,CACIzlB,KAAMA,GAAQ,GACdsjB,QAAShO,EAAEgO,QACXiC,QAASjQ,EAAE8W,WACX1G,YAAapQ,EAAE+N,eACfH,SAAU5N,EAAE8N,aACZiJ,WAAY/W,EAAEsN,MACdO,aAAc7N,EAAE6N,aAChBO,kBAAmB+H,KAT0FhK,MAe7H,qBAAK18B,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,GAAD,cClmBjB46B,GAvDU,SAACvoC,GACxB,MAA0BgC,mBAAS,CAAEX,GAAI,KAAMc,MAAO,GAAIqmC,SAAS,IAAnE,mBAAO/kC,EAAP,KAAcxB,EAAd,KACA,EAAgDjC,EAAMqG,KAAKstB,gBAAnD8U,EAAR,EAAQA,aAAcC,EAAtB,EAAsBA,sBACtB9kC,qBAAU,WACH5D,EAAMqG,KAAKsiC,OACd1mC,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEPxC,GAAIonC,EACJtmC,MAAOumC,SAGV,IAkBH,OACE,mCACE,eAAC/lC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACE,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,cACXC,YAAY,cACZhG,WAAS,EACTyU,aAAY,OAAE0nB,QAAF,IAAEA,IAAyB,GACvCj8B,SAAU,SAACkG,GACT1Q,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEP1B,MAAOwQ,EAAM3G,OAAO7J,MACpBqmC,SAAS,QAGb53B,OAAQnN,EAAM+kC,QAAU,yBAA2B,SAGvD,cAAC7lC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QA/BN,WALb,QAAQyQ,KAAKxO,EAAMtB,QAOrBnC,EAAMqG,KAAKsiC,MAAQ3oC,EAAMqhB,WAAW5d,EAAMtB,OAASnC,EAAMmhB,cAAc1d,GACvEzD,EAAMO,WAEN0B,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEP2kC,SAAS,QAwBP,SAAuCxoC,EAAMqG,KAAKsiC,MAAQ,MAAQ,mBC/C/DC,GAAc,uCAAG,WAAOviC,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,cAAea,GADlB,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDAIdmjC,GAAa,uCAAG,WAAOxiC,GAAP,eAAAnC,EAAA,sEACT2B,aAAY,eAAD,OAAgBQ,EAAKoiC,cAAgBpiC,GADvC,cACrBX,EADqB,yBAElBA,GAFkB,2CAAH,sDCApB0V,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,UAAW0R,QAAQ,GAC3B,CAAE1R,KAAM,eAAgB0R,QAAQ,IAG9BT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,wBAAyBxE,KAAM,gBAsG3Bk/B,GApGI,WACf,MAA0B9mC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBzd,SAAU,OAJd,mBAAOzS,EAAP,KAAcxB,EAAd,KAMA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAEFqW,GAFN,EAA0BtW,eAET,uCAAG,sBAAApH,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,sDAMXyH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,qBACI1T,MAAO,CACHyZ,UAAW,UAFnB,SAKI,cAAC,IAAD,CACI9B,aAAa,mBACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,mBACPuzB,gBAAiBjf,EACjBi0B,OAAO,aAOzBp1B,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAEGuF,EAAU,uCAAG,WAAO0nB,GAAP,eAAA7kC,EAAA,sEACM0kC,GAAe,CAAEF,sBAAuBK,IAD9C,OACX5xB,EADW,OAEfyK,IACArW,EAAiB4L,EAAShL,SAAW,kCAHtB,2CAAH,sDAKVgV,EAAa,uCAAG,WAAO4nB,GAAP,eAAA7kC,EAAA,sEACG2kC,GAAc,CAC/BJ,aAAcM,EAAQ1nC,GACtBqnC,sBAAuBK,EAAQ5mC,QAHjB,OACdgV,EADc,OAKlByK,IACArW,EAAiB4L,EAAShL,SAAW,oCANnB,2CAAH,sDAiBb0nB,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,QAMd,OACI,sBAAK8D,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAXF,cAYEmC,SAAS,kBACTG,WA7BU,WAClBxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,kBACPuoC,OAAO,EACPhV,gBAAiB,SAwBbzd,SAAUzS,EAAMyS,WAEnBzS,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYU,KAAM4C,EAAM5C,KAAMN,QAASszB,EAAazzB,MAAOqD,EAAMrD,MAAOI,SAAS,KAAjF,SACI,cAAC,GAAD,CAAW6F,KAAM5C,EAAOlD,QAASszB,EAAaxS,WAAYA,EAAYF,cAAeA,MAEzF,SCzDD6nB,GAtDa,SAAChpC,GAC3B,MAA0BgC,mBAAS,CAAEX,GAAI,KAAMc,MAAO,GAAIqmC,SAAS,IAAnE,mBAAO/kC,EAAP,KAAcxB,EAAd,KACA,EAAsDjC,EAAMqG,KAAKstB,gBAAzDsV,EAAR,EAAQA,gBAAiBC,EAAzB,EAAyBA,yBACzBtlC,qBAAU,WACH5D,EAAMqG,KAAKsiC,OACd1mC,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEPxC,GAAI4nC,EACJ9mC,MAAO+mC,SAGV,IAkBH,OACE,mCACE,eAACvmC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACE,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,cACXC,YAAY,cACZyO,aAAY,OAAEkoB,QAAF,IAAEA,IAA4B,GAC1Cz8B,SAAU,SAACkG,GACT1Q,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEP1B,MAAOwQ,EAAM3G,OAAO7J,MACpBqmC,SAAS,QAGb53B,OAAQnN,EAAM+kC,QAAU,yBAA2B,SAGvD,cAAC7lC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QA9BN,WALb,QAAQyQ,KAAKxO,EAAMtB,QAOrBnC,EAAMmpC,SAAS1lC,GACfzD,EAAMO,WAEN0B,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEP2kC,SAAS,QAuBP,SAAuCxoC,EAAMqG,KAAKsiC,MAAQ,MAAQ,mBC7C/DS,GAAiB,uCAAG,WAAO/iC,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,gBAAiBa,GADjB,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDCExB0V,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,OAAQ0R,QAAQ,GACxB,CAAE1R,KAAM,iBAAkB0R,QAAQ,IAEhCT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,2BAA4BxE,KAAM,gBAmG9By/B,GAjGO,WAClB,MAA0BrnC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,KAHrB,mBAAOlwB,EAAP,KAAcxB,EAAd,KAKA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBsW,EAAW,uCAAG,sBAAA1d,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAMXyH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,qBACI1T,MAAO,CACHyZ,UAAW,UAFnB,SAKI,cAAC,IAAD,CACI9B,aAAa,sBACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,sBACPuzB,gBAAiBjf,EACjBi0B,OAAO,aAOzBp1B,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAEGqtB,EAAQ,uCAAG,WAAOJ,GAAP,iBAAA7kC,EAAA,sEACQklC,GAAkB,CACnCH,gBAAe,UAAEF,EAAQ1nC,UAAV,QAAgB,KAC/B6nC,yBAA0BH,EAAQ5mC,QAHzB,QACTgV,EADS,QAMTA,EAASrN,QACHyB,EAAiB4L,EAAShL,SAAW,uCACrCb,EAAe6L,EAAShL,SAAW,wBAEzCb,EAAe,wBAEnBsW,IAZa,2CAAH,sDAuBRiS,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,QAGd,OACI,sBAAK8D,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAM,gBACNiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,qBACTG,WA3BU,WAClBxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,qBACPuoC,OAAO,EACPhV,gBAAiB,WAuBhBlwB,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYU,KAAM4C,EAAM5C,KAAMN,QAASszB,EAAazzB,MAAOqD,EAAMrD,MAAOI,SAAS,KAAjF,SACI,cAAC,GAAD,CAAW6F,KAAM5C,EAAOlD,QAASszB,EAAasV,SAAUA,MAE5D,SCpDDH,GAtDa,SAAChpC,GAC3B,MAA0BgC,mBAAS,CAAEX,GAAI,KAAMc,MAAO,GAAIqmC,SAAS,IAAnE,mBAAO/kC,EAAP,KAAcxB,EAAd,KACA,EAAwEjC,EAAMqG,KAAKstB,gBAA3E2V,EAAR,EAAQA,yBAA0BC,EAAlC,EAAkCA,kCAClC3lC,qBAAU,WACH5D,EAAMqG,KAAKsiC,OACd1mC,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEPxC,GAAIioC,EACJnnC,MAAOonC,SAGV,IAkBH,OACE,mCACE,eAAC5mC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACE,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,cACXC,YAAY,cACZyO,aAAY,OAAEuoB,QAAF,IAAEA,IAAqC,GACnD98B,SAAU,SAACkG,GACT1Q,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEP1B,MAAOwQ,EAAM3G,OAAO7J,MACpBqmC,SAAS,QAGb53B,OAAQnN,EAAM+kC,QAAU,yBAA2B,SAGvD,cAAC7lC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QA9BN,WALb,QAAQyQ,KAAKxO,EAAMtB,QAOrBnC,EAAMmpC,SAAS1lC,GACfzD,EAAMO,WAEN0B,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEP2kC,SAAS,QAuBP,SAAuCxoC,EAAMqG,KAAKsiC,MAAQ,MAAQ,mBCnD/Da,GAAiB,uCAAG,4BAAAtlC,EAAA,sEACb6B,aAAY,2BADC,cACzBL,EADyB,yBAEtBA,GAFsB,2CAAH,qDAMjB+jC,GAAe,uCAAG,WAAOpjC,GAAP,eAAAnC,EAAA,sEACXsB,aAAa,0BAA2Ba,GAD7B,cACvBX,EADuB,yBAEpBA,GAFoB,2CAAH,sDCGtB0V,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,OAAQ0R,QAAQ,GACxB,CAAE1R,KAAM,wBAAyB0R,QAAQ,IAEvCT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,oCAAqCxE,KAAM,gBAqGvC8/B,GAnGY,WACvB,MAA0B1nC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,KAHrB,mBAAOlwB,EAAP,KAAcxB,EAAd,KAKA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBsW,EAAW,uCAAG,sBAAA1d,EAAA,sDAEhBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAJF,2CAAH,qDAOXyH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,qBACI1T,MAAO,CACHyZ,UAAW,UAFnB,SAKI,cAAC,IAAD,CACI9B,aAAa,4BACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,4BACPuzB,gBAAiBjf,EACjBi0B,OAAO,aAOzBp1B,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAEGqtB,EAAQ,uCAAG,WAAOJ,GAAP,iBAAA7kC,EAAA,sEACQulC,GAAgB,CACjCH,yBAAwB,UAAEP,EAAQ1nC,UAAV,QAAgB,KACxCkoC,kCAAmCR,EAAQ5mC,QAHlC,QACTgV,EADS,QAMTA,EAASrN,QACHyB,EAAiB4L,EAAShL,SAAW,6CACrCb,EAAe6L,EAAShL,SAAW,wBAEzCb,EAAe,wBAEnBsW,IAZa,2CAAH,sDAuBRiS,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,QAGd,OACI,sBAAK8D,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KAErB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAM,0BACNiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,2BACTG,WA5BU,WAClBxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,2BACPuoC,OAAO,EACPhV,gBAAiB,WAwBhBlwB,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYU,KAAM4C,EAAM5C,KAAMN,QAASszB,EAAazzB,MAAOqD,EAAMrD,MAAOI,SAAS,KAAjF,SACI,cAAC,GAAD,CAAW6F,KAAM5C,EAAOlD,QAASszB,EAAasV,SAAUA,MAE5D,SCvBDQ,GAtFU,SAAC3pC,GACtB,MAA0BgC,mBAAS,CAC/BX,GAAI,KACJc,MAAO,GACPynC,WAAW,EACXpB,SAAS,IAJb,mBAAO/kC,EAAP,KAAcxB,EAAd,KAOA2B,qBAAU,WACN,GAAK5D,EAAMqG,KAAKsiC,MAST,CACH,IAAQnrB,EAAcxd,EAAMqG,KAAKstB,gBAAzBnW,UACRvb,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2Z,UAAWA,WAbI,CACnB,MAA6Exd,EAAMqG,KAAKstB,gBAAhFkW,EAAR,EAAQA,aAAcC,EAAtB,EAAsBA,sBAAuBC,EAA7C,EAA6CA,iBAAkBvsB,EAA/D,EAA+DA,UAC/Dvb,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELxC,GAAIwoC,EACJ1nC,MAAO2nC,EACPF,UAAWG,EACXvsB,UAAWA,UASpB,IAkBH,OACI,mCACI,eAAC7a,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZhG,WAAS,EACTyU,aAAchhB,EAAMqG,KAAKstB,gBAAgBmW,uBAAyB,GAClEr9B,SAAU,SAACkG,GACP1Q,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL1B,MAAOwQ,EAAM3G,OAAO7J,MACpBqmC,SAAS,QAGjB53B,OAAQnN,EAAM+kC,QAAU,yBAA2B,SAG3D,cAAC7lC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIgnC,gBAAc,EACd72B,QAAS1P,EAAMmmC,UACfn7B,WAAUzO,EAAMqG,KAAKsiC,MACrB/+B,KAAK,mBACL6C,SAAU,SAACkG,GACP1Q,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+lC,UAAWj3B,EAAM3G,OAAOmH,cAGhC3G,MAAM,kBAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QA9Cd,WALX,QAAQyQ,KAAKxO,EAAMtB,QAOnBnC,EAAMmpC,SAAS1lC,GACfzD,EAAMO,WAEN0B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2kC,SAAS,QAuCiC9pB,YAAajb,EAAM+Z,UAAzD,SACKxd,EAAMqG,KAAKsiC,MAAQ,MAAQ,mBCzEvCsB,GAAc,uCAAG,WAAO5jC,GAAP,eAAAnC,EAAA,sEACZsB,aAAa,cAAea,GADhB,cACxBX,EADwB,yBAErBA,GAFqB,2CAAH,sDCMrBmV,GAAc,CAChB,CAAEzM,IAAK,wBAAyBxE,KAAM,cAAe+D,MAAO,OAC5D,CACIS,IAAK,mBACLxE,KAAM,cAEN+D,MAAO,QAuGAu8B,GApGI,SAAClqC,GAChB,MAA0BgC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,KAHrB,mBAAOlwB,EAAP,KAAcxB,EAAd,KAKA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAkCtJ,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KACIoT,EAAkB9sB,IAAW+sB,gBAC3BlP,EAAW,uCAAG,sBAAA1d,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAOXyH,EAAa,SAAC6C,EAAI9J,GACpB,IAAIy1B,EAAO,2BAAQz1B,GAAR,IAAaq1B,iBAAwD,OAAtCr1B,EAAIq1B,iBAAiBzc,gBAC/D,OACI,qBAAKtsB,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CACI9B,aAAa,mBACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,mBAEPuzB,gBAAiBwW,EACjBxB,OAAO,aAQzBp1B,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IAIrB,OAHA,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAAiBuZ,+BACjBtuB,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIgH,UAAWgH,IAE1EG,IACR,IAEGqtB,EAAQ,uCAAG,WAAOJ,GAAP,eAAA7kC,EAAA,6DACbuZ,GAAa,GADA,SAEQwsB,GAAe,CAChCI,qBAAsBrqC,EAAMqkB,WAC5BwlB,aAAcd,EAAQ1nC,IAAM,KAC5ByoC,sBAAuBf,EAAQ5mC,MAC/B4nC,iBAAgB,OAAEhB,QAAF,IAAEA,OAAF,EAAEA,EAASa,YANlB,QAETzyB,EAFS,QASTA,EAASrN,QACHyB,EAAiB4L,EAAShL,SAAW,oCACrCb,EAAe6L,EAAShL,SAAW,wBAEzCb,EAAe,wBAEnBmS,GAAa,GACbmE,IAhBa,2CAAH,sDA2BRiS,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,QAGd,OACI,gCACI,cAAC,GAAD,CACIyX,SAAQ,WAAoB,OAAfuY,QAAe,IAAfA,OAAA,EAAAA,EAAiBuZ,8BAA+B,kBAAoB,IACjF3xB,WAnBU,WAClBxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,kBACPuoC,OAAO,EACPhV,gBAAiB,SAcbxd,OAAM,iCAA4BnW,EAAMqkB,YACxC9Q,QAASA,EACT6D,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,WAEnBzS,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYU,KAAM4C,EAAM5C,KAAMN,QAASszB,EAAazzB,MAAOqD,EAAMrD,MAAOI,SAAS,KAAjF,SACI,cAAC,GAAD,CAAW6F,KAAM5C,EAAOlD,QAASszB,EAAasV,SAAUA,EAAU3rB,UAAWA,MAEjF,SClHH8sB,GAA6B,uCAAG,WAAOjpC,GAAP,eAAA6C,EAAA,sEAC3B6B,aAAY,0BAAD,OAA2B1E,IADX,cACvCqE,EADuC,yBAEpCA,GAFoC,2CAAH,sDAK7B6kC,GAA8B,uCAAG,WAAOlkC,GAAP,eAAAnC,EAAA,sEAC5BsB,aAAa,yBAA0Ba,GADX,cACxCX,EADwC,yBAErCA,GAFqC,2CAAH,sDCkG5B8kC,OAtGf,SAAqCxqC,GACjC,MAA0BgC,mBAAS,CAC/ByoC,uBAAwB,KACxBC,yBAA0B,GAC1BC,4BAA4B,EAC5B/5B,OAAQ,GACRg6B,oCAAoC,IALxC,mBAAOnnC,EAAP,KAAcxB,EAAd,KAQA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,0DACFlE,EAAMyqC,uBADJ,gCAEcH,GAA8BtqC,EAAMyqC,wBAFlD,QAEE/kC,EAFF,QAGMoE,SACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELgnC,uBAAwB/kC,EAAIW,KAAKokC,uBACjCC,yBAA0BhlC,EAAIW,KAAKqkC,yBACnCC,2BAA4BjlC,EAAIW,KAAKskC,2BACrCC,mCAAoCllC,EAAIW,KAAKukC,wCATnD,2CAaP,IAEH,IAOM7c,EAAiB,SAACjiB,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAKlCrB,EAAc,WAChB,IAAQ44B,EAA6BjnC,EAA7BinC,yBAEJ34B,GAAc,EACdnB,EAAS,GAMb,OALK85B,EAAyBG,SAC1Bj6B,EAAO85B,yBAA2B,4BAClC34B,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAERg5B,EAAmB,CACrBL,uBAAwBhnC,EAAMgnC,uBAC9BC,yBAA0BjnC,EAAMinC,yBAChCC,2BAA4BlnC,EAAMknC,2BAClCC,mCAAoCnnC,EAAMmnC,oCANhC,SAQEL,GAA+BO,GARjC,QAQVplC,EARU,QASNoE,SACJyB,EAAiB,+CACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAbT,2CAAH,qDAkBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAGwV,QAAQ,SAAStX,WAAW,SAAxE,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,gBACX1I,KAAK,2BACL2I,YAAY,gBACZ9F,SArDU,SAACkG,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAkDAA,MAAOsB,EAAMinC,yBACb95B,OAAQnN,EAAMmN,OAAO85B,6BAG7B,cAAC/nC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACImQ,QAAS1P,EAAMmnC,mCACfhhC,KAAK,qCACL6C,SAAUshB,EACVvhB,MAAM,yBAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAAS1P,EAAMknC,2BAA4B/gC,KAAK,6BAA6B6C,SAAUshB,EAAgBvhB,MAAM,iBAEpI,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMyqC,uBAAyB,SAAW,cC/F9FrvB,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,QAAS0R,QAAQ,GACzB,CAAE1R,KAAM,2BAA4B0R,QAAQ,IAE1C8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,2BAA4BxE,KAAM,eACzC,CAAEwE,IAAK,qCAAsCxE,KAAM,sBACnD,CAAEwE,IAAK,6BAA8BxE,KAAM,eAyEhCmhC,OAtEf,SAAgC/qC,GAC5B,MAA0BgC,mBAAS,CAC/BgpC,2BAA4B,GAC5B1qB,QAAQ,EACRzf,MAAM,EACNqV,SAAU,OAJd,mBAAOzS,EAAP,KAAcxB,EAAd,KAOMgpC,EAAgB,uCAAG,sBAAA/mC,EAAA,sDACrBjC,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL6c,QAAQ,EACRpK,SAAU,IAAIhC,UAJG,2CAAH,qDAQhBg3B,EAA4B,SAACt7B,GAC/B3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAM4pC,uBAAsB,OAAE76B,QAAF,IAAEA,OAAF,EAAEA,EAAQ66B,6BAG3EU,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAM0pC,EAA0Bx2B,IAAMiE,aAAa,mCAK9EpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,IACR,IAEGrgB,EAAQqD,EAAMgnC,uBAAyB,gCAAkC,6BAEzEW,EAAyB,SAAC1lC,GAC5BzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOulC,KAKX,OACI,sBAAKtmC,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAPK,yBAQLiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,6BACTG,WAAY,kBAAMyyB,EAA0B,SAG/CznC,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAM6qC,GAAuB,IAAQ5qC,SAAS,KAAjF,SACI,cAAC,GAAD,CAA6BiqC,uBAAwBhnC,EAAMgnC,uBAAwBlqC,QAAS,kBAAM6qC,GAAuB,QAE7H,S,6ECpFHC,GAAa,uCAAG,WAAOC,GAAP,eAAApnC,EAAA,4DACR,MAAbonC,QAAiChnC,IAAbgnC,GAAuC,OAAbA,IAAmBA,EAAW,IADvD,SAETvlC,aAAY,iBAAD,OAAkBulC,IAFpB,cAErB5lC,EAFqB,yBAGlBA,GAHkB,2CAAH,sDAMb6lC,GAAc,uCAAG,WAAOrnB,GAAP,eAAAhgB,EAAA,sEACV6B,aAAY,YAAD,OAAame,IADd,cACtBxe,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKd8lC,GAAyB,uCAAG,4BAAAtnC,EAAA,sEACrB6B,aAAY,4BADS,cACjCL,EADiC,yBAE9BA,GAF8B,2CAAH,qDAKzB+lC,GAAyB,uCAAG,4BAAAvnC,EAAA,sEACrB6B,aAAY,4BADS,cACjCL,EADiC,yBAE9BA,GAF8B,2CAAH,qDAKzBgmC,GAA2B,uCAAG,WAAOC,GAAP,eAAAznC,EAAA,sEACvB6B,aAAY,iDAAD,OAAkD4lC,IADtC,cACnCjmC,EADmC,yBAEhCA,GAFgC,2CAAH,sDAK3BkmC,GAAU,uCAAG,WAAOvlC,GAAP,eAAAnC,EAAA,sEACNsB,aAAa,WAAYa,GADnB,cAClBX,EADkB,yBAEfA,GAFe,2CAAH,sDAKVmmC,GAAe,uCAAG,WAAOxlC,GAAP,eAAAnC,EAAA,sEACX6B,aAAY,iBAAD,OAAkBM,IADlB,cACvBX,EADuB,yBAEpBA,GAFoB,2CAAH,sDAKfomC,GAAY,uCAAG,WAAOzqC,GAAP,eAAA6C,EAAA,sEACR6B,aAAY,gCAAD,OAAiC1E,IADpC,cACpBqE,EADoB,yBAEjBA,GAFiB,2CAAH,sDAIZqmC,GAAsB,uCAAG,WAAOC,EAAUC,EAAQ5nB,EAAY6nB,EAAUnW,EAAgBoW,EAASC,GAAxE,6BAAAloC,EAAA,6DAAkFmoC,EAAlF,+BAAoG,GAApG,SAClBtmC,aAAY,uCAAD,OACgBimC,EADhB,oBACoCC,EADpC,mBACqD5nB,EADrD,kBACyE6nB,EADzE,oBAC6FnW,EAD7F,oBAEnBoW,GAAW,GAFQ,qBAGVC,EAHU,4BAGkBC,GACzC,CACIC,aAAc,OACdC,cAAc,IAPY,cAC9B7mC,EAD8B,yBAW3BA,GAX2B,2CAAH,kEActB8mC,GAAc,uCAAG,WAAOhmC,EAAWimC,GAAlB,eAAAvoC,EAAA,sEACVsB,aAAa,mBAAoB,CAC7CknC,UAAWlmC,EAEX0N,KAAMu4B,IAJgB,cACtB/mC,EADsB,yBAOnBA,GAPmB,2CAAH,wDAUdinC,GAAgB,uCAAG,WAAOnmC,EAAWimC,GAAlB,eAAAvoC,EAAA,sEACZsB,aAAa,qBAAsB,CAC/CknC,UAAWlmC,EAEX0N,KAAMu4B,IAJkB,cACxB/mC,EADwB,yBAOrBA,GAPqB,2CAAH,wDAShBknC,GAAuB,uCAAG,WAAOvmC,GAAP,eAAAnC,EAAA,sEACnBsB,aAAa,gCAAiCa,GAD3B,cAC/BX,EAD+B,yBAE5BA,GAF4B,2CAAH,sDAIvBmnC,GAAmB,uCAAG,WAAOxrC,EAAIyrC,GAAX,eAAA5oC,EAAA,sEACf6B,aAAY,iCAAD,OAAkC+mC,EAAlC,YAA2CzrC,IADvC,cAC3BqE,EAD2B,yBAExBA,GAFwB,2CAAH,wDC/DnBgvB,GAAuBnK,0BAEvB6K,GAAkB,SAACp1B,GAC5B,IAAI6O,EAAU8b,eAEd,EAA6ClpB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAkCtJ,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAA0Bzb,mBAAS,CAC/B6kB,0BAA2B,GAC3BkmB,gBAAiB,GACjBn8B,OAAQ,GACR87B,UAAW,KACXM,UAAW,GACX3oB,WAAY,GACZ4oB,aAAc,GACd/Z,aAAc,GACdgZ,SAAU,GACVx1B,UAAW,GACX4kB,WAAY,GACZ/qB,QAAS,GACT28B,UAAW,GACXC,eAAgB,GAChBC,yBAA0B,GAC1BC,kBAAmB,GACnB57B,OAAQ,GACRhB,SAAU,GACV68B,UAAW,GACX17B,cAAe,GACflB,gBAAiB,GACjBS,uBAAwB,GACxB2Y,kBAAmB,GACnBsS,2BAA4B,GAC5BmR,oBAAqB,GACrBC,SAAU,GACVC,YAAa,GACbC,SAAU,GACV7D,aAAc,GACd8D,eAAgB,GAChBC,gBAAiB,GACjBC,kBAAmB,GACnBC,cAAe,GACfC,6BAA8B,GAC9BC,iCAAkC,GAClCC,iBAAkB,GAClBC,qBAAsB,GACtBC,aAAc,GACdC,+BAAgC,OAvCpC,mBAAO3qC,EAAP,KAAcxB,EAAd,KA0CA,EAAsCD,mBAAS,CAC3C4O,OAAQ,GACRy9B,YAAa,GACbC,YAAa,GACbC,eAAgB,GAChBC,YAAa,GACbC,OAAQ,GACRC,IAAK,GACLC,UAAW,GACXC,UAAW,GACXC,oBAAqB,GACrBC,sBAAuB,GACvBC,0BAA2B,GAC3BC,0BAA2B,GAC3BC,0BAA2B,GAC3BC,sBAAuB,GACvBC,sBAAuB,GACvBC,aAAc,GACdC,qBAAsB,MACtBC,uBAAwB,MACxBC,oBAAqB,IACrBC,wBAAyB,MACzBC,qBAAsB,GACtBC,qBAAsB,GACtBC,yBAA0B,GAC1BC,qBAAsB,KAzB1B,mBAAOC,EAAP,KAAoBC,EAApB,KA4BA,EAAkC9tC,mBAAS,CACvC+tC,gCAAgC,EAChCC,YAAa,GACbC,iBAAkB,GAClBC,qBAAsB,GACtBC,UAAW,GACXC,YAAa,GACbC,wBAAyB,GACzBC,eAAgB,GAChBC,kBAAmB,GACnBC,oBAAqB,GACrBC,2BAA4B,GAC5BC,sBAAuB,GACvBC,uBAAuB,EACvBC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EACdC,gCAAgC,EAChCC,eAAe,EACf7B,sBAAuB,GACvB8B,eAAgB,GAChBC,iBAAkB,GAClBC,cAAe,GACfC,gBAAiB,GACjBC,6BAA8B,GAC9BC,+BAAgC,GAChCjC,qBAAsB,GACtBkC,qBAAsB,GACtBC,iBAAkB,KA5BtB,mBAAOC,EAAP,KAAkBC,EAAlB,KA+BA,EAAoC1vC,mBAAS,aACzC2vC,WAAY,GACZC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,WAAY,GACZC,OAAQ,GACRC,qBAAsB,GACtBC,mBAAoB,GACpBC,kBAAmB,GACnBC,iBAAkB,IAVsB,qBAWpB,KAXxB,mBAAOC,EAAP,KAAmBC,EAAnB,KAcA,EAAsCtwC,mBAAS,CAC3CuwC,gBAAiB,KACjBC,cAAe,KACfC,YAAa,KACbC,aAAc,KACdC,cAAe,KACfC,kCAAmC,KACnCC,sBAAuB,KACvBC,oCAAqC,KACrCC,uBAAwB,KACxBzzB,mBAAoB,KACpB0zB,kBAAmB,KACnBC,qBAAsB,KACtBC,sBAAuB,KACvBC,eAAgB,KAChBC,kCAAmC,KACnCC,6BAA8B,KAC9BC,uBAAwB,KACxBC,gCAAiC,KACjCC,8BAA+B,KAC/BC,0BAA2B,OApB/B,mBAAOz1B,EAAP,KAAoBC,EAApB,KAsBMy1B,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YAE/Ci8B,EAAe,uCAAG,WAAOlH,GAAP,mBAAAxoC,EAAA,0DAChBwoC,EADgB,gCAEAnB,GAAemB,GAFf,OAEZhnC,EAFY,OAGVW,EAHU,UAGHX,EAAIW,YAHD,aAGH,EAAU2G,QAAQ,GAE/B8iC,GAAe,SAACjsC,GAAD,mBAAC,eACTA,GADQ,IAEXwrC,qBAAsBhpC,EAAKgpC,sBAAwB,MACnDC,uBAAwBjpC,EAAKipC,uBAAyBz1B,KAAOxT,EAAKipC,wBAAwBx1B,OAAO,cAAgB,MACjHy1B,oBAAqBlpC,EAAKkpC,oBAC1BC,wBAAyBx/B,IAAW6jC,cAAcxtC,EAAKmpC,yBACvDC,qBAAsBppC,EAAKopC,qBAC3BC,qBAAsBrpC,EAAKqpC,0BAZf,2CAAH,sDAgBfoE,EAAkB,uCAAG,8BAAA5vC,EAAA,sEACPqnC,GAAevrC,EAAM0sC,WADd,OACnBhnC,EADmB,QAEjBW,EAAOX,EAAIW,KAAK2G,QAAQ,KAE1B/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL6oC,UAAWrmC,EAAKG,UAChBwmC,UAAW3mC,EAAKmQ,iBAChB6N,WAAYhe,EAAK0tC,kBACjB7H,SAAU7lC,EAAK2tC,eACfzjC,QAASlK,EAAK4tC,aACdxiC,OAAQpL,EAAK6tC,YACb5G,UAAWjnC,EAAK8tC,iBAChBviC,cAAevL,EAAKuL,cACpBkY,kBAAmBzjB,EAAKyjB,kBACxBmjB,aAAc5mC,EAAK+tC,SACnB19B,UAAWrQ,EAAKqQ,UAChB29B,OAAQhuC,EAAKguC,OACbC,gBAAiBjuC,EAAKiuC,gBACtBlY,2BAA4B/1B,EAAK+1B,2BACjCjrB,uBAAwB9K,EAAK8K,uBAC7Bq8B,SAAUnnC,EAAKkuC,sBACf9G,YAAapnC,EAAKmuC,mBAClB9G,SAAUrnC,EAAKouC,kBACf1H,gBAAiB1mC,EAAK0mC,gBACtBlD,aAAcxjC,EAAKquC,oBACnB9G,gBAAiBvnC,EAAKsuC,uBACtB7G,cAAeznC,EAAKuuC,qBACpB7G,6BAA8B1nC,EAAK0nC,6BACnCE,iBAAkB5nC,EAAK4nC,iBACvB4G,YAAaxuC,EAAKwuC,aAAe,GACjCzG,+BAAgC/nC,EAAK+nC,+BACrC0G,kCAAmCzuC,EAAKyuC,kCACxC/gC,UAAW1N,EAAK0N,eAEpB+7B,GAAe,SAACjsC,GAAD,mBAAC,eACTA,GADQ,IAEXwqC,YAAahoC,EAAK0uC,mBAClBzG,YAAajoC,EAAK2uC,mBAClBzG,eAAgBloC,EAAK4uC,sBACrBzG,YAAW,OAAEnoC,QAAF,IAAEA,OAAF,EAAEA,EAAM6uC,mBACnBzG,OAAQpoC,EAAK8uC,cACbzG,IAAKroC,EAAK+uC,WACVzG,UAAWtoC,EAAKgvC,iBAChBpG,0BAA2B5oC,EAAK4oC,0BAChCC,sBAAuB7oC,EAAK6oC,sBAC5BC,sBAAuB9oC,EAAK8oC,sBAC5BC,aAAc/oC,EAAK+oC,aACnBC,qBAAsBhpC,EAAKgpC,qBAC3BC,uBAAwBjpC,EAAKipC,uBAAyBz1B,KAAOxT,EAAKipC,wBAAwBx1B,OAAO,cAAgB,MACjHy1B,oBAAqBlpC,EAAKkpC,oBAC1BC,wBAAyBx/B,IAAW6jC,cAAcxtC,EAAKmpC,yBACvDC,qBAAsBppC,EAAKopC,qBAC3BC,qBAAsBrpC,EAAKqpC,qBAC3B4F,QAASjvC,EAAKivC,QACdC,SAAUlvC,EAAKkvC,cAEnB7D,GAAa,SAAC7tC,GAAD,mBAAC,eACPA,GADM,IAET+qC,UAAWvoC,EAAKmvC,iBAChB3G,oBAAqBxoC,EAAKwoC,oBAC1BC,sBAAuBzoC,EAAKyoC,sBAC5BiB,+BAAgC1pC,EAAK0pC,+BACrCC,YAAa3pC,EAAKovC,mBAClBxF,iBAAkB5pC,EAAKqvC,wBACvBvF,UAAW9pC,EAAKsvC,iBAChBtF,wBAAyBhqC,EAAKgqC,wBAC9BhB,qBAAsBhpC,EAAKgpC,qBAC3BkB,kBAAmBlqC,EAAKkqC,kBACxBE,2BAA4BpqC,EAAKoqC,2BACjCE,sBAAuBtqC,EAAKsqC,sBAC5BxB,sBAAuB9oC,EAAK8oC,sBAC5B8B,eAAgB5qC,EAAKuvC,sBACrBzE,cAAe9qC,EAAKwvC,qBACpBxE,6BAA8BhrC,EAAKgrC,6BACnCE,qBAAsBlrC,EAAKkrC,qBAC3BC,iBAAkBnrC,EAAKmrC,iBACvBsE,aAAczvC,EAAKyvC,aACnBnG,yBAA0BtpC,EAAKspC,yBAC/BC,qBAAsBvpC,EAAKupC,qBAC3BmG,cAAe1vC,EAAK0vC,mBAGxBzD,GAAc,SAACzuC,GAAD,mBAAC,eACRA,GADO,IAEVguC,UAAW7hC,IAAW6jC,cAAcxtC,EAAK2vC,2BACzCrE,WAAY3hC,IAAWimC,cAAc5vC,EAAK2vC,2BAC1CpE,UAAW5hC,IAAW6jC,cAAcxtC,EAAK6vC,kBACzCnH,0BAA2B/+B,IAAW6jC,cAAcxtC,EAAK0oC,2BACzDC,0BAA2Bh/B,IAAW6jC,cAAcxtC,EAAK2oC,2BACzDmH,iCAAkC9vC,EAAK2oC,0BACvC8C,UAAW9hC,IAAW6jC,cAAcxtC,EAAK+vC,kBACzCrE,WAAY/hC,IAAWimC,cAAc5vC,EAAK+vC,kBAC1CpE,OAAQhiC,IAAW6jC,cAAcxtC,EAAKgwC,eACtCpE,qBAAsBjiC,IAAW6jC,cAAcxtC,EAAKiwC,6BACpD1F,eAAgBvqC,EAAKkwC,sBACrB1F,cAAexqC,EAAKmwC,qBACpB1F,aAAczqC,EAAKowC,oBACnBrE,iBAAkBpiC,IAAW6jC,cAAcxtC,EAAK+rC,kBAChDF,mBAAoBliC,IAAW6jC,cAAcxtC,EAAK6rC,oBAClDnB,+BAAgC1qC,EAAK0qC,+BACrCC,cAAe3qC,EAAK2qC,cACpB0F,kBAAmBrwC,EAAKqwC,kBACxBzH,0BAA2B5oC,EAAK4oC,0BAChCzoC,UAAWH,EAAKG,UAChBuvB,eAAgB1vB,EAAK0vB,eACrB4Z,yBAA0BtpC,EAAKspC,yBAC/BC,qBAAsBvpC,EAAKupC,4BAG/BtkC,EAAe,6BACfuD,EAAQC,KAAR,yBA/GmB,2CAAH,qDAkHxBlL,oBAAS,sBAAC,4BAAAM,EAAA,sEACUsnC,KADV,OACF9lC,EADE,OAENzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvB,aAAcxtB,EAAIW,KAAKmZ,UACvB8b,WAAY51B,EAAIW,KAAKswC,OACrBzJ,UAAWxnC,EAAIW,KAAKuwC,OAAOrtC,KAAI,SAACiI,GAAD,mBAAC,eACzBA,GADwB,IAE3BnQ,GAAImQ,EAAE5H,KACNA,KAAM4H,EAAE5H,UAEZ8G,gBAAiBhL,EAAIW,KAAKsL,aAC1BlB,SAAU/K,EAAIW,KAAKkL,MAAMhI,KAAI,SAACiI,GAAD,MAAQ,CACjCnQ,GAAImQ,EAAE5H,KACNA,KAAM4H,EAAE5H,KACRitC,OAAQrlC,EAAEnQ,OAEdssC,eAAgBjoC,EAAIW,KAAKywC,YACzBjJ,kBAAmBnoC,EAAIW,KAAK0wC,sBAC5BxJ,oBAAqB7nC,EAAIW,KAAK2wC,kBAC9BhJ,iCAAkCtoC,EAAIW,KAAKqyB,cAC3CwV,qBAAsBxoC,EAAIW,KAAK4wC,SAC/B9I,aAAczoC,EAAIW,KAAK6wC,eAE3BxF,GAAa,SAAC7tC,GAAD,mBAAC,eACPA,GADM,IAETusC,YAAa1qC,EAAIW,KAAK8wC,SACtBjH,qBAAsBxqC,EAAIW,KAAK+wC,qBAC/B9G,eAAgB5qC,EAAIW,KAAKgxC,gBACzB7G,oBAAqB9qC,EAAIW,KAAKixC,UAC9B5G,sBAAuBhrC,EAAIW,KAAKkxC,mBAChCrG,iBAAkBxrC,EAAIW,KAAKmxC,mBAC3BpG,gBAAiB1rC,EAAIW,KAAKoxC,iBAC1BnG,+BAAgC5rC,EAAIW,KAAKqxC,qBACzChrB,eAAgBhnB,EAAIW,KAAKqmB,eACzBirB,mBAAoBjyC,EAAIW,KAAKsxC,oBAAsB,QAGnD33C,EAAM0sC,UACNoH,IAEAxB,GAAc,SAACzuC,GAAD,mBAAC,eACRA,GADO,IAEV+tC,WAAW,IAAI19B,MAAOkd,cAAcC,MAAM,EAAG,SAIjDrxB,EAAMqkB,YACNpiB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwgB,WAAYrkB,EAAMqkB,gBAlDpB,2CAqDP,CAACrkB,EAAM0sC,UAAW1sC,EAAM43C,MAAO53C,EAAMqkB,aAExCzgB,oBAAS,sBAAC,kCAAAM,EAAA,sDACF2zC,EAAqB,GACrB75B,EAAYy0B,eACR1vC,EAAOU,EAAMgN,SAAS+C,MAAK,SAACzQ,GAAD,OAAUA,EAAK1B,KAAO2c,EAAYy0B,YAAYpxC,QAEzEoC,EAAMypC,UAAUhP,QAAO,SAACx8B,GAChBqB,EAAK8zC,SAAWn1C,EAAIuP,aACpB4mC,EAAmB/oC,KAAKpN,MAIpCO,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBspC,eAAgB0K,QAE3CnmC,EAAc,GACdsM,EAAY+0B,yBACZtvC,EAAMiN,gBAAgBwtB,QAAO,SAACx8B,GACtBsc,EAAY+0B,uBAAuB1xC,KAAOK,EAAIo2C,uBAC9CpmC,EAAY5C,KAAKpN,MAGzBO,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBupC,yBAA0B17B,QAErDqmC,EAAS,GAUTrE,EACAzxC,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBwpC,kBAAmB5pC,EAAM63B,gBAEhDtd,EAAYu0B,kBACZ9uC,EAAM63B,WAAW4C,QAAO,SAACx8B,GACjBsc,EAAYu0B,gBAAgBlxC,KAAOK,EAAIq3B,iBACvCgf,EAAOjpC,KAAKpN,MAGpBO,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBwpC,kBAAmB0K,QAzChD,2CA4CP,CAAC/5B,EAAY+0B,uBAAwB/0B,EAAYy0B,YAAaz0B,EAAYu0B,gBAAiBmB,EAAYjwC,EAAM63B,aAEhH13B,qBAAU,WACN,IAAIi8B,EAAQ,GACRp8B,EAAM4gB,aACNwb,EAAM0S,gBAAkB9uC,EAAMyvB,aAAa1f,MAAK,qBAAGnS,MAAiBoC,EAAM4gB,eAE1E5gB,EAAMyoC,WACNrM,EAAM2S,cAAgB/uC,EAAM63B,WAAW9nB,MAAK,qBAAGnS,KAAgBoC,EAAMyoC,aAErEzoC,EAAMgO,SACNouB,EAAM4S,YAAchvC,EAAMgN,SAAS+C,MAAK,qBAAGnS,KAAgBoC,EAAMgO,WAEjEhO,EAAM8M,UACNsvB,EAAM6S,aAAejvC,EAAMypC,UAAU15B,MAAK,qBAAGnS,KAAgBoC,EAAM8M,YAEnE9M,EAAMiqC,WACN7N,EAAM8S,cAAgBlvC,EAAM0qC,aAAa36B,MAAK,qBAAGnS,KAAgBoC,EAAMiqC,aAEvEjqC,EAAMsqC,+BACNlO,EAAM+S,kCAAoCnvC,EAAMuqC,iCAAiCx6B,MAAK,qBAAGnS,KAAgBoC,EAAMsqC,iCAE/GtqC,EAAM2qC,iCACNvO,EAAMiT,oCAAsCrvC,EAAMuqC,iCAAiCx6B,MAAK,qBAAGnS,KAAgBoC,EAAM2qC,mCAEjH3qC,EAAMwqC,mBACNpO,EAAMgT,sBAAwBpvC,EAAMyqC,qBAAqB16B,MAAK,qBAAGnS,KAAgBoC,EAAMwqC,qBAEvFxqC,EAAMqmB,oBACN+V,EAAMkT,uBAAyBtvC,EAAM8pC,oBAAoB/5B,MAAK,qBAAGnS,KAAgBoC,EAAMqmB,sBAEvFrmB,EAAMmO,gBACNiuB,EAAMvgB,mBAAqB7b,EAAMiN,gBAAgB8C,MAAK,qBAAGnS,KAAgBoC,EAAMmO,kBAE/EnO,EAAMomC,eACNhK,EAAMmT,kBAAoBvvC,EAAMkqC,eAAen6B,MAAK,qBAAGnS,KAAgBoC,EAAMomC,iBAE7EpmC,EAAMmqC,kBACN/N,EAAMoT,qBAAuBxvC,EAAMoqC,kBAAkBr6B,MAAK,qBAAGnS,KAAgBoC,EAAMmqC,oBAGnF6D,EAAUxB,mBACVpQ,EAAMqT,sBAAwBzB,EAAUvB,qBAAqB18B,MAAK,qBAAGnS,KAAgBowC,EAAUxB,qBAG/FwB,EAAUtB,YACVtQ,EAAMsT,eAAiB1B,EAAUrB,YAAY58B,MAAK,qBAAGnS,KAAgBowC,EAAUtB,cAG/EsB,EAAUJ,+BACVxR,EAAMuT,kCAAoC3B,EAAUH,+BAA+B99B,MAAK,qBAAGnS,KAAgBowC,EAAUJ,iCAGrHI,EAAUpB,0BACVxQ,EAAMwT,6BAA+B5B,EAAUnB,eAAe98B,MAAK,qBAAGnS,KAAgBowC,EAAUpB,4BAGhGoB,EAAUlB,oBACV1Q,EAAMyT,uBAAyB7B,EAAUjB,oBAAoBh9B,MAAK,qBAAGnS,KAAgBowC,EAAUlB,sBAG/FkB,EAAUhB,6BACV5Q,EAAM0T,gCAAkC9B,EAAUf,sBAAsBl9B,MAAK,qBAAGnS,KAAgBowC,EAAUhB,+BAE1GgB,EAAU9B,2BACV9P,EAAM2T,8BAAgC/B,EAAU/kB,eAAelZ,MAAK,qBAAGnS,KAAgBowC,EAAU9B,6BAEjG8B,EAAU7B,uBACV/P,EAAM4T,0BAA4BhC,EAAUkG,mBAAmBnkC,MAAK,qBAAGnS,KAAgBowC,EAAU7B,yBAGrG3xB,GAAe,SAACpa,GAAD,mBAAC,eACTA,GACAg8B,QAER,CACCp8B,EAAM4gB,WACN5gB,EAAMyoC,SACNzoC,EAAMgO,OACNhO,EAAM8M,QACN9M,EAAMiqC,SACNjqC,EAAMsqC,6BACNtqC,EAAM2qC,+BACN3qC,EAAMqmB,kBACNrmB,EAAMmO,cACNnO,EAAMomC,aACNpmC,EAAMmqC,gBACNnqC,EAAMwqC,iBACNwD,EAAUxB,iBACVwB,EAAUtB,UACVsB,EAAUJ,6BACVI,EAAUpB,wBACVoB,EAAUlB,kBACVkB,EAAUhB,2BACVgB,EAAU7B,uBAGd,IA6BMoI,EAAkB,SAAC/7B,EAAMrS,GAAU,IAAD,EACpC,OAAOA,EAAI,UAAG4J,gBAAKyI,GAAM,SAACsV,GAAD,aAAO,UAAAA,EAAE3nB,YAAF,eAAQ0jB,iBAAkB1jB,EAAK0jB,wBAApD,aAAG,EAAiEjsB,GAAK,MAElF42C,EAAgB,uCAAG,WAAO91C,GAAP,uBAAA+B,EAAA,sEACL2nC,GAAgB1pC,EAAM+1C,eADjB,QACjBxyC,EADiB,QAEboE,UACEzD,EADO,OACAX,QADA,IACAA,GADA,UACAA,EAAKW,YADL,aACA,EAAW8xC,KACxB,OAAIzyC,QAAJ,IAAIA,GAAJ,UAAIA,EAAKW,YAAT,aAAI,EAAW8F,SACXb,EAAc,OAAC5F,QAAD,IAACA,GAAD,UAACA,EAAKW,YAAN,aAAC,EAAW8F,UAE1B2jC,GAAe,SAACjsC,GAAD,mBAAC,eACTA,GADQ,IAEX4qC,OAAQpoC,EAAKooC,YAEjB6D,GAAc,SAACzuC,GAAD,mBAAC,eACRA,GADO,IAEVguC,UAAW7hC,IAAW6jC,cAAcxtC,EAAK+xC,kBACzCpG,OAAQhiC,IAAW6jC,cAAcxtC,EAAKgyC,YACtCvG,UAAW9hC,IAAW6jC,cAAcxtC,EAAKiyC,oBAE7Cr2C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmpC,UAAW3mC,EAAKkyC,mBAChBl0B,WAAYhe,EAAKmyC,kBACjB/mC,OAAQzB,IAAWyoC,WAAWpyC,EAAKqyC,MACnCnoC,QAASP,IAAWyoC,WAAWpyC,EAAK4H,OACpCq/B,UAAWjnC,EAAKsyC,UAChBnL,SAAUnnC,EAAKuyC,eACfnL,YAAapnC,EAAKwyC,aAClBnL,SAAUsK,EAAgBn0C,EAAGsqC,aAAJ,OAAkB9nC,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAMqnC,UACjD97B,cAAeomC,EAAgBn0C,EAAG6M,gBAAJ,OAAqBrK,QAArB,IAAqBA,OAArB,EAAqBA,EAAMqL,aACzDoY,kBAAmBkuB,EAAgBn0C,EAAG0pC,oBAAJ,OAAyBlnC,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAMyyC,wBAIxEpzC,EAAIoE,SACLwB,EAAe5F,EAAIyG,SAjCF,2CAAH,sDAkDhB2F,EAAc,WAChB,IAAQk7B,EAAcvpC,EAAdupC,UACAuF,EAAkHv0B,EAAlHu0B,gBAAiBC,EAAiGx0B,EAAjGw0B,cAAeI,EAAkF50B,EAAlF40B,kCAAmCG,EAA+C/0B,EAA/C+0B,uBAAwBzzB,EAAuBtB,EAAvBsB,mBAC/FvN,GAAc,EACdnB,EAAS,GACTmoC,EAAU,GA6Cd,OA5CKz5B,IACD1O,EAAOgB,cAAgB,qCACvBG,GAAc,GAEbghC,IACDniC,EAAOkZ,kBAAoB,iCAC3B/X,GAAc,GAEbygC,IACD5hC,EAAOs7B,SAAW,8BAClBn6B,GAAc,GAEbwgC,GAAoBmB,IACrB9iC,EAAOyT,WAAa,iCACpBtS,GAAc,GAEbi7B,IACDp8B,EAAOo8B,UAAY,yBACnBj7B,GAAc,GAEb6gC,IACDhiC,EAAOm9B,6BAA+B,oCACtCh8B,GAAc,GAEbsgC,EAAWT,YACZmH,EAAQnH,UAAY,yBACpB7/B,GAAc,GAUbsgC,EAAWR,YACZkH,EAAQlH,UAAY,0BACpB9/B,GAAc,GAGlB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OACnCk/B,GAAe,SAACjsC,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQmoC,OAElChnC,GAqBL6b,EAAY,uCAAG,sEAAA1pB,EAAA,0DACb4N,IADa,uBAEPK,EAAW,CACbu6B,UAAWjpC,EAAMipC,UACjBl2B,iBAAkB/S,EAAMupC,UACxBwL,kBAAmB9E,EAAa,KAAH,UAAU11B,EAAYu0B,uBAAtB,aAAU,EAA6BlxC,GACpE2yC,eAAc,UAAEh2B,EAAYw0B,qBAAd,aAAE,EAA2BnxC,GAC3C4yC,aAAY,UAAEj2B,EAAY00B,oBAAd,aAAE,EAA0BrxC,GACxC6yC,YAAW,UAAEl2B,EAAYy0B,mBAAd,aAAE,EAAyBpxC,GACtC8yC,iBAAkB1wC,EAAM6pC,UACxB17B,cAAa,UAAEoM,EAAYsB,0BAAd,aAAE,EAAgCje,GAC/CyoB,kBAAiB,UAAE9L,EAAY+0B,8BAAd,aAAE,EAAoC1xC,GACvDkzC,sBAAuB9wC,EAAM+pC,SAC7BgH,mBAAoB/wC,EAAMgqC,YAC1BmH,qBAAsBnxC,EAAMqqC,cAC5B2G,kBAAiB,UAAEz2B,EAAY20B,qBAAd,aAAE,EAA2BtxC,GAC9CqzC,oBAAmB,UAAE12B,EAAYg1B,yBAAd,aAAE,EAA+B3xC,GACpDszC,uBAAsB,UAAE32B,EAAYi1B,4BAAd,aAAE,EAAkC5xC,GAC1D0sC,6BAA4B,UAAE/vB,EAAY40B,yCAAd,aAAE,EAA+CvxC,GAC7E4sC,kBAAkB,UAAAjwB,EAAY60B,6BAAZ,eAAmCxxC,KAAM,KAC3D+sC,+BAA8B,UAAEpwB,EAAY80B,2CAAd,aAAE,EAAiDzxC,GACjFyzC,kCAAmCrxC,EAAMqxC,kCACzCnF,yBAAwB,UAAE3xB,EAAYw1B,qCAAd,aAAE,EAA2CnyC,GACrEuuC,qBAAoB,UAAE5xB,EAAYy1B,iCAAd,aAAE,EAAuCpyC,GAC7D0zC,mBAAoBlF,EAAYxB,YAChC2G,mBAAoBnF,EAAYvB,YAChC2G,sBAAuBpF,EAAYtB,eACnC2G,mBAAoBrF,EAAYrB,YAChC2G,cAAetF,EAAYpB,OAC3B2G,WAAYvF,EAAYnB,IACxB2G,iBAAkBxF,EAAYlB,UAC9BM,0BAA2BY,EAAYZ,0BACvCC,sBAAuBW,EAAYX,sBAEnCsG,iBAAkB/D,EAAU7C,UAC5BC,oBAAqB4C,EAAU5C,oBAC/BC,sBAAuB2C,EAAU3C,sBACjCiB,+BAAgC0B,EAAU1B,+BAC1C0F,mBAAoBhE,EAAUzB,YAC9B0F,wBAAuB,UAAE13B,EAAYk1B,6BAAd,aAAE,EAAmC7xC,GAC5Ds0C,iBAAgB,UAAE33B,EAAYm1B,sBAAd,aAAE,EAA4B9xC,GAC9CgvC,wBAAuB,UAAEryB,EAAYq1B,oCAAd,aAAE,EAA0ChyC,GACnEkvC,kBAAiB,UAAEvyB,EAAYs1B,8BAAd,aAAE,EAAoCjyC,GACvDovC,2BAA0B,UAAEzyB,EAAYu1B,uCAAd,aAAE,EAA6ClyC,GACzEsvC,sBAAuBc,EAAUd,sBACjCxB,sBAAuBsC,EAAUtC,sBACjCyG,sBAAuBnE,EAAUR,eACjC4E,qBAAsBpE,EAAUN,cAChCE,6BAA4B,UAAErzB,EAAYo1B,yCAAd,aAAE,EAA+C/xC,GAC7EguC,qBAAsBoC,EAAUpC,qBAChCkC,qBAAsBE,EAAUF,qBAChCC,iBAAkBC,EAAUD,iBAE5B0E,iBAAkB7D,EAAWT,UAC7B7C,0BAA2BsD,EAAWtD,0BACtCC,0BAA2BqD,EAAWrD,0BACtCsH,4BAA6BjE,EAAWJ,qBACxCsE,sBAAuBlE,EAAWzB,eAClC4F,qBAAsBnE,EAAWxB,cACjC4F,oBAAqBpE,EAAWvB,aAChCsB,iBAAkBC,EAAWD,iBAC7BF,mBAAoBG,EAAWH,mBAC/BnB,+BAAgCsB,EAAWtB,+BAC3CC,cAAeqB,EAAWrB,cAC1BgF,0BAA2B3D,EAAWR,UACtCuE,iBAAkB/D,EAAWP,UAC7BuE,cAAehE,EAAWL,QAE9Bv0B,GAAa,GApEA,SAqEGmuB,GAAWz5B,GArEd,QAqETzM,EArES,QAsELoE,SACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAM6tB,cAAa,IAClBpqB,EAAMipC,WAAa79B,EAAQC,KAAR,kCAAwCpJ,EAAIW,KAAKG,aAErE8E,EAAe5F,EAAIyG,SAEvBsR,GAAa,GA7EA,2CAAH,qDAiFlB,OACI,cAAC,GAAqBqQ,SAAtB,CACI3rB,MAAO,CACHsB,QACAmqB,eACA/b,YA/OQ,SAAC/F,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QA8O3B0tC,cACAmJ,kBAnKc,SAACltC,GACvB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACd2tC,GAAe,SAACjsC,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAkKjCsvC,YACAwH,gBA1KY,SAACntC,GACrB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACduvC,GAAa,SAAC7tC,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAyK/B4rB,eAzGW,SAACjiB,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdu+B,GAAa,SAACjuC,GAEV,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAuG5B+lC,iBAhLa,SAACptC,GACtB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdmwC,GAAc,SAACzuC,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QA+KhCkwC,aACA8G,eAjOW,SAACrtC,GACH,GAAbA,EAAEstC,UACFttC,EAAEqe,iBACFre,EAAEutC,kBACFpB,EAAiBnsC,EAAEE,OAAO7J,SA8NtBm3C,YAtGQ,SAAC1vC,EAAMzH,GACvBuvC,GAAa,SAAC7tC,GAEV,OADS,2BAAQA,GAAR,kBAAa+F,EAAOzH,QAqGzByxC,kBACAE,qBACAyF,gBApHY,SAAC3vC,EAAMzH,GAC3BF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB21C,YAAY,EAAM1E,kCAAmC3yC,QAoHxE8d,mBAvPe,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GAEpCkS,GAAe,SAACpa,GACZ,IAAIg8B,EAAK,2BAAQh8B,GAAR,kBAAa0a,EAAKxS,IAU3B,MATW,oBAAPwS,IACAshB,EAAM2S,cAAgB,MAEf,gBAAPj0B,IACAshB,EAAM6S,aAAe,MAEd,2BAAPn0B,IACAshB,EAAMvgB,mBAAqB,MAExBugB,OA2OH7hB,cACAR,aAnBR,SAsBKxd,EAAMK,YC3lBJo5C,GAvIa,SAACz5C,GAEzB,MAgBI2B,qBAAW+yB,IAZXmb,GAJJ,EACIpsC,MADJ,EAEImqB,aAFJ,EAGI/b,YAHJ,EAIIg+B,aACAmJ,EALJ,EAKIA,kBACAvH,EANJ,EAMIA,UACAwH,EAPJ,EAOIA,gBAOAh5B,GAdJ,EAQI8N,eARJ,EASImrB,iBATJ,EAUI7G,WAVJ,EAWI8G,eAXJ,EAYIG,YAZJ,EAaIze,aAbJ,EAcI5a,oBACAjC,EAfJ,EAeIA,YAKJ,OAFA8O,QAAQC,IAAI/O,EAAa,eAGrB,qCACI,cAACrb,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,eACXC,YAAY,eACZpQ,MAAO0tC,EAAYxB,YACnB5hC,SAAUusC,EACVpvC,KAAK,kBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,eACXC,YAAY,eACZpQ,MAAO0tC,EAAYvB,YACnB7hC,SAAUusC,EACVpvC,KAAK,kBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,kBACXC,YAAY,kBACZpQ,MAAO0tC,EAAYtB,eACnB9hC,SAAUusC,EACVpvC,KAAK,qBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,SAASC,YAAY,SAASpQ,MAAO0tC,EAAYpB,OAAQhiC,SAAUusC,EAAmBpvC,KAAK,aAEvH,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,aACX5F,KAAK,SACL6F,YAAY,aACZpQ,MAAO0tC,EAAYlB,UACnBliC,SAAUusC,EACVpvC,KAAK,cAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwqC,EAAYj/B,OAAO+9B,eAG9C,cAAChsC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,iBACX5F,KAAK,SACL6F,YAAY,iBACZpQ,MAAOsvC,EAAUpC,qBACjB5iC,SAAUwsC,EACVrvC,KAAK,2BAIb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCAEA,cAAC,IAAD,CACIqa,QAASgzB,EAAUvB,qBACnB/tC,MAAO6b,EAAYk1B,sBACnBzmC,SAAUwT,EAAmB,8BAGrC,cAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,cACXC,YAAY,cACZpQ,MAAO0tC,EAAYrB,YACnB/hC,SAAUusC,EACVpvC,KAAK,kBAIb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBAEA,cAAC,IAAD,CACIqa,QAASgzB,EAAU/kB,eACnBvqB,MAAO6b,EAAYw1B,8BACnB/mC,SAAUwT,EAAmB,sCAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BAEA,cAAC,IAAD,CACIqa,QAASgzB,EAAUkG,mBACnBx1C,MAAO6b,EAAYy1B,0BACnBhnC,SAAUwT,EAAmB,sC,UCqElCy5B,GAnLQ,SAAC15C,GACpB,MAeI2B,qBAAW+yB,IAdXjxB,EADJ,EACIA,MAEAoO,GAHJ,EAEI+b,aAFJ,EAGI/b,aACAg+B,EAJJ,EAIIA,YACAmJ,EALJ,EAKIA,kBACAvH,EANJ,EAMIA,UACAwH,EAPJ,EAOIA,gBAIAM,GAXJ,EAQIxrB,eARJ,EASImrB,iBATJ,EAUI7G,WAVJ,EAWIkH,iBAEAt5B,GAbJ,EAYIk5B,eAZJ,EAaIl5B,oBACAjC,EAdJ,EAcIA,YAGJ,OACI,mCACI,cAACrb,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,gBACX5F,KAAK,SACL6F,YAAY,gBACZpQ,MAAOsvC,EAAU5C,oBACjBpiC,SAAUwsC,EACVrvC,KAAK,0BAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,kBACXC,YAAY,kBACZpQ,MAAOsvC,EAAU3C,sBACjBriC,SAAUwsC,EACVrvC,KAAK,4BAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,aAAaC,YAAY,aAAapQ,MAAOsvC,EAAU7C,UAAWniC,SAAUwsC,EAAiBrvC,KAAK,gBAE9H,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC,IAAD,CAAa1e,WAAW,aAAaC,YAAY,aAAapQ,MAAOsB,EAAM6pC,UAAW7gC,SAAUoF,EAAajI,KAAK,cAClH,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO08B,eAGxC,eAAC3qC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBAQA,cAAC,IAAD,CAAcqa,QAASgzB,EAAUrB,YAAajuC,MAAO6b,EAAYm1B,eAAgB1mC,SAAUwT,EAAmB,uBAElH,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kCAQA,cAAC,IAAD,CACIqa,QAASgzB,EAAUH,+BACnBnvC,MAAO6b,EAAYo1B,kCACnB3mC,SAAUwT,EAAmB,0CAGrC,cAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,iBACX5F,KAAK,SACL6F,YAAY,iBACZpQ,MAAOsvC,EAAUF,qBACjB9kC,SAAUwsC,EACVrvC,KAAK,2BAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,aACX5F,KAAK,SACL6F,YAAY,aACZpQ,MAAOsvC,EAAUD,iBACjB/kC,SAAUwsC,EACVrvC,KAAK,uBAIb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBAOA,cAAC,IAAD,CACIqa,QAASgzB,EAAUnB,eACnBnuC,MAAO6b,EAAYq1B,6BACnB5mC,SAAUwT,EAAmB,qCAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,uBAOA,cAAC,IAAD,CACIqa,QAASgzB,EAAUjB,oBACnBruC,MAAO6b,EAAYs1B,uBACnB7mC,SAAUwT,EAAmB,+BAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BAOA,cAAC,IAAD,CACIqa,QAASgzB,EAAUf,sBACnBvuC,MAAO6b,EAAYu1B,gCACnB9mC,SAAUwT,EAAmB,wCAYrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC,IAAD,CAAa1e,WAAW,MAAM5F,KAAK,SAAS6F,YAAY,MAAMpQ,MAAO0tC,EAAYnB,IAAKjiC,SAAUusC,EAAmBpvC,KAAK,QACxH,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwqC,EAAYj/B,OAAO89B,SAE9C,cAAC/rC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,0BACX5F,KAAK,SACL6F,YAAY,0BACZpQ,MAAO0tC,EAAYX,sBACnBziC,SAAUusC,EACVpvC,KAAK,4BAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SAGI,cAAC,KAAD,CACI5wB,MAAM,yBACNu5C,eAAgBJ,EAChBK,YAAan2C,EAAMqxC,kCACnBlrC,KAAK,oCACL5I,MAAO,CAAEyD,WAAY,gBCjClCo1C,GA3IS,SAAC75C,GACrB,IAAQqyC,EAAwEryC,EAAxEqyC,WAAY6G,EAA4Dl5C,EAA5Dk5C,iBAAkBF,EAA0Ch5C,EAA1Cg5C,kBAAmBnJ,EAAuB7vC,EAAvB6vC,YAEnDiK,GAF0E95C,EAAVyD,QAEnDzD,EAAMyD,MAAMipC,WAE/B,OACI,mCACI,cAAC/pC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,yBAGA,cAAC,IAAD,CACImO,YAAY,cACZpQ,MAAOkwC,EAAWR,UAClBplC,SAAUysC,EACVtvC,KAAK,cAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwqC,EAAYj/B,OAAOihC,eAE9C,eAAClvC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CACImO,YAAY,gBACZpQ,MAAOkwC,EAAWT,UAClBnlC,SAAUysC,EACVtvC,KAAK,cAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwqC,EAAYj/B,OAAOghC,eAE9C,eAACjvC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CACImO,YAAY,UACZpQ,MAAOkwC,EAAWL,OAClBvlC,SAAUysC,EACVtvC,KAAK,SAAS6E,SAAUqrC,OAGhC,eAACn3C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CACImO,YAAY,aACZpQ,MAAOkwC,EAAWP,UAClBrlC,SAAUysC,EACVtvC,KAAK,YAAY6E,SAAUqrC,OAGnC,eAACn3C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,kCAGA,cAAC,IAAD,CACImO,YAAY,uBACZpQ,MAAOkwC,EAAWtD,0BAClBtiC,SAAUysC,EACVtvC,KAAK,4BACL6E,SAAUqrC,IAEd,cAAC10C,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwqC,EAAYj/B,OAAOm+B,+BAE9C,eAACpsC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,oCACA,cAAC,IAAD,CACImO,YAAY,yBACZpQ,MAAOkwC,EAAWJ,qBAClBxlC,SAAUysC,EACVtvC,KAAK,uBACL6E,SAAUqrC,OAGlB,eAACn3C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,mCAGA,cAAC,IAAD,CACImO,YAAY,wBACZpQ,MAAOkwC,EAAWrD,0BAClBviC,SAAUysC,EACVtvC,KAAK,4BACL6E,SAAUqrC,IAEd,cAAC10C,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwqC,EAAYj/B,OAAOo+B,+BAE9C,eAACrsC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,uBACX5F,KAAK,SACL6F,YAAY,uBACZpQ,MAAO0tC,EAAYZ,0BACnBxiC,SAAUusC,EACVpvC,KAAK,4BACL6E,SAAUqrC,IAEd,cAAC10C,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwqC,EAAYj/B,OAAOq+B,+BAE9C,eAACtsC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CACI8sB,WAAY,CACRC,IAAKkhB,EAAWD,kBAEpB7/B,YAAY,gBACZpQ,MAAOkwC,EAAWH,mBAClBzlC,SAAUysC,EACVtvC,KAAK,qBACL6E,SAAUqrC,OAGlB,eAACn3C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CACI8sB,WAAY,CACR6oB,IAAK1H,EAAWH,oBAEpB3/B,YAAY,cACZpQ,MAAOkwC,EAAWD,iBAClB3lC,SAAUysC,EACVtvC,KAAK,mBACL6E,SAAUqrC,eC9EvBE,GA7CS,SAACh6C,GACrB,IAAQyxC,EAA8BzxC,EAA9ByxC,UAAW1jB,EAAmB/tB,EAAnB+tB,eAEnB,OACI,mCACI,cAACprB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CAAmB7d,QAASs+B,EAAUd,sBAAuB/mC,KAAK,wBAAwB6C,SAAUshB,EAAgBvhB,MAAM,WAE9H,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CAAmB7d,QAASs+B,EAAUb,eAAgBhnC,KAAK,iBAAiB6C,SAAUshB,EAAgBvhB,MAAM,uBAEhH,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CAAmB7d,QAASs+B,EAAUZ,cAAejnC,KAAK,gBAAgB6C,SAAUshB,EAAgBvhB,MAAM,sBAE9G,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CAAmB7d,QAASs+B,EAAUX,aAAclnC,KAAK,eAAe6C,SAAUshB,EAAgBvhB,MAAM,qBAE5G,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI7d,QAASs+B,EAAU1B,+BACnB5tC,MAAOsvC,EAAU1B,+BACjBtjC,SAAUshB,EACVnkB,KAAK,iCACL4C,MAAM,mCAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI7d,QAASs+B,EAAUV,+BACnBnnC,KAAK,iCACL6C,SAAUshB,EACVvhB,MAAM,kCAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CAAmB7d,QAASs+B,EAAUT,cAAepnC,KAAK,gBAAgB6C,SAAUshB,EAAgBvhB,MAAM,uBCnB5HytC,GAAiB,SAACj6C,GAAW,IAAD,EACxBob,EAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,EAAM9Z,QAASxB,EAAM6tB,cACjD,CAAEjkB,KAAM,cAAe0R,QAAQ,IAE/BuV,EAAkB9sB,IAAW+sB,gBAEjC,EAeInvB,qBAAW+yB,IAdXjxB,EADJ,EACIA,MACAmqB,EAFJ,EAEIA,aACA/b,EAHJ,EAGIA,YACAg+B,EAJJ,EAIIA,YACAmJ,EALJ,EAKIA,kBACAvH,EANJ,EAMIA,UACAwH,EAPJ,EAOIA,gBACAlrB,EARJ,EAQIA,eACAmrB,EATJ,EASIA,iBACA7G,EAVJ,EAUIA,WACA8G,EAXJ,EAWIA,eACAl5B,EAZJ,EAYIA,mBACAjC,EAbJ,EAaIA,YACAR,EAdJ,EAcIA,UAEEk2B,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YAC/CuiC,EAAyBl6C,EAAMqkB,cAAgBrkB,EAAM0sC,UAC3D,OACI,sBAAK/nC,UAAW,WAAIu1C,GAA0B,UAAa,qBAA3D,UACMA,EAAyF,KAAhE,cAAC,IAAD,CAAa9+B,OAAQA,EAAQzW,UAAU,sBAClE,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGpC,SAAS,OAArC,UACI,cAACkC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,aACXC,YAAY,aACZpQ,MAAK,UAAEsB,EAAMupC,iBAAR,aAAE,EAAiBkL,cACxBzrC,SAAUoF,EACVtD,UAAW4qC,EACXvvC,KAAK,YACLgH,OAAQnN,EAAMmN,OAAOo8B,eAI3B0G,GACE,eAAC/wC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAIA,cAAC,IAAD,CACIqa,QAAShb,EAAMyvB,aACf/wB,MAAO6b,EAAYu0B,gBACnB9lC,SAAUwT,EAAmB,mBAC7BxR,SAAUzO,EAAMqkB,aAEpB,cAACjf,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOyT,gBAG5C,eAAC1hB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,mBAIA,cAAC,IAAD,CAAcqa,QAAShb,EAAM4pC,kBAAmBlrC,MAAO6b,EAAYw0B,cAAe/lC,SAAUwT,EAAmB,mBAC/G,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOs7B,cAExC,eAACvpC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CACIqa,QAAShb,EAAMyqC,qBACf/rC,MAAO6b,EAAY60B,sBACnBpmC,SAAUwT,EAAmB,8BAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBAEA,cAAC,IAAD,CAAcqa,QAAShb,EAAMgN,SAAUtO,MAAO6b,EAAYy0B,YAAahmC,SAAUwT,EAAmB,oBAExG,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,mBAEA,cAAC,IAAD,CAAcqa,QAAShb,EAAM0pC,eAAgBhrC,MAAO6b,EAAY00B,aAAcjmC,SAAUwT,EAAmB,qBAE/G,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,uBAEA,cAAC,IAAD,CAAcqa,QAAShb,EAAM0qC,aAAchsC,MAAO6b,EAAY20B,cAAelmC,SAAUwT,EAAmB,sBAE9G,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,mCASA,cAAC,IAAD,CACIqa,QAAShb,EAAMuqC,iCACf7rC,MAAO6b,EAAY40B,kCACnBnmC,SAAUwT,EAAmB,uCAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOm9B,kCAExC,eAACprC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,qCAOA,cAAC,IAAD,CACIqa,QAAShb,EAAMuqC,iCACf7rC,MAAO6b,EAAY80B,oCACnBrmC,SAAUwT,EAAmB,4CAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,8BAIA,cAAC,IAAD,CACIqa,QAAShb,EAAM8pC,oBACfprC,MAAO6b,EAAY+0B,uBACnBtmC,SAAUwT,EAAmB,4BAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkZ,uBAExC,eAACnnB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,0BAIA,cAAC,IAAD,CACIqa,QAAShb,EAAM2pC,yBACfjrC,MAAO6b,EAAYsB,mBACnB7S,SAAUwT,EAAmB,wBAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOgB,mBAExC,cAACjP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,kBACXC,YAAY,kBACZpQ,MAAOsvC,EAAUtC,sBACjB1iC,SAAUwsC,EACVrvC,KAAK,4BAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,iBACXC,YAAY,iBACZpQ,MAAOsB,EAAMqqC,cACbrhC,SAAUoF,EACVjI,KAAK,oBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,gBACXC,YAAY,gBACZpQ,MAAOsvC,EAAUzB,YACjBvjC,SAAUwsC,EACVrvC,KAAK,kBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,kBACX5F,KAAK,SACL6F,YAAY,kBACZpQ,MAAOsB,EAAM+pC,SACb/gC,SAAUoF,EACVjI,KAAK,eAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,eACX5F,KAAK,SACL6F,YAAY,eACZpQ,MAAOsB,EAAMgqC,YACbhhC,SAAUoF,EACVjI,KAAK,kBAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,yBAEA,cAAC,IAAD,CAAcqa,QAAShb,EAAMkqC,eAAgBxrC,MAAO6b,EAAYg1B,kBAAmBvmC,SAAUwT,EAAmB,uBAChH,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOi5B,kBAExC,eAAClnC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BAEA,cAAC,IAAD,CACIqa,QAAShb,EAAMoqC,kBACf1rC,MAAO6b,EAAYi1B,qBACnBxmC,SAAUwT,EAAmB,0BAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOg9B,qBAExC,cAAC,GAAD,CAAqBiC,YAAaA,EAAamJ,kBAAmBA,IAClE,cAACr2C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIm3C,OAAO,kBACPC,cACI,cAAC,GAAD,CACI/H,WAAYA,EACZxC,YAAaA,EACbqJ,iBAAkBA,EAClBF,kBAAmBA,EACnBv1C,MAAOA,QAQvB,cAACd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAWm3C,OAAO,gBAAgBC,cAAe,cAAC,GAAD,CAAiB3I,UAAWA,EAAW1jB,eAAgBA,QAE5G,cAACprB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIm3C,OAAO,qBACPC,cAAe,cAAC,GAAD,CAAgB3I,UAAWA,EAAWwH,gBAAiBA,EAAiBlrB,eAAgBA,QAI/G,cAACprB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACIxB,QAASosB,EACTxqB,WAAS,EACTuB,UAAU,aACV+Z,YAAalB,EACb/O,WAAU,OAACoiB,QAAD,IAACA,OAAD,EAACA,EAAiBwpB,mBALhC,oBAUJ,cAAC13C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAAS,kBAAMxB,EAAM6tB,cAAa,IAAQzqB,WAAS,EAACuB,UAAU,aAA/E,6BAgBLgtB,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAoBA,Q,uOCvRnBs6C,I,OAAsB,uCAAG,WAAOp2B,EAAIynB,EAAQ4O,EAASC,EAAMzkB,GAAlC,eAAA7xB,EAAA,sEAClB6B,aAAY,uBAAD,OACAme,EADA,uBACiBynB,GAAU,GAD3B,oBACyC4O,GAAW,GADpD,iBAC+DC,GAAQ,GADvE,2BAC4FzkB,GAAkB,KAFvG,cAC9BrwB,EAD8B,yBAI3BA,GAJ2B,2CAAH,+DAOtB+0C,GAAmB,uCAAG,WAAOv2B,GAAP,eAAAhgB,EAAA,sEACf6B,aAAY,+BAAD,OAAgCme,IAD5B,cAC3Bxe,EAD2B,yBAExBA,GAFwB,2CAAH,sDAKnBg1C,GAAgB,uCAAG,WAAOx2B,GAAP,eAAAhgB,EAAA,sEACZ6B,aAAY,aAAD,OAAcme,IADb,cACxBxe,EADwB,yBAErBA,GAFqB,2CAAH,sDAUhBi1C,GAAuB,uCAAG,WAAOz2B,GAAP,eAAAhgB,EAAA,sEACnB6B,aAAY,gDAAD,OAAiDme,IADzC,cAC/Bxe,EAD+B,yBAE5BA,GAF4B,2CAAH,sDAKvBk1C,GAAY,uCAAG,WAAOv0C,GAAP,eAAAnC,EAAA,sEACRsB,aAAa,YAAaa,GADlB,cACpBX,EADoB,yBAEjBA,GAFiB,2CAAH,sDAKZm1C,GAAe,uCAAG,WAAO32B,GAAP,eAAAhgB,EAAA,sEACX6B,aAAY,4CADD,cACvBL,EADuB,yBAEpBA,GAFoB,2CAAH,sDAKfo1C,GAAe,uCAAG,WAAO52B,GAAP,eAAAhgB,EAAA,sEACX6B,aAAY,uCAAD,OAAwCme,IADxC,cACvBxe,EADuB,yBAEpBA,GAFoB,2CAAH,sDAKfq1C,GAAiB,uCAAG,WAAO10C,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,eAAgBa,GADhB,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDAKjBs1C,GAA6B,uCAAG,WAAO92B,GAAP,eAAAhgB,EAAA,sEACzB6B,aAAY,8BAAD,OAA+Bme,IADjB,cACrCxe,EADqC,yBAElCA,GAFkC,2CAAH,sDAK7Bu1C,GAA0B,uCAAG,WAAO50C,GAAP,eAAAnC,EAAA,sEACtBsB,aAAa,kCAAmCa,GAD1B,cAClCX,EADkC,yBAE/BA,GAF+B,2CAAH,sDAK1Bw1C,GAA6B,uCAAG,WAAOh3B,GAAP,eAAAhgB,EAAA,sEACzB6B,aAAY,kCAAD,OAAmCme,IADrB,cACrCxe,EADqC,yBAElCA,GAFkC,2CAAH,sDAK7By1C,GAA0B,uCAAG,WAAO90C,GAAP,eAAAnC,EAAA,sEACtBsB,aAAa,yCAA0Ca,GADjC,cAClCX,EADkC,yBAE/BA,GAF+B,2CAAH,sDAK1B01C,GAA4B,uCAAG,4BAAAl3C,EAAA,sEACxB6B,aAAY,uCADY,cACpCL,EADoC,yBAEjCA,GAFiC,2CAAH,qDAK5B21C,GAAqB,uCAAG,WAAOh1C,GAAP,eAAAnC,EAAA,sEACjBsB,aAAa,6BAA8Ba,GAD1B,cAC7BX,EAD6B,yBAE1BA,GAF0B,2CAAH,sDAKrB41C,GAAgC,uCAAG,WAAOj1C,GAAP,eAAAnC,EAAA,sEAC5BsB,aAAa,6CAA8Ca,GAD/B,cACxCX,EADwC,yBAErCA,GAFqC,2CAAH,sDAKhC61C,GAAoB,uCAAG,WAAOl1C,GAAP,eAAAnC,EAAA,sEAChBsB,aAAa,oCAAqCa,GADlC,cAC5BX,EAD4B,yBAEzBA,GAFyB,2CAAH,sDClFpB81C,GAAoB,uCAAG,WAAOn1C,GAAP,eAAAnC,EAAA,sEAChBsB,aAAa,8BAA+Ba,GAD5B,cAC5BX,EAD4B,yBAEzBA,GAFyB,2CAAH,sDAIpB+1C,GAAwB,uCAAG,WAAOp1C,GAAP,eAAAnC,EAAA,sEACpBsB,aAAa,kCAAmCa,GAD5B,cAChCX,EADgC,yBAE7BA,GAF6B,2CAAH,sDAIxBg2C,GAAkB,uCAAG,WAAOr1C,GAAP,eAAAnC,EAAA,sEACdsB,aAAa,gCAAiCa,GADhC,cAC1BX,EAD0B,yBAEvBA,GAFuB,2CAAH,sDAIlBi2C,GAAc,uCAAG,WAAOt1C,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,iCAAkCa,GADrC,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDAIdk2C,GAAqB,uCAAG,WAAOv1C,GAAP,eAAAnC,EAAA,sEACjBsB,aAAa,gCAAiCa,GAD7B,cAC7BX,EAD6B,yBAE1BA,GAF0B,2CAAH,sDAIrBm2C,GAAwB,uCAAG,WAAOx1C,GAAP,eAAAnC,EAAA,sEACpBsB,aAAa,iCAAkCa,GAD3B,cAChCX,EADgC,yBAE7BA,GAF6B,2CAAH,sDCfxBo2C,GAAmB,uCAAG,WAAOz6C,GAAP,eAAA6C,EAAA,sEACf6B,aAAY,iBAAD,OAAkB1E,IADd,cAC3BqE,EAD2B,yBAExBA,GAFwB,2CAAH,sDAKnBq2C,GAAwB,uCAAG,4BAAA73C,EAAA,sEACpB6B,aAAY,iCADQ,cAChCL,EADgC,yBAE7BA,GAF6B,2CAAH,qDAKxBs2C,GAAoB,uCAAG,WAAO31C,GAAP,eAAAnC,EAAA,sEAChBsB,aAAa,gBAAiBa,GADd,cAC5BX,EAD4B,yBAEzBA,GAFyB,2CAAH,sDAUpBu2C,GAAsB,uCAAG,WAAO51C,GAAP,eAAAnC,EAAA,sEAClBsB,aAAa,6BAA8Ba,GADzB,cAC9BX,EAD8B,yBAE3BA,GAF2B,2CAAH,sDAKtBw2C,GAAa,uCAAG,4BAAAh4C,EAAA,sEACT6B,aAAY,kCADH,cACrBL,EADqB,yBAElBA,GAFkB,2CAAH,qDC6CXy2C,OAtEf,SAA6Bn8C,GACzB,MAA0BgC,mBAAS,CAC/B+zB,eAAgB,KAChBqmB,iBAAkB,KAClBC,qBAAsB,KACtBC,qBAAsB,KACtBC,mBAAoB,KACpBC,iBAAkB,KAClBC,qBAAsB,KACtBC,kBAAmB,KACnBC,kBAAmB,KACnBr8B,QAAQ,IAVZ,mBAAO7c,EAAP,KAAcxB,EAAd,KAiCA,OApBA2B,oBAAS,sBAAC,8BAAAM,EAAA,0DACFlE,EAAM+1B,eADJ,gCAEc+lB,GAAoB97C,EAAM+1B,gBAFxC,OAEErwB,EAFF,OAGIW,EAAOX,EAAIW,KAAK2G,QAAQ,GAC9B/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELkyB,eAAgB1vB,EAAK0vB,eACrBqmB,iBAAkB/1C,EAAK+1C,iBACvBC,qBAAsBh2C,EAAKg2C,qBAC3BC,qBAAsBj2C,EAAKi2C,qBAC3BC,mBAAoBl2C,EAAKk2C,mBACzBC,iBAAkBn2C,EAAKm2C,iBACvBC,qBAAsBp2C,EAAKo2C,qBAC3BC,kBAAmBr2C,EAAKq2C,kBACxBC,kBAAmBt2C,EAAKs2C,kBACxBr8B,QAAQ,OAfV,2CAkBP,IAGC7c,EAAM6c,OACF,eAAC3d,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAG7B,MAAO,CAAE4W,SAAU,QAAS8a,UAAW,SAAnF,UACI,eAAC/vB,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,iCACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAM24C,sBAEvB,eAACz5C,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,sBACA,cAAC+H,GAAA,EAAD,UACK6C,IAAW2iB,iBACRlvB,EAAM44C,qBACN54C,EAAM64C,qBACN74C,EAAM+4C,iBACN/4C,EAAM84C,mBACN94C,EAAMg5C,2BAIlB,eAAC95C,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW4iB,cAAcnvB,EAAMk5C,wBAEjE,eAACh6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACoC,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBpvB,EAAMi5C,2BAI5E,qBAAK17C,MAAO,CAAEF,QAAS,OAAQuxB,cAAe,SAAUC,eAAgB,SAAU3kB,MAAO,QAASjN,OAAQ,SAA1G,SACI,cAAC6xB,GAAA,EAAD,CAAkBvxB,MAAO,CAAEmK,OAAQ,a,qBCqLpCyxC,GAtOiB,SAAC58C,GAAW,IAAD,UACvC,EAA0BgC,mBAAS,CAE/B66C,YAAa,GACbjsC,OAAQ,GACRmlB,eAAgB/1B,EAAM88C,QAAQC,kBAC9BC,oBAAqB,KACrBC,KAAK,UAAAj9C,EAAM88C,eAAN,eAAeI,4BAA6B,KANrD,mBAAOz5C,EAAP,KAAcxB,EAAd,KAQA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,8BAAAM,EAAA,6DACF27B,EAAQ,GADN,SAEU8a,GAAwB36C,EAAMm9C,SAAS52C,iBAAmBvG,EAAMm9C,SAAS32C,WAFnF,OAEFd,EAFE,OAGFjC,EAAMsyB,gBAAkBrwB,EAAIW,KAAKqyB,cAAc1mB,OAAS,IACxD6tB,EAAMmd,oBAAsBt3C,EAAIW,KAAKqyB,cAAcllB,MAAK,qBAAGnS,KAAgBoC,EAAMsyB,mBAErF9zB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyyB,kBAAmB5wB,EAAIW,KAAKqyB,eACzBmH,MATD,2CAWP,IAEH,IAK4BthB,EALtB26B,EAAmB,SAACptC,GACtB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAOjC2P,EAAc,WAChB,IAAQkrC,EAAwBv5C,EAAxBu5C,oBACJjrC,GAAc,EACdnB,EAAS,GAMb,OALKosC,GAA0C,iBAAnBh9C,EAAMo9C,WAC9BxsC,EAAOosC,oBAAsB,0BAC7BjrC,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLsrC,EAAa,uCAAG,WAAOC,GAAP,uBAAAp5C,EAAA,0DAEd4N,IAFc,oBAGS,iBAAnB9R,EAAMo9C,SAHI,uBAIVG,EAAW,CACPj3C,SAAUtG,EAAMsG,SAChBk3C,MAAOx9C,EAAM88C,QAAQW,wBACrBZ,YAAap5C,EAAMo5C,YACnB9mB,eAAc,UAAEtyB,EAAMu5C,2BAAR,aAAE,EAA2B37C,GAC3C47C,IAAKx5C,EAAMw5C,KAAO,IATZ,SAWMzB,GAAqB+B,GAX3B,QAWN73C,EAXM,QAYFoE,SACJyB,EAAiB,4CACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAhBb,UAmBS,mBAAnBnM,EAAMo9C,SAnBI,wBAoBVG,EAAW,CACPj3C,SAAUtG,EAAMsG,SAChBk3C,MAAOx9C,EAAM88C,QAAQW,wBACrBC,qCAAsCj6C,EAAMo5C,YAC5Cc,OAAQL,GAxBF,UA0BM5B,GAAmB6B,GA1BzB,SA0BN73C,EA1BM,QA2BFoE,QACJ9J,EAAMO,SAAQ,GAEd+K,EAAe5F,EAAIyG,SA9Bb,WAiCS,mBAAnBnM,EAAMo9C,SAjCI,wBAkCVG,EAAW,CACPj3C,SAAUtG,EAAMsG,SAChBk3C,MAAOx9C,EAAM88C,QAAQW,wBACrBG,2BAA4Bn6C,EAAMo5C,YAClC91C,eAAgBtD,EAAMsD,gBAtChB,UAwCM00C,GAAyB8B,GAxC/B,SAwCN73C,EAxCM,QAyCFoE,SACJyB,EAAiB,sCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SA7Cb,4CAAH,sDAmDbi/B,EAAyB,SAAC1lC,GAC5BzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELg6C,aAAa,QAWfC,GAAU,UAAA99C,EAAM88C,eAAN,eAAeiB,qCAAsC,mBAAqB,uBAC1F,EAAiG/9C,EAAM88C,QAA/FkB,EAAR,EAAQA,6BAA8BN,EAAtC,EAAsCA,qCAClCO,EAA8C,MAAhCD,EAAuC,sBAAwD,MAAhCA,EAAuC,oBAAsB,OAC1IE,GAFJ,EAA4EC,kBAEH,MAAhCH,EACzC,OACI,eAACr7C,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACwB,iBAAnB7C,EAAMo9C,SACH,qCACI,eAACz6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIqa,QAAShb,EAAM6yB,mBAAqB,GACpCn0B,MAAOsB,EAAMu5C,oBACbvwC,UA9FI8R,EA8FyB,sBA9FlB,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,WA+FjB,cAAC3G,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOosC,uBACnC,UAAAh9C,EAAM88C,eAAN,eAAeiB,qCACZ,eAACp7C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAWouC,kBAAX,UAA6Bp+C,EAAM88C,eAAnC,aAA6B,EAAeiB,0CAE9E,QAEPt6C,EAAMu5C,qBACH,cAACr6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAO,CAAEq9C,WAAY,QAAvC,SACI,cAAC,KAAD,CACI9lC,KAAM+lC,KACNC,aAAc,GACd/8C,QAnCQ,SAACkE,GACjCzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELg6C,aAAa,QAiCOl5C,UAAU,QACVgU,aAAc,4BAI1B,eAAChW,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,oCACA,cAAC,IAAD,CACImO,YAAY,yBACZpQ,MAAOsB,EAAMw5C,IACbxwC,SAAUysC,EACVtvC,KAAK,MACL40C,WAAY,CAAEttB,WAAY,CAAEC,IAAI,GAAD,OAAK1tB,EAAMw5C,SAE9C,cAAC73C,EAAA,EAAD,CAAgBC,OAAK,UAG7B,KACgB,mBAAnBrF,EAAMo9C,SACH,eAACz6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAAC,IAAD,CACIwF,KAAK,iBACL2I,YAAY,oBACZyO,aAAcvd,EAAMsD,gBAAkB,GACtC5E,MAAOsB,EAAMsD,gBAAkB,GAC/B0F,SAAUysC,IAEd,cAAC9zC,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO7J,eAAiB,6BAA+B,UAExF,KACHm3C,GACG,eAACv7C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC+I,GAAA,EAAD,UAAa6C,IAAWouC,kBAAkBV,QAGlD,eAAC/6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,eAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,cAAwC,iBAAnBpE,EAAMo9C,SAA8B,eAAiBa,KAC1E,cAAC,IAAD,CACI1rC,YAAW,UAAwB,iBAAnBvS,EAAMo9C,SAA8B,eAAiBa,GACrE97C,MAAOsB,EAAMo5C,YACbpwC,SAAUysC,EACVtvC,KAAK,cACL40C,WAAY,CAAEttB,WAAY,CAAEC,IAAI,GAAD,OAAK1tB,EAAMo5C,iBAE9C,cAACz3C,EAAA,EAAD,CAAgBC,OAAK,OAEL,mBAAnBrF,EAAMo9C,SACH,eAACz6C,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAIk7C,EAAgB,GAAK,EAApC,SACI,cAAC,IAAD,CAAmB96C,WAAS,EAACuB,UAAU,aAAanD,QAAS,kBAAM67C,EAAc,IAAIoB,SAAS,QAA9F,8BAIFP,GACE,qCACI,cAACv7C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBI,WAAS,EAACuB,UAAU,aAAanD,QAAS,kBAAM67C,EAAc,IAA/E,iCAIJ,cAAC16C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBI,WAAS,EAACuB,UAAU,aAAanD,QAAS,kBAAM67C,EAAc,IAA/E,sCAQhB,cAAC16C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBI,WAAS,EAACuB,UAAU,aAAanD,QAAS67C,EAA3D,SACwB,iBAAnBr9C,EAAMo9C,SAA8BU,EAAU,iCAS1Dr6C,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAM6qC,KAA+BhrC,MAAO,wBAA7E,SACI,cAAC,GAAD,CAAqB21B,eAAc,UAAEtyB,EAAMu5C,2BAAR,aAAE,EAA2B37C,GAAIwsB,aAAc,kBAAMud,SAE5F,SCtCDsT,GA/LC,SAAC1+C,GACb,MAA0BgC,mBAAS,CAC/B28C,qBAAsB3+C,EAAM4+C,YAC5BhuC,OAAQ,GACRpN,cAA6C,WAA9BO,IAAWC,iBAH9B,mBAAOP,EAAP,KAAcxB,EAAd,KAKA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpB5H,EAAaC,iBAAO,IAC1B,EAA0DqK,eAA1D,EAAQD,WAAR,EAAoB6wC,YAApB,EAAiCC,UAAjC,EAA4ClL,UACXh8B,SAAS,YAE1C/T,qBAAU,WACF5D,EAAM88C,QAAQgC,8CACd78C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELi2C,YAAY,EACZiF,mBAAmB,EACnBC,wBAAyBh/C,EAAM88C,QAAQgC,6CACvCG,oBAAqBj/C,EAAM88C,QAAQoC,sCAG5C,IAEH,IAyBMC,EAAqB9xB,uBAAY,SAACvhB,GACpC,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAEG2P,EAAc,WAChB,IAAQmtC,EAAuEx7C,EAAvEw7C,oBAAqBN,EAAkDl7C,EAAlDk7C,qBAAsBK,EAA4Bv7C,EAA5Bu7C,wBAC/CjtC,GAAc,EACdnB,EAAS,GAcb,OAbKquC,IACDruC,EAAOquC,oBAAsB,yBAC7BltC,GAAc,GAEb4sC,IACD/tC,EAAO+tC,qBAAuB,yBAC9B5sC,GAAc,GAEbitC,IACDpuC,EAAOouC,wBAA0B,yBACjCjtC,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGLsrC,EAAa,uCAAG,8BAAAn5C,EAAA,0DACd4N,IADc,uBAEVyrC,EAAW,CACXj3C,SAAUtG,EAAMsG,SAChBk3C,MAAOx9C,EAAM88C,QAAQW,wBACrBwB,oBAAqBx7C,EAAMw7C,oBAC3BN,qBAAsBl7C,EAAMk7C,qBAC5BK,wBAAyBv7C,EAAMu7C,yBAPrB,SAUEpD,GAAsB2B,GAVxB,QAUV73C,EAVU,QAWNoE,SACJyB,EAAiB,0CACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAfT,2CAAH,qDAuBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAACR,EAAA,EAAD,CAAYnD,MAAO,CAAE0X,WAAY,QAAjC,SAA4C1Y,EAAM88C,QAAQsC,WAE9D,eAACz8C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYnD,MAAO,CAAE0X,WAAY,QAAjC,yBACA,cAACvL,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SAA6BnD,EAAMq/C,iBAEvC,eAAC18C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,UACZpQ,MAAOsB,EAAMw7C,oBACbxyC,SAAU0yC,EACVv1C,KAAK,sBACL6E,SAAUhL,EAAMq2C,aAEpB,cAAC10C,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOquC,yBAExC,eAACt8C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,IAAD,CAAWmO,YAAY,UAAUpQ,MAAOsB,EAAMk7C,qBAAsBlyC,SAAU0yC,EAAoBv1C,KAAK,yBACvG,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO+tC,0BAExC,cAACh8C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,sBAAK3D,MAAO,CAAEC,SAAU,YAAxB,UACI,eAACkD,EAAA,EAAD,CACIC,QAAM,EACN+K,UAAU,SACVnO,MAAO,CACHyD,UAAW,OAJnB,iCAQKhB,EAAMD,cACH,cAACa,EAAA,EAAD,CAASjE,MAAM,wBAAf,SACI,cAAC,IAAD,CAAiBoB,QA3CvB,WAClBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBk7C,mBAAmB,EAAMC,wBAAyBj7C,IAAWC,qBA0CvBhD,MAAO,CAAEmK,OAAQ,wBAE9D,QAGR,qBACInK,MAAO,CACHC,SAAU,WACVC,MAAO,GAHf,UAMMuC,EAAMq2C,YACJ,cAACz1C,EAAA,EAAD,CAASjE,MAAM,kBAAf,SACI,cAAC,IAAD,CAAYoB,QA7H1B,WACNiC,EAAMs7C,kBACN98C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk7C,mBAAmB,EACnBC,wBAAyB,WAG7Bt7C,EAAWa,QAAQC,QACnBvC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELm7C,wBAAyB,kBAuHpBv7C,EAAMs7C,kBACH,qBACIr6C,IAAKjB,EAAMu7C,wBACXp6C,IAAI,eACJ5D,MAAO,CACHF,QAAS,QACTqK,OAAQ,SACR61B,OAAQ,kBACRrzB,MAAO,OACPjN,OAAQ,WAIhB,qBAAKiE,UAAU,eAAf,SACI,cAAC,IAAD,CACIG,YAAa,CAAEH,UAAW,UAC1BE,IAAKnB,EACLqB,MAAO,WAlI/B9C,GAAS,SAAC4B,GAKN,OAJS,2BACFA,GADE,IAELm7C,wBAAyBt7C,EAAWa,QAAQU,sBAsIxC,cAACG,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOouC,+BAG5C,cAACr8C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACKhD,EAAMs/C,cACH,cAAC,IAAD,CAAiBl8C,WAAS,EAACuB,UAAU,aAAanD,QAAS67C,EAAe5uC,SAAUhL,EAAMq2C,WAA1F,4BCsCLyF,GA/Nc,SAACv/C,GAC1B,MAA0BgC,mBAAS,CAC/Bw9C,sBAAuBx/C,EAAM4+C,YAC7Bp7C,cAA6C,WAA9BO,IAAWC,eAC1By7C,mBAAoB,GACpB7uC,OAAQ,KAJZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAMA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpB5H,EAAaC,iBAAO,IAE1BC,qBAAU,WACF5D,EAAM88C,QAAQ4C,oCACdz9C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELi2C,YAAY,EACZ6F,sBAAsB,EACtBC,uBAAwB5/C,EAAM88C,QAAQ4C,mCACtCD,mBAAoBz/C,EAAM88C,QAAQoC,+BAClClB,6BAA6E,OAA/Ch+C,EAAM88C,QAAQkB,oCAGrD,IAEH,IAsBMmB,EAAqB9xB,uBAAY,SAACvhB,GACpC,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAEG2P,EAAc,WAC8DrO,EAAtEg8C,mBAAR,IAA4BG,EAAkDn8C,EAAlDm8C,uBAAwBJ,EAA0B/7C,EAA1B+7C,sBAChDztC,GAAc,EACdnB,EAAS,GAcb,OATK4uC,IACD5uC,EAAO4uC,sBAAwB,yBAC/BztC,GAAc,GAEb6tC,IACDhvC,EAAOgvC,uBAAyB,yBAChC7tC,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGLsrC,EAAa,uCAAG,8BAAAn5C,EAAA,0DACd4N,IADc,uBAEVyrC,EAAW,CACXj3C,SAAUtG,EAAMsG,SAChBk3C,MAAOx9C,EAAM88C,QAAQW,wBACrBoC,mBAAoBp8C,EAAMg8C,mBAC1BK,sBAAuBr8C,EAAM+7C,sBAC7BO,uBAAwBt8C,EAAMm8C,wBAPpB,SAUE/D,GAAyB0B,GAV3B,QAUV73C,EAVU,QAWNoE,SACJyB,EAAiB,iDACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAfT,2CAAH,qDAwBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAACR,EAAA,EAAD,CAAYnD,MAAO,CAAE0X,WAAY,QAAjC,SAA4C1Y,EAAM88C,QAAQsC,WAE9D,eAACz8C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,UACZpQ,MAAOnC,EAAM88C,QAAQkD,yCACrBp2C,KAAK,oBACL6E,UAAQ,OAGhB,eAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,uBACCpE,EAAM88C,QAAQgC,6CACX,qBACIp6C,IAAK1E,EAAM88C,QAAQgC,6CACnBl6C,IAAI,eACJ5D,MAAO,CACHF,QAAS,QACTqK,OAAQ,SACR61B,OAAQ,kBACRrzB,MAAO,OACPjN,OAAQ,WAGhB,KACJ,cAACyD,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAM88C,QAAQmD,6CAMtC,eAACt9C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,UACZpQ,MAAOsB,EAAMg8C,mBACbhzC,SAAU0yC,EACVv1C,KAAK,qBACL6E,SAAUhL,EAAMq2C,aAEpB,cAAC10C,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO6uC,wBAExC,eAAC98C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,IAAD,CAAWmO,YAAY,UAAUpQ,MAAOsB,EAAM+7C,sBAAuB/yC,SAAU0yC,EAAoBv1C,KAAK,0BACxG,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO4uC,2BAExC,cAAC78C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,sBAAK3D,MAAO,CAAEC,SAAU,YAAxB,UAEI,eAACkD,EAAA,EAAD,CACIC,QAAM,EACN+K,UAAU,OACVnO,MAAO,CACHyD,UAAW,OAJnB,oCAQKhB,EAAMD,cACH,cAACa,EAAA,EAAD,CAASjE,MAAM,wBAAf,SACI,cAAC,IAAD,CAAiBoB,QAxEvB,WAClBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB87C,sBAAsB,EAAMC,uBAAwB77C,IAAWC,qBAuEzBhD,MAAO,CAAEmK,OAAQ,wBAE9D,QAGR,qBACInK,MAAO,CACHC,SAAU,WACVC,MAAO,GAHf,UAMMuC,EAAMq2C,YACJ,cAACz1C,EAAA,EAAD,CAASjE,MAAM,kBAAf,SACI,cAAC,IAAD,CAAYoB,QAxJ1B,WACNiC,EAAMk8C,qBACN19C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL87C,qBAAsB,KACtBC,uBAAwB,UAG5Bl8C,EAAWa,QAAQC,eAqJVf,EAAMk8C,qBACH,qBACIj7C,IAAKjB,EAAMm8C,uBACXh7C,IAAI,eACJ5D,MAAO,CACHF,QAAS,QACTqK,OAAQ,SACR61B,OAAQ,kBACRrzB,MAAO,OACPjN,OAAQ,WAIhB,qBAAKiE,UAAU,eAAf,SACI,cAAC,IAAD,CACIG,YAAa,CAAEH,UAAW,UAC1BE,IAAKnB,EACLqB,MAAO,WAjK/B9C,GAAS,SAAC4B,GAKN,OAJS,2BACFA,GADE,IAEL+7C,uBAAwBl8C,EAAWa,QAAQU,sBAqKvC,cAACG,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOgvC,8BAG5C,eAACj9C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACKhD,EAAMkgD,aACH,cAAC,IAAD,CAAiB98C,WAAS,EAACuB,UAAU,aAAanD,QAAS67C,EAAe5uC,SAAUhL,EAAMq2C,WAA1F,sBAIHr2C,EAAMu6C,8BACH,cAAC,IAAD,CAAiB56C,WAAS,EAACuB,UAAU,aAAanD,QAAS67C,EAA3D,kC,oBCtNP8C,GAAW,uCAAG,WAAO95C,GAAP,eAAAnC,EAAA,sEACPsB,aAAa,oBAAqBa,GAD3B,cACnBX,EADmB,yBAEhBA,GAFgB,2CAAH,sDAKX06C,GAA2B,uCAAG,WAAO/5C,GAAP,eAAAnC,EAAA,sEACvB6B,aAAY,oCAAqCM,GAD1B,cACnCX,EADmC,yBAEhCA,GAFgC,2CAAH,sDAK3B26C,GAA8B,uCAAG,WAAOh6C,GAAP,eAAAnC,EAAA,sEAC1B6B,aAAY,wCAAyCM,GAD3B,cACtCX,EADsC,yBAEnCA,GAFmC,2CAAH,sDAK9B46C,GAAS,uCAAG,WAAOj6C,GAAP,eAAAnC,EAAA,sEACLsB,aAAa,8BAA+Ba,GADvC,cACjBX,EADiB,yBAEdA,GAFc,2CAAH,sDAKT66C,GAAY,uCAAG,WAAOl6C,GAAP,eAAAnC,EAAA,sEACRsB,aAAa,qCAAsCa,GAD3C,cACpBX,EADoB,yBAEjBA,GAFiB,2CAAH,sDC6EV86C,GAzGQ,SAACxgD,GACpB,MAA0BgC,mBAAS,CAAE4O,OAAQ,GAAI6vC,WAAY,GAAIC,OAAQ,GAAIC,SAAU,KAAvF,mBAAOl9C,EAAP,KAAcxB,EAAd,KACA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,IAEH,IAe4BrD,EAftBqD,EAAW,uCAAG,4BAAA1d,EAAA,yDACZwB,EAAM,GACY,UAAlB1F,EAAMo9C,SAFM,gCAGAiD,KAHA,OAGZ36C,EAHY,iBAKM,OAAlB1F,EAAMo9C,SALM,gCAMAgD,KANA,OAMZ16C,EANY,cAShBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL48C,WAAY/6C,EAAIW,KAAKswC,YAXT,4CAAH,qDA2BX7kC,EAAc,WAChB,IAAQ6uC,EAAqBl9C,EAArBk9C,SAAUD,EAAWj9C,EAAXi9C,OAEd3uC,GAAc,EACdnB,EAAS,GAWb,MAbwB,QAGDqB,KAAKyuC,KACxB9vC,EAAO8vC,OAAS,qBAChB3uC,GAAc,GAEb4uC,IACD/vC,EAAO+vC,SAAW,uBAClB5uC,GAAc,GAGlB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,gCAAAhO,EAAA,0DACd4N,IADc,oBAEVpM,EAAM,GACJW,EAAO,CACTT,GAAI5F,EAAM4gD,SACVC,OAAQp9C,EAAMi9C,OACdI,SAAQ,UAAEr9C,EAAMk9C,gBAAR,aAAE,EAAgBt/C,IAGR,OAAlBrB,EAAMo9C,SATI,gCAUEkD,GAAUj6C,GAVZ,OAUVX,EAVU,iBAYQ,UAAlB1F,EAAMo9C,SAZI,kCAaEmD,GAAal6C,GAbf,QAaVX,EAbU,eAeVA,EAAIoE,SACJyB,EAAiB,8BACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAnBT,4CAAH,qDAwBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,eAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CAAcqa,QAAShb,EAAMg9C,WAAYt+C,MAAOsB,EAAMk9C,SAAUl0C,UA5DhD8R,EA4D6E,WA5DtE,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,WA4DzB,cAAC3G,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO+vC,cAExC,eAACh+C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAAC,IAAD,CAAgBwtB,WAAS,EAACzQ,KAAM,EAAGpP,WAAW,SAAS1I,KAAK,SAASzH,MAAOsB,EAAMi9C,OAAQj0C,SA5D5E,SAACkG,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,UA0DJ,cAACiD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO8vC,YAExC,eAAC/9C,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAenD,QAAS0Q,EAAxB,sBAEJ,cAACvP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB+sB,cAAc,EAAMlwB,QAAS,kBAAMxB,EAAMO,SAAQ,IAAlE,6BCrGPwgD,GAAgB,WACzB,MAAwB/+C,mBAAS,CAAC,EAAG,IAArC,mBAAOy/B,EAAP,KAAauf,EAAb,KASA,OARAC,2BAAgB,WACZ,IAAMC,EAAa,WACfF,EAAQ,CAACjyC,OAAOoyC,WAAYpyC,OAAOqyC,eAIvC,OAFAryC,OAAOsyC,iBAAiB,SAAUH,GAClCA,IACO,kBAAMnyC,OAAOuyC,oBAAoB,SAAUJ,MACnD,IACIzf,GC6BL8f,GAAoBC,aAAW,CACjCC,iBAAkB,CACd5xB,IAAK,IAETvU,OAAQ,CACJ,UAAW,CACPomC,gBAAiB,uFAGzBC,UAAW,CACP,UAAW,CACPD,gBAAiB,uFAGzBE,KAAM,CACFlhD,OAAQ,EACRsgC,OAAQ,EACRmB,gBAAiB,UACjBzS,aAAc,IAlBI8xB,CAoBvBK,MAEGC,GAA4B92C,YAAW,CACzCE,KAAK,aACDi3B,gBAAiB,OACjBloB,OAAQ,EACR/W,MAAO,OACPyK,MAAO,GACPjN,OAAQ,GACRI,QAAS,OACT4uB,aAAc,MACd4C,eAAgB,SAChBvxB,WAAY,UACX,2BAA6B,CAC1B4M,MAAO,SAAC2N,GAAD,OAAaA,EAAS,GAAK,IAClC5a,OAAQ,SAAC4a,GAAD,OAAaA,EAAS,GAAK,IACnC7W,UAAW,SAAC6W,GAAD,OAAaA,EAAS,MAAQ,SAGjDA,OAAQ,CACJomC,gBAAiB,yFACjB3xB,UAAW,gCAEf4xB,UAAW,CACPD,gBAAiB,0FAErBK,MAAM,aACF1nC,SAAU,UACT,2BAA6B,CAC1BA,SAAU,SAACiB,GAAD,OAAaA,EAAS,SAAW,cAKjD0mC,GAAmB,SAAChiD,GAAW,IAAD,EACxBsb,EAAiCtb,EAAjCsb,OAAQqmC,EAAyB3hD,EAAzB2hD,UAAWM,EAAcjiD,EAAdiiD,UACrBt2C,EAAUm2C,GAA0BxmC,GAEpCymC,EAAQ,CACV,cAAC,KAAD,CAAmBp9C,UAAWgH,EAAQo2C,QACtC,cAAC,KAAD,CAAcp9C,UAAWgH,EAAQo2C,QACjC,cAAC,KAAD,CAAep9C,UAAWgH,EAAQo2C,QAElC,cAAC,KAAD,CAAUp9C,UAAWgH,EAAQo2C,QAC7B,cAAC,KAAD,CAAkBp9C,UAAWgH,EAAQo2C,SAMzC,OAHkB,IAAdE,GACAF,EAAMrmB,OAAO,EAAG,EAAG,cAAC,KAAD,CAAgB/2B,UAAWgH,EAAQo2C,SAGtD,qBACIp9C,UAAWu9C,kBAAKv2C,EAAQT,MAAT,mBACVS,EAAQ2P,OAASA,GADP,cAEV3P,EAAQg2C,UAAYA,GAFV,IADnB,SAMKI,EAAM/hD,EAAMuY,KAAO,MAS1BxN,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFyC,MAAO,QAEXa,OAAQ,CACJ1O,YAAamL,EAAMpI,QAAQ,IAE/Bs/C,aAAc,CACV19C,UAAWwG,EAAMpI,QAAQ,GACzB6/B,aAAcz3B,EAAMpI,QAAQ,QAIhCu/C,GAAY,CACZC,GAAI,CAAE1c,EAAG,EAAGO,EAAG,GACfoc,GAAI,CAAE3c,EAAG,EAAGO,EAAG,GACfqc,GAAI,CAAE5c,EAAG,EAAGO,EAAG,GACfsc,GAAI,CAAE7c,EAAG,EAAGO,EAAG,GACfuc,GAAI,CAAE9c,EAAG,EAAGO,EAAG,GACfwc,GAAI,CAAE/c,EAAG,EAAGO,EAAG,GACfyc,GAAI,CAAEhd,EAAG,EAAGO,EAAG,GACf0c,GAAI,CAAEjd,EAAG,EAAGO,EAAG,GACf2c,GAAI,CAAEld,EAAG,EAAGO,EAAG,IAGJ,SAAS4c,GAAmB9iD,GACvC,IAAM2L,EAAUZ,KACV6B,EAAiBD,KACvB,EAA0DqB,eAAtC4wC,GAApB,EAAQ7wC,WAAR,EAAoB6wC,aAAwBjL,GAA5C,EAAiCkL,UAAjC,EAA4ClL,WACtC9kC,EAAU8b,eACZkG,EAAkB9sB,IAAW+sB,gBAG3BiyB,EAAiBpP,EAAUh8B,SAAS,gBACpCqrC,EAAiBrP,EAAUh8B,SAAS,YACpC+7B,EAAaC,EAAUh8B,SAAS,YAChCsrC,EAAWtP,EAAUh8B,SAAS,UAC9BurC,EAAmBljD,EAAMqG,KAAK83C,iBACpC,EAAoCxa,IAAM3hC,SAAS,GAAnD,mBAAOmhD,EAAP,KAAmBC,EAAnB,KACA,EAAwBzf,IAAM3hC,SAAS,CAAEqhD,mBAAmB,EAAOrwB,MAAM,EAAOswB,aAAa,EAAOC,MAAO,GAAIC,KAAK,IAApH,mBAAOC,EAAP,KAAaC,EAAb,KACA,EAAoC3C,KAApC,mBAAO4C,EAAP,UASA//C,oBAAS,sBAAC,0CAAAM,EAAA,sDACF0/C,EAAW,CACX,CACIxjD,MAAO,WACP+B,MAAO6N,IAAWouC,kBAAkBp+C,EAAMqG,KAAKw9C,+BAC/CC,QAAOd,GAEX,CACI5iD,MAAO,uBACP2jD,UAAW/jD,EAAMqG,KAAK29C,MACtB7hD,MAAO6N,IAAWouC,kBAAkBp+C,EAAMqG,KAAK49C,oCAC/CH,MAAOd,IAAkB,EACzBkB,eACIlkD,EAAMqG,KAAK29C,OAASh0C,IAAWouC,kBAAkBp+C,EAAMqG,KAAK49C,oCAAsC,WAnB9GP,GAAQ,SAAC7/C,GAAD,mBAAC,eACFA,GADC,IAEJg6C,aAAa,QAiB8H,IAE3I,CACIz9C,MAAO,mBACP+B,MAAO6N,IAAWouC,kBAAkBp+C,EAAMqG,KAAKq3C,sCAC/CoG,MAAOd,IAAkB,GAE7B,CACI5iD,MAAO,sBACP+B,MAAO6N,IAAWouC,kBAAkBp+C,EAAMqG,KAAK45C,yCAC/C6D,MAAOd,GAAkBD,IAAkB,EAC3CoB,YAAY,GAEhB,CACI/jD,MAAO,eACP+B,MAAO6N,IAAWouC,kBAAkBp+C,EAAMqG,KAAK+9C,kCAC/CN,MAAOd,IAAkB,EACzBmB,YAAY,IAIhBpB,IACIsB,EADY,UACDT,GACXU,EAAQD,EAAKxmB,WAAU,SAACH,GAAD,MAAmB,iBAAZA,EAAEt9B,SACpCwjD,EAASloB,OAAO4oB,EAAO,IAEvBpB,GACAU,EAASloB,OAAO,EAAG,EAAG,CAClBt7B,MAAO,mBACP+B,MAAO6N,IAAWouC,kBAAkBp+C,EAAMqG,KAAKk+C,wCAC/CT,MAAOd,GAAkBtP,IAAc,IAG3C9V,EAAWwkB,GAAU,GAAD,OAAIpiD,EAAMqG,KAAK23C,+BAAxB,UAA2D4F,EAAS5xC,SAC/EwyC,EAA0BZ,EAAS/lB,WAAU,SAAC4mB,GAAD,MAAkB,uBAAXA,EAAErkD,SACtDk/C,EAAe1hB,GAAY4mB,EAC3BE,EAAmBd,EAAS/lB,WAAU,SAAC4mB,GAAD,MAAkB,gBAAXA,EAAErkD,SAC/C8/C,EAActiB,GAAY8mB,EAC9BtB,EAAcxlB,GACd8lB,GAAQ,SAAC7/C,GAAD,mBAAC,eAAaA,GAAd,IAAkB0/C,MAAOK,EAAUe,WAAYf,EAAS5xC,OAAQstC,aAAcA,EAAcY,YAAaA,OApD3G,4CAqDP,CAAClgD,EAAMqG,KAAMrG,EAAMm9C,WAEtB,IAAM/R,EAAyB,SAAC1lC,GAC5Bg+C,GAAQ,SAAC7/C,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,EACNqwB,mBAAmB,EACnBC,aAAa,EACbzF,aAAa,EACb+G,oBAAoB,OAExBl/C,GAAO1F,EAAM6kD,mBAwBX/G,EAAU99C,EAAMqG,KAAK03C,oCAAsC,mBAAqB,uBAChF+G,EACgB,iBAAlBrB,EAAKrG,SAA8BU,EAA4B,mBAAlB2F,EAAKrG,SAAgC,0BAA4B,mBAI5G2H,EAAe,WACjBl2C,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,OAA8BtzB,EAAMqG,KAAKo3C,wBAAzC,YAAoEz9C,EAAMm9C,SAAS32C,WAC3FqJ,OAAQ,GACRpM,MAAO,UAWf,OACI,sBAAKkB,UAAWgH,EAAQT,KAAMlK,MAAO,CAAEC,SAAU,YAAjD,UACI,sBACID,MAAO,CAAEC,SAAU,WAAY4uB,IAAK8zB,EAAc,KAAO,EAAI,EAAG3pC,KAAM2pC,EAAc,MAAQ,GAAK,GAAI1pC,OAAQ,IADjH,WAIMgpC,IAAD,OAAapyB,QAAb,IAAaA,OAAb,EAAaA,EAAiBm0B,aAC3BrB,EAAc,KACV,mCACI,cAAC,KAAD,CACIprC,KAAM0sC,KACN1G,aAAc,GACd/8C,QAASujD,EACTpgD,UAAU,QACV3D,MAAO,GACP2X,aAAc,kBAItB,mCACI,cAAC,IAAD,CAAYJ,KAAM0sC,KAAU1G,aAAc,GAAI/xC,MAAM,MAAMhL,QAASujD,EAAcpgD,UAAU,QAAQ3D,MAAO,CAAE0X,WAAY,SAGhI,MACFqqC,IAAmBrP,GACjB,cAAC,KAAD,CACIn7B,KAAM2sC,IACN3G,aAAc,GACd/8C,QAnCO,WACvBkiD,GAAQ,SAAC7/C,GAAD,mBAAC,eACFA,GADC,IAEJ+gD,oBAAoB,QAiCRjgD,UAAU,QACVgU,aAAc,aACd3X,MAAO,CAAEiZ,OAAQ,YAK7B,cAACkrC,GAAA,EAAD,CACIxgD,UAAU,WACV88C,kBAAgB,EAChB0B,WAAYA,EACZiC,UAAW,cAAC7D,GAAD,CAAmBjmC,OAAQ6nC,IACtCniD,MAAO,CACH8B,QAAS,kBACTqI,OAAQ,qBAPhB,SAUKs4C,EAAKF,MAAMh6C,KAAI,SAACiD,EAAOkxB,GACpB,IAjNaukB,EAiNToD,EAAa74C,EAAMs3C,OAASX,IAAezlB,GAAMlxB,EAAM23C,WAE3D,OACI,cAAC9/C,EAAA,EAAD,CAASihD,sBAAoB,EAACllD,MAAK,UAAKoM,EAAMpM,MAAX,YAAoBoM,EAAMrK,MAAQqK,EAAMrK,MAAQ,IAAnF,SACI,cAACojD,GAAA,EAAD,UACI,cAACC,GAAA,EAAD,CACI7gD,UAAU,gBACV8gD,mBAxNHxD,EAwN8CwB,EAAKF,MAAMvxC,OAvN/E,SAAChS,GAAD,OAAW,cAAC,GAAD,aAAkBiiD,UAAWA,GAAejiD,MAwN9BwB,QAAS6jD,EAAY,kBAjGhC,SAAC74C,GACJ,yBAAVA,GAA8C,qBAAVA,GAA0C,qBAAVA,GACpEk3C,GAAQ,SAAC7/C,GAAD,mBAAC,eACFA,GADC,IAEJy/C,aAAa,EACblG,SAAoB,yBAAV5wC,EAAmC,eAA2B,qBAAVA,EAA+B,iBAAmB,sBAG1G,wBAAVA,GACAk3C,GAAQ,SAAC7/C,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,OAGA,iBAAVxmB,GACAk3C,GAAQ,SAAC7/C,GAAD,mBAAC,eACFA,GADC,IAEJw/C,mBAAmB,OAgF4BqC,CAAal5C,EAAMpM,QAASoM,EAAM03C,eAAiB,kBAAM13C,EAAM03C,kBAAmB,GAC7GljD,MAAO,CAAEI,OAAQoL,EAAMs3C,MAAQ,UAAY,gBAJ/C,SAOI,sBAAKn/C,UAAS,UAAKw+C,IAAezlB,EAAI,GAAK,yBAA3C,UACI,8BACKlxB,EAAMu3C,UAAN,UAAqBv3C,EAAMu3C,WAAcv3C,EAAMpM,QAapD,cAAC+M,GAAA,EAAD,CAAYhK,QAAQ,UAAUrC,QAAQ,QAAtC,SACK0L,EAAMrK,gBAzBmEu7B,QAkCzG+lB,EAAKH,YACF,cAACnjD,GAAA,EAAD,CAAYC,MAAO0kD,EAA8BvkD,QAAS,kBAAM6qC,GAAuB,IAAQ5qC,SAAS,KAAxG,SACI,cAAC,GAAD,CACI8F,SAAUtG,EAAMm9C,SAAS72C,SACzBw2C,QAAS98C,EAAMqG,KACf+2C,SAAUqG,EAAKrG,SACf78C,QAAS6qC,EACT+R,SAAUn9C,EAAMm9C,SAChBwI,gBAAiB3lD,EAAMo9C,aAG/B,KACHqG,EAAKzwB,KACF,cAAC7yB,GAAA,EAAD,CAAYC,MAnHV,sBAmHwBG,QAAS,kBAAM6qC,GAAuB,IAAQ3qC,SAAS,OAAOD,SAAS,KAAjG,SACI,cAAC,GAAD,CACIo+C,YAAaA,EACbt4C,SAAUtG,EAAMm9C,SAAS72C,SACzBw2C,QAAS98C,EAAMqG,KACfg5C,YAAazyC,EAAeg5C,mCAC5BrlD,QAAS6qC,EACTkU,aAAcmE,EAAKnE,iBAG3B,KACHmE,EAAKJ,kBACF,cAACljD,GAAA,EAAD,CAAYC,MA9HG,eA8HwBG,QAAS,kBAAM6qC,GAAuB,IAAQ3qC,SAAS,OAAOD,SAAS,KAA9G,SACI,cAAC,GAAD,CACIo+C,YAAaA,EACbt4C,SAAUtG,EAAMm9C,SAAS72C,SACzBw2C,QAAS98C,EAAMqG,KACfg5C,YAAazyC,EAAei5C,uCAC5BtlD,QAAS6qC,EACT8U,YAAauD,EAAKvD,gBAG1B,KACHuD,EAAK5F,YACF,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAM6qC,GAAuB,IAAQhrC,MAAO,wBAA7E,SACI,cAAC,GAAD,CAAqB21B,eAAgB/1B,EAAMqG,KAAK02C,kBAAmBlvB,aAAc,kBAAMud,GAAuB,QAElH,KACHqY,EAAKmB,mBACF,cAACzkD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAM6qC,GAAuB,IAAQhrC,MAAO,aAAcI,SAAS,KAAK4C,WAAS,EAAlH,SACI,cAAC,GAAD,CAAgBw9C,SAAU5gD,EAAMqG,KAAKo3C,wBAAyBL,SAAS,MAAM78C,QAAS6qC,MAE1F,QC9YhB,IAqEe0a,GArEU,SAAC9lD,GACtB,MAA0BgC,mBAAS,CAAE4O,OAAQ,GAAIm1C,eAAgB/lD,EAAMm9C,SAAS11C,mBAAqBzH,EAAMm9C,SAASz1C,kBAApH,mBAAOjE,EAAP,KAAcxB,EAAd,KACA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,sEACUy2C,GAAwB36C,EAAMm9C,SAAS52C,iBAAmBvG,EAAMm9C,SAAS32C,WADnF,OACFd,EADE,OAENzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyyB,kBAAmB5wB,EAAIW,KAAKqyB,mBAJ1B,2CAMP,IAEH,IAK4Bna,EAItB8+B,EAAa,uCAAG,WAAOC,GAAP,mBAAAp5C,EAAA,6DACdq5C,EAAW,CACXj3C,SAAUtG,EAAMm9C,SAAS72C,UAAYtG,EAAMm9C,SAAS32C,UACpDuvB,eAAc,UAAEtyB,EAAMu5C,2BAAR,aAAE,EAA2B37C,GAC3C0kD,eAAgBtiD,EAAMsiD,gBAJR,SAOFpK,GAAe4B,GAPb,QAOd73C,EAPc,QAQVoE,SACJyB,EAAiB,0BACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAZL,2CAAH,sDAgBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BAEA,cAAC,IAAD,CAAcqa,QAAShb,EAAM6yB,kBAAmBn0B,MAAOsB,EAAMu5C,oBAAqBvwC,UAzBlE8R,EAyB+F,sBAzBxF,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,WAyBzB,cAAC3G,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOmlB,eAAiB,yBAA2B,UAGpF,eAACpzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CACIwF,KAAK,iBACLuoB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,oBAEZpQ,MAAOsB,EAAMsiD,gBAAkB,GAC/Bt5C,SA3CS,SAACX,GACtB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,UA2C3B,cAACiD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOm1C,eAAiB,uBAAyB,UAGlF,cAACpjD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBI,WAAS,EAACuB,UAAU,aAAanD,QAAS67C,EAA3D,2BC3EH2I,GAAW,uCAAG,WAAOC,GAAP,iDAAA/hD,EAAA,yDAAiBwoC,EAAjB,+BAA6B,EAAGwZ,EAAhC,+BAA2C,EAAGC,EAA9C,+BAA+D,EAAG9hC,EAAlE,+BAA+E,EAAG+hC,EAAlF,+BAA0F,EAAG9/C,EAA7F,+BAAwG,EAC9G,aAAb2/C,EADmB,iCAEHlgD,aAAY,8BAAD,OAA+BkgD,EAA/B,sBAAqDvZ,IAF7D,cAEfhnC,EAFe,yBAGZA,GAHY,WAKN,YAAbugD,EALmB,kCAMHlgD,aAAY,+BAAD,OAAgCO,IANxC,eAMfZ,EANe,yBAOZA,GAPY,WASN,YAAbugD,EATmB,kCAUHlgD,aAAY,8BAAD,OAA+BkgD,EAA/B,qBAAoDC,IAV5D,eAUfxgD,EAVe,yBAWZA,GAXY,WAaN,kBAAbugD,EAbmB,kCAcHlgD,aAAY,8BAAD,OAA+BkgD,EAA/B,2BAA0DE,IAdlE,eAcfzgD,EAde,yBAeZA,GAfY,WAiBN,cAAbugD,EAjBmB,kCAkBHlgD,aAAY,8BAAD,OAA+BkgD,EAA/B,uBAAsD5hC,IAlB9D,eAkBf3e,EAlBe,yBAmBZA,GAnBY,WAqBN,SAAbugD,EArBmB,kCAsBHlgD,aAAY,8BAAD,OAA+BkgD,EAA/B,kBAAiDG,IAtBzD,eAsBf1gD,EAtBe,yBAuBZA,GAvBY,4CAAH,sDA2BX2gD,GAA0B,uCAAG,WAAOhlD,EAAIilD,GAAX,eAAApiD,EAAA,sEACtB6B,aAAY,qDAAD,OAAsD1E,EAAtD,mBAAmEilD,IADxD,cAClC5gD,EADkC,yBAE/BA,GAF+B,2CAAH,wDAK1B6gD,GAAoB,uCAAG,4BAAAriD,EAAA,sEAChB6B,aAAY,6BADI,cAC5BL,EAD4B,yBAEzBA,GAFyB,2CAAH,qDAKpB8gD,GAAa,uCAAG,WAAOngD,GAAP,eAAAnC,EAAA,sEACTsB,aAAa,OAAQa,GADZ,cACrBX,EADqB,yBAElBA,GAFkB,2CAAH,sDAKb+gD,GAAW,uCAAG,WAAOplD,EAAI4kD,GAAX,iCAAA/hD,EAAA,yDAAqBwoC,EAArB,+BAAiC,EAAGga,EAApC,+BAAiD,EACvD,aAAbT,EADmB,gCAEHlgD,aAAY,uBAAD,OAAwB1E,EAAxB,yBAA2C4kD,EAA3C,sBAAiEvZ,IAFzE,cAEfhnC,EAFe,yBAGZA,GAHY,wBAKHK,aAAY,uBAAD,OAAwB1E,EAAxB,yBAA2C4kD,EAA3C,uBAAkES,IAL1E,eAKfhhD,EALe,yBAMZA,GANY,4CAAH,wDAUXihD,GAAc,uCAAG,WAAOV,GAAP,6CAAA/hD,EAAA,yDAAiBwoC,EAAjB,+BAA6B,EAAGyZ,EAAhC,+BAAiD,EAAG9hC,EAApD,+BAAiE,EAAG6hC,EAApE,+BAA+E,EAAGU,EAAlF,+BAAmG,EAC5G,YAAbX,EADsB,iCAENlgD,aAAY,mCAAD,OAAoCkgD,EAApC,sBAA0DvZ,IAF/D,cAElBhnC,EAFkB,yBAGfA,GAHe,WAKT,YAAbugD,EALsB,kCAMNlgD,aAAY,mCAAD,OAAoCkgD,EAApC,qBAAyDC,IAN9D,eAMlBxgD,EANkB,yBAOfA,GAPe,WAST,iBAAbugD,EATsB,kCAUNlgD,aAAY,mCAAD,OAAoCkgD,EAApC,sBAA0DE,IAV/D,eAUlBzgD,EAVkB,yBAWfA,GAXe,WAaT,cAAbugD,EAbsB,kCAcNlgD,aAAY,mCAAD,OAAoCkgD,EAApC,uBAA2D5hC,IAdhE,eAclB3e,EAdkB,yBAefA,GAfe,WAiBT,SAAbugD,EAjBsB,kCAkBNlgD,aAAY,mCAAD,OAAoCkgD,EAApC,2BAA+DW,IAlBpE,eAkBlBlhD,EAlBkB,yBAmBfA,GAnBe,4CAAH,sDCjCrBuqB,IAL4DjgB,IAAW62C,oBAK1D,SAAC7mD,GAChB,OACI,qCACI,cAACmE,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,QAC1B,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,WAA3B,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAASnT,EAAMkwB,SAAUzjB,SAAUzM,EAAMowB,cAAexmB,KAAM5J,EAAMqwB,QAAS5hB,SAAUzO,EAAMyO,aAEpH,cAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIuP,YAAavS,EAAMwM,MACnBrK,MAAOnC,EAAMswB,SACb7jB,SAAUzM,EAAM6R,YAChBjI,KAAM5J,EAAMmwB,QACZ1hB,SAAUzO,EAAMyO,WAAazO,EAAMkwB,SACnCxjB,KAAM1M,EAAM8mD,WAAa,mBA+PlCC,GAvPU,SAAC/mD,GACtB,MAA6CyB,eAArC6J,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,iBAExB,EAAkCvJ,mBAAS,CAAEglD,cAAc,EAAOC,cAAc,IAAhF,mBAAOzpC,EAAP,KAAkBC,EAAlB,KAEA,EAA0Bzb,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZ07C,SAAU,GAKVt2C,OAAQ,GACRu2C,UAAW,GACXC,cAAe,KACfV,WAAY,KAKZW,aAAmC,YAArBrnD,EAAMsnD,WAA2B,eAAsC,cAArBtnD,EAAMsnD,WAA6B,kBAAoB,GACvHC,mBAAoB,GACpBC,kBAAmB,KACnBC,cAAe,KACfC,yBAA0B,GAC1BC,6BAA8B,GAC9BC,4BAA6B,GAC7BC,qBAAqB,EACrBC,uBAAuB9nD,EAAMsnD,WAA0CtnD,EAAMkH,eAC7EI,WAAYtH,EAAMsH,YAAc,GAChCygD,gBAAgB,EAChBC,qBAAsBhoD,EAAMioD,aAAe,GAC3C7gD,WAAYpH,EAAMoH,YAAc,GAChC8gD,wBAAwB,EACxBC,yBAA0BnoD,EAAMkH,eAAiB,KA9BrD,mBAAOzD,EAAP,KAAcxB,EAAd,KAiCA2B,oBAAS,sBAAC,8BAAAM,EAAA,yDACFlE,EAAMimD,UACNhkD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBujD,cAAepnD,EAAMooD,cAAe1B,WAAY1mD,EAAM0mD,WAAYE,eAAgB5mD,EAAM4mD,qBAEnH5mD,EAAMqoD,OAJJ,gCAKc5B,GAAYzmD,EAAMqoD,OAAQroD,EAAMimD,SAAUjmD,EAAMooD,cAAepoD,EAAM0mD,YALnF,OAKEhhD,EALF,OAMI4iD,EAAW5iD,EAAIW,KACrBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyiD,OAAQgC,EAAShC,OACjBiC,WAAYD,EAASC,WACrBC,gBAAiBF,EAASE,gBAC1BC,UAAWH,EAASG,UACpBC,sBAAuBJ,EAASI,sBAChCC,0BAA2BL,EAASK,0BAA4B9uC,KAAOyuC,EAASK,2BAA2B7uC,OAAO,oBAAsB,GACxI8uC,yBAA0BN,EAASM,yBAC7B/uC,KAAOyuC,EAASM,0BAA0B9uC,OAAO,oBACjDD,OAASC,OAAO,oBACtBxS,WAAYghD,EAAShhD,WACrBuhD,kBAAmBP,EAAS9gD,YAC5BwgD,qBAAsBM,EAAS9gD,YAC/BJ,WAAYkhD,EAASlhD,WACrB0gD,sBAAuBQ,EAASphD,cAChCihD,yBAA0BG,EAASphD,mBAvBrC,2CA0BP,CAAClH,EAAMooD,gBAEV,IAAMU,EAAiB,WACnB,IAAQzB,EACJ5jD,EADI4jD,aAAcE,EAClB9jD,EADkB8jD,mBAAoBwB,EACtCtlD,EADsCslD,YAAaF,EACnDplD,EADmDolD,kBAAmBlB,EACtElkD,EADsEkkD,6BAA8BE,EACpGpkD,EADoGokD,oBAAqBC,EACzHrkD,EADyHqkD,sBAEzH/1C,GAAc,EACdnB,EAAS,GA2Bb,MA1BK,QAAQqB,KAAKs1C,KACd32C,EAAO22C,mBAAqB,oCAC5Bx1C,GAAc,GAEb,QAAQE,KAAKo1C,KACdz2C,EAAOy2C,aAAe,8BACtBt1C,GAAc,GAEb,QAAQE,KAAK01C,KACd/2C,EAAO+2C,6BAA+B,mCACtC51C,GAAc,GAEdg3C,IACKF,IACDj4C,EAAOi4C,kBAAoB,2BAC3B92C,GAAc,IAGlB81C,IACKC,IACDl3C,EAAOk3C,sBAAwB,2BAC/B/1C,GAAc,IAItB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBsjD,UAAWv2C,OAC/BmB,GAGLgc,EAAiB,SAACjiB,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAKlC6a,EAAa,SAACpkB,GAChB3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SAGjCo/C,EAAmB,uCAAG,gCAAA9kD,EAAA,0DACpB4kD,IADoB,wBAGpB32C,EAAW,CACPs2C,UAAWhlD,EAAM4jD,aACjBmB,gBAAiB/kD,EAAM8jD,mBACvBgB,WAAY9kD,EAAM8kD,WAClB3B,eAAgBnjD,EAAMmjD,eACtBF,WAAYjjD,EAAMijD,WAClBJ,OAAQ,KACR2C,aAAcjpD,EAAMimD,SACpByC,sBAAuB,IACvBC,0BAA2BllD,EAAMkkD,8BAAgC,GACjEiB,yBAA0BnlD,EAAMmkD,6BAA+B,IAE/DsB,EAAS,GACTzlD,EAAMskD,gBAAkBtkD,EAAMykD,uBAC9BgB,EAASzlD,EAAM0kD,yBAA2B,IAAM1kD,EAAMukD,qBAC/CvkD,EAAMykD,uBACbgB,EAASzlD,EAAM0kD,yBACR1kD,EAAMskD,iBACbmB,EAASzlD,EAAMukD,sBAEI,YAAnBhoD,EAAMimD,WACN9zC,EAAQ,kBAAwB+2C,EAChC/2C,EAAQ,YAAkB1O,EAAMskD,gBAAkBtkD,EAAMykD,wBAE5DzqC,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBmjD,cAAc,OA3BzB,SA4BJR,GAAcr0C,GA5BV,QA4BhBzM,EA5BgB,QA6BZoE,SACJyB,EAAiB,6BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAEvBsR,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBmjD,cAAc,OAnCzB,4CAAH,qDAuCnBn1C,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KACrBzK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAkBH,OACI,cAAChC,GAAA,EAAD,CAAYC,MAAK,qBAAwBG,QAASP,EAAMO,QAASC,SAAS,KAAKC,SAAS,OAAxF,SACI,eAACkC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG9B,WAAW,aAAaC,MAAO,CAAEP,SAAU,SAAUC,OAAQ,QAAzF,UACI,eAACiC,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,GAAIxP,QAAS,EAA9C,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,iBACZpQ,MAAOsB,EAAM8jD,mBACb96C,SAAUoF,EACVjI,KAAK,qBACL2C,WAAW,IAEf,cAACnH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUI,wBAE3C,eAAC5kD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,wCACA,cAAC,IAAD,CACImO,YAAY,6BACZpQ,MAAOsB,EAAMkkD,6BACbl7C,SAAUoF,EACVjI,KAAK,iCAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUQ,kCAExB,WAAlB3nD,EAAMimD,UACH,qCACKxiD,EAAM6D,YACH,eAAC3E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE0hC,aAAc,GAA1C,UACI,cAAC,GAAD,CACIl2B,MAAK,uBAAkB/I,EAAM6D,WAAxB,aACL+oB,QAAQ,iBACRH,SAAUzsB,EAAMskD,eAChB33B,cAAerC,EACfoC,QAAQ,uBACRG,SAAU7sB,EAAMukD,qBAChBn2C,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUa,0BAG9CvkD,EAAM2D,YACH,eAACzE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAAC,GAAD,CACIwJ,MAAK,uBAAkB/I,EAAM2D,WAAxB,kBACLipB,QAAQ,yBACRH,SAAUzsB,EAAMykD,uBAChB93B,cAAerC,EACfoC,QAAQ,2BACRG,SAAU7sB,EAAM0kD,yBAChBt2C,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUgB,oCAO3D,cAACxlD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiB0b,YAAalB,EAAUwpC,aAAcxlD,QAAS,kBAAMwnD,GAAoB,IAAO5lD,WAAS,EAAzG,yC,oBCpRL,SAASgmD,GAAkBppD,GACtC,OAEI,cADA,CACC2C,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACsK,GAAA,EAAD,CAAYgC,UAAU,SAAtB,SAAgCnP,EAAMmM,UACtC,uBACA,eAACxJ,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAG7B,MAAO,CAAEyD,UAAW,IAA7D,UACI,cAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAIhD,EAAMqpD,aAAe,EAAI,GAAxC,SACI,cAAC,IAAD,CAAiB7nD,QAASxB,EAAM4tB,aAAcxqB,WAAS,EAACuB,UAAU,aAAlE,uBAIH3E,EAAMqpD,cACH,cAAC1mD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASxB,EAAMqpD,aAAcjmD,WAAS,EAACuB,UAAU,aAAlE,4BCY0CqL,IAAW62C,oBAD7E,IAKMyC,GAAqC,CACvC,CAAEl7C,IAAK,aAAcxE,KAAM,OAAQ+D,MAAO,IAAKgH,UAAW3E,IAAW62C,qBACrE,CAAEz4C,IAAK,QAASxE,KAAM,wBACtB,CAAEwE,IAAK,YAAaxE,KAAM,aAAc+D,MAAO,KAC/C,CAAES,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,KACxC,CAAES,IAAK,OAAQxE,KAAM,OAAQ+D,MAAO,MAGlCsiB,GAAa,SAACjwB,GAChB,OACI,qCACI,cAACmE,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,QAC1B,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,WAA3B,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAASnT,EAAMkwB,SAAUzjB,SAAUzM,EAAMowB,cAAexmB,KAAM5J,EAAMqwB,QAAS5hB,SAAUzO,EAAMyO,aAEpH,cAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIuP,YAAavS,EAAMwM,MACnBrK,MAAOnC,EAAMswB,SACb7jB,SAAUzM,EAAM6R,YAChBjI,KAAM5J,EAAMmwB,QACZ1hB,SAAUzO,EAAMyO,WAAazO,EAAMkwB,SACnCxjB,KAAM1M,EAAM8mD,WAAa,kBAujBlCC,GA/iBU,SAAC/mD,GAAW,IAAD,IAChC,EAA6CyB,eAArC6J,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,iBAExB,EAAkCvJ,mBAAS,CAAEglD,cAAc,EAAOC,cAAc,IAAhF,mBAAOzpC,EAAP,KAAkBC,EAAlB,KAEA,EAA0Bzb,oBAAQ,GAC9BgxB,MAAM,EACNxnB,YAAY,EACZ07C,SAAU,GACVZ,OAAQ,KACRmC,UAAgC,YAArBzoD,EAAMsnD,WAA2B,eAAsC,cAArBtnD,EAAMsnD,WAA6B,kBAAoB,GACpHkB,gBAAiB,GACjBD,YAAY,EACZ33C,OAAQ,GACRu2C,UAAW,GACXC,cAAe,KACfV,WAAY,KACZgC,sBAAuB,GACvBC,0BAA2B,GAC3BC,yBAA0B/uC,OAASC,OAAO,qBAdZ,sCAeP,KAfO,6BAgBK,YAArB9Z,EAAMsnD,WAA2B,eAAsC,cAArBtnD,EAAMsnD,WAA6B,kBAAoB,IAhBzF,mCAiBV,IAjBU,kCAkBX,MAlBW,8BAmBf,MAnBe,yCAoBJ,IApBI,6CAqBA,IArBA,4CAsBD,IAtBC,qCAuBT,GAvBS,uCAwBPtnD,EAAMsnD,WAA0CtnD,EAAMkH,gBAxB/C,2BAyBlBlH,EAAMsH,YAAc,IAzBF,gCA0Bd,GA1Bc,qCA2BRtH,EAAMioD,aAAe,IA3Bb,2BA4BlBjoD,EAAMoH,YAAc,IA5BF,wCA6BN,GA7BM,yCA8BJpH,EAAMkH,eAAiB,IA9BnB,mCA+BV,IA/BU,IAAlC,mBAAOzD,EAAP,KAAcxB,EAAd,KAkCMsnD,EAAsB,uCAAG,4BAAArlD,EAAA,sEACX8hD,GAAY,UAAW,EAAG,EAAG,EAAG,EAAG,EAAGhmD,EAAMsG,UADjC,QACvBZ,EADuB,QAEnBoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqjD,SAAUxhD,EAAIW,KAAK4V,UAE7CvW,EAAIoE,SACLwB,EAAe5F,EAAIyG,SANI,2CAAH,qDAUtBq9C,EAAc,uCAAG,4BAAAtlD,EAAA,sEACHmiD,GAA2BrmD,EAAMypD,YAAazpD,EAAMqoD,QADjD,QACf3iD,EADe,QAEXoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6lD,4BAA6BhkD,EAAIW,KAAK4V,UAEhEvW,EAAIoE,SACLwB,EAAe5F,EAAIyG,SANJ,2CAAH,qDAUpBvI,oBAAS,sBAAC,8BAAAM,EAAA,yDACFlE,EAAMimD,UACNhkD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBujD,cAAepnD,EAAMooD,cAAe1B,WAAY1mD,EAAM0mD,WAAYE,eAAgB5mD,EAAM4mD,qBAEnH5mD,EAAMqoD,OAJJ,gCAKc5B,GAAYzmD,EAAMqoD,OAAQroD,EAAMimD,SAAUjmD,EAAMooD,cAAepoD,EAAM0mD,YALnF,OAKEhhD,EALF,OAMI4iD,EAAW5iD,EAAIW,KACrBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyiD,OAAQgC,EAAShC,OACjBiC,WAAYD,EAASC,WACrBC,gBAAiBF,EAASE,gBAC1BC,UAAWH,EAASG,UACpBC,sBAAuBJ,EAASI,sBAChCC,0BAA2BL,EAASK,0BAA4B9uC,KAAOyuC,EAASK,2BAA2B7uC,OAAO,oBAAsB,GACxI8uC,yBAA0BN,EAASM,yBAC7B/uC,KAAOyuC,EAASM,0BAA0B9uC,OAAO,oBACjDD,OAASC,OAAO,oBACtBxS,WAAYghD,EAAShhD,WACrBuhD,kBAAmBP,EAAS9gD,YAC5BwgD,qBAAsBM,EAAS9gD,YAC/BJ,WAAYkhD,EAASlhD,WACrB0gD,sBAAuBQ,EAASphD,cAChCihD,yBAA0BG,EAASphD,mBAvBrC,2CA0BP,CAAClH,EAAMooD,gBAEV,IAAMt2C,EAAc,WAChB,IAAQ22C,EAAwIhlD,EAAxIglD,UAAWkB,EAA6HlmD,EAA7HkmD,mBAAoBf,EAAyGnlD,EAAzGmlD,yBAA0BG,EAA+EtlD,EAA/EslD,YAAaF,EAAkEplD,EAAlEolD,kBAAmBhB,EAA+CpkD,EAA/CokD,oBAAqBC,EAA0BrkD,EAA1BqkD,sBAClH/1C,GAAc,EACdnB,EAAS,GA0Bb,MAzBK,QAAQqB,KAAK03C,KACd/4C,EAAO+4C,mBAAqB,wCAC5B53C,GAAc,GAEb,QAAQE,KAAKw2C,KACd73C,EAAO63C,UAAY,8BACnB12C,GAAc,GAEdtO,EAAM6iD,SAAW,QAAQr0C,KAAK22C,KAC9Bh4C,EAAOg4C,yBAA2B,uBAClC72C,GAAc,GAEdg3C,IACKF,IACDj4C,EAAOi4C,kBAAoB,2BAC3B92C,GAAc,IAGlB81C,IACKC,IACDl3C,EAAOk3C,sBAAwB,2BAC/B/1C,GAAc,IAGtB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGL+2C,EAAiB,WACnB,IAAQzB,EACJ5jD,EADI4jD,aAAcE,EAClB9jD,EADkB8jD,mBAAoBwB,EACtCtlD,EADsCslD,YAAaF,EACnDplD,EADmDolD,kBAAmBlB,EACtElkD,EADsEkkD,6BAA8BE,EACpGpkD,EADoGokD,oBAAqBC,EACzHrkD,EADyHqkD,sBAEzH/1C,GAAc,EACdnB,EAAS,GA6Bb,MA5BK,QAAQqB,KAAKs1C,KACd32C,EAAO22C,mBAAqB,sCAC5Bx1C,GAAc,GAEb,QAAQE,KAAKo1C,KACdz2C,EAAOy2C,aAAe,8BACtBt1C,GAAc,GAEb,QAAQE,KAAK01C,KACd/2C,EAAO+2C,6BAA+B,4CACtC51C,GAAc,GAEdg3C,IACKF,IACDj4C,EAAOi4C,kBAAoB,2BAC3B92C,GAAc,IAGlB81C,IACKC,IACDl3C,EAAOk3C,sBAAwB,2BAC/B/1C,GAAc,IAGjBD,MACDC,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBsjD,UAAWv2C,OAC/BmB,GAGLgc,EAAiB,SAACjiB,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAKlC6a,EAAa,SAACpkB,GAChB3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SAEjCgkB,EAAY,uCAAG,gCAAA1pB,EAAA,6DAEjBiO,EAAW,CACPs2C,UAAWhlD,EAAMglD,UACjBD,gBAAiB/kD,EAAM+kD,gBAAkB,OAAS/kD,EAAMkmD,mBACxDpB,WAAY9kD,EAAM8kD,WAClBnB,cAAe3jD,EAAM2jD,cACrBR,eAAgBnjD,EAAMmjD,eACtBF,WAAYjjD,EAAMijD,WAClBJ,OAAQ7iD,EAAM6iD,OACd2C,aAAcjpD,EAAMimD,SACpByC,sBAAuB,IACvBC,0BAA2BllD,EAAMklD,2BAA6B,GAC9DC,yBAA0BnlD,EAAMmlD,0BAA4B,IAE5DM,EAAS,GACTzlD,EAAMslD,aAAetlD,EAAMokD,oBAC3BqB,EAASzlD,EAAMqkD,sBAAwB,IAAMrkD,EAAMolD,kBAC5CplD,EAAMokD,oBACbqB,EAASzlD,EAAMqkD,sBACRrkD,EAAMslD,cACbG,EAASzlD,EAAMolD,mBAEI,YAAnB7oD,EAAMimD,WACN9zC,EAAQ,kBAAwB+2C,EAChC/2C,EAAQ,YAAkB1O,EAAMslD,aAAetlD,EAAMokD,qBAEzDpqC,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBojD,cAAc,OA3B5B,SA4BDT,GAAcr0C,GA5Bb,QA4BbzM,EA5Ba,QA6BToE,SACJyB,EAAiB,6BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAEvBsR,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBojD,cAAc,OAnC5B,4CAAH,qDAsCZ+B,EAAmB,uCAAG,gCAAA9kD,EAAA,0DACpB4kD,IADoB,wBAEpBl7B,IAEAzb,EAAW,CACPs2C,UAAWhlD,EAAM4jD,aACjBmB,gBAAiB/kD,EAAM8jD,mBACvBgB,WAAY9kD,EAAM8kD,WAClB3B,eAAgBnjD,EAAMmjD,eACtBF,WAAYjjD,EAAMijD,WAClBJ,OAAQ,KACR2C,aAAcjpD,EAAMimD,SACpByC,sBAAuB,IACvBC,0BAA2BllD,EAAMkkD,8BAAgC,GACjEiB,yBAA0BnlD,EAAMmkD,6BAA+B,IAE/DsB,EAAS,GACTzlD,EAAMskD,gBAAkBtkD,EAAMykD,uBAC9BgB,EAASzlD,EAAM0kD,yBAA2B,IAAM1kD,EAAMukD,qBAC/CvkD,EAAMykD,uBACbgB,EAASzlD,EAAM0kD,yBACR1kD,EAAMskD,iBACbmB,EAASzlD,EAAMukD,sBAEI,YAAnBhoD,EAAMimD,WACN9zC,EAAQ,kBAAwB+2C,EAChC/2C,EAAQ,YAAkB1O,EAAMskD,gBAAkBtkD,EAAMykD,wBAE5DzqC,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBmjD,cAAc,OA5BzB,SA6BJR,GAAcr0C,GA7BV,QA6BhBzM,EA7BgB,QA8BZoE,SACJyB,EAAiB,6BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAEvBsR,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBmjD,cAAc,OApCzB,4CAAH,qDAwCnBn1C,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KACrBzK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAEGynD,EAAoB,WACtBL,IACAtnD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELgmD,cAAc,QAGhBC,EAAe,WACjBN,IACAvnD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELkmD,YAAY,QAIdl2B,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELg6C,aAAa,QAWfmM,EAAyB,SAACtkD,GAC5BzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELomD,aAAa,QAuCfC,EAAgB,SAAClqD,GACnB,OACI,sBAAK2E,UAAU,cAAf,UACI,qBAAKA,UAAU,MAAM3D,MAAO,CAAEqZ,SAAU,GAAI8vC,UAAW,UAAvD,SACKnqD,EAAMoqD,KAAKA,OAEhB,sBAAKzlD,UAAU,SAAS3D,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,SAA9F,UACKza,EAAMoqD,KAAKC,UADhB,MAC8BxwC,KAAO7Z,EAAMoqD,KAAKE,aAAaxwC,OAAO,cAKhF,OACI,eAAC,IAAD,CAA2B1Z,MAtCvB,eAACuC,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAtC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGJ,WAAS,EAACyV,QAAQ,gBAApC,SACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACN,EAAA,EAAD,CAAazB,MAAO,CAAE8B,QAAS,GAA/B,SACI,iCACK9C,EAAMuqD,WACP,cAAC,IAAD,CAAYvpD,MAAO,CAAE2U,WAAY,GAAK4C,KAAMiyC,KAAgBh+C,MAAM,UAAUhL,QAASooD,IACpF5pD,EAAMyqD,WAAa,cAAC,IAAD,CAAYzpD,MAAO,CAAE2U,WAAY,GAAK4C,KAAMiyC,KAAgBh+C,MAAM,aAAahL,QAASsoD,aAK5H,eAACnnD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGJ,WAAS,EAACyV,QAAQ,gBAApC,UACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACN,EAAA,EAAD,CAAazB,MAAO,CAAE8B,QAAS,GAA/B,sCAEJ,cAACH,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACoX,EAAA,EAAD,CAAY3Y,QAASxB,EAAMO,QAASS,MAAO,CAAElB,YAAa,EAAGgD,QAAS,GAAtE,SACI,cAAC,KAAD,cAoB6BvC,QAASP,EAAMO,QAASK,kBAAgB,sBAAsBwC,WAAS,EAAC5C,SAAS,KAAlI,UACKiD,EAAMomD,cACH,cAAC1pD,GAAA,EAAD,CACIU,MAAM,EACNN,QAAS,kBACL0B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELgmD,cAAc,QAGtBzpD,MAAO,YACPI,SAAS,KATb,mBAWKiD,EAAMyjD,gBAXX,aAWK,EAAgB39C,KAAI,SAAC8zB,EAAGK,GAAJ,OACjB,qCACI,cAACwsB,EAAD,CAAuBE,KAAM/sB,GAATK,GACpB,oBAAI18B,MAAO,CAAE0pD,QAAS,iBAKrCjnD,EAAMsmD,YACH,cAAC5pD,GAAA,EAAD,CACIU,MAAM,EACNN,QAAS,kBACL0B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELkmD,YAAY,QAGpB3pD,MAAK,sBAAiBJ,EAAMyqD,WAC5BjqD,SAAS,KACT4C,WAAS,EAVb,SAYI,cAAC,IAAD,CAAUmQ,QAAS+1C,GAAoC5nC,KAAMje,EAAMimD,6BAA+B,GAAI1mC,cAAc,EAAMG,OAAQ,QAG1I,eAACxgB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG9B,WAAW,aAAaC,MAAO,CAAEP,SAAU,SAAUC,OAAQ,QAAzF,UACI,eAACiC,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,EAAGxP,QAAS,EAA7C,UACK7C,EAAMyqD,WACH,eAAC9nD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC+I,GAAA,EAAD,CACIhK,QAAQ,QACRnC,MAAO,CAAEuhC,WAAY,WAAYnhC,OAAQ,UAAWsX,WAAY,QAChElX,QA3GI,WAC5BS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELg6C,aAAa,QAqGG,SAKK79C,EAAMyqD,eAInB,eAAC9nD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,eAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,UAAoBpE,EAAMqoD,OAAS,WAAa,GAAhD,qBACA,cAACl7C,GAAA,EAAD,CAAYhK,QAAQ,QAAQnC,MAAO,CAAEuhC,WAAY,YAAjD,SACK9+B,EAAM+kD,qBAGf,eAAC7lD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,kBACZpQ,MAAOsB,EAAMkmD,mBACbl9C,SAAUoF,EACVjI,KAAK,qBACL2C,WAAW,IAEf,cAACnH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO+4C,wBAExC,eAAChnD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,wCACA,cAAC,IAAD,CACImO,YAAY,oBACZpQ,MAAOsB,EAAMklD,0BACbl8C,SAAUoF,EACVjI,KAAK,4BACL6E,SAAUzO,EAAMqoD,YAGxB,eAAC1lD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,eAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,UAAoBpE,EAAMqoD,OAAS,WAAa,GAAhD,+BACA,cAAC,IAAD,CACI91C,YAAW,UAAKvS,EAAMqoD,OAAS,WAAa,GAAjC,oBACXlmD,MAAOsB,EAAMmlD,yBACbn8C,SAAUoF,EACVjI,KAAK,2BACL40C,WAAY,CAAEttB,WAAY,CAAE6oB,IAAI,GAAD,OAAKt2C,EAAMklD,+BAE9C,cAACvjD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOg4C,8BAErB,WAAlB5oD,EAAMimD,WAA0BjmD,EAAMqoD,QACnC,qCACK5kD,EAAM6D,YACH,eAAC3E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAAC,GAAD,CACIwJ,MAAK,uBAAkB/I,EAAM6D,WAAxB,aACL+oB,QAAQ,cACRH,SAAUzsB,EAAMslD,YAChB34B,cAAerC,EACfoC,QAAQ,oBACRG,SAAU7sB,EAAMolD,kBAChBh3C,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,UAChBrC,UAAU,WAEd,cAAC1hD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOi4C,uBAG3CplD,EAAM2D,YACH,eAACzE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAAC,GAAD,CACIwJ,MAAK,uBAAkB/I,EAAM2D,WAAxB,kBACLipB,QAAQ,sBACRH,SAAUzsB,EAAMokD,oBAChBz3B,cAAerC,EACfoC,QAAQ,wBACRG,SAAU7sB,EAAMqkD,sBAChBj2C,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAGpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOk3C,iCAMxD,cAAC6C,GAAA,EAAD,CAASC,YAAY,WAAWC,UAAQ,EAAC7pD,MAAO,CAAElB,YAAa,UAC/D,eAAC6C,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,EAAGxP,QAAS,EAA7C,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,qBACZpQ,MAAOsB,EAAM8jD,mBACb96C,SAAUoF,EACVjI,KAAK,uBAGT,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUI,wBAE3C,eAAC5kD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,wCACA,cAAC,IAAD,CACImO,YAAY,6BACZpQ,MAAOsB,EAAMkkD,6BACbl7C,SAAUoF,EACVjI,KAAK,iCAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUQ,kCAExB,WAAlB3nD,EAAMimD,UACH,qCACKxiD,EAAM6D,YACH,eAAC3E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE0hC,aAAc,GAA1C,UACI,cAAC,GAAD,CACIl2B,MAAK,uBAAkB/I,EAAM6D,WAAxB,aACL+oB,QAAQ,iBACRH,SAAUzsB,EAAMskD,eAChB33B,cAAerC,EACfoC,QAAQ,uBACRG,SAAU7sB,EAAMukD,qBAChBn2C,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUa,0BAG9CvkD,EAAM2D,YACH,eAACzE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAAC,GAAD,CACIwJ,MAAK,uBAAkB/I,EAAM2D,WAAxB,kBACLipB,QAAQ,yBACRH,SAAUzsB,EAAMykD,uBAChB93B,cAAerC,EACfoC,QAAQ,2BACRG,SAAU7sB,EAAM0kD,yBAChBt2C,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAGpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUgB,oCAM3D,cAACxlD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,EAAGxP,QAAS,EAA7C,SACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiB0b,YAAalB,EAAUypC,aAAczlD,QApPzC,SAACkE,GAC1BoM,KACA7P,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELomD,aAAa,QAgPoF7mD,WAAS,EAAlG,gCAKR,cAACT,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,EAAGxP,QAAS,EAA7C,SACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiB0b,YAAalB,EAAUwpC,aAAcv4C,UAAWhL,EAAM6iD,OAAQ9kD,QAAS,kBAAMwnD,GAAoB,IAAO5lD,WAAS,EAAlI,gDAMXK,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,wBAArD,SACI,cAAC,GAAD,CAAqB21B,eAAgB/1B,EAAMypD,YAAa57B,aAAcgG,MAE1E,KACHpwB,EAAMwmD,YACH,cAAC9pD,GAAA,EAAD,CAAYC,MAAK,iBAAoBG,QAAS,kBAAMypD,KAA+BxpD,SAAS,KAA5F,SACI,cAAC4oD,GAAD,CACIj9C,QAAO,8DACPyhB,aAAc,kBAAMA,GAAa,IACjCy7B,aAAc,kBAAMW,SAG5B,SCtmBHc,GAAiB,uCAAG,WAAOzkD,GAAP,eAAAnC,EAAA,sEACb6B,aAAY,yCAAD,OAA0CM,IADxC,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDAUjBqlD,GAAU,uCAAG,WAAO1pD,GAAP,eAAA6C,EAAA,sEACN6B,aAAY,eAAD,OAAgB1E,IADrB,cAClBqE,EADkB,yBAEfA,GAFe,2CAAH,sDAKVslD,GAAe,uCAAG,WAAO3pD,GAAP,eAAA6C,EAAA,sEACX6B,aAAY,oCAAD,OAAqC1E,IADrC,cACvBqE,EADuB,yBAEpBA,GAFoB,2CAAH,sDAKfulD,GAAM,uCAAG,WAAO5kD,GAAP,eAAAnC,EAAA,sEACFsB,aAAa,cAAea,GAD1B,cACdX,EADc,yBAEXA,GAFW,2CAAH,sDCNbmV,GAAc,CAChB,CAAEzM,IAAK,YAAaT,MAAO,MAAO/D,KAAM,OAAQ+K,UAAW3E,IAAW62C,qBACtE,CAAEz4C,IAAK,WAAYT,MAAO,OAAQ/D,KAAM,QACxC,CAAEwE,IAAK,gBAAiBT,MAAO,MAAO/D,KAAM,aAmejCshD,GAheA,SAAClrD,GAAW,IAAD,EACtB,EAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBooC,EADgB1lC,eAAd2lC,UACqBh8B,SAAS,YAEtC,EAA0B3V,mBAAS,CAC/B4O,OAAQ,GACRu6C,sBAAuB,GACvBC,uBAAwB,GACxBC,kBAAmB,GACnBC,sBAAuB,GACvBC,mBAAoB,GACpBC,YAAa,GACbC,kBAAmB,GACnBC,UAAW,GACXC,UAAW,GACX1tB,YAAa,GACb2tB,yBAA0B,GAC1BC,sBAAuB,GACvBC,wBAAyB,GACzBtgD,YAAY,EACZugD,2BAA4B,KAC5BC,YAAY,EACZC,WAAY,GACZC,iBAAkB,KAnBtB,mBAAOzoD,EAAP,KAAcxB,EAAd,KAsBA,EAAoCD,mBAAS,CACzC6pD,sBAAuB,GACvBV,sBAAuB,KAF3B,mBAAOgB,EAAP,KAAmBC,EAAnB,KAKA,EAAwCpqD,mBAAS,CAC7C6pD,sBAAuB,GACvBV,sBAAuB,GACvB7hD,QAAS,KAHb,mBAAO+iD,EAAP,KAAqBC,EAArB,KAMA,EAAsCtqD,mBAAS,CAC3CuqD,sBAAuB,KACvBC,4BAA6B,KAC7BC,sBAAuB,OAH3B,mBAAOzuC,EAAP,KAAoBC,EAApB,KAqBAra,qBAAU,WACN,GAAI5D,EAAM0sD,OAAQ,CAAC,IAAD,IACRC,EAA6B,UAAGR,EAAWN,6BAAd,aAAG,EAAkC3tB,QAAO,SAAC1sB,GAAD,aAAO,UAAA/N,EAAMmoD,gCAAN,eAAgCgB,QAAQp7C,EAAEnQ,MAAO,KACjIwrD,EAA6B,UAAGV,EAAWhB,6BAAd,aAAG,EAAkCjtB,QAAO,SAAC1sB,GAAD,aAAO,UAAA/N,EAAMqoD,+BAAN,eAA+Bc,QAAQp7C,EAAEnQ,MAAO,KACtIirD,GAAgB,SAACzoD,GAAD,mBAAC,eACVA,GADS,IAEZgoD,sBAAuBc,EACvBxB,sBAAuB0B,UAGhC,CAACppD,EAAMmoD,yBAA0BO,EAAWN,sBAAuBpoD,EAAMqoD,wBAAyBK,EAAWhB,wBAEhHvnD,oBAAS,sBAAC,gCAAAM,EAAA,sEACU4mD,GAAkB9qD,EAAM0sC,WADlC,WACFhnC,EADE,QAEEoE,UACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2nD,YAAa9lD,EAAIW,KAAKymD,SAASvjD,KAAI,SAACwjD,GAAD,MAAQ,CAAE1rD,GAAI0rD,EAAEC,UAAWpjD,KAAMmjD,EAAEp2C,uBACtE20C,sBAAuB5lD,EAAIW,KAAK4mD,iBAChC5B,kBAAmB3lD,EAAIW,KAAK6mD,eAC5BjB,WAAYvmD,EAAIW,KAAK4lD,gBAEzBG,GAAc,SAACvoD,GAAD,MAAS,CACnBsnD,sBAAuBzlD,EAAIW,KAAK8kD,sBAAsB5hD,KAAI,SAACiI,GAAD,MAAQ,CAC9DnQ,GAAImQ,EAAE27C,uBACNvjD,KAAM4H,EAAE47C,gCAEZvB,sBAAuBnmD,EAAIW,KAAK+kD,uBAAuB7hD,KAAI,SAACiI,GAAD,MAAQ,CAC/DnQ,GAAImQ,EAAEq6C,sBACNjiD,KAAM4H,EAAE67C,qCAGZrtD,EAAMo9C,UACNn/B,GAAe,SAACpa,GAAD,yBAAC,eACTA,GADQ,IAEX0oD,sBAAqB,UAAE7mD,EAAIW,YAAN,aAAE,EAAUymD,SAC5B5uB,QAAO,SAACovB,GAAD,OAAWA,EAAMN,aAAiC,aAAlBhtD,EAAMo9C,SAA0B,EAAsB,UAAlBp9C,EAAMo9C,SAAuB,EAAI,OAC5G7zC,KAAI,SAACwjD,GAAD,MAAQ,CAAE1rD,GAAI0rD,EAAEC,UAAWpjD,KAAMmjD,EAAEp2C,uBAAuB,UAK3E3W,EAAM0sD,OA9BJ,iCA+BkB3B,GAAW/qD,EAAM81C,cAAgB,IA/BnD,cA+BEyX,EA/BF,QAgCUzjD,UACR7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELiyC,aAAcyX,EAAQlnD,KAAKyvC,aAC3B0X,oBAAqBD,EAAQlnD,KAAKmnD,oBAClCC,mBAAoBF,EAAQlnD,KAAKonD,mBACjCC,sBAAuB7zC,KAAO0zC,EAAQlnD,KAAKqnD,uBAAuB5zC,OAAO,oBACzE6zC,oBAAqBJ,EAAQlnD,KAAKsnD,oBAAsB9zC,KAAO0zC,EAAQlnD,KAAKsnD,qBAAqB7zC,OAAO,oBAAsB,KAC9H8zC,iBAAkBL,EAAQlnD,KAAKunD,iBAC/BC,uBAAwBN,EAAQlnD,KAAKwnD,uBACrC9B,2BAA4B/7C,IAAW6jC,cAAc0Z,EAAQlnD,KAAK0lD,4BAClE+B,qBAAsBP,EAAQlnD,KAAKynD,qBACnClC,yBAA0B2B,EAAQlnD,KAAKwlD,sBACvCC,wBAAyByB,EAAQlnD,KAAK8kD,sBACtC4C,iBAAkBR,EAAQlnD,KAAK0nD,iBAC/B/B,aAAYuB,EAAQlnD,KAAKsnD,oBACzBzB,iBAAkBqB,EAAQlnD,KAAKgD,UAAY,QAE/C4U,GAAe,SAACpa,GAAD,yBAAC,eACTA,GADQ,IAEX0oD,sBAAqB,UAAE7mD,EAAIW,YAAN,aAAE,EAAUymD,SAC5B5uB,QAAO,SAACovB,GAAD,OAAWA,EAAMN,YAAcO,EAAQlnD,KAAKunD,oBACnDrkD,KAAI,SAACwjD,GAAD,MAAQ,CAAE1rD,GAAI0rD,EAAEC,UAAWpjD,KAAMmjD,EAAEp2C,uBAAuB,GAEnE61C,4BAA6B9mD,EAAIW,KAAK6mD,eACjChvB,QAAO,SAAC6uB,GAAD,OAAOA,EAAEiB,kBAAoBT,EAAQlnD,KAAKwnD,0BACjDtkD,KAAI,SAAC0kD,GAAD,MAAQ,CAAE5sD,GAAI4sD,EAAED,gBAAiBpkD,KAAMqkD,EAAEC,6BAA6B,GAC/EzB,sBAAuB/mD,EAAIW,KAAK4mD,iBAC3B/uB,QAAO,SAAC6uB,GAAD,OAAOA,EAAEgB,mBAAqBR,EAAQlnD,KAAK0nD,oBAClDxkD,KAAI,SAAC0kD,GAAD,MAAQ,CAAE5sD,GAAI4sD,EAAEF,iBAAkBnkD,KAAMqkD,EAAEE,8BAA8B,SA7DvF,UAgEqBnD,GAAgBhrD,EAAM81C,cAAgB,IAhE3D,SAgEEsY,EAhEF,QAiEatkD,SACX7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBwqD,UAAWD,EAAW/nD,KAAMmF,YAAY,OAlErE,4CAqEP,IAEH5H,qBAAU,WACN,GAAIH,EAAMyoD,iBAAkB,CACxB,IAAMoC,EAAqB7qD,EAAMwoD,WAAW/tB,QAAO,SAAC1sB,GAAD,OAAO/N,EAAMyoD,iBAAiBU,QAAQp7C,EAAEnQ,KAAO,KAClGirD,GAAgB,SAACzoD,GAAD,mBAAC,eACVA,GADS,IAEZyF,QAASglD,UAGlB,CAAC7qD,EAAMyoD,iBAAkBzoD,EAAMwoD,aAElC,IAAMsC,EAAe,SAACziD,EAAG3J,GACrBmqD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkByF,QAASnH,OAC3CF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAYqoD,iBAAkB/pD,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,YAKlEuC,qBAAU,WACN,IAAI4qD,EAAoB,GACpBxwC,EAAYuuC,wBACZiC,EAAoB/qD,EAAM4nD,kBAAkBntB,QAAO,SAAC6uB,GAAO,IAAD,EACtD,OAAOA,EAAE0B,sBAAF,UAAyBzwC,EAAYuuC,6BAArC,aAAyB,EAAmClrD,OACpEkI,KAAI,SAACi0B,GAAD,MAAQ,CAAEn8B,GAAIm8B,EAAEwwB,gBAAiBpkD,KAAM4zB,EAAE0wB,8BAGpD,IAAIQ,EAAwBjrD,EAAM6nD,sBAAsBptB,QAAO,SAAC6uB,GAAO,IAAD,EAClE,OAAOA,EAAE4B,2BAAF,UAA8B3wC,EAAYwuC,mCAA1C,aAA8B,EAAyCnrD,OAC/EkI,KAAI,SAACi0B,GAAD,MAAQ,CAAEn8B,GAAIm8B,EAAEuwB,iBAAkBnkD,KAAM4zB,EAAE2wB,8BAEjDlsD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4nD,kBAAmB+C,EAAmBjD,mBAAoBmD,SACtF,CAAC1wC,EAAYuuC,sBAAuBvuC,EAAYwuC,8BAEnD,IAAM16C,EAAc,WASZrO,EAPAmqD,iBAOAnqD,EANAoqD,uBAFJ,IAGIH,EAKAjqD,EALAiqD,sBAEAD,GAGAhqD,EAJAsoD,2BAIAtoD,EAHAgqD,oBAKIlB,GAFJ9oD,EAFAqqD,qBAEArqD,EADAsqD,iBAGkF/vC,EAA9EuuC,uBAAuBC,EAAuDxuC,EAAvDwuC,4BAA6BC,EAA0BzuC,EAA1ByuC,sBAExD16C,GAAc,EACdnB,EAAS,GAsBb,OArBK27C,IACD37C,EAAOg9C,iBAAmB,uBAC1B77C,GAAc,GAEby6C,IACD57C,EAAOi9C,uBAAyB,yBAChC97C,GAAc,GAEb27C,IACD98C,EAAO88C,sBAAwB,yBAC/B37C,GAAc,GAEb07C,IACD78C,EAAO68C,mBAAqB,uBAC5B17C,GAAc,GAEb06C,IACD77C,EAAOm9C,iBAAmB,+BAC1Bh8C,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,0CAAAhO,EAAA,yDACdmC,EAAO,IACPyL,IAFc,uBAIVzL,EADArG,EAAM0sD,OACC,CACH5W,aAAcryC,EAAMqyC,aACpB0X,oBAAqB/pD,EAAM+pD,oBAC3BC,mBAAoBhqD,EAAMgqD,mBAC1BC,sBAAuBjqD,EAAMiqD,sBAC7BC,oBAAqBlqD,EAAMkqD,oBAC3BC,iBAAgB,UAAE5vC,EAAYuuC,6BAAd,aAAE,EAAmClrD,GACrDwsD,uBAAsB,UAAE7vC,EAAYwuC,mCAAd,aAAE,EAAyCnrD,GACjE0qD,2BAA4BtoD,EAAMsoD,2BAClC+B,qBAAsBrqD,EAAMqqD,qBAC5BC,iBAAgB,UAAE/vC,EAAYyuC,6BAAd,aAAE,EAAmCprD,GACrDwqD,sBAAuBpoD,EAAMmoD,yBAC7BT,sBAAuB1nD,EAAMqoD,wBAC7BziD,SAAUgjD,EAAa/iD,QAAQC,KAAI,qBAAGlI,OAGnC,CACHmsD,oBAAqBxtD,EAAM0sC,UAC3BkhB,iBAAgB,UAAE5vC,EAAYuuC,6BAAd,aAAE,EAAmClrD,GACrDwsD,uBAAsB,UAAE7vC,EAAYwuC,mCAAd,aAAE,EAAyCnrD,GACjEqsD,sBAAuBjqD,EAAMiqD,sBAC7B3B,2BAA4BtoD,EAAMsoD,2BAClC0B,mBAAoBhqD,EAAMgqD,mBAC1BK,qBAAsBrqD,EAAMqqD,qBAC5BC,iBAAgB,UAAE/vC,EAAYyuC,6BAAd,aAAE,EAAmCprD,GACrDgI,SAAUgjD,EAAa/iD,QAAQC,KAAI,qBAAGlI,MACtCiF,SAAUtG,EAAMsG,SAAWtG,EAAMsG,SAAW,GAC5Ck3C,MAAOx9C,EAAMw9C,MAAQx9C,EAAMw9C,MAAQ,IA/B7B,SAkCEyN,GAAO5kD,GAlCT,QAkCVX,EAlCU,QAmCNoE,SACJyB,EAAiB,GAAD,OAAIvL,EAAM0sD,OAAS,2BAA6B,2BAChE1sD,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAvCT,2CAAH,qDA4CboH,EAAUsI,mBAAQ,WAEpB,MADc,UAAOhB,MAEtB,IAEGhJ,EAAc,SAAC/F,GACjB,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KACrBzK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGjC8d,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GACZ,IAAIg8B,EAAK,2BAAQh8B,GAAR,kBAAa0a,EAAKxS,IAO3B,MANW,0BAAPwS,IACAshB,EAAM2sB,4BAA8B,MAE7B,gCAAPjuC,IACAshB,EAAM4sB,sBAAwB,MAE3B5sB,OAGT+uB,EAAmB,SAAC5uD,GACtB,OACI,sBAAK2E,UAAU,cAAf,UACI,qBAAKA,UAAU,MAAM3D,MAAO,CAAEqZ,SAAU,GAAI8vC,UAAW,UAAvD,SACKnqD,EAAMoqD,KAAKyE,gBAEhB,sBAAKlqD,UAAU,SAAS3D,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,SAA9F,UACKza,EAAMoqD,KAAK0E,SADhB,MAC6Bj1C,KAAO7Z,EAAMoqD,KAAK2E,WAAWj1C,OAAO,cAK7E,OACI,mCACI,eAACnX,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CACIqa,QAAShb,EAAM+nD,YACfrpD,MAAO6b,EAAYuuC,sBACnB9/C,SAAUwT,EAAmB,yBAC7BxR,SAAUhL,EAAMuoD,aAEpB,cAAC5mD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOg9C,sBAExC,eAACjrD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,wBAGA,cAAC,IAAD,CACIqa,QAAShb,EAAMgoD,kBACftpD,MAAO6b,EAAYwuC,4BACnB//C,SAAUwT,EAAmB,+BAC7BxR,SAAUhL,EAAMuoD,aAEpB,cAAC5mD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOi9C,4BAExC,eAAClrD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,8BAGA,cAAC,IAAD,CACIqa,QAAShb,EAAM8nD,mBACfppD,MAAO6b,EAAYyuC,sBACnBhgD,SAAUwT,EAAmB,yBAC7BxR,SAAUhL,EAAMuoD,aAEpB,cAAC5mD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOm9C,sBAUxC,eAACprD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CACImO,YAAY,iBACZpQ,MAAOsB,EAAMiqD,sBACbjhD,SAAUoF,EACVjI,KAAK,wBACLsnB,WAAY,CACRC,KAAK,IAAIjd,MAAOkd,cAAcC,MAAM,EAAG,KAG3C5iB,SAAUhL,EAAMuoD,aAEpB,cAAC5mD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO88C,2BAGxC,cAAC/qD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,WACXC,YAAY,WACZpQ,MAAOsB,EAAMgqD,mBACbhhD,SAAUoF,EACVjI,KAAK,qBACLgH,OAAQnN,EAAMmN,OAAO68C,mBACrBh/C,SAAUhL,EAAMuoD,eAGxB,eAACrpD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,uCACA,cAAC,IAAD,CAIImO,YAAY,4BACZpQ,MAAOsB,EAAMsoD,2BACbt/C,SAAUoF,EACVjI,KAAK,6BACL6E,SAAUhL,EAAMuoD,aAEpB,cAAC5mD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOm7C,iCAEtC/rD,EAAM0sD,QACJ,eAAC/pD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CAAaqa,QAAShb,EAAMwoD,WAAY9pD,MAAOkqD,EAAa/iD,QAASmD,SAAU8hD,EAAcvtD,MAAO,CAAEyD,WAAY,QAGzHzE,EAAM0sD,QAOH,eAAC/pD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CACImO,YAAY,eACZpQ,MAAOsB,EAAMkqD,oBACblhD,SAAUoF,EACVjI,KAAK,sBACL40C,WAAY,CAAEttB,WAAY,CAAE6oB,IAAI,GAAD,OAAKt2C,EAAMiqD,yBAC1Cj/C,SAAUhL,EAAMuoD,aAEpB,cAAC5mD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO+8C,yBAG3C3tD,EAAM0sD,QACH,eAAC/pD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAGC,GAAI,EAA9B,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CAAaqa,QAAShb,EAAMwoD,WAAY9pD,MAAOkqD,EAAa/iD,QAASmD,SAAU8hD,EAAcvtD,MAAO,CAAEyD,WAAY,QAGzHzE,EAAM0sD,QACH,eAAC/pD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,qCACA,cAAC,IAAD,CACIqa,QAAS0tC,EAAWN,sBACpBp/C,SA9WQ,SAACX,EAAG3J,GAChCmqD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkBgoD,sBAAuB1pD,OACzDF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAY+nD,yBAA0BzpD,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,YA4WlDc,MAAOkqD,EAAaR,sBACpBp9C,SAAUhL,EAAMuoD,gBAI3BhsD,EAAM0sD,QACH,eAAC/pD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,qCACA,cAAC,IAAD,CACIqa,QAAS0tC,EAAWhB,sBACpBhpD,MAAOkqD,EAAalB,sBACpB1+C,SAjYO,SAACX,EAAG3J,GAC/BmqD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkBsnD,sBAAuBhpD,OACzDF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAYioD,wBAAyB3pD,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,YA+XjDoN,SAAUhL,EAAMuoD,gBAI5B,cAACrpD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAAC,IAAD,CACIC,WAAW,QACXC,YAAY,QACZ4f,WAAS,EACTzQ,KAAM,EACN9X,KAAK,uBACLxG,WAAS,EACTqJ,SAAUoF,EACV1P,MAAOsB,EAAMqqD,qBACbr/C,SAAUhL,EAAMuoD,eAGvBhsD,EAAM0sD,OACH,cAAC/pD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAS,UAAK3E,EAAM0sD,OAAS,GAAK,cAApD,SACI,cAAC,IAAD,CAAiBlrD,QAAS0Q,EAAezD,SAAUhL,EAAMuoD,YAActY,EAAvE,sBAKJ,cAAC/wC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAS,UAAK3E,EAAM0sD,OAAS,GAAK,cAApD,SACI,cAAC,IAAD,CAAiBlrD,QAAS0Q,EAA1B,mBAGR,cAACvP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAS,UAAK3E,EAAM0sD,OAAS,GAAK,cAApD,SACI,cAAC,IAAD,CAAiBh7B,cAAc,EAAMlwB,QAAS,kBAAMxB,EAAMO,SAAQ,IAAlE,sBAIHP,EAAM0sD,QACH,eAAC/pD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE8B,QAAS,MAAO4vB,UAAW,SAAW/tB,UAAU,aAA5E,mBACKlB,EAAM4qD,iBADX,aACK,EAAiB9kD,KAAI,SAAC8zB,EAAGK,GAAJ,OAClB,qCACI,cAACkxB,EAAD,CAA0BxE,KAAM/sB,GAATK,GACvB,oBAAI18B,MAAO,CAAE0pD,QAAS,iBAIlC,cAAC,IAAD,CAAUhpC,KAAMje,EAAM4qD,UAAW96C,QAASA,EAAS7S,OAAQ,IAAKuiB,YAAaxf,EAAM+H,sBChb5FwjD,OA5Df,SAAsBhvD,GAClB,MAA0BgC,mBAAS,CAC/B4H,KAAM,KACNyrB,SAAU,KACVC,SAAU,KACVE,YAAa,KACbI,cAAe,KACfD,eAAgB,KAChBD,WAAY,KACZpV,QAAQ,IARZ,mBAAO7c,EAAP,KAAcxB,EAAd,KA+BA,OApBA2B,oBAAS,sBAAC,8BAAAM,EAAA,0DACFlE,EAAMqkB,WADJ,gCAEciQ,GAAat0B,EAAMqkB,YAFjC,OAEE3e,EAFF,OAGIW,EAAOX,EAAIW,KAAK2G,QAAQ,GAC9B/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+F,KAAMvD,EAAKqQ,UACX2e,SAAUhvB,EAAKsyB,cACfrD,SAAUjvB,EAAKuyB,cACfpD,YAAanvB,EAAKmvB,YAClBD,UAAWlvB,EAAKkvB,UAChBE,gBAAiBpvB,EAAKwyB,iBACtBnD,WAAYrvB,EAAKqvB,WACjBE,cAAevvB,EAAKuvB,cACpBD,eAAgBtvB,EAAKsvB,eACrBrV,QAAQ,OAfV,2CAkBP,IAGC7c,EAAM6c,OACF,eAAC3d,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAG7B,MAAO,CAAE4W,SAAU,QAAS8a,UAAW,SAAnF,UACI,eAAC/vB,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,yBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMmG,UAEvB,eAACjH,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,sBACA,cAAC+H,GAAA,EAAD,UAAa6C,IAAW2iB,iBAAiBlvB,EAAM4xB,SAAU5xB,EAAM6xB,SAAU7xB,EAAM+xB,YAAa/xB,EAAMmyB,oBAEtG,eAACjzB,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW4iB,cAAcnvB,EAAMiyB,iBAEjE,eAAC/yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBpvB,EAAMkyB,wBAI5E,qBAAK30B,MAAO,CAAEF,QAAS,OAAQuxB,cAAe,SAAUC,eAAgB,SAAU3kB,MAAO,QAASjN,OAAQ,SAA1G,SACI,cAAC6xB,GAAA,EAAD,CAAkBvxB,MAAO,CAAEmK,OAAQ,aCzC7C8kB,IAL4DjgB,IAAW62C,oBAK1D,SAAC7mD,GAChB,OACI,qCACI,cAACmE,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,QAC1B,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,WAA3B,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAASnT,EAAMkwB,SAAUzjB,SAAUzM,EAAMowB,cAAexmB,KAAM5J,EAAMqwB,QAAS5hB,SAAUzO,EAAMyO,aAEpH,cAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIuP,YAAavS,EAAMwM,MACnBrK,MAAOnC,EAAMswB,SACb7jB,SAAUzM,EAAM6R,YAChBjI,KAAM5J,EAAMmwB,QACZ1hB,SAAUzO,EAAMyO,WAAazO,EAAMkwB,SACnCxjB,KAAM1M,EAAM8mD,WAAa,mBA+PlCmI,GAvPqB,SAACjvD,GACjC,MAA6CyB,eAArC6J,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,iBAExB,EAAkCvJ,mBAAS,CAAEglD,cAAc,EAAOC,cAAc,IAAhF,mBAAOzpC,EAAP,KAAkBC,EAAlB,KAEA,EAA0Bzb,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZ07C,SAAU,GAKVt2C,OAAQ,GACRu2C,UAAW,GACXC,cAAe,KACfV,WAAY,KAKZW,aAAmC,YAArBrnD,EAAMsnD,WAA2B,eAAsC,cAArBtnD,EAAMsnD,WAA6B,kBAAoB,GACvHC,mBAAoB,GACpBC,kBAAmB,KACnBC,cAAe,KACfC,yBAA0B,GAC1BC,6BAA8B,GAC9BC,4BAA6B,GAC7BC,qBAAqB,EACrBC,uBAAuB9nD,EAAMsnD,WAA0CtnD,EAAMkH,eAC7EI,WAAYtH,EAAMsH,YAAc,GAChCygD,gBAAgB,EAChBC,qBAAsBhoD,EAAMioD,aAAe,GAC3C7gD,WAAYpH,EAAMoH,YAAc,GAChC8gD,wBAAwB,EACxBC,yBAA0BnoD,EAAMkH,eAAiB,KA9BrD,mBAAOzD,EAAP,KAAcxB,EAAd,KAiCA2B,oBAAS,sBAAC,8BAAAM,EAAA,yDACFlE,EAAMimD,UACNhkD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBujD,cAAepnD,EAAMooD,cAAe1B,WAAY1mD,EAAM0mD,WAAYE,eAAgB5mD,EAAM4mD,qBAEnH5mD,EAAMqoD,OAJJ,gCAKc5B,GAAYzmD,EAAMqoD,OAAQroD,EAAMimD,SAAUjmD,EAAMooD,cAAepoD,EAAM0mD,YALnF,OAKEhhD,EALF,OAMI4iD,EAAW5iD,EAAIW,KACrBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyiD,OAAQgC,EAAShC,OACjBiC,WAAYD,EAASC,WACrBC,gBAAiBF,EAASE,gBAC1BC,UAAWH,EAASG,UACpBC,sBAAuBJ,EAASI,sBAChCC,0BAA2BL,EAASK,0BAA4B9uC,KAAOyuC,EAASK,2BAA2B7uC,OAAO,oBAAsB,GACxI8uC,yBAA0BN,EAASM,yBAC7B/uC,KAAOyuC,EAASM,0BAA0B9uC,OAAO,oBACjDD,OAASC,OAAO,oBACtBxS,WAAYghD,EAAShhD,WACrBuhD,kBAAmBP,EAAS9gD,YAC5BwgD,qBAAsBM,EAAS9gD,YAC/BJ,WAAYkhD,EAASlhD,WACrB0gD,sBAAuBQ,EAASphD,cAChCihD,yBAA0BG,EAASphD,mBAvBrC,2CA0BP,CAAClH,EAAMooD,gBAEV,IAAMU,EAAiB,WACnB,IAAQzB,EACJ5jD,EADI4jD,aAAcE,EAClB9jD,EADkB8jD,mBAAoBwB,EACtCtlD,EADsCslD,YAAaF,EACnDplD,EADmDolD,kBAAiDhB,GACpGpkD,EADsEkkD,6BACtElkD,EADoGokD,qBAAqBC,EACzHrkD,EADyHqkD,sBAEzH/1C,GAAc,EACdnB,EAAS,GA2Bb,MA1BK,QAAQqB,KAAKs1C,KACd32C,EAAO22C,mBAAqB,oCAC5Bx1C,GAAc,GAEb,QAAQE,KAAKo1C,KACdz2C,EAAOy2C,aAAe,8BACtBt1C,GAAc,GAMdg3C,IACKF,IACDj4C,EAAOi4C,kBAAoB,2BAC3B92C,GAAc,IAGlB81C,IACKC,IACDl3C,EAAOk3C,sBAAwB,2BAC/B/1C,GAAc,IAItB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBsjD,UAAWv2C,OAC/BmB,GAGLgc,EAAiB,SAACjiB,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAKlC6a,EAAa,SAACpkB,GAChB3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SAGjCo/C,EAAmB,uCAAG,gCAAA9kD,EAAA,0DACpB4kD,IADoB,wBAGpB32C,EAAW,CACPs2C,UAAWhlD,EAAM4jD,aACjBmB,gBAAiB/kD,EAAM8jD,mBACvBgB,WAAY9kD,EAAM8kD,WAClB3B,eAAgBnjD,EAAMmjD,eACtBF,WAAYjjD,EAAMijD,WAClBJ,OAAQ,KACR2C,aAAcjpD,EAAMimD,SACpByC,sBAAuB,IACvBC,0BAA2B9uC,OAASC,OAAO,qBAAuB,GAClE8uC,yBAA0B/uC,OAASC,OAAO,qBAAuB,IAEjEovC,EAAS,GACTzlD,EAAMskD,gBAAkBtkD,EAAMykD,uBAC9BgB,EAASzlD,EAAM0kD,yBAA2B,IAAM1kD,EAAMukD,qBAC/CvkD,EAAMykD,uBACbgB,EAASzlD,EAAM0kD,yBACR1kD,EAAMskD,iBACbmB,EAASzlD,EAAMukD,sBAEI,YAAnBhoD,EAAMimD,WACN9zC,EAAQ,kBAAwB+2C,EAChC/2C,EAAQ,YAAkB1O,EAAMskD,gBAAkBtkD,EAAMykD,wBAE5DzqC,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBmjD,cAAc,OA3BzB,SA4BJR,GAAcr0C,GA5BV,QA4BhBzM,EA5BgB,QA6BZoE,SACJyB,EAAiB,6BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAEvBsR,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBmjD,cAAc,OAnCzB,4CAAH,qDAuCnBn1C,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KACrBzK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAkBH,OACI,cAAChC,GAAA,EAAD,CAAYC,MAAK,aAAgBG,QAASP,EAAMO,QAASC,SAAS,KAAKC,SAAS,OAAhF,SACI,eAACkC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG9B,WAAW,aAAaC,MAAO,CAAEP,SAAU,SAAUC,OAAQ,QAAzF,UACI,eAACiC,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,GAAIxP,QAAS,EAA9C,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,mBACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,iBACZpQ,MAAOsB,EAAM8jD,mBACb96C,SAAUoF,EACVjI,KAAK,qBACL2C,WAAW,IAEf,cAACnH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUI,wBAYxB,WAAlBvnD,EAAMimD,UACH,qCACKxiD,EAAM6D,YACH,eAAC3E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE0hC,aAAc,GAA1C,UACI,cAAC,GAAD,CACIl2B,MAAK,uBAAkB/I,EAAM6D,WAAxB,aACL+oB,QAAQ,iBACRH,SAAUzsB,EAAMskD,eAChB33B,cAAerC,EACfoC,QAAQ,uBACRG,SAAU7sB,EAAMukD,qBAChBn2C,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUa,0BAG9CvkD,EAAM2D,YACH,eAACzE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAAC,GAAD,CACIwJ,MAAK,uBAAkB/I,EAAM2D,WAAxB,kBACLipB,QAAQ,yBACRH,SAAUzsB,EAAMykD,uBAChB93B,cAAerC,EACfoC,QAAQ,2BACRG,SAAU7sB,EAAM0kD,yBAChBt2C,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUgB,oCAO3D,cAACxlD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiB0b,YAAalB,EAAUwpC,aAAcxlD,QAAS,kBAAMwnD,GAAoB,IAAO5lD,WAAS,EAAzG,sCCxPd8mD,GAAgB,SAAClqD,GACnB,MAA0BgC,mBAAS,CAAEgxB,MAAM,IAA3C,mBAAOvvB,EAAP,KAAcxB,EAAd,KACA,EAA2EjC,EAAMoqD,KAAzEA,EAAR,EAAQA,KAAMC,EAAd,EAAcA,UAAWC,EAAzB,EAAyBA,YAAa4E,EAAtC,EAAsCA,WAAYC,EAAlD,EAAkDA,SAAU7I,EAA5D,EAA4DA,OAAQ8I,EAApE,EAAoEA,GAChEC,EAAgBH,GAAcC,EAC5Bx0B,EAAa,SAACj1B,GAChBzD,EAAS,CAAE+wB,MAAM,IACjBttB,GAAO1F,EAAM6tB,cAAa,IAO9B,OACI,qCACKpqB,EAAMuvB,KACH,cAAC,GAAD,CACIi1B,YAAajoD,EAAMioD,YACnBrB,eAAgB5mD,EAAM4mD,eACtBtgD,SAAUtG,EAAMsG,SAChB+hD,OAAQ/B,EACRL,SAAS,UACTqB,WAAW,YACXhgD,WAAYtH,EAAMsH,WAClB/G,QAAS,kBAAMo6B,GAAW,IAC1BvzB,WAAYpH,EAAMoH,WAClBmjD,WAAW,wBACXrjD,cAAelH,EAAMkH,cACrB2mB,aAAc,kBAAM8M,GAAW,MAEnC,KACJ,sBAAKh2B,UAAU,cAAf,UACI,qBACIA,UAAU,MACV3D,MAAK,aAAIqZ,SAAU,GAAI8vC,UAAW,WAAekF,GAAiB,CAAEnsD,MAAO,UAAW9B,OAAQ,YAC9FI,QA3BE,WACT6tD,GACDptD,EAAS,CAAE+wB,MAAM,KAsBb,SAKKo3B,IAEL,qBAAKppD,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,OAAQ60C,MAAO,QAA1F,SAAqGz1C,KAAOu1C,GAAIt1C,OAAO,SACvH,sBAAKnV,UAAU,SAAS3D,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,QAAS60C,MAAO,SAA9G,UACKjF,EADL,MACmBxwC,KAAOywC,GAAaxwC,OAAO,OACzCo1C,GAAcC,GAAd,uBAA0CA,EAA1C,cAAwDt1C,KAAOq1C,GAAYp1C,OAAO,OAAlF,SAEL,uBACA,oBAAI9Y,MAAO,CAAE0pD,QAAS,gBAoavB6E,GA9Zc,SAACvvD,GAAW,IAAD,EAC9BqG,EAAOrG,EAAMqG,KACbwI,EAAU8b,eACZkG,EAAkB9sB,IAAW+sB,gBAEjC,EAA0B9uB,mBAAS,CAAE4O,OAAQ,KAA7C,mBAAOnN,EAAP,KAAcxB,EAAd,KACA,EAA6CR,eAAnB6J,GAA1B,EAAQC,iBAAR,EAA0BD,gBAClBqoC,EAAc3lC,eAAd2lC,UACFsP,EAAWtP,EAAUh8B,SAAS,UAC9B+7B,EAAaC,EAAUh8B,SAAS,YAChC63C,EAAiB7b,EAAUh8B,SAAS,gBACpC83C,EAAa9b,EAAUh8B,SAAS,YAEhC+3C,EAAS,uCAAG,4BAAAxrD,EAAA,sEACE8hD,GAAY,UAAWhmD,EAAMooD,cAAepoD,EAAM2vD,aAAc3vD,EAAM4vD,gBAAiB5vD,EAAMqkB,WAAYrkB,EAAMomD,MAAO//C,EAAKC,UAD7H,QACVZ,EADU,QAENoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqjD,SAAUxhD,EAAIW,KAAK4V,UAE7CvW,EAAIoE,SACLwB,EAAe5F,EAAIyG,SANT,2CAAH,qDAUfvI,oBAAS,sBAAC,sBAAAM,EAAA,sDACFmC,EAAKC,UACLopD,IAFE,2CAIP,CAACrpD,EAAKC,SAAUD,EAAKwpD,YAExB,IAAMC,EAAiB,SAACpqD,GACpBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN+8B,sBAAsB,OAE1BrqD,GAAOgqD,KAGLM,EAAW,SAACh9B,GACd/wB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJmvB,GAAO,QAIVi9B,EAAgB,SAACvqD,GACnBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqsD,cAAc,OAElBxqD,GAAO1F,EAAMmwD,sBAQXC,EAAmB,SAAC9xB,GACtB+xB,GAAc,SAACxsD,GAAD,mBAAC,eACRA,GADO,kBAETy6B,GAAa,QAItB,SAASgyB,EAAWvkD,GAChB,OAAOA,EAAM,MAAQ,KAGzB,IAWoBwkD,EAAUC,EAXxB38B,EAAc,WAChBw8B,GAAc,SAACxsD,GAAD,mBAAC,eACRA,GADO,IAEV4sD,YAAY,QAIpB,EAAoCzuD,mBAAS,CACzCyuD,YAAY,IADhB,mBAAOC,EAAP,KAAmBL,EAAnB,KAcMM,EAAiB,SAACC,GACpBP,GAAc,SAACxsD,GAAD,mBAAC,eACRA,GADO,kBAET+sD,GAAW,QAIdC,EAAyB,SAACnrD,GAC5B2qD,GAAc,SAACxsD,GAAD,mBAAC,eACRA,GADO,IAEV+gD,oBAAoB,OAEpBl/C,GACAmJ,EAAQC,KAAK,CACTwkB,SAAS,+BACTzjB,OAAQ,GACRpM,MAAO,MAKbqtD,EAAc,SAACprD,GACjB2qD,EAAc,CAAEU,sBAAsB,IACtCrrD,GAAO1F,EAAMmwD,sBAUjB,OACI,qCACKO,EAAWD,WACR,cAACtwD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAYhe,EAAKQ,uBAAwBgnB,aAAcgG,MAEzE,KAEJ,eAAClxB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIH,QAAS,EAAtC,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAIw+B,EAAiB,GAAK,EAArD,UAmBI,eAAC7sD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqV,QAAQ,gBAAgBrX,MAAO,CAAE8B,QAAS,YAAc6B,UAAU,uBAA/F,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,eAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,8BAEI,sBAAMlC,MAAO,CAAEC,SAAU,WAAY4uB,IAAK,OAAQ7V,KAAM,OAAxD,SACI,cAAC,KAAD,CAAoBlG,SAAUzN,EAAKC,SAAU2N,uBAAuB,kBAAkBF,UAAW1N,EAAK0N,mBAIlH,eAACpR,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEq9C,WAAY,EAAG2S,cAAe,GAAlD,WACM3qD,EAAKyvC,eAAiBmN,IAAavP,IAAe8b,GAChD,cAAC,IAAD,CAAYj3C,KAAMC,KAAShM,MAAM,UAAUhL,QA9GlD,SAACkE,GAClBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqsD,cAAc,QA2GwElvD,MAAO,CAAE0X,WAAY,WAEzFuqC,IAAavP,IAAe8b,GAC1B,qCACKnpD,EAAK4qD,wBAA0BjxD,EAAMkxD,gBAClC,cAAC,IAAD,CACI34C,KAAMC,KACNhM,MAAM,aACNhL,QAAS,kBAAM4uD,EAAiB,yBAChCpvD,MAAO,CAAE0X,WAAY,UAEzB,KACJ,cAAC,IAAD,CACIH,KAAM2sC,IACN14C,MAAM,mBACNhL,QAAS,kBAAM4uD,EAAiB,uBAChCpvD,MAAO,CAAE0X,WAAY,mBAMzC,eAAC/V,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEmhC,gBAAiB,WAAvD,UACI,cAACx/B,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,SACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACK,IAED,cAACoC,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,8BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAKqB,iBAAmB,cAG9D,eAAC/E,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAKK,oBAElD,eAAC/D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UAxHRotD,EAwHiDlqD,EAAK8qD,mBAxH5CX,EAwHgE,cAvHnFD,EACH,qBAAK/uD,QAAS,kBAAMmvD,EAAeH,IAAYxvD,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAvG,SACK63C,IAGL,KAkHuG,aAEvF,eAAC5tD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,gCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAKW,mBAAqB,eAGhE,eAACrE,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,qBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAKO,SAAW,YAElD,eAACjE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAKe,YAAc,YAErD,eAACzE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBxsB,EAAKa,gBAAkB,eAG7F,eAACvE,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAKiB,YAAc,YAErD,eAAC3E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,0BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBxsB,EAAKmB,cAAgB,YAEvF,eAAC7E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,+BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAKuB,yBAGtD,eAACjF,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAK+qD,oBAElD,eAACzuD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAKyB,gBAElD,eAACnF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,0CACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAKqC,oCAGtD,eAAC/F,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,iCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAK6B,yBAElD,eAACvF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,iCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAK+B,mBAAqB,YAE5D,eAACzF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,8BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAKiC,mBAGtD,eAAC3F,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,iCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAKmC,QAAU,YAGjD,eAAC7F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,8BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAK2B,oBAElD,eAACrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAKwC,uBAGtD,eAAClG,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,uBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAKgrD,gCAEvC,eAAC1uD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,iCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAK2C,8BAElD,eAACrG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAK6C,4BAGtD,cAACvG,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,SACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAWjqD,EAAK+C,+BAK5DomD,GACE,eAAC7sD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,EAA/B,UACI,eAACruB,EAAA,EAAD,CACIC,WAAS,EACTI,GAAI,GACJ2B,UAAU,wBACV0T,QAAQ,gBACRrX,MAAO,CAAEgwD,cAAe,MAAO3S,WAAY,MAAOiT,aAAc,OALpE,UAOI,cAAC3uD,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,4BAIJ,eAACP,EAAA,EAAD,CAAMI,MAAI,EAAV,UAUK0sD,IAAU,OAAI5+B,QAAJ,IAAIA,OAAJ,EAAIA,EAAiB0gC,eAC5B,cAAC,IAAD,CAAYvwD,MAAO,CAAE0X,WAAY,QAAUH,KAAMC,KAAShM,MAAM,wBAAwBhL,QAAS,kBAAMwuD,EAAS,WAEnHP,IAAU,OAAI5+B,QAAJ,IAAIA,OAAJ,EAAIA,EAAiB0gC,eAC5B,cAAC,IAAD,CACIvwD,MAAO,CAAE0X,WAAY,QACrBH,KAAMC,KACNhM,MAAM,YACNhL,QAAS,kBAAMwuD,EAAS,iCAQxC,cAACrtD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE8B,QAAS,MAAO4vB,UAAW,SAAW/tB,UAAU,aAA5E,mBACKlB,EAAMyjD,gBADX,aACK,EAAgB39C,KAAI,SAAC8zB,EAAGK,GAAJ,OACjB,mCACI,cAAC,GAAD,CAEI0sB,KAAM/sB,EACN4qB,YAAa5hD,EAAKmB,YAClBF,WAAYjB,EAAKiB,WACjBF,WAAYf,EAAKe,WACjBF,cAAeb,EAAKa,cACpB2mB,aAAc,kBAAMiiC,GAAe,IACnClJ,eAAgBvgD,EAAKC,SACrBA,SAAUD,EAAKC,UARVo3B,gBAgBhCj6B,EAAMuvB,KACH,cAAC,GAAD,CACIi1B,YAAa5hD,EAAKmB,YAClBo/C,eAAgBvgD,EAAKC,SACrBA,SAAUD,EAAKC,SACf2/C,SAAS,UACTqB,WAAW,YACXhgD,WAAYjB,EAAKiB,WACjB/G,QAAS,kBAAMuvD,GAAe,IAC9B1oD,WAAYf,EAAKe,WACjBF,cAAeb,EAAKa,cACpB2mB,aAAc,kBAAMiiC,GAAe,MAEvC,KACHrsD,EAAMssD,qBACH,cAAC,GAAD,CACI9H,YAAa5hD,EAAKmB,YAClBo/C,eAAgBvgD,EAAKC,SACrBA,SAAUD,EAAKC,SACf2/C,SAAS,UACTqB,WAAW,YACXhgD,WAAYjB,EAAKiB,WACjB/G,QAAS,kBAAMuvD,GAAe,IAC9B1oD,WAAYf,EAAKe,WACjBF,cAAeb,EAAKa,cACpB2mB,aAAc,kBAAMiiC,GAAe,MAEvC,KACHrsD,EAAMysD,aACH,cAAC/vD,GAAA,EAAD,CAAYC,MAAK,UAAKiG,EAAKyvC,aAAe,SAAW,MAApC,QAAiDv1C,QAAS,kBAAM0vD,GAAc,IAAQzvD,SAAS,KAAKC,SAAS,OAA9H,SACI,cAAC,GAAD,CACIisC,UAAWrmC,EAAKG,UAChBkmD,OAAQrmD,EAAKyvC,aACbA,aAAczvC,EAAKyvC,aACnBv1C,QAAS0vD,EACT3pD,SAAUD,EAAKC,SACf82C,SAAS,gBAGjB,KACHsT,EAAW9L,mBACR,cAACzkD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMswD,GAAuB,IAAQzwD,MAAO,mBAAoBI,SAAS,KAAK4C,WAAS,EAAxH,SACI,cAAC,GAAD,CAAgBw9C,SAAUv6C,EAAKC,SAAU82C,SAAS,SAAS78C,QAASswD,MAExE,KACHH,EAAWK,qBACR,cAAC5wD,GAAA,EAAD,CAAYC,MAAM,aAAaG,QAAS,kBAAMuwD,GAAY,IAAQtwD,SAAS,KAA3E,SACI,cAAC,GAAD,CAAkBD,QAASuwD,EAAa3T,SAAU92C,MAEtD,SChWDmrD,GA9HU,SAACxxD,GACtB,IAAQqG,EAASrG,EAATqG,KACFwI,EAAU8b,eAMhB,EAA0B3oB,mBAAS,CAAEgxB,MAAM,EAAOy+B,SAAS,EAAO3b,aAAc,OAAhF,mBAAOryC,EAAP,KAAcxB,EAAd,KAEQ0xC,EAAc3lC,eAAd2lC,UACFsP,EAAWtP,EAAUh8B,SAAS,UAM9Bm5C,GALand,EAAUh8B,SAAS,YAKlB,SAACjS,GACjBzD,EAAS,CAAE+wB,MAAM,EAAOc,mBAAmB,EAAO49B,gBAAgB,IAClEhsD,GAAO1F,EAAMmwD,uBAMXwB,EAAgB,SAACC,EAAMhoD,GACzB3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4tD,SAAS,OACpCzxD,EAAMmwD,sBAWJ0B,EAAoB,SAAC9lD,GACvB9J,EAAS,eAAG8J,GAAM,KAGtB,OACI,qCACI,sBAAK/K,MAAO,CAAE2M,MAAO,OAAQ7M,QAAS,OAAQC,WAAY,SAAU+wD,aAAc,SAAU7wD,SAAU,WAAY4uB,KAAM,IAAxH,UACI,qBAAK7uB,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,IAAD,CAAayN,OA3Cd,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,cAAe0R,QAAQ,GAC/B,CAAE1R,KAAM,aAAcyR,KAAM,iCAwCa1W,UAAU,6BAF/C,WAKI,qBAAK3D,MAAO,CAAE2M,MAAO,QAArB,SACKtH,EAAKyvC,eAAiBmN,GACnB,cAAC,IAAD,CAAY//C,MAAM,YAAYyB,UAAU,QAAQ4T,KAAMmsB,KAAWl4B,MAAM,MAAMhL,QA7B1E,WACnBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBiyC,aAAczvC,EAAKyvC,aAAc2b,SAAS,QA4BiDM,KAAM,CAAEpkD,MAAO,eAIjI,sBAAKhJ,UAAU,oBAAoB3D,MAAO,CAAEmK,OAAQ,EAAG1G,WAAY,IAAnE,UACI,qBAAKE,UAAU,sBAAsB3D,MAAO,CAAEC,SAAU,YAAxD,SACI,eAAC0B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,QAAQ3D,MAAO,CAAEmhC,gBAAiB,WAAxE,UACI,eAACx/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG7Q,QA5BrB,SAACuK,GACrB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BjtB,EAAKG,WAC1CqJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,cAwBuC/S,MAAO,CAAEI,OAAQ,WAApE,UACI,qBAAKuD,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,0BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAK2rD,qBAEvC,eAACrvD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,0BAEJ,eAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UACKkD,EAAKqyC,KADV,IACiBryC,EAAK4H,YAG1B,eAACtL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG7Q,QAAS,kBAAMqwD,EAAkB,sBAAsB7wD,MAAO,CAAEI,OAAQ,WAAjG,UACI,qBAAKuD,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,wBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAK+tC,cAEvC,eAACzxC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG7Q,QAAS,kBAAMqwD,EAAkB,mBAAmB7wD,MAAO,CAAEI,OAAQ,WAA9F,UACI,qBAAKuD,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,qBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAK4rD,yBAa9CxuD,EAAMuvB,KACH,cAAC7yB,GAAA,EAAD,CAAYC,MAAM,aAAaG,QAAS,kBAAMuwD,GAAY,IAAQtwD,SAAS,KAA3E,SACI,cAAC,GAAD,CAAkBD,QAASuwD,EAAa3T,SAAU92C,MAEtD,KACH5C,EAAMguD,QACH,cAACtxD,GAAA,EAAD,CACIC,MAAK,UAAKiG,EAAKyvC,aAAe,SAAW,MAApC,kBAAmDzvC,EAAK2rD,iBAE7DzxD,QAAS,kBAAMoxD,KACfnxD,SAAS,KACTC,SAAS,OALb,SAOI,cAAC,GAAD,CAAQisC,UAAWrmC,EAAKG,UAAWkmD,OAAQjpD,EAAMqyC,aAAcA,aAAcryC,EAAMqyC,aAAcv1C,QAASoxD,MAE9G,KACHluD,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMuwD,GAAY,IAAQ1wD,MAAO,mBAAoBI,SAAS,KAAK4C,WAAS,EAA7G,SACI,cAAC,GAAD,CAAiBihB,WAAYhe,EAAKge,WAAYwJ,aAAc,kBAAMijC,GAAY,QAElF,KACHrtD,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMuwD,GAAY,IAAQ1wD,MAAO,gBAAiBI,SAAS,KAAK4C,WAAS,EAA1G,SACI,cAAC,GAAD,CAAcihB,WAAYhe,EAAK6rD,YAAarkC,aAAc,kBAAMijC,GAAY,QAEhF,Y,wCC1GLqB,GAvBG,WACd,OACI,eAACxvD,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,gBAAxB,UACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,gCACA,cAACJ,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEF,QAAS,OAAQC,WAAY,UAAjD,UACI,qBAAK2D,IAAK0tD,KAAsBzkD,MAAM,SACtC,uBAAM3M,MAAO,CAAEqZ,SAAU,QAAzB,qCAEJ,eAAC1X,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEF,QAAS,OAAQC,WAAY,UAAjD,UACI,qBAAK2D,IAAK2tD,KAAsB1kD,MAAM,SACtC,uBAAM3M,MAAO,CAAEqZ,SAAU,QAAzB,qCAEJ,eAAC1X,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEF,QAAS,OAAQC,WAAY,UAAjD,UACI,qBAAK2D,IAAK4tD,KAAoB3kD,MAAM,SACpC,uBAAM3M,MAAO,CAAEqZ,SAAU,QAAzB,6CCQpB1R,GAAaoG,OAAOC,SAAS0I,KAC3B66C,GAAa5pD,GAAWgP,SAAS,aAAe,YAAchP,GAkoBrD6pD,GAhoBW,SAACxyD,GAAW,IAAD,IACjC,EAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACtBuD,EAAU8b,eACd,EAAkC3oB,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KACA,EAA0Bzb,oBAAQ,GAC9BsE,SAAU,KACVI,cAAe,KACfY,WAAY,GACZE,YAAa,KACbR,kBAAmB,GACnBU,gBAAiB,GACjBgB,4BAA4B,EAC5BU,iBAAiB,EACjBD,aAAc,EACdF,kBAAmB,EACnBgpD,eAAgB,KAChBrqD,iBAAiB,EACjBE,WAAW,EACXE,cAAe,EACfE,oBAAoB,EACpBI,WAAW,EACXO,eAAe,EACfuoD,eAAe,GAlBe,+BAmBf,GAnBe,mCAoBX,GApBW,8BAqBhB,GArBgB,qCAsBR,IAtBQ,2BAuBlB,IAvBkB,mCAwBV,IAxBU,uBAyBtB,IAzBsB,yBA0BrB,GA1BqB,yBA2BpB,GA3BoB,yBA4BrB,GA5BqB,8BA6Bf,IA7Be,0BA8BnB,IA9BmB,iCA+BZ,IA/BY,2BAgClB,IAhCkB,IAAlC,mBAAO3tD,EAAP,KAAcxB,EAAd,KAmCA,EAAwCD,mBAAS,CAC7CsH,QAAS,KADb,mBAAO+iD,EAAP,KAAqBC,EAArB,KAIM6D,EAAkB,uCAAG,gCAAAjsD,EAAA,sEACPgC,GAAyBlG,EAAMyyD,aADxB,OACnB/sD,EADmB,OAEnBW,EAAOX,EAAIW,KAAK2G,QAAQ,GACxB0lD,EAA0BhtD,EAAIW,KAAKqsD,wBACvCzwD,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,OAELyC,SAAUD,EAAKC,SACfE,UAAWH,EAAKE,gBAChBG,cAAeL,EAAKI,eACpBG,QAASP,EAAKM,cACdsrD,eAAgB5rD,EAAKQ,uBACrBG,kBAAmBX,EAAKU,eACxBG,cAAeb,EAAKY,oBACpBG,WAAYf,EAAKc,kBACjBG,WAAYjB,EAAKgB,iBACjBG,YAAanB,EAAKkB,sBAClBG,gBAAiBrB,EAAKoB,kBACtBG,gBAAiBvB,EAAKsB,sBACtBypD,cAAe/qD,EAAKwB,oBACpB8qD,SAAUtsD,EAAKyB,UACfE,cAAe3B,EAAK0B,oBACpBG,mBAAoB7B,EAAK4B,yBACzBG,kBAAmB/B,EAAK8B,yBACxBG,UAAWjC,EAAKgC,qBAChBG,OAAQnC,EAAKkC,yBACbG,2BAA4BrC,EAAKoC,yBACjCE,WAAYtC,EAAKsC,WACjBE,cAAexC,EAAKuC,oBACpBgqD,SAAUvsD,EAAKyC,wBACfG,kBAAmB5C,EAAK2C,wBACxBG,aAAc9C,EAAK6C,mBACnB2pD,UAAWxsD,EAAK+C,gBAChB6nD,sBAAuB5qD,EAAK4qD,sBAC5BhS,oBAAqB54C,EAAK44C,oBAC1BkS,mBAAoB9qD,EAAK4rD,eACzBZ,2BAA4BhrD,EAAKgrD,2BACjCW,gBAAiB3rD,EAAK2rD,gBACtB5d,SAAU/tC,EAAK+tC,SACf/vB,WAAYhe,EAAKge,YAlCZ,+BAmCWhe,EAAK4rD,gBAnChB,qBAoCC5rD,EAAKqyC,MApCN,sBAqCEryC,EAAK4H,OArCP,6BAsCS5H,EAAKyvC,cAtCd,iCAuCapwC,EAAIW,KAAKgD,UAvCtB,mCAyCeqpD,GAzCf,kCA0Cc1iD,IAAWouC,kBAAkB/3C,EAAKysD,oBA1ChD,yCA2CqB9iD,IAAWouC,kBAAkB/3C,EAAK0sD,2BA3CvD,2CA4CuB/iD,IAAWouC,kBAAkB/3C,EAAKu3C,6BA5CzD,mCA6Ce5tC,IAAWouC,kBAAkB/3C,EAAK2sD,qBA7CjD,kCA8CchjD,IAAWouC,kBAAkB/3C,EAAK4sD,oBA9ChD,0BA+CM5sD,EAAK0N,WA/CX,0BAgDM,IAAIG,MAhDV,OAJc,2CAAH,qDAwDxBtQ,oBAAS,sBAAC,8BAAAM,EAAA,yDACFlE,EAAMyyD,aACNtC,KAEAnwD,EAAM0sC,UAJJ,gCAKc5mC,GAA6B9F,EAAM0sC,WALjD,OAKEhnC,EALF,OAMFzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvD,qBAAsBxtD,EAAIW,KAAK8sD,iBAC/BpqD,cAAerD,EAAIW,KAAK8sD,iBAAiB,GACzC73B,WAAY51B,EAAIW,KAAKswC,OACrBnwC,UAAWxG,EAAM0sC,UACjB0mB,kBAAmB1tD,EAAIW,KAAK+sD,kBAAkB,GAAGta,gBACjDmT,WAAYvmD,EAAIW,KAAK4lD,WACrBtjD,WAAY4pD,QAdd,wCAiBcvsD,KAjBd,QAiBEN,EAjBF,OAkBFzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvD,qBAAsBxtD,EAAIW,KAAK8sD,iBAC/BpqD,cAAerD,EAAIW,KAAK8sD,iBAAiB,GACzC73B,WAAY51B,EAAIW,KAAKswC,OACrByc,kBAAmB1tD,EAAIW,KAAK+sD,kBAAkB,GAAGta,gBACjDmT,WAAYvmD,EAAIW,KAAK4lD,WACrBtjD,WAAY4pD,QAzBd,4CA4BP,IAEH,IAAM1gD,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACP,SAAVvK,GAA2C,UAAvBuK,EAAK4gB,cACzBrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAClB,UAAVzH,GAA4C,UAAvBuK,EAAK4gB,cACjCrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAEnC3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SAExC,IAEG8d,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SAG/B+F,EAAc,WAChB,IAAIC,GAAc,EACdnB,EAAS,GAuCb,MAtCK,QAAQqB,KAAKxO,EAAM6D,cACpBsJ,EAAOtJ,WAAa,0BACpByK,GAAc,GAEb,WAAWE,KAAKxO,EAAM+D,eACvBoJ,EAAOpJ,YAAc,kCACrBuK,GAAc,GAEbtO,EAAMqD,sBACP8J,EAAOqhD,eAAiB,8BACxBlgD,GAAc,GAEbtO,EAAMuD,oBACP4J,EAAO5J,kBAAoB,uBAC3B+K,GAAc,GAEbtO,EAAM2D,aACPwJ,EAAOxJ,WAAa,gCACpB2K,GAAc,GAEbtO,EAAMyD,gBACP0J,EAAO1J,cAAgB,mCACvB6K,GAAc,GAEbtO,EAAMiE,kBACPkJ,EAAOlJ,gBAAkB,qCACzBqK,GAAc,GAEbtO,EAAMsF,gBACP6H,EAAOgiD,SAAW,kCAClB7gD,GAAc,GAOlB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGXnO,qBAAU,WACN,GAAIH,EAAMyoD,iBAAkB,CACxB,IAAMoC,EAAqB7qD,EAAMwoD,WAAW/tB,QAAO,SAAC1sB,GAAD,OAAO/N,EAAMyoD,iBAAiBU,QAAQp7C,EAAEnQ,KAAO,KAClGirD,GAAgB,SAACzoD,GAAD,mBAAC,eACVA,GADS,IAEZyF,QAASglD,UAGlB,CAAC7qD,EAAMyoD,iBAAkBzoD,EAAMwoD,aAElC,IAQM/5C,EAAa,uCAAG,4BAAAhO,EAAA,0DACd4N,IADc,qBAEVrO,EAAM6C,SAFI,gBAGV+sD,MAAM,qBAHI,8BAKV51C,GAAa,GALH,SAMMrX,GAAqB3C,EAAO4oD,GANlC,QAMN3mD,EANM,QAOFoE,SACJyB,EAAiB,oBAAD,OAAqB7F,EAAIW,KAAKitD,aAA9B,4BAChBzkD,EAAQC,KAAR,uCAA6CpJ,EAAIW,KAAKC,SAAtD,YAAkEtG,EAAM0sC,aAGxEphC,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAdH,4CAAH,qDA2BbqzC,EAAc,SAACprD,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB0vD,SAAS,EAAOC,SAAS,OACpD9tD,GAAOyqD,KAOX,OACI,sBAAKnvD,MAAO,CAAE8B,QAAS,GAAvB,UACwB,cAAnB9C,EAAMimD,UAA4BxiD,EAAMwtD,sBACrC,cAAC,GAAD,CACI5qD,KAAM5C,EACNytD,gBAAiBlxD,EAAMkxD,gBACvBf,mBAAoBA,EACpB5vD,QAAS,kBAAMP,EAAMO,aAEzB,KAQHkD,EAAM8vD,QACH,cAACpzD,GAAA,EAAD,CAAYC,MAAM,UAAUG,QAAS,kBAAMuwD,GAAY,IAAQtwD,SAAS,KAAxE,SACI,cAAC,GAAD,CAAkBD,QAASuwD,EAAa3T,SAAU15C,MAEtD,KACHA,EAAM+vD,QACH,cAACrzD,GAAA,EAAD,CAAYC,MAAO,cAAC,GAAD,IAAeG,QAAS,kBAAMuwD,GAAY,IAAQtwD,SAAS,KAAK4nC,YAAU,EAA7F,SACI,cAAC,KAAD,CAAkBp5B,SAAUvL,EAAMuD,kBAAmBysD,eA5BxC,SAACzkD,GAC1B/M,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmD,kBAAmBgI,EAAUwkD,SAAS,QA2BsCJ,kBAAmB3vD,EAAM2vD,sBAExH,KAEiB,SAApBpzD,EAAMwwD,UACH,eAAC7tD,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,oBACKY,EAAMiwD,0BADX,aACK,EAA0BnqD,KAAI,SAACrF,EAAGogD,GAAJ,OAC3B,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC8/C,GAAD,CAAoBz8C,KAAMnC,EAAGi5C,SAAU15C,EAAOohD,gBAAiBsL,EAAoB/S,UAAU,KADzEkH,MAK5B,cAAC3hD,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,cAAC,GAAD,CAAsByD,KAAM5C,EAAOlD,QAASP,EAAMO,QAAS4vD,mBAAoBA,SAIvF,eAACxtD,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,wBAAwBxQ,KAAK,gBAAgBzH,MAAOsB,EAAMiD,cAAelF,QAASqQ,EAA7G,UACI,cAAC4e,GAAA,EAAD,CAAkBtuB,MAAM,KAAKuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,cACvD,cAACikB,GAAA,EAAD,CAAkBtuB,MAAM,KAAKuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,sBAKvE,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UASI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,6BAIA,cAAC,IAAD,CAAcqa,QAAShb,EAAM63B,WAAYn5B,MAAOsB,EAAMqD,oBAAqB2F,SAAUwT,EAAmB,yBACxG,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOqhD,oBAExC,cAACtvD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,qBACXC,YAAY,qBACZpQ,MAAOsB,EAAMuD,kBACbyF,SAAUoF,EACVjI,KAAK,oBACLgH,OAAQnN,EAAMmN,OAAO5J,kBACrBw3C,WAAY,CACRmV,aACI,cAACC,GAAA,EAAD,CAAgB3yD,SAAS,MAAzB,SACI,cAAC,KAAD,CACI0X,aAAa,eACbnX,QAAS,WACciC,EAAM6C,SArGjErE,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2vD,SAAS,QAuGAj7C,KAAMs7C,cAS9B,cAAClxD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,UAAUC,YAAY,UAAU7F,KAAK,SAASvK,MAAOsB,EAAMmD,QAASgD,KAAK,UAAU6C,SAAUoF,MAEzH,cAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZpQ,MAAOsB,EAAM2D,YAAc,GAC3BqF,SAAUoF,EACVjI,KAAK,aACLgH,OAAQnN,EAAMmN,OAAOxJ,eAG7B,cAACzE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,iBACXC,YAAY,iBACZpQ,MAAOsB,EAAMyD,cACbuF,SAAUoF,EACVjI,KAAK,gBACLgH,OAAQnN,EAAMmN,OAAO1J,kBAG7B,cAACvE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZpQ,MAAOsB,EAAM6D,WACbmF,SAAUoF,EACVjI,KAAK,aACLgH,OAAQnN,EAAMmN,OAAOtJ,eAG7B,cAAC3E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,eACXC,YAAY,eACZpQ,MAAOsB,EAAM+D,YACbiF,SAAUoF,EACVjI,KAAK,cACLgH,OAAQnN,EAAMmN,OAAOpJ,gBAG7B,cAAC7E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAAC,IAAD,CACI2N,WAAW,mBACX6f,WAAS,EACTzQ,KAAM,EACNnP,YAAY,mBACZpQ,MAAOsB,EAAMiE,gBACb+E,SAAUoF,EACVjI,KAAK,kBACLgH,OAAQnN,EAAMmN,OAAOlJ,oBAI7B,eAAC/E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYA,WAAW,GAAGC,QAAM,EAACoO,UAAQ,EAAzC,4BAGA,cAAC,IAAD,CAAaiM,QAAShb,EAAMwoD,WAAY9pD,MAAOkqD,EAAa/iD,QAASmD,SAxMpE,SAACX,EAAG3J,GACrBmqD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkByF,QAASnH,OAC3CF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAYqoD,iBAAkB/pD,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,YAqM+CoN,SAAUhL,EAAM0lD,YAC7G,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOs7C,sBAExC,cAACvpD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAAC,IAAD,CAAW8nC,OAAQ,qBAAnB,SACI,eAACx3C,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAAQ,aAApC,UACI,cAAC1V,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,iCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,kBACXxQ,KAAK,kBACLzH,MAAOsB,EAAMmE,gBACb6E,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,SAAmC,IAA1B1P,EAAMmE,gBAA0BzF,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAClG,cAACikB,GAAA,EAAD,CAAkBtd,SAAmC,IAA1B1P,EAAMmE,gBAA2BzF,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKpH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,gBAAgBxQ,KAAK,gBAAgBzH,MAAOsB,EAAM2tD,cAAe3kD,SAAUoF,EAAtG,UACI,cAAC4e,GAAA,EAAD,CAAkBtd,SAAiC,IAAxB1P,EAAM2tD,cAAwBjvD,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAChG,cAACikB,GAAA,EAAD,CAAkBtd,SAAiC,IAAxB1P,EAAM2tD,cAAyBjvD,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKlH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,YAAYxQ,KAAK,YAAYzH,MAAOsB,EAAMqE,UAAW2E,SAAUoF,EAA1F,UACI,cAAC4e,GAAA,EAAD,CAAkBtd,SAA6B,IAApB1P,EAAMqE,UAAoB3F,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAC5F,cAACikB,GAAA,EAAD,CAAkBtd,SAA6B,IAApB1P,EAAMqE,UAAqB3F,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAK9G,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,6CAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,6BACXxQ,KAAK,6BACLzH,MAAOsB,EAAMiF,2BACb+D,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CACItd,SAA8C,IAArC1P,EAAMiF,2BACfvG,OAAO,EACPuuB,QAAS,cAACC,GAAA,EAAD,IACTnkB,MAAM,QAEV,cAACikB,GAAA,EAAD,CACItd,SAA8C,IAArC1P,EAAMiF,2BACfvG,OAAO,EACPuuB,QAAS,cAACC,GAAA,EAAD,IACTnkB,MAAM,iBAM1B,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,oCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,qBACXxQ,KAAK,qBACLzH,MAAOsB,EAAMyE,mBACbuE,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,SAAsC,IAA7B1P,EAAMyE,mBAA6B/F,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACrG,cAACikB,GAAA,EAAD,CAAkBtd,SAAsC,IAA7B1P,EAAMyE,mBAA8B/F,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKvH,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,uBACXC,YAAY,uBACZpQ,MAAOsB,EAAM2E,kBACbqE,SAAUoF,EACVjI,KAAK,sBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOxI,uBAExC,cAACzF,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,YAAYxQ,KAAK,YAAYzH,MAAOsB,EAAM6E,UAAWmE,SAAUoF,EAA1F,UACI,cAAC4e,GAAA,EAAD,CAAkBtd,SAA6B,IAApB1P,EAAM6E,UAAoBnG,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAC5F,cAACikB,GAAA,EAAD,CAAkBtd,SAA6B,IAApB1P,EAAM6E,UAAqBnG,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAK9G,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,sBACXC,YAAY,sBACZpQ,MAAOsB,EAAM+E,OACbiE,SAAUoF,EACVjI,KAAK,aAGb,cAACjH,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,gBAAgBxQ,KAAK,gBAAgBzH,MAAOsB,EAAMuE,cAAeyE,SAAUoF,EAAtG,UACI,cAAC4e,GAAA,EAAD,CAAkBtd,SAAiC,IAAxB1P,EAAMuE,cAAwB7F,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAChG,cAACikB,GAAA,EAAD,CAAkBtd,SAAiC,IAAxB1P,EAAMuE,cAAyB7F,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKlH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,gBAAgBxQ,KAAK,gBAAgBzH,MAAOsB,EAAMoF,cAAe4D,SAAUoF,EAAtG,UACI,cAAC4e,GAAA,EAAD,CAAkBtd,SAAiC,IAAxB1P,EAAMoF,cAAwB1G,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAChG,cAACikB,GAAA,EAAD,CAAkBtd,SAAiC,IAAxB1P,EAAMoF,cAAyB1G,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKlH,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,uBAIA,cAAC,IAAD,CACIqa,QAAShb,EAAMyvD,qBACf/wD,MAAOsB,EAAMsF,cACb0D,SAAUwT,EAAmB,mBARrC,iBAUmB,OAlKvB,iBAqKI,cAACtd,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,mCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,oBACXxQ,KAAK,oBACLzH,MAAOsB,EAAMwF,kBACbwD,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,SAAqC,IAA5B1P,EAAMwF,kBAA4B9G,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACpG,cAACikB,GAAA,EAAD,CAAkBtd,SAAqC,IAA5B1P,EAAMwF,kBAA6B9G,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKtH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,eAAexQ,KAAK,eAAezH,MAAOsB,EAAM0F,aAAcsD,SAAUoF,EAAnG,UACI,cAAC4e,GAAA,EAAD,CAAkBtd,SAAgC,IAAvB1P,EAAM0F,aAAuBhH,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAC/F,cAACikB,GAAA,EAAD,CAAkBtd,SAAgC,IAAvB1P,EAAM0F,aAAwBhH,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKjH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,kBACXxQ,KAAK,kBACLzH,MAAOsB,EAAM2F,gBACbqD,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,SAAmC,IAA1B1P,EAAM2F,gBAA0BjH,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAClG,cAACikB,GAAA,EAAD,CAAkBtd,SAAmC,IAA1B1P,EAAM2F,gBAA2BjH,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,wBAQhI,cAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,eAACD,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAAS0Q,EAAewM,YAAalB,EAAtD,SACKxd,EAAMyyD,YAAc,OAAS,UAGtC,cAAC9vD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASxB,EAAMO,QAAhC,kCCtpBnBuzD,GAAa,uCAAG,4BAAA5vD,EAAA,sEACT6B,aAAY,kBADH,cACrBL,EADqB,yBAElBA,GAFkB,2CAAH,qDAKbquD,GAAoB,uCAAG,WAAO1yD,GAAP,eAAA6C,EAAA,sEAChB6B,aAAY,4BAAD,OAA6B1E,IADxB,cAC5BqE,EAD4B,yBAEzBA,GAFyB,2CAAH,sDAUpBI,GAA4B,uCAAG,WAAOzE,GAAP,eAAA6C,EAAA,sEACxB6B,aAAY,+CAAD,OAAgD1E,IADnC,cACpCqE,EADoC,yBAEjCA,GAFiC,2CAAH,sDAQ5BsuD,GAAU,uCAAG,WAAO3tD,GAAP,eAAAnC,EAAA,sEACNsB,aAAa,iBAAkBa,GADzB,cAClBX,EADkB,yBAEfA,GAFe,2CAAH,sDAKVuuD,GAAa,uCAAG,WAAO5yD,GAAP,eAAA6C,EAAA,sEACT6B,aAAY,kBAAD,OAAmB1E,IADrB,cACrBqE,EADqB,yBAElBA,GAFkB,2CAAH,sDAIbwuD,GAAkB,uCAAG,WAAOvoB,EAAQwoB,EAAWC,EAAStqC,EAAmBrY,GAAtD,eAAAvN,EAAA,sEACd6B,aAAY,8CAAD,OACuB4lC,EADvB,sBAC2CwoB,EAD3C,oBACgEC,EADhE,8BAC6FtqC,EAD7F,mBACyHrY,IAFtH,cAC1B/L,EAD0B,yBAIvBA,GAJuB,2CAAH,8DAMlB2uD,GAAqB,uCAAG,WAAO1oB,EAAQwoB,EAAWC,EAAStqC,EAAmBrY,GAAtD,eAAAvN,EAAA,sEACjB6B,aAAY,oDAAD,OAC6B4lC,EAD7B,sBACiDwoB,EADjD,oBACsEC,EADtE,8BACmGtqC,EADnG,mBAC+HrY,IAFzH,cAC7B/L,EAD6B,yBAI1BA,GAJ0B,2CAAH,8DCjCrB4uD,GAAuB/pC,0BAE9BgqC,GAAcxlD,OAAOC,SAAS0I,KAAKC,SAAS,aAAe,YAAc5I,OAAOC,SAAS0I,KAElF88C,GAAkB,SAACx0D,GAAW,IAAD,IAClC6O,EAAU8b,eAEV8pC,EAAW,KACX/nB,EAAY,MAEhB,OAAI1sC,QAAJ,IAAIA,GAAJ,UAAIA,EAAO2P,aAAX,aAAI,EAAcC,OAAO6kD,YACrBA,EAAWz0D,EAAM2P,MAAMC,OAAO6kD,WAElC,OAAIz0D,QAAJ,IAAIA,GAAJ,UAAIA,EAAO2P,aAAX,aAAI,EAAcC,OAAO88B,aACrBA,EAAY1sC,EAAM2P,MAAMC,OAAO88B,WAEnC,MAA6CjrC,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAkCtJ,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAAwCzb,mBAAS,CAC7C4O,OAAQ,GACRq8B,aAAc,GACdv2B,UAAW,GACXw8C,qBAAsB,GACtB53B,WAAY,GACZ90B,UAAW,KACXC,eAAgB,KAChBwqD,sBAAuB,GACvBe,gBAAiB,GACjB1rD,SAAU,GACVC,gBAAiB,GACjBM,uBAAwB,GACxBE,eAAgB,GAChB2tD,2BAA4B,GAC5B/tD,cAAe,GACfQ,kBAAmB,GACnBF,oBAAqB,GACrBI,iBAAkB,GAClBE,sBAAuB,GACvBE,kBAAmB,GACnBktD,sBAAuB,GACvBC,mBAAoB,GACpBzsD,yBAA0B,GAC1BI,yBAA0B,GAC1BI,WAAY,GACZG,wBAAyB,EACzBM,gBAAiB,GACjBsqD,mBAAoB,GACpB5d,aAAc,KACd+Z,UAAW,GACX35C,UAAU,EACV+1C,WAAY,GACZC,iBAAkB,KAjCtB,mBAAO2I,EAAP,KAAqBC,EAArB,KAoCA,EAAwC9yD,mBAAS,CAC7CsH,QAAS,KADb,mBAAO+iD,EAAP,KAAqBC,EAArB,KAIA,EAAwCtqD,mBAAS,CAC7C+yD,qBAAqB,EACrBC,wBAAwB,EACxBrtD,uBAAuB,EACvBE,qBAAqB,EACrBC,WAAW,EACXG,0BAA0B,EAC1BI,sBAAsB,EACtBI,0BAA0B,EAC1BG,qBAAqB,EACrBQ,iBAAiB,EACjBrB,qBAAqB,EACrBiB,yBAAyB,EACzBE,oBAAoB,EACpB+rD,wBAAwB,IAd5B,mBAAOC,EAAP,KAAqBC,EAArB,KAiBAvxD,oBAAS,sBAAC,4BAAAM,EAAA,0DACFlE,EAAM0sC,YAAaA,EADjB,gCAEe5mC,GAA6B9F,EAAM0sC,WAAaA,GAF/D,OAEE0oB,EAFF,OAGFN,GAAgB,SAACjxD,GAAD,mBAAC,eACVA,GADS,IAEZqvD,qBAAsBkC,EAAK/uD,KAAK8sD,iBAChC73B,WAAY85B,EAAK/uD,KAAKswC,OACtBnwC,UAAWxG,EAAM0sC,WAAaA,EAC9B2oB,sBAAuBD,EAAK/uD,KAAKivD,kBACjCrJ,WAAYmJ,EAAK/uD,KAAK4lD,gBATxB,QAaFjsD,EAAMsG,UAAYmuD,IAClBc,IAdE,2CAiBP,IAEH3xD,qBAAU,WACN8rD,MACD,CAACmF,EAAahF,YAEjB,IAAMH,EAAS,uCAAG,4BAAAxrD,EAAA,2DACVlE,EAAMooD,eAAiBpoD,EAAM2vD,cAAgB3vD,EAAM4vD,iBAAmB5vD,EAAMqkB,YAAcrkB,EAAMomD,OAASpmD,EAAMsG,UAAYmuD,GADjH,gCAEMzO,GACZ,UACAhmD,EAAMooD,cACNpoD,EAAM2vD,aACN3vD,EAAM4vD,gBACN5vD,EAAMqkB,WACNrkB,EAAMomD,MACNpmD,EAAMsG,UAAYmuD,GATZ,QAEN/uD,EAFM,QAWFoE,SACJgrD,GAAgB,SAACjxD,GAAD,mBAAC,eAAaA,GAAd,IAAkBqjD,SAAUxhD,EAAIW,KAAK4V,UAEpDvW,EAAIoE,SACLwB,EAAe5F,EAAIyG,SAfb,2CAAH,qDAoBTopD,EAAc,uCAAG,gCAAArxD,EAAA,sEACH+vD,GAAcj0D,EAAMsG,UAAYmuD,GAD7B,QACf/uD,EADe,QAEXoE,UACEzD,EAAOX,EAAIW,KAAK2G,QAAQ,GAC1B0lD,EAA0BhtD,EAAIW,KAAKqsD,wBACnCrsD,GACAyuD,GAAgB,SAACD,GAAD,mBAAC,eACVA,GADS,IAEZ5D,sBAAuB5qD,EAAK4qD,sBAC5Be,gBAAiB3rD,EAAK2rD,gBACtB1rD,SAAUD,EAAKC,SACfG,eAAgBJ,EAAKI,eACrBF,gBAAiBF,EAAKE,gBACtBM,uBAAwBR,EAAKQ,uBAC7BE,eAAgBV,EAAKU,eACrB2tD,2BAA4BruD,EAAKquD,2BACjCvtD,kBAAmBd,EAAKc,kBACxBF,oBAAqBZ,EAAKY,oBAC1BI,iBAAkBhB,EAAKgB,iBACvBE,sBAAuBlB,EAAKkB,sBAC5BE,kBAAmBpB,EAAKoB,kBACxBktD,sBAAuBtuD,EAAKsuD,sBAC5BC,mBAAoBvuD,EAAKuuD,mBACzBzsD,yBAA0B9B,EAAK8B,yBAC/BI,yBAA0BlC,EAAKkC,yBAC/BI,WAAYtC,EAAKsC,WACjBG,wBAAyBzC,EAAKyC,wBAC9Bf,oBAAqB1B,EAAK0B,oBAC1BktD,uBAAwB5uD,EAAK4uD,uBAC7BjsD,wBAAyB3C,EAAK2C,wBAC9BE,mBAAoB7C,EAAK6C,mBACzB+1C,oBAAqB54C,EAAK44C,oBAC1BD,wBAAyB34C,EAAK24C,wBAC9BlJ,aAAczvC,EAAKyvC,aACnB7nC,MAAO5H,EAAK4H,MACZyqC,KAAMryC,EAAKqyC,KACXtE,SAAU/tC,EAAK+tC,SACf6d,eAAgB5rD,EAAK4rD,eACrBtrD,cAAeN,EAAKM,cACpB6uD,4BAA6BnvD,EAAKmvD,4BAClCtD,YAAa7rD,EAAK6rD,YAClB7tC,WAAYhe,EAAKge,WACjB6nC,iBAAkBxmD,EAAIW,KAAKgD,SAE3BqqD,mBAAoBhB,EACpBI,kBAAmB9iD,IAAWouC,kBAAkB/3C,EAAKysD,mBACrDC,yBAA0B/iD,IAAWouC,kBAAkB/3C,EAAK0sD,0BAC5DnV,2BAA4B5tC,IAAWouC,kBAAkB/3C,EAAKu3C,4BAC9DoV,mBAAoBhjD,IAAWouC,kBAAkB/3C,EAAK2sD,oBACtDC,kBAAmBjjD,IAAWouC,kBAAkB/3C,EAAK4sD,mBACrDl/C,UAAW1N,EAAK0N,UAChB87C,UAAW,IAAI37C,KACfgC,UAAU,OAEdi/C,GAAgB,SAACtxD,GAAD,mBAAC,eACVA,GADS,IAEZkxD,oBAAqB1uD,EAAK0uD,oBAC1BC,uBAAwB3uD,EAAK2uD,uBAC7BrtD,sBAAuBtB,EAAKsB,sBAC5BE,oBAAqBxB,EAAKwB,oBAC1BC,UAAWzB,EAAKyB,UAChBG,yBAA0B5B,EAAK4B,yBAC/BI,qBAAsBhC,EAAKgC,qBAC3BI,yBAA0BpC,EAAKoC,yBAC/BG,oBAAqBvC,EAAKuC,oBAC1BQ,gBAAiB/C,EAAK+C,gBACtBioD,2BAA4BhrD,EAAKgrD,iCAGrCyD,GAAgB,SAACD,GAAD,mBAAC,eACVA,GADS,IAEZ3+C,UAAU,QAvEH,2CAAH,qDA6EdrE,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACP,SAAVvK,GAA2C,UAAvBuK,EAAK4gB,cACzB6nC,GAAgB,SAACtxD,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OACzB,UAAVzH,GAA4C,UAAvBuK,EAAK4gB,cACjC6nC,GAAgB,SAACtxD,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAE1CkrD,GAAgB,SAACjxD,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SAE/C,IAMGszD,EAAgBpoC,uBAAY,SAACvhB,GAC/B,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACd2hD,GAAgB,SAACD,GAAD,mBAAC,eAAuBA,GAAxB,kBAAuCjrD,EAAOuJ,SAC/D,IAEGmmC,EAAcjsB,uBAAY,SAACzjB,EAAMzH,GACnC2yD,GAAgB,SAACjxD,GAEb,OADS,2BAAQA,GAAR,kBAAa+F,EAAOzH,SAGlC,IAEHyB,qBAAU,WACN,GAAIixD,EAAa3I,iBAAkB,CAC/B,IAAMoC,EAAqBuG,EAAa5I,WAAW/tB,QAAO,SAAC1sB,GAAD,OAAOqjD,EAAa3I,iBAAiBU,QAAQp7C,EAAEnQ,KAAO,KAChHirD,GAAgB,SAACzoD,GAAD,mBAAC,eACVA,GADS,IAEZyF,QAASglD,UAGlB,CAACuG,EAAa3I,iBAAkB2I,EAAa5I,aAEhD,IAQMn6C,EAAc,WAaZ+iD,EAXAhuD,uBADJ,IAEIE,EAUA8tD,EAVA9tD,eAEAI,GAQA0tD,EATAH,2BASAG,EARA1tD,mBACAF,EAOA4tD,EAPA5tD,oBAGAQ,GAIAotD,EANAxtD,iBAMAwtD,EALAttD,sBAKAstD,EAJAptD,mBACAmtD,EAGAC,EAHAD,mBACA9rD,EAEA+rD,EAFA/rD,wBACA4sD,EACAb,EADAa,4BAEA3jD,GAAc,EACdnB,EAAS,GA2Cb,OA1CK8kD,IACD9kD,EAAO/J,uBAAyB,yBAChCkL,GAAc,GAEbhL,IACD6J,EAAO7J,eAAiB,yBACxBgL,GAAc,GAMb5K,IACDyJ,EAAOzJ,kBAAoB,yBAC3B4K,GAAc,GAEb9K,IACD2J,EAAO3J,oBAAsB,yBAC7B8K,GAAc,GAUbtK,IACDmJ,EAAOnJ,kBAAoB,yBAC3BsK,GAAc,GAGb6iD,IACDhkD,EAAOgkD,mBAAqB,yBAC5B7iD,GAAc,GAEbjJ,IACD8H,EAAO9H,wBAA0B,yBACjCiJ,GAAc,GAElB+iD,GAAgB,SAACjxD,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OACnCmB,GAGLG,EAAa,uCAAG,kCAAAhO,EAAA,0DACd4N,IADc,uBAERyrC,EAAW,CACbj3C,SAAUuuD,EAAavuD,SACvBG,eAAgBouD,EAAapuD,eAC7BF,gBAAiBsuD,EAAaruD,UAC9BK,uBAAsB,UAAEguD,EAAaa,mCAAf,aAAE,EAA0Cr0D,GAClE0F,eAAgB8tD,EAAa9tD,eAC7B2tD,2BAA4BG,EAAaH,2BACzCvtD,kBAAmB0tD,EAAa1tD,kBAChCF,oBAAqB4tD,EAAa5tD,oBAClCI,iBAAkBwtD,EAAaxtD,iBAC/BE,sBAAuBstD,EAAattD,sBACpCE,kBAAmBotD,EAAaptD,kBAChCmtD,mBAAoBC,EAAaD,mBACjCD,sBAAuBE,EAAaF,sBACpCI,oBAAqBG,EAAaH,oBAClCC,uBAAwBE,EAAaF,uBACrCrtD,sBAAuButD,EAAavtD,sBACpCE,oBAAqBqtD,EAAartD,oBAClCC,UAAWotD,EAAaptD,UACxBG,yBAA0BitD,EAAajtD,yBACvCE,yBAA0B0sD,EAAa1sD,yBACvCE,qBAAsB6sD,EAAa7sD,qBACnCE,yBAA0BssD,EAAatsD,yBACvCI,WAAY4rD,GACZ9rD,yBAA0BysD,EAAazsD,yBACvCG,oBAAqBssD,EAAatsD,oBAClCE,wBAAuB,UAAE+rD,EAAac,oCAAf,aAAE,EAA2Ct0D,GACpE+H,gBAAiB8rD,EAAa9rD,gBAC9BrB,oBAAqBmtD,EAAantD,oBAClCktD,uBAAwBC,EAAaD,uBACrCjsD,wBAAyBksD,EAAalsD,wBACtCE,mBAAoBgsD,EAAahsD,mBACjCvC,cAAekuD,EAAaluD,cAC5B0C,SAAUgjD,EAAa/iD,QAAQC,KAAI,qBAAGlI,OAE1Coc,GAAa,GArCC,SAsCEu2C,GAAWzW,GAtCb,QAsCV73C,EAtCU,QAuCNoE,SACJyB,EAAiB,iBAAD,OAAkB7F,EAAIW,KAAKitD,aAA3B,4BAChBzkD,EAAQC,KAAR,mCAAyCpJ,EAAIW,KAAKC,SAAlD,YAA8DtG,EAAM0sC,aAGpEphC,EAAe5F,EAAIyG,SAEvBsR,GAAa,GA9CC,2CAAH,qDAoDnB,OAFAqP,QAAQC,IAAI8nC,EAAc,gBAC1B/nC,QAAQC,IAAIs/B,EAAc,gBAEtB,cAACiI,GAAqBxmC,SAAtB,CACI3rB,MAAO,CACH0yD,eACAK,eACAhjD,gBACAL,cACA4jD,gBACAnc,cACAic,iBACA7F,YACAzvC,mBA9Je,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpC+oD,GAAgB,SAACjxD,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SA8JhC+oD,kBACAt3C,YACAi3C,WACA/nB,YACA6hB,aAzIS,SAACziD,EAAG3J,GACrBmqD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkByF,QAASnH,OAC3C2yD,GAAgB,SAACjxD,GAEb,OADS,2BAAQA,GAAR,IAAYqoD,iBAAkB/pD,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,YAuItDgrD,gBAhBR,SAmBKrsD,EAAMK,YClNJu1D,GA3JO,SAAC51D,GACnB,IAAQqG,EAASrG,EAATqG,KACFwI,EAAU8b,eACVkrC,EAAY,CACd,CAAEjsD,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,cAAe0R,QAAQ,GAC/B,CAAE1R,KAAM,UAAWyR,KAAM,KAG7B,EAA0BrZ,mBAAS,CAAEgxB,MAAM,EAAOy+B,SAAS,EAAO3b,aAAc,OAAhF,mBAAOryC,EAAP,KAAcxB,EAAd,KAEQ0xC,EAAc3lC,eAAd2lC,UAGFoP,GAFWpP,EAAUh8B,SAAS,UACjBg8B,EAAUh8B,SAAS,YACfg8B,EAAUh8B,SAAS,iBAKpCm5C,EAAc,SAACprD,GACjBzD,EAAS,CAAE+wB,MAAM,EAAOc,mBAAmB,EAAO49B,gBAAgB,IAClEhsD,GAAO1F,EAAMu1D,kBAMX5D,EAAgB,SAACC,EAAMhoD,GACzB3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4tD,SAAS,OACpCzxD,EAAMu1D,kBAGJn6C,EAASS,mBAAQ,WACnB,IAAMC,EAAQ,UAAO+5C,GACjBzgD,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA8B,YAAjBA,EAAQnS,QAsBnD,OArBIwL,IAEIA,EAAUiG,KADV0nC,EACiB,uBAEA,wBAiBlBjnC,IACR,IAUG+1C,EAAoB,SAAC9lD,GACvB9J,EAAS,eAAG8J,GAAM,KAGtB,OACI,qCACI,sBAAK/K,MAAO,CAAE2M,MAAO,OAAQ7M,QAAS,OAAQC,WAAY,SAAU+wD,aAAc,UAAlF,UACI,qBAAK9wD,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,IAAD,CAAayN,OAAQA,EAAQzW,UAAU,6BAF/C,WAKI,qBAAK3D,MAAO,CAAE2M,MAAO,QAArB,SACKtH,EAAKyvC,cAAgB,cAAC,IAAD,CAAY5yC,MAAM,YAAYyB,UAAU,QAAQ4T,KAAMmsB,KAAWl4B,MAAM,MAAMhL,QAvD5F,WACnBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBiyC,aAAczvC,EAAKyvC,aAAc2b,SAAS,eAyDjE,sBAAK9sD,UAAU,oBAAoB3D,MAAO,CAAEmK,OAAQ,EAAG1G,UAAW,IAAlE,UACI,qBAAKE,UAAU,sBAAsB3D,MAAO,CAAEC,SAAU,YAAxD,SACI,eAAC0B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,uBAAtC,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,0BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAAS3B,QA9B7B,SAACuK,GACrB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BjtB,EAAKE,iBAC1CsJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,cA0B+C/S,MAAO,CAAEI,OAAQ,WAAxE,SACKiF,EAAK2rD,qBAGd,eAACrvD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,0BAEJ,eAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UACKkD,EAAKqyC,KADV,IACiBryC,EAAK4H,YAG1B,eAACtL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG7Q,QAAS,kBAAMqwD,EAAkB,sBAAsB7wD,MAAO,CAAEI,OAAQ,WAAjG,UACI,qBAAKuD,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,wBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAK+tC,cAEvC,eAACzxC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG7Q,QAAS,kBAAMqwD,EAAkB,mBAAmB7wD,MAAO,CAAEI,OAAQ,WAA9F,UACI,qBAAKuD,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,qBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkD,EAAK4rD,yBAa9CxuD,EAAMuvB,KACH,cAAC7yB,GAAA,EAAD,CAAYC,MAAM,aAAaG,QAAS,kBAAMuwD,GAAY,IAAQtwD,SAAS,KAA3E,SACI,cAAC,GAAD,CAAkBD,QAASuwD,EAAa3T,SAAU92C,MAEtD,KACH5C,EAAMguD,QACH,cAACtxD,GAAA,EAAD,CACIC,MAAK,UAAKiG,EAAKyvC,aAAe,SAAW,MAApC,kBAAmDzvC,EAAK2rD,iBAE7DzxD,QAAS,kBAAMoxD,KACfnxD,SAAS,KACTC,SAAS,OALb,SAOI,cAAC,GAAD,CAAQisC,UAAWrmC,EAAKG,UAAWkmD,OAAQjpD,EAAMqyC,aAAcA,aAAcryC,EAAMqyC,aAAcv1C,QAASoxD,MAE9G,KACHluD,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMuwD,GAAY,IAAQ1wD,MAAO,mBAAoBI,SAAS,KAAK4C,WAAS,EAA7G,SACI,cAAC,GAAD,CAAiBihB,WAAYhe,EAAKge,WAAYwJ,aAAc,kBAAMijC,GAAY,QAElF,KACHrtD,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMuwD,GAAY,IAAQ1wD,MAAO,gBAAiBI,SAAS,KAAK4C,WAAS,EAA1G,SACI,cAAC,GAAD,CAAcihB,WAAYhe,EAAK6rD,YAAarkC,aAAc,kBAAMijC,GAAY,QAEhF,YCrJdgF,GAAqB,SAAC91D,GACxB,MACI2B,qBAAW2yD,IADPO,EAAR,EAAQA,aAAcK,EAAtB,EAAsBA,aAAchjD,EAApC,EAAoCA,cAAeL,EAAnD,EAAmDA,YAAa0jD,EAAhE,EAAgEA,eAAgBt1C,EAAhF,EAAgFA,mBAAoBzC,EAApG,EAAoGA,UAAW+wC,EAA/G,EAA+GA,aAAclC,EAA7H,EAA6HA,aAG7H,OACI,sBAAKrrD,MAAO,CAAE8B,QAAS,GAAvB,UACwB,YAAnB9C,EAAMo9C,UAA0ByX,EAAa5D,sBAC1C,cAAC,GAAD,CAAe5qD,KAAMwuD,EAAc3D,gBAAiBlxD,EAAMkxD,gBAAiBqE,eAAgBA,IAC3F,KACJ,eAAC5yD,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACKgyD,EAAanB,mBAAmBnqD,KAAI,SAACrF,EAAGogD,GAAJ,OACjC,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC8/C,GAAD,CAAoBz8C,KAAMnC,EAAGi5C,SAAU0X,EAAchQ,gBAAiB0Q,KADlDjR,MAI5B,eAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,6BASA,cAAC,IAAD,CACIqa,QAASo2C,EAAav5B,WACtBn5B,MAAO0yD,EAAaa,4BACpBjpD,SAAUwT,EAAmB,iCAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwvD,EAAajkD,OAAO/J,4BAE/C,cAAClE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,yBACXC,YAAY,yBACZpQ,MAAO0yD,EAAaH,2BACpBjoD,SAAUoF,EACVjI,KAAK,6BACLgH,OAAQikD,EAAajkD,OAAO8jD,+BAGpC,cAAC/xD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,mBACXC,YAAY,mBACZpQ,MAAO0yD,EAAa9tD,eACpB0F,SAAUoF,EACVjI,KAAK,iBACLgH,OAAQikD,EAAajkD,OAAO7J,mBAGpC,cAACpE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,UAAUC,YAAY,UAAUpQ,MAAO0yD,EAAaluD,cAAe8F,SAAUoF,EAAajI,KAAK,oBAE3H,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZpQ,MAAO0yD,EAAa1tD,kBACpBsF,SAAUoF,EACVjI,KAAK,oBACLgH,OAAQikD,EAAajkD,OAAOzJ,sBAGpC,cAACxE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,iBACXC,YAAY,iBACZpQ,MAAO0yD,EAAa5tD,oBACpBwF,SAAUoF,EACVjI,KAAK,sBACLgH,OAAQikD,EAAajkD,OAAO3J,wBAGpC,cAACtE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,cACXC,YAAY,cACZpQ,MAAO0yD,EAAaxtD,iBACpBoF,SAAUoF,EACVjI,KAAK,mBACLgH,OAAQikD,EAAajkD,OAAOvJ,qBAGpC,cAAC1E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,eACXC,YAAY,eACZpQ,MAAO0yD,EAAattD,sBACpBkF,SAAUoF,EACVjI,KAAK,wBACLgH,OAAQikD,EAAajkD,OAAOrJ,0BAGpC,cAAC5E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAAC,IAAD,CACI2N,WAAW,iBACX6f,WAAS,EACTzQ,KAAM,EACNnP,YAAY,iBACZpQ,MAAO0yD,EAAaptD,kBACpBgF,SAAUoF,EACVjI,KAAK,oBACLgH,OAAQikD,EAAajkD,OAAOnJ,sBAGpC,cAAC9E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,gBACXC,YAAY,gBACZpQ,MAAO0yD,EAAaD,mBACpBnoD,SAAUoF,EACVjI,KAAK,qBACLgH,OAAQikD,EAAajkD,OAAOgkD,uBAGpC,eAACjyD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,0BACXC,YAAY,0BACZpQ,MAAO0yD,EAAaF,sBACpBloD,SAAUoF,EACVjI,KAAK,0BAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwvD,EAAajkD,OAAO+jD,2BAE/C,eAAChyD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYA,WAAW,GAAGC,QAAM,EAACoO,UAAQ,EAAzC,4BAGA,cAAC,IAAD,CAAaiM,QAASo2C,EAAa5I,WAAY9pD,MAAOkqD,EAAa/iD,QAASmD,SAAU8hD,OAE1F,cAAC5rD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAWm3C,OAAQ,qBAAnB,SACI,eAACx3C,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAAQ,aAApC,UACI,cAAC1V,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMiG,QAAQ,gBAAgBtX,WAAW,WAAnE,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BAEJ,cAACzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACwtB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,sBACXxQ,KAAK,sBACLzH,MAAO+yD,EAAaH,oBACpBtoD,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAaH,oBAAqB5yD,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACpG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAaH,oBAAqB5yD,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKtH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,yBACXxQ,KAAK,yBACLzH,MAAO+yD,EAAaF,uBACpBvoD,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAaF,uBAAwB7yD,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACvG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAaF,uBAAwB7yD,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKzH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,iCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,wBACXxQ,KAAK,wBACLzH,MAAO+yD,EAAavtD,sBACpB8E,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAavtD,sBAAuBxF,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACtG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAavtD,sBAAuBxF,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKxH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,sBACXxQ,KAAK,sBACLzH,MAAO+yD,EAAartD,oBACpB4E,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAartD,oBAAqB1F,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACpG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAartD,oBAAqB1F,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKtH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,YAAYxQ,KAAK,YAAYzH,MAAO+yD,EAAaptD,UAAW2E,SAAUoF,EAAjG,UACI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAaptD,UAAW3F,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAC1F,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAaptD,UAAW3F,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAK5G,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,oCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,yBACXxQ,KAAK,yBACLzH,MAAO+yD,EAAaD,uBACpBxoD,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAaD,uBAAwB9yD,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACvG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAaD,uBAAwB9yD,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKzH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,mCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,2BACXxQ,KAAK,2BACLzH,MAAO+yD,EAAajtD,yBACpBwE,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAajtD,yBAA0B9F,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACzG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAajtD,yBAA0B9F,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAM3H,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,sBACXC,YAAY,sBACZpQ,MAAO0yD,EAAa1sD,yBACpBsE,SAAUoF,EACVjI,KAAK,6BAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwvD,EAAajkD,OAAOzI,8BAG/C,cAACxF,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,uBACXxQ,KAAK,uBACLzH,MAAO+yD,EAAa7sD,qBACpBoE,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAa7sD,qBAAsBlG,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACrG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAa7sD,qBAAsBlG,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAMvH,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,sBACXC,YAAY,sBACZpQ,MAAO0yD,EAAatsD,yBACpBkE,SAAUoF,EACVjI,KAAK,6BAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwvD,EAAajkD,OAAOrI,8BAE/C,cAAC5F,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,6CAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,2BACXxQ,KAAK,2BACLzH,MAAO+yD,EAAazsD,yBACpBgE,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAazsD,yBAA0BtG,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACzG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAazsD,yBAA0BtG,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAK3H,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,sBACXxQ,KAAK,sBACLzH,MAAO+yD,EAAatsD,oBACpB6D,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAatsD,oBAAqBzG,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACpG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAatsD,oBAAqBzG,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKtH,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,uBASA,cAAC,IAAD,CACIqa,QAASo2C,EAAa3B,qBACtB/wD,MAAO0yD,EAAac,6BACpBlpD,SAAUwT,EAAmB,kCAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwvD,EAAajkD,OAAO9H,6BAE/C,cAACnG,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,sBACXxQ,KAAK,sBACLzH,MAAO+yD,EAAantD,oBACpB0E,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAantD,oBAAqB5F,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACpG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAantD,oBAAqB5F,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKtH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,mCAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,0BACXxQ,KAAK,0BACLzH,MAAO+yD,EAAalsD,wBACpByD,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAalsD,wBAAyB7G,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACxG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAalsD,wBAAyB7G,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAK1H,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,qBACXxQ,KAAK,qBACLzH,MAAO+yD,EAAahsD,mBACpBuD,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAahsD,mBAAoB/G,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACnG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAahsD,mBAAoB/G,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAKrH,cAAC7J,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjuB,MAAI,EAAvC,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,kBACXxQ,KAAK,kBACLzH,MAAO+yD,EAAa9rD,gBACpBqD,SAAUoF,EALd,UAOI,cAAC4e,GAAA,EAAD,CAAkBtd,QAAS+hD,EAAa9rD,gBAAiBjH,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAChG,cAACikB,GAAA,EAAD,CAAkBtd,SAAU+hD,EAAa9rD,gBAAiBjH,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,wBAS9H,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACMgyD,EAAavuD,SAOX,cAAC3D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CACInD,QAAS,WACL6xD,MAAM,mBAFd,oBAPJ,cAAC1wD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAAewM,YAAalB,EAAtD,mBAeR,cAAC7a,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASxB,EAAMO,QAAhC,gCAeToxB,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAwBA,QC9d9B+K,I,OAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFyC,MAAO,OACP,YAAa,CACTlJ,UAAWwG,EAAMpI,QAAQ,UA+BtBkzD,GA1BY,SAAC/1D,GACR+K,KAAhB,IACA,EAA0B/I,mBAAS,CAC/Bg0D,WAAY,KADhB,mBAAOvyD,EAAP,KAAcxB,EAAd,KAQA,OALA2B,oBAAS,sBAAC,4BAAAM,EAAA,sEACUyiD,GAAe3mD,EAAMimD,SAAUjmD,EAAMooD,cAAepoD,EAAM4vD,gBAAiB5vD,EAAMqkB,WAAYrkB,EAAM2vD,aAAc3vD,EAAM4mD,gBADjI,OACFlhD,EADE,OAENzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmyD,WAAYtwD,EAAIW,UAFrC,2CAGP,CAACrG,EAAMooD,gBAGN,qBAAKzjD,UAAU,kBAAf,SACKlB,EAAMuyD,WAAWhkD,OAAS,GACvBvO,EAAMuyD,WAAWzsD,KAAI,SAACk7C,GAAkB,IAAfH,EAAc,uDAAN,EAC7B,OACI,eAACryB,GAAA,EAAD,CAAmBC,SAAS,UAAUvtB,UAAU,cAAhD,UACK8/C,EAAErkD,MACH,uBACCqkD,EAAEjW,cAHK8V,SC9BvB2R,GAAiB,uCAAG,WAAO/xC,GAAP,eAAAhgB,EAAA,sEACb6B,aAAY,cAAD,OAAeme,IADb,cACzBxe,EADyB,yBAEtBA,GAFsB,2CAAH,sDAIjBwwD,GAAkB,uCAAG,WAAOhyC,GAAP,eAAAhgB,EAAA,sEACd6B,aAAY,kCAAD,OAAmCme,IADhC,cAC1Bxe,EAD0B,yBAEvBA,GAFuB,2CAAH,sDAIlBywD,GAAc,uCAAG,WAAO9vD,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,aAAca,GADjB,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDAId0wD,GAAa,uCAAG,WAAO/0D,GAAP,eAAA6C,EAAA,sEACT6B,aAAY,gCAAD,OAAiC1E,IADnC,cACrBqE,EADqB,yBAElBA,GAFkB,2CAAH,sDAIb2wD,GAAiB,uCAAG,WAAOh1D,GAAP,eAAA6C,EAAA,sEACb6B,aAAY,0CAAD,OAA2C1E,IADzC,cACzBqE,EADyB,yBAEtBA,GAFsB,2CAAH,sDAKjB4wD,GAAgB,uCAAG,WAAOjwD,GAAP,eAAAnC,EAAA,sEACZsB,aAAa,8BAA+Ba,GADhC,cACxBX,EADwB,yBAErBA,GAFqB,2CAAH,sDAIhB6wD,GAAiB,uCAAG,WAAOlwD,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,oCAAqCa,GADrC,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDAIjB8wD,GAAc,uCAAG,WAAOnwD,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,+BAAgCa,GADnC,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKd+wD,GAAuB,uCAAG,WAAOp1D,GAAP,eAAA6C,EAAA,sEACnB6B,aAAY,sCAAD,OAAuC1E,IAD/B,cAC/BqE,EAD+B,yBAE5BA,GAF4B,2CAAH,sDAIvBgxD,GAA+B,uCAAG,WAAOr1D,GAAP,eAAA6C,EAAA,sEAC3B6B,aAAY,0CAAD,OAA2C1E,IAD3B,cACvCqE,EADuC,yBAEpCA,GAFoC,2CAAH,sDAK/BixD,GAAgB,uCAAG,WAAOtwD,GAAP,eAAAnC,EAAA,sEACZsB,aAAa,4BAA6Ba,GAD9B,cACxBX,EADwB,yBAErBA,GAFqB,2CAAH,sD,qBCvCvBkxD,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACF10B,gBAAiBl3B,EAAM6rD,QAAQC,OAAOC,MACtC9zD,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,MACTpC,OAAQ,WARQ8gD,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,qBAAsB,CAClBi3B,gBAAiBl3B,EAAM6rD,QAAQM,OAAOv4B,WAH3B2iB,CAMnB6V,MAEEtsD,GAAYC,YAAW,CACzB5K,MAAO,CACH8C,MAAO,UACPyS,WAAY,EACZlR,UAAW,EACXi+B,aAAc,GAElB40B,UAAW,CACPj9C,SAAU,YAEd7N,MAAO,CACHvL,SAAU,QACV4uB,IAAK,KAIE,SAAS0nC,GAAiBv3D,GACrC,IAAM2L,EAAUZ,KAEhB,OACI,eAACysD,GAAA,EAAD,CAAgBx2D,MAAO,CAAEggC,OAAQ,6BAAjC,UACI,qBACIhgC,MAAO,CACHy2D,aAAc,6BAFtB,SAKI,oBAAI9yD,UAAWgH,EAAQvL,MAAvB,SAA+BJ,EAAM03D,gBAEzC,cAACC,GAAA,EAAD,CAAOv9C,aAAW,mBAAlB,SACI,cAACw9C,GAAA,EAAD,UACK53D,EAAM63D,UAAUtuD,KAAI,SAACmL,GAAD,OACjB,eAACyiD,GAAD,WACI,eAACP,GAAD,CAAiBxpD,MAAM,OAAvB,UACI,sBAAKzI,UAAU,mBAAf,UACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,SAA+BuR,EAAIojD,QAAoB,OAE3D,cAAC3qD,GAAA,EAAD,CAAYxI,UAAWgH,EAAQ2rD,UAAWn0D,QAAQ,SAAlD,SACKuR,EAAIqjD,QAAU,WAGtBrjD,EAAIsjD,OACD,eAACpB,GAAD,CAAiBxpD,MAAM,OAAvB,UACI,sBAAKzI,UAAU,mBAAf,UACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,SAA+BuR,EAAIsjD,QAAoB,OAE3D,cAAC7qD,GAAA,EAAD,CAAYxI,UAAWgH,EAAQ2rD,UAAWn0D,QAAQ,SAAlD,SACKuR,EAAIujD,QAAU,WAI1BvjD,EAAIwjD,OACD,eAACtB,GAAD,CAAiBxpD,MAAM,OAAvB,UACI,sBAAKzI,UAAU,mBAAf,UACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,SAA+BuR,EAAIwjD,QAAoB,OAE3D,cAAC/qD,GAAA,EAAD,CAAYxI,UAAWgH,EAAQ2rD,UAAWn0D,QAAQ,SAAlD,SACKuR,EAAIyjD,QAAU,WAI1BzjD,EAAI0jD,OACD,eAACxB,GAAD,CAAiBxpD,MAAM,OAAvB,UACI,sBAAKzI,UAAU,mBAAf,UACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,SAA+BuR,EAAI0jD,QAAoB,OAE3D,cAACjrD,GAAA,EAAD,CAAYxI,UAAWgH,EAAQ2rD,UAAWn0D,QAAQ,SAAlD,SACKuR,EAAI2jD,QAAU,aAnCV3jD,EAAI9K,gBCvD1C,IAKM0uD,GAAc,uCAAG,WAAOjyD,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,mBAAoBa,GADvB,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKd6yD,GAAiB,uCAAG,WAAOlyD,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,gBAAiBa,GADjB,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sD,qBC6Nf8yD,GAhOS,SAACx4D,GACrB,MAA0BgC,mBAAS,CAC/BwE,UAAW,KACXiyD,WAAY,KACZ7rC,gBAAiB5sB,EAAM2vC,0BAA4B,GACnD+oB,gBAAiB14D,EAAMgvC,2BAA6B,GACpD2pB,gBAAiB,GACjBC,iBAAkB54D,EAAMivC,2BAA6B,GACrD4pB,mBAAoB,GACpBC,SAAU,GACVxiC,kBAAmB,GACnBzJ,kBAAmB,GACnBksC,4BAA6B,KAC7BC,uBAAsB,OAAEh5D,QAAF,IAAEA,OAAF,EAAEA,EAAOi5D,iBAZnC,mBAAOx1D,EAAP,KAAcxB,EAAd,KAeA,EAA4BD,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpB6tD,EAAY,uCAAG,4BAAAj1D,EAAA,sEACDy2C,GAAwB36C,EAAMggB,WAD7B,OACbta,EADa,OAEjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELi1D,SAAUpzD,EAAIW,KAAKqmB,eACnB4J,kBAAmB5wB,EAAIW,KAAKqyB,cAC5BsgC,uBAAwBh5D,EAAMi5D,oBANjB,2CAAH,qDAUZG,EAAY,uCAAG,8BAAAl1D,EAAA,sEACDw2C,GAAiB16C,EAAMq5D,YADtB,OACb3zD,EADa,OAEb2+C,EAAO3+C,EAAIW,KACfpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL40D,WAAYpU,EAAKoU,YAAc,KAC/BjyD,UAAW69C,EAAK79C,WAAa,GAC7BomB,gBAAiBy3B,EAAKz3B,iBAAmB,GACzC8rC,gBAAiBrU,EAAKqU,iBAAmB,GACzCE,iBAAkBvU,EAAKuU,kBAAoB,GAC3CC,mBAAoBxU,EAAKwU,oBAAsB,GAC/CG,uBAAwB3U,EAAK2U,wBAA0B,GACvDnsC,kBAAmBw3B,EAAKx3B,kBACxB8rC,gBAAiBtU,EAAKsU,iBAAmB,QAb5B,2CAAH,qDAgBlB/0D,qBAAU,WACNu1D,IACKn5D,EAAM2oC,OACPywB,MAEL,IAEHx1D,qBAAU,WACN,IAAIi8B,EAAQ,GAERp8B,EAAMu1D,wBAA0Bv1D,EAAM6yB,kBAAkBtkB,OAAS,IACjE6tB,EAAMk5B,4BAA8Bt1D,EAAM6yB,kBAAkB9iB,MAAK,qBAAGnS,KAAgBoC,EAAMu1D,2BAG9F/2D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GACAg8B,QAER,CAACp8B,EAAMu1D,uBAAwBv1D,EAAM6yB,oBAExC,IAyD4B/X,EAzDtB+6C,EAAW,WACb,IAAIC,GAAW,EACXC,EAAM,GAqBV,MApBK,QAAQvnD,KAAKxO,EAAMmpB,mBACpB4sC,EAAI5sC,iBAAkB,EACtB2sC,GAAW,GAEV,QAAQtnD,KAAKxO,EAAMu1D,0BACpBQ,EAAIR,wBAAyB,EAC7BO,GAAW,GAEV,QAAQtnD,KAAKxO,EAAMi1D,mBACpBc,EAAId,iBAAkB,EACtBa,GAAW,IAGJ91D,EAAMm1D,iBAEL,IACRY,EAAIC,mBAAoB,EACxBF,GAAW,GAEfL,EAAUM,GACHD,GAGLt1D,EAAU,uCAAG,8BAAAC,EAAA,0DACXo1D,IADW,gCAEU1e,GAAa,CAC9B6d,WAAYh1D,EAAMg1D,YAAc,KAChCjyD,UAAW/C,EAAM+C,WAAaxG,EAAMggB,UACpC4M,gBAAiBnpB,EAAMmpB,iBAAmB,KAC1C8rC,gBAAiBj1D,EAAMi1D,iBAAmB,GAC1CE,kBAAmBn1D,EAAMm1D,kBAAoB,KAE7CI,uBAAsB,UAAEv1D,EAAMs1D,mCAAR,aAAE,EAAmC13D,GAC3Ds3D,gBAAiBl1D,EAAMk1D,kBAVhB,QAEPxhD,EAFO,QAaPA,EAASrN,QACHyB,EAAiB9H,EAAMklC,MAAQ,sCAAwC,yCACvEr9B,EAAe6L,EAAShL,SAAW,wBAEzCb,EAAe,wBAEnBtL,EAAMO,UAnBK,2CAAH,qDAsBVm5D,EAAe,SAACl7C,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,KAoBd,OACI,mCACI,eAACv2D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACM7C,EAAMq5D,WAOJ,eAAC12D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CAAWjC,MAAOsB,EAAMopB,mBAAqB,GAAIpe,UAAQ,OAR7D,eAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CAAWwF,KAAK,kBAAkBzH,MAAOsB,EAAMmpB,iBAAmB,GAAIngB,SAAUitD,EAAcjnD,KAAMhP,EAAMq1D,WAC1G,cAAC1zD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOgc,gBAAkB,yBAA2B,UAQnF,eAACjqB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CAAYwF,KAAK,kBAAkBzH,MAAO0X,KAAOpW,EAAMi1D,iBAAiB5+C,OAAO,eAAiB,GAAIrN,SAAUitD,IAC9G,cAACt0D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO8nD,gBAAkB,yBAA2B,UAG3E,eAAC/1D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CACI8sB,WAAY,CACR6oB,IAAKlgC,KAAOpW,EAAMi1D,iBAAiB5+C,OAAO,eAE9ClQ,KAAK,kBACLzH,MAAO0X,KAAOpW,EAAMk1D,iBAAiB7+C,OAAO,eAAiB,GAC7DrN,SAAUitD,IAEd,cAACt0D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO+nD,gBAAkB,yBAA2B,UAKnF,eAACh2D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,uBACA,cAAC,IAAD,CACIsI,KAAK,SACL9C,KAAK,mBACL2I,YAAY,YACZyO,aAAcvd,EAAMm1D,kBAAoB,GACxCz2D,MAAOsB,EAAMm1D,kBAAoB,GACjCnsD,SAAUitD,IAEd,cAACt0D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO6oD,kBAAoB,6BAA+B,UAarF,eAAC92D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BAOA,cAAC,IAAD,CACIqa,QAAShb,EAAM6yB,kBACfn0B,MAAOsB,EAAMs1D,4BACbtsD,UAvFQ8R,EAuFqB,8BAvFd,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,WAwFrB,cAAC3G,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOooD,uBAAyB,yBAA2B,UAGtF,cAACr2D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASyC,EAA1B,SAAuCjE,EAAM2oC,MAAQ,MAAQ,WAEjE,cAAChmC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASxB,EAAMO,QAAhC,4BC5HLo5D,GA9FoB,SAAC35D,GAChC,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAmCX,KAEnC,GAFA,EAAQa,WAAR,EAAoBC,WAEMzJ,mBAAS,CAC/Bs2C,cAAe,KACfshB,cAAe,KACfpuD,YAAY,EACZquD,IAAK,QAJT,mBAAOp2D,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,4BAAAM,EAAA,sEACU2oC,GAAoB7sC,EAAMggB,UAAP,OAAkBhgB,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAO85D,OADtD,QACFp0D,EADE,QAEEoE,SACJ7H,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAELy0C,cAAe5yC,EAAIW,KAAKiyC,cACxBshB,cAAel0D,EAAIW,KAAKuzD,cACxBG,UAAWr0D,EAAIW,KAAK0zD,UACpBF,KAAQ,OAAHn0D,QAAG,IAAHA,GAAA,UAAAA,EAAKW,YAAL,eAAW8F,UAAW,KAC3BX,YAAY,OATd,2CAYP,IACH,IAAMvH,EAAU,uCAAG,gCAAAC,EAAA,6DACXmC,EAAO,CACPiyC,cAAe70C,EAAM60C,cACrBshB,cAAen2D,EAAMm2D,cACrBG,UAAWt2D,EAAMs2D,UACjBrtB,UAAW1sC,EAAMggB,WALN,SAOC4sB,GAAwBvmC,GAPzB,QAOXX,EAPW,QAQPoE,SACJyB,EAAgB,OAAC7F,QAAD,IAACA,GAAD,UAACA,EAAKW,YAAN,aAAC,EAAW8F,SAC5BnM,EAAM6tB,cAAa,IAEnBviB,GAAkB,OAAH5F,QAAG,IAAHA,OAAA,EAAAA,EAAKyG,UAAW,yBAZpB,2CAAH,qDAehB,OACI,mCACI,cAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACKY,EAAM+H,WACH,cAAC7I,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,GAAIzP,WAAS,EAAC7B,WAAW,SAASsX,QAAQ,SAASrX,MAAO,CAAE2M,MAAO,sBAAuBjN,OAAQ,KAAjH,SACI,cAAC6xB,GAAA,EAAD,MAGJ,qCACI,cAAC5vB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,QAApB,sCAEJ,eAACR,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,QAApB,2BACA,cAACgK,GAAA,EAAD,UAAa6C,IAAWgqD,kBAAkBv2D,EAAM60C,oBAEpD,eAAC31C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,QAApB,qBACA,cAACgK,GAAA,EAAD,UAAa6C,IAAWgqD,kBAAkBv2D,EAAMm2D,oBAGtC,MAAbn2D,EAAMo2D,IACH,qCACI,cAACl3D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIpsB,UAAU,mBAArC,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,QAAQD,MAAM,YAAlC,SACKO,EAAMo2D,QAGf,cAACl3D,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAASxB,EAAMO,QAAhC,wBAIR,qCACI,cAACoC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIpsB,UAAU,mBAArC,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,QAAQD,MAAM,YAAlC,6EAIJ,cAACP,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAC4B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAsB85C,SAAS,QAAQj9C,QAASyC,EAAhD,mBAIJ,cAACtB,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAC4B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASxB,EAAMO,QAAhC,6BCsGrB05D,GAvLe,SAACj6D,GAC3B,IAAQqyC,EAAuCryC,EAAvCqyC,WAAY6nB,EAA2Bl6D,EAA3Bk6D,YAAazoB,EAAczxC,EAAdyxC,UACjC,EAA2BzvC,mBAAS,CAAEm4D,iBAAiB,EAAOC,iBAAiB,IAA/E,mBAAO32D,EAAP,KAAc42D,EAAd,KAEMh0D,EAAO,CACT,CACIyxD,MAAO,aACPC,OAAO,GAAD,OAAK1lB,EAAWP,WACtBwoB,eAAe,GAEnB,CACIxC,MAAO,eACPC,OAAO,GAAD,OAAK1lB,EAAWL,QACtBsoB,eAAe,GAEnB,CACIxC,MAAO,yBACPC,OAAO,GAAD,OAAK1lB,EAAWJ,uBAE1B,CACI6lB,MAAO,uBACPC,OAAO,GAAD,OAAK1lB,EAAWtD,4BAE1B,CACI+oB,MAAO,eACPC,OAAO,GAAD,OAAK1lB,EAAWrD,2BACtBipB,OAAO,GAAD,OAAK5lB,EAAWpD,2BACtBsrB,WAAW,IAIbC,EAAc,SAAC5wD,EAAMmC,GACvBsuD,GAAU,SAACx2D,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOmC,QAMxC,OACI,gCACI,cAACpJ,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACw0D,GAAA,EAAD,CAAgBx2D,MAAO,CAAEggC,OAAQ,6BAAjC,UACKhhC,EAAM03D,YACP,qBAAK12D,MAAO,CAAEgvB,UAAU,sBAAwBvvB,SAAU,QAASkE,UAAU,gBAA7E,SACI,cAACgzD,GAAA,EAAD,CAAOv9C,aAAW,eAAeqnB,KAAK,QAAtC,SACI,eAACm2B,GAAA,EAAD,WACI,eAACP,GAAA,EAAD,CAEIr2D,MAAO,CAAEmhC,gBAAiBkQ,EAAWqE,kBAAoB,sBAAwB,UAAWxzC,MAAO,SAFvG,UAII,cAACg0D,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,iCACA,eAACg0D,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,UACKmvC,EAAWqE,kBAAoBrE,EAAWqE,kBAAoB,OAAQ,OAE3E,cAACwgB,GAAA,EAAD,CAAW9pD,MAAM,QAAjB,SACI,cAAC,KAAD,CACImL,KAAMkiD,KACNv3D,MAAM,QACNyB,UAAU,6BACVgU,aAAa,UACbnX,QAAS,WACL04D,EAAY,WAdnB,KAFb,OAqBK7zD,QArBL,IAqBKA,OArBL,EAqBKA,EAAMkD,KAAI,SAACmL,GACR,IAAIgmD,EAAc,GACdC,EAAU,QACVC,EAAY/gD,OAASC,SACrB+gD,EAAQ,IAAI3mD,KAAK0mD,GACjBE,EAAQ,IAAI5mD,KAAKQ,EAAIqjD,QACrBgD,EAAWC,UAAUF,EAAQD,GAAT,MAAyC,IAejE,OAdIE,GAAY,GACZL,EAAc,UAEdK,GAAY,GACG,iBAAdrmD,EAAIojD,OAA4BrmB,EAAUpC,qBAAuBgD,EAAWpD,2BAE7EyrB,EAAc,sBACdC,EAAU,SACHI,EAAW,GAClBL,EAAc,sBACdC,EAAU,SAEVA,EAAU,QAGV,eAACtD,GAAA,EAAD,CAEIr2D,MAAO,CAAEmhC,gBAAiBztB,EAAIqjD,OAAS2C,EAAc,sBAAuBx3D,MAAOy3D,GAFvF,UAII,cAACzD,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,SAAyCwR,EAAIojD,QAC7C,cAACZ,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,SACKwR,EAAIqjD,OACD,qCACKl+C,KAAOnF,EAAIqjD,QAAQj+C,OAAO,cAC1BpF,EAAIujD,OAAJ,WAAiBvjD,EAAIujD,OAArB,SAAqC,MAG1C,kBAGR,eAACf,GAAA,EAAD,CAAW9pD,MAAM,QAAjB,UACKsH,EAAI4lD,eACD,cAAC,KAAD,CACI/hD,KAAM0iD,KACN/3D,MAAOy3D,EACPh2D,UAAU,6BACVgU,aAAa,oBACbnX,QAAS,kBAAMg5D,EAAY,mBAAmB,MAGrD9lD,EAAI6lD,UACD,cAAC,KAAD,CACIhiD,KAAMkiD,KACNv3D,MAAOy3D,EACPh2D,UAAU,6BACVgU,aAAa,YACbnX,QAAS,kBAAMg5D,EAAY,mBAAmB,MAGlD,cAAC,KAAD,CACIjiD,KAAMkiD,KACNv3D,MAAOy3D,EACPh2D,UAAU,6BACVgU,aAAa,YACbnX,QAAS,WACL04D,EAAY,WAvCvBxlD,EAAIwmD,kBA+ChB,OAAJ70D,QAAI,IAAJA,OAAA,EAAAA,EAAM2L,SAAU,GACb,cAACqlD,GAAA,EAAD,UACI,cAACH,GAAA,EAAD,CAAW9pD,MAAM,SAAS+tD,QAAS,EAAGn6D,MAAO,CAAEkC,MAAO,WAAtD,iCADW,iBAY1CO,EAAM02D,gBACH,cAACh6D,GAAA,EAAD,CACIU,MAAM,EACNN,QAAS,kBAAMi6D,EAAY,mBAAmB,IAC9Cp6D,MAAM,eACNI,SAAS,KAJb,SAOI,cAAC,GAAD,CACImoC,OAAO,EACPsG,0BAA2BoD,EAAWpD,0BACtCU,yBAA0B0C,EAAW1C,yBACrCX,0BAA2BqD,EAAWrD,0BACtChvB,UAAWqyB,EAAW7rC,UACtByyD,eAAgB5mB,EAAWtc,eAC3Bx1B,QAAS,kBAAMi6D,EAAY,mBAAmB,QAGtD,KACH/2D,EAAM22D,gBACH,cAACj6D,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMi6D,EAAY,mBAAmB,IAAQp6D,MAAM,uBAAuBI,SAAS,KAApH,SACI,cAAC,GAAD,CACID,QAAS,kBAAMi6D,EAAY,mBAAmB,IAC9Cx6C,UAAWqyB,EAAW7rC,UACtBqnB,aA5ID,SAACnoB,GAChB20D,GAAU,SAACx2D,GAAD,mBAAC,eAAaA,GAAd,IAAkBu2D,iBAAiB,OAC7C10D,GAAO1F,EAAM6tB,aAAanoB,IA2IVo0D,MAAO95D,EAAM85D,UAGrB,S,qBC3LHsB,GAAa,uCAAG,WAAO/5D,GAAP,eAAA6C,EAAA,sEACT6B,aAAY,6CAAD,OAA8C1E,IADhD,cACrBqE,EADqB,yBAElBA,GAFkB,2CAAH,sDAKb21D,GAAoB,uCAAG,WAAOh6D,GAAP,eAAA6C,EAAA,sEAChB6B,aAAY,kCAAD,OAAmC1E,IAD9B,cAC5BqE,EAD4B,yBAEzBA,GAFyB,2CAAH,sDAKpB41D,GAAgB,uCAAG,WAAOj1D,GAAP,eAAAnC,EAAA,sEACZsB,aAAa,uBAAwBa,GADzB,cACxBX,EADwB,yBAErBA,GAFqB,2CAAH,sDAKhB61D,GAAiB,uCAAG,WAAOl1D,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,gBAAiBa,GADjB,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDAKjB81D,GAAkB,uCAAG,WAAOn1D,GAAP,eAAAnC,EAAA,sEACdsB,aAAa,sCAAuCa,GADtC,cAC1BX,EAD0B,yBAEvBA,GAFuB,2CAAH,sDCEhB,SAAS+1D,GAAmBz7D,GACvC,MAA0BgC,mBAAS,CAC/BqiB,WAAY,KACZq3C,WAAY,GACZC,uBAAwB,KACxBC,YAAa,KACbC,6BAA8B,OALlC,mBAAOp4D,EAAP,KAAcxB,EAAd,KAOA,EAA0BD,mBAAS,IAAnC,mBAAOqD,EAAP,KAAcy2D,EAAd,KAEAl4D,oBAAS,sBAAC,4BAAAM,EAAA,0DACFlE,EAAMwG,UADJ,gCAEc40D,GAAcp7D,EAAMwG,WAFlC,QAEEd,EAFF,QAGMoE,SACJ7H,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAEL+3D,YAAW,UAAEl2D,EAAIW,KAAK01D,qBAAqB,UAAhC,aAAE,EAAkCJ,uBAC/CD,WAAYh2D,EAAIW,KAAK2G,QAAQzD,KAAI,SAACgoB,GAAD,MAAQ,CACrClwB,GAAIkwB,EAAEyqC,SACNpyD,KAAM2nB,EAAE8iB,gBATlB,2CAcP,IAEH,MAA6C5yC,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBguD,EAAW,WACb,IAAI1oD,EAAS,GACTqrD,GAAU,EAed,OAbKx4D,EAAMo4D,+BACPjrD,EAAOyjC,OAAS,qBAChB4nB,GAAU,GAETx4D,EAAMgpC,OACP77B,EAAO67B,KAAO,0BACdwvB,GAAU,GAETx4D,EAAMmD,UACPgK,EAAOhK,QAAU,sBACjBq1D,GAAU,GAEdH,EAASlrD,GACFqrD,GAGLpqD,EAAc,SAACc,GACjB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAGV67B,EAAY,uCAAG,8BAAA95B,EAAA,0DACbo1D,IADa,uBAETjzD,EAAO,CACPs1D,uBAAwBl4D,EAAMm4D,YAAcn4D,EAAMm4D,YAAc,KAChEM,8BAA+Bl8D,EAAMwG,UACrCq1D,6BAA8Bp4D,EAAMo4D,6BACpCM,iCAAkC14D,EAAMgpC,KACxC2vB,oCAAqC34D,EAAMmD,SAPlC,SASS00D,GAAiBj1D,GAT1B,QASTg2D,EATS,QAUCvyD,SACVyB,EAAiB,qCACjBvL,EAAMO,WAEN+K,EAAe+wD,EAAUlwD,SAdhB,2CAAH,qDAmBlB,OACI,8BACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAACiB,OAAK,EAAjC,oBAGA,cAAC,IAAD,CAAWuE,KAAK,+BAA+BzH,MAAOsB,EAAMo4D,6BAA8BpvD,SAAUoF,EAAaY,KAAMhP,EAAMi4D,aAC7H,cAACt2D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBA,EAAMgvC,YAEjC,eAAC1xC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAACiB,OAAK,EAAjC,4BAGA,cAAC,IAAD,CAAYiN,WAAW,iBAAiBC,YAAY,iBAAiB3I,KAAK,OAAOzH,MAAOsB,EAAMgpC,KAAMhgC,SAAUoF,IAC9G,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBA,EAAMonC,UAEjC,cAAC9pC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACI,cAAC,IAAD,CACI2N,WAAW,oBACXC,YAAY,mBACZ7F,KAAK,SACL9C,KAAK,UACLzH,MAAOsB,EAAMmD,QACb6F,SAAUoF,EACVjB,OAAQvL,EAAMuB,YAGtB,cAACjE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmK,GAAA,EAAD,wGAEJ,cAACxK,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE0hC,aAAc,IAA1C,SACI,cAAC,IAAD,CAAiBlhC,QAASw8B,EAA1B,gCC3HL,SAASs+B,GAAct8D,GAAQ,IAAD,IACzC,EAA0BgC,mBAAS,CAC/B0f,KAAM,GACNlW,YAAY,IAFhB,mBAAO/H,EAAP,KAAcxB,EAAd,KAuBA,OAlBA2B,oBAAS,sBAAC,4BAAAM,EAAA,0DACFlE,EAAMwG,UADJ,gCAEc60D,GAAqBr7D,EAAMwG,WAFzC,QAEEd,EAFF,QAGMoE,QACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL6d,KAAMhc,EAAIW,KAAKk2D,QACf/wD,YAAY,OAGhBvJ,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2H,YAAY,OAZlB,2CAgBP,IAGC,8BACI,cAAC7I,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACKS,EAAM+H,WACH,qBAAKxK,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,eAAgB5xB,OAAQ,KAAvE,SACI,cAAC6xB,GAAA,EAAD,MAGJ,eAACilC,GAAA,EAAD,CAAgBx2D,MAAO,CAAE2M,MAAO,OAAQqzB,OAAQ,oBAAqB0B,aAAc,IAAnF,UACI,eAACi1B,GAAA,EAAD,CAAOv9C,aAAW,eAAeqnB,KAAK,QAAtC,UACI,cAAC+6B,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,qBACA,cAACA,GAAA,EAAD,mBACA,cAACA,GAAA,EAAD,sBAIR,cAACU,GAAA,EAAD,oBACKn0D,EAAMie,YADX,aACK,EAAYnY,KAAI,SAACmL,GACd,OACI,eAAC2iD,GAAA,EAAD,WACI,eAACH,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,UACK,IACD,cAAC,IAAD,CAAMu5D,GAAE,iCAA4B/nD,EAAIsnD,SAAhC,YAA4CtnD,EAAI2/B,QAAUrzC,MAAO,CAAE07D,eAAgB,QAA3F,SACKhoD,EAAI2/B,YAGb,cAAC6iB,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,SAAyCwR,EAAIioD,SAAWjoD,EAAIioD,SAAW,QACvE,cAACzF,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,SAAyCwR,EAAIkoD,QAAUloD,EAAIkoD,QAAU,UAR1DloD,EAAI9K,eAclC,UAAAnG,EAAMie,YAAN,eAAY1P,SAAU,GAAK,qBAAKhR,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,eAAgB5xB,OAAQ,KAAvE,uCCrDxD,IAAMygC,GAAY,CACd/gC,MAAO,CACH8C,MAAO,WAEXi3C,OAAQ,CACJsd,aAAc,6BAElBoF,OAAQ,CACJ/5D,QAAS,mBAEbg6D,UAAW,CACP3xD,OAAQ,sBAIH4xD,GAAa,SAAC/8D,GACvB,MAA0BgC,mBAAS,CAC/Bg7D,aAAa,EACbC,kBAAkB,EAClBvB,WAAY,KAHhB,mBAAOj4D,EAAP,KAAcxB,EAAd,KAMMi7D,EAAY,SAACttD,GACf3N,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJ+L,GAAU/L,EAAG+L,SAItB,OACI,gCACKnM,EAAMu5D,aACH,cAAC78D,GAAA,EAAD,CAAYC,MAAK,0BAAqBJ,EAAMm9D,YAA3B,KAA2C58D,QAAS,kBAAM28D,EAAU,gBAAgB18D,SAAS,KAA9G,SACI,cAAC87D,GAAD,CAAe91D,UAAWxG,EAAMwG,UAAW22D,YAAan9D,EAAMm9D,gBAGrE15D,EAAMw5D,kBACH,cAAC98D,GAAA,EAAD,CAAYC,MAAM,wBAAwBG,QAAS,kBAAM28D,EAAU,qBAAqB18D,SAAS,KAAjG,SACI,cAACi7D,GAAD,CAAoBj1D,UAAWxG,EAAMwG,UAAWjG,QAAS,kBAAM28D,EAAU,yBAGjF,cAACv6D,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACw0D,GAAA,EAAD,CAAgBx2D,MAAO,CAAEggC,OAAQ,6BAAjC,UACI,qBAAKhgC,MAAOmgC,GAAUgZ,OAAtB,SACI,qBAAKn5C,MAAOmgC,GAAU/gC,MAAtB,SACI,eAACuC,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAED,WAAY,SAAU+B,QAAS,WAAxD,UACI,cAACH,EAAA,EAAD,CAAMK,GAAI,EAAGguB,GAAI,EAAGjuB,MAAI,EAAC/B,MAAO,CAAED,WAAY,UAA9C,SACI,cAACoM,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAOmgC,GAAU07B,OAA5D,sBAKJ,cAACl6D,EAAA,EAAD,CAAMK,GAAI,EAAGguB,GAAI,EAAGpuB,WAAS,EAACG,MAAI,EAACsV,QAAQ,WAA3C,SAEI,gCACI,cAAC,IAAD,CACIE,KAAM6kD,KACNp8D,MAAO,CAAElB,YAAa,GACtB0M,MAAM,gBACNhL,QAAS,kBAAM07D,EAAU,uBAE7B,cAAC,IAAD,CACIl8D,MAAO,CAAElB,YAAa,GACtByY,KAAMiyC,KACNh+C,MAAM,UACNhL,QAAS,kBAAM07D,EAAU,8BAOjD,cAACvF,GAAA,EAAD,CAAOv9C,aAAW,eAAeqnB,KAAK,SAAtC,SACI,cAACm2B,GAAA,EAAD,UACI,eAACP,GAAA,EAAD,WACI,eAACH,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAAayK,MAAM,MAA9C,UACK,IADL,iBAKA,cAACupD,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAAayK,MAAM,MAAMP,MAAM,SAA1D,SACKpN,EAAMq0C,OACH,cAAC,IAAD,CAAMooB,GAAE,iCAA4Bz8D,EAAMg8D,SAAlC,YAA8Ch8D,EAAMq0C,QAAUrzC,MAAO,CAAE07D,eAAgB,QAA/F,SACK18D,EAAMq0C,SAGX,mDAZG,kB,WClFlCgpB,GAAyB,uCAAG,WAAOh8D,GAAP,eAAA6C,EAAA,sEACrB6B,aAAY,qCAAD,OAAsC1E,IAD5B,cACjCqE,EADiC,yBAE9BA,GAF8B,2CAAH,sDAKzB43D,GAAuB,uCAAG,WAAOj8D,GAAP,eAAA6C,EAAA,sEACnB6B,aAAY,sCAAD,OAAuC1E,IAD/B,cAC/BqE,EAD+B,yBAE5BA,GAF4B,2CAAH,sDAKvB63D,GAA0B,uCAAG,WAAOl3D,GAAP,eAAAnC,EAAA,sEACtBsB,aAAa,mBAAoBa,GADX,cAClCX,EADkC,yBAE/BA,GAF+B,2CAAH,sDAI1B83D,GAAS,uCAAG,WAAOn3D,GAAP,eAAAnC,EAAA,sEACLsB,aAAa,yBAA0Ba,GADlC,cACjBX,EADiB,yBAEdA,GAFc,2CAAH,sDAIT+3D,GAAY,uCAAG,WAAOp8D,GAAP,eAAA6C,EAAA,sEACR6B,aAAY,0BAAD,OAA2B1E,IAD9B,cACpBqE,EADoB,yBAEjBA,GAFiB,2CAAH,sD,mDCEVg4D,GAbG,SAAC,GAAuB,IAArBC,EAAoB,EAApBA,MAAoB,EAAbC,OACxB,OAAID,EAEI,qBAAKh5D,UAAU,aAAa3D,MAAO,CAAEC,SAAU,WAAYkK,OAAQ,WAAnE,SAEI,qBAAKxG,UAAU,QAAQD,IAAKi5D,EAAO/4D,IAAI,YAIxC,M,qBCoHAi5D,GA3GI,SAAC79D,GAChB,MAAoC+gD,KAApC,mBAAO4C,EAAP,UAEA//C,qBAAU,WAAO,IAAD,EACgB,IAAxB,UAAA5D,EAAM89D,cAAN,eAAc9rD,SACd+rD,MAEL,CAAC/9D,EAAM89D,SAEV,MAA0B97D,qBAA1B,mBAAOg8D,EAAP,KAAcD,EAAd,KAgBME,EAAY,SAACj+D,GAAD,OACd,qBAAKgB,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,SACI,gDAAmBtyB,EAAMk+D,qBAcjC,OAGI,aAFA,CAEC,KAAD,CAAgBC,UAAQ,EAACh8D,MAAOnC,EAAM89D,OAAQrxD,SAAUzM,EAAMo+D,cAAeC,UAAWr+D,EAAMq+D,UAAWC,WAAW,WAApH,SACK,YAAmF,IAAhFC,EAA+E,EAA/EA,UAAWC,EAAoE,EAApEA,cAAeC,EAAqD,EAArDA,iBAAiCC,GAAoB,EAAnCC,cAAmC,EAApBD,eAC3D,OACI,cAACv+D,GAAA,EAAD,CACIC,MAAO,cAAC69D,EAAD,CAAWO,cAAeA,EAAeC,iBAAkBA,IAClEl+D,QAASP,EAAMO,QACfC,SAAS,KACT4C,WAAS,EACTuB,UAAU,mBALd,SAOI,sBAAKA,UAAU,SAAf,UACK3E,EAAMyO,SAAW,KACd,gCACI,eAACxL,EAAA,EAAD,CAAQE,QAAQ,YAAYD,MAAM,UAAU1B,QAASg9D,EAArD,UACI,cAAC,KAAD,IADJ,IACoB7a,GAAe,IAAM,GAArB,oBAFxB,UAOH4a,EAAUvsD,OAAS,EAChB,cAAC,GAAD,CAAW2rD,MAAQK,GAAQO,EAAU,KAErC,qBAAK55D,UAAU,aAAa3D,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,SAAUvxB,WAAY,UAA5F,SACI,cAACoM,GAAA,EAAD,+BAGR,qBAAKxI,UAAU,yBAAf,SACI,sBAAKA,UAAU,sBAAsBtD,GAAI,gBAAzC,UACKk9D,EAAUh1D,KAAI,SAACq1D,EAAIlhC,GAAL,OACX,uBAAM/4B,UAAU,cAAc3D,MAAO,CAAEC,SAAU,YAAjD,UACKjB,EAAMyO,SAAW,KACd,sBAAMzN,MAAO,CAAEC,SAAU,WAAY4uB,IAAK,OAAQ3uB,MAAO,QAAS+Y,OAAQ,KAA1E,SACI,cAAC,KAAD,CAAkBzY,QAAS,kBAAMk9D,EAAchhC,IAAI18B,MAAO,CAAE69D,KAAM,UAAWz9D,OAAQ,eAG7F,qBAAKuD,UAAWi6D,IAAOZ,EAAQ,SAAW,GAAIx8D,QAAS,kBA1DvE,SAACw8D,GACrBD,EAASC,GAyDwFc,CAAgBF,IAAKl6D,IAAKk6D,MANvBlhC,MASxE,sBAAK/4B,UAAU,QAAf,UACI,sBAAMA,UAAU,aAAanD,QAAS,WAlEtEgU,SAASupD,eAAe,iBAAiBC,SAAS,CAAEhlD,MAAO,IAAK6V,IAAK,EAAGovC,SAAU,YAkElD,SACI,cAAC,KAAD,MAEJ,sBAAMt6D,UAAU,cAAcnD,QAAS,WA1EvEgU,SAASupD,eAAe,iBAAiBC,SAAS,CAAEhlD,KAAM,IAAK6V,IAAK,EAAGovC,SAAU,YA0EjD,SACI,cAAC,KAAD,cAKfj/D,EAAMyO,SAAW,KACd,qBAAKzN,MAAO,CAAEyD,UAAW,OAAzB,SACI,cAAC,IAAD,CAAiBjD,QAASxB,EAAMk/D,YAAhC,+BC/E9BtI,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,WACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,eARO0+C,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,qBAAsB,CAClBi3B,gBAAiB,eAHNqf,CAMnB6V,MACEtsD,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrC7K,MAAO,CACHia,SAAU,OACVnX,MAAO,UACPwV,WAAY,IACZ4Y,YAAa,GAEjBhR,OAAQ,CACJ3S,MAAO,OACPjN,OAAQ,OACRI,QAAS,OACTwxB,eAAgB,SAChBvxB,WAAY,SACZ0D,UAAW,KAEfc,KAAM,CACFy7B,OAAQ,iBACRtgC,OAAQ,SAIVy+D,GAAe,CACjB3+B,EAAG4+B,IACH9+B,EAAG++B,IACHj/B,EAAGk/B,IACH35B,EAAG45B,IACHr5B,EAAGs5B,KAyjBQC,GAtjBW,SAACz/D,GAAW,IAAD,QACjC,EAAwB+gD,KAAxB,mBAAOpzC,EAAP,KAEA,GAFA,KAE6ClM,gBAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAClBszC,EAAgB5wC,eAAhB4wC,YACFjzC,EAAUZ,KAChB,EAA0B/I,mBAAS,CAC/BwE,UAAWxG,EAAM0sC,UACjBD,KAAM5yB,OAASC,OAAO,cACtB4lD,6BAA8B7lD,OAASC,OAAO,uBAC9C6lD,6BAA8B,EAC9BC,0BAA2B,KAC3BC,4BAA6B,KAC7BC,+BAAgC,GAChCC,0BAA2B,KAC3BC,oBAAqB,KACrBC,WAAW,EACXz8D,cAA6C,WAA9BO,IAAWC,eAC1Bk8D,6BAA8BthB,EAC9BuhB,KAAM,GACNC,YAAa,KAdjB,mBAAO38D,EAAP,KAAcxB,EAAd,KAiBsB+L,eAAd2lC,UAGR/vC,oBAAS,sBAAC,wCAAAM,EAAA,0DACFlE,EAAM0sC,UADJ,gCAEenB,GAAevrC,EAAM0sC,WAFpC,cAEE2zB,EAFF,QAGOv2D,UACCzD,EAAOg6D,EAAKh6D,KAClBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmpC,UAAW3mC,EAAKmQ,iBAChBjG,QAASlK,EAAK4tC,aACdxiC,OAAQpL,EAAK6tC,kBATnB,SAYcmpB,GAA0Br9D,EAAM0sC,WAZ9C,QAYEhnC,EAZF,QAaMoE,UACEw2D,EAAe56D,EAAIW,KAAKi6D,aAAa/2D,KAAI,SAACojB,GAAD,MAAQ,CACnDtrB,GAAIsrB,EAAEtrB,GACNuI,KAAM+iB,EAAE/iB,SAEN22D,EAAY76D,EAAIW,KAAKm6D,gBAAgBj3D,KAAI,SAACgoB,GAAD,MAAQ,CACnDlwB,GAAIkwB,EAAElwB,GACNuI,KAAM2nB,EAAE3nB,SAEN62D,EAAe/6D,EAAIW,KAAKq6D,8BACxBC,EAAej7D,EAAIW,KAAKu6D,wBAE9B3+D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELg9D,UAAWJ,EACXE,aAAcA,EACdJ,UAAWA,EACXD,aAAcA,QA9BpB,OAkCNQ,IAlCM,4CAmCP,IAEH,IAAMA,EAAW,uCAAG,8BAAA58D,EAAA,sEACA4nC,GAAa9rC,EAAM0sC,WADnB,QACZhnC,EADY,QAERoE,UACAzD,EAAOX,EAAIW,KAAK2G,QAAQ,GAC5B/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELs8D,KAAI,OAAE95D,QAAF,IAAEA,OAAF,EAAEA,EAAM6uC,yBANJ,2CAAH,qDAqBXxxC,EAAaC,iBAAO,IAyBpBo9D,EAAe,SAACj1D,GAClB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJ+F,EAAOzH,QAIV6+D,EAAW,SAACC,GAAD,OAAY,SAACn1D,GAC1B,IAAM2H,EAAI3H,EAAEE,OAAOmH,QACnBlR,GAAS,SAAC4B,GACN,IAAMg8B,EAAK,eAAQh8B,GAOnB,OANAg8B,EAAMogC,WAAY,EAClBpgC,EAAMghC,UAAUt3D,KAAI,SAACojB,GACjBA,EAAEu0C,kDAAoDztD,EAAIwtD,OAAS38D,KAGvEu7B,EAAMghC,UAAN,aAAsBhhC,EAAMghC,WACrBhhC,OAITshC,EAAqB,SAACC,EAAWC,GACnC,IAAI1jC,EAAY,aAAOl6B,EAAMo9D,WACzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAE20C,sBAAwBD,KAC1E1jC,EAAaC,GAAUsjC,kDAAoDE,EAC3E,IAAIr1D,EAAuG,IAAjG4xB,EAAaO,QAAO,SAACzqB,GAAD,OAA+D,IAAxDA,EAAEytD,qDAAyDlvD,OAChG/P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBg9D,UAAWljC,EAAcsiC,UAAWl0D,QAG7Dw1D,EAAa,SAAClgE,GAAD,OAAQ,SAACyK,GACxB,IAAI6xB,EAAY,aAAOl6B,EAAMo9D,WACzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAE20C,sBAAwBjgE,KAC1Es8B,EAAaC,GAAU9xB,EAAEE,OAAOpC,MAAQkC,EAAEE,OAAO7J,MACjDF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBg9D,UAAWljC,SAOpC7rB,EAAc,WAChB,IAAIC,GAAc,EACdnB,EAAS,GAqBb,OApBKnN,EAAM+9D,kCACP5wD,EAAO4wD,gCAAkC,4BACzCzvD,GAAc,GAEbtO,EAAMg+D,2BACP7wD,EAAO6wD,yBAAP,qCACA1vD,GAAc,GAEbtO,EAAMi+D,8BACP9wD,EAAO8wD,4BAA8B,0BACrC3vD,GAAc,GAEbtO,EAAMF,iBACPqN,EAAOrN,eAAiB,uCACxBwO,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,OAELmB,GAGL6b,EAAY,uCAAG,gCAAA1pB,EAAA,yDACby9D,EAA4Bl+D,EAAMo9D,UAAUt3D,KAAI,SAACgoB,GAAD,MAAQ,CACxDqwC,2BAA4BrwC,EAAE+vC,oBAAsB/vC,EAAE+vC,oBAAsB,KAC5EJ,kDAAmD3vC,EAAE2vC,kDAC/C3vC,EAAE2vC,kDACF,KACNW,8BAA+BtwC,EAAEswC,8BAAgCtwC,EAAEswC,8BAAgC,KACnGC,wCAAyCvwC,EAAEuwC,wCAA0CvwC,EAAEuwC,wCAA0C,KACjIC,iCAAkCxwC,EAAEwwC,iCAAmCxwC,EAAEwwC,iCAAmC,KAC5GC,iCAAkCzwC,EAAEywC,iCAAmCzwC,EAAEywC,iCAAmC,UAE5GlwD,IAXa,uBAYTK,EAAW,CACX3L,UAAW/C,EAAM+C,UACjBw5D,oBAAqBv8D,EAAMu8D,oBAC3BJ,0BAA2Bn8D,EAAMm8D,0BACjCD,6BAA8Bl8D,EAAMk8D,6BACpCD,6BAA8Bj8D,EAAMi8D,6BACpCG,4BAA6Bp8D,EAAMo8D,4BACnC2B,gCAAiC/9D,EAAM+9D,gCACvCE,4BAA6Bj+D,EAAMi+D,4BACnC3B,0BAA2Bt8D,EAAMs8D,0BACjC0B,yBAA0Bh+D,EAAMg+D,yBAChC3B,+BAAgCr8D,EAAMq8D,+BACtCI,6BAA8Bz8D,EAAMy8D,6BACpCyB,0BAA2BA,EAC3BM,kCAAmCx+D,EAAMF,eACzC2+D,wBAAyBz+D,EAAM28D,aA3BtB,SA6BG7C,GAA2BprD,GA7B9B,QA6BTzM,EA7BS,QA8BLoE,SACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAlCV,2CAAH,qDAwDZiP,EAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAK,WAAapI,QAASxB,EAAMO,QAAS8a,KAAM,IAAKC,QAAQ,GAC/D,CAAE1R,KAAK,aAAeyR,KAAM,IAAKC,QAAQ,IAGvC6mD,EAAe,SAACC,GAClB,IAAIzkC,EAAY,aAAOl6B,EAAMo9D,WACzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAE20C,sBAAwBc,KAC1EngE,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAM,EAAMovC,eAAgBA,EAAgBC,eAAgB1kC,EAAaC,GAAUkgC,QAAU,SAmB5H,OACI,sBAAK98D,MAAO,CAAEyD,UAAW,IAAzB,WACMzE,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,IACzC3X,EAAM08D,KACH,eAACx9D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UASI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAvB,SACI,eAACymC,GAAA,EAAD,CAAgBroD,UAAW4rB,KAA3B,UACI,sBACI/5B,MAAO,CACHggC,OAAQ,4BACRl+B,QAAS,aAHjB,UASKW,EAAM88D,UAAUh3D,KAAI,SAACgoB,GAClB,OACI,cAACtuB,EAAA,EAAD,CACIjC,MAAO,CAAE2M,MAAO,OAAQgI,WAAoB,GAAR4b,EAAElwB,GAAU,EAAI,GAAIqhC,aAAc,GACtEv/B,QAASM,EAAMk8D,+BAAiCpuC,EAAElwB,GAAK,YAAc,WACrE6B,MAAM,YACN1B,QAAS,kBArN3BH,EAqN8CkwB,EAAElwB,QApNlEY,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL87D,6BAA8Bt+D,OAHjB,IAACA,GAiNc,SAMKkwB,EAAE3nB,UAIf,sBAAMjF,UAAWgH,EAAQvL,MAAOY,MAAO,CAAEC,SAAU0M,EAAQ,IAAM,SAAW,WAAYzM,MAAO,QAA/F,SACKuC,EAAMgpC,UAGf,eAACkrB,GAAA,EAAD,CAAOv9C,aAAW,eAAezV,UAAWgH,EAAQ22D,MAApD,UACI,cAAC9F,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACK1pD,EAAQ,KAAO,cAAC,GAAD,CAAiBA,MAAM,MAAvB,mBACfA,EAAQ,IACL,eAAC,GAAD,CAAiBP,MAAM,OAAvB,UACI,uBAAOV,KAAK,WAAWlL,QAASw/D,EAAS,KACxCrzD,EAAQ,IAAM,SAAW,YAG9B,qCACKlK,EAAMk9D,aAAap3D,KAAI,SAACgoB,GACrB,OACI,eAAC,GAAD,CACInkB,MAAM,SACNO,MAA8D,SAAvD4jB,EAAEgxC,mCAAmCj1C,cAA2B,KAAO,KAFlF,UAI4D,SAAvDiE,EAAEgxC,mCAAmCj1C,cAClC,uBAAO5gB,KAAK,WAAWlL,QAASw/D,EAASzvC,EAAEixC,6BAE3C,GAEHjxC,EAAEgxC,yCAIf,cAAC,GAAD,CAAiBn1D,MAAM,OAAOO,MAAM,KAApC,oBAGA,cAAC,GAAD,CAAiBP,MAAM,OAAOO,MAAM,MAApC,kCAQhB,cAACiqD,GAAA,EAAD,UACKn0D,EAAMo9D,UAAUt3D,KAAI,SAACojB,GAClB,OACI,eAAC,GAAD,WACKhf,EAAQ,KAAO,cAAC,GAAD,CAAiBwB,UAAU,KAA3B,SAAiCwd,EAAE81C,+BAElD90D,EAAQ,IACL,cAAC,GAAD,UACI,eAAChL,EAAA,EAAD,CAAMC,WAAS,EAAf,UACK+K,EAAQ,KACL,cAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEF,QAAS,QAArC,SACK6rB,EAAE81C,+BAGX,cAAC9/D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEF,QAAS,QAArC,SACI,qCACK2C,EAAMk9D,aAAap3D,KAAI,SAACgoB,GACrB,IAAMmxC,EAAOvD,GAAa5tC,EAAEixC,4BAA8Bv/D,IAC1D,OACI,cAACy/D,EAAD,CACI1hE,MAAO,CAAEmK,OAAQ,WACjB3J,QAAS,kBACL2/D,EAAmB5vC,EAAEixC,0BAA2B71C,EAAE20C,sBAEtD79D,MACIkpB,EAAEu0C,oDACF3vC,EAAEixC,0BAPV,SAUI,cAACG,GAAA,EAAD,UAAQpxC,EAAEgxC,mCAAmC,UAIzD,cAAC,IAAD,CACIK,MAAOj2C,EAAEk2C,WACTp/D,MAAOkpB,EAAEk2C,WAAa,EACtBrhE,QAAS,kBAAM2gE,EAAax1C,EAAE20C,sBAC9BtgE,MAAO,CAAE2U,WAAY,cAKjC,eAAChT,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEyD,UAAW,GAAvC,UACK,IACD,cAAC,IAAD,CACIY,MAC4D,IAAxDsnB,EAAEu0C,mDACsD,IAAxDv0C,EAAEu0C,kDAEN3uD,YAAY,eACZ3I,KAAK,gCACL6C,SAAU80D,EAAW50C,EAAE20C,qBACvBn/D,MAAOwqB,EAAEk1C,wCAMzB,qCACKp+D,EAAMk9D,aAAap3D,KAAI,SAACgoB,GACrB,IAAMmxC,EAAOvD,GAAa5tC,EAAEixC,4BAA8Bv/D,IAC1D,OACI,cAAC,GAAD,CAAiBmK,MAAM,SAAvB,SACI,cAACs1D,EAAD,CACIlhE,QAAS,kBAAM2/D,EAAmB5vC,EAAEixC,0BAA2B71C,EAAE20C,sBACjE79D,MACIkpB,EAAEu0C,oDAAsD3vC,EAAEixC,0BAHlE,SAMI,cAACG,GAAA,EAAD,UAAQpxC,EAAEgxC,mCAAmC,YAM7D,cAAC,GAAD,CAAiBn1D,MAAM,OAAvB,SACI,cAAC,IAAD,CACIw1D,MAAOj2C,EAAEk2C,WACTp/D,MAAOkpB,EAAEk2C,WAAa,EACtBrhE,QAAS,kBAAM2gE,EAAax1C,EAAE20C,0BAGtC,cAAC,GAAD,CAAiBl0D,MAAM,OAAvB,SACI,cAAC,IAAD,CACI/H,MAC4D,IAAxDsnB,EAAEu0C,mDACsD,IAAxDv0C,EAAEu0C,kDAEN3uD,YAAY,eACZ3I,KAAK,gCACL6C,SAAU80D,EAAW50C,EAAE20C,qBACvBn/D,MAAOwqB,EAAEk1C,qDAarD,cAACl/D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEyD,UAAW,IAAvC,SACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAI+tB,GAAI,EAA7C,UACI,eAACpuB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAI+xC,SAAS,KAA5C,UACI,cAAC3+D,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,kCAGA,cAAC,IAAD,CACIoH,SAAUs0D,EACV5+D,MAAOsB,EAAM+9D,gCACb53D,KAAK,kCACL6I,KAAMhP,EAAM68D,eAEhB,cAACl7D,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAc4wD,qCAEzC,cAAC7+D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAI+xC,SAAS,KAAKn+D,UAAU,mBAA3D,SACI,cAAC,IAAD,CACI2N,WAAW,mBACXC,YAAY,mBACZ3I,KAAK,2BACLzH,MAAOsB,EAAMg+D,yBACbh1D,SAAUs0D,EACVnwD,OAAM,UAAEnN,EAAMmN,cAAR,aAAE,EAAc6wD,6BAI9B,cAAC9+D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAI+xC,SAAS,KAAKn+D,UAAU,mBAA3D,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZ3I,KAAK,8BACLzH,MAAOsB,EAAMi+D,4BACbj1D,SAAUs0D,EACVnwD,OAAM,UAAEnN,EAAMmN,cAAR,aAAE,EAAc8wD,gCAG9B,eAAC/+D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAI+xC,SAAS,KAA5C,UACI,cAAC3+D,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CACImO,YAAY,eACZ3I,KAAK,+BACLzH,MAAOsB,EAAMy8D,6BACbzzD,SAAUs0D,UAKtB,cAACp+D,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAI+tB,GAAI,EAAjC,SACI,cAACpuB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIpsB,UAAU,mBAA7C,SACI,gCACI,sBAAK3D,MAAO,CAAEC,SAAU,YAAxB,UACI,eAACkD,EAAA,EAAD,CAAYC,QAAM,EAAlB,qCAEKX,EAAMD,cACH,cAACa,EAAA,EAAD,CAASjE,MAAM,wBAAf,SACI,cAAC,IAAD,CAAiBoB,QA9V/C,WAClBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBk7C,mBAAmB,EAAMx7C,eAAgBQ,IAAWC,qBA6VUhD,MAAO,CAAEI,OAAQ,UAAW+J,OAAQ,wBAEjF,QAER,qBACInK,MAAO,CACHC,SAAU,WACVC,MAAO,GAHf,SAMI,cAACmD,EAAA,EAAD,CAASjE,MAAM,kBAAf,SACI,cAAC,IAAD,CACIoB,QAvatC,WACNiC,EAAMs7C,kBACN98C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk7C,mBAAmB,EACnBx7C,eAAgB,UAGpBG,EAAWa,QAAQC,SAgayBxD,MAAO,CACHI,OAAQ,UACRqD,UAAW,SAK1BhB,EAAMs7C,kBACH,qBAAKp6C,UAAWgH,EAAQpG,KAAxB,SACI,qBAAKb,IAAKjB,EAAMF,eAAgBqB,IAAI,eAAeD,UAAU,aAGjE,qBAAKA,UAAWgH,EAAQpG,KAAxB,SACI,cAAC,IAAD,CACIV,IAAKnB,EACLoB,YAAa,CAAEH,UAAW,UAC1BI,MAAO,YA5ajC,WACtB,IAAIC,EAASvB,EAAMuB,OACnB/C,GAAS,SAAC4B,GAMN,OALS,2BACFA,GADE,IAELN,eAAgBG,EAAWa,QAAQU,YACnCD,OAAQA,OAuaoCE,WAMpB,cAACE,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAcrN,6BAOzD,cAACZ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAASosB,EAA1B,sBAEJ,cAACjrB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAAS,kBAAMxB,EAAMO,WAAtC,yBAIR,qBAAKoE,UAAWgH,EAAQ2U,OAAxB,SACI,cAACiS,GAAA,EAAD,CAAkBrvB,MAAM,gBAG/BO,EAAMuvB,KAEH,cAAC,GAAD,CACI8qC,OAAQr6D,EAAM4+D,eACdjE,cAvTM,SAACG,EAAWwE,GAC9B,IACIC,EADArlC,EAAY,aAAOl6B,EAAMo9D,WAEzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAE20C,sBAAwB79D,EAAM2+D,kBAEhF,UAAOxkC,KACHolC,EAAmBzE,EAAUh1D,KAAI,SAACgoB,GAAD,OAAQA,EAAE0xC,SAAW1xC,EAAE0xC,SAAW1xC,KACnEoM,EAAaC,GAAUkgC,OAASkF,GAGpC,IAAIE,EAAS,aAAOz/D,EAAM28D,aAC1B8C,EAAUp0D,KAAK,CAAEq0D,4BAA6B1/D,EAAM2+D,eAAgBgB,2BAA4BJ,IAEhG/gE,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBg9D,UAAWljC,EAAc0kC,eAAgBW,EAAkB5C,YAAa8C,QA2SvFhE,YApVI,WAChB,GAAIz7D,EAAM4+D,eAAerwD,OAAS,EAAG,CACjC,IAAI2rB,EAAY,aAAOl6B,EAAMo9D,WACzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAE20C,sBAAwB79D,EAAM2+D,kBAChFzkC,EAAaC,GAAUilC,WAAallC,EAAaC,GAAUkgC,OAAO9rD,OAClEzG,EAAiB,+BACjBtJ,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN6tC,UAAWljC,OAEfpyB,EAAiB,kCA0UThL,QAAS,kBAAM0B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAM,QAChDqrC,UA5iBE,KA+iBV,S,UCtoBNl9B,GAAY,CACd/gC,MAAO,CACH8C,MAAO,WAEXi3C,OAAQ,CACJsd,aAAc,6BAElBoF,OAAQ,CACJ/5D,QAAS,oBA+MFugE,GA5MU,SAACrjE,GACtB,MAAgFA,EAAM6vC,YAA9EJ,EAAR,EAAQA,qBAAsBC,EAA9B,EAA8BA,qBAAsBF,EAApD,EAAoDA,wBACpD,EAA0BxtC,mBAAS,CAC/BshE,eAAgB,KAChBC,sBAAuBvjE,EAAMwG,UAC7Bg9D,iBAAkB,GAClBC,qBAAsB,GACtBC,0BAA2B,GAC3Bj3B,KAAM5yB,OAASC,OAAO,gBAN1B,mBAAOrW,EAAP,KAAcxB,EAAd,KAQA,EAA0BD,mBAAS,IAAnC,mBAAOqD,EAAP,KAAcy2D,EAAd,KACA,EAA6Cr6D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBguD,EAAW,WACb,IAAI1oD,EAAS,GACTqrD,GAAU,EACNuH,EAA2C//D,EAA3C+/D,iBAAkBC,EAAyBhgE,EAAzBggE,qBAc1B,MAbK,QAAQxxD,KAAKuxD,KACd5yD,EAAO4yD,iBAAmB,2BAC1BvH,GAAU,IAETwH,EAAuB,IACxB7yD,EAAO6yD,qBAAuB,uCAC9BxH,GAAU,GAET,QAAQhqD,KAAKwxD,KACd7yD,EAAO6yD,qBAAuB,gCAC9BxH,GAAU,GAEdH,EAASlrD,GACFqrD,GAGLh4D,EAAU,uCAAG,4BAAAC,EAAA,0DACXo1D,IADW,gCAEKf,GAAkB,CAC9B+K,eAAgB7/D,EAAM6/D,eACtBC,sBAAuB9/D,EAAM8/D,sBAC7BC,iBAAkB//D,EAAM+/D,iBACxBC,sBAAuBhgE,EAAMggE,qBAC7BC,0BAA2BjgE,EAAMigE,0BACjCC,0BAA2B,eAC3BC,oBAAoB,IATb,QAEPl+D,EAFO,QAWHoE,SACJyB,EAAiB,mCACjBvL,EAAM6jE,WAAW7jE,EAAM0sC,WACvBzqC,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL+/D,iBAAkB,GAClBC,qBAAsB,GACtBC,0BAA2B,UAG/Bp4D,GAAkB,OAAH5F,QAAG,IAAHA,OAAA,EAAAA,EAAKyG,UAAW,yBAC/BlK,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL+/D,iBAAkB,GAClBC,qBAAsB,SAzBnB,2CAAH,qDA+BV5xD,EAAc,SAACc,GACjB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACF,wBAARyH,GAA0C,8BAARA,GACrB,GAATzH,GAAcA,GAAS,KACvBF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,OAIhBF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAKpB,OACI,8BACI,cAACQ,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACw0D,GAAA,EAAD,CAAgBx2D,MAAO,CAAEggC,OAAQ,6BAAjC,UACI,qBAAKhgC,MAAOmgC,GAAUgZ,OAAtB,SACI,qBAAKn5C,MAAOmgC,GAAU/gC,MAAtB,SACI,eAACuC,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAED,WAAY,UAArC,UACI,cAAC4B,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAAGj/B,MAAI,EAAC/B,MAAO,CAAED,WAAY,UAApE,SACI,cAACoM,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAOmgC,GAAU07B,OAA5D,6BAKJ,cAACl6D,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAAGp/B,WAAS,EAACG,MAAI,EAACsV,QAAQ,WAAjE,SACI,eAAClL,GAAA,EAAD,CAAYhK,QAAQ,UAAUnC,MAAO,CAAEqZ,SAAU,WAAYnX,MAAO,QAASJ,QAAS,OAAtF,mCAC2B2sC,GAAwB,EADnD,yBAC4EC,GAAwB,EADpG,sBAGgC,OAA3BF,EACGA,EACI,wCAAW31B,KAAO21B,GAAyB11B,OAAO,cAAlD,OAEA,oBAGJ,iCAOxB,cAAC69C,GAAA,EAAD,CAAOv9C,aAAW,eAAeqnB,KAAK,QAAtC,SACI,eAACm2B,GAAA,EAAD,WACI,cAACkM,GAAA,EAAD,CAAQC,KAAM,CAAC,MAAf,SACI,eAAC1M,GAAA,EAAD,WACI,eAACH,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,UAAWJ,QAAS,OAAS6K,MAAM,MAA9D,UACI,cAACxJ,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,kBAGA,cAAC,IAAD,CACIwF,KAAK,mBACLzH,MAAQsB,EAAM+/D,kBAAoB3pD,KAAOpW,EAAM+/D,kBAAkB1pD,OAAO,eAAkB,GAC1FrN,SAAUoF,EACV2sC,WAAY,CAAEttB,WAAY,CAAEC,IAAI,GAAD,OAAK1tB,EAAMgpC,UAE9C,cAACrnC,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBA,EAAMm+D,sBAEjC,cAACtM,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,UAAWJ,QAAS,OAAS6K,MAAM,MAA9D,SACI,cAAC,GAAD,CACI2E,WAAW,oBACXC,YAAY,oBACZ3I,KAAK,uBACLzH,MAAOsB,EAAMggE,sBAAwB,GACrCh3D,SAAUoF,EACVjB,OAAQvL,EAAMo+D,qBACdjlB,WAAY,CAAEttB,WAAY,CAAE6oB,IAAK,EAAG5oB,IAAK,SAGjD,cAAC+lC,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,UAAWJ,QAAS,OAAS6K,MAAM,MAA9D,SACI,cAAC,GAAD,CACI2E,WAAW,oBACXC,YAAY,oBACZ3I,KAAK,4BACLzH,MAAOsB,EAAMigE,2BAA6B,GAC1Cj3D,SAAUoF,EACVjB,OAAQvL,EAAMq+D,0BACdllB,WAAY,CAAEttB,WAAY,CAAE6oB,IAAK,EAAG5oB,IAAK,SAGjD,eAAC+lC,GAAA,EAAD,CAAW9pD,MAAM,QAAQO,MAAM,KAAK3M,MAAO,CAAE8B,QAAS,OAAtD,UACI,cAACqB,EAAA,EAAD,UAAa,WACb,cAAC,IAAD,CAAiB3C,QAASyC,EAA1B,yBAIZ,cAAC6/D,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,KAAM,MAAjC,SACI,cAAC1M,GAAA,EAAD,UACI,eAACH,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,UAAWJ,QAAS,OAAS6K,MAAM,OAA9D,UACI,cAACxJ,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,kBAGA,cAAC,IAAD,CACIwF,KAAK,mBACLzH,MAAQsB,EAAM+/D,kBAAoB3pD,KAAOpW,EAAM+/D,kBAAkB1pD,OAAO,eAAkB,GAC1FrN,SAAUoF,EACV2sC,WAAY,CAAEttB,WAAY,CAAEC,IAAI,GAAD,OAAK1tB,EAAMgpC,UAE9C,cAACrnC,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBA,EAAMm+D,mBAC7B,cAAC,GAAD,CACIlxD,WAAW,oBACXC,YAAY,oBACZ3I,KAAK,uBACLzH,MAAOsB,EAAMggE,sBAAwB,GACrCh3D,SAAUoF,EACVjB,OAAQvL,EAAMo+D,qBACdjlB,WAAY,CAAEttB,WAAY,CAAE6oB,IAAK,EAAG5oB,IAAK,OAE7C,cAAC,GAAD,CACI7e,WAAW,oBACXC,YAAY,oBACZ3I,KAAK,4BACLzH,MAAOsB,EAAMigE,2BAA6B,GAC1Cj3D,SAAUoF,EACVjB,OAAQvL,EAAMq+D,0BACdllB,WAAY,CAAEttB,WAAY,CAAE6oB,IAAK,EAAG5oB,IAAK,OAE7C,gCACI,cAAChtB,EAAA,EAAD,UAAa,WACb,cAAC,IAAD,CAAiB3C,QAASyC,EAA1B,2BAKhB,cAACozD,GAAA,EAAD,GAAe,kBCtNlC2M,GAAc,uCAAG,WAAO9/C,GAAP,eAAAhgB,EAAA,sEACV6B,aAAY,YAAD,OAAame,IADd,cACtBxe,EADsB,yBAEnBA,GAFmB,2CAAH,sDASdu+D,GAAW,uCAAG,WAAO59D,GAAP,eAAAnC,EAAA,sEACPsB,aAAa,WAAYa,GADlB,cACnBX,EADmB,yBAEhBA,GAFgB,2CAAH,sDCkETw+D,OArEf,SAAwBlkE,GACpB,MAA0BgC,mBAAS,CAC/BmiE,UAAW,GACXC,kBAAmB,GACnBvvB,YAAa,GACbwvB,gBAAiB,GACjBC,gBAAiB,GACjBC,YAAa,GACbC,cAAe,GACfC,mBAAoB,GACpBC,gBAAiB,GACjBC,mBAAoB,GACpBC,oBAAqB,GACrBC,oBAAqB,KAZzB,mBAAOphE,EAAP,KAAcxB,EAAd,KAwCA,OAzBA2B,oBAAS,sBAAC,8BAAAM,EAAA,0DACFlE,EAAMmkE,UADJ,gCAEcH,GAAehkE,EAAMmkE,WAFnC,QAEEz+D,EAFF,QAGMoE,UACEzD,EAAOX,EAAIW,KAAK4V,KAAK,GAC3Bha,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELsgE,UAAW99D,EAAK89D,UAChBC,kBAAmB/9D,EAAK+9D,kBACxBvvB,YAAaxuC,EAAKwuC,YAClBwvB,gBAAiBh+D,EAAKg+D,gBACtBC,gBAAiBj+D,EAAKi+D,gBACtBC,YAAal+D,EAAKk+D,YAClBC,cAAen+D,EAAKm+D,cACpBC,mBAAoBp+D,EAAKo+D,mBACzBC,gBAAiBr+D,EAAKq+D,gBACtBC,mBAAoBt+D,EAAKs+D,mBACzBC,oBAAqBv+D,EAAKu+D,oBAC1BC,oBAAqBx+D,EAAKw+D,oBAC1BvkD,QAAQ,QAnBd,2CAuBP,IAGC7c,EAAM6c,OACF,eAAC3d,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAG7B,MAAO,CAAE4W,SAAU,QAAS8a,UAAW,SAAnF,UACI,eAAC/vB,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,4BACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMoxC,iBAEvB,eAAClyC,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,sBACA,cAAC+H,GAAA,EAAD,UAAa6C,IAAW2iB,iBAAiBlvB,EAAM4gE,gBAAiB5gE,EAAM6gE,gBAAiB7gE,EAAM+gE,cAAe/gE,EAAMihE,sBAEtH,eAAC/hE,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC4B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW4iB,cAAcnvB,EAAMohE,0BAEjE,eAACliE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,OAA7B,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBpvB,EAAMmhE,6BAI5E,qBAAK5jE,MAAO,CAAEF,QAAS,OAAQuxB,cAAe,SAAUC,eAAgB,SAAU3kB,MAAO,QAASjN,OAAQ,SAA1G,SACI,cAAC6xB,GAAA,EAAD,CAAkBvxB,MAAO,CAAEmK,OAAQ,aCgBpC25D,OAxEf,SAA6B9kE,GACzB,MAA6CyB,eAArC6J,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,iBAExB,EAA0BvJ,mBAAS,CAC/ByqC,KAAM5yB,OAASC,OAAO,cACtB4yB,UAAW1sC,EAAM0sC,UACjBq4B,cAAe/kE,EAAM+kE,cAErBn0D,OAAQ,KALZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAQA2B,oBAAS,sBAAC,sBAAAM,EAAA,0FAAgB,IAE1B,IAKM4N,EAAc,WAChB,IAAQ26B,EAAShpC,EAATgpC,KACJ16B,GAAc,EACdnB,EAAS,GAMb,OALK67B,GAAgB,IAARA,IACT77B,EAAO67B,KAAO,mBACd16B,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGL6b,EAAY,uCAAG,WAAO9hB,GAAP,6BAAA5H,EAAA,0DACb4N,IADa,oBAEL26B,EAAmChpC,EAAnCgpC,KAAMC,EAA6BjpC,EAA7BipC,UAAWq4B,EAAkBthE,EAAlBshE,cAErBr/D,EAAM,IAENq/D,EANS,gCAOGv4B,GAAeE,EAAWD,GAP7B,OAOT/mC,EAPS,+CASGinC,GAAiBD,EAAWD,GAT/B,QAST/mC,EATS,gBAYb,UAAIA,SAAJ,aAAI,EAAKoE,UACLyB,EAAgB,UAAC7F,SAAD,iBAAC,EAAKW,YAAN,aAAC,EAAW8F,SAC5BnM,EAAMO,QAAQmF,IAEd4F,EAAc,UAAC5F,SAAD,aAAC,EAAKyG,SAhBX,4CAAH,sDAqBlB,OACI,cAAChM,GAAA,EAAD,CAAYC,MAAK,UAAKJ,EAAM+kE,cAAgB,UAAY,YAAvC,aAA+DxkE,QAAS,kBAAMP,EAAMO,SAAQ,IAAQC,SAAS,KAAKC,SAAS,OAA5I,SACI,eAACkC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,kBAGA,cAAC,IAAD,CAAYmO,YAAY,OAAOpQ,MAAOsB,EAAMgpC,KAAMhgC,SA7C9C,SAACX,GACjB,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KACrBzK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QA2CkDyH,KAAK,SAC9E,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO67B,UAExC,cAAC9pC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASosB,EAA1B,SAAyC5tB,EAAM+kE,cAAgB,UAAY,gBAE/E,cAACpiE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAAS,kBAAMxB,EAAMO,WAAtC,4BCpCd4gC,GAAY,CACd/gC,MAAO,CACH8C,MAAO,WAEXi3C,OAAQ,CACJsd,aAAc,6BAElBoF,OAAQ,CACJ/5D,QAAS,mBAEbg6D,UAAW,CACP3xD,OAAQ,sBAGZ0lB,GAAkB9sB,IAAW+sB,gBAE3Bk0C,GAAiB,SAAC,GAA2B,IAAzBtjD,EAAwB,EAAxBA,KAAMw4C,EAAkB,EAAlBA,YAC5B,OACI,cAACv3D,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,eAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,qBAAKhC,MAAOmgC,GAAUgZ,OAAtB,SACI,qBAAKn5C,MAAOmgC,GAAU/gC,MAAtB,SACI,cAACuC,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAED,WAAY,SAAUigC,OAAQ,oBAAqBy2B,aAAc,QAA1F,SACI,cAAC90D,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC/B,MAAO,CAAED,WAAY,UAAxC,SACI,cAACoM,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAOmgC,GAAU07B,OAA5D,qCAOhB,cAACrF,GAAA,EAAD,CAAgBx2D,MAAO,CAAE0xB,UAAW,IAAKhyB,OAAQ,OAAQsvB,UAAW,IAAKgR,OAAQ,6BAA+Br8B,UAAU,gBAA1H,SACI,8BACI,eAACgzD,GAAA,EAAD,CAAOv9C,aAAW,eAAeqnB,KAAK,QAAQwjC,cAAY,EAA1D,UACI,cAACzI,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,4BACA,cAACA,GAAA,EAAD,mBACA,cAACA,GAAA,EAAD,SAGR,eAACU,GAAA,EAAD,CAAW52D,MAAO,CAAEN,OAAQ,IAAKD,SAAU,QAA3C,iBACKihB,QADL,IACKA,OADL,EACKA,EAAMnY,KAAI,SAACmL,GACR,IAAIgmD,EAAc,GACdC,EAAU,QACVC,EAAY/gD,OAASC,SACrB+gD,EAAQ,IAAI3mD,KAAK0mD,GACjBE,EAAQ,IAAI5mD,KAAKQ,EAAIwwD,SACrBnK,EAAWC,UAAUF,EAAQD,GAAT,MAAyC,IAUjE,OATIE,GAAY,GACZL,EAAc,UACPK,GAAY,GACnBL,EAAc,sBACdC,EAAU,SACHI,EAAW,IAClBL,EAAc,sBACdC,EAAU,SAGV,eAACtD,GAAA,EAAD,CAAiCr2D,MAAO,CAAEmhC,gBAAiBu4B,EAAax3D,MAAOy3D,GAA/E,UACI,cAACzD,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,SAAyCwR,EAAIwmD,eAC7C,cAAChE,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,SAAyCwR,EAAIwwD,QAAUrrD,KAAOnF,EAAIwwD,SAASprD,OAAO,cAAgB,QAElG,cAACo9C,GAAA,EAAD,CAAW9pD,MAAM,QAAjB,SACI,cAAC,KAAD,CACImL,KAAMkiD,KACNv3D,MAAOy3D,EACPh2D,UAAU,6BACVgU,aAAa,YACbnX,QAAS,WACL04D,EAAY,UAXbxlD,EAAIwmD,kBAkBtB,OAAJx5C,QAAI,IAAJA,OAAA,EAAAA,EAAM1P,SAAU,GACb,cAACqlD,GAAA,EAAD,UACI,cAACH,GAAA,EAAD,CAAW9pD,MAAM,SAAS+tD,QAAS,EAAGn6D,MAAO,CAAEkC,MAAO,WAAtD,iCADW,mBAe7CiiE,GAAoB,SAACnlE,GACvB,MAA0BgC,mBAAS,CAC/BojE,kBAAmB,KACnBC,yBAA0BrlE,EAAMwG,UAChC8+D,oBAAqB,GACrBC,gBAAiB,KAJrB,mBAAO9hE,EAAP,KAAcxB,EAAd,KAMA,EAA0BD,mBAAS,IAAnC,mBAAOqD,EAAP,KAAcy2D,EAAd,KACA,EAA6Cr6D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBguD,EAAW,WACb,IAAI1oD,EAAS,GACTqrD,GAAU,EACNqJ,EAAyC7hE,EAAzC6hE,oBAAqBC,EAAoB9hE,EAApB8hE,gBAc7B,MAbK,QAAQtzD,KAAKqzD,KACd10D,EAAO00D,oBAAsB,2BAC7BrJ,GAAU,IAETsJ,EAAkB,IACnB30D,EAAO20D,gBAAkB,uCACzBtJ,GAAU,GAET,QAAQhqD,KAAKszD,KACd30D,EAAO20D,gBAAkB,gCACzBtJ,GAAU,GAEdH,EAASlrD,GACFqrD,GAGLh4D,EAAU,uCAAG,4BAAAC,EAAA,0DACXo1D,IADW,gCAEKhB,GAAe,CAC3B8M,kBAAmB3hE,EAAM2hE,kBACzBC,yBAA0B5hE,EAAM4hE,yBAChCC,oBAAqB7hE,EAAM6hE,oBAC3BC,iBAAkB9hE,EAAM8hE,gBACxBC,6BAA8B,eAC9BC,uBAAuB,IARhB,QAEP//D,EAFO,QAUHoE,SACJyB,EAAiB,iCACjBvL,EAAM6jE,aACN7jE,EAAM0lE,kBAAkB1lE,EAAM0sC,WAC9BzqC,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL6hE,oBAAqB,GACrBC,gBAAiB,UAGrBj6D,GAAkB,OAAH5F,QAAG,IAAHA,OAAA,EAAAA,EAAKyG,UAAW,yBAC/BlK,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL6hE,oBAAqB,GACrBC,gBAAiB,SAxBd,2CAAH,qDA8BV1zD,EAAc,SAACc,GACjB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAIhB,OAEI,aADA,CACA,gBACI,cAACQ,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACw0D,GAAA,EAAD,CAAgBx2D,MAAO,CAAEggC,OAAQ,6BAAjC,UACI,qBAAKhgC,MAAOmgC,GAAUgZ,OAAtB,SACI,qBAAKn5C,MAAOmgC,GAAU/gC,MAAtB,SACI,eAACuC,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAED,WAAY,UAArC,UACI,cAAC4B,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAAGj/B,MAAI,EAAC/B,MAAO,CAAED,WAAY,UAApE,SACI,cAACoM,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAOmgC,GAAU07B,OAA5D,2BAKJ,eAACl6D,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAAGp/B,WAAS,EAACG,MAAI,EAACsV,QAAQ,WAAjE,UACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,eAACmK,GAAA,EAAD,CAAYhK,QAAQ,UAAUnC,MAAO,CAAEqZ,SAAU,WAAYnX,MAAO,QAASouB,YAAa,QAA1F,4BACoBthB,KAAW21D,yBAAyB3lE,EAAM6vC,YAAYR,sBACzB,OAA5CrvC,EAAM6vC,YAAYP,uBACf,wCAAWtvC,EAAM6vC,YAAYP,0BAC7B,UAGZ,cAAC3sC,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,EAAGqV,QAAQ,WAAWrX,MAAO,CAAEswD,aAAc,QAAtE,SACI,cAAC,IAAD,CAAY/4C,KAAMiyC,KAAgBh+C,MAAM,UAAUhL,QAAS,kBAAMxB,EAAMk6D,YAAY,kBAMtGl6D,EAAM4lE,UACH,mCACI,cAACjO,GAAA,EAAD,CAAOv9C,aAAW,eAAeqnB,KAAK,QAAtC,SACI,eAACm2B,GAAA,EAAD,WACI,cAACkM,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,KAAM,MAAjC,SACI,cAAC1M,GAAA,EAAD,UACI,cAACH,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,UAAWJ,QAAS,OAAS6K,MAAM,OAA9D,SACI,eAAChL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,0BAGA,cAAC,IAAD,CACIwF,KAAK,sBACLzH,MACKsB,EAAM6hE,qBAAuBzrD,KAAOpW,EAAM6hE,qBAAqBxrD,OAAO,eAAkB,GAG7FrN,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBA,EAAMigE,yBAEjC,cAAC3iE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,GAAD,CACIsP,WAAW,mBACXC,YAAY,mBACZ3I,KAAK,kBACLzH,MAAOsB,EAAM8hE,iBAAmB,GAChC94D,SAAUoF,EACVjB,OAAQvL,EAAMkgE,gBACd92D,SAA2B,UAAjBzO,EAAM6lE,YAGxB,eAACljE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,UAAa,WACb,cAAC,KAAD,CAAiB3C,QAASyC,EAA1B,0BA9BD,KAoCnB,cAAC6/D,GAAA,EAAD,CAAQC,KAAM,CAAC,MAAf,SACI,eAAC1M,GAAA,EAAD,WACI,eAACH,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,UAAWJ,QAAS,OAAS6K,MAAM,MAA9D,UACI,cAACxJ,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,0BAGA,cAAC,IAAD,CACIwF,KAAK,sBACLzH,MAAQsB,EAAM6hE,qBAAuBzrD,KAAOpW,EAAM6hE,qBAAqBxrD,OAAO,eAAkB,GAChGrN,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBA,EAAMigE,yBAEjC,cAACpO,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,UAAWJ,QAAS,OAAS6K,MAAM,MAA9D,SACI,cAAC,GAAD,CACI2E,WAAW,mBACXC,YAAY,mBACZ3I,KAAK,kBACLzH,MAAOsB,EAAM8hE,iBAAmB,GAChC94D,SAAUoF,EACVjB,OAAQvL,EAAMkgE,gBACd92D,SAA2B,UAAjBzO,EAAM6lE,YAGxB,eAAC3O,GAAA,EAAD,CAAW9pD,MAAM,QAAQO,MAAM,KAAK3M,MAAO,CAAE8B,QAAS,OAAtD,UACI,cAACqB,EAAA,EAAD,UAAa,WACb,cAAC,KAAD,CAAiB3C,QAASyC,EAAYwK,WAAU,OAACoiB,SAAD,IAACA,QAAD,EAACA,GAAiBi1C,0BAAlE,sBAzBO,sBA0C9CC,GAAmB,SAAC/lE,GAC7B,MAA2F2B,qBAAW+yB,IAA9Fmb,EAAR,EAAQA,YAAa+D,EAArB,EAAqBA,gBAAiBnwC,EAAtC,EAAsCA,MAAO4uC,EAA7C,EAA6CA,WAAYZ,EAAzD,EAAyDA,UAAWqC,EAApE,EAAoEA,mBACpE,EAA8BnQ,IAAM3hC,UAAS,GAA7C,mBAAOmR,EAAP,KAAgB6yD,EAAhB,KAEMC,EAAe,WACjBD,GAAW,SAACE,GAAD,OAAWA,MAGpBryC,EAAc,WAChBw8B,GAAc,SAACxsD,GAAD,mBAAC,eACRA,GADO,IAEVsiE,eAAe,EACf1V,YAAY,EACZ2V,mBAAmB,EACnBC,cAAc,QAItB,EAAoCrkE,mBAAS,CACzCmkE,eAAe,EACf1V,YAAY,EACZ2V,mBAAmB,EACnBC,cAAc,IAJlB,mBAAO3V,EAAP,KAAmBL,EAAnB,KAOMiW,EAAa,SAAC/V,EAAUC,GAC1B,OAAOD,EACH,qBAAK/uD,QAAS,kBAAMmvD,EAAeH,IAAYxvD,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAvG,SACK63C,IAGL,IAIFI,EAAiB,SAACC,GACpBP,GAAc,SAACxsD,GAAD,mBAAC,eACRA,GADO,kBAET+sD,GAAW,QAIdiH,EAAY,CACd,CACIC,MAAO,aACPC,OAAO,GAAD,OAAKt0D,EAAMgO,OAAX,cAAuBhO,EAAM8M,SACnCynD,MAAO,WACPC,OAAQqO,EAAW7iE,EAAMwpC,aAAc,iBACvCirB,MAAO,QACPC,OAAQmO,EAAW7iE,EAAMiT,UAAW,eAExC,CACIohD,MAAO,eACPC,OAAO,GAAD,OAAKt0D,EAAM0N,wBAA0B,IAC3C6mD,MAAO,mBACPC,OAAO,GAAD,OAAKx0D,EAAM24B,4BAA8B,IAC/C87B,MAAO,SACPC,OAAO,GAAD,OAAKtoB,EAAYpB,QAAU,KAErC,CACIqpB,MAAO,kBACPC,OAAO,GAAD,OAAKloB,EAAYV,uBAAyB,IAChD6oB,MAAO,YACPC,OAAO,GAAD,OAAKx0D,EAAMspC,iBACjBmrB,MAAO,iBACPC,OAAO,GAAD,OAAK10D,EAAMqqC,eAAiB,KAEtC,CACIgqB,MAAO,eACPC,OAAO,GAAD,OAAKloB,EAAYxB,aAAe,IACtC2pB,MAAO,eACPC,OAAO,GAAD,OAAKpoB,EAAYvB,aAAe,IACtC4pB,MAAO,kBACPC,OAAO,GAAD,OAAKtoB,EAAYtB,gBAAkB,KAE7C,CACIupB,MAAO,kBACPC,OAAO,GAAD,OAAKt0D,EAAM+pC,UAAY,IAC7BwqB,MAAO,eACPC,OAAO,GAAD,OAAKx0D,EAAMgqC,aAAe,IAChCyqB,MAAO,0BACPC,OAAO,GAAD,OAAKtoB,EAAYX,uBAAyB,KAEpD,CACI4oB,MAAO,cACPC,OAAO,GAAD,OAAK1lB,EAAWV,YACtBqmB,MAAO,aACPC,OAAO,GAAD,OAAK5lB,EAAWN,YACtBmmB,MAAO,sBACPC,OAAO,GAAD,OAAKtoB,EAAY0F,UAAY,KAEvC,CACIuiB,MAAO,wBACPC,OAAQuO,EAAWz2B,EAAYT,aAAc,qBAC7C4oB,MAAO,WACPC,OAAQqO,EAAW7iE,EAAMoxC,YAAa,gBACtCqjB,MAAO,eACPC,OAAO,GAAD,OACF9lB,EAAW8D,kCAAoCtG,EAAYZ,0BACrDY,EAAYyF,QACZ,OACAtlC,KAAWimC,cAAc5D,EAAW8D,kCACpC,IACAtG,EAAYZ,0BACZ,IACAY,EAAYyF,SAAW,MAKzC,EAAwBtzC,mBAAS,CAC7BgxB,MAAM,EACN0Z,UAAW,KACX65B,oBAAoB,EACpBC,aAAa,EACbtW,cAAc,EACduW,mBAAoB,GACpB5lE,MAAM,EACN6lE,WAAW,EAEXC,kBAAkB,IAVtB,mBAAOtgE,EAAP,KAAaugE,EAAb,KAaMhqC,EAAQ,uCAAG,4BAAA14B,EAAA,0DACTlE,EAAM0sC,UADG,uBAETk6B,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJ6oC,UAAW1sC,EAAM0sC,eAJZ,SAMO2pB,GAAkBr2D,EAAM0sC,WAN/B,QAMLhnC,EANK,QAODoE,QACJ88D,GAAQ,SAAC/iE,GAAD,mBAAC,eAAaA,GAAd,IAAkB4iE,mBAAoB/gE,EAAIW,KAAKwgE,qCAEvDD,GAAQ,SAAC/iE,GAAD,mBAAC,eAAaA,GAAd,IAAkB4iE,mBAAoB,QAVzC,2CAAH,qDAed7iE,qBAAU,WACNg5B,MACD,CAACv2B,EAAK2sB,KAAM3sB,EAAKkgE,mBAAoBlgE,EAAKygE,gBAAiB9mE,EAAM0sC,YAEpE,IAQMlR,EAAY,SAACn6B,EAAIuI,GACnBg9D,GAAQ,SAAC/iE,GAAD,yBAAC,eATc,CACvBmvB,MAAM,EACNwzC,aAAa,EACbD,oBAAoB,EACpBO,iBAAiB,EACjBH,kBAAkB,IAIV,uBAA8B/8D,GAAO,GAArC,0BAAsDvI,GAAtD,QAGN0lE,EAAiB,SAAC1lE,EAAIuI,GACxBg9D,GAAQ,SAAC/iE,GAAD,yBAAC,eAAaA,GAAd,uBAAmB+F,GAAO,GAA1B,0BAA2CvI,GAA3C,QAGNswD,EAAgB,SAACC,EAAMhoD,GACzBg9D,GAAQ,SAAC/iE,GAAD,mBAAC,eAAaA,GAAd,IAAkBqsD,cAAc,OACxC0B,GAAQ9d,IACR8d,GAAQ5xD,EAAM8gE,eAGZnmC,EAAa,SAACj1B,GAChBkhE,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,EACNuzC,oBAAoB,EACpBO,iBAAiB,EACjBN,aAAa,EACbE,WAAW,EACXC,kBAAkB,OAEtBjhE,GAAO1F,EAAM8gE,cACbp7D,GAAOouC,KAELkzB,EAAU3gE,EAAKkgE,oBAAsBlgE,EAAKygE,iBAAmBzgE,EAAK2sB,KAClEi0C,EAAmBj5D,eAAnBi5D,eA4JN,OACI,qCACKvW,EAAWyV,cACR,cAAChmE,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAM4gB,WAAYwJ,aAAcgG,MAEjE,KACH68B,EAAWD,WACR,cAACtwD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMyoC,SAAUre,aAAcgG,MAE5D,KACH68B,EAAW0V,kBACR,cAACjmE,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,wBAArD,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMsqC,6BAA8BlgB,aAAcgG,MAE3F,KACH68B,EAAW2V,aACR,cAAClmE,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAgB+jE,UAAW1gE,EAAMwqC,iBAAkBpgB,aAAcgG,MAErE,KAEJ,sBAAKlvB,UAAU,oBAAf,YACO0B,EAAK2sB,MAAQ3sB,EAAKkgE,oBAAsBlgE,EAAKygE,iBAAmBzgE,EAAKqgE,YACpE,eAAC/jE,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,UACI,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,GAAI2e,GAAI,EAAvB,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,SAAtC,WACMqiE,GACE,qBAAKhmE,MAAO,CAAE2M,MAAO,OAAQ7K,QAAS,WAAtC,SACI,cAAC,GAAD,CAAamjD,SAAS,UAAUmC,cAAepoD,EAAM0sC,cAG7D,eAAC/pC,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACiuB,GAAI,GAAID,GAAI,GAAI1e,GAAI,GAAIrP,GAAI,GAAIH,QAAS,EAA9D,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACKhM,EAAKmgE,aAAe,cAACjP,GAAD,CAAkBG,YA5L/DuP,GAAmBD,EAwIvB,KAvIA,eAACrkE,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAED,WAAY,SAAU+B,QAAS,WAAxD,UACI,cAACH,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAAGj/B,MAAI,EAA7C,SACI,eAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,iCAEI,sBAAMlC,MAAO,CAAEC,SAAU,WAAY4uB,IAAK,OAAQ7V,KAAM,QAAxD,SACI,cAAC,KAAD,CAAoBlG,SAAU9T,EAAM0sC,UAAWz4B,uBAAuB,gBAAgBF,UAAWtQ,EAAMsQ,oBAInG,OAAf8c,SAAe,IAAfA,QAAA,EAAAA,GAAiBwpB,oBACd,qCACI,cAACypB,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,MAArB,SACI,cAACphE,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAAGj/B,MAAI,EAA9C,SACI,sBAAK4B,UAAU,sBAAsB3D,MAAO,CAAEsuD,MAAO,SAArD,kBAEc,OAAT7d,QAAS,IAATA,OAAA,EAAAA,EAAWsE,gBACR,sCACoB,OAAfllB,SAAe,IAAfA,QAAA,EAAAA,GAAiBwpB,oBACd,cAAC,IAAD,CAAY11C,UAAU,QAAQ4T,KAAM2uD,KAAU16D,MAAM,OAAOhL,QAAS,kBAAMg6B,EAAUn1B,EAAKqmC,UAAW,WAEvG+E,EAAUqE,aAAe,KACtB,oCACoB,OAAfjlB,SAAe,IAAfA,QAAA,EAAAA,GAAiBs2C,WACd,cAAC,IAAD,CACIxiE,UAAU,QACV4T,KAAMC,KACNhM,MAAM,UACNhL,QAAS,kBAAMulE,EAAe1gE,EAAKqmC,UAAW,mBAElD,QAGI,OAAf7b,SAAe,IAAfA,QAAA,EAAAA,GAAiBu2C,oBACd,cAAC,IAAD,CACIziE,UAAU,QACV4T,KAAMC,KACNhM,MAAM,YACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKqmC,UAAW,iBAGjC,OAAf7b,SAAe,IAAfA,QAAA,EAAAA,GAAiBw2C,mBACd,cAAC,IAAD,CACI1iE,UAAU,QACV4T,KAAMmsB,KACNl4B,MAAM,gBACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKqmC,UAAW,0BAGjC,OAAf7b,SAAe,IAAfA,QAAA,EAAAA,GAAiBy2C,gBACd,cAAC,IAAD,CACI3iE,UAAU,QACV4T,KAAM+sB,KACN94B,MAAM,aACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKqmC,UAAW,yBAKzD,cAAC,IAAD,CACI/nC,UAAU,QACV4T,KAAM2sC,IACN14C,OAAgB,OAATilC,QAAS,IAATA,OAAA,EAAAA,EAAWsE,eAAgB,UAAY,YAC9Cv0C,QAAS,kBAAMulE,EAAe1gE,EAAKqmC,UAAW,8BAK9D,eAACo3B,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,MAA3B,UACI,cAACphE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAxB,SACI,cAAC,KAAD,CAAwBvB,QAASykE,EAAcjlE,MAAO,CAAEI,OAAQ,UAAWkuD,MAAO,QAASxsD,QAAS,QAExG,cAACykE,GAAA,EAAD,CAAUC,GAAIr0D,EAAd,SACI,cAACxQ,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAlB,SACI,sBAAK4B,UAAU,sBAAsB3D,MAAO,CAAEsuD,MAAO,SAArD,kBAEc,OAAT7d,QAAS,IAATA,OAAA,EAAAA,EAAWsE,gBACR,qCACI,cAAC,IAAD,CAAYpxC,UAAU,QAAQ4T,KAAM2uD,KAAU16D,MAAM,OAAOhL,QAAS,kBAAMg6B,EAAUn1B,EAAKqmC,UAAW,WACnG+E,EAAUqE,aAAe,KACtB,oCACoB,OAAfjlB,SAAe,IAAfA,QAAA,EAAAA,GAAiBs2C,WACd,cAAC,IAAD,CACIxiE,UAAU,QACV4T,KAAMC,KACNhM,MAAM,UACNhL,QAAS,kBAAMulE,EAAe1gE,EAAKqmC,UAAW,mBAElD,QAGI,OAAf7b,SAAe,IAAfA,QAAA,EAAAA,GAAiBu2C,oBACd,cAAC,IAAD,CACIziE,UAAU,QACV4T,KAAMC,KACNhM,MAAM,YACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKqmC,UAAW,iBAGjC,OAAf7b,SAAe,IAAfA,QAAA,EAAAA,GAAiBw2C,mBACd,cAAC,IAAD,CACI1iE,UAAU,QACV4T,KAAMmsB,KACNl4B,MAAM,gBACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKqmC,UAAW,0BAGjC,OAAf7b,SAAe,IAAfA,QAAA,EAAAA,GAAiBy2C,gBACd,cAAC,IAAD,CACI3iE,UAAU,QACV4T,KAAM+sB,KACN94B,MAAM,aACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKqmC,UAAW,yBAKzD,cAAC,IAAD,CACI/nC,UAAU,QACV4T,KAAM2sC,IACN14C,OAAgB,OAATilC,QAAS,IAATA,OAAA,EAAAA,EAAWsE,eAAgB,UAAY,YAC9Cv0C,QAAS,kBAAMulE,EAAe1gE,EAAKqmC,UAAW,uCAmEYmrB,UAAWA,MAE7E,cAACl1D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAAC,GAAD,CACIuzD,SAAQ,OAAEn0B,QAAF,IAAEA,OAAF,EAAEA,EAAWsE,cACrBvvC,UAAWxG,EAAM0sC,UACjBm3B,WAAYjnC,EACZiT,YAAaA,EACb61B,kBAAmB9xB,EACnBlH,UAAW1sC,EAAM0sC,UACjBwtB,YAAal6D,EAAMk6D,iBAGjB,OAATzoB,QAAS,IAATA,OAAA,EAAAA,EAAWsE,gBACR,qCACwC,KAAnClG,EAAYN,qBACT,cAAC5sC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAAC,GAAD,CACI7L,UAAWxG,EAAM0sC,UACjBm3B,WAAYjwB,EACZ/D,YAAaA,EACbnD,UAAW1sC,EAAM0sC,UACjBwtB,YAAal6D,EAAMk6D,gBAI/B,cAACv3D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAAC,GAAD,CACI7L,UAAWxG,EAAM0sC,UACjB2H,OAAQ5wC,EAAM4wC,OACd2nB,SAAUv4D,EAAM6wC,gBAChB6oB,YAAan9D,EAAMm9D,2BAQ/C,cAACx6D,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,GAAI2e,GAAI,EAAvB,UACMg2C,GACE,cAACrkE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,GAAInuB,QAAS,EAApD,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,UAAW,QAArD,UACI,cAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAAC,GAAD,CACIynD,MAAOr2D,EAAMupC,UACbN,UAAW1sC,EAAM0sC,UACjB7e,aAAc8M,EACd+8B,YAhGpC,qBAAK12D,MAAOmgC,GAAUgZ,OAAtB,SACI,qBAAKn5C,MAAOmgC,GAAU/gC,MAAtB,SACI,cAACuC,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAED,WAAY,UAArC,SACI,cAAC4B,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC/B,MAAO,CAAED,WAAY,UAAxC,SACI,cAACoM,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAOmgC,GAAU07B,OAA5D,+BA6FoBprB,UAAWA,EACXY,WAAYA,EACZ6nB,YAAal6D,EAAMk6D,gBAG3B,cAACv3D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACM20D,GAAW,cAAC,GAAD,CAAgBtlD,KAAMrb,EAAKogE,mBAAoBvM,YAAal6D,EAAMk6D,0BAsE3G,sBAAKv1D,UAAU,QAAf,UACK0B,EAAK2sB,KAAO,cAAC,GAAD,CAAgB0Z,UAAWrmC,EAAKqmC,UAAW7e,aAAc8M,IAAiB,KACtFt0B,EAAKkgE,mBAAqB,cAAC,GAAD,CAAmB75B,UAAWrmC,EAAKqmC,UAAWnsC,QAAS,kBAAMo6B,OAAmB,KAC1Gt0B,EAAKygE,gBAAkB,cAAC,GAAD,CAAgBp6B,UAAWrmC,EAAKqmC,UAAWnsC,QAAS,kBAAMo6B,OAAmB,KACpGt0B,EAAKqgE,UAAY,cAAC,GAAD,CAAmBh6B,UAAWrmC,EAAKqmC,UAAWnsC,QAAS,kBAAMo6B,OAAmB,KACjGt0B,EAAKsgE,iBACF,cAAC,GAAD,CAAqB5B,cAAetzB,EAAUsE,cAAerJ,UAAWrmC,EAAKqmC,UAAWnsC,QAASo6B,IACjG,KACHt0B,EAAK6pD,aACF,cAAC/vD,GAAA,EAAD,CACIC,MAAK,UAAKqxC,EAAUqE,aAAe,SAAW,MAAzC,kBAAwDryC,EAAMupC,WACnEzsC,QAAS,kBAAMoxD,GAAc,IAC7BnxD,SAAS,KACTC,SAAS,OAJb,SAMI,cAAC,GAAD,CAAQisC,UAAWrmC,EAAKqmC,UAAWggB,OAAQjb,EAAUqE,aAAcA,aAAcrE,EAAUqE,aAAcv1C,QAASoxD,MAEtH,eAcThgC,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAsBA,QCn0BrBynE,GAAqBl9C,0BAErBm9C,GAAgB,SAAC1nE,GAAW,IAAD,EACpC,EAA6CyB,eAArC6J,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,iBACpBslB,EAAkB9sB,IAAW+sB,gBACjC,EAA0B9uB,oBAAQ,GAC9BgxB,MAAM,EACN20C,YAAY,EACZn8D,YAAY,EACZ07C,SAAU,GACVZ,OAAQ,KACRmC,UAAgC,YAArBzoD,EAAMsnD,WAA2B,eAAsC,cAArBtnD,EAAMsnD,WAA6B,kBAAoB,GACpHkB,gBAAiB,GACjBD,YAAY,EACZ33C,OAAQ,GACRw2C,cAAe,KACfV,WAAY,KACZgC,sBAAuB,GACvBkf,aAAc,GACdjf,0BAA2B,GAC3BC,yBAA0B,IAfI,sCAgBP,KAhBO,mCAiBX5oD,EAAMsnD,WAA0CtnD,EAAMioD,cAjB3C,6BAkBjB,GAlBiB,qCAmBT,GAnBS,uCAoBPjoD,EAAMsnD,WAA0CtnD,EAAMkH,gBApB/C,2BAqBlBlH,EAAMsH,YArBY,2BAsBlBtH,EAAMoH,YAtBY,IAAlC,mBAAO3D,EAAP,KAAcxB,EAAd,KAwBMsnD,EAAsB,uCAAG,gCAAArlD,EAAA,6DAEvB2jE,GAAgB,EACG,aAAnB7nE,EAAMimD,WACN6hB,EAAO,qCAAiC9nE,EAAMimD,SAAvC,sBAA6DjmD,EAAMooD,eAC1Eyf,EAAa,OAAGh3C,QAAH,IAAGA,OAAH,EAAGA,EAAiBk3C,uBAEd,YAAnB/nE,EAAMimD,WACN6hB,EAAO,sCAAkC9nE,EAAMsG,WAE5B,YAAnBtG,EAAMimD,WACN6hB,EAAO,qCAAiC9nE,EAAMimD,SAAvC,qBAA4DjmD,EAAM2vD,cACzEkY,EAAa,OAAGh3C,QAAH,IAAGA,OAAH,EAAGA,EAAiBm3C,sBAEd,kBAAnBhoE,EAAMimD,WACN6hB,EAAO,qCAAiC9nE,EAAMimD,SAAvC,2BAAkEjmD,EAAM4vD,iBAC/EiY,EAAa,OAAGh3C,QAAH,IAAGA,OAAH,EAAGA,EAAiBo3C,4BAEd,cAAnBjoE,EAAMimD,WACN6hB,EAAO,qCAAiC9nE,EAAMimD,SAAvC,uBAA8DjmD,EAAMqkB,YAC3EwjD,EAAa,OAAGh3C,QAAH,IAAGA,OAAH,EAAGA,EAAiBq3C,wBAEd,SAAnBloE,EAAMimD,WACN6hB,EAAO,qCAAiC9nE,EAAMimD,SAAvC,kBAAyDjmD,EAAMomD,QAG1EnkD,GAAS,SAACuP,GAAD,mBAAC,eAAYA,GAAb,IAAgB2F,SAAU2wD,EAASD,cAAeA,OA1BhC,UA4BVthB,KA5BU,SA4BvB8Z,EA5BuB,QA6BlBv2D,SACL7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+jE,aAAcvH,EAAKh6D,KAAK8hE,uBAEvDlmE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAlCS,4CAAH,qDAsC5B,EAAkClS,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA7Z,oBAAS,sBAAC,8BAAAM,EAAA,yDACFlE,EAAMimD,UACNhkD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBujD,cAAepnD,EAAMooD,cAAe1B,WAAY1mD,EAAM0mD,WAAYE,eAAgB5mD,EAAM4mD,qBAEnH5mD,EAAMqoD,OAJJ,gCAKc5B,GAAYzmD,EAAMqoD,OAAQroD,EAAMimD,SAAUjmD,EAAMooD,cAAepoD,EAAM0mD,YALnF,OAKEhhD,EALF,OAMI4iD,EAAW5iD,EAAIW,KACrBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyiD,OAAQgC,EAAShC,OACjBiC,WAAYD,EAASC,WACrBC,gBAAiBF,EAASE,gBAC1B9B,WAAY4B,EAAS5B,YAAc1mD,EAAM0mD,WACzCE,eAAgB0B,EAAS1B,gBAAkB5mD,EAAM4mD,eACjD6B,UAAWH,EAASG,UACpBC,sBAAuBJ,EAASI,sBAChCC,0BAA2BL,EAASK,0BAA4B9uC,KAAOyuC,EAASK,2BAA2B7uC,OAAO,oBAAsB,IACxI8uC,yBAA0BN,EAASM,yBAA2B/uC,KAAOyuC,EAASM,0BAA0B9uC,OAAO,oBAAsB,SAjBvI,OAoBNyvC,IApBM,2CAqBP,CAACvpD,EAAMooD,gBAEV,IAyBMt2C,EAAc,WAChB,IAAQ22C,EAA2GhlD,EAA3GglD,UAAWD,EAAgG/kD,EAAhG+kD,gBAAiBV,EAA+ErkD,EAA/EqkD,sBAAuBiB,EAAwDtlD,EAAxDslD,YAAaF,EAA2CplD,EAA3ColD,kBAAmBhB,EAAwBpkD,EAAxBokD,oBACvF91C,GAAc,EACdnB,EAAS,GAsBb,MArBK,QAAQqB,KAAKu2C,KACd53C,EAAO43C,gBAAkB,oCACzBz2C,GAAc,GAEb,QAAQE,KAAKw2C,KACd73C,EAAO63C,UAAY,8BACnB12C,GAAc,GAEdg3C,IACKF,IACDj4C,EAAOi4C,kBAAoB,2BAC3B92C,GAAc,IAGlB81C,IACKC,IACDl3C,EAAOk3C,sBAAwB,2BAC/B/1C,GAAc,IAGtB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGL6b,EAAY,uCAAG,WAAOw6C,GAAP,mBAAAlkE,EAAA,0DACb4N,IADa,wBAGbK,EAAW,CACPs2C,UAAWhlD,EAAMglD,UACjBD,gBAAiB/kD,EAAM+kD,gBACvBD,WAAY9kD,EAAM8kD,WAClBnB,cAAe3jD,EAAM2jD,cACrBR,eAAgBnjD,EAAMmjD,eACtBF,WAAYjjD,EAAMijD,WAClBJ,OAAQ7iD,EAAM6iD,OACd2C,aAAcjpD,EAAMimD,SACpByC,sBAAuBjlD,EAAMilD,sBAC7BC,0BAA2D,MAAhCllD,EAAMilD,sBAAgCjlD,EAAMklD,0BAA4B,GACnGC,yBAA0D,MAAhCnlD,EAAMilD,sBAAgCjlD,EAAMmlD,yBAA2B,IAEjGM,EAAS,GACTzlD,EAAMslD,aAAetlD,EAAMokD,oBAC3BqB,EAASzlD,EAAMqkD,sBAAwB,IAAMrkD,EAAMolD,kBAC5CplD,EAAMokD,oBACbqB,EAASzlD,EAAMqkD,sBACRrkD,EAAMslD,cACbG,EAASzlD,EAAMolD,mBAEI,YAAnB7oD,EAAMimD,WACN9zC,EAAQ,kBAAwB+2C,EAChC/2C,EAAQ,YAAkB1O,EAAMslD,aAAetlD,EAAMokD,qBAEzDpqC,GAAa,GA5BA,SA6BG+oC,GAAcr0C,GA7BjB,QA6BTzM,EA7BS,QA8BLoE,SACJyB,EAAiB,6BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAEvBsR,GAAa,GApCA,4CAAH,sDAwCZ4qD,EAAkB,uCAAG,WAAOhiE,GAAP,iBAAAnC,EAAA,6DACjBiO,EAAW,CACbs2C,UAAWhlD,EAAMglD,UACjBD,gBAAiB/kD,EAAM+kD,gBACvBD,YAAY,EACZnB,cAAe3jD,EAAM2jD,cACrBV,WAAYjjD,EAAMijD,WAClBJ,OAAQ7iD,EAAM6iD,OACd2C,aAAcjpD,EAAMimD,UARD,SAUPO,GAAcr0C,GAVP,QAUnBzM,EAVmB,QAWfoE,SACJyB,EAAiB,+BACjBvL,EAAMsoE,cAAa,IAEnBh9D,EAAe5F,EAAIyG,SAfA,2CAAH,sDAmBlB0F,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KACrBzK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAcG/B,EAAK,UAAMqD,EAAM6iD,OAAS,SAAW,MAAhC,YAA4D,kBAAnBtmD,EAAMimD,SAA+B,gBAAkBjmD,EAAMimD,SAAtG,UACLsiB,EAAW,6BAA4C,kBAAnBvoE,EAAMimD,SAA+B,gBAAkBjmD,EAAMimD,SAAtF,UACjB,OACI,cAACwhB,GAAmB35C,SAApB,CACI3rB,MAAO,CACHsB,QACA+3B,UAvIM,SAACpiB,GACfnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACNszB,OAAQltC,QAoIJovD,aAhIS,SAACpvD,GAClBnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8jE,YAAY,EACZrhB,OAAQltC,QA6HJ02C,eAzHW,SAACpqD,GACpBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN20C,YAAY,OAEhBjiE,GAAO6jD,KAoHCnpD,QACAmoE,cACA36C,eACAy6C,qBACAx2D,cACAkc,eA1BW,SAACjiB,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAwB5B6a,WAnBO,SAACpkB,GAChB3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SAmB3B4T,aAbR,SAgBKxd,EAAMK,YC7Ob4vB,GAAa,SAACjwB,GAIhB,OACI,qCACI,cAACmE,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,QAC1B,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,WAA3B,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAASnT,EAAMkwB,SAAUzjB,SAAUzM,EAAMowB,cAAexmB,KAAM5J,EAAMqwB,QAAS5hB,SAAUzO,EAAMyO,aAEpH,cAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIuP,YAAavS,EAAMwM,MACnBrK,MAAOnC,EAAMswB,SACb7jB,SAAUzM,EAAM6R,YAChBjI,KAAM5J,EAAMmwB,QACZ1hB,SAAUzO,EAAMyO,WAAazO,EAAMkwB,SACnCxjB,KAAM1M,EAAM8mD,WAAa,kBAQ3C2hB,GAAe,SAACzoE,GAClB,MAAoF2B,qBAAW8lE,IAAvFhkE,EAAR,EAAQA,MAAO+Z,EAAf,EAAeA,UAAWoQ,EAA1B,EAA0BA,aAAc/b,EAAxC,EAAwCA,YAAakc,EAArD,EAAqDA,eAAgBC,EAArE,EAAqEA,WAErE,OACI,eAACrrB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CAAWmO,YAAY,aAAapQ,MAAOsB,EAAMglD,WAAa,GAAIh8C,SAAUoF,EAAajI,KAAK,cAC9F,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO63C,eAExC,eAAC9lD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,yBACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,cACZpQ,MAAOsB,EAAM+kD,gBACb/7C,SAAUoF,EACVjI,KAAK,kBACL2C,YAAW9I,EAAMglD,YAErB,cAACrjD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO43C,qBAEpB,YAAnBxoD,EAAMimD,UACH,eAACtjD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAAC,GAAD,CACIwJ,MAAM,wBACN6jB,QAAQ,cACRH,SAAUzsB,EAAMslD,YAChB34B,cAAerC,EACfoC,QAAQ,oBACRG,SAAU7sB,EAAMolD,kBAChBh3C,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,UAChBrC,UAAU,WAEd,cAAC1hD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOi4C,uBAGxB,YAAnB7oD,EAAMimD,UACH,eAACtjD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAACosB,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,wBAAwBxQ,KAAK,wBAAwBzH,MAAOsB,EAAMilD,sBAAuBj8C,SAAUoF,EAA9H,SACKpO,EAAMmkE,aAAar+D,KAAI,SAACm0B,EAAG4mB,GAAJ,OACpB,cAAC7zB,GAAA,EAAD,CAA8Btd,QAAS1P,EAAMilD,wBAAN,UAAmChrB,EAAEr8B,IAAMc,MAAOu7B,EAAEr8B,GAAIqvB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAOkxB,EAAE9zB,MAArG06C,WAKN,MAAhC7gD,EAAMilD,sBACH,eAAC/lD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAIxP,QAAS,EAAG8B,UAAU,mBAAmB3D,MAAO,CAAEyD,UAAW,SAAlG,UACI,eAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAAC,IAAD,CACImO,YAAY,oBACZpQ,MAAOsB,EAAMklD,0BACbl8C,SAAUoF,EACVjI,KAAK,iCAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CACImO,YAAY,kBACZpQ,MAAOsB,EAAMmlD,yBACbn8C,SAAUoF,EACVjI,KAAK,2BACL40C,WAAY,CAAEttB,WAAY,CAAE6oB,IAAI,GAAD,OAAKt2C,EAAMklD,kCAGlD,cAACvjD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOg4C,8BAExC,KACgB,SAAnB5oD,EAAMimD,SACH,cAACtjD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAtC,SACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiB0b,YAAalB,EAAWhc,QAAS,kBAAMosB,GAAa,IAAQxqB,WAAS,EAAtF,sBAWR,cAACT,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiB0b,YAAalB,EAAWhc,QAASosB,EAAcxqB,WAAS,EAACuB,UAAU,aAApF,wBAgBLgtB,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAkBA,QClIxB0oE,GAAc,SAAC1oE,GACnB,MAAiF2B,qBAAW8lE,IAAlCY,GAA1D,EAAQ5kE,MAAR,EAAemqB,aAAf,EAA6B/b,YAA7B,EAA0Ckc,eAA1C,EAA0Ds6C,oBAC1D,OACE,eAAC1lE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACE,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACE,cAAC,IAAD,CAAiBxB,QAAS6mE,EAAoB1jE,UAAU,aAAxD,mBAIF,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACE,cAAC,IAAD,CACExB,QAAS,WACPxB,EAAMsoE,gBAER3jE,UAAU,aAJZ,sBAoBOgtB,GAPA,SAAC3xB,GACd,OACE,cAAC,GAAD,2BAAmBA,GAAnB,aACE,cAAC,GAAD,eAAiBA,QCrBjB8yB,GAAc,CAChB,CAAE1kB,IAAK,YAAaxE,KAAM,SAC1B,CAAEwE,IAAK,kBAAmBxE,KAAM,eAChC,CAAEwE,IAAK,4BAA6BxE,KAAM,aAAc+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,KAC1G,CAAES,IAAK,2BAA4BxE,KAAM,WAAY+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,MAG9Fg7D,GAAgB,SAAC3oE,GAC1B,MAAmG2B,qBAAW8lE,IAAtGhkE,EAAR,EAAQA,MAAO+3B,EAAf,EAAeA,UAAWs0B,EAA1B,EAA0BA,eAAgB1vD,EAA1C,EAA0CA,MAAOooE,EAAjD,EAAiDA,aAAcD,EAA/D,EAA+DA,YAAaF,EAA5E,EAA4EA,mBACtEpB,EAAmBj5D,eAAnBi5D,eACFp2C,EAAkB9sB,IAAW+sB,gBAE3BuC,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,SAEQ,qCACI,cAAC,IAAD,CAAY9wB,QAAS,kBAAMg6B,EAAU9mB,EAAIk0D,SAASjwD,aAAa,eAC7DsuD,GAAkB,cAAC,IAAD,CAAczlE,QAAS,kBAAMgnE,EAAa9zD,EAAIk0D,SAASjwD,aAAa,sBAM5GmU,QAAQC,IAAItpB,EAAMokE,cAAe,iBACjC,IAAMt0D,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IAUrB,OARmB,OAAfjC,QAAe,IAAfA,OAAA,EAAAA,EAAiB0gC,eAAgB9tD,EAAMokE,eACvC/rD,EAAS4f,OAAO,EAAG,EAAG,CAClBttB,IAAK,SACLxE,KAAM,SACN+D,MAAO,KACPgH,UAAW0e,IAGZvX,IACR,CAACrY,EAAMokE,gBACJgB,EAAY,cAA6B,kBAAnB7oE,EAAMimD,SAA+B,gBAAkBjmD,EAAMimD,SAAvE,UAClB,OACI,gCACI,cAAC,GAAD,CACI1yC,QAASA,EACT4C,OAAQ1S,EAAM0T,SACdC,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAKyiE,SAClB5sD,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAU7U,EAAMokE,cAAgBgB,EAAe,GAC/CpwD,WAAY,kBAAM+iB,EAAU,SAE/B/3B,EAAMuvB,KACH,cAAC7yB,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMuvD,GAAe,IAAQtvD,SAAS,KAAzE,SACI,cAAC,GAAD,aAAc6nD,OAAQ5kD,EAAM6iD,OAAQz4B,aAAc,kBAAMiiC,GAAe,KAAW9vD,MAEtF,KACHyD,EAAMkkE,WACH,cAACxnE,GAAA,EAAD,CAAYC,MAAOmoE,EAAahoE,QAAS,kBAAMuvD,GAAe,IAAQtvD,SAAS,KAA/E,SACI,cAAC,GAAD,aAAa6nD,OAAQ5kD,EAAM6iD,OAAQgiB,aAAc,kBAAMxY,GAAe,IAAOjiC,aAAc,kBAAMw6C,MAA0BroE,MAE/H,SAYD2xB,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAmBA,QCtDzBkqD,GAAgB,SAAClqD,GACnB,MAA0BgC,mBAAS,CAAEgxB,MAAM,IAA3C,mBAAOvvB,EAAP,KAAcxB,EAAd,KACA,EAA2EjC,EAAMoqD,KAAzEA,EAAR,EAAQA,KAAMC,EAAd,EAAcA,UAAWC,EAAzB,EAAyBA,YAAa4E,EAAtC,EAAsCA,WAAYC,EAAlD,EAAkDA,SAAU7I,EAA5D,EAA4DA,OAAQ8I,EAApE,EAAoEA,GAChEC,EAAgBH,GAAcC,EAC5Bx0B,EAAa,SAACj1B,GAChBzD,EAAS,CAAE+wB,MAAM,IACjBttB,GAAO1F,EAAM6tB,cAAa,IAO9B,OACI,qCACKpqB,EAAMuvB,KACH,cAAC,GAAD,CACIi1B,YAAajoD,EAAMioD,YACnBrB,eAAgB5mD,EAAM4mD,eACtBtgD,SAAUtG,EAAMsG,SAChB+hD,OAAQ/B,EACRL,SAAS,UACTqB,WAAW,YACXhgD,WAAYtH,EAAMsH,WAClB/G,QAAS,kBAAMo6B,GAAW,IAC1BvzB,WAAYpH,EAAMoH,WAClBmjD,WAAW,wBACXrjD,cAAelH,EAAMkH,cACrB2mB,aAAc,kBAAM8M,GAAW,MAEnC,KACJ,sBAAKh2B,UAAU,cAAf,UACI,qBACIA,UAAU,MACV3D,MAAK,aAAIqZ,SAAU,GAAI8vC,UAAW,WAAekF,GAAiB,CAAEnsD,MAAO,UAAW9B,OAAQ,YAC9FI,QA3BE,WACT6tD,GACDptD,EAAS,CAAE+wB,MAAM,KAsBb,SAKKo3B,IAEL,qBAAKzlD,UAAU,SAAS3D,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,OAAQ60C,MAAO,QAA7G,SACKz1C,KAAOu1C,GAAIt1C,OAAO,SAEvB,sBAAKnV,UAAU,SAAS3D,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,QAAS60C,MAAO,SAA9G,UACKjF,EADL,MACmBxwC,KAAOywC,GAAaxwC,OAAO,QACxCo1C,GAAcC,IAAf,uBAA4CA,EAA5C,cAA0Dt1C,KAAOq1C,GAAYp1C,OAAO,OAApF,SAEL,uBACA,oBAAI9Y,MAAO,CAAE0pD,QAAS,gBAMhCqe,GAAoB,SAAC/oE,GAAW,IAAD,UACjC,EAA4G2B,qBAAW2yD,IAA/GO,EAAR,EAAQA,aAAcK,EAAtB,EAAsBA,aAA6BT,GAAnD,EAAoCviD,cAApC,EAAmDuiD,UAAUc,EAA7D,EAA6DA,eAAgB7F,EAA7E,EAA6EA,UAAWoF,EAAxF,EAAwFA,gBACxF,EAA0B9yD,mBAAS,IAAnC,mBAAOyB,EAAP,KAAcxB,EAAd,KACQ0xC,EAAc3lC,eAAd2lC,UACFsP,EAAWtP,EAAUh8B,SAAS,UAC9B+7B,EAAaC,EAAUh8B,SAAS,YAChC83C,EAAa9b,EAAUh8B,SAAS,YAChC63C,EAAiB7b,EAAUh8B,SAAS,gBACpC9I,EAAU8b,eACZkG,EAAkB9sB,IAAW+sB,gBAE3Bg/B,EAAiB,SAACpqD,GACpBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN+8B,sBAAsB,OAE1BrqD,GAAOgqD,KAGLO,EAAgB,SAACvqD,GACnBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqsD,cAAc,EACda,sBAAsB,OAG1BrrD,GAAO6vD,KAGL1E,EAAyB,SAACnrD,GAC5BzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+gD,oBAAoB,OAEpBl/C,GACAmJ,EAAQC,KAAK,CACTwkB,SAAS,uBACTzjB,OAAQ,GACRpM,MAAO,MAKbusD,EAAW,SAACh9B,GACd/wB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJmvB,GAAO,QAIVo9B,EAAmB,SAAC9xB,GACtBr8B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJy6B,GAAa,QAGtB,SAASgyB,EAAWvkD,GAChB,OAAOA,EAAM,MAAQ,MAeO,OAAZ8oD,QAAY,IAAZA,OAAA,EAAAA,EAAc3N,YAAd,OAAyB2N,QAAzB,IAAyBA,GAAzB,UAAyBA,EAAc3N,SAAS,UAAhD,OAAyB,EAA2BZ,QAC3D,OAAGuO,QAAH,IAAGA,GAAH,UAAGA,EAAc3N,gBAAjB,iBAAG,EAAwB1zC,MAAK,SAACw1D,GAAD,OAAsB,OAAfA,EAAE7Z,mBAAzC,OAAG,EAA0D7I,OAC1E,OACI,sBAAK3hD,UAAU,oBAAoB3D,MAAO,CAAEyD,WAAY,GAAI3B,QAAS,IAArE,UACK+xD,EAAa3+C,SACV,cAAC,GAAD,IAEA,qCACK2+C,EAAa5D,sBACV,cAAC,GAAD,CAAe5qD,KAAMwuD,EAAc3D,gBAAiBlxD,EAAMkxD,gBAAiBqE,eAAgBA,EAAgBh1D,QArB3G,WAChBu0D,GAAgB,SAACjxD,GAAD,mBAAC,eAAaA,GAAd,IAAkBotD,uBAAuB,OACzDjxD,EAAMO,aAoBU,KACJ,eAACoC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACKgyD,EAAanB,mBAAmBnqD,KAAI,SAACrF,EAAGogD,GAAJ,OACjC,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC8/C,GAAD,CAAoBz8C,KAAMnC,EAAGi5C,SAAU0X,EAAchQ,gBAAiB0Q,EAAgBnY,UAAU,KAD5EkH,MAI5B,eAAC3hD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIH,QAAS,EAAtC,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAIw+B,EAAiB,GAAK,EAArD,UAwBI,eAAC7sD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqV,QAAQ,gBAAgBrX,MAAO,CAAEq9C,WAAY,OAAS15C,UAAU,uBAA7F,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,eAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,2BAEI,sBAAMlC,MAAO,CAAEC,SAAU,WAAY4uB,IAAK,OAAQ7V,KAAM,OAAxD,SACI,cAAC,KAAD,CACIlG,SAAU2gD,EACVxgD,uBAAuB,eACvBF,UAAW8gD,EAAa9gD,mBAKxC,eAACpR,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEq9C,WAAY,EAAG2S,cAAe,EAAGM,aAAc,GAAnE,WACMuD,EAAa/e,eAAiBmN,IAAavP,IAAe8b,GACxD,cAAC,IAAD,CACIj3C,KAAMC,KACNhM,MAAM,UACNhL,QAAS,kBAAM4uD,EAAiB,iBAChCpvD,MAAO,CAAE0X,WAAY,OAAQ5Y,YAAa,OAGhDmjD,IAAavP,IAAe8b,GAC1B,qCACKqF,EAAa5D,wBAA0BjxD,EAAMkxD,gBAC1C,cAAC,IAAD,CACI34C,KAAMC,KACNhM,MAAM,aACNhL,QAAS,kBAAM4uD,EAAiB,yBAChCpvD,MAAO,CAAE0X,WAAY,OAAQ5Y,YAAa,MAE9C,KACJ,cAAC,IAAD,CACIyY,KAAM2sC,IACN14C,MAAM,gBACNhL,QAAS,kBAAM4uD,EAAiB,uBAChCpvD,MAAO,CAAE0X,WAAY,mBAMzC,eAAC/V,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,UACI,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEioE,UAAW,OAAQnmE,QAAS,GAAK6B,UAAU,wBAAvE,SAEI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,KAAKnC,MAAO,CAAE0X,WAAY,KAA9C,UACK,UAAAm8C,EAAaptD,yBAAb,eAAgCywC,gBAAiB,WAG1D,eAACv1C,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,uBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B0xD,EAAa5C,gBAAkB,YAEjE,eAACtvD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,oCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B0xD,EAAaH,4BAA8B,YAE7E,eAAC/xD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,8BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B0xD,EAAa9tD,gBAAkB,eAGrE,eAACpE,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,wBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,qBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B0xD,EAAaluD,eAAiB,YAEhE,eAAChE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B0xD,EAAa1tD,mBAAqB,YAEpE,eAACxE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SACK6M,IAAW6iB,qBAAqBgiC,EAAa5tD,sBAAwB,eAIlF,eAACtE,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,uBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B0xD,EAAaxtD,kBAAoB,YAEnE,eAAC1E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,0BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SACK6M,IAAW6iB,qBAAqBgiC,EAAattD,wBAA0B,YAIhF,eAAC5E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B0xD,EAAaD,oBAAsB,eAGzE,eAACjyD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,wBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,qCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B0xD,EAAaW,6BAA+B,YAE9E,eAAC7yD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAaH,0BAE1D,eAACpyD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,gCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAaF,gCAG9D,eAACryD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,uBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,+BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAavtD,4BAE1D,eAAChF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAartD,0BAE1D,eAAClF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAaptD,mBAG9D,eAACnF,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,wBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,kCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAaD,6BAE1D,eAACtyD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,iCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAajtD,+BAE1D,eAACtF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,iCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B0xD,EAAa1sD,0BAA4B,eAG/E,eAACxF,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,uBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,8BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAa7sD,2BAE1D,eAAC1F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,iCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B0xD,EAAatsD,0BAA4B,YAE3E,eAAC5F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2CACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAazsD,kCAG9D,eAAC9F,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,wBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAatsD,0BAE1D,eAACjG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B+xD,EAAa7D,gCAE/C,eAAC1uD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,8BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAantD,6BAG9D,eAACpF,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,uBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,iCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAalsD,8BAE1D,eAACrG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAahsD,yBAE1D,eAACvG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BmtD,EAAW4E,EAAa9rD,gCAMpEomD,GACE,eAAC7sD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,EAA/B,UACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqV,QAAQ,gBAAgBrX,MAAO,CAAEq9C,WAAY,OAAS15C,UAAU,uBAA7F,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,4BAIJ,eAACP,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEq9C,WAAY,EAAG2S,cAAe,EAAGM,aAAc,GAAnE,UASK7B,IAAU,OAAI5+B,QAAJ,IAAIA,OAAJ,EAAIA,EAAiB0gC,eAC5B,cAAC,IAAD,CACIh5C,KAAMC,KACNhM,MAAM,wBACNhL,QAAS,kBAAMwuD,EAAS,SACxBhvD,MAAO,CAAE0X,WAAY,OAAQ5Y,YAAa,MAGjD2vD,IAAU,OAAI5+B,QAAJ,IAAIA,OAAJ,EAAIA,EAAiB0gC,eAC5B,cAAC,IAAD,CACIh5C,KAAMC,KACNhM,MAAM,YACNhL,QAAS,kBAAMwuD,EAAS,yBACxBhvD,MAAO,CAAE0X,WAAY,gBAQrC,cAAC/V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE8B,QAAS,MAAO4vB,UAAW,SAAW/tB,UAAU,aAA5E,mBACKkwD,EAAa3N,gBADlB,aACK,EAAuB39C,KAAI,SAAC8zB,EAAGK,GAAJ,OACxB,mCACI,cAAC,GAAD,CAEI0sB,KAAM/sB,EACN4qB,YAAa4M,EAAartD,YAC1BF,WAAYutD,EAAavtD,WACzBF,WAAYytD,EAAaztD,WACzBF,cAAe2tD,EAAa3tD,cAC5B2mB,aAAc,kBAAMiiC,GAAe,IACnClJ,eAAgBiO,EAAavuD,SAC7BA,SAAUuuD,EAAavuD,UARlBo3B,sBAmB5Cj6B,EAAMuvB,KACH,cAAC,GAAD,CACIi1B,YAAa4M,EAAattD,sBAC1Bq/C,eAAgB6N,EAChBnuD,SAAUmuD,EACVxO,SAAS,UACTqB,WAAW,UACXhgD,WAAYutD,EAAaxtD,iBACzB9G,QAAS,kBAAMuvD,GAAe,IAC9BjiC,aAAciiC,EACd1oD,WAAYytD,EAAa1tD,kBACzBD,cAAe2tD,EAAa5tD,sBAEhC,KACHxD,EAAMssD,qBACH,cAAC,GAAD,CACI9H,YAAa4M,EAAattD,sBAC1Bq/C,eAAgB6N,EAChBnuD,SAAUmuD,EACVxO,SAAS,UACTqB,WAAW,UACXhgD,WAAYutD,EAAaxtD,iBACzB9G,QAAS,kBAAMuvD,GAAe,IAC9BjiC,aAAciiC,EACd1oD,WAAYytD,EAAa1tD,kBACzBD,cAAe2tD,EAAa5tD,sBAEhC,KACHxD,EAAMysD,aACH,cAAC/vD,GAAA,EAAD,CAAYC,MAAK,UAAKy0D,EAAa/e,aAAe,SAAW,MAA5C,QAAyDv1C,QAAS,kBAAM0vD,GAAc,IAAQzvD,SAAS,KAAKC,SAAS,OAAtI,SACI,cAAC,GAAD,CACIisC,UAAWmoB,EAAatuD,gBACxBmmD,OAAQmI,EAAa/e,aACrBA,aAAc+e,EAAa/e,aAC3Bv1C,QAAS0vD,EACT3pD,SAAUmuD,EACVrX,SAAS,aAGjB,KACH35C,EAAMmhD,mBACH,cAACzkD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMswD,GAAuB,IAAQzwD,MAAO,aAAcI,SAAS,KAAK4C,WAAS,EAAlH,SACI,cAAC,GAAD,CAAgBw9C,SAAUiU,EAAavuD,SAAU82C,SAAS,SAAS78C,QAASswD,MAEhF,KACHptD,EAAMstD,qBACH,cAAC5wD,GAAA,EAAD,CAAYC,MAAM,aAAaG,QAAS,kBAAM0vD,GAAc,IAAQzvD,SAAS,KAA7E,SACI,cAAC,GAAD,CAAkBD,QAAS0vD,EAAe9S,SAAU0X,MAExD,SAYDljC,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAuBA,QCpd7BkpE,GAAa,CACf,CAAEt/D,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,cAAe0R,QAAQ,GAC/B,CAAE1R,KAAM,UAAWyR,KAAM,IAAKC,QAAQ,IAGpCwX,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAElE,CACIxG,IAAK,wBACLxE,KAAM,YACNqR,eAAgBjL,IAAWm5D,sBAC3Bx0D,UAAW3E,IAAWo5D,oBACtBz7D,MAAO,MAEX,CACIS,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,MAGX,CAAES,IAAK,oBAAqBxE,KAAM,WAClC,CAAEwE,IAAK,oBAAqBxE,KAAM,cAAe+D,MAAO,MAExD,CAAES,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,QAgS7B07D,GA1RO,SAACrpE,GACnB,IAAI6wB,EAAkB9sB,IAAW+sB,gBACjC,EAA0B9uB,mBAAS,CAC/BwZ,aAAa,EACb8tD,aAAc,KACdhjE,SAAU,KACVmM,KAAM,GACNjH,YAAY,EACZ4xC,SAAU,UACVpqB,MAAM,EACN1c,UAAW,KARf,mBAAO7S,EAAP,KAAcxB,EAAd,KAUI4M,EAAU8b,eACQ3c,eAAd2lC,UACmBh8B,SAAS,UAOpC/T,oBAAS,sBAAC,4BAAAM,EAAA,yDACDlE,EAAM0sC,UADL,qBAEEjpC,EAAM6S,UAAUtE,OAAS,GAF3B,gCAG0B7L,GAAqB1C,EAAM6S,WAHrD,OAGMizD,EAHN,OAIEtnE,GAAS,SAAC4B,GAAQ,IAAD,EAEe,EADxBg8B,EAAK,eAAQh8B,IACjB,UAAI0lE,EAAYljE,YAAhB,aAAI,EAAkB4V,OAClB4jB,EAAM7M,KAAOu2C,EAAYz/D,QACzB+1B,EAAM2pC,gBAAN,UAAwBD,EAAYljE,YAApC,aAAwB,EAAkB4V,KAAK,GAAGzV,WAElDq5B,EAAM7M,MAAO,EAGjB,OAAO6M,KAbb,sBAgBE59B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAM,OAhBnC,OAmBiB,aAAnBhzB,EAAMimD,UACNhkD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELu5C,SAAUp9C,EAAMimD,cAGxBwjB,IAzBM,4CA0BP,CAACzpE,EAAM0sC,UAAWjpC,EAAM6S,YAE3B,IAAMmzD,EAAW,uCAAG,sBAAAvlE,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAmBXyH,EAAa,SAACtV,EAAMqO,GACtB,OACI,cAAC/R,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,KAAD,CACIwV,KAAMmsB,KACNxhC,MAAM,YACNyB,UAAU,6BAEVnD,QAAS,kBAfCuK,EAesB2I,OAd5C7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKzF,SAAnC,mBAA+CyF,QAA/C,IAA+CA,OAA/C,EAA+CA,EAAKxF,iBAC5D9C,MAAO,SAHU,IAACsI,GAgBV4M,aAAa,mBAgBvBib,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMmoE,EAAmBj1D,IAAM1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAIs9C,kBAIb,OADAj8C,IAASC,OAAOgF,EAAKF,GACdA,GAGL8uD,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA/G,SACKhE,EAAI0nC,mBAIb,OADArmC,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI0/B,WAIb,OADAr+B,IAASC,OAAOgF,EAAKF,GACdA,GAGL6uD,EAAqB,SAAC59D,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIxF,iBACzCsJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,cAI1B8f,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNg9C,aAAa,EACb/pB,mBAAmB,EACnB49B,gBAAgB,QAIlBn+C,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAC/Cy7D,EAAe/tD,EAAStI,MAAK,SAACuI,GAAD,MAA6B,qBAAhBA,EAAQ3N,OAuBtD,OAtBIy7D,IACAA,EAAal1D,UAAYi1D,GAEzBx0D,IACAA,EAAUT,UAAYgH,GAErB3b,EAAM0sC,YACF1sC,EAAMy7B,QACP3f,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,WAAYxE,KAAM,gBAAiB+D,MAAO,KAAMgH,UAAW+e,IAG5F5X,EAAS4f,OAAQ17B,EAAMy7B,OAAa,EAAJ,EAAO,EAAG,CAAErtB,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,KAAMgH,UAAW+0D,KAW7G5tD,IACR,IASGV,EAASS,mBAAQ,WACnB,IAAMiuD,EAAU,UAAOZ,IAIvB,OAHIzlE,EAAMsmE,iBACND,EAAWpuC,OAAO,EAAG,EAAG,CAAE9xB,KAAK,iBAAD,OAAmBnG,EAAMwtD,sBAAzB,aAAmDjhD,IAAWouC,kBAAkB36C,EAAMumE,YAAtF,KAAsG1uD,QAAQ,IAEzIwuD,IACR,CAACrmE,EAAM+X,cAyBNyuD,EAAe,wBAAoBjqE,EAAM0sC,UAAN,qBAAgC1sC,EAAM0sC,WAAc,IAAxE,OAA6E1sC,EAAMqkB,WAAN,sBAAkCrkB,EAAMqkB,YAAe,IAEjJwkD,EAAeplE,EAAMuvB,MAAShzB,EAAM0sC,WAAa7b,EAAgBy2C,cAAiB,aAAe,KACjG4C,KAAYlqE,EAAM0sC,YAAa1sC,EAAMqkB,YAC3C,OACI,sBAAK1f,UAAYulE,EAAoB,GAArB,SAAyBlpE,MAAO,CAAEyD,UAAW,GAA7D,UACKhB,EAAM+X,YACH,cAAC,GAAD,CACIlV,SAAU7C,EAAM6C,SAChBomC,UAAW1sC,EAAM0sC,WAAajpC,EAAM6lE,aACpC/oE,QAAS,kBAfEmF,GAesB,EAfjB8qD,EAeuB,cAdnDvuD,GAAS,SAACwB,GAAD,yBAAC,eAAgBA,GAAjB,uBAAyB+sD,GAAY,GAArC,sBAAkD,GAAlD,2BAAoE,GAApE,YACT9qD,GAAO+jE,KAFe,IAAC/jE,EAAK8qD,GAgBhBpT,SAAU35C,EAAM25C,WAEpB35C,EAAMsmE,gBACN,cAAC,GAAD,CACIzjE,SAAU7C,EAAM6C,SAChBomC,UAAW1sC,EAAM0sC,WAAajpC,EAAM6lE,eAMxC,sCACMY,GACE,sBAAKlpE,MAAO,CAAE2M,MAAO,OAAQ7M,QAAS,OAAQC,WAAY,SAAU+wD,aAAc,SAAU7wD,SAAU,WAAY4uB,IAAK,GAAvH,UACI,qBAAK7uB,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,IAAD,CAAayN,OAAQA,EAAQzW,UAAU,6BAF/C,WAKI,qBAAK3D,MAAO,CAAE2M,MAAO,QAArB,SACI,uBAAOjB,KAAK,OAAOD,SArE3B,SAACX,GACjB,IAAM3J,EAAQ2J,EAAEE,OAAO7J,MACvBF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyS,UAAWnU,QAiEmDoQ,YAAY,mBAAmBvR,MAAO,CAAE8B,QAAS,UAIvG,cAAC,GAAD,CACIsU,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQ8zD,EACR3xD,SAAUuwD,EACV3zD,YAAY,WACZjB,uBAAuB,eACvBwE,WAAY,kBAnEVpS,EAmE6B,KAnEvB2Z,EAmE6Bvc,EAAM+lE,gBAnExBhZ,EAmEyC,mBAlE5EvuD,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GAYjB,OAXIwC,IACAw5B,EAAMv5B,SAAWD,EAAKC,SACtBu5B,EAAMypC,aAAejjE,EAAKE,gBAC1Bs5B,EAAMoxB,sBAAwB5qD,EAAK4qD,sBACnCpxB,EAAMmqC,WAAa3jE,EAAK2jE,YAExBhqD,IACA6f,EAAMypC,aAAetpD,GAEzB6f,EAAM2wB,IAAa,EAEZ3wB,KAdM,IAACx5B,EAAM2Z,EAAWwwC,GAoEnBt6C,SAAUzS,EAAMyS,cAI3BzS,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,wBAArD,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBoC,eAAgBlI,aAAcgG,MAE7F,KACHpwB,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBtP,WAAYwJ,aAAcgG,MAEjF,SC/TVzY,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,cAAe0R,QAAQ,GAC/B,CAAE1R,KAAM,aAAcyR,KAAM,+BAAgCC,QAAQ,IAElEwX,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAElE,CACIxG,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,MAEX,CAAES,IAAK,oBAAqBxE,KAAM,WAClC,CAAEwE,IAAK,oBAAqBxE,KAAM,cAAe+D,MAAO,MAIxD,CAAES,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,QAkR7Bw8D,GA9QY,SAACnqE,GACxB,IAAI6wB,EAAkB9sB,IAAW+sB,gBAC7BjiB,EAAU8b,eACd,EAA0B3oB,mBAAS,CAC/BooE,cAAe,GACf9pD,QAAQ,EACR9E,aAAa,EACb6uD,QAAS,KACTf,aAAc,KACdt2C,MAAM,EACN1c,UAAW,KAPf,mBAAO7S,EAAP,KAAcxB,EAAd,KAUsB+L,eAAd2lC,UACmBh8B,SAAS,UAoCpC/T,oBAAS,sBAAC,4BAAAM,EAAA,yDACDlE,EAAM0sC,UADL,qBAEEjpC,EAAM6S,UAAUtE,OAAS,GAF3B,gCAG0B7L,GAAqB1C,EAAM6S,WAHrD,OAGMizD,EAHN,OAIEtnE,GAAS,SAAC4B,GAAQ,IAAD,EAEe,EADxBg8B,EAAK,eAAQh8B,IACjB,UAAI0lE,EAAYljE,YAAhB,aAAI,EAAkB4V,OAClB4jB,EAAM7M,KAAOu2C,EAAYz/D,QACzB+1B,EAAM2pC,gBAAN,UAAwBD,EAAYljE,YAApC,aAAwB,EAAkB4V,KAAK,GAAGzV,WAElDq5B,EAAM7M,MAAO,EAEjB,OAAO6M,KAZb,sBAeE59B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAM,OAfnC,OAmBNs3C,IAnBM,4CAoBP,CAACtqE,EAAM0sC,UAAWjpC,EAAM6S,YAE3B,IAAMg0D,EAA2B,uCAAG,wCAAApmE,EAAA,sDAC5BqmE,EAAiB,GACjBvqE,EAAM0sC,YACN69B,EAAiB,IAEY,WAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,MAEY,WAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,MAEY,SAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,IAGrBtoE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,KACdq2D,eAAgBA,OAlBY,2CAAH,qDAsB7BN,EAAe,6BAAyBjqE,EAAM0sC,UAAN,oBAA+B1sC,EAAM0sC,WAAc,GAA5E,0BAAgGjpC,EAAM8mE,gBAgBnHl3C,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,cAAC/R,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,KAAD,CACIwV,KAAMmsB,KACNxhC,MAAM,YACNyB,UAAU,6BACVgU,aAAa,iBAEbnX,QAAS,kBAhBIuK,EAgBsB2I,OAf/C7F,EAAQC,KAAK,CACTwkB,SAAS,gCAAD,cAAkCvnB,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAKzF,SAAvC,mBAAmDyF,QAAnD,IAAmDA,OAAnD,EAAmDA,EAAKxF,iBAChE9C,MAAO,SAHa,IAACsI,QAgCvB6nB,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAYV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAXMuK,EAWmB2I,OAV3C7F,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIxF,iBACzCsJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAJL,IAAChI,GAWyB/K,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAIs9C,kBAIb,OADAj8C,IAASC,OAAOgF,EAAKF,GACdA,GAGL8uD,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA/G,SACKhE,EAAI0nC,mBAIb,OADArmC,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI0/B,WAIb,OADAr+B,IAASC,OAAOgF,EAAKF,GACdA,GAGL+Y,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNg9C,aAAa,EACb/pB,mBAAmB,EACnB49B,gBAAgB,QAIlBn+C,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAC/Cy7D,EAAe/tD,EAAStI,MAAK,SAACuI,GAAD,MAA6B,qBAAhBA,EAAQ3N,OAYtD,OAXIgH,IACAA,EAAUT,UAAY0e,GAEtBw2C,IACAA,EAAal1D,UAAYi1D,GAExB5pE,EAAM0sC,YACP5wB,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,WAAYxE,KAAM,gBAAiB+D,MAAO,MAAOgH,UAAW+e,IACzF5X,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,KAAMgH,UAAW+0D,KAGzF5tD,IACR,IACG+sD,EAAeplE,EAAMuvB,MAAShzB,EAAM0sC,YAAN,OAAmB7b,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAiBw2C,kBAAoB,gBAAkB,KAE9G,OACI,sBAAK1iE,UAAY3E,EAAMimD,SAAsB,GAA7B,SAAhB,UACKxiD,EAAM+X,YACH,qCACI,uBACA,cAAC,GAAD,CACIkxB,UAAW1sC,EAAM0sC,WAAajpC,EAAM6lE,aACpC/oE,QAAS,kBAnMTmF,GAmM0B,EAlM1CzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,EACbwX,MAAM,EACN1c,UAAW,aAEf5Q,GAAO4kE,KAPQ,IAAC5kE,GAoMA+sD,YAAahvD,EAAM4mE,QACnB7Z,UAAW/sD,EAAM+sD,UACjBvK,SAAUjmD,EAAMimD,UAAY,iBAIpC,qCACwB,aAAnBjmD,EAAMimD,SACH,sBAAKjlD,MAAO,CAAE2M,MAAO,OAAQ7M,QAAS,OAAQC,WAAY,SAAU+wD,aAAc,SAAU7wD,SAAU,WAAY4uB,IAAK,GAAvH,UACI,qBAAK7uB,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,IAAD,CAAayN,OAAQA,GAAQzW,UAAU,6BAF/C,WAKI,qBAAK3D,MAAO,CAAE2M,MAAO,QAArB,SACI,uBAAOjB,KAAK,OAAOD,SAxM3B,SAACX,GACjB,IAAM3J,EAAQ2J,EAAEE,OAAO7J,MACvBF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyS,UAAWnU,QAoMmDoQ,YAAY,mBAAmBpQ,MAAOsB,EAAM6S,UAAWtV,MAAO,CAAE8B,QAAS,UAG3H,KAEJ,cAAC,GAAD,CACIsU,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT2B,YAAY,WACZjB,uBAAuB,kBACvBkC,OAAQ8zD,EACR3xD,SAAUuwD,EACVpwD,WAAY,kBA1OP7I,EA0O6B,KA1OrB88B,EA0O2BjpC,EAAM+lE,gBA1OtBhZ,EA0OuC,WAzO/EvuD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2sD,UAAWA,EACXh1C,aAAa,EACb6uD,QAASz6D,EACT05D,aAAc58B,OANE,IAAC98B,EAAQ88B,EAAW8jB,GA2OxBt6C,SAAUzS,EAAMyS,SAChBu0D,gBAjNI,SAACC,UAqNhBjnE,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,wBAArD,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBoC,eAAgBlI,aAAcgG,MAE7F,KACHpwB,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBtP,WAAYwJ,aAAcgG,MAEjF,SCpHD2kC,GApLS,SAACx4D,GACrB8sB,QAAQC,IAAI/sB,EAAO,SACnB,MAA0BgC,mBAAS,CAC/BwE,UAAW,KACXiyD,WAAY,KACZ7rC,gBAAiB5sB,EAAM2vC,0BAA4B,GACnD+oB,gBAAiB14D,EAAMgvC,2BAA6B,GACpD2pB,gBAAiB,GACjBC,iBAAkB54D,EAAMivC,2BAA6B,GACrD4pB,mBAAoB,GACpBC,SAAU,GACVxiC,kBAAmB,GACnBzJ,kBAAmB,GACnBksC,4BAA6B,OAXjC,mBAAOt1D,EAAP,KAAcxB,EAAd,KAcA,EAA4BD,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpB6tD,EAAY,uCAAG,4BAAAj1D,EAAA,sEACDy2C,GAAwB36C,EAAMggB,WAD7B,OACbta,EADa,OAEjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELi1D,SAAUpzD,EAAIW,KAAKqmB,eACnB4J,kBAAmB5wB,EAAIW,KAAKqyB,mBALf,2CAAH,qDASZ0gC,EAAY,uCAAG,8BAAAl1D,EAAA,sEACDw2C,GAAiB16C,EAAMq5D,YADtB,OACb3zD,EADa,OAEb2+C,EAAO3+C,EAAIW,KACfpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL40D,WAAYpU,EAAKoU,YAAc,KAC/BjyD,UAAW69C,EAAK79C,WAAa,GAC7BomB,gBAAiBy3B,EAAKz3B,iBAAmB,GACzC8rC,gBAAiBrU,EAAKqU,iBAAmB,GACzCE,iBAAkBvU,EAAKuU,kBAAoB,GAC3CC,mBAAoBxU,EAAKwU,oBAAsB,GAC/CG,uBAAwB3U,EAAK2U,wBAA0B,GACvDnsC,kBAAmBw3B,EAAKx3B,kBACxB8rC,gBAAiBtU,EAAKsU,iBAAmB,QAb5B,2CAAH,qDAgBlB/0D,qBAAU,WACNu1D,IACKn5D,EAAM2oC,OACPywB,MAEL,IAEHx1D,qBAAU,WACN,IAAIi8B,EAAQ,GAERp8B,EAAMu1D,wBAA0Bv1D,EAAM6yB,kBAAkBtkB,OAAS,IACjE6tB,EAAMk5B,4BAA8Bt1D,EAAM6yB,kBAAkB9iB,MAAK,qBAAGnS,KAAgBoC,EAAMu1D,2BAG9F/2D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GACAg8B,QAER,CAACp8B,EAAMu1D,uBAAwBv1D,EAAM6yB,oBAExC,IAuD4B/X,EAvDtB+6C,EAAW,WACb,IAAIC,GAAW,EACXC,EAAM,GAqBV,MApBK,QAAQvnD,KAAKxO,EAAMmpB,mBACpB4sC,EAAI5sC,iBAAkB,EACtB2sC,GAAW,GAEV,QAAQtnD,KAAKxO,EAAMu1D,0BACpBQ,EAAIR,wBAAyB,EAC7BO,GAAW,GAEV,QAAQtnD,KAAKxO,EAAMi1D,mBACpBc,EAAId,iBAAkB,EACtBa,GAAW,IAGJ91D,EAAMm1D,iBAEL,IACRY,EAAIC,mBAAoB,EACxBF,GAAW,GAEfL,EAAUM,GACHD,GAGLt1D,EAAU,uCAAG,8BAAAC,EAAA,0DACXo1D,IADW,gCAEU1e,GAAa,CAC9B6d,WAAYh1D,EAAMg1D,YAAc,KAChCjyD,UAAW/C,EAAM+C,WAAaxG,EAAMggB,UACpC4M,gBAAiBnpB,EAAMmpB,iBAAmB,KAC1C8rC,gBAAiBj1D,EAAMi1D,iBAAmB,GAC1CE,kBAAmBn1D,EAAMm1D,kBAAoB,KAE7CI,uBAAsB,UAAEv1D,EAAMs1D,mCAAR,aAAE,EAAmC13D,GAC3Ds3D,gBAAiBl1D,EAAMk1D,kBAVhB,QAEPxhD,EAFO,QAaPA,EAASrN,QAAUyB,EAAiB,yCAA2CD,EAAe6L,EAAShL,SAAW,wBAElHb,EAAe,wBAEnBtL,EAAMO,UAjBK,2CAAH,qDAoBVm5D,EAAe,SAACl7C,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,KAoBd,OACI,mCACI,eAACv2D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CAAWjC,MAAOsB,EAAMopB,mBAAqB,GAAIpe,UAAQ,OAE7D,eAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CAAYwF,KAAK,kBAAkBzH,MAAO0X,KAAOpW,EAAMi1D,iBAAiB5+C,OAAO,eAAiB,GAAIrN,SAAUitD,IAC9G,cAACt0D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO8nD,gBAAkB,yBAA2B,UAE/E,eAAC/1D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,uBACA,cAAC,IAAD,CACIsI,KAAK,SACL9C,KAAK,mBACL2I,YAAY,YACZyO,aAAcvd,EAAMm1D,kBAAoB,GACxCz2D,MAAOsB,EAAMm1D,kBAAoB,GACjCnsD,SAAUitD,IAEd,cAACt0D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO6oD,kBAAoB,6BAA+B,UAErF,eAAC92D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIqa,QAAShb,EAAM6yB,kBACfn0B,MAAOsB,EAAMs1D,4BACbtsD,UA9CQ8R,EA8CqB,8BA9Cd,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,WA+CrB,cAAC3G,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOooD,uBAAyB,yBAA2B,UAGtF,cAACr2D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASyC,EAA1B,SAAuC,WAE3C,cAACtB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASxB,EAAMO,QAAhC,4BC7Kdsa,I,OAAc,CAChB,CAAEzM,IAAK,0BAA2BT,MAAO,MAAO/D,KAAM,aAAc+K,UAAW3E,IAAW62C,qBAC1F,CAAEz4C,IAAK,wBAAyBT,MAAO,OAAQ/D,KAAM,aACrD,CAAEwE,IAAK,0BAA2BT,MAAO,MAAO/D,KAAM,WA2G3C+gE,GAxGO,SAAC3qE,GAAW,IAAD,EACzBm7B,EAAiBp3B,IAAW+sB,gBAEhC,EAA0B9uB,mBAAS,CAC/B4oE,SAAU,GACVp/D,YAAY,IAFhB,mBAAO/H,EAAP,KAAcxB,EAAd,KAIA,EAA4BD,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpBu/D,EAAY,uCAAG,WAAO3mD,GAAP,eAAAhgB,EAAA,sEACD42C,GAAgB52B,GADf,OACbxe,EADa,OAGjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL6d,KAAK,aAAMhc,EAAIW,KAAKykE,WAAa,IACjCt/D,YAAY,OANC,2CAAH,sDASlB5H,qBAAU,WACNinE,EAAa7qE,EAAMq5D,cACpB,IAEH,IAAMC,EAAW,WACb,IAAIC,GAAW,EACXC,EAAM,GAMV,MALK,QAAQvnD,KAAKxO,EAAMmnE,YACpBpR,EAAIoR,UAAW,EACfrR,GAAW,GAEfL,EAAUM,GACHD,GAGLt1D,EAAU,uCAAG,4BAAAC,EAAA,0DACXo1D,IADW,gCAEUve,GAAkB,CACnCgwB,uBAAwB/qE,EAAMq5D,WAC9B2R,wBAAyBvnE,EAAMmnE,WAJxB,QAEPzzD,EAFO,QAOPA,EAASrN,QAAUyB,EAAiB,2BAA6BD,EAAe6L,EAAShL,SAAW,wBAEpGb,EAAe,wBAEnBtL,EAAMO,UAXK,2CAAH,qDA4BV2pD,GAdUruC,mBAAQ,WAEpB,MADc,UAAOhB,MAEtB,IAWmB,SAAC7a,GACnB,OACI,sBAAK2E,UAAU,cAAf,UACI,qBAAKA,UAAU,MAAM3D,MAAO,CAAEqZ,SAAU,GAAI8vC,UAAW,UAAvD,SACKnqD,EAAMoqD,KAAK4gB,0BAEhB,sBAAKrmE,UAAU,SAAS3D,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,QAAS60C,MAAO,SAA9G,UACKtvD,EAAMoqD,KAAK6gB,sBADhB,MAC0CpxD,KAAO7Z,EAAMoqD,KAAK8gB,yBAAyBpxD,OAAO,eAMxG,OACI,8BACI,eAACnX,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,KACf,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASyC,EAAYwK,UAAW0sB,EAAc,uBAA/D,mBAIJ,eAACx4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE0hC,aAAc,QAA1C,UACI,cAAC,IAAD,CAAW94B,KAAK,WAAW8X,KAAM,EAAGyQ,WAAS,EAAC1lB,SAhCzC,SAAC+R,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,KA0BwE91D,WAAS,IAC/E,cAACgC,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOg6D,SAAW,iBAAmB,UAOhE,cAACjoE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE8B,QAAS,MAAO4vB,UAAW,QAAS9a,SAAU,SAAWjT,UAAU,aAA/F,mBACKlB,EAAMie,YADX,aACK,EAAYnY,KAAI,SAAC8zB,EAAGK,GAAJ,OACb,qCACI,cAACwsB,EAAD,CAAuBE,KAAM/sB,GAATK,GACpB,oBAAI18B,MAAO,CAAE0pD,QAAS,MAAOjmD,UAAW,wBCqHrD0mE,GAxNe,SAACnrE,GAC3B,MAA0BgC,mBAAS,CAC/B02D,gBAAiB,GACjBD,WAAY,KACZ2S,qBAAsB,KACtBC,6BAA8B,GAC9BC,iCAAkC,GAClCxS,SAAU,GACVyS,iBAAiB,EACjBC,2BAA4B,GAC5BC,yBAA0B,KAT9B,mBAAOhoE,EAAP,KAAcxB,EAAd,KAWA,EAA4BD,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpBogE,EAAe,uCAAG,gCAAAxnE,EAAA,sEACC22C,KADD,cAChB8wB,EADgB,OAEpB1pE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELi1D,SAAU6S,EAAStlE,UAJH,SAMJ60C,GAA8Bl7C,EAAMq5D,YANhC,OAMhB3zD,EANgB,OAOhBkmE,EAAclmE,EAAIW,KACtBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2C,UAAWolE,EAAYplE,WAAa,KACpCqlE,qBAAsBD,EAAYC,qBAClCC,+BAAgCF,EAAYE,+BAC5CpT,gBAAiBkT,EAAYlT,iBAAmB,GAChDqT,sBAAuBH,EAAYG,sBACnCn/C,gBAAiBg/C,EAAYh/C,gBAC7BC,kBAAmB++C,EAAY/+C,kBAC/B4rC,WAAYmT,EAAYnT,WACxB2S,qBAAsBQ,EAAYR,qBAClCC,6BAA8BO,EAAYP,6BAC1CC,iCAAkCM,EAAYN,iCAC9CE,2BAA4BI,EAAYJ,4BAA8B,GACtEC,yBAA0BG,EAAYH,0BAA4B,QAtBlD,2CAAH,qDAyBrB7nE,qBAAU,WACN8nE,MACD,IAEH,IAAMM,EAAY,SAACC,GACf,MAAI,QAAQh6D,KAAKg6D,GACNA,EAEA,MAITn6D,EAAc,WAChB,IAAMlB,EAAS,GACX2oD,GAAW,EACf,OAAI91D,EAAM8nE,kBACD,QAAQt5D,KAAKxO,EAAM+nE,8BACpB56D,EAAO46D,2BAA6B,+BACpCjS,GAAW,GAEV,QAAQtnD,KAAKxO,EAAMgoE,4BACpB76D,EAAO66D,yBAA2B,6BAClClS,GAAW,GAEfL,EAAUtoD,GACH2oD,IAMTt1D,EAAU,uCAAG,WAAOua,GAAP,eAAAta,EAAA,0DACX4N,IADW,gCAEUqpC,GAA2B,CAC5C30C,UAAWxG,EAAMggB,UACjB4M,gBAAiBnpB,EAAMmpB,gBACvB6rC,WAAYh1D,EAAMg1D,WAClBqT,+BAAgCroE,EAAMqoE,+BACtCj/C,kBAAmBppB,EAAMopB,kBACzB6rC,gBAAiBj1D,EAAMi1D,gBACvB2S,6BAA8BW,EAAUvoE,EAAM4nE,8BAC9CC,iCAAkCU,EAAUvoE,EAAM6nE,kCAClDO,qBAAsBG,EAAUvoE,EAAMooE,sBACtCE,sBAAuBC,EAAUvoE,EAAMsoE,uBACvCX,qBAAsB3nE,EAAM2nE,qBAC5BI,2BAA4B/nE,EAAM8nE,gBAAkB9nE,EAAM+nE,2BAA6B,KACvFC,yBAA0BhoE,EAAM8nE,gBAAkB9nE,EAAMgoE,yBAA2B,OAf5E,QAEPt0D,EAFO,QAkBPA,EAASrN,QAAUyB,EAAiB,wCAA0CD,EAAe6L,EAAShL,SAAW,wBAEjHb,EAAe,wBAEnBtL,EAAMO,SAAQ,GAtBH,2CAAH,sDAyBVm5D,EAAe,SAACl7C,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,KAERgT,EAAe,SAAC1tD,GACS,OAAvBA,EAAGxS,OAAOmgE,UACVlqE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELunE,sBAAsB,OAG1BnpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELunE,sBAAsB,QAYlC,OAPAxnE,qBAAU,WACuC,IAAzCH,EAAMqoE,gCAAiF,IAAzCroE,EAAMqoE,gCAAiF,IAAzCroE,EAAMqoE,+BAClG7pE,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB0nE,iBAAiB,OAE5CtpE,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB0nE,iBAAiB,SAEjD,CAAC9nE,EAAMqoE,iCAEN,gCACI,eAACnpE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG1N,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMopB,uBAEvB,eAAClqB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG1N,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,uBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMi1D,gBAAkB7+C,KAAOpW,EAAMi1D,iBAAiB5+C,OAAO,cAAgB,2BAGlG,uBAEA,eAACnX,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,EAAGrP,GAAI,GAAtB,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,oCACA,cAAC,IAAD,CACIwF,KAAK,+BACLzH,MAAO0X,KAAOpW,EAAM4nE,8BAA8BvxD,OAAO,eAAiB,GAC1ErN,SAAUitD,OAGlB,eAAC/2D,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,EAAGrP,GAAI,GAAtB,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,yCACA,cAAC,IAAD,CAAYwF,KAAK,mCAAmCzH,MAAOsB,EAAM6nE,kCAAoC,GAAI7+D,SAAUitD,OAEvH,eAAC/2D,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,EAAGrP,GAAI,GAAI2B,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,sBAAMO,UAAU,SAAhB,SACI,cAAC,IAAD,CAAWiF,KAAK,uBAAuBnG,MAAOA,EAAM2nE,qBAAsB5pE,QAAS0qE,MAEvF,sBAAMvnE,UAAU,SAAhB,SACI,cAAC,IAAD,CAAUiF,KAAK,uBAAuBnG,MAAOA,EAAM2nE,qBAAsB5pE,QAAS0qE,SAG1F,eAACvpE,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,EAAGrP,GAAI,GAAtB,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,qCACA,cAAC,IAAD,CACIwF,KAAK,iCACLzH,MAAOsB,EAAMqoE,gCAAkC,GAC/Cr/D,SAAUitD,EACVjnD,KAAMhP,EAAMq1D,SAASsT,uBAAyB,QAGtD,eAACzpE,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,EAAGrP,GAAI,GAAtB,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CAAYwF,KAAK,wBAAwBzH,MAAOsB,EAAMsoE,sBAAuBt/D,SAAUitD,OAE3F,eAAC/2D,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,EAAGrP,GAAI,GAAtB,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CAAYwF,KAAK,uBAAuBzH,MAAOsB,EAAMooE,qBAAsBp/D,SAAUitD,OAExFj2D,EAAM8nE,iBACH,qCACI,eAAC5oE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,iCAGA,cAAC,IAAD,CACImO,YAAY,sBACZpQ,MAAOsB,EAAM+nE,2BACb5hE,KAAK,6BACL6C,SAAUitD,IAEd,cAACt0D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO46D,gCAElC,eAAC7oE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,6BAGA,cAAC,IAAD,CACImO,YAAY,kBACZpQ,MAAOsB,EAAMgoE,yBACb7hE,KAAK,2BACL6C,SAAUitD,IAEd,cAACt0D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO66D,iCAK1C,cAAC9oE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASyC,EAA1B,oBAEJ,cAACtB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS,kBAAMxB,EAAMO,SAAQ,IAA9C,6BCjNhBoI,GAAaoG,OAAOC,SAAS0I,KAC7B66C,GAAa5pD,GAAWgP,SAAS,aAAe,YAAchP,GAoNnD0jE,GAnNgB,SAACrsE,GAC5B,MAA0BgC,mBAAS,CAC/BsqE,oBAAqB,GACrB5T,gBAAiB,GACjB7rC,kBAAmB,GACnB4rC,WAAY,KACZ8T,iBAAkB,GAClBvT,uBAAwB,GACxBF,SAAU,KAPd,mBAAOr1D,EAAP,KAAcxB,EAAd,KASA,EAAoDD,mBAAS,CACzDqpE,6BAA8B,MAC9BC,iCAAkC,MAClCF,qBAAsB,MACtBU,+BAAgC,KAChCU,6BAA8B,MAC9BT,sBAAuB,MACvBF,qBAAsB,QAP1B,mBAAOY,EAAP,KAA2BC,EAA3B,KASA,EAA4B1qE,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBqhE,EAAa,SAACxqE,GAEhB,OADoBA,EAAQ0X,KAAO1X,EAAO,YAAY2X,OAAO,WAAa,OAIxE8yD,EAAsB,uCAAG,8BAAA1oE,EAAA,sEACXg3C,GAA8Bl7C,EAAMq5D,YADzB,OACvB3zD,EADuB,OAEvBkmE,EAAclmE,EAAIW,KACtBqmE,GAAsB,SAAC7oE,GAAD,mBAAC,eAChBA,GADe,IAElBgoE,qBAAsBc,EAAWf,EAAYC,sBAC7CC,+BAAgCF,EAAYE,gCAAkC,KAC9EC,sBAAuBY,EAAWf,EAAYG,uBAC9CX,qBAAsBQ,EAAYR,qBAAuB,MAA6C,OAArCQ,EAAYR,qBAAgC,MAAQ,KACrHC,6BAA8BO,EAAYP,6BACpCxxD,KAAO+xD,EAAYP,8BAA8BvxD,OAAO,cACxD,MACNwxD,iCAAkCqB,EAAWf,EAAYN,uCAE7DrpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyoE,oBAAqBV,EAAYP,8BAAgC,QAhB1C,2CAAH,qDAoBtBK,EAAe,uCAAG,gCAAAxnE,EAAA,sEACC22C,KADD,cAChB8wB,EADgB,OAEpB1pE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELi1D,SAAU6S,EAAStlE,UAJH,SAMJ20C,GAA8Bh7C,EAAMq5D,YANhC,OAMhB3zD,EANgB,OAOhBkmE,EAAclmE,EAAIW,KACtBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2C,UAAWolE,EAAYplE,WAAa,KAEpCkyD,gBAAiB7+C,KAAO+xD,EAAYlT,iBAAiB5+C,OAAO,eAAiB,GAC7E+S,kBAAmB++C,EAAY/+C,kBAC/B4rC,WAAYmT,EAAYnT,WACxB8T,iBAAkBX,EAAYW,kBAAoB,GAClDvT,uBAAwB4S,EAAY5S,wBAA0B,QAhB9C,2CAAH,qDAmBrBp1D,qBAAU,WACN8nE,IACAkB,MACD,IACHhpE,qBAAU,WAAO,IAAD,EACRipE,EAAQ,UAAGppE,EAAMq1D,SAASsT,6BAAlB,aAAG,EAAsCluC,QAAO,SAACvR,GAAD,OAAOA,EAAEtrB,IAAMorE,EAAmBX,kCAAgCviE,KAAI,SAACujE,GAAD,OAAOA,EAAEljE,QAAM,GACjJ8iE,GAAsB,SAAC7oE,GAAD,mBAAC,eAChBA,GADe,IAElB2oE,6BAA8BK,GAAY,aAE/C,CAACppE,EAAMq1D,SAAU2T,EAAmBX,iCACvC,IAAMxS,EAAW,WACb,IAAIC,GAAW,EACXC,EAAM,GAcV,MATK,QAAQvnD,KAAKxO,EAAMu1D,0BACpBQ,EAAIR,wBAAyB,EAC7BO,GAAW,GAEV,QAAQtnD,KAAKxO,EAAM6oE,uBACpB9S,EAAI8S,qBAAsB,EAC1B/S,GAAW,GAEfL,EAAUM,GACHD,GAELyS,EAAY,SAACC,GACf,MAAI,QAAQh6D,KAAKg6D,GACNA,EAEA,MAGThoE,EAAU,uCAAG,WAAOua,GAAP,eAAAta,EAAA,0DACXo1D,IADW,gCAEUre,GAA2B,CAC5Cz0C,UAAWxG,EAAMggB,UACjBy4C,WAAYh1D,EAAMg1D,WAClB6T,oBAAqBN,EAAUvoE,EAAM6oE,qBACrCS,wBAAyBtpE,EAAMu1D,uBAC/BrwD,WAAY4pD,GACZga,iBAAkBP,EAAUvoE,EAAM8oE,oBAR3B,QAEPp1D,EAFO,QAWPA,EAASrN,QAAUyB,EAAiB,2BAA6BD,EAAe6L,EAAShL,SAAW,wBAEpGb,EAAe,wBAEnBtL,EAAMO,SAAQ,GAfH,2CAAH,sDAkBVm5D,EAAe,SAACl7C,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,KAed,OACI,gCACI,eAACv2D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMopB,uBAEvB,eAAClqB,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,uBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMi1D,iBAAmB,wBAE1C,eAAC/1D,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIhC,MAAO,CAAE8B,QAAS,GAA/C,UACI,eAACH,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,qCACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBpB,kCAEpC,eAAC1oE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,0CACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBnB,sCAEpC,eAAC3oE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,gCACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBrB,0BAEpC,eAACzoE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,sCACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBD,kCAEpC,eAAC7pE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,6BACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBV,2BAEpC,eAACppE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,4BACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBZ,gCAI5C,uBACA,eAAClpE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,EAAGrP,GAAI,GAAI2B,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CAAYwF,KAAK,sBAAsBzH,MAAO0X,KAAOpW,EAAM6oE,qBAAqBxyD,OAAO,eAAiB,GAAIrN,SAAUitD,IACtH,cAACt0D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO07D,oBAAsB,yBAA2B,UAEnF,eAAC3pE,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,EAAGrP,GAAI,GAAtB,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,uBACA,cAAC,IAAD,CAAYwF,KAAK,mBAAmBzH,MAAO0X,KAAOpW,EAAM8oE,kBAAkBzyD,OAAO,eAAiB,GAAIrN,SAAUitD,IAChH,cAACt0D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO27D,iBAAmB,yBAA2B,UAEhF,eAAC5pE,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,GAAIrP,GAAI,GAAI2B,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIwF,KAAK,yBACLzH,MAAOsB,EAAMu1D,wBAA0B,GACvCvsD,SAAUitD,EACVjnD,KAAMhP,EAAMq1D,SAASpgC,eAAiB,KAE1C,cAACtzB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOooD,uBAAyB,yBAA2B,UAEtF,cAACr2D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASyC,EAA1B,wBAEJ,cAACtB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS,kBAAMxB,EAAMO,SAAQ,IAA9C,6BC1NPysE,GAAsB/mE,mBAAO,uCAAC,WAAO5E,GAAP,eAAA6C,EAAA,sEACvB6B,aAAY,sCAAD,OAAuC1E,IAD3B,cACnCqE,EADmC,yBAEhCA,GAFgC,2CAAD,uDAK7BunE,GAAc,uCAAG,WAAO5mE,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,oBAAqBa,GADxB,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKdwnE,GAAiB,uCAAG,WAAO7rE,GAAP,eAAA6C,EAAA,sEACb6B,aAAY,uCAAD,OAAwC1E,IADtC,cACzBqE,EADyB,yBAEtBA,GAFsB,2CAAH,sDAUjBynE,GAAe,uCAAG,WAAO9rE,GAAP,eAAA6C,EAAA,sEACX6B,aAAY,4CAAD,OAA6C1E,IAD7C,cACvBqE,EADuB,yBAEpBA,GAFoB,2CAAH,sDAKf0nE,GAAoB,uCAAG,WAAO/mE,GAAP,eAAAnC,EAAA,sEAChBsB,aAAa,mCAAoCa,GADjC,cAC5BX,EAD4B,yBAEzBA,GAFyB,2CAAH,sDAKpB83D,GAAS,uCAAG,WAAOn3D,GAAP,eAAAnC,EAAA,sEACLsB,aAAa,0BAA2Ba,GADnC,cACjBX,EADiB,yBAEdA,GAFc,2CAAH,sDAIT+3D,GAAY,uCAAG,WAAOp8D,GAAP,eAAA6C,EAAA,sEACR6B,aAAY,2BAAD,OAA4B1E,IAD/B,cACpBqE,EADoB,yBAEjBA,GAFiB,2CAAH,sDCrCV,wwPCAA,wmJCAA,4tCCAA,wyICST1E,GAAQ,CACVqsE,KAAM,CACF5oE,UAAW,QAEf6oE,MAAO,CACH7oE,UAAW,SAEf8oE,MAAO,CACH9oE,UAAW,SAEf+oE,OAAQ,CACJ/oE,UAAW,OAEfgpE,MAAO,CAAEhpE,UAAW,SACpBipE,SAAU,CAAEhrC,aAAc,OAC1BirC,eAAgB,CAAElzD,UAAW,WA6QlBmzD,GA1QF,SAAC5tE,GAAW,IAAD,IACZ+gE,EAAiC/gE,EAAjC+gE,aAAct9D,EAAmBzD,EAAnByD,MAAOkI,EAAY3L,EAAZ2L,QAE7B,OACI,mCACI,eAAChJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAIhC,MAAOA,GAAM0sE,SAAUr1D,QAAQ,eAAnE,UAEI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,oBAAI1N,UAAWgH,EAAQkiE,WAAvB,sBAEJ,eAAClrE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,eAAC1P,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIoP,UAAU,MAAMiG,QAAQ,eAAhD,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAACrE,MAAOA,GAAMqsE,KAAtC,oBAIA,cAAC,IAAD,CAAa96D,YAAY,KAAK3I,KAAK,eAAe6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMqqE,eAC1F,cAAC3pE,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAACrE,MAAOA,GAAMssE,MAAtC,oBAIA,cAAC,IAAD,CAAa/6D,YAAY,KAAK3I,KAAK,eAAe6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMsqE,kBAE9F,eAACprE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,0BAGA,cAAC,IAAD,CAAakN,YAAY,IAAI3I,KAAK,uBAAuB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMsqE,eACjG,qBACIrpE,IAAKspE,GACLttE,OAAO,QACPiN,MAAM,OACN3M,MAAO,CACHyD,UAAW,KAGnB,cAACN,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,0BAGA,cAAC,IAAD,CAAakN,YAAY,IAAI3I,KAAK,uBAAuB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMsqE,kBAErG,eAACprE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAACrE,MAAOA,GAAMqsE,KAAtC,uBAGA,cAAC,IAAD,CAAa96D,YAAY,MAAM3I,KAAK,iBAAiB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMwqE,iBAC7F,cAAC9pE,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAACrE,MAAOA,GAAMssE,MAAtC,uBAGA,cAAC,IAAD,CAAa/6D,YAAY,MAAM3I,KAAK,iBAAiB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMyqE,uBAGrG,cAAC9oE,EAAA,EAAD,CAAgBC,OAAK,EAACrE,MAAO,CAAEyZ,UAAW,UAA1C,mBACKhX,EAAMmN,cADX,aACK,EAAcu9D,gBAK3B,eAACxrE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,oBAAIrsB,UAAWgH,EAAQkiE,WAAvB,oBACA,cAAClrE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,eAAC1P,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIoP,UAAU,MAAMiG,QAAQ,eAAhD,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMusE,MAAOloE,OAAK,EAA5C,oBAGA,cAAC,IAAD,CAAakN,YAAY,KAAK3I,KAAK,eAAe6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMqqE,eAC1F,cAAC3pE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAQnoE,OAAK,EAA7C,oBAGA,cAAC,IAAD,CAAakN,YAAY,KAAK3I,KAAK,oBAAoB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAM2qE,oBAC/F,cAACjqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMysE,MAAOpoE,OAAK,EAA5C,oBAGA,cAAC,IAAD,CAAakN,YAAY,KAAK3I,KAAK,oBAAoB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAM4qE,oBAC/F,cAAClqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAQnoE,OAAK,EAA7C,oBAGA,cAAC,IAAD,CAAakN,YAAY,KAAK3I,KAAK,eAAe6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMsqE,kBAE9F,eAACprE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,qBAAK0B,IAAK4pE,GAAe5tE,OAAO,QAAQiN,MAAM,SAC9C,cAACxJ,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAACrE,MAAOA,GAAM2sE,eAAtC,0BAGA,cAAC,IAAD,CAAap7D,YAAY,IAAI3I,KAAK,uBAAuB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAM8qE,uBACjG,qBAAK7pE,IAAK8pE,GAAe9tE,OAAO,OAAOiN,MAAM,SAC7C,cAACxJ,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAACrE,MAAOA,GAAM2sE,eAAtC,0BAGA,cAAC,IAAD,CACIp7D,YAAY,IACZ3I,KAAK,uBACL6C,SAAUs0D,EAAa,GACvB5+D,MAAOsB,EAAMgrE,qBACbztE,MAAOA,GAAM0sE,WAEjB,qBAAKhpE,IAAKgqE,GAAiBhuE,OAAO,QAAQiN,MAAM,YAEpD,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMusE,MAAOloE,OAAK,EAA5C,uBAGA,cAAC,IAAD,CAAakN,YAAY,MAAM3I,KAAK,iBAAiB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMwqE,iBAC7F,cAAC9pE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAQnoE,OAAK,EAA7C,uBAGA,cAAC,IAAD,CAAakN,YAAY,MAAM3I,KAAK,sBAAsB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMkrE,sBAClG,cAACxqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMysE,MAAOpoE,OAAK,EAA5C,uBAGA,cAAC,IAAD,CAAakN,YAAY,MAAM3I,KAAK,sBAAsB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMmrE,sBAClG,cAACzqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAQnoE,OAAK,EAA7C,uBAGA,cAAC,IAAD,CAAakN,YAAY,MAAM3I,KAAK,iBAAiB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMyqE,yBAIzG,cAAC9oE,EAAA,EAAD,CAAgBC,OAAK,EAACrE,MAAO,CAAEyZ,UAAW,UAA1C,mBACKhX,EAAMmN,cADX,aACK,EAAci+D,aAKvB,eAAClsE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,oBAAIrsB,UAAWgH,EAAQkiE,WAAvB,oBACA,cAAClrE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,eAAC1P,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIoP,UAAU,MAAMiG,QAAQ,eAAhD,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMusE,MAAhC,mBAGA,cAAC,IAAD,CAAah7D,YAAY,KAAK3I,KAAK,eAAe6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMqqE,eAC1F,cAAC3pE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAhC,mBAGA,cAAC,IAAD,CAAaj7D,YAAY,KAAK3I,KAAK,oBAAoB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAM2qE,oBAC/F,cAACjqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMysE,MAAhC,mBAGA,cAAC,IAAD,CAAal7D,YAAY,KAAK3I,KAAK,oBAAoB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAM4qE,oBAC/F,cAAClqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAhC,mBAGA,cAAC,IAAD,CAAaj7D,YAAY,KAAK3I,KAAK,eAAe6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMsqE,kBAE9F,eAACprE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,qBAAK0B,IAAK4pE,GAAe5tE,OAAO,QAAQiN,MAAM,SAC9C,cAACxJ,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAM2sE,eAAhC,yBAGA,cAAC,IAAD,CAAap7D,YAAY,IAAI3I,KAAK,uBAAuB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAM8qE,uBAEjG,qBAAK7pE,IAAK8pE,GAAe9tE,OAAO,OAAOiN,MAAM,SAC7C,cAACxJ,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAM2sE,eAAhC,yBAGA,cAAC,IAAD,CACIp7D,YAAY,IACZ3I,KAAK,uBACL6C,SAAUs0D,EAAa,GACvB5+D,MAAOsB,EAAMgrE,qBACbztE,MAAOA,GAAM0sE,WAGjB,qBAAKhpE,IAAKgqE,GAAiBhuE,OAAO,QAAQiN,MAAM,YAEpD,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMusE,MAAhC,sBAGA,cAAC,IAAD,CAAah7D,YAAY,MAAM3I,KAAK,iBAAiB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMwqE,iBAC7F,cAAC9pE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAhC,sBAGA,cAAC,IAAD,CAAaj7D,YAAY,MAAM3I,KAAK,sBAAsB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMkrE,sBAClG,cAACxqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMysE,MAAhC,sBAGA,cAAC,IAAD,CAAal7D,YAAY,MAAM3I,KAAK,sBAAsB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMmrE,sBAClG,cAACzqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAhC,sBAGA,cAAC,IAAD,CAAaj7D,YAAY,MAAM3I,KAAK,iBAAiB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMyqE,4BAO7G,eAACvrE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,oBAAIrsB,UAAWgH,EAAQkiE,WAAvB,oBACA,cAAClrE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,eAAC1P,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIoP,UAAU,MAAMiG,QAAQ,eAAhD,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMusE,MAAhC,mBAGA,cAAC,IAAD,CAAah7D,YAAY,KAAK3I,KAAK,eAAe6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMqqE,eAC1F,cAAC3pE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAhC,mBAGA,cAAC,IAAD,CAAaj7D,YAAY,KAAK3I,KAAK,oBAAoB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAM2qE,oBAC/F,cAACjqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMysE,MAAhC,mBAGA,cAAC,IAAD,CAAal7D,YAAY,KAAK3I,KAAK,oBAAoB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAM4qE,oBAC/F,cAAClqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAhC,mBAGA,cAAC,IAAD,CAAaj7D,YAAY,KAAK3I,KAAK,eAAe6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMsqE,kBAE9F,eAACprE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,qBAAK0B,IAAK4pE,GAAe5tE,OAAO,QAAQiN,MAAM,SAC9C,cAACxJ,EAAA,EAAD,CAAYnD,MAAOA,GAAM2sE,eAAgBvpE,QAAM,EAA/C,yBAGA,cAAC,IAAD,CAAamO,YAAY,IAAI3I,KAAK,uBAAuB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMgrE,uBAEjG,qBAAK/pE,IAAK8pE,GAAe9tE,OAAO,OAAOiN,MAAM,SAC7C,cAACxJ,EAAA,EAAD,CAAYnD,MAAOA,GAAM2sE,eAAgBvpE,QAAM,EAA/C,yBAGA,cAAC,IAAD,CACImO,YAAY,IACZ3I,KAAK,uBACL6C,SAAUs0D,EAAa,GACvB5+D,MAAOsB,EAAMwqE,eACbjtE,MAAOA,GAAM0sE,WAGjB,qBAAKhpE,IAAKgqE,GAAiBhuE,OAAO,QAAQiN,MAAM,YAEpD,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMusE,MAAhC,sBAGA,cAAC,IAAD,CAAah7D,YAAY,MAAM3I,KAAK,iBAAiB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMwqE,iBAC7F,cAAC9pE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAhC,sBAGA,cAAC,IAAD,CAAaj7D,YAAY,MAAM3I,KAAK,sBAAsB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMkrE,sBAClG,cAACxqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMysE,MAAhC,sBAGA,cAAC,IAAD,CAAal7D,YAAY,MAAM3I,KAAK,sBAAsB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMmrE,sBAClG,cAACzqE,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAOA,GAAMwsE,OAAhC,sBAGA,cAAC,IAAD,CAAaj7D,YAAY,MAAM3I,KAAK,iBAAiB6C,SAAUs0D,EAAa,GAAI5+D,MAAOsB,EAAMyqE,4BAM7G,cAAC9oE,EAAA,EAAD,CAAgBC,OAAK,EAACrE,MAAO,CAAEyZ,UAAW,UAA1C,SACKhX,EAAMqrE,SAAWrrE,EAAMsrE,WAAW5iE,QAAU,WCzO3DyqD,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,WACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,eARO0+C,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,qBAAsB,CAClBi3B,gBAAiB,eAHNqf,CAMnB6V,MAEEtsD,GAAYC,aAAW,SAACC,GAAD,oBACzBC,KAAM,CACFzG,UAAW,IAEfuqE,MAAO,CACHp3D,SAAU,QAEd0I,OAAQ,CACJ3S,MAAO,OACPjN,OAAQ,OACRI,QAAS,OACTwxB,eAAgB,SAChBvxB,WAAY,SACZ0D,UAAW,KAGfrE,MAAO,CACH8C,MAAO,UACPyS,WAAY,EACZlR,UAAW,EACXi+B,aAAc,GAElB4/B,MAAO,CACHx/D,QAASmI,EAAMpI,QAAQ,GACvBK,MAAO+H,EAAM6rD,QAAQ11C,KAAK6tD,UAC1BjuC,OAAQ,6BAEZ6sC,WAAY,CACRpzD,UAAW,SACXvX,MAAO,UACPyK,MAAO,QAEXuhE,SAAU,CACNhsE,MAAO,UACPiI,OAAQ,EACRwK,YAAa,EACb+sB,aAAc,KApCO,SAsCjB,CACJ/0B,MAAO,OACPjN,OAAQ,OACRI,QAAS,OACTwxB,eAAgB,SAChBvxB,WAAY,SACZ0D,UAAW,SAIb06D,GAAe,CACjBgQ,EAAG9P,IACH+P,EAAG7P,IACH8P,EAAG/P,IACHgQ,EAAGlQ,IACHmQ,EAAGC,KAqoCQC,GAloCY,SAACzvE,GAAW,IAAD,cAC5B2L,EAAUZ,KACR6zC,EAAgB5wC,eAAhB4wC,YACR,EAAkC58C,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAA0Bzb,mBAAS,CAC/B0tE,WAAY,GACZC,WAAY,GACZC,SAAS,EACTxP,YAAa,GACb3zB,KAAM5yB,OAASC,OAAO,cACtB+1D,uBAAwB,GACxBC,2BAA4B,GAC5BC,oBAAqB,KACrBC,4BAA6BhwE,EAAMiwE,UACnC/P,6BAA8BthB,EAC9BsxB,0BAA2B,KAC3BC,+BAAgCt2D,OAASC,OAAO,cAChDs2D,wBAAyB,KACzBC,kCAAmC,KACnCC,+BAAgC,KAChCC,oCAAqC,KACrCC,+BAAgC,KAChCC,oCAAqC,KACrCnwD,QAAQ,EACR9c,cAA6C,WAA9BO,IAAWC,eAC1B2/C,YAAa50C,OAAOoyC,WACpB4tB,WAAY,GACZD,UAAU,EACV4B,oBAAoB,IAxBxB,mBAAOjtE,EAAP,KAAcxB,EAAd,KA2BA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBqlE,EAAc,SAAC7kE,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAEVF,EADS,qCAAT2H,EACS,SAACnG,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,GAAQzH,KAEjC,SAACsB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,EAAOzH,OAIjDyB,oBAAS,sBAAC,sCAAAM,EAAA,0DACFlE,EAAM4wE,kBADJ,iCAE6B9kC,GAAa9rC,EAAM4wE,mBAFhD,cAEEC,EAFF,QAIqB/mE,SACnB7H,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAELitE,YAAW,UAAED,EAAmBxqE,KAAK2G,QAAQ,UAAlC,aAAE,EAAoCkoC,wBAPvD,SAUe3J,GAAevrC,EAAM4wE,mBAVpC,cAUEvQ,EAVF,QAWOv2D,UACCzD,EAAOg6D,EAAKh6D,KAClBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmpC,UAAW3mC,EAAKmQ,iBAChBjG,QAASlK,EAAK4tC,aACdxiC,OAAQpL,EAAK6tC,kBAjBnB,UAoBc84B,GAAoBhtE,EAAM4wE,mBApBxC,SAoBElrE,EApBF,QAqBMoE,UACAo5D,EAAY,GAChB,UAAAx9D,EAAIW,KAAK0qE,iCAAT,SAAoCxnE,KAAI,SAACk7C,GAAO,IAAD,EAC3C,UAAAA,EAAEusB,+BAAF,SAA2BznE,KAAI,SAAC6lB,GAC5BA,EAAE6hD,kCAAoC7hD,EAAE8hD,uBACxC9hD,EAAE+hD,qCAAuC,KACzC/hD,EAAEgiD,gCAAkC,KACpChiD,EAAEiiD,sCAAwC,KAC1CjiD,EAAEkiD,mCAAqC,KACvCpO,EAAUp0D,KAAKsgB,SAIvBntB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL6rE,WAAYhqE,EAAIW,KAAK0qE,0BACrBpB,WAAYjqE,EAAIW,KAAKkrE,8BACrBzB,2BAA4B5M,EAC5B5iD,QAAQ,QAvCd,4CA2CP,IAEH,IAAM5c,EAAaC,iBAAO,IAoC1B,EAZsB,WAClB,MAAwB3B,mBAAS,CAAC,EAAG,IAArC,mBAAOy/B,EAAP,KAAauf,EAAb,KASA,OARAC,2BAAgB,WACZ,IAAMC,EAAa,WACfF,EAAQ,CAACjyC,OAAOoyC,WAAYpyC,OAAOqyC,eAIvC,OAFAryC,OAAOsyC,iBAAiB,SAAUH,GAClCA,IACO,kBAAMnyC,OAAOuyC,oBAAoB,SAAUJ,MACnD,IACIzf,EAEesf,GAA1B,mBAAOywB,EAAP,KAEMC,GAFN,KAEqB,SAACC,GAClB,IAAI/zC,EAAY,aAAOl6B,EAAMqsE,4BACzBlyC,EAAWn6B,EAAMqsE,2BAA2BjyC,WAAU,SAAClR,GAAD,OAAOA,EAAEukD,yBAA2BQ,KAC9FzvE,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8tE,gBAAgB,EAAMD,kBAAmBA,EAAmBrP,eAAgB1kC,EAAaC,GAAUkgC,QAAU,UAqBtI8T,EAAc,SAACxQ,EAAWC,GAC5B,IAAI1jC,EAAY,aAAOl6B,EAAMqsE,4BACzBlyC,EAAWn6B,EAAMqsE,2BAA2BjyC,WAAU,SAAClR,GAAD,OAAOA,EAAEukD,yBAA2B7P,KAC9F1jC,EAAaC,GAAUuzC,qCAAuC/P,EAC9Dn/D,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBisE,2BAA4BnyC,QAGrDk0C,EAAmB,SAACxwE,EAAIywE,GAAL,OAAa,SAAChmE,GACnC,IAAI6xB,EAAY,aAAOl6B,EAAMqsE,4BACzBlyC,EAAWn6B,EAAMqsE,2BAA2BjyC,WAAU,SAAClR,GAAD,OAAOA,EAAEukD,yBAA2B7vE,KAC9Fs8B,EAAaC,GAAUwzC,gCAAkCtlE,EAAEE,OAAO7J,MAClEF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBisE,2BAA4BnyC,SAGrDo0C,EAAuB,SAACC,EAAUC,EAAWC,GAAtB,OAAqC,WAC9D,IAAMC,EAAM1uE,EAAMisE,WAAWl8D,MAAK,SAACgqB,GAAD,OAAOA,EAAEvB,oCAAsCi2C,KAMjF,IALkB,IAAdC,EAAI1uE,MACJ0uE,EAAI1uE,OAAQ,EAEZ0uE,EAAI1uE,MAAQwuE,EAEZE,EAAK,CACL,IAAMC,EAAiBD,EAAInB,wBAAwBznE,KAAI,SAAC0kD,GAAD,OAAOA,EAAEijB,0BAChEjvE,GAAS,SAAC4B,GACN,IAAMg8B,EAAK,eAAQh8B,GAQnB,OAPAuuE,EAAex7D,SAAQ,SAACvV,GACpB,IAAMgxE,EAAcxyC,EAAMiwC,2BAA2Bt8D,MAAK,SAACC,GAAD,OAAOA,EAAEy9D,yBAA2B7vE,KAC1FgxE,IACAA,EAAYlB,qCAAuCgB,EAAI1uE,MAAQuuE,EAAW,KAC1EnyC,EAAMx+B,GAAM8wE,EAAI1uE,MAAQuuE,EAAW,SAGpC,2BAAKnyC,GAAZ,IAAmBiwC,2BAA2B,aAAKjwC,EAAMiwC,oCAK/D/O,EAAe,SAACuR,GAAD,OAAY,SAACxmE,GAC9B,IAAIymE,EAAY,GAChB,EAAwBzmE,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACV2sE,GAAW,EACf7sE,GAAS,SAAC4B,GACN,IAAI2uE,EAAK3uE,EAAGgsE,uBAAuBr8D,MAAK,SAACtP,GAAD,OAAOA,EAAEuuE,aAAeH,KAMhE,OALKE,IACDA,EAAK,CAAEC,WAAYH,GACnBzuE,EAAGgsE,uBAAuB/gE,KAAK0jE,IAEnCA,EAAG5oE,GAAQzH,EACHyH,GACJ,IAAK,eAIL,IAAK,oBAIL,IAAK,eAIL,IAAK,oBACD2oE,EAAUpmE,QAAWhK,EAAQ,GAAKA,EAAQ,IAAOA,EAAQ,EAArC,eAAiDmwE,EAAjD,YAA2D1oE,EAA3D,gDAAgH,KACpIklE,GAAW,EACX,MACJ,IAAK,iBAIL,IAAK,sBAIL,IAAK,iBAIL,IAAK,sBACDyD,EAAUpmE,QAAWhK,EAAQ,GAAKA,EAAQ,IAAOA,EAAQ,EAArC,eAAiDmwE,EAAjD,YAA2D1oE,EAA3D,gDAAgH,KACpIklE,GAAW,EACX,MACJ,IAAK,uBAIL,IAAK,uBACDyD,EAAUpmE,QAAWhK,EAAQ,GAAKA,EAAQ,KAAQA,EAAQ,EAAtC,eAAkDmwE,EAAlD,YAA4D1oE,EAA5D,iDAAkH,KACtIklE,GAAW,EACX,MAEJ,QACIyD,EAAUpmE,QAAU,KACpB2iE,GAAW,EAInB,OAAO,2BAAKjrE,GAAZ,IAAgBgsE,uBAAuB,aAAKhsE,EAAGgsE,wBAAyBd,WAAYwD,EAAWzD,SAAUA,SAqE3G4D,EAAqB,YAjEP,WAChB,IAAI3gE,GAAc,EACdnB,EAAS,GACT+hE,EAAelvE,EAAMqsE,2BAA2B5xC,QAAO,SAACvR,GACxD,OAAkD,OAA3CA,EAAEwkD,wCAGTyB,EAAcnvE,EAAMqsE,2BAA2B5xC,QAAO,SAACvR,GACvD,MACgD,MAA3CA,EAAEwkD,sCAAqF,MAArCxkD,EAAEykD,iCACT,MAA3CzkD,EAAEwkD,sCAAqF,MAArCxkD,EAAEykD,mCAGzDyB,EAAkBpvE,EAAMosE,uBAAuBr8D,MAAK,SAACtP,GAAD,OAAwB,IAAjBA,EAAEuuE,cAC7DK,EAAkBrvE,EAAMosE,uBAAuBr8D,MAAK,SAACtP,GAAD,OAAwB,IAAjBA,EAAEuuE,cAC7DM,EAAa,EACbC,EAAa,EA4CjB,OA1CIH,IACAE,EAAaE,OAAOC,KAAKL,GAAiB7gE,QAE1C8gE,IACAE,EAAaC,OAAOC,KAAKJ,GAAiB9gE,QAGzCvO,EAAMg+D,2BACP7wD,EAAO6wD,yBAAP,qCACA1vD,GAAc,GAEd4gE,EAAa3gE,OAAS,IACtBpB,EAAOzE,QAAU,yBACjB4F,GAAc,GAEdghE,GAAc,IACdniE,EAAOu9D,QAAU,6BACjBp8D,GAAc,GAGdihE,GAAc,KACdpiE,EAAOi+D,QAAU,6BACjB98D,GAAc,GAGd6gE,EAAY5gE,OAAS,IACrBpB,EAAOw5C,KAAO,mBACdr4C,GAAc,GAGbtO,EAAMF,iBACPqN,EAAOrN,eAAiB,wBACxBwO,GAAc,GAEbtO,EAAM0vE,qCACPviE,EAAOuiE,mCAAqC,sCAC5CphE,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,OAELmB,GAMHD,IACA7P,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL6sE,oBAAqB7sE,EAAG6sE,yBAK9B0C,EAAU,uCAAG,gCAAAlvE,EAAA,6DACXmvE,EAAW5vE,EAAMqsE,2BAA2BvmE,KAAI,SAACuC,GAAD,MAAQ,CACxDmlE,kCAAmCnlE,EAAEmlE,kCACrCE,qCAAsCrlE,EAAEqlE,qCACxCC,gCAAiCtlE,EAAEslE,gCACnCC,sCAAuCvlE,EAAEulE,sCACzCC,mCAAoCxlE,EAAEwlE,uCAGtCjrE,EAAO,CACP2pE,4BAA6BvsE,EAAMusE,4BACnCE,0BAA2BzsE,EAAMysE,0BACjCC,+BAAgC1sE,EAAM0sE,+BACtCC,wBAAyB3sE,EAAM2sE,wBAC/BkD,yBAA0B7vE,EAAMg+D,yBAChC8R,+BAAgC9vE,EAAMy8D,6BACtCsT,oCAAqC/vE,EAAMF,eAC3C4vE,mCAAoC1vE,EAAM0vE,mCAC1C7C,+BAAgC7sE,EAAM6sE,+BACtCC,oCAAqC9sE,EAAM8sE,oCAC3CC,+BAAgC/sE,EAAM+sE,+BACtCC,oCAAqChtE,EAAMgtE,oCAC3CgD,iCAAkChwE,EAAMgwE,iCACxCC,iCAAkCjwE,EAAMiwE,iCACxCC,+BAAgClwE,EAAMkwE,+BACtCC,yCAA0CnwE,EAAMmwE,yCAChDC,2CAA4CpwE,EAAMowE,2CAClDC,yCAA0CrwE,EAAMqwE,yCAChD/D,oBAAqBtsE,EAAMswE,mBAC3B1D,kCAAmC5sE,EAAM4sE,kCACzC2D,8BAA+BX,EAC/BxD,uBAAwBpsE,EAAMosE,uBAC9BoE,4BAA6BxwE,EAAM28D,aAEvC3iD,GAAa,GAlCE,SAmCCwvD,GAAe5mE,GAnChB,QAmCXX,EAnCW,QAoCPoE,SACJyB,EAAiB,qCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAEvBsR,GAAa,GA1CE,2CAAH,qDAwDhB,OACI,sBAAK9Y,UAAWgH,EAAQT,KAAxB,UACKzH,EAAM6c,OACH,qBAAK3b,UAAWgH,EAAQ2U,OAAxB,SACI,cAACiS,GAAA,EAAD,CAAkBrvB,MAAM,gBAG5B,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACK7C,EAAMimD,SACH,cAACtjD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAI/vB,MAAO,CAAE8B,QAAS,WAArD,SACI,cAACqK,GAAA,EAAD,CAAYhK,QAAS,KAAMnC,MAAO,CAAEqZ,SAAUm3D,EAAS,IAAM,GAAK,IAAlE,UACK,UAAA/tE,EAAMqtE,mBAAN,eAAmB54B,gBAAiB,OAG7C,KACJ,cAACv1C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI/wB,EAAMimD,SAAW,EAAI,GAAIjlD,MAAO,CAAE8B,QAAS,WAA1E,SACI,cAACqK,GAAA,EAAD,CAAYhK,QAAS,KAAMnC,MAAO,CAAEyZ,UAAWza,EAAMimD,SAAW,MAAQ,QAASnmD,YAAa,GAAIua,SAAUm3D,EAAS,IAAM,GAAK,IAAhI,SACK/tE,EAAMgpC,SAGf,cAAC9pC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAvB,SACI,eAACgK,GAAA,EAAD,CAAO/5B,MAAO,CAAE8B,QAAS,GAAIk+B,OAAQ,qBAArC,UACI,cAAC8iC,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,MAArB,SACI,cAACphE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAASm5D,GAAU,IAAM,eAAiB,aAAtE,mBACK/tE,EAAMksE,kBADX,aACK,EAAkBpmE,KAAI,SAAC2qE,GACpB,IAAMxR,EAAOvD,GAAa+U,EAAEC,gCAC5B,OACI,cAACxxE,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAG8xC,SAAS,KAA1D,SAEI,eAACngE,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,GAAIrR,MAAO,CAAEyZ,UAAW,UAAvC,UACI,cAACioD,EAAD,CAAMj/D,OAAO,IACb,wBAAOzC,MAAO,CAAE0X,WAAY,KAA5B,cAAqCw7D,EAAEE,qDAO/D,cAACtQ,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,MAA3B,SACI,cAACphE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,mBACKY,EAAMksE,kBADX,aACK,EAAkBpmE,KAAI,SAAC2qE,GACpB,IAAMxR,EAAOvD,GAAa+U,EAAEC,gCAC5B,OACI,eAACxxE,EAAA,EAAD,CAAMI,MAAI,EAACguB,GAAI,EAAG1e,GAAI,EAAGrP,GAAI,EAAGJ,WAAS,EAACkgE,SAAS,KAAnD,UAEI,cAACngE,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEyZ,UAAW,UAA/B,SACI,cAACioD,EAAD,CAAMj/D,OAAO,MAHrB,WAMI,cAACd,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEyZ,UAAW,UAA/B,SACI,wBAAOzZ,MAAO,CAAE0X,WAAY,KAA5B,cAAqCw7D,EAAEE,0DA3C3E,UAoDK3wE,EAAMisE,kBApDX,aAoDK,EAAkBnmE,KAAI,SAACgoB,GAAD,aACnB,cAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,SACI,eAACwmC,GAAA,EAAD,CAAgBroD,UAAW4rB,KAA3B,UACI,qBACI/5B,MAAO,CACHggC,OAAQ,6BAFhB,SAKI,oBAAIr8B,UAAWgH,EAAQvL,MAAvB,SAA+BmxB,EAAE0K,sCAErC,eAAC07B,GAAA,EAAD,CAAOv9C,aAAW,eAAezV,UAAWgH,EAAQ22D,MAApD,UACI,eAAC9F,GAAA,EAAD,WAEI,cAACsH,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,MAA3B,SACI,eAAC1M,GAAA,EAAD,WACI,cAAC,GAAD,CAAiB1pD,MAAuB,MAAxC,mBACA,eAAC,GAAD,CAAiBP,MAAM,OAAOO,MAAO6jE,GAAU,IAAM,MAAQ,MAA7D,UACI,cAAC,IAAD,CACI/tE,MAAO8tB,EAAE9tB,MACTjC,QAASuwE,EAAqB,KAAK,EAAMxgD,EAAE0K,mCAC3Cj7B,MAAO,CAAEsuD,MAAO,OAAQluD,OAAQ,UAAW+J,OAAQ,wBAJ3D,SAOW,OAEX,cAAC,GAAD,CAAiBiC,MAAM,SAASO,MAAO,KAAvC,oBAGA,cAAC,GAAD,CAAiBA,MAAO6jE,GAAU,KAAO,MAAQ,MAAjD,yBAIR,cAAC1N,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,KAAM,MAAjC,SACI,eAAC1M,GAAA,EAAD,WACI,cAAC,GAAD,CAAiB1pD,MAAO,MAAxB,mBACA,eAAC,GAAD,CAAiBP,MAAM,OAAOO,MAAO,MAArC,UACI,cAAC,IAAD,CACIlK,MAAO8tB,EAAE9tB,MACTjC,QAASuwE,EAAqB,KAAK,EAAMxgD,EAAE0K,mCAC3Cj7B,MAAO,CAAEsuD,MAAO,OAAQluD,OAAQ,UAAW+J,OAAQ,wBAJ3D,UAOY,YASpB,cAAC24D,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,MAA3B,SACI,cAAC1M,GAAA,EAAD,UAEI,eAAC,GAAD,CAAiBjqD,MAAM,OAAOO,MAAO,OAArC,UACI,cAAC,IAAD,CACIlK,MAAO8tB,EAAE9tB,MACTjC,QAASuwE,EAAqB,KAAK,EAAMxgD,EAAE0K,mCAC3Cj7B,MAAO,CAAEsuD,MAAO,OAAQluD,OAAQ,UAAW+J,OAAQ,wBAJ3D,QAOU,cAStB,cAACysD,GAAA,EAAD,oBACKrmC,EAAEy/C,+BADP,aACK,EAA2BznE,KAAI,SAAC0kD,GAAO,IAAD,gBACnC,OACI,qCACI,cAAC6V,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,MAA3B,SACI,eAAC,GAAD,WACI,eAAC,GAAD,CAAiB50D,UAAU,KAA3B,UACK8+C,EAAEomB,gCACH,wBACEpmB,EAAEkjB,uCAAH,UAA2C1tE,EAAMmN,cAAjD,aAA2C,EAAczE,SACtD,cAAC/G,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAczE,UACrC,QAGR,cAAC,GAAD,CAAiBiB,MAAM,OAAvB,SACI,cAACzK,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,aAAaxV,QAAS,EAA9C,SACKY,EAAMksE,WAAWpmE,KAAI,SAAC+lB,GACnB,IAAMozC,EAAOvD,GAAa7vC,EAAE6kD,iCAAmClxE,IAC/D,OACI,cAACN,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC2/D,EAAD,CACIlhE,QAAS,kBACLowE,EAAYtiD,EAAE6kD,+BAAgClmB,EAAEijB,yBAEpDztE,MACIwqD,EAAEkjB,uCACF7hD,EAAE6kD,0CAQ9B,cAAC,GAAD,CAAiB/mE,MAAM,SAAvB,SACI,cAAC,IAAD,CACI5L,QAAS,kBAAMiwE,EAAaxjB,EAAEijB,yBAC9BtO,MAAO3U,EAAE4U,WACTp/D,MAAOwqD,EAAE4U,WAAa,MAI9B,eAAC,GAAD,CAAiBz1D,MAAM,OAAvB,UACI,cAAC,IAAD,CACI/H,MAC+C,MAA3C4oD,EAAEkjB,sCACyC,MAA3CljB,EAAEkjB,qCAINnwE,MACI,GASJuR,YAAY,qBACZ3I,KAAK,kCACL6C,SAAUolE,EAAiB5jB,EAAEijB,uBAAwB3/C,EAAE0K,mCACvD95B,MAAOsB,EAAM2tE,kCAGjB,cAAChsE,EAAA,EAAD,CACIC,OAAK,EACLrE,MAAO,CACHszE,WAC+C,MAA3CrmB,EAAEkjB,sCACyC,MAA3CljB,EAAEkjB,qCACI,GACA,UAPlB,mBAUK1tE,EAAMmN,cAVX,aAUK,EAAcw5C,eAM/B,cAAC0Z,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,KAAM,MAAjC,SACI,eAAC,GAAD,WACI,eAAC,GAAD,CAAiB50D,UAAU,KAA3B,UACK8+C,EAAEomB,gCACH,wBACEpmB,EAAEkjB,uCAAH,UAA2C1tE,EAAMmN,cAAjD,aAA2C,EAAczE,SACtD,cAAC/G,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAczE,UACrC,QAGR,cAAC,GAAD,CAAiBiB,MAAM,OAAvB,SACI,eAACzK,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,aAAaxV,QAAS,EAA9C,UACKY,EAAMksE,WAAWpmE,KAAI,SAAC+lB,GACnB,IAAMozC,EAAOvD,GAAa7vC,EAAE6kD,iCAAmClxE,IAC/D,OACI,cAACN,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC2/D,EAAD,CACIlhE,QAAS,kBACLowE,EAAYtiD,EAAE6kD,+BAAgClmB,EAAEijB,yBAEpDztE,MACIwqD,EAAEkjB,uCACF7hD,EAAE6kD,sCAMtB,cAACxxE,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIvB,QAAS,kBAAMiwE,EAAaxjB,EAAEijB,yBAC9BtO,MAAO3U,EAAE4U,WACTp/D,MAAOwqD,EAAE4U,WAAa,MAG9B,cAAClgE,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIsC,MAC+C,MAA3C4oD,EAAEkjB,sCACyC,MAA3CljB,EAAEkjB,qCAINnwE,MACI,GASJuR,YAAY,qBACZ3I,KAAK,kCACL6C,SAAUolE,EACN5jB,EAAEijB,uBACF3/C,EAAE0K,mCAEN95B,MAAOsB,EAAM2tE,8CAwBrC,cAACtN,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,MAA3B,SACI,cAAC,GAAD,UACI,cAAC,GAAD,CAAiB50D,UAAU,KAA3B,SACI,eAACxM,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,eAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACK47C,EAAEomB,gCACH,wBACEpmB,EAAEkjB,uCAAH,UAA2C1tE,EAAMmN,cAAjD,aAA2C,EAAczE,SACtD,cAAC/G,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAczE,UACrC,QAER,eAACxJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAEyD,UAAW,OAAvC,oBAGA,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,aAAaxV,QAAS,EAA9C,UACKY,EAAMksE,WAAWpmE,KAAI,SAAC+lB,GACnB,IAAMozC,EAAOvD,GAAa7vC,EAAE6kD,iCAAmClxE,IAC/D,OACI,cAACN,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC2/D,EAAD,CACIlhE,QAAS,kBACLowE,EACItiD,EAAE6kD,+BACFlmB,EAAEijB,yBAGVztE,MACIwqD,EAAEkjB,uCACF7hD,EAAE6kD,sCAMtB,cAACxxE,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIvB,QAAS,kBAAMiwE,EAAaxjB,EAAEijB,yBAC9BtO,MAAO3U,EAAE4U,WACTp/D,MAAOwqD,EAAE4U,WAAa,YAKtC,eAAClgE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CACIC,QAAM,EACNiB,MAC+C,MAA3C4oD,EAAEkjB,sCACyC,MAA3CljB,EAAEkjB,qCAINnwE,MAAO,CAAEyD,UAAW,QARxB,oBAYA,cAAC,IAAD,CACIY,MAC+C,MAA3C4oD,EAAEkjB,sCACyC,MAA3CljB,EAAEkjB,qCAIN5+D,YAAY,qBACZ3I,KAAK,kCACL6C,SAAUolE,EACN5jB,EAAEijB,uBACF3/C,EAAE0K,mCAEN95B,MAAOsB,EAAM2tE,kCAGjB,cAAChsE,EAAA,EAAD,CACIC,OAAK,EACLrE,MAAO,CACHszE,WAC+C,MAA3CrmB,EAAEkjB,sCACyC,MAA3CljB,EAAEkjB,qCACI,GACA,UAPlB,mBAUK1tE,EAAMmN,cAVX,aAUK,EAAcw5C,sCAgBvE,cAACznD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACwP,UAAU,MAAMpP,GAAI,GAAIqP,GAAI,GAAjD,SACI,eAAC0oB,GAAA,EAAD,CAAOp2B,UAAWgH,EAAQ22D,MAA1B,UACI,cAAC3/D,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAApB,SACI,oBAAI2B,UAAWgH,EAAQujE,SAAvB,4BAEJ,cAAC,GAAD,CAAMzrE,MAAOA,EAAOs9D,aAAcA,EAAcp1D,QAASA,EAASglE,YAAaA,SAIvF,cAAChuE,EAAA,EAAD,CAAMI,MAAI,EAACqP,UAAU,MAAMpP,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAA/C,SACI,cAACgK,GAAA,EAAD,CAAOp2B,UAAWgH,EAAQ22D,MAA1B,SACI,eAAC3/D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,EAAvC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAEyD,UAAW,QAAvC,kCAIJ,cAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,eAACwtB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,mCACXxQ,KAAK,mCACLzH,OAAQsB,EAAMgwE,iCACdhnE,SAAUkkE,EALd,UAOI,cAAClgD,GAAA,EAAD,CAAkBtuB,MAAO,EAAGuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,gBACtD,cAACikB,GAAA,EAAD,CAAkBtuB,MAAO,EAAGuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,kBACtD,cAACikB,GAAA,EAAD,CAAkBtuB,MAAO,EAAGuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,mBAI9D,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAAtC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAAC,IAAD,CACImO,YAAY,oBACZ3I,KAAK,mCACLzH,MAAOsB,EAAMiwE,iCACbjnE,SAAUkkE,OAGlB,cAAChuE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,SAM9C,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,EAAvC,UACK,IACD,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAEyD,UAAW,OAAvC,6BAGA,cAAC,IAAD,CACI0tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,kBACZ3I,KAAK,iCACLzH,MAAOsB,EAAMkwE,+BACblnE,SAAUkkE,cAM9B,cAAChuE,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACwP,UAAU,MAAMpP,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAAhE,SACI,cAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,SACI,eAACwmC,GAAA,EAAD,CAAgBroD,UAAW4rB,KAA3B,UACI,qBACI/5B,MAAO,CACHggC,OAAQ,6BAFhB,SAKI,oBAAIr8B,UAAWgH,EAAQvL,MAAvB,kCAEJ,eAACu3D,GAAA,EAAD,CAAOv9C,aAAW,eAAezV,UAAWgH,EAAQ22D,MAApD,UACI,cAAC9F,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,CAAWvpD,MAAM,MAAjB,0BACA,cAACupD,GAAA,EAAD,CAAW9pD,MAAM,OAAOO,MAAM,MAA9B,4BAGA,cAACupD,GAAA,EAAD,CAAW9pD,MAAM,OAAOO,MAAM,MAA9B,6BAKR,eAACiqD,GAAA,EAAD,WACI,eAACP,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,kBACA,cAACA,GAAA,EAAD,yCACA,cAACA,GAAA,EAAD,UACI,cAAC,IAAD,CACI3kD,YAAY,IACZ3I,KAAK,2CACLzH,MAAOsB,EAAMmwE,yCACbnnE,SAAUkkE,SAItB,eAACtZ,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,kBACA,cAACA,GAAA,EAAD,2CACA,cAACA,GAAA,EAAD,UACI,cAAC,IAAD,CACI3kD,YAAY,IACZ3I,KAAK,6CACLzH,MAAOsB,EAAMowE,2CACbpnE,SAAUkkE,SAItB,eAACtZ,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,kBACA,cAACA,GAAA,EAAD,yCACA,cAACA,GAAA,EAAD,UACI,cAAC,IAAD,CACI3kD,YAAY,IACZ3I,KAAK,2CACLzH,MAAOsB,EAAMqwE,yCACbrnE,SAAUkkE,sBAS1C,cAAChuE,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACwP,UAAU,MAAMpP,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAAhE,SACI,eAACwmC,GAAA,EAAD,CAAgBroD,UAAW4rB,KAA3B,UACI,qBACI/5B,MAAO,CACHggC,OAAQ,6BAFhB,SAKI,qBAAIr8B,UAAWgH,EAAQvL,MAAvB,2BACoB,wEAGxB,eAACu3D,GAAA,EAAD,CAAOv9C,aAAW,eAAezV,UAAWgH,EAAQ22D,MAApD,UACI,cAAC9F,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,CAAWvpD,MAAM,MAAjB,kBACA,cAACupD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,oBACA,cAAC8pD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,oBACA,cAAC8pD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,oBACA,cAAC8pD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,yBAGR,eAACwqD,GAAA,EAAD,WACI,eAACP,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,CAAW/nD,UAAU,KAArB,SACI,sCAGJ,cAAC+nD,GAAA,EAAD,UACI,cAAC,IAAD,CACI3kD,YAAY,QACZ3I,KAAK,yBACLzH,MAAOsB,EAAM8wE,uBACb9nE,SAAUs0D,EAAa,OAG/B,cAAC7J,GAAA,EAAD,UACI,cAAC,IAAD,CACI3kD,YAAY,QACZ3I,KAAK,yBACLzH,MAAOsB,EAAM8wE,uBACb9nE,SAAUs0D,EAAa,OAG/B,cAAC7J,GAAA,EAAD,UACI,cAAC,IAAD,CACI3kD,YAAY,QACZiiE,KAAG,EACH5qD,OAAK,EACLhgB,KAAK,yBACLzH,MAAOsB,EAAM8wE,uBACb9nE,SAAUs0D,EAAa,OAG/B,cAAC7J,GAAA,EAAD,UACI,cAAC,IAAD,CACI3kD,YAAY,QACZ3I,KAAK,yBACLzH,MAAOsB,EAAM8wE,uBACb9nE,SAAUs0D,EAAa,UAInC,eAAC1J,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,CAAW/nD,UAAU,KAArB,SACI,sCAGJ,cAAC+nD,GAAA,EAAD,UACI,cAAC,IAAD,CACI3kD,YAAY,QACZ3I,KAAK,yBACLzH,MAAOsB,EAAMgxE,uBACbhoE,SAAUs0D,EAAa,OAG/B,cAAC7J,GAAA,EAAD,UACI,cAAC,IAAD,CACI3kD,YAAY,QACZ3I,KAAK,yBACLzH,MAAOsB,EAAMgxE,uBACbhoE,SAAUs0D,EAAa,OAG/B,cAAC7J,GAAA,EAAD,UACI,cAAC,IAAD,CACI3kD,YAAY,QACZ3I,KAAK,yBACLzH,MAAOsB,EAAMgxE,uBACbhoE,SAAUs0D,EAAa,OAG/B,cAAC7J,GAAA,EAAD,UACI,cAAC,IAAD,CACI3kD,YAAY,QACZ3I,KAAK,yBACLzH,MAAOsB,EAAMgxE,uBACbhoE,SAAUs0D,EAAa,UAInC,cAAC1J,GAAA,EAAD,eAOhB,cAAC10D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAvB,SACI,eAACgK,GAAA,EAAD,CAAOp2B,UAAWgH,EAAQ22D,MAA1B,UACI,cAAC3/D,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAApB,SACI,oBAAI2B,UAAWgH,EAAQujE,SAAvB,0CAEJ,eAACvsE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAAQ,gBAApC,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAIguB,GAAI,EAA7C,UACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,qCAGA,cAAC,IAAD,CACI8sB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,0BACZ3I,KAAK,qCACL6C,SAAUkkE,EACVxuE,MAAOsB,EAAM0vE,qCAEjB,cAAC/tE,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAcuiE,wCAEzC,cAACxwE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACL,EAAA,EAAD,CAAME,QAAS,EAAGD,WAAS,EAACwP,UAAU,MAAtC,UACI,eAACzP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,EAAvC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CAAYmO,YAAY,gBAAgB3I,KAAK,OAAO6C,SAAUkkE,EAAaxuE,MAAOsB,EAAMgpC,KAAMh+B,UAAQ,OAE1G,eAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,EAAvC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kCACA,cAAC,IAAD,CACImO,YAAY,uBACZ3I,KAAK,+BACLzH,MAAOsB,EAAMy8D,6BACbzzD,SAAUkkE,OAGlB,eAAChuE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,EAAGrsB,UAAU,mBAApD,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CACIsI,KAAK,SACL6F,YAAY,kBACZ3I,KAAK,2BACL6C,SAAUkkE,EACVxuE,MAAOsB,EAAMg+D,2BAEjB,cAACr8D,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAc6wD,sCAKrD,cAAC9+D,EAAA,EAAD,CAAMI,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAIguB,GAAI,EAAnC,SACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,mBAArD,UACI,sBAAK3D,MAAO,CAAEC,SAAU,YAAxB,UACI,eAACkD,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACc,IACTX,EAAMD,cACH,cAACa,EAAA,EAAD,CAASjE,MAAM,wBAAf,SACI,cAAC,IAAD,CAAiBoB,QAlvB/C,WAClBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBk7C,mBAAmB,EAAMx7C,eAAgBQ,IAAWC,qBAivBUhD,MAAO,CAAEI,OAAQ,UAAW+J,OAAQ,wBAEjF,QAER,qBACInK,MAAO,CACHC,SAAU,WACVC,MAAO,GAHf,SAMI,cAACmD,EAAA,EAAD,CAASjE,MAAM,kBAAf,SACI,cAAC,IAAD,CACIoB,QA59BtC,WACNiC,EAAMs7C,kBACN98C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk7C,mBAAmB,EACnBx7C,eAAgB,UAGpBG,EAAWa,QAAQC,SAq9ByBxD,MAAO,CACHI,OAAQ,iBAMvBqC,EAAMs7C,kBACH,qBAAKp6C,UAAU,eAAf,SACI,qBACID,IAAKjB,EAAMF,eACXqB,IAAI,eACJ5D,MAAO,CACHF,QAAS,QACT6M,MAAO,SAKnB,qBAAKhJ,UAAU,eAAf,SACI,cAAC,IAAD,CACIE,IAAKnB,EACLoB,YAAa,CAAEH,UAAW,UAE1BI,MAAO,WAx+BvD9C,GAAS,SAAC4B,GAKN,OAJS,2BACFA,GADE,IAELN,eAAgBG,EAAWa,QAAQU,yBA4+BX,cAACG,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAcrN,8BAMzD,cAACZ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,eAAC,IAAD,CAAiB7Q,QAASkxE,EAAoBh0D,YAAalB,EAA3D,mBACW,SAGf,cAAC7a,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAAS,kBAAMxB,EAAMO,WAAtC,yBAIXkD,EAAMkuE,eAEH,cAAC,GAAD,CACI7T,OAAQr6D,EAAM4+D,eACdjE,cAv+BM,SAACG,EAAWwE,GAE9B,IACIC,EADArlC,EAAY,aAAOl6B,EAAMqsE,4BAEzBlyC,EAAWn6B,EAAMqsE,2BAA2BjyC,WAAU,SAAClR,GAAD,OAAOA,EAAEukD,yBAA2BztE,EAAMiuE,qBAEpG,UAAO9zC,KACHolC,EAAmBzE,EAAUh1D,KAAI,SAACgoB,GAAD,OAAQA,EAAE0xC,SAAW1xC,EAAE0xC,SAAW1xC,KACnEoM,EAAaC,GAAUkgC,OAASkF,GAGpC,IAAIE,EAAS,aAAOz/D,EAAM28D,aAC1B8C,EAAUp0D,KAAK,CAAEq0D,4BAA6B1/D,EAAMiuE,kBAAmBtO,2BAA4BJ,IAInG/gE,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBisE,2BAA4BnyC,EAAc0kC,eAAgBW,EAAkB5C,YAAa8C,QAw9BxGhE,YA1vBI,WAChB,GAAIz7D,EAAM4+D,eAAerwD,OAAS,EAAG,CACjCzG,EAAiB,gCACjB,IAAIoyB,EAAY,aAAOl6B,EAAMqsE,4BACzBlyC,EAAWn6B,EAAMqsE,2BAA2BjyC,WAAU,SAAClR,GAAD,OAAOA,EAAEukD,yBAA2BztE,EAAMiuE,qBACpG/zC,EAAaC,GAAUilC,WAAallC,EAAaC,GAAUkgC,OAAO9rD,OAClE/P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBisE,2BAA4BnyC,OAE3D17B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8tE,gBAAgB,QAmvB/BpxE,QAAS,kBAAM0B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8tE,gBAAgB,QAC1DtT,UAAW,KAGnB,KAEC56D,EAAMitE,mBACH,cAACvwE,GAAA,EAAD,CAAYC,MAAO,qCAAsCG,QAASmyE,EAAoBlyE,SAAS,KAA/F,SACI,cAAC4oD,GAAD,CACIj9C,QACI,oIAEJk9C,aAAcqpB,EACd9kD,aAAcwlD,EACdhzE,MAAO,yCAGf,SCtvCVY,GAAQ,CACV0zE,WAAY,CACR5xE,QAAS,cAIb6xE,gBAAiB,CACb7xE,QAAS,YAGb8xE,SAAU,CACNnwE,UAAW,QAEfowE,QAAS,CACLpwE,UAAW,GAEfqwE,QAAS,CACLrwE,UAAW,KAEfswE,QAAS,CACLzjD,YAAa,OAEjB0jD,QAAS,CAAEvwE,UAAW,IACtBwwE,QAAS,CAAExwE,UAAW,KACtBywE,QAAS,CAAEzwE,UAAW,EAAGi+B,aAAc,IAGrC/gB,GAAW,SAAC5V,EAAKopE,GACnB,OAAIppE,EAEI,qCACKA,EACD,gCAAQopE,OAIT,OAqPAC,GAjPE,SAACp1E,GAAW,IAAD,wEAChByD,EAAmBzD,EAAnByD,MAAOkI,EAAY3L,EAAZ2L,QAEf,OACI,cAAChJ,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,eAAC+3B,GAAA,EAAD,CAAOp2B,UAAWgH,EAAQ22D,MAA1B,UACI,cAAC3/D,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,oBAAI+B,UAAWgH,EAAQujE,SAAvB,4BAEJ,eAACvsE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAIhC,MAAO,CAAE0hC,aAAc,GAAKrqB,QAAQ,SAAxE,UAEI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAA7C,UACI,cAACr/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,oBAAI1N,UAAWgH,EAAQkiE,WAAvB,sBAEJ,cAAClrE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,eAAC1P,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIoP,UAAU,MAAMiG,QAAQ,eAAhD,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYnD,MAAOA,GAAMg0E,QAAzB,mBACA,cAAC7nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBvH,aAAc,QAGhD,cAAC3pE,EAAA,EAAD,CAAYnD,MAAOA,GAAMi0E,QAAzB,mBACA,cAAC9nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBtH,aAAc,WAGpD,eAACprE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYnD,MAAOA,GAAM+zE,QAAzB,0BACA,cAAC5nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM2zE,gBAAiBxxE,QAAQ,YAAlD,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoB5G,qBAAsB,OAExD,qBAAK/pE,IAAKspE,GAAYttE,OAAO,QAAQiN,MAAM,OAAO3M,MAAOA,GAAMk0E,UAC/D,cAAC/wE,EAAA,EAAD,CAAYnD,MAAOA,GAAM+zE,QAAzB,0BACA,cAAC5nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM2zE,gBAAiBxxE,QAAQ,YAAlD,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoB9G,qBAAsB,UAG5D,eAAC5rE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYnD,MAAOA,GAAMg0E,QAAzB,sBACA,cAAC7nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBC,eAAgB,SAElD,cAACnxE,EAAA,EAAD,CAAYnD,MAAOA,GAAMi0E,QAAzB,sBACA,cAAC9nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBE,eAAgB,oBAOlE,eAAC5yE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAA7C,UACI,oBAAIr9B,UAAWgH,EAAQkiE,WAAvB,oBACA,cAAClrE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,eAAC1P,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIoP,UAAU,MAAMiG,QAAQ,eAAhD,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYnD,MAAOA,GAAM4zE,SAAzB,mBACA,cAACznE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBvH,aAAc,QAEhD,cAAC3pE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,mBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBjH,kBAAmB,QAErD,cAACjqE,EAAA,EAAD,CAAYnD,MAAOA,GAAM8zE,QAAzB,mBACA,cAAC3nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBhH,kBAAmB,QAErD,cAAClqE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,mBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBtH,aAAc,WAGpD,eAACprE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,qBAAK0B,IAAK4pE,GAAe5tE,OAAO,QAAQiN,MAAM,SAC9C,cAACxJ,EAAA,EAAD,CAAYnD,MAAOA,GAAM+zE,QAAzB,0BACA,cAAC5nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM2zE,gBAAiBxxE,QAAQ,YAAlD,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoB9G,qBAAsB,OAGxD,qBAAK7pE,IAAK8pE,GAAe9tE,OAAO,OAAOiN,MAAM,SAC7C,cAACxJ,EAAA,EAAD,CAAYnD,MAAOA,GAAM+zE,QAAzB,0BACA,cAAC5nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM2zE,gBAAiBxxE,QAAQ,YAAlD,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoB5G,qBAAsB,OAGxD,qBAAK/pE,IAAKgqE,GAAiBhuE,OAAO,QAAQiN,MAAM,YAEpD,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYnD,MAAOA,GAAM4zE,SAAzB,sBACA,cAACznE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBC,eAAgB,SAElD,cAACnxE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,sBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBG,oBAAqB,SAGvD,cAACrxE,EAAA,EAAD,CAAYnD,MAAOA,GAAM8zE,QAAzB,sBACA,cAAC3nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBI,oBAAqB,SAGvD,cAACtxE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,sBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBE,eAAgB,oBAQlE,eAAC5yE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAA7C,UACI,oBAAIr9B,UAAWgH,EAAQkiE,WAAvB,oBACA,cAAClrE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,eAAC1P,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIoP,UAAU,MAAMiG,QAAQ,eAAhD,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYnD,MAAOA,GAAM4zE,SAAzB,mBACA,cAACznE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBvH,aAAc,QAEhD,cAAC3pE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,mBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBjH,kBAAmB,QAErD,cAACjqE,EAAA,EAAD,CAAYnD,MAAOA,GAAM8zE,QAAzB,mBACA,cAAC3nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBhH,kBAAmB,QAErD,cAAClqE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,mBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBtH,aAAc,WAGpD,eAACprE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,qBAAK0B,IAAK4pE,GAAe5tE,OAAO,QAAQiN,MAAM,SAC9C,cAACxJ,EAAA,EAAD,CAAYnD,MAAOA,GAAM+zE,QAAzB,0BACA,cAAC5nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM2zE,gBAAiBxxE,QAAQ,YAAlD,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoB9G,qBAAsB,OAGxD,qBAAK7pE,IAAK8pE,GAAe9tE,OAAO,OAAOiN,MAAM,SAC7C,cAACxJ,EAAA,EAAD,CAAYnD,MAAOA,GAAM+zE,QAAzB,0BACA,cAAC5nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM2zE,gBAAiBxxE,QAAQ,YAAlD,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoB5G,qBAAsB,OAGxD,qBAAK/pE,IAAKgqE,GAAiBhuE,OAAO,QAAQiN,MAAM,YAEpD,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYnD,MAAOA,GAAM4zE,SAAzB,sBACA,cAACznE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBC,eAAgB,SAElD,cAACnxE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,sBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBG,oBAAqB,SAGvD,cAACrxE,EAAA,EAAD,CAAYnD,MAAOA,GAAM8zE,QAAzB,sBACA,cAAC3nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBI,oBAAqB,SAGvD,cAACtxE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,sBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBE,eAAgB,oBAOlE,eAAC5yE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAA7C,UACI,oBAAIr9B,UAAWgH,EAAQkiE,WAAvB,oBACA,cAAClrE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,eAAC1P,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIoP,UAAU,MAAMiG,QAAQ,eAAhD,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYnD,MAAOA,GAAM4zE,SAAzB,mBACA,cAACznE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBvH,aAAc,QAEhD,cAAC3pE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,mBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBjH,kBAAmB,QAErD,cAACjqE,EAAA,EAAD,CAAYnD,MAAOA,GAAM8zE,QAAzB,mBACA,cAAC3nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBhH,kBAAmB,QAErD,cAAClqE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,mBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBtH,aAAc,WAGpD,eAACprE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,qBAAK0B,IAAK4pE,GAAe5tE,OAAO,QAAQiN,MAAM,SAC9C,cAACxJ,EAAA,EAAD,CAAYnD,MAAOA,GAAM+zE,QAAzB,0BACA,cAAC5nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM2zE,gBAAiBxxE,QAAQ,YAAlD,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoB9G,qBAAsB,OAGxD,qBAAK7pE,IAAK8pE,GAAe9tE,OAAO,OAAOiN,MAAM,SAC7C,cAACxJ,EAAA,EAAD,CAAYnD,MAAOA,GAAM+zE,QAAzB,0BACA,cAAC5nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM2zE,gBAAiBxxE,QAAQ,YAAlD,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoB5G,qBAAsB,OAGxD,qBAAK/pE,IAAKgqE,GAAiBhuE,OAAO,QAAQiN,MAAM,YAEpD,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYnD,MAAOA,GAAM4zE,SAAzB,sBACA,cAACznE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBC,eAAgB,SAElD,cAACnxE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,sBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBG,oBAAqB,SAGvD,cAACrxE,EAAA,EAAD,CAAYnD,MAAOA,GAAM8zE,QAAzB,sBACA,cAAC3nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBI,oBAAqB,SAGvD,cAACtxE,EAAA,EAAD,CAAYnD,MAAOA,GAAM6zE,QAAzB,sBACA,cAAC1nE,GAAA,EAAD,CAAYnM,MAAOA,GAAM0zE,WAAYvxE,QAAQ,YAA7C,SACKwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBE,eAAgB,6BCKvEG,GAjQiB,SAAC11E,GAC7B,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAkCtJ,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAA0Bzb,mBAAS,CAC/B4O,OAAQ,GACR+kE,WAAY,GACZnyE,cAA6C,WAA9BO,IAAWC,iBAH9B,mBAAOP,EAAP,KAAcxB,EAAd,KAKMyB,EAAaC,iBAAO,IAE1BC,qBAAU,WACNgyE,MACD,IAEH,IAAMA,EAAY,uCAAG,8BAAA1xE,EAAA,sEACDipE,GAAgBntE,EAAM61E,cAAcC,8BADnC,QACbpwE,EADa,QAEToE,SACAzD,EAAOX,EAAIW,KAAK+4C,OAAO,GAE3Bn9C,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GAejB,OAdIwC,IACAw5B,EAAMk2C,aAAe1vE,EAAK+4C,OAC1Bvf,EAAMm2C,oCAAsC3vE,EAAK2vE,oCACjDn2C,EAAMo2C,2CAA6C5vE,EAAK4vE,2CACxDp2C,EAAMq2C,iCAAmC7vE,EAAK6vE,iCAC9Cr2C,EAAMkf,oBAAoB14C,EAAK4vE,2CAC/Bp2C,EAAMia,aAAazzC,EAAK8vE,YACxBt2C,EAAMu2C,sCAAwC/vE,EAAK+vE,sCAC7Cv8D,KAAOxT,EAAK+vE,uCAAuCt8D,OAAO,oBAC1D,GACN+lB,EAAMw2C,sCAAwChwE,EAAKgwE,sCACnDx2C,EAAMy2C,2BAA6BjwE,EAAKiwE,4BAE5Cz2C,EAAM81C,WAAajwE,EAAIW,KAAK4V,KACrB4jB,MAGXv0B,EAAe5F,EAAIyG,SAxBN,2CAAH,qDA4BZ0F,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KAErBzK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAEG2P,EAAc,WAChB,IAAIC,GAAc,EACdnB,EAAS,GAkBb,OAhBKnN,EAAMuyE,sCACPplE,EAAOolE,oCAAP,2BACAjkE,GAAc,GAE4B,GAA1CtO,EAAMyyE,kCAA0CzyE,EAAMyyE,mCACtDtlE,EAAOslE,iCAAP,8BACAnkE,GAAc,GAEbtO,EAAMwyE,6CACPrlE,EAAOqlE,2CAAP,mCACAlkE,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,OAELmB,GAGLqhE,EAAU,uCAAG,8BAAAlvE,EAAA,0DACX4N,IADW,uBAEPzL,EAAO,CACPiwE,2BAA4B7yE,EAAM6yE,2BAClCN,oCAAqCvyE,EAAMuyE,oCAE3CC,2CAA4CxyE,EAAMwyE,2CAClDC,iCAAkCzyE,EAAMyyE,kCAE5Cz4D,GAAa,GATF,SAUK2vD,GAAqB/mE,GAV1B,QAUPX,EAVO,QAWHoE,SACJyB,EAAiB,qCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAjBF,2CAAH,qDAuDhB,OACI,eAAC9a,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAACR,EAAA,EAAD,CAAYnD,MAAO,CAAE0X,WAAY,QAAjC,SAA4CjV,EAAMsyE,iBAItD,cAACpzE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAAC,IAAD,CACI2N,WAAW,eACX6f,WAAS,EACTzQ,KAAM,EACNnP,YAAY,eACZpQ,MAAOsB,EAAMuyE,oCACbvpE,SAAUoF,EACVjI,KAAK,sCACLgH,OAAQnN,EAAMmN,OAAOolE,oCACrBvnE,SAAUhL,EAAMq2C,eAIxB,eAACn3C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,2BAGA,cAAC,IAAD,CACI7E,MAAM,MACN/D,KAAK,mCACL6C,SAlCM,SAACu8D,GACnB/mE,GAAS,SAACm4B,GAAD,mBAAC,eACHA,GACA4uC,OAgCK7mE,MAAK,UAAKsB,EAAMyyE,kCAChBz3D,QAAShb,EAAMkyE,WACfY,kBAAkB,WAClBC,iBAAiB,SACjB/nE,SAAUhL,EAAMq2C,aAEpB,cAAC10C,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOslE,sCAGxC,cAACvzE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,sBAAK3D,MAAO,CAAEC,SAAU,YAAxB,UACI,eAACkD,EAAA,EAAD,CACIC,QAAM,EACN+K,UAAU,SACVnO,MAAO,CACHyD,UAAW,OAJnB,kCAQMhB,EAAMq2C,YAAcr2C,EAAMD,eACxB,cAACa,EAAA,EAAD,CAASjE,MAAM,wBAAf,SACI,cAAC,IAAD,CAAiBoB,QArFvB,WAClBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBk7C,mBAAmB,EAAMk3B,2CAA4ClyE,IAAWC,qBAoF1ChD,MAAO,CAAEmK,OAAQ,2BAKtE,qBACInK,MAAO,CACHC,SAAU,WACVC,MAAO,GAHf,UAMMuC,EAAMq2C,YACJ,cAACz1C,EAAA,EAAD,CAASjE,MAAM,kBAAf,SACI,cAAC,IAAD,CAAYoB,QA9F1B,WACNiC,EAAMs7C,kBACN98C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk7C,mBAAmB,EACnBk3B,2CAA4C,WAGhDvyE,EAAWa,QAAQC,QACnBvC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELoyE,2CAA4C,kBAwFvCxyE,EAAMs7C,kBACH,sBACI/9C,MAAO,CACHC,SAAU,YAFlB,UAKI,sBACID,MAAO,CACHC,SAAU,WACVC,MAAO,EACP6Y,OAAQ,EACRjZ,QAAS,OACTuxB,cAAe,SACftxB,WAAY,YAPpB,UAUI,cAACoM,GAAA,EAAD,CAAYhK,QAAQ,KAApB,SAA0BM,EAAM4yE,wCAChC,cAAClpE,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM2yE,2CAExC,qBACI1xE,IAAKjB,EAAMwyE,2CACXrxE,IAAI,eACJ5D,MAAO,CACHF,QAAS,QACTqK,OAAQ,SACR61B,OAAQ,kBACRrzB,MAAO,OACPjN,OAAQ,QACRoC,QAAS,gBAKrB,qBAAK6B,UAAU,eAAf,SACI,cAAC,IAAD,CACIG,YAAa,CAAEH,UAAW,UAC1BE,IAAKnB,EACLqB,MAAO,WAvH/B9C,GAAS,SAAC4B,GAKN,OAJS,2BACFA,GADE,IAELoyE,2CAA4CvyE,EAAWa,QAAQU,sBA2H3D,cAACG,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOqlE,kDAG1CxyE,EAAMq2C,WAOJ,cAACn3C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBxB,QAAS,kBAAMxB,EAAMO,SAAQ,IAA9C,sBAPJ,cAACoC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBxB,QAAS4xE,EAAY10D,YAAalB,EAAnD,2BCzNdo5C,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,WACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,eARO0+C,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,qBAAsB,CAClBi3B,gBAAiB,eAHNqf,CAMnB6V,MAEEtsD,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFzG,UAAW,IAEfuqE,MAAO,CACHp3D,SAAU,QAGdxX,MAAO,CACH8C,MAAO,UACPyS,WAAY,EACZlR,UAAW,EACXi+B,aAAc,GAElBpiB,OAAQ,CACJ3S,MAAO,OACPjN,OAAQ,OACRI,QAAS,OACTwxB,eAAgB,SAChBvxB,WAAY,SACZ0D,UAAW,KAEf69D,MAAO,CACHx/D,QAASmI,EAAMpI,QAAQ,GAEvBm+B,OAAQ,4BACRrzB,MAAO,QAEXkgE,WAAY,CACRpzD,UAAW,SACXvX,MAAO,UACPyK,MAAO,QAEXuhE,SAAU,CACNhsE,MAAO,UACPiI,OAAQ,EACRwK,YAAa,EACb+sB,aAAc,QAIhBy8B,GAAe,CACjBmQ,EAAGlQ,IACH+P,EAAG9P,IACH+P,EAAG7P,IACH8P,EAAG/P,IACHiQ,EAAGC,KAYDiH,GAAY,CACdj2C,EAAG,cACHF,EAAG,gBACHF,EAAG,aAGDze,GAAW,SAAC5V,EAAKopE,GACnB,OAAIppE,EAEI,qCACKA,EACD,gCAAQopE,OAIT,OAg9BAuB,GA58BgB,SAAC12E,GAAW,IAAD,0BAClC6wB,EAAkB9sB,IAAW+sB,gBAC3BnlB,EAAUZ,KAChB,EAA0Bg2C,KAA1B,mBAAOywB,EAAP,KACM5kE,GADN,KACuBD,MAEvB,EAA0B3K,mBAAS,CAC/B20E,mBAAoB,GACpBtB,UAAW,GACX1F,WAAY,GACZiH,MAAM,EACNC,SAAS,EACTrzE,cAA6C,WAA9BO,IAAWC,eAC1B8yE,WAAW,EACXC,mBAAmB,EACnBC,YAAa,KATjB,mBAAOvzE,EAAP,KAAcxB,EAAd,KAYA,EAA8BD,mBAAS,CAAEi1E,aAAa,EAAOpB,cAAe,KAAM5rB,aAAa,IAA/F,mBAAOitB,EAAP,KAAgBC,EAAhB,KAEA,EAA6C11E,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAO1B1H,qBAAU,WACNwzE,MACD,IAEH,IAAMA,EAAe,uCAAG,gDAAAlzE,EAAA,0DAChBlE,EAAMq3E,QADU,uBAEZP,GAAY,EACZC,GAAoB,EAHR,SAIA7J,GAAkBltE,EAAMq3E,SAJxB,QAIZ3xE,EAJY,QAKRoE,UACJpE,EAAIW,KAAKixE,yBAAyB/tE,KAAI,SAACgoB,EAAGmM,GACjCnM,EAAEgmD,qCACHhmD,EAAEgmD,mCAAqC,MAG3CC,EANS,aAMM9xE,EAAIW,KAAKixE,0BAExB5H,EAAa8H,EAASjuE,KAAI,SAACgoB,EAAGmM,GAC9B,IAAI+5C,EAcJ,OAbID,EAASxlE,OAAS,IAClBylE,EAAeD,EAASt5C,QAAO,SAAC+vB,GAC5B,GAAI18B,EAAE0K,oCAAsCgyB,EAAEhyB,kCAM1C,OALwB,GAApBgyB,EAAEypB,eACFX,GAAoB,EACO,GAApB9oB,EAAEypB,iBACTZ,GAAY,GAETvlD,MAInBkmD,EAAa7tE,KAAO2nB,EAAE0K,kCACfw7C,KAGPE,EAAoB1E,OAAO2E,OAAOlI,EAAWmI,QAAO,SAACC,EAAKC,GAAN,OAAc9E,OAAO+E,OAAOF,EAAd7E,OAAA,IAAAA,CAAA,GAAsB8E,EAAInuE,KAAOmuE,MAAQ,KAE3GE,EAAW,GACXvyE,EAAIW,KAAKgvE,YACL6C,EAAUxyE,EAAIW,KAAKgvE,UAAU7hE,MAAK,SAACmZ,GAAD,OAAwB,IAAjBA,EAAE8lD,cAC3C0F,EAAUzyE,EAAIW,KAAKgvE,UAAU7hE,MAAK,SAACmZ,GAAD,OAAwB,IAAjBA,EAAE8lD,cAC3C2F,EAAU1yE,EAAIW,KAAKgvE,UAAU7hE,MAAK,SAACmZ,GAAD,OAAwB,IAAjBA,EAAE8lD,cAC3C4F,EAAU3yE,EAAIW,KAAKgvE,UAAU7hE,MAAK,SAACmZ,GAAD,OAAwB,IAAjBA,EAAE8lD,cAC1CyF,IACDA,EAAU,CAAEzF,WAAY,IAEvB0F,IACDA,EAAU,CAAE1F,WAAY,IAEvB2F,IACDA,EAAU,CAAE3F,WAAY,IAEvB4F,IACDA,EAAU,CAAE5F,WAAY,IAE5BwF,EAAW,CAACC,EAASC,EAASC,EAASC,IAG3Cp2E,GAAS,SAAC4B,GACN,GAAI6B,EAAIoE,QACJ,OAAO,2BACAjG,GADP,IAEI+yE,MAAM,EACND,mBAAoBgB,EACpBtC,UAAU,aAAK4C,GACftI,WAAYjqE,EAAIW,KAAKiyE,yBACrBC,UAAW7yE,EAAIW,KAAKixE,yBACpB3B,WAAYjwE,EAAIW,KAAKmyE,iCACrB1B,UAAWA,EACXC,kBAAmBA,OAI/BrxE,EAAIW,KAAKswE,mBAAmBptE,KAAI,SAACxG,GACzBA,EAAKwtE,qCACLtuE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELgzE,SAAS,OAIjB50E,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2C,UAAWzD,EAAKyD,UAChBgQ,iBAAkBzT,EAAKyT,iBACvBi2B,KAAM5yB,KAAO9W,EAAKotE,gCAAgCr2D,OAAO,cACzDrI,OAAQ1O,EAAKmxC,YACb3jC,QAASxN,EAAKkxC,aACd8K,kBAAmBh8C,EAAKywE,oCACxBxD,4BAA6BjtE,EAAKitE,4BAClCE,0BAA2BntE,EAAKmtE,0BAChCC,+BAAgCt2D,KAAO9W,EAAKotE,gCAAgCr2D,OAAO,oBACnFs2D,wBAAyBrtE,EAAKqtE,wBAC9B3O,yBAA0B1+D,EAAKuwE,yBAC/BpT,6BAA8Bn9D,EAAKwwE,+BACnCJ,mCAAoCpwE,EAAKowE,mCACzC7C,+BAAgCvtE,EAAKutE,+BACrCC,oCAAqCxtE,EAAKwtE,oCAC1CC,+BAAgCztE,EAAKytE,+BACrCC,oCAAqC1tE,EAAK0tE,oCAC1CV,oBAAqBhtE,EAAKgtE,oBAC1BM,kCAAmCttE,EAAKstE,kCAExCoD,iCAAkC1wE,EAAK0wE,iCACvCC,iCAAkC3wE,EAAK2wE,iCACvCC,+BAAgC5wE,EAAK4wE,+BACrCC,yCAA0C7wE,EAAK6wE,yCAC/CC,2CAA4C9wE,EAAK8wE,2CACjDC,yCAA0C/wE,EAAK+wE,kDAxG3C,2CAAH,qDA+GrBlwE,oBAAS,sBAAC,sBAAAM,EAAA,sDACFT,EAAM+C,WACNiyE,IAFE,2CAIP,CAACh1E,EAAM+C,YAEV,IAAMiyE,EAAQ,uCAAG,4BAAAv0E,EAAA,sEACkB4nC,GAAaroC,EAAM+C,WADrC,QACTqqE,EADS,QAGU/mE,SACnB7H,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAELitE,YAAW,UAAED,EAAmBxqE,KAAK2G,QAAQ,UAAlC,aAAE,EAAoCkoC,wBAN5C,2CAAH,qDAWRxxC,EAAaC,iBAAO,IA8CpB8tE,EAAY,uCAAG,WAAOiH,GAAP,mBAAAx0E,EAAA,sEACDu5D,GAAaib,GADZ,QACbhzE,EADa,QAERW,KAAK4V,KAUVha,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8tE,gBAAgB,EAChB+G,wBAAyBA,EACzBrW,eAAgB38D,EAAIW,KAAK4V,KAAK1S,KAAI,SAACgoB,GAAD,OAAOA,EAAEonD,kCAAkC,SAb7Eh7C,EADY,aACOl6B,EAAM80E,WACzB36C,EAAWn6B,EAAM80E,UAAU16C,WAAU,SAAClR,GAAD,OAAOA,EAAEmpD,+BAAiC4C,KACnFz2E,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8tE,gBAAgB,EAChB+G,wBAAyBA,EACzBrW,eAAgB1kC,EAAaC,GAAUkgC,QAAU,SATxC,2CAAH,sDA8DZsV,EAAU,uCAAG,gCAAAlvE,EAAA,6DACXmvE,EAAW5vE,EAAM80E,UAAUhvE,KAAI,SAACuC,GAAD,MAAQ,CACvCmlE,kCAAmCnlE,EAAEmlE,kCACrCE,qCAAsCrlE,EAAEqlE,qCACxCC,gCAAiCtlE,EAAEslE,gCACnCC,sCAAuCvlE,EAAEulE,sCACzCC,mCAAoCxlE,EAAEwlE,mCACtCiG,mCAAoCzrE,EAAEyrE,uCAItClxE,EAAO,CACP2pE,4BAA6BvsE,EAAMusE,4BACnCE,0BAA2BzsE,EAAMysE,0BACjCC,+BAAgC1sE,EAAM0sE,+BACtCC,wBAAyB3sE,EAAM2sE,wBAC/BkD,yBAA0B7vE,EAAMg+D,yBAChC8R,+BAAgC9vE,EAAMy8D,6BACtCsT,oCAAqC/vE,EAAMF,eAC3C4vE,mCAAoC1vE,EAAM0vE,mCAC1C7C,+BAAgC7sE,EAAM6sE,+BACtCC,oCAAqC9sE,EAAM8sE,oCAC3CC,+BAAgC/sE,EAAM+sE,+BACtCC,oCAAqChtE,EAAMgtE,oCAC3CV,oBAAqBtsE,EAAMssE,oBAC3B0D,iCAAkChwE,EAAMgwE,iCACxCC,iCAAkCjwE,EAAMiwE,iCACxCC,+BAAgClwE,EAAMkwE,+BACtCC,yCAA0CnwE,EAAMmwE,yCAChDC,2CAA4CpwE,EAAMowE,2CAClDC,yCAA0CrwE,EAAMqwE,yCAChDzD,kCAAmC5sE,EAAM4sE,kCACzC2D,8BAA+BX,EAC/BxD,uBAAwBpsE,EAAM4xE,WAjCnB,SAoCCpI,GAAe5mE,GApChB,QAoCXX,EApCW,QAqCPoE,SACJyB,EAAiB,4CACjBvL,EAAMO,WAEN+K,EAAe5F,EAAIyG,SAzCR,2CAAH,qDA8CVysE,EAAoB,SAACC,GACvB1B,GAAW,SAACtzE,GAAD,mBAAC,eACLA,GADI,IAEPozE,aAAa,EACbpB,cAAegD,QAIjBC,EAAyB,SAACpzE,GAC5ByxE,GAAW,SAACtzE,GAAD,mBAAC,eACLA,GADI,IAEPozE,aAAa,EACbhtB,aAAa,OAEjBvkD,GAAO0xE,KAGL2B,GAAgB,YAjFF,WAChB,IAAIhnE,GAAc,EACdnB,EAAS,GAab,OAXKnN,EAAM4sE,oCACPz/D,EAAOy/D,kCAAP,iCACAt+D,GAAc,GAEbtO,EAAM8sE,sCACP3/D,EAAO2/D,oCAAP,yBAEJtuE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,OAELmB,GAmEHD,IACAqlE,GAAW,SAACtzE,GAAD,mBAAC,eACLA,GADI,IAEPomD,aAAa,QAKnB+uB,GAAW,uCAAG,kCAAA90E,EAAA,6DACZg/D,EADY,aACIz/D,EAAMuzE,aACtB3wE,EAAO,CACP4yE,0BAA2B,KAC3BC,gCAAiCz1E,EAAMi1E,wBACvCC,8BAA+BzV,GALnB,SAOA1F,GAAUn3D,GAPV,cAQRyD,UACA6zB,EADS,aACUl6B,EAAM80E,WACzB36C,EAAWn6B,EAAM80E,UAAU16C,WAAU,SAAClR,GAAD,OAAOA,EAAEmpD,+BAAiCryE,EAAMi1E,2BACzF/6C,EAAaC,GAAUilC,WAAallC,EAAaC,GAAUkgC,OAAO9rD,OAClEzG,EAAiB,+BACjBtJ,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8tE,gBAAgB,EAChB4G,UAAW56C,QAhBH,2CAAH,qDAqBjB,OACI,sBAAKh5B,UAAWgH,EAAQT,KAAxB,UACMzH,EAAMmzE,KA4jBJ,qBAAKjyE,UAAWgH,EAAQ2U,OAAxB,SACI,cAACiS,GAAA,EAAD,CAAkBrvB,MAAM,gBA5jB5B,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACK7C,EAAMimD,SACH,cAACtjD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAI/vB,MAAO,CAAE8B,QAAS,WAArD,SACI,cAACqK,GAAA,EAAD,CAAYhK,QAAS,KAAMnC,MAAO,CAAEqZ,SAAUm3D,EAAS,IAAM,GAAK,IAAlE,UACK,UAAA/tE,EAAMqtE,mBAAN,eAAmB54B,gBAAiB,OAG7C,KACJ,cAACv1C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI/wB,EAAMimD,SAAW,EAAI,GAAIjlD,MAAO,CAAE8B,QAAS,WAA1E,SACI,cAACqK,GAAA,EAAD,CAAYhK,QAAS,KAAMnC,MAAO,CAAEyZ,UAAWza,EAAMimD,SAAW,MAAQ,QAAS5rC,SAAUm3D,EAAS,IAAM,GAAK,IAA/G,SACK/tE,EAAMgpC,SAGf,eAAC9pC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAvB,UACKygD,GAAU,IAAM,KAAO,qBAAKxwE,MAAO,CAAE0X,WAAY,KAA1B,oBACxB,eAACqiB,GAAA,EAAD,CAAO/5B,MAAO,CAAE8B,QAAS,GAAIk+B,OAAQ,qBAArC,UACI,cAAC8iC,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,MAArB,SACI,cAACphE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAASm5D,GAAU,IAAM,eAAiB,aAAtE,mBACK/tE,EAAMksE,kBADX,aACK,EAAkBpmE,KAAI,SAAC2qE,EAAGx2C,GACvB,IAAMglC,EAAOvD,GAAa+U,EAAEC,gCAC5B,OACI,cAACxxE,EAAA,EAAD,CAAMI,MAAI,EAASH,WAAS,EAACI,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAG8xC,SAAS,KAAlE,SAEI,eAACngE,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,GAAIrR,MAAO,CAAEyZ,UAAW,UAAvC,UACI,cAACioD,EAAD,CAAMj/D,OAAO,IACb,wBAAOzC,MAAO,CAAE0X,WAAY,KAA5B,cAAqCw7D,EAAEE,6CAJ/B12C,UAWhC,cAAComC,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,MAA3B,SACI,cAACphE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,mBACKY,EAAMksE,kBADX,aACK,EAAkBpmE,KAAI,SAAC2qE,EAAGx2C,GACvB,IAAMglC,EAAOvD,GAAa+U,EAAEC,gCAC5B,OACI,eAACxxE,EAAA,EAAD,CAAcI,MAAI,EAACguB,GAAI,EAAG1e,GAAI,EAAGrP,GAAI,EAAGJ,WAAS,EAACkgE,SAAS,KAA3D,UAEI,cAACngE,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEyZ,UAAW,UAA/B,SACI,cAACioD,EAAD,CAAMj/D,OAAO,MAHrB,WAMI,cAACd,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEyZ,UAAW,UAA/B,SACI,wBAAOzZ,MAAO,CAAE0X,WAAY,KAA5B,cAAqCw7D,EAAEE,6CAPpC12C,gBAiBlCj6B,EAAMkzE,mBAAmBptE,KAAI,SAACgoB,EAAGmM,GAAJ,OAC1B,cAAC/6B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,SACI,eAACwmC,GAAA,EAAD,CAAgBroD,UAAW4rB,KAA3B,UACI,qBACI/5B,MAAO,CACHggC,OAAQ,6BAFhB,SAKI,oBAAIr8B,UAAWgH,EAAQvL,MAAvB,SAA+BmxB,EAAE3nB,SAErC,eAAC+tD,GAAA,EAAD,CAAOv9C,aAAW,eAAezV,UAAWgH,EAAQ22D,MAApD,UACI,eAAC9F,GAAA,EAAD,WACI,cAACsH,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,MAA3B,SACI,eAAC1M,GAAA,EAAD,WACI,cAAC,GAAD,CAAiB1pD,MAAM,MAAvB,mBACA,cAAC,GAAD,CAAiBP,MAAM,SAASO,MAAM,KAAtC,oBAGA,cAAC,GAAD,CAAiBP,MAAM,SAASO,MAAM,KAAtC,oBAGA,cAAC,GAAD,CAAiBP,MAAM,OAAOO,MAAM,MAApC,+BAKR,cAACm2D,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,MAArB,SACI,cAAC1M,GAAA,EAAD,UACI,cAAC,GAAD,CAAiB1pD,MAAM,MAAvB,0BAIZ,cAACiqD,GAAA,EAAD,UACKrmC,EAAEhoB,KAAI,SAAC0kD,EAAGvwB,GAAJ,OACH,qCACI,cAAComC,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,MAA3B,SACI,eAAC,GAAD,CACI/iE,MAAO,CACHmhC,gBAC8C,KAA1C8rB,EAAEkjB,qCACI,UAC0C,KAA1CljB,EAAEkjB,qCACF,UACA,IAPlB,UAUI,cAAC,GAAD,CAAiBhiE,UAAU,KAA3B,SACK8+C,EAAEomB,kCAIN5wE,EAAMksE,WAAWpmE,KAAI,SAAC+lB,GAEf,IAAMozC,EAAOvD,GAAa7vC,EAAE6kD,iCAAmC,UAG/D,GAFelmB,EAAEkjB,uCAEF7hD,EAAE6kD,+BACb,OACI,cAAC,GAAD,CAAiB/mE,MAAM,SAAvB,SACI,cAACs1D,EAAD,CACIj/D,MACIwqD,EAAEkjB,uCAAyC7hD,EAAE6kD,+BAEjD1lE,UAAU,SAOlC,eAAC,GAAD,CAAiBrB,MAAM,SAAvB,UACK,IACD,cAAC,IAAD,CACI5L,QAAS,kBAAMiwE,EAAaxjB,EAAE6nB,+BAC9BlT,MAAO3U,EAAEkrB,gBAAkBlrB,EAAE4U,WAC7Bp/D,MAAOwqD,EAAEkrB,eAAiB,GAAKlrB,EAAE4U,WAAa,OAItD,cAAC,GAAD,CAAiBz1D,MAAM,SAAvB,SAEI,eAACzK,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,gBAAgBtX,WAAW,SAAS8B,QAAS,EAArE,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,eAACoK,GAAA,EAAD,CAAYhK,QAAQ,UAAUrC,QAAQ,QAAQ6/B,cAAY,EAA1D,UACK,IACAstB,EAAEmjB,gCAAkCnjB,EAAEmjB,gCAAkC,MAAO,SAGvFnjB,EAAEypB,gBACC,cAAC/0E,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIwV,KAAM2uD,KACN3oB,aAAc,GACd/xC,MAA4B,IAArByhD,EAAEypB,eAAF,UAA4BzpB,EAAEmrB,aAA9B,eAAiDnrB,EAAEkoB,aAAgB,SAC1E30E,QAAS,kBAAMo3E,EAAkB3qB,IACjCtpD,UAAU,QACV3D,MAAO,CACH0X,WAAY,OACZypB,gBACI8rB,EAAEypB,gBAAkBzpB,EAAEkoB,YAAtB,UAAuCloB,EAAEltB,kBAAqB,kBAUlG,cAAC+iC,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,MAArB,SACI,cAAC,GAAD,CACI/iE,MAAO,CACHmhC,gBAC8C,KAA1C8rB,EAAEkjB,qCACI,UAC0C,KAA1CljB,EAAEkjB,qCACF,UACA,IAPlB,SAUI,cAAC,GAAD,CAAiBhiE,UAAU,KAA3B,SACI,eAACxM,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACguB,GAAI,GAAI1e,GAAI,EAAGrP,GAAI,GAA9B,UACK,IACAirD,EAAEomB,mCAEP,eAAC1xE,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGkuB,GAAI,EAAG1e,GAAI,EAAGrP,GAAI,GAAnD,UACKS,EAAMksE,WAAWpmE,KAAI,SAAC+lB,GAEf,IAAMozC,EAAOvD,GAAa7vC,EAAE6kD,iCAAmC,UAG/D,GAFelmB,EAAEkjB,uCAEF7hD,EAAE6kD,+BACb,OACI,cAACxxE,EAAA,EAAD,CAAMI,MAAI,EAACqK,MAAM,SAAjB,SACI,cAACs1D,EAAD,CACIj/D,MACIwqD,EAAEkjB,uCACF7hD,EAAE6kD,+BAEN1lE,UAAU,SAOlC,cAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACqK,MAAM,SAAjB,SACI,cAAC,IAAD,CACI5L,QAAS,kBAAMiwE,EAAaxjB,EAAE6nB,+BAC9BlT,MAAO3U,EAAEkrB,gBAAkBlrB,EAAE4U,WAC7Bp/D,MAAOwqD,EAAEkrB,eAAiB,GAAKlrB,EAAE4U,WAAa,SAI1D,cAAClgE,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAzB,SACI,cAACL,EAAA,EAAD,CAAMI,MAAI,EAAV,SAEI,eAACoK,GAAA,EAAD,CAAYhK,QAAQ,UAAUrC,QAAQ,QAAQ6/B,cAAY,EAA1D,UACK,IADL,gBAEkB,IACbstB,EAAEmjB,gCAAkCnjB,EAAEmjB,gCAAkC,MAAO,IAC/EnjB,EAAEypB,gBACC,cAAC,IAAD,CACIn/D,KAAM2uD,KACN3oB,aAAc,GACd/xC,MACyB,IAArByhD,EAAEypB,eAAF,UACSzpB,EAAEmrB,aADX,eAC8BnrB,EAAEkoB,aAC1B,SAEV30E,QAAS,kBAAMo3E,EAAkB3qB,IACjCtpD,UAAU,QACV3D,MAAO,CACH0X,WAAY,OACZypB,gBACI8rB,EAAEypB,gBAAkBzpB,EAAEkoB,YAAtB,UAAuCloB,EAAEltB,kBAAqB,qCA/K1FrD,MAkM5C,cAAC/6B,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACwP,UAAU,MAAMpP,GAAI,GAAIqP,GAAI,GAAjD,SACI,cAAC,GAAD,CAAU5O,MAAOA,EAAOkI,QAASA,MAErC,cAAChJ,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACwP,UAAU,MAAMpP,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAzD,SACI,cAACgK,GAAA,EAAD,CAAOp2B,UAAWgH,EAAQ22D,MAA1B,SACI,cAAC3/D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,GAAvC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,eAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kCACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+BszE,GAAUhzE,EAAMgwE,mCAAqC,YAExF,eAAC9wE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,iCACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+BM,EAAMiwE,kCAAoC,YAE7E,eAAC/wE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+BM,EAAMkwE,gCAAkC,uBAO/F,cAAChxE,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACwP,UAAU,MAAMpP,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAAhE,SACI,cAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,SACI,eAACwmC,GAAA,EAAD,CAAgBroD,UAAW4rB,KAA3B,UACI,qBACI/5B,MAAO,CACHggC,OAAQ,4BACRl+B,QAAS,WAHjB,SAMI,oBAAI6B,UAAWgH,EAAQvL,MAAvB,kCAEJ,eAACu3D,GAAA,EAAD,CAAOv9C,aAAW,eAAezV,UAAWgH,EAAQ22D,MAApD,UACI,cAAC9F,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,CAAWvpD,MAAM,MAAjB,0BACA,cAACupD,GAAA,EAAD,CAAW9pD,MAAM,OAAOO,MAAM,MAA9B,4BAGA,cAACupD,GAAA,EAAD,CAAW9pD,MAAM,OAAOO,MAAM,MAA9B,6BAKR,eAACiqD,GAAA,EAAD,WACI,eAACP,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,kBACA,cAACA,GAAA,EAAD,yCACA,cAACA,GAAA,EAAD,UACI,eAAC/pD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+Bwe,GAASle,EAAMmwE,yCAA0C,aAGhG,eAACvc,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,kBACA,cAACA,GAAA,EAAD,2CACA,cAACA,GAAA,EAAD,UACI,eAAC/pD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+Bwe,GAASle,EAAMowE,2CAA4C,aAGlG,eAACxc,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,kBACA,cAACA,GAAA,EAAD,yCACA,cAACA,GAAA,EAAD,UACI,eAAC/pD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+Bwe,GAASle,EAAMqwE,yCAA0C,0BAQpH,cAACnxE,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACwP,UAAU,MAAMpP,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAAhE,SACI,eAACwmC,GAAA,EAAD,CAAgBroD,UAAW4rB,KAA3B,UACI,qBACI/5B,MAAO,CACHggC,OAAQ,6BAFhB,SAKI,qBAAIr8B,UAAWgH,EAAQvL,MAAvB,2BACoB,wEAGxB,eAACu3D,GAAA,EAAD,CAAOv9C,aAAW,eAAezV,UAAWgH,EAAQ22D,MAApD,UACI,cAAC9F,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,CAAWvpD,MAAM,MAAjB,kBACA,cAACupD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,oBACA,cAAC8pD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,oBACA,cAAC8pD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,oBACA,cAAC8pD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,yBAGR,eAACwqD,GAAA,EAAD,WACI,eAACP,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,CAAW/nD,UAAU,KAArB,SACI,sCAGJ,cAAC+nD,GAAA,EAAD,UACI,eAAC/pD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+Bwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBd,uBAAwB,cAExF,cAACrd,GAAA,EAAD,UACI,eAAC/pD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+Bwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBd,uBAAwB,cAExF,cAACrd,GAAA,EAAD,UACI,eAAC/pD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+Bwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBd,uBAAwB,cAExF,cAACrd,GAAA,EAAD,UACI,eAAC/pD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+Bwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBd,uBAAwB,iBAG5F,eAACld,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,CAAW/nD,UAAU,KAArB,SACI,sCAGJ,cAAC+nD,GAAA,EAAD,UACI,eAAC/pD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+Bwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBZ,uBAAwB,cAExF,cAACvd,GAAA,EAAD,UACI,eAAC/pD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+Bwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBZ,uBAAwB,cAExF,cAACvd,GAAA,EAAD,UACI,eAAC/pD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+Bwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBZ,uBAAwB,cAExF,cAACvd,GAAA,EAAD,UACI,eAAC/pD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+Bwe,GAAQ,UAACle,EAAM4xE,UAAU,UAAjB,aAAC,EAAoBZ,uBAAwB,iBAG5F,cAACpd,GAAA,EAAD,eAMhB,cAAC10D,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAzB,SACI,eAAC+3B,GAAA,EAAD,CAAOp2B,UAAWgH,EAAQ22D,MAA1B,UACI,cAAC3/D,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAApB,SACI,oBAAI2B,UAAWgH,EAAQujE,SAAvB,0CAEJ,eAACvsE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAAQ,gBAApC,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAI+tB,GAAI,EAA7C,UACI,eAACpuB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,qCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM0vE,wCAExC,cAACxwE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAME,QAAS,EAAGD,WAAS,EAACwP,UAAU,MAAtC,SACI,eAACzP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,EAAvC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMg+D,qCAKpD,cAAC9+D,EAAA,EAAD,CAAMI,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI+tB,GAAI,EAAnC,SACI,cAACpuB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,GAAvC,SACI,sBAAKhwB,MAAO,CAAEC,SAAU,YAAxB,UACI,cAACkD,EAAA,EAAD,CAAYC,QAAM,EAAlB,uBACA,qBACIpD,MAAO,CACHC,SAAU,WACVC,MAAO,KAGf,sBACIF,MAAO,CACHC,SAAU,WACVC,MAAO,EACP6Y,OAAQ,EACRjZ,QAAS,OACTuxB,cAAe,SACftxB,WAAY,YAPpB,UAUI,cAACoM,GAAA,EAAD,CAAYhK,QAAQ,KAApB,SAA0BM,EAAMy8D,+BAChC,cAAC/yD,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM0sE,oCAGvC1sE,EAAMs7C,kBACH,qBAAKp6C,UAAU,eAAf,SACI,qBAAKD,IAAKjB,EAAMs7C,kBAAmB/9C,MAAO,CAAE2M,MAAO,OAAQjN,OAAQ,QAAUkE,IAAI,mBAGrF,qBAAKD,UAAU,eAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,SAApB,iDAShC,cAACR,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAzB,SACI,eAAC+3B,GAAA,EAAD,CAAOp2B,UAAWgH,EAAQ22D,MAA1B,UACI,cAAC3/D,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAApB,SACI,oBAAI2B,UAAWgH,EAAQujE,SAAvB,wBAEJ,eAACvsE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAAQ,gBAApC,UACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAACR,EAAA,EAAD,CAAYnD,MAAO,CAAE0X,WAAY,QAAjC,UAGMjV,EAAMqzE,WAAarzE,EAAMszE,kBACrBnqE,EAAeysE,wCACfzsE,EAAei5C,2CAK7B,eAACljD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG/vB,MAAO,CAAE0hC,aAAkD,IAApCj/B,EAAMysE,0BAAkC,GAAK,GAAKvrE,UAAU,mBAA7G,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,uBACqC,IAApCX,EAAMysE,0BACH,eAAC/iE,GAAA,EAAD,CAAYhK,QAAQ,KAApB,UAA0BM,EAAM4sE,kCAAhC,OAEA,cAAC,IAAD,CACIl+C,WAAS,EACTzQ,KAAM,EACNnP,YAAY,UACZ3I,KAAK,oCACLzH,MAAOsB,EAAM4sE,kCACb5jE,SAhzBpB,SAACX,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,EAAOzH,UAizBb,cAACiD,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAcy/D,uCAEzC,cAAC1tE,EAAA,EAAD,CAAMI,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI+tB,GAAI,EAAnC,SACI,cAACpuB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,GAAvC,SACI,sBAAKhwB,MAAO,CAAEC,SAAU,YAAxB,UACI,eAACkD,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,sBAEK5B,EAAMD,eAAqD,IAApCC,EAAMysE,0BAC1B,cAAC7rE,EAAA,EAAD,CAASjE,MAAM,wBAAf,SACI,cAAC,IAAD,CAAiBoB,QA7lB/C,WAClBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB0J,KAAK,EAAMgjE,oCAAqCxsE,IAAWC,qBA4lBGhD,MAAO,CAAEI,OAAQ,UAAW+J,OAAQ,wBAEjF,QAEP1H,EAAMozE,QACH,qBACI71E,MAAO,CACHC,SAAU,WACVC,MAAO,GAHf,SAMI,cAACmD,EAAA,EAAD,CAASjE,MAAM,kBAAf,SACI,cAAC,IAAD,CACIoB,QA/rB1C,WACNiC,EAAM8sE,oCACNtuE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL0sE,oCAAqC,UAGzC7sE,EAAWa,QAAQC,SAyrB6BxD,MAAO,CACHI,OAAQ,iBAKxB,KAEiC,IAApCqC,EAAMysE,0BACH,sBACIlvE,MAAO,CACHC,SAAU,WACVC,MAAO,EACP6Y,OAAQ,GAJhB,UAOI,cAAC5M,GAAA,EAAD,CAAYhK,QAAQ,KAApB,SAA0BM,EAAM6sE,iCAChC,cAACnjE,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SACK0W,KAAOpW,EAAM+sE,gCAAgC12D,OAAO,yBAG7D,KACJ,qBAAKnV,UAAU,uBAAf,SACKlB,EAAM8sE,oCACH,qBAAK5rE,UAAU,eAAf,SACI,qBACID,IAAKjB,EAAM8sE,oCACXvvE,MAAO,CAAE2M,MAAO,OAAQjN,OAAQ,QAChCkE,IAAI,mBAIZ,qBAAKD,UAAU,eAAf,SACI,cAAC,IAAD,CACIE,IAAKnB,EACLoB,YAAa,CAAEH,UAAW,UAC1BI,MAAO,YAztBrC,WACtB,IAAIC,EAASvB,EAAMuB,OACnB/C,GAAS,SAAC4B,GAMN,OALS,2BACFA,GADE,IAEL0sE,oCAAqC7sE,EAAWa,QAAQU,YACxDD,OAAQA,OAotBwCE,UAMpB,cAACE,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAc2/D,qDAO7D,eAAC5tE,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAIguB,GAAI,GAA7C,UACKvtB,EAAMqzE,WAAiD,IAApCrzE,EAAMysE,0BAAkC,KACxD,cAACvtE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACK5O,EAAMszE,kBACH,cAAC,IAAD,CAAiBv1E,QAASu3E,GAAetqE,SAAQ,OAAEoiB,QAAF,IAAEA,OAAF,EAAEA,EAAiByoD,4BAApE,+BAIA,cAAC,IAAD,CAAiB93E,QAASu3E,GAAetqE,SAAUhL,EAAMqzE,UAAzD,wBAMZ,cAACn0E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI5O,EAAMqzE,WAAiD,IAApCrzE,EAAMysE,0BAAkC,GAAK,EAAvF,SACI,cAAC,IAAD,CAAiB1uE,QAAS,kBAAMxB,EAAMO,WAAtC,4BAWf22E,EAAQD,YACL,cAAC92E,GAAA,EAAD,CAAYC,MAAM,gBAAgBG,QAAS,kBAAMu4E,GAAuB,IAAQt4E,SAAS,KAAKC,SAAS,OAAO2C,WAAS,EAAvH,SACI,cAAC,GAAD,CAAkByyE,cAAeqB,EAAQrB,cAAet1E,QAASu4E,MAErE,KAEH5B,EAAQjtB,YACL,cAAC9pD,GAAA,EAAD,CAAYC,MAAK,kBAAaqD,EAAMszE,kBAAoB,WAAa,GAApD,aAAmEx2E,QAAS,kBAAMu4E,GAAuB,IAAQt4E,SAAS,KAA3I,SACI,cAAC4oD,GAAD,CACIj9C,QAAO,oIACPyhB,aAAcwlD,EACd/pB,aAAc,kBAAMyvB,GAAuB,IAC3C14E,MAAK,kBAAaqD,EAAMszE,kBAAoB,WAAa,GAApD,iBAGb,KACHtzE,EAAMkuE,eAEH,cAAC,GAAD,CACI7T,OAAQr6D,EAAM4+D,eACdjE,cA9tBM,SAACG,EAAWwE,GAC9B,IACIC,EADArlC,EAAY,aAAOl6B,EAAM80E,WAEzB36C,EAAWn6B,EAAM80E,UAAU16C,WAAU,SAAClR,GAAD,OAAOA,EAAEmpD,+BAAiCryE,EAAMi1E,2BAEzF,UAAO96C,KACHolC,EAAmBzE,EAAUh1D,KAAI,SAACgoB,GAAD,OAAQA,EAAE0xC,SAAW1xC,EAAE0xC,SAAW1xC,KACnEoM,EAAaC,GAAUkgC,OAASkF,GAEpC,IAAIuW,EAAevW,EAAiB9kC,QAAO,SAAC7O,GAExC,IADc5rB,EAAM4+D,eAAe7uD,MAAK,SAAChC,GAAD,OAAOA,GAAK6d,KAEhD,OAAOA,KAIfptB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB00E,UAAW56C,EAAc0kC,eAAgBW,EAAkBgU,YAAY,GAAD,oBAAMvzE,EAAMuzE,aAAZ,aAA4BuC,UA+sBjHra,YAAa8Z,GACbvqE,SAAUhL,EAAMqzE,WAAiD,IAApCrzE,EAAMysE,0BACnC3vE,QAAS,kBAAM0B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8tE,gBAAgB,QAC1DtT,UAAW,KAGnB,SC7zBGmb,OA5Pf,SAA+Bx5E,GAC3B,MAAkCgC,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAA0Bzb,mBAAS,CAC/ByqC,KAAM5yB,OAASC,OAAO,cACtB2+C,WAAY,KACZghB,UAAU,EACV3sC,MAAO,GACP4rB,gBAAiB,GACjBghB,gBAAgB,EAChBC,cAAe,KACfvlC,SAAU,GACVwlC,aAAc,GACdC,SAAU,GACVC,cAAe,GACfC,iBAAiB,EACjBC,WAAY,GACZpzE,QAAS,KACTqzE,SAAU,GACVrpE,OAAQ,GACRspE,SAAU,EACVrtD,kBAAmB,KAlBvB,mBAAOppB,EAAP,KAAcxB,EAAd,KAqBA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACtBulB,EAAkB9sB,IAAW+sB,gBACjCltB,oBAAS,sBAAC,4BAAAM,EAAA,6DACFlE,EAAMm6E,QAAQ1hB,YACdx2D,GAAS,SAACwB,GAAD,2BAAC,eACHA,GADE,IAELg1D,WAAYz4D,EAAMm6E,QAAQ1hB,WAC1B3rB,MAAO9sC,EAAMm6E,QAAQ3jE,iBACrBkiD,gBAAiB14D,EAAMm6E,QAAQzhB,gBAC/BtkB,SAAUp0C,EAAMm6E,QAAQ1jE,oBACxBmjE,aAAc55E,EAAMm6E,QAAQ1vB,UAC5ByvB,SAAQ,UAAEl6E,EAAMm6E,eAAR,aAAE,EAAeD,SACzBrtD,kBAAiB,UAAE7sB,EAAMm6E,eAAR,aAAE,EAAettD,kBAClC6sD,eAA0C,GAA1B15E,EAAMm6E,QAAQC,eAXhC,SAgBUh/B,KAhBV,OAgBF11C,EAhBE,OAiBNzD,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELw2E,SAAUv0E,EAAIW,KAAKg0E,qBAnBjB,2CAqBP,IAEHz2E,qBAAU,WACFoM,IAAWsqE,kBAAkB72E,EAAMq2E,cAAer2E,EAAMi1D,gBAAiBj1D,EAAMy2E,WAC/Ej4E,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELs2E,iBAAiB,QAUF,IAAnBt2E,EAAMg2E,UACNx3E,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELu2E,WAAY,UAGrB,CAACv2E,EAAMi1D,gBAAiBj1D,EAAMq2E,cAAer2E,EAAMg2E,WAEtD,IAuE4Bl7D,EAvEtBwB,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACD,kBAATyH,GACA3H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELs2E,iBAAiB,OAGzB93E,GAAS,SAACwB,GAAD,yBAAC,eACHA,GADE,uBAEJmG,EAAOzH,GAFH,uBAGG,IAHH,QAOPm3C,EAAc,SAAC1vC,EAAMzH,GACvBF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,kBAAa+F,EAAOzH,QAK/B2P,EAAc,WAChB,IAAQgoE,EAAkFr2E,EAAlFq2E,cAAeC,EAAmEt2E,EAAnEs2E,gBAA2BJ,GAAwCl2E,EAAlDo2E,SAAkDp2E,EAAxCk2E,eAAeK,EAAyBv2E,EAAzBu2E,WAAYP,EAAah2E,EAAbg2E,SACzEj3D,EAAoB,QACpBzQ,GAAc,EACdnB,EAAS,GAkBb,OAjBK4R,EAAkBvQ,KAAK6nE,KACxBlpE,EAAOkpE,cAAgB,8BACvB/nE,GAAc,GAEdyb,kBAAOmsD,IAAkBI,IACzBnpE,EAAOipE,SAAW,+BAClB9nE,GAAc,GAEbyQ,EAAkBvQ,KAAK+nE,KAA4B,IAAbP,IACvC7oE,EAAOopE,WAAa,8BACpBjoE,GAAc,GAEdtO,EAAMmD,QAAU,IAChBgK,EAAOhK,QAAU,wCACjBmL,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,wCAAAhO,EAAA,0DACd4N,IADc,uBAEd2L,GAAa,GAFC,SAGE49B,GAAsB,CAClCod,WAAYz4D,EAAMm6E,QAAQ1hB,WAC1B8hB,sBAAuB92E,EAAMq2E,cAC7BU,oBAAuC,IAAnB/2E,EAAMg2E,SAAoB,GAAuB,IAAnBh2E,EAAMg2E,SAAqB,EAAI,EACjFgB,mBAAoBh3E,EAAMu2E,YAAc,KACxCU,0BAA0B,UAAAj3E,EAAMk2E,qBAAN,eAAqBt4E,KAAM,KACrDs5E,qBAAsBl3E,EAAMmD,SAAW,KACvC8yE,eAAgBj2E,EAAMi2E,iBAVZ,OAYd,WATIh0E,EAHU,cAYd,IAAIA,OAAJ,EAAIA,EAAKoE,QACLyB,EAAiB,mCACjBvL,EAAMO,SAAQ,QAEd,UAA2B0yE,OAAO2H,QAAQl1E,EAAIkL,QAA9C,eAAwD,EAAD,oBAA3CxC,EAA2C,KAAtCjM,EAAsC,KACnDmJ,EAAe,GAAD,OAAI8C,EAAJ,aAAYjM,IAGlCsb,GAAa,GApBC,2CAAH,qDA4BnB,OACI,eAAC9a,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,eAACF,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAC4B,UAAU,OAA5B,UACI,cAACS,EAAA,EAAD,yBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMqpC,WAEvB,eAACnqC,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAC4B,UAAU,OAA5B,UACI,cAACS,EAAA,EAAD,uBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMi1D,iBAAmB7+C,KAAOpW,EAAMi1D,iBAAiB5+C,OAAO,mBAE/E,eAACnX,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAC4B,UAAU,OAA5B,UACI,cAACS,EAAA,EAAD,uBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAM2wC,cAEvB,eAACzxC,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAC4B,UAAU,OAA5B,UACI,cAACS,EAAA,EAAD,4BACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMm2E,kBAEvB,eAACj3E,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAC4B,UAAU,OAA5B,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMopB,uBAGvB,eAAClqB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,4BAGA,cAAC,IAAD,CACImO,YAAY,QACZisC,WAAY,CAAEttB,WAAY,CAAEC,IAAI,GAAD,OAAK1tB,EAAMgpC,QAC1CtqC,MAAOsB,EAAMq2E,cACbrtE,SAAUsT,EACVnW,KAAK,kBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkpE,mBAGpC,eAACn3E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAWlB,EAAMs2E,iBAAmB,mBAAvD,UACI,cAAC51E,EAAA,EAAD,CAAYqO,SAAU/O,EAAMs2E,gBAAiB31E,QAAM,EAAnD,6BAIA,cAAC,IAAD,CAAcqa,QAAShb,EAAMw2E,SAAU93E,MAAOsB,EAAMk2E,cAAeltE,UA9CvD8R,EA8CoF,gBA9C7E,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,WA8CrB,cAAC3G,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOipE,cAG5C,eAACl3E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BACA,cAAC,GAAD,CAAewF,KAAK,UAAU2I,YAAY,mBAAmB9F,SAAUsT,EAAmB5d,MAAOsB,EAAMmD,UACvG,cAACxB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOhK,aAEvC5G,EAAMm6E,QAAQU,4BACX,eAACl4E,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAlB,UACI,cAACoB,EAAA,EAAD,CAAYC,QAAM,EAAlB,oBACA,eAACzB,EAAA,EAAD,CAAMK,GAAI,GAAIJ,WAAS,EAACC,QAAS,EAAjC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAW83E,QAAQ,OAAOr3E,MAAOA,EAAMg2E,SAAU7vE,KAAK,WAAWpI,QAAS,kBAAM83C,EAAY,YAAY,QAE5G,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI83E,QAAQ,OACRr3E,OAA0B,IAAnBA,EAAMg2E,SACb7vE,KAAK,WACLpI,QAAS,kBAAM83C,EAAY,YAAY,eAMvC,IAAnB71C,EAAMg2E,UACH,cAAC92E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAW,mBAA9B,SACI,cAAC,IAAD,CACIiF,KAAK,aACLzH,MAAOsB,EAAMu2E,WACbvtE,SAAUsT,EACVxN,YAAY,iBACZD,WAAW,iBACX1B,OAAQnN,EAAMmN,OAAOopE,eAIjC,eAACr3E,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAlB,UACI,cAACoB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kCACA,eAACzB,EAAA,EAAD,CAAMK,GAAI,GAAIJ,WAAS,EAACC,QAAS,EAAjC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAW83E,QAAQ,MAAMr3E,MAAOA,EAAMi2E,eAAgB9vE,KAAK,iBAAiBpI,QAAS,kBAAM83C,EAAY,kBAAkB,QAE7H,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI83E,QAAQ,KACRr3E,OAAgC,IAAzBA,EAAMi2E,eACb9vE,KAAK,iBACLpI,QAAS,kBAAM83C,EAAY,kBAAkB,cAK7D,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAAewM,YAAalB,EAAW/O,WAAU,OAACoiB,QAAD,IAACA,OAAD,EAACA,EAAiBkqD,oBAA7F,8CCvDDC,GApNQ,SAACh7E,GACpB,MAA4BgC,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAA0BtJ,mBAAS,CAE/Bi5E,YAAYj7E,EAAMm6E,QAAQc,YAAcphE,KAAO7Z,EAAMm6E,QAAQc,aAAanhE,OAAO,oBAAsB,GACvG4+C,gBAAiB,GACjB7rC,kBAAmB,GACnB4rC,WAAY,KACZ8T,iBAAkB,GAClBx2C,eAAgB,GAChBmlD,gBAAgB,GAChBpiB,SAAU,GACVqiB,cAAc,KAVlB,mBAAO13E,EAAP,KAAcxB,EAAd,KAaA,EAAoDD,mBAAS,CACzDqpE,6BAA8B,MAC9BC,iCAAkC,MAClCF,qBAAsB,MACtBU,+BAAgC,KAChCU,6BAA8B,MAC9BT,sBAAuB,MACvBF,qBAAsB,QAP1B,mBAAOY,EAAP,KAA2BC,EAA3B,KAUMC,EAAa,SAACxqE,GAEhB,OADoBA,EAAQ0X,KAAO1X,EAAO,YAAY2X,OAAO,WAAa,OAIxE8yD,EAAsB,uCAAG,8BAAA1oE,EAAA,sEACXg3C,GAA8Bl7C,EAAMq5D,YADzB,OACvB3zD,EADuB,OAEvBkmE,EAAclmE,EAAIW,KACtBqmE,GAAsB,SAAC7oE,GAAD,mBAAC,eAChBA,GADe,IAElBgoE,qBAAsBc,EAAWf,EAAYC,sBAC7CC,+BAAgCF,EAAYE,gCAAkC,KAC9EC,sBAAuBY,EAAWf,EAAYG,uBAC9CX,qBAAsBQ,EAAYR,qBAAuB,MAA6C,OAArCQ,EAAYR,qBAAgC,MAAQ,KACrHC,6BAA8BO,EAAYP,6BACpCxxD,KAAO+xD,EAAYP,8BAA8BvxD,OAAO,cACxD,MACNwxD,iCAAkCqB,EAAWf,EAAYN,uCAZlC,2CAAH,qDAmBtBI,EAAe,uCAAG,sCAAAxnE,EAAA,sEACGslC,KADH,cAChB4xC,EADgB,OAEhBD,EAFgB,OAEAC,QAFA,IAEAA,GAFA,UAEAA,EAAY/0E,YAFZ,aAEA,EAAkB4V,KAAK1S,KAAI,SAACgoB,GAAD,MAAQ,CACnDlwB,GAAIkwB,EAAE+X,yBACN1/B,KAAM2nB,EAAEgY,sCAGZtnC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELs3E,cAAeA,GAAe,QATd,SAWCtgC,KAXD,cAWhB8wB,EAXgB,OAYpB1pE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELi1D,SAAU6S,EAAStlE,UAdH,UAgBJ20C,GAA8Bh7C,EAAMq5D,YAhBhC,QAgBhB3zD,EAhBgB,OAiBhBkmE,EAAclmE,EAAIW,KACtBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2C,UAAWolE,EAAYplE,WAAa,KACpCkyD,gBAAiB7+C,KAAO+xD,EAAYlT,iBAAiB5+C,OAAO,eAAiB,GAC7E+S,kBAAmB++C,EAAY/+C,kBAC/B4rC,WAAYmT,EAAYnT,WACxB8T,iBAAkBX,EAAYW,kBAAoB,GAClDx2C,eAAgB61C,EAAY5S,wBAA0B,QAzBtC,4CAAH,qDA4BrBp1D,qBAAU,WACN8nE,IACAkB,MACD,IAEH,IAAM/6D,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KACrBzK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAEGu3D,EAAe,SAACl7C,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,KAERI,EAAW,WACb,IAAIC,GAAW,EACXC,EAAM,GAUV,MATK,QAAQvnD,KAAKxO,EAAMsyB,kBACpByjC,EAAIzjC,gBAAiB,EACrBwjC,GAAW,GAEV,QAAQtnD,KAAKxO,EAAMw3E,eACpBzhB,EAAIyhB,aAAc,EAClB1hB,GAAW,GAEfL,EAAUM,GACHD,GAELt1D,EAAU,uCAAG,WAAOua,GAAP,mBAAAta,EAAA,0DACXo1D,IADW,gCAEU9C,GAAe,CAChChZ,MAAK,OAAEx9C,QAAF,IAAEA,GAAF,UAAEA,EAAOm6E,eAAT,aAAE,EAAgBkB,cACvBtlD,eAAgBtyB,EAAMsyB,eACtBklD,YAAax3E,EAAMw3E,YACnBK,aAAc73E,EAAM63E,aACpBJ,gBAAiBz3E,EAAMy3E,kBAPhB,QAEP/jE,EAFO,QASErN,SACTyB,GAAyB,OAAR4L,QAAQ,IAARA,GAAA,UAAAA,EAAU9Q,YAAV,eAAgB8F,UAAW,wBAC5CnM,EAAMO,SAAQ,IAEd+K,EAAe,wBAbR,2CAAH,sDAiBhB,OACI,gCACI,eAAC3I,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMopB,uBAEvB,eAAClqB,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,uBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMi1D,iBAAmB,wBAE1C,eAAC/1D,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIhC,MAAO,CAAE8B,QAAS,GAA/C,UACI,eAACH,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,qCACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBpB,kCAEpC,eAAC1oE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,0CACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBnB,sCAEpC,eAAC3oE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,gCACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBrB,0BAEpC,eAACzoE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,sCACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBD,kCAEpC,eAAC7pE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,6BACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBV,2BAEpC,eAACppE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,4BACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBZ,gCAI5C,uBACA,eAAClpE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,GAAIrP,GAAI,GAAI2B,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIwF,KAAK,iBACLzH,MAAOsB,EAAMsyB,gBAAkB,GAE/BtjB,KAAMhP,EAAMq1D,SAASpgC,eAAiB,KAE1C,cAACtzB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOmlB,eAAiB,yBAA2B,UAE9E,eAACpzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BACA,cAAC,IAAD,CAAgBmO,YAAY,OAAOpQ,MAAOsB,EAAMw3E,YAAaxuE,SAAUitD,EAAc9vD,KAAK,gBAC1F,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOqqE,YAAc,yBAA2B,UAE3E,eAACt4E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CAAWwF,KAAK,kBAAkBzH,MAAOsB,EAAMy3E,iBAAmB,IAAKzuE,SAAUitD,EAAcjnD,KAAMhP,EAAM03E,gBAC3G,cAAC/1E,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOsqE,qBAElC,cAACv4E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAAC,IAAD,CACI2N,WAAW,UACX6f,WAAS,EACTzQ,KAAM,EACNnP,YAAY,UACZpQ,MAAOsB,EAAM63E,aACb7uE,SAAUoF,EACVjI,KAAK,eACLgH,OAAQA,EAAO0qE,iBAGvB,cAAC34E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASyC,EAA1B,mCAEJ,cAACtB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS,kBAAMxB,EAAMO,SAAQ,IAA9C,6B,qBCxKLg7E,GA7CgB,SAACv7E,GAC5B,MAAsCgC,mBAAS,CAC3Cia,KAAM,GACNu/D,cAAe,KAFnB,mBAAOC,EAAP,KAAoBC,EAApB,KAIA93E,oBAAS,sBAAC,4BAAAM,EAAA,0DACFlE,EAAMm6E,QAAQ1hB,WADZ,gCAEc/B,GAAgC12D,EAAMm6E,QAAQ1hB,YAF5D,OAEE/yD,EAFF,OAGFg2E,GAAe,SAACD,GAAD,mBAAC,eAAsBA,GAAvB,IAAoCx/D,KAAMvW,EAAIW,KAAK4V,UAHhE,2CAKP,CAACjc,EAAMm6E,QAAQ1hB,WAAYgjB,EAAYD,gBAE1C,IAAMG,EAAa,WACfD,GAAe,SAACD,GAAD,mBAAC,eAAsBA,GAAvB,IAAoCD,cAAe,IAAItnE,WACjE,OAALlU,QAAK,IAALA,OAAA,EAAAA,EAAO6tB,gBAAP,OAAuB7tB,QAAvB,IAAuBA,KAAO6tB,cAAa,KAG/C,OACI,cAAClrB,EAAA,EAAD,CAAMC,WAAS,EAAf,SACK64E,EAAYx/D,KAAKjK,OAAS,EACvBypE,EAAYx/D,KAAK1S,KAAI,SAACgoB,GAClB,OACI,cAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,sBAAKhC,MAAO,CAAEq9C,WAAY,OAA1B,UACK9sB,EAAEqqD,QACH,sBAAM56E,MAAO,CAAEC,SAAU,WAAY4uB,IAAK,OAAQ7V,KAAM,MAAOla,YAAa,QAA5E,SACI,cAAC,KAAD,CACIgU,SAAUyd,EAAEsqD,cACZ5nE,uBAAuB,4BACvBF,UAAWwd,EAAExd,UACb6B,WAAY+lE,EACZ7lE,aAAa,cAQrC,kECDV+E,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CAAExG,IAAK,oBAAqBxE,KAAM,QAAS+D,MAAO,KAClD,CAAES,IAAK,iBAAkBxE,KAAM,WAAY+D,MAAO,IAClD,CAAES,IAAK,kBAAmBxE,KAAM,MAAO+D,MAAO,KAC9C,CAAES,IAAK,+BAAgCxE,KAAM,YAAa+D,MAAO,KACjE,CAAES,IAAK,cAAexE,KAAM,SAAU+D,MAAO,KAC7C,CAAES,IAAK,yBAA0BxE,KAAM,YAAa+D,MAAO,KAC3D,CAAES,IAAK,wBAAyBxE,KAAM,SAAU+D,MAAO,KACvD,CAAES,IAAK,YAAaxE,KAAM,UA+hBfkyE,GA7hBS,SAAC97E,GAAW,IAAD,IAC3B6wB,EAAkB9sB,IAAW+sB,gBAE3B4iB,EADgB1lC,eAAd2lC,UACqBh8B,SAAS,YACtC,EAA0B3V,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBgV,OAAO,EACPozC,YAAY,EACZC,gBAAgB,EAChBrU,YAAY,EACZsU,gBAAgB,EAChBxjB,WAAY,KACZpyD,KAAM,GACN6P,SAAU,OAXd,mBAAOzS,EAAP,KAAcxB,EAAd,KAaA,EAAoCD,mBAAS,IAA7C,mBAAOk6E,EAAP,KAAmBC,EAAnB,KACMttE,EAAU8b,eAEhB,EAA6ClpB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,CAAC5hB,EAAMo8E,oBAEV,IAAMC,EAAMr8E,EAAMm9D,YAAcn9D,EAAMm9D,YAAc,GAE9Cmf,EAAc,SAAC99D,EAAIzS,GACrB9J,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GASjB,MARY,OAARkI,IACA8zB,EAAMk8C,YAAa,EACnBl8C,EAAMlM,gBAAkBnV,GAEhB,OAARzS,IACA8zB,EAAMm8C,gBAAiB,EACvBn8C,EAAMlM,gBAAkBnV,GAErBqhB,MAIT08C,EAAa,WACft6E,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk4E,YAAY,EACZC,gBAAgB,OAEpBp6D,KAQE46D,EAA0B,uCAAG,8BAAAt4E,EAAA,6DAC3BmC,EAAO,CACP+1E,kBAAmBp8E,EAAMo8E,kBACzBxvD,gBAAiBnpB,EAAM4C,KAAKumB,gBAC5BqvD,eAAgBx4E,EAAMw4E,eACtBxjB,WAAYh1D,EAAM4C,KAAKoyD,YALI,SAOfnd,GAAiCj1C,GAPlB,QAO3BX,EAP2B,QAQvBoE,SACJyB,EAAiB,+BACjBtJ,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8jE,YAAY,OACvC/lD,KAEAtW,EAAe5F,EAAIyG,SAbQ,2CAAH,qDAgB1ByV,EAAW,uCAAG,sBAAA1d,EAAA,sDAOhBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UATF,2CAAH,qDAoBXoG,EAAiB,CACnBmiE,SAAU,CACNr7E,OAAQ,UACR+oD,UAAW,SACXuyB,mBAAoB,aAExBC,cAAe,IAEbhhE,EAAa,SAAC6C,EAAI9J,GACpB,OACI,gCAsCqC,IAA7B,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKkoE,0BACF,cAAC,KAAD,CACIrkE,KAAMskE,KACNl4E,UAAU,oBACVnD,QAAS,WACLs7E,EAAYpoE,EAAK,+BAErBiE,aAAa,uBAIO,OAAxB,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKqoE,qBAAL,OAAkClsD,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAiBm0B,cAChD,cAAC,KAAD,CACIzsC,KAAM0sC,KACN/hD,MAAM,YACNyB,UAAU,6BACVgU,aAAa,cACbnX,QAAS,kBAxEJuK,EAwE0B2I,OAvE/C7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKsvE,cAAnC,mBAAoDtvE,QAApD,IAAoDA,OAApD,EAAoDA,EAAKqwE,mBACjEvsE,OAAQ,GACRpM,MAAO,KAJS,IAACsI,KA+GuB,OAAhC,OAAH2I,QAAG,IAAHA,OAAA,EAAAA,EAAKsoE,6BAAL,OAA0CnsD,QAA1C,IAA0CA,OAA1C,EAA0CA,EAAiBosD,oBACxD,cAAC,KAAD,CACI1kE,KAAMmsB,KACNxhC,MAAM,UACN1B,QAAS,WACL86E,EAAY5nE,EAAK,OAErBiE,aAAa,yBAIgB,OAAjC,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKwoE,6BACF,cAAC,KAAD,CACI3kE,KAAMmsB,KACNxhC,MAAM,YACN1B,QAAS,WACL86E,EAAY5nE,EAAK,OAErBiE,aAAa,0BAIY,OAA7B,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKyoE,0BAAL,OAAuCtsD,QAAvC,IAAuCA,OAAvC,EAAuCA,EAAiBusD,qBACrD,cAAC,KAAD,CACI7kE,KAAM2sC,IACNhiD,MAAM,YACNyB,UAAU,mBACVnD,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8jE,YAAY,EACZthE,KAAMqO,QAGdiE,aAAa,4CAO3B0kE,EAAgB,SAAC5wC,GACnB,OAAOA,EAAO5yB,KAAO4yB,GAAM3yB,OAAO,cAAgB,SAsDhDwjE,EACF,SAACC,GAAD,OACA,WAAennE,GAAU,IAAtB1B,EAAqB,EAArBA,IACOoG,GADc,EAAhB2Y,IACQje,SAASC,cAAc,SAC7BuF,EAxDS,SAACjP,EAAK2I,GACzB,MAAY,sBAAR3I,EAEI,sBACIvK,QAAS,iBAA6B,OAAnB,OAAHkT,QAAG,IAAHA,OAAA,EAAAA,EAAK8oE,gBAA2B,OAAH9oE,QAAG,IAAHA,OAAA,EAAAA,EAAK+oE,QAAS,EAAIX,EAAYpoE,EAAK,SAAW,IAC3F1T,MAA6B,OAAnB,OAAH0T,QAAG,IAAHA,OAAA,EAAAA,EAAK8oE,gBAA2B,OAAH9oE,QAAG,IAAHA,OAAA,EAAAA,EAAK+oE,QAAS,EAAInjE,EAAemiE,SAAWniE,EAAeqiE,cAFnG,UAIK,IACAjoE,EAAImY,qBAGE,iCAAR9gB,EAEH,qBACI/K,MAAsC,OAA5B,OAAH0T,QAAG,IAAHA,OAAA,EAAAA,EAAKgpE,uBAAgCpjE,EAAemiE,SAAWniE,EAAeqiE,cACrFn7E,QAAS,iBAAsC,OAA5B,OAAHkT,QAAG,IAAHA,OAAA,EAAAA,EAAKgpE,uBAAgCZ,EAAYpoE,EAAK,UAAY,IAFtF,SAIoC,OAA5B,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKgpE,wBAAiChpE,EAAI22D,6BACrCgS,EAAc3oE,EAAI22D,8BACa,OAA5B,OAAH32D,QAAG,IAAHA,OAAA,EAAAA,EAAKgpE,uBACL,UACAL,EAAc3oE,EAAI22D,gCAGjB,gBAARt/D,EAEH,qBACI/K,MAA+B,OAArB,OAAH0T,QAAG,IAAHA,OAAA,EAAAA,EAAKipE,iBAAyD,OAA5B,OAAHjpE,QAAG,IAAHA,OAAA,EAAAA,EAAKkpE,uBAAgCtjE,EAAemiE,SAAWniE,EAAeqiE,cACpHn7E,QAAS,iBACmB,OAArB,OAAHkT,QAAG,IAAHA,OAAA,EAAAA,EAAKipE,gBAAyBb,EAAYpoE,EAAK,WAA4C,OAA5B,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKkpE,uBAAgCd,EAAYpoE,EAAK,UAAY,IAHtI,SAMoC,OAA5B,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKkpE,uBACAP,EAAc3oE,EAAIumE,aACM,OAArB,OAAHvmE,QAAG,IAAHA,OAAA,EAAAA,EAAKipE,gBACL,WACAN,EAAc3oE,EAAIumE,eAGjB,2BAARlvE,EAEH,qBACI/K,MAAwC,OAA9B,OAAH0T,QAAG,IAAHA,OAAA,EAAAA,EAAKmpE,yBAAkCvjE,EAAemiE,SAAWniE,EAAeqiE,cACvFn7E,QAAS,iBAAwC,OAA9B,OAAHkT,QAAG,IAAHA,OAAA,EAAAA,EAAKmpE,yBAAkCf,EAAYpoE,EAAK,YAAc,IAF1F,SAIsC,OAA9B,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKmpE,yBAAkC,WAAaR,EAAc3oE,EAAIopE,0BAIxE,GAOKC,CAAeR,EAAO7oE,GAElC,OADAqB,IAASC,OAAOgF,EAAKF,GACdA,IAETkjE,EAAmB,SAAC,EAAc5nE,GAAU,IAAtB1B,EAAqB,EAArBA,IAClBoG,GADuC,EAAhB2Y,IACjBje,SAASC,cAAc,SAC/BwoE,EAAYjuE,IAAWkuE,kBAAkBxpE,EAAIopE,uBAAwBppE,EAAIgkD,gBAAiBhkD,EAAIwlE,UAC5FiE,EAAUzpE,EAAIgkD,gBAChB1lC,EAA2C,OAAjC,OAAHte,QAAG,IAAHA,OAAA,EAAAA,EAAK0pE,8BAAL,OAA2CvtD,QAA3C,IAA2CA,OAA3C,EAA2CA,EAAiBkqD,oBASjE//D,EACF,qBACIha,MAAO,CACHkC,MAAM,GAAD,OAAK+6E,GACVvlE,WAAY,OACZtX,OAAQ4xB,EAAO,UAAY,GAC3Bm3B,UAAWn3B,EAAO,SAAW,GAC7B0pD,mBAAoB1pD,EAAO,YAAc,IAE7CxxB,QAAS,kBAAOwxB,OAhBpB/wB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiBjf,EACjBi0B,OAAO,OAY+B,IAR1C,SAUK00C,EAAcc,KAIvB,OADApoE,IAASC,OAAOgF,EAAKF,GACdA,GAEL8uD,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMs7E,EAAYpoE,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA7G,SACKhE,EAAI+1C,YAIb,OADA10C,IAASC,OAAOgF,EAAKF,GACdA,GAELvH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OACnCiwE,EAAaviE,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,oBAAVA,EAAEsC,OACpCkwE,EAAuBxiE,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,sBAAVA,EAAEsC,OAC9CmwE,EAA2BziE,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,iCAAVA,EAAEsC,OAClDowE,EAAiB1iE,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,gBAAVA,EAAEsC,OACxCqwE,EAA4B3iE,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,2BAAVA,EAAEsC,OACnDqwE,IAA2BA,EAA0B9pE,UAAY2oE,EAAgB,2BACjFkB,IAAgBA,EAAe7pE,UAAY2oE,EAAgB,gBAC3DiB,IAA0BA,EAAyB5pE,UAAY2oE,EAAgB,iCAC/EgB,IAAsBA,EAAqB3pE,UAAY2oE,EAAgB,sBAC3E,IAAIoB,EAAW5iE,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAUlD,OATIswE,IACAA,EAAS/pE,UAAYi1D,GAErByU,IACAA,EAAW1pE,UAAYqpE,GAEvB5oE,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAWG+X,EAAc,SAACnuB,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiB,QAErBjuB,GAAOkc,KAGL+8D,EAAiB,SAACj5E,GACpBy2E,EAAc,IACdz2E,GAAOkc,KAGLk7D,EAAc,SAACt+D,EAAIhS,GACrB2vE,EAAc,eAAG3vE,GAAQ,IACzBvK,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8vB,gBAAiBnV,QAKrBrI,EAAM,8BAA0BnW,EAAMo8E,mBACtCwC,EAAclrC,EAAa,GAAK,uBAEpC,OACI,sBAAK/uC,UAAU,yBAAf,UACKlB,EAAMs4E,WACH,cAAC,GAAD,CACInL,kBAAmBntE,EAAMkwB,gBAAgByoD,kBACzCnM,UAAWxsE,EAAMkwB,gBAAgB8kC,WACjCl4D,QAASg8E,EACTt2B,UAAU,IAEdxiD,EAAMu4E,eACN,cAAC,GAAD,CAAwB3E,QAAS5zE,EAAMkwB,gBAAgBo8C,oBAAqBxvE,QAASg8E,EAAYt2B,UAAU,IAE3G,cAAC,GAAD,CACI1yC,QAASA,EACT2B,YAAW,WAAoB,OAAf2b,QAAe,IAAfA,OAAA,EAAAA,EAAiBguD,oBAAjB,OAAqChuD,QAArC,IAAqCA,OAArC,EAAqCA,EAAiBiuD,kBAAmB,aAAe,MACxG7qE,uBAAsB,WAAoB,OAAf4c,QAAe,IAAfA,OAAA,EAAAA,EAAiBguD,oBAAjB,OAAqChuD,QAArC,IAAqCA,OAArC,EAAqCA,EAAiBiuD,kBAAmB,4BAA8B,MAClIxmE,SAAUsmE,EACVnmE,WApDM,WAClBxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8nC,OAAO,EACPhV,gBAAiB,SAgDTvc,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAKykE,UAClB5uD,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBC,OAAQA,EACRyD,gBAAe,UAAKyiE,EAAL,eAGtB54E,EAAM5C,KACH,cAACV,GAAA,EAAD,CACIU,KAAM4C,EAAM5C,KACZN,QAAS,WACLszB,GAAY,IAEhBzzB,MAAOqD,EAAMklC,MAAN,wBAA+B0zC,EAA/B,8BAA0DA,EAA1D,KACP77E,SAAS,KACToJ,KAAK,UAPT,SASKnG,EAAMklC,MACH,cAAC,GAAD,CACItiC,KAAM5C,EACNklC,MAAOllC,EAAMklC,MACb0wB,WAAY51D,EAAMkwB,gBAAgB8kC,WAClCz4C,UAAWhgB,EAAMo8E,kBACjBnjB,eAAgBj5D,EAAMi5D,eACtB14D,QAAS,WACLszB,GAAY,MAIpB,cAAC,GAAD,CACIxtB,KAAM5C,EACNklC,MAAOllC,EAAMklC,MACb0wB,WAAY51D,EAAMkwB,gBAAgB8kC,WAClCz4C,UAAWhgB,EAAMo8E,kBACjB77E,QAAS,WACLszB,GAAY,QAK5B,KACHqoD,EAAW6C,MACR,cAAC5+E,GAAA,EAAD,CAAYC,MAAK,0BAAqBi8E,EAArB,KAA6B77E,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA1F,SACI,cAAC,GAAD,CAAe3+D,UAAWhgB,EAAMo8E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAE9G,KACHzC,EAAWv+B,OACR,cAACx9C,GAAA,EAAD,CAAYC,MAAK,qCAAgCi8E,EAAhC,KAAwC77E,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAArG,SACI,cAAC,GAAD,CAAuB3+D,UAAWhgB,EAAMo8E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAEtH,KACHzC,EAAW8C,QACR,cAAC7+E,GAAA,EAAD,CAAYC,MAAK,4BAAuBi8E,EAAvB,KAA+B77E,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA5F,SACI,cAAC,GAAD,CAAwB3+D,UAAWhgB,EAAMo8E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAEvH,KACHzC,EAAW+C,SACR,cAAC9+E,GAAA,EAAD,CAAYC,MAAK,8BAAyBi8E,EAAzB,KAAiC77E,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA9F,SACI,cAAC,GAAD,CAAuBlmB,WAAYh1D,EAAMg1D,WAAY0hB,QAAS12E,EAAMkwB,gBAAiBpzB,QAASo+E,MAElG,KACHzC,EAAWgD,OACR,cAAC/+E,GAAA,EAAD,CAAYC,MAAK,gCAA2Bi8E,EAA3B,KAAmC77E,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAAhG,SACI,cAAC,GAAD,CAAgBtlB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAY0hB,QAAS12E,EAAMkwB,gBAAiBpzB,QAASo+E,MAE3G,KACHzC,EAAWiD,2BACR,cAACh/E,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMo+E,GAAe,IAAQv+E,MAAO,qBAAsBI,SAAS,KAAK4C,WAAS,EAAlH,SACI,cAAC,GAAD,CAAwB+2E,QAAS12E,EAAMkwB,gBAAiB9F,aAAc8wD,MAE1E,KACHl7E,EAAMkkE,WACH,cAACxnE,GAAA,EAAD,CAAYC,MAAM,SAASG,QAAS,kBAAM0B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8jE,YAAY,QAAWnnE,SAAS,KAArG,SACI,cAACmC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,WAAY,IAAjD,SACI,eAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAtC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAACmK,GAAA,EAAD,CAAYgC,UAAU,SAAtB,SACI,2CAAca,IAAW6jC,cAAX,UAAyBpwC,EAAM4C,YAA/B,aAAyB,EAAYqyD,wBAG3D,cAAC/1D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAACmK,GAAA,EAAD,CAAYgC,UAAU,SAAtB,SACI,sDAAe1L,EAAM4C,YAArB,aAAe,EAAYwmB,yBAGnC,cAAClqB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmK,GAAA,EAAD,CAAYgC,UAAU,SAAtB,4DAEJ,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIyJ,SA3cP,SAACkG,GACtB,MAA0BA,EAAM3G,OAAxBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOuJ,QA0cPA,QAAS1P,EAAMw4E,eACfryE,KAAK,iBACLzH,MAAOsB,EAAMw4E,eACbzvE,MAAM,+BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,KAAD,CAAiBxB,QAASg7E,EAA4Bp5E,WAAS,EAACuB,UAAU,aAA1E,sBAIJ,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,KAAD,CAAiBxB,QAAS,kBAAMS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8jE,YAAY,QAAWvkE,WAAS,EAACuB,UAAU,aAAtG,6BAOhB,KACHu3E,EAAWr+B,YACR,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMo+E,GAAe,IAAQv+E,MAAO,wBAArE,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBoC,eAAgBlI,aAAc8wD,MAE7F,SC1cDS,OA3Hf,SAAwBp/E,GACpB,MAA0BgC,mBAAS,CAC/B4O,OAAQ,GACR49B,YAAa,GACb6wC,gBAAiB,GACjBC,iBAAkB,GAClBC,aAAc,GACdC,gBAAiB,KANrB,mBAAO/7E,EAAP,KAAcxB,EAAd,KAUA,EAAsCD,mBAAS,CAC3Cy9E,WAAY,KACZ1pD,eAAgB,OAFpB,mBAAO/X,EAAP,KAAoBC,EAApB,KAIA,EAA6Cxc,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,sEACUgyD,GAAmBl2D,EAAM0sC,WADnC,OACFhnC,EADE,OAENzD,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL87E,aAAc75E,EAAIW,KAAKswC,OACvB2oC,iBAAkB55E,EAAIW,KAAKqyB,cAC3B1Y,UAAWhgB,EAAM0sC,eANf,2CAQP,IAEH,IAAM3sB,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAIV2P,EAAc,WAChB,IAAQikB,EAA4CtyB,EAA5CsyB,eAAgB0pD,EAA4Bh8E,EAA5Bg8E,WAAYjxC,EAAgB/qC,EAAhB+qC,YAChChsB,EAAoB,QACpBzQ,GAAc,EACdnB,EAAS,GAcb,OAbK4R,EAAkBvQ,KAAKu8B,KACxB59B,EAAO49B,YAAc,0BACrBz8B,GAAc,GAEbyQ,EAAkBvQ,KAAK8jB,KACxBnlB,EAAOmlB,eAAiB,6BACxBhkB,GAAc,GAEbyQ,EAAkBvQ,KAAKwtE,KACxB7uE,EAAO6uE,WAAa,yBACpB1tE,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLkO,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SAErCmG,EAAa,uCAAG,kCAAAhO,EAAA,0DACd4N,IADc,uBAERzL,EAAO,CACTG,UAAWxG,EAAM0sC,UACjB8B,YAAa/qC,EAAM+qC,YACnBkxC,mBAAoBj8E,EAAM47E,gBAC1BtiC,kBAAiB,UAAE/+B,EAAY+X,sBAAd,aAAE,EAA4B10B,GAC/Co+E,WAAU,UAAEzhE,EAAYyhE,kBAAd,aAAE,EAAwBp+E,GACpCm+E,gBAAiB/7E,EAAM+7E,iBAE3Bx/E,EAAMO,SAAQ,GAVA,SAWE4/C,GAAY95C,GAXd,QAWVX,EAXU,QAYNoE,SACJyB,EAAiB,yBACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAhBT,2CAAH,qDAqBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAAC,IAAD,CAAgB2N,WAAW,cAAc1I,KAAK,cAAczH,MAAOsB,EAAM+qC,YAAa/hC,SAAUsT,IAChG,cAAC3a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO49B,iBAExC,eAAC7rC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CAAcqa,QAAShb,EAAM67E,iBAAkBn9E,MAAO6b,EAAY+X,eAAgBtpB,SAAUwT,EAAmB,uBAEnH,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,uBAGA,cAAC,IAAD,CAAcqa,QAAShb,EAAM87E,aAAcp9E,MAAO6b,EAAYyhE,WAAYhzE,SAAUwT,EAAmB,gBACvG,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO6uE,gBAExC,cAAC98E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,oBACX1I,KAAK,kBACL2I,YAAY,oBACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM47E,oBAGrB,cAAC18E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAaC,WAAW,sBAAsBnQ,MAAOsB,EAAM+7E,gBAAiB51E,KAAK,kBAAkB6C,SAAUsT,MAEjH,cAACpd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,mBAEJ,cAACvP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB+sB,cAAc,EAAMlwB,QAASxB,EAAMO,QAApD,0BCzHHo/E,GAAkB,uCAAG,WAAOt+E,GAAP,eAAA6C,EAAA,sEACd6B,aAAY,YAAD,OAAa1E,IADV,cAC1BqE,EAD0B,yBAEvBA,GAFuB,2CAAH,sDAKlBk6E,GAAiB,uCAAG,WAAOv5E,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,WAAYa,GADZ,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDAKjBm6E,GAAe,uCAAG,WAAOx5E,GAAP,eAAAnC,EAAA,sEACXsB,aAAa,qCAAsCa,GADxC,cACvBX,EADuB,yBAEpBA,GAFoB,2CAAH,sDAKfo6E,GAAc,uCAAG,WAAOz5E,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,mCAAoCa,GADvC,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKdq6E,GAAc,uCAAG,WAAO15E,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,mCAAoCa,GADvC,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKds6E,GAAc,uCAAG,WAAO35E,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,yBAAD,OAA0Ba,EAAKhF,IAAMgF,GADvC,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKdu6E,GAAwB,uCAAG,WAAO5+E,GAAP,eAAA6C,EAAA,sEACpB6B,aAAY,6BAAD,OAA8B1E,IADrB,cAChCqE,EADgC,yBAE7BA,GAF6B,2CAAH,sDAIxBw6E,GAAsB,uCAAG,WAAO75E,GAAP,eAAAnC,EAAA,sEAClBsB,aAAa,aAAca,GADT,cAC9BX,EAD8B,yBAE3BA,GAF2B,2CAAH,sDAItBy6E,GAAqB,uCAAG,WAAO9+E,GAAP,eAAA6C,EAAA,sEACjB6B,aAAY,cAAD,OAAe1E,IADT,cAC7BqE,EAD6B,yBAE1BA,GAF0B,2CAAH,sDC/B5BwkD,I,OAAgB,SAAClqD,GACnB,OACI,sBAAK2E,UAAU,cAAf,UACI,qBAAKA,UAAU,MAAf,SAAsB3E,EAAMoqD,KAAKj+C,UACjC,sBAAKxH,UAAU,SAAf,UACK3E,EAAMoqD,KAAKxgD,KADhB,MACyBiQ,KAAO7Z,EAAMoqD,KAAKE,aAAaxwC,OAAO,eA2I5DsmE,GArIO,SAACpgF,GAAW,IAAD,EAC7B,EAA0BgC,mBAAS,CAC/Bq+E,gBAAiB,GACjBC,gBAAgB,EAChB90E,YAAY,EACZkW,KAAM,KAJV,mBAAOje,EAAP,KAAcxB,EAAd,KAMI4uB,EAAkB9sB,IAAW+sB,gBACjC,EAA4B9uB,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpBi1E,EAAgB,uCAAG,4BAAAr8E,EAAA,sEACLy7E,GAAmB3/E,EAAMwgF,eADpB,OACjB96E,EADiB,OAErBzD,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAEL6d,KAAK,cAAM,UAAAhc,EAAIW,YAAJ,eAAU4V,OAAQ,IAC7BzQ,YAAY,OALK,2CAAH,qDAQtB5H,qBAAU,WACN28E,MACD,IAEH,IAAMjnB,EAAW,WACb,IAAIC,GAAW,EACXC,EAAM,GAMV,MALK,QAAQvnD,KAAKxO,EAAM48E,mBACpB7mB,EAAI6mB,iBAAkB,EACtB9mB,GAAW,GAEfL,EAAUM,GACHD,GAGLjgB,EAAc,SAAC1vC,EAAMzH,GACvBF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,kBAAa+F,EAAOzH,QAK/B8B,EAAU,uCAAG,4BAAAC,EAAA,0DACXo1D,IADW,oBAEPniD,EAAW,GACI,kBAAfnX,EAAMI,MAHC,gCAIUw/E,GAAkB,CAC/BY,cAAexgF,EAAMwgF,cACrBH,gBAAiB58E,EAAM48E,gBACvBI,iBAAiB,IAPd,OAIPtpE,EAJO,+CAUUyoE,GAAkB,CAC/BY,cAAexgF,EAAMwgF,cACrBH,gBAAiB58E,EAAM48E,kBAZpB,QAUPlpE,EAVO,eAePA,GACAA,EAASrN,QAAUyB,EAAiB,gCAAkCD,EAAe6L,EAAShL,SAAW,wBACzGo0E,IACAvgF,EAAMO,SAAQ,IAEd+K,EAAe,wBApBR,4CAAH,qDAkChB,OACI,qBAAK3G,UAAU,kBAAkB3D,MAAO,CAAE2M,MAAO,SAAjD,SACI,eAAChL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACK7C,EAAMI,OACH,qBAAKY,MAAO,CAAE2M,MAAO,QAAS1M,SAAU,WAAYC,MAAO,GAAI2uB,IAAK,IAApE,SACI,cAAC,IAAD,CAAiBruB,QAASyC,EAAYwK,SAA2C,IAAjChL,EAAM48E,gBAAgBruE,UAAgB,OAAC6e,QAAD,IAACA,OAAD,EAACA,EAAiB6vD,mBAAxG,SACK1gF,EAAMI,UAIlBJ,EAAMI,OACH,eAACuC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,qBAGA,cAAC,IAAD,CAAWwF,KAAK,kBAAkB8X,KAAM,EAAGyQ,WAAS,EAAC1lB,SAxBrD,SAAC+R,GACjB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,OAmBM,cAAC9zD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOyvE,gBAAkB,oBAAsB,UAG9D,eAAfrgF,EAAMI,OACH,eAACuC,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC/B,MAAO,CAAE0hC,aAAc,GAA1C,UACI,cAACv+B,EAAA,EAAD,CAAYC,QAAM,EAAlB,yBACA,eAACzB,EAAA,EAAD,CAAMK,GAAI,GAAIJ,WAAS,EAACC,QAAS,EAAjC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI2V,aAAa,MACbmiE,QAAQ,MACRr3E,MAAOA,EAAM68E,eACb12E,KAAK,iBACLpI,QAAS,kBAAM83C,EAAY,kBAAkB,QAGrD,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI2V,aAAa,KACbmiE,QAAQ,KACRr3E,MAAOA,EAAM68E,eACb12E,KAAK,iBACLpI,QAAS,kBAAM83C,EAAY,kBAAkB,cAMjE,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACKS,EAAMie,KAAK1P,OAAS,EACjB,qBAAKrN,UAAU,gCAAf,mBACKlB,EAAMie,YADX,aACK,EAAYnY,KAAI,SAAC8zB,EAAGK,GAAJ,OACb,cAAC,GAAD,CAAuB0sB,KAAM/sB,GAATK,QAI5B,qBAAK/4B,UAAU,gCAAf,mC,qBC/HlByb,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CAAExG,IAAK,UAAWxE,KAAM,OAAQ+K,UAAW3E,IAAWE,cAAevC,MAAO,KAC5E,CAAES,IAAK,eAAgBxE,KAAM,UAAW+D,MAAO,KAC/C,CAAES,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,KACtD,CAAES,IAAK,iBAAkBxE,KAAM,mBAC/B,CAAEwE,IAAK,mBAAoBxE,KAAM,gBAAiB+D,MAAO,KACzD,CAAES,IAAK,YAAaxE,KAAM,SAAU+D,MAAO,KAC3C,CACIS,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAW2wE,gBACtBvzE,MAAO,QACPO,MAAO,KAEX,CACIS,IAAK,cACLxE,KAAM,SACN+K,UAAW3E,IAAW2wE,gBACtBvzE,MAAO,QACPO,MAAO,KAEX,CACIS,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAW2wE,gBACtBvzE,MAAO,QACPO,MAAO,KAITyN,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,OAAQ0R,QAAQ,GACxB,CAAE1R,KAAM,WAAY0R,QAAQ,IA2MjBslE,OAxMf,SAAmB5gF,GACf,IAAI6wB,EAAkB9sB,IAAW+sB,gBAC3BjiB,EAAU8b,eACZxU,EAAM,qBAAiBnW,EAAM0sC,UAAN,qBAAgC1sC,EAAM0sC,WAAc,IAArE,OAA0E1sC,EAAMqkB,WAAN,sBAAkCrkB,EAAMqkB,YAAe,IAC3I,EAA0BriB,mBAAS,CAC/B6+E,QAAS,GACTvgE,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAKMyxC,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YACrD/T,oBAAS,sBAAC,sBAAAM,EAAA,sDACN48E,IADM,2CAEP,CAAC9gF,EAAM0sC,YAEV,IAAMo0C,EAAW,uCAAG,sBAAA58E,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAuBXyqE,EAAiB,SAAC5yE,GACpB9J,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBs9E,cAAc,EAAOvjC,MAAO,SAG3DrS,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,sBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,UACI,cAAC,KAAD,CACIlC,KAAMyoE,KACNr8E,UAAU,6BACVgU,aAAa,eACbnX,QAAS,kBAfEuK,EAesB2I,OAd7CzS,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBs9E,cAAc,EAAMvjC,MAAK,OAAEzxC,QAAF,IAAEA,OAAF,EAAEA,EAAKyxC,WAD3C,IAACzxC,MAiBC,OAAf8kB,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,KAAD,CAAkBzsC,KAAM0sC,KAAUtgD,UAAU,6BAA6BgU,aAAa,WAAWnX,QAAS,kBA1BjGuK,EA0BuH2I,OAzB5I7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKyxC,MAAnC,YAA4Cx9C,EAAM0sC,UAAY1sC,EAAM0sC,UAAxB,OAAoC3gC,QAApC,IAAoCA,OAApC,EAAoCA,EAAKvF,WAC7FqJ,OAAQ,GACRpM,MAAO,CAAExC,SAAU,OAAQ60C,aAAc/pC,EAAI+pC,gBAJ7B,IAAC/pC,SAgCnB6nB,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMmoE,EAAmBj1D,IAAM1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAI8B,mBAIb,OADAT,IAASC,OAAOgF,EAAKF,GACdA,GAGL8uD,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA/G,SACKhE,EAAI0nC,mBAIb,OADArmC,IAASC,OAAOgF,EAAKF,GACdA,GAGLmmE,EAAkB,SAAC,EAAc7qE,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,mBAAmB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAlH,SACKhE,EAAIgC,YAIb,OADAX,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI+B,sBAIb,OADAV,IAASC,OAAOgF,EAAKF,GACdA,GAGL6uD,EAAqB,SAAC59D,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIvF,WACzCqJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,cAI1B8f,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNg9C,aAAa,EACb/pB,mBAAmB,EACnB49B,gBAAgB,QAIlBn+C,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAC1Cy7D,EAAeppD,EAAUjN,MAAK,SAACuI,GAAD,MAA6B,qBAAhBA,EAAQ3N,OACnD8yE,EAAezgE,EAAUjN,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAgBvD,OAfIgH,IACAA,EAAUT,UAAYw2B,GAEtB+1C,IACAA,EAAavsE,UAAYssE,GAEzBpX,IACAA,EAAal1D,UAAYi1D,GAExB5pE,EAAM0sC,WACPjsB,EAAUib,OAAO,EAAG,EAAG,CAAEttB,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,IAAKgH,UAAW+0D,IAE5F1pE,EAAMqkB,YAAeqvB,GAAe1zC,EAAM0sC,WAC3CjsB,EAAUib,OAAO,EAAG,EAAG,CAAEttB,IAAK,sBAAuBxE,KAAM,WAAY+K,UAAW+e,EAAoB/lB,MAAO,MAE1G8S,IACR,IAEGka,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOo7E,KAELjY,EAAgB7oE,EAAM0sC,UAAiBgH,EAAa,GAAK,UAAvB,GAClCytC,IAAOnhF,EAAM0sC,aAAmB1sC,EAAMqkB,WAC5C,OACI,sBAAK1f,UAAW,WAAIw8E,GAAQ,UAAa,qBAAsBngF,MAAO,CAAEyD,UAAW,GAAnF,UACKhB,EAAM5C,MACH,cAACV,GAAA,EAAD,CAAYU,KAAM4C,EAAM5C,KAAMN,QAAS,kBAAMo6B,GAAW,IAAQv6B,MAAM,UAAUI,SAAS,KAAzF,SACI,cAAC,GAAD,CAAgBksC,UAAW1sC,EAAM0sC,UAAWnsC,QAAS,kBAAMo6B,GAAW,SAG5EwmD,GAAQ,cAAC,IAAD,CAAa/lE,OAAQA,KAC9B3X,EAAMs9E,cACH,cAAC5gF,GAAA,EAAD,CAAYC,MAAM,cAAcI,SAAS,KAAKD,QAAS,kBAAMo+E,KAA7D,SACI,cAACyC,GAAD,CAAehhF,MAAM,GAAGogF,cAAe/8E,EAAM+5C,MAAOj9C,QAASo+E,MAGrE,cAAC,GAAD,CACIprE,QAASA,EACT+E,SAAUuwD,EACVpwD,WAvJO,SAAC7I,GAChB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,QAuJ/BqU,YAAW,WAAoB,OAAf2b,QAAe,IAAfA,OAAA,EAAAA,EAAiBwwD,uBAAwB,QAAU,MACnEptE,uBAAsB,WAAoB,OAAf4c,QAAe,IAAfA,OAAA,EAAAA,EAAiBwwD,uBAAwB,YAAc,MAClFjqE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBC,OAAQA,IAEX1S,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,wBAArD,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBopB,kBAAmBlvB,aAAcgG,MAEhG,KACHpwB,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBtP,WAAYwJ,aAAcgG,MAEjF,KACHpwB,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMkwB,gBAAgB8rD,WAAY5xD,aAAcgG,MAE9E,SCtPHytD,GAAc,uCAAG,WAAOp9D,GAAP,eAAAhgB,EAAA,sEACV6B,aAAY,YAAD,OAAame,IADd,cACtBxe,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKd67E,GAAW,uCAAG,WAAOl7E,GAAP,eAAAnC,EAAA,sEACPsB,aAAa,WAAYa,GADlB,cACnBX,EADmB,yBAEhBA,GAFgB,2CAAH,sDAKX87E,GAAe,uCAAG,4BAAAt9E,EAAA,sEACX6B,aAAY,4BADD,cACvBL,EADuB,yBAEpBA,GAFoB,2CAAH,qDCiOb+7E,GAxOc,SAACzhF,GAC1B,MAA0BgC,mBAAS,CAC/B0/E,eAAe,EACfC,gBAAiB,KACjBC,UAAW,KACXC,iBAAkB7hF,EAAM0sC,UACxBo1C,8BAA+B,KAC/BC,gCAAiC,KACjCC,0BAA2B,KAC3BpxE,OAAQ,GACRqxE,YAAa,GACbC,SAAU,GACVz1C,KAAM5yB,OAASC,OAAO,sBAX1B,mBAAOrW,EAAP,KAAcxB,EAAd,KAaI4uB,EAAkB9sB,IAAW+sB,gBACjC,EAA6CrvB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,oCAAAM,EAAA,0DACFlE,EAAM4hF,UADJ,gCAEcN,GAAethF,EAAM4hF,WAFnC,OAEEl8E,EAFF,OAGEW,EAAOX,EAAIW,KACfpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+9E,UAAWv7E,EAAKu7E,UAChBC,iBAAkBx7E,EAAKw7E,iBACvBF,gBAAiBt7E,EAAKs7E,gBACtBQ,cAAe97E,EAAK87E,cACpBC,mBAAoBvoE,KAAOxT,EAAK+7E,oBAAoBtoE,OAAO,oBAC3DuoE,iBAAkBxoE,KAAOxT,EAAKg8E,kBAAkBvoE,OAAO,oBACvDwoE,4BAA6Bj8E,EAAKi8E,4BAClCN,0BAA2B37E,EAAK27E,0BAChCO,qBAAsBl8E,EAAKk8E,qBAC3BR,gCAAiC17E,EAAK07E,gCACtCS,mBAAoBn8E,EAAKm8E,mBACzBV,8BAA+Bz7E,EAAKy7E,8BACpCJ,cAAer7E,EAAKq7E,cACpBe,YAAap8E,EAAKo8E,iBAnBpB,uBAsBkBjB,KAtBlB,QAsBFkB,EAtBE,QAuBU54E,UACNm4E,EAAcS,EAAYr8E,KAAKk2D,QAAQhzD,KAAI,SAACgoB,GAAD,MAAQ,CACrDlwB,GAAIkwB,EAAElwB,GACNuI,KAAM2nB,EAAE3nB,SAENs4E,EAAWQ,EAAYr8E,KAAKs8E,aAAap5E,KAAI,SAACgoB,GAAD,MAAQ,CACvDlwB,GAAIkwB,EAAElwB,GACNuI,KAAM2nB,EAAE3nB,SAGZ3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBo+E,YAAaA,EAAaC,SAAUA,QAjC7D,4CAmCP,IAEH,IAAMnhB,EAAe,SAACj1D,GAClB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJ+F,EAAOzH,QAIV2P,EAAc,WAChB,IAAIC,GAAc,EACdnB,EAAS,GA6Bb,OA5BKnN,EAAMk+E,kBACP/wE,EAAO+wE,gBAAkB,qBACzB5vE,GAAc,GAEbtO,EAAM0+E,gBACPvxE,EAAOuxE,cAAgB,4BACvBpwE,GAAc,GAEbtO,EAAM2+E,qBACPxxE,EAAOwxE,mBAAP,yBACArwE,GAAc,GAEbtO,EAAM4+E,mBACPzxE,EAAOyxE,iBAAmB,uBAC1BtwE,GAAc,GAEbtO,EAAM6+E,8BACP1xE,EAAO0xE,4BAA8B,6BACrCvwE,GAAc,GAEbtO,EAAMu+E,4BACPpxE,EAAOoxE,0BAA4B,2BACnCjwE,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,OAELmB,GAGL6wE,EAAW/oE,KAAOpW,EAAM4+E,kBAAkBQ,KAAKp/E,EAAM2+E,mBAAoB,UAC3EU,EAAQC,KAAKC,MAAMJ,EAAW,IAC9BK,EAAUL,EAAW,GACnBM,EAAcz/E,EAAM4+E,kBAAoBO,EAAW,EAArC,UAA4CE,EAA5C,YAAqDG,GAAYL,EAAW,EAAI,6CAA+C,KAE7IO,EAAW1/E,EAAMu+E,0BAA4Bv+E,EAAMu+E,0BAA4Bv+E,EAAM6+E,4BAA8B,KAEnHc,EAAY,uCAAG,8BAAAl/E,EAAA,0DACb4N,IADa,uBAETuxE,EAAc,CACdzB,UAAWn+E,EAAMm+E,UACjBC,iBAAkBp+E,EAAMo+E,iBACxBM,cAAe1+E,EAAM0+E,cACrBR,gBAAiBl+E,EAAMk+E,gBACvBS,mBAAoB3+E,EAAM2+E,mBAC1BC,iBAAkB5+E,EAAM4+E,iBACxBC,4BAA6B7+E,EAAM6+E,4BACnCN,0BAA2Bv+E,EAAMu+E,0BACjCO,qBAAsB9+E,EAAM8+E,qBAC5BR,gCAAiCt+E,EAAMs+E,gCACvCS,mBAAoB/+E,EAAM++E,mBAC1BV,8BAA+Br+E,EAAMq+E,8BACrCJ,cAAej+E,EAAMi+E,cACrBe,YAAah/E,EAAMg/E,aAhBV,SAmBGlB,GAAY8B,GAnBf,QAmBT39E,EAnBS,QAoBLoE,SACJyB,EAAiB,8BACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAxBV,2CAAH,qDA6BlB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,UAAW,GAAhD,UACI,eAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAtC,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,oBACA,cAAC,IAAD,CAAWwF,KAAK,kBAAkBzH,MAAOsB,EAAMk+E,gBAAiBl1E,SAAUs0D,EAActuD,KAAMhP,EAAMw+E,cACpG,cAAC78E,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO+wE,qBAExC,eAACh/E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CAAWwF,KAAK,gBAAgBzH,OAAQsB,EAAM0+E,cAAe11E,SAAUs0D,EAActuD,KAAMhP,EAAMy+E,WACjG,cAAC98E,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOuxE,sBAI5C,eAACx/E,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAtC,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CACIwF,KAAK,qBACLzH,MAAOsB,EAAM2+E,mBACb5jC,WAAY,CAAEttB,WAAY,CAAEC,IAAI,GAAD,OAAK1tB,EAAMgpC,QAC1ChgC,SAAUs0D,IAEd,cAAC37D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOwxE,wBAExC,eAACz/E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIwF,KAAK,mBACL0C,aAAa,MACbkyC,WAAY,CAAEttB,WAAY,CAAE6oB,IAAI,GAAD,OAAKt2C,EAAM2+E,oBAAsBjxD,IAAI,GAAD,OAAK1tB,EAAMgpC,QAC9EtqC,MAAOsB,EAAM4+E,iBACb51E,SAAUs0D,IAEd,cAAC37D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOyxE,sBAExC,cAAC1/E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACK6wE,EACG,qCACI,cAAC/+E,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC+I,GAAA,EAAD,CAAYm2E,QAAQ,QAAQpgF,MAAM,YAAYlC,MAAO,CAAEyD,UAAW,MAAOkR,WAAY,QAArF,SACKutE,OAGT,UAGZ,eAACvgF,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAtC,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CAAWsI,KAAK,SAAS9C,KAAK,8BAA8BzH,MAAOsB,EAAM6+E,4BAA6B71E,SAAUs0D,IAChH,cAAC37D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0xE,iCAExC,eAAC3/E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CAAWsI,KAAK,SAAS9C,KAAK,4BAA4BzH,MAAOsB,EAAMu+E,0BAA2Bv1E,SAAUs0D,IAC5G,cAAC37D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOoxE,+BAExC,cAACr/E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACK8wE,EACG,qCACI,cAACh/E,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC+I,GAAA,EAAD,CAAYm2E,QAAQ,QAAQpgF,MAAM,YAAYlC,MAAO,CAAEyD,UAAW,MAAOkR,WAAY,QAArF,SACKwtE,EAAW,EAAIA,EAAW,yEAGnC,UAGZ,eAACxgF,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAtC,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CAAWwF,KAAK,uBAAuBzH,MAAOsB,EAAM8+E,qBAAsB91E,SAAUs0D,OAExF,eAACp+D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CAAWwF,KAAK,qBAAqBzH,MAAOsB,EAAM++E,mBAAoB/1E,SAAUs0D,UAGxF,cAACp+D,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAtC,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,mBACA,cAAC,IAAD,CAAW+tB,WAAS,EAACzQ,KAAM,EAAG9X,KAAK,cAAczH,MAAOsB,EAAMg/E,YAAah2E,SAAUs0D,SAG7F,eAACp+D,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAtC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAAS4hF,EAAc30E,WAAU,OAACoiB,QAAD,IAACA,OAAD,EAACA,EAAiB0yD,0BAApE,sBAIJ,cAAC5gF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAASxB,EAAMO,QAAhC,6BClOduyB,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IACxC,CAAES,IAAK,qBAAsBxE,KAAM,aAAc+K,UAAW3E,IAAW62C,qBACvE,CAAEz4C,IAAK,mBAAoBxE,KAAM,WAAY+K,UAAW3E,IAAW62C,qBACnE,CAAEz4C,IAAK,8BAA+BxE,KAAM,iBAC5C,CAAEwE,IAAK,4BAA6BxE,KAAM,eAC1C,CAAEwE,IAAK,uBAAwBxE,KAAM,kBACrC,CAAEwE,IAAK,qBAAsBxE,KAAM,gBACnC,CAAEwE,IAAK,SAAUxE,KAAM,WA6EZ45E,GA1ES,SAACxjF,GACrB,MAA0BgC,mBAAS,CAC/BgxB,MAAM,EACNywD,YAAa,GACbj4E,YAAY,EACZ0K,SAAU,OAJd,mBAAOzS,EAAP,KAAcxB,EAAd,KAMI4uB,EAAkB9sB,IAAW+sB,gBACjCltB,oBAAS,sBAAC,sBAAAM,EAAA,sDACNw/E,IADM,2CAEP,CAAC1jF,EAAM0sC,YAEV,IAAMg3C,EAAe,uCAAG,sBAAAx/E,EAAA,sDACpBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHE,2CAAH,qDAOfyvE,EAAgB,SAACt9E,GACnBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN4uD,UAAS,OAAEv7E,QAAF,IAAEA,OAAF,EAAEA,EAAMu7E,gBAYnBgC,EAAgB,SAACv9E,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAY9B,aAAa,eAAenX,QAAS,kBAAMmiF,EAAcjvE,SAK3EnB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAYivE,GAEnB9nE,IACR,IAEC3F,EAAM,6BAAyBnW,EAAM0sC,UAA/B,gBAEV,OACI,8BACKjpC,EAAMuvB,KACH,cAAC,GAAD,CAAsBzyB,QA9Bf,SAACmF,GAChBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,OAEVttB,GAAOg+E,KAyB4Ch3C,UAAW1sC,EAAM0sC,UAAWk1C,UAAWn+E,EAAMm+E,YAExF,cAAC,GAAD,CACIxqE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQA,EACRmC,UAAyB,OAAfuY,QAAe,IAAfA,OAAA,EAAAA,EAAiB0yD,0BAA2B,cAAgB,GACtE9qE,WAAY,kBAAMkrE,EAAc,OAChCztE,SAAUzS,EAAMyS,cChFvB2tE,GAAmB,uCAAG,WAAOC,EAAW5/D,GAAlB,eAAAhgB,EAAA,sEAGf6B,aAAY,iBAAD,OAAkBme,IAHd,cAG3Bxe,EAH2B,yBAIxBA,GAJwB,2CAAH,wDAOnBq+E,GAAiC99E,mBAAO,sBAAC,4BAAA/B,EAAA,sEAClC6B,aAAY,iCADsB,cAC9CL,EAD8C,yBAE3CA,GAF2C,4CAKzCs+E,GAAe,uCAAG,WAAO39E,GAAP,eAAAnC,EAAA,sEACXsB,aAAa,gBAAiBa,GADnB,cACvBX,EADuB,yBAEpBA,GAFoB,2CAAH,sDCVfu+E,GAA4B15D,0BAE5B25D,GAAuB,SAAClkF,GACjC,MAA6CyB,eAArC6J,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,iBAExB,EAA0BvJ,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZ24E,oBAAoB,EACpBC,iBAAkB,GAClBC,aAAc,GACdC,kBAAmB,GACnBC,OAAQ,KACRC,OAAQ,GACR59E,QAAS,GACTgK,OAAQ,GACR6zE,KAAM,GACNC,cAAe,GACf3F,MAAO,KAbX,mBAAOt7E,EAAP,KAAcxB,EAAd,KAgBM0iF,EAA8B,uCAAG,4BAAAzgF,EAAA,sEAClB6/E,KADkB,QAC/B3uB,EAD+B,SAG/BnzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2H,YAAY,EAAO84E,kBAAmBlvB,EAAK/uD,KAAKu+E,wBAH5C,2CAAH,qDAO9B72D,EAAiBV,uBAAY,SAACvhB,GAChC,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,UAKxCvP,oBAAS,sBAAC,8BAAAM,EAAA,0DACFlE,EAAMukF,OADJ,gCAEcV,GAAoB7jF,EAAM0sC,UAAW1sC,EAAMukF,QAFzD,OAEE7+E,EAFF,OAGIW,EAAOX,EAAIW,KACjBpE,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,OAEL0gF,OAAQl+E,EAAKw+E,eACbV,mBAAoB99E,EAAK89E,mBACzBv9E,QAASP,EAAKy+E,qBACdN,OAAQn+E,EAAK0+E,mBACbN,KAAMp+E,EAAK2+E,iBACXN,cAAer+E,EAAK4+E,4BACpBlG,MAAO14E,EAAK6+E,mBARP,mCASe7+E,EAAK89E,oBATpB,sCAUkB99E,EAAK8+E,uBAVvB,qCAWiB9+E,EAAK++E,sBAXtB,6BAYS/+E,EAAKg/E,kBAZd,OAJP,OAmBNV,IAnBM,2CAoBP,IAEH,IAAM7yE,EAAc,WAChB,IAAQ0yE,EAA8C/gF,EAA9C+gF,OAAQC,EAAsChhF,EAAtCghF,KAAMC,EAAgCjhF,EAAhCihF,cAAeL,EAAiB5gF,EAAjB4gF,aACjCtyE,GAAc,EACdnB,EAAS,GAkBb,MAjBK,QAAQqB,KAAKuyE,KACd5zE,EAAO4zE,OAAS,+BAChBzyE,GAAc,GAEb,QAAQE,KAAKwyE,KACd7zE,EAAO6zE,KAAO,6BACd1yE,GAAc,GAEb,QAAQE,KAAKyyE,KACd9zE,EAAO8zE,cAAgB,uCACvB3yE,GAAc,GAEb,QAAQE,KAAKoyE,KACdzzE,EAAOyzE,aAAe,gCACtBtyE,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGL6b,EAAY,uCAAG,8BAAA1pB,EAAA,0DACb4N,IADa,uBAGbK,EAAW,CACP0yE,eAAgBphF,EAAM8gF,OACtBQ,mBAAoBthF,EAAM+gF,OAC1BM,qBAAsBrhF,EAAMmD,QAC5Bo+E,iBAAkBvhF,EAAMghF,KACxBQ,4BAA6BxhF,EAAMihF,cACnCQ,kBAAmBzhF,EAAMs7E,MACzBoF,mBAAoB1gF,EAAM0gF,mBAC1BgB,sBAAuBnlF,EAAM0sC,UAC7B04C,qBAAsB,KACtBC,iBAAkB5hF,EAAM4gF,cAbf,SAeGL,GAAgB7xE,GAfnB,QAeTzM,EAfS,QAgBLoE,SACJyB,EAAiB,qCACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SApBV,2CAAH,qDAyBZ0F,EAAcwb,uBAAY,SAACvhB,GAC7B,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAOH,OACI,cAAC8hF,GAA0Bn2D,SAA3B,CACI3rB,MAAO,CACHsB,QACAmqB,eACA/b,cACAkc,kBALR,SAQK/tB,EAAMK,YChInB,SAASilF,GAAkBtlF,GACvB,MAA+E2B,qBAAWsiF,IAAlFxgF,EAAR,EAAQA,MAAOmqB,EAAf,EAAeA,aAAc/b,EAA7B,EAA6BA,YAAakc,EAA1C,EAA0CA,eACtC8C,GADJ,EAA0DqoB,iBACpCn1C,IAAW+sB,iBACjC,OACI,eAACnuB,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CAAgBmO,YAAY,eAAepQ,MAAOsB,EAAM4gF,aAAc53E,SAAUoF,EAAajI,KAAK,iBAClG,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOyzE,kBAExC,eAAC1hF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,UACI,cAAC,IAAD,CAAgB+H,KAAK,SAAS4F,WAAW,SAAS1I,KAAK,SAAS2I,YAAY,SAAS9F,SAAUoF,EAAa1P,MAAOsB,EAAM+gF,SACzH,cAACp/E,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO4zE,YAExC,eAAC7hF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,UACI,cAAC,IAAD,CAAgB+H,KAAK,SAAS4F,WAAW,OAAO1I,KAAK,OAAO2I,YAAY,OAAO9F,SAAUoF,EAAa1P,MAAOsB,EAAMghF,OACnH,cAACr/E,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO6zE,UAExC,eAAC9hF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,4BAGA,cAAC,IAAD,CAAWwF,KAAK,gBAAgBzH,MAAOsB,EAAMihF,cAAej4E,SAAUoF,EAAaY,KAAMhP,EAAM6gF,oBAC/F,cAACl/E,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO8zE,mBAExC,cAAC/hF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAa0J,KAAK,SAAS4F,WAAW,UAAU1I,KAAK,UAAU2I,YAAY,UAAU9F,SAAUoF,EAAa1P,MAAOsB,EAAMmD,YAE7H,eAACjE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAAC,IAAD,CAAgBmvB,WAAS,EAACzQ,KAAM,EAAGpP,WAAW,QAAQ1I,KAAK,QAAQ2I,YAAY,QAAQ9F,SAAUoF,EAAa1P,MAAOsB,EAAMs7E,QAC3H,cAAC35E,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOmuE,WAEvC/+E,EAAMukF,QACH,cAAC5hF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG1N,UAAU,gBAAgB4gF,GAAI,EAAvD,SACI,cAAC,IAAD,CAAmBpyE,QAAS1P,EAAM0gF,mBAAoBv6E,KAAK,qBAAqB6C,SAAUshB,EAAgBvhB,MAAM,kBAGxH,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAASosB,EAAcnf,WAAU,OAACoiB,QAAD,IAACA,OAAD,EAACA,EAAiB20D,6BAApE,uBAOhB,IAOe7zD,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAA0BA,GAA1B,aACI,cAACslF,GAAD,eAAuBtlF,QChD7B8yB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,MAEX,CAAES,IAAK,mBAAoBxE,KAAM,gBAAiB+K,UAAW3E,IAAW62C,qBACxE,CAAEz4C,IAAK,qBAAsBxE,KAAM,UACnC,CAAEwE,IAAK,mBAAoBxE,KAAM,QACjC,CAAEwE,IAAK,gBAAiBxE,KAAM,kBAC9B,CAAEwE,IAAK,oBAAqBxE,KAAM,UAkFvB67E,GA/EsB,SAACzlF,GAClC,MAA6CyB,eACzCovB,GADJ,EAAQvlB,eAAR,EAAwBC,iBACFxH,IAAW+sB,iBACjC,EAA0B9uB,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZ44E,iBAAkB,GAClBG,OAAQ,OAJZ,mBAAO9gF,EAAP,KAAcxB,EAAd,KAOMu5B,EAAY,SAACpiB,GACfnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACNuxD,OAAQnrE,QAIVhZ,EAAK,UAAMqD,EAAM8gF,OAAS,SAAW,MAAhC,SAELI,EAA8B,uCAAG,sBAAAzgF,EAAA,sDACnCjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHiB,2CAAH,qDAOpCtQ,oBAAS,sBAAC,sBAAAM,EAAA,sDACNygF,IADM,2CAEP,CAAC3kF,EAAM0sC,YAEV,IAAMg5C,EAA0B,SAAChgF,GAC7BzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN20C,YAAY,OAEhBjiE,GAAOi/E,KAGLtxD,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMg6B,EAAU9mB,EAAImwE,iBAAiBlsE,aAAa,iBAK7EpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAEH,OACI,gCACI,cAAC,GAAD,CACIvI,QAASA,EACT4C,OAAM,kCAA6BnW,EAAM0sC,WACzCt1B,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,UAAyB,OAAfuY,QAAe,IAAfA,OAAA,EAAAA,EAAiB20D,6BAXrB,WAWkE,GACxE/sE,WAAY,kBAAM+iB,EAAU,SAE/B/3B,EAAMuvB,MACH,cAAC7yB,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMmlF,GAAwB,IAAQllF,SAAS,KAAlF,SACI,cAAC,GAAD,aAAmB+jF,OAAQ9gF,EAAM8gF,OAAQ73C,UAAW1sC,EAAM0sC,UAAW7e,aAAc63D,GAA6B1lF,UC5D9H42D,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,WACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,eARO0+C,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,qBAAsB,CAClBi3B,gBAAiB,eAHNqf,CAMnB6V,MACEtsD,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrC7K,MAAO,CACHia,SAAU,OACVnX,MAAO,UACPwV,WAAY,IACZ4Y,YAAa,GAEjBhR,OAAQ,CACJ3S,MAAO,OACPjN,OAAQ,OACRI,QAAS,OACTwxB,eAAgB,SAChBvxB,WAAY,SACZ0D,UAAW,KAEfc,KAAM,CACFy7B,OAAQ,iBACRtgC,OAAQ,SAIVy+D,GAAe,CACjB3+B,EAAG4+B,IACH9+B,EAAG++B,IACHj/B,EAAGk/B,IACH35B,EAAG45B,KAGDomB,GAAY,CAAEnlD,EAAG,aAAcF,EAAG,eAAgBF,EAAG,qBAAsBiF,EAAG,kBAAmBM,EAAG,WA8rB3FigD,GA5rBe,SAAC5lF,GAAW,IAAD,IACrC,EAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAClBszC,EAAgB5wC,eAAhB4wC,YACFjzC,EAAUZ,KAChB,EAA0B/I,mBAAS,CAC/BwE,UAAWxG,EAAM0sC,UACjBizB,6BAA8B,EAC9BC,0BAA2B,KAC3BC,4BAA6B,KAC7BC,+BAAgC,GAChCC,0BAA2B,KAC3BC,oBAAqBhgE,EAAM6lF,SAC3B5lB,WAAW,EACXrO,MAAM,EACNsO,6BAA8BthB,EAC9Bo4B,YAAa,KAXjB,mBAAOvzE,EAAP,KAAcxB,EAAd,KAcA2B,oBAAS,sBAAC,sCAAAM,EAAA,0DACFlE,EAAM6lF,SADJ,gCAEcvoB,GAAwBt9D,EAAM6lF,UAF5C,QAEEngF,EAFF,QAGMoE,UACJpE,EAAIW,KAAKy/E,kBAAkBv8E,KAAI,SAACojB,GAC5B1qB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmpC,UAAWrgB,EAAEnW,iBACbjG,QAASoc,EAAEsnB,aACXxiC,OAAQkb,EAAEunB,YACV1tC,UAAWmmB,EAAEnmB,UACbw5D,oBAAqBhgE,EAAM6lF,SAC3BjmB,0BAA2BjzC,EAAEizC,0BAC7BD,6BAA8BhzC,EAAEgzC,6BAChClzB,KAAM5yB,KAAO8S,EAAE+yC,8BAA8B5lD,OAAO,oBACpD+lD,4BAA6BlzC,EAAEkzC,4BAC/B2B,gCAAiC70C,EAAE60C,gCACnCE,4BAA6B/0C,EAAE+0C,4BAC/B3B,0BAA2BpzC,EAAEozC,0BAC7B0B,yBAA0B90C,EAAE80C,yBAC5B3B,+BAAgCnzC,EAAEmzC,+BAClCI,6BAA8BvzC,EAAEuzC,6BAChCyB,0BAA2Bh1C,EAAEg1C,0BAC7B5iB,kBAAmBpyB,EAAEs1C,kCACrB8jB,QAASp5D,EAAEq5D,sCACXC,iCAAkCt5D,EAAEs5D,yCAGtC/jF,EAAcwD,EAAIW,KAAK6/E,8BAA8B38E,KAAI,SAACojB,GAAD,MAAQ,CACnEtrB,GAAIsrB,EAAEtrB,GACNuI,KAAM+iB,EAAE/iB,SAEN02D,EAAe56D,EAAIW,KAAKi6D,aAAa/2D,KAAI,SAACojB,GAAD,MAAQ,CACnDtrB,GAAIsrB,EAAEtrB,GACNuI,KAAM+iB,EAAE/iB,SAEN22D,EAAY76D,EAAIW,KAAKm6D,gBAAgBj3D,KAAI,SAACgoB,GAAD,MAAQ,CACnDlwB,GAAIkwB,EAAElwB,GACNuI,KAAM2nB,EAAE3nB,SAEN62D,EAAe/6D,EAAIW,KAAK8/E,uBACxBxlB,EAAej7D,EAAIW,KAAKu6D,wBAE9B3+D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELg9D,UAAWJ,EACXE,aAAcA,EACdJ,UAAWA,EACXD,aAAcA,EACdp+D,YAAaA,QAjDnB,2CAqDP,IAEH,IAAMwB,EAAaC,iBAAO,IAqCpByiF,EAAe,SAAC/kF,GAAD,OAAQ,SAACyK,GAC1B,IAAI6xB,EAAY,aAAOl6B,EAAMo9D,WACzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAEi1C,6BAA+BvgE,KACjFs8B,EAAaC,GAAU9xB,EAAEE,OAAOpC,MAAQkC,EAAEE,OAAO7J,MACjDF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBg9D,UAAWljC,SAGpC0oD,EAAkB,SAACv6E,GACrB,IAAI6xB,EAAe,aAAIl6B,EAAMo9D,WAAWt3D,KAAI,SAAC0kD,GACzC,OAAO,2BACAA,GADP,IAEI+T,iCAAkCl2D,EAAEE,OAAO7J,WAGnDF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBg9D,UAAWljC,QAGpC7rB,EAAc,WAChB,IAAIC,GAAc,EACdnB,EAAS,GAET+sB,EAAe,aAAIl6B,EAAMo9D,WAAWt3D,KAAI,SAAC0kD,GACzC,OAA0C,GAAtCA,EAAE+T,kCACFjwD,GAAc,EACP,2BACAk8C,GADP,IAEIq4B,YAAa,0BAGV,2BACAr4B,GADP,IAEIq4B,YAAa,QAqBzB,OAhBK7iF,EAAMwiF,mCACPr1E,EAAOq1E,iCAAmC,+BAC1Cl0E,GAAc,GAEbtO,EAAMsiF,SACFtiF,EAAMuiF,wCACPp1E,EAAOo1E,sCAAwC,wBAC/Cj0E,GAAc,GAItB9P,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,EACRiwD,UAAWljC,OAER5rB,GAELwvD,EAAa,SAAClgE,GAAD,OAAQ,SAACyK,GACxB,IAAI6xB,EAAY,aAAOl6B,EAAMo9D,WACzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAEi1C,6BAA+BvgE,KACjFs8B,EAAaC,GAAU9xB,EAAEE,OAAOpC,MAAQkC,EAAEE,OAAO7J,MACjDF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBg9D,UAAWljC,SAOpC/P,EAAY,uCAAG,gCAAA1pB,EAAA,yDACby9D,EAA4Bl+D,EAAMo9D,UAAUt3D,KAAI,SAACgoB,GAAD,MAAQ,CACxDqwC,2BAA4BrwC,EAAEqwC,2BAC9BV,kDAAmD3vC,EAAE2vC,kDAC/C3vC,EAAE2vC,kDACF,KACNW,8BAA+BtwC,EAAEswC,8BAAgCtwC,EAAEswC,8BAAgC,KACnGC,wCAAyCvwC,EAAEuwC,wCAA0CvwC,EAAEuwC,wCAA0C,KACjIC,iCAAkCxwC,EAAEwwC,iCAAmCxwC,EAAEwwC,iCAAmC,KAC5GC,iCAAkCzwC,EAAEywC,sCAEpClwD,IAXa,uBAYTK,EAAW,CACX3L,UAAW/C,EAAM+C,UACjBw5D,oBAAqBv8D,EAAMu8D,oBAC3BJ,0BAA2Bn8D,EAAMm8D,0BACjCD,6BAA8Bl8D,EAAMk8D,6BACpCD,6BAA8Bj8D,EAAMgpC,KACpCozB,4BAA6Bp8D,EAAMo8D,4BACnC2B,gCAAiC/9D,EAAM+9D,gCACvCE,4BAA6Bj+D,EAAMi+D,4BACnC3B,0BAA2Bt8D,EAAMs8D,0BACjC0B,yBAA0Bh+D,EAAMg+D,yBAChC3B,+BAAgCr8D,EAAMq8D,+BACtCI,6BAA8Bz8D,EAAMy8D,6BACpCyB,0BAA2BA,EAC3BM,kCAAmCx+D,EAAMs7C,kBACzCinC,sCAAuCviF,EAAMuiF,sCAC7CC,iCAAkCxiF,EAAMwiF,kCA5B/B,SA8BG1oB,GAA2BprD,GA9B9B,QA8BTzM,EA9BS,QA+BLoE,SACJyB,EAAiB,6CACjBvL,EAAMO,SAAQ,KAEd+K,EAAe5F,EAAIyG,SACnBnM,EAAMO,SAAQ,IApCL,2CAAH,qDA2CZkxE,EAAY,uCAAG,WAAO8U,EAA0BC,GAAjC,mBAAAtiF,EAAA,sEACDu5D,GAAa8oB,GADZ,OAEW,IADxB7gF,EADa,QAETW,KAAK4V,KAAKjK,QACV2rB,EADuB,aACJl6B,EAAMo9D,WACzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAE85D,4BAA8BF,KAChFtkF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8tE,gBAAgB,EAChB4U,yBAA0BA,EAC1BlkB,eAAgB1kC,EAAaC,GAAUkgC,QAAU,GACjD0oB,iBAAkBA,QAGtBvkF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8tE,gBAAgB,EAChB4U,yBAA0BA,EAC1BlkB,eAAgB38D,EAAIW,KAAK4V,KAAK1S,KAAI,SAAC2qE,GAAD,OAAOA,EAAEwS,gCAC3CF,iBAAkBA,OAlBT,2CAAH,wDAyCZxN,EAAW,uCAAG,kCAAA90E,EAAA,6DACZg/D,EADY,aACIz/D,EAAMuzE,aAEtB3wE,EAAO,CACPsgF,yBAA0B,KAC1BC,+BAAgCnjF,EAAM8iF,yBACtCM,6BAA8B3jB,GANlB,SAQA1F,GAAUn3D,GARV,cASRyD,UACA6zB,EADS,aACUl6B,EAAMo9D,WACzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAE85D,4BAA8BhjF,EAAM8iF,4BACtF5oD,EAAaC,GAAUilC,WAAallC,EAAaC,GAAUogC,MAAMhsD,OACjEzG,EAAiB,+BACjBtJ,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8tE,gBAAgB,EAChB9Q,UAAWljC,QAjBH,2CAAH,qDAsBjB,OACI,sBAAK38B,MAAO,CAAEyD,UAAW,IAAzB,UACKhB,EAAM88D,UACH,eAAC59D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UAEI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAvB,SACI,eAACpuB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAIoP,UAAU,MAAMiG,QAAQ,eAA5D,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAArC,UACI,eAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAG+xC,SAAS,KAAzC,UACI,cAAC3+D,EAAA,EAAD,CAAYC,QAAM,EAAlB,yBACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+BM,EAAMupC,gBAEzC,eAACrqC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UACKM,EAAMgO,OADX,OAEKhO,EAAM8M,cAGf,eAAC5N,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAG+xC,SAAS,KAAzC,UACI,cAAC3+D,EAAA,EAAD,CAAYC,QAAM,EAAlB,mBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMgpC,UAExC,eAAC9pC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAG+xC,SAAS,KAAzC,UACI,cAAC3+D,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACCX,EAAM88D,UAAUh3D,KAAI,SAACgoB,GAClB,GAAI9tB,EAAMk8D,+BAAiCpuC,EAAElwB,GACzC,OAAO,cAAC8L,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BouB,EAAE3nB,gBAMvD,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAArC,UACI,eAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAG+xC,SAAS,KAAzC,UACI,cAAC3+D,EAAA,EAAD,CAAYC,QAAM,EAAlB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMi+D,iCAExC,eAAC/+D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMy8D,kCAExC,eAACv9D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAG+xC,SAAS,KAAzC,UACI,cAAC3+D,EAAA,EAAD,CAAYC,QAAM,EAAlB,iCACCX,EAAM68D,aAAa/2D,KAAI,SAACojB,GACrB,GAAIA,EAAEtrB,KAAOoC,EAAM+9D,gCACf,OAAO,eAACr0D,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+BwpB,EAAE/iB,cAIpD,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAG+xC,SAAS,KAAzC,UACI,cAAC3+D,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMg+D,sCAOpD,cAAC9+D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAI/vB,MAAO,CAAEyD,UAAW,GAA/C,SACI,cAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIoP,UAAU,MAAMiG,QAAQ,eAAhD,SACI,cAAC,IAAD,CAAW8hC,OAAQ,6BAAnB,SACI,eAACx3C,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACL,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,SAASC,MAAO,CAAEmhC,gBAAiB,WAA9D,UACI,eAACx/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG/vB,MAAO,CAAE8B,QAAS,YAA5C,0BACkB,OAEjBW,EAAMk9D,aAAap3D,KAAI,SAACgoB,GACrB,IAAMmxC,EAAOvD,GAAa5tC,EAAEixC,2BAC5B,OACI,cAAC7/D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAG/vB,MAAO,CAAE8B,QAAS,YAA3C,SACI,eAACH,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,SAAS8B,QAAS,EAA7C,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC2/D,EAAD,CAAMj/D,OAAO,EAAMgL,UAAU,EAA7B,SACI,cAACk0D,GAAA,EAAD,UAAQpxC,EAAEgxC,mCAAmC,SAGrD,cAAC5/D,EAAA,EAAD,CAAMI,MAAI,EAAV,SAAYwuB,EAAEgxC,kDAOtC,cAAC5/D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACw0D,GAAA,EAAD,CACIroD,UAAW4rB,KACX/5B,MAAO,CAAE0xB,UAAW,IAAKhyB,OAAQ,OAAQsvB,UAAW,IAAKgR,OAAQ,6BACjEr8B,UAAU,gBAHd,SAKI,eAACgzD,GAAA,EAAD,CAAOsN,cAAY,EAAC7qD,aAAW,eAAezV,UAAWgH,EAAQ22D,MAAjE,UACI,cAAC9F,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACI,cAACyM,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,MAA3B,SACI,cAAC,GAAD,CAAiBp2D,MAAM,OAAvB,SACI,eAAChL,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,gBAAxB,UACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,mBACA,cAACJ,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,wBAAQ6G,KAAK,aAAa6C,SAAU45E,EAApC,SACK5iF,EAAMvB,YAAYqH,KAAI,SAACy/D,GACpB,OAAO,wBAAQ7mE,MAAK,UAAK6mE,EAAE3nE,IAApB,SAA2B2nE,EAAEp/D,qBAO5D,eAACk6D,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,MAArB,UACI,cAAC,GAAD,CAAiBp2D,MAAM,MAAvB,mBACA,cAAC,GAAD,CAAiBP,MAAM,SAASO,MAAM,KAAtC,oBAGA,cAAC,GAAD,CAAiBP,MAAM,SAASO,MAAM,KAAtC,oBAIA,cAAC,GAAD,CAAiBP,MAAM,OAAOO,MAAM,MAApC,iDAGA,cAAC,GAAD,CAAiBP,MAAM,OAAOO,MAAM,MAApC,SACI,eAAChL,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,gBAAxB,UACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,oBACA,cAACJ,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,wBAAQ6G,KAAK,aAAa6C,SAAU45E,EAApC,SACK5iF,EAAMvB,YAAYqH,KAAI,SAACy/D,GACpB,OAAO,wBAAQ7mE,MAAK,UAAK6mE,EAAE3nE,IAApB,SAA2B2nE,EAAEp/D,2BASpE,cAACguD,GAAA,EAAD,CAAW52D,MAAO,CAAEN,OAAQ,IAAKD,SAAU,QAA3C,SACKgD,EAAMo9D,UAAUt3D,KAAI,SAACojB,GAClB,OACI,eAAC,GAAD,WACI,cAACm3C,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,KAAM,MAA3B,SACI,cAAC,GAAD,CAAiBp2D,MAAM,OAAvB,SACI,eAAChL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGwV,QAAS,gBAAiBrV,GAAI,GAA/D,UACI,eAACL,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,EAAf,UACKsa,EAAE81C,6BACH,cAACr9D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBsnB,EAAEk1C,mCAE7B,eAACl/D,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,EAAGrR,MAAO,CAAEF,QAAS,QAApC,UACK2C,EAAMk9D,aAAap3D,KAAI,SAACgoB,GACrB,IAAMmxC,EAAOvD,GAAa5tC,EAAEixC,2BAE5B,GADe71C,EAAEu0C,oDACF3vC,EAAEixC,0BACb,OACI,cAACE,EAAD,CACIj/D,MACIkpB,EAAEu0C,oDACF3vC,EAAEixC,0BAEN/zD,UAAU,EALd,SAOI,cAACk0D,GAAA,EAAD,UAAQpxC,EAAEgxC,mCAAmC,UAK7D,cAAC,IAAD,CACInwD,UAAU,QACVpR,MAAO,CAAE2U,WAAY,GACrBnU,QAAS,kBACLiwE,EACI9kD,EAAE85D,0BACF95D,EAAE81C,+BAGVG,MAAOj2C,EAAEwsD,gBAAkBxsD,EAAEk2C,WAC7Bp/D,MAAOkpB,EAAEwsD,eAAiB,GAAKxsD,EAAEk2C,WAAa,UAK1D,eAAClgE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kDACCX,EAAMsiF,QACH,cAAC54E,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SACKwpB,EAAEm1C,yCAA2C,QAGlD,cAAC,IAAD,CACIvvD,YAAY,uCACZ3I,KAAK,0CACL6C,SAAU80D,EAAW50C,EAAEi1C,4BACvBz/D,MAAOwqB,EAAEm1C,wCACTrzD,SAAUhL,EAAMsiF,QAChB/kF,MAAO,CAAEkC,MAAO,WAGxB,eAACiB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAEyD,UAAW,GAAvC,UACK,IADL,YAIChB,EAAMsiF,QACH,cAAC54E,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SACKwiF,GAAUh5D,EAAEq1C,oCAGjB,cAAC,IAAD,CACI8kB,aAAa,EACbr6E,SAAU25E,EAAaz5D,EAAEi1C,4BACzBz/D,MAAOwqB,EAAEq1C,iCACTp4D,KAAK,mCACL6I,KAAMhP,EAAMvB,YACZuM,SAAUhL,EAAMsiF,UAGxB,cAAC3gF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBsnB,EAAE25D,wBAKzC,eAACxiB,GAAA,EAAD,CAAQC,KAAM,CAAC,KAAM,MAArB,UACI,eAAC,GAAD,CAAiB50D,UAAU,KAA3B,UACKwd,EAAE81C,6BACH,uBACA,cAACr9D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBsnB,EAAEk1C,mCAE5Bp+D,EAAMk9D,aAAap3D,KAAI,SAACgoB,GACrB,IAAMmxC,EAAOvD,GAAa5tC,EAAEixC,2BAE5B,GADe71C,EAAEu0C,oDACF3vC,EAAEixC,0BACb,OACI,cAAC,GAAD,CAAiBp1D,MAAM,SAAvB,SACI,cAACs1D,EAAD,CACIj/D,MACIkpB,EAAEu0C,oDACF3vC,EAAEixC,0BAEN/zD,UAAU,EALd,SAOI,cAACk0D,GAAA,EAAD,UAAQpxC,EAAEgxC,mCAAmC,YAMjE,cAAC,GAAD,CAAiBn1D,MAAM,SAAvB,SACI,cAAC,IAAD,CACI5L,QAAS,kBACLiwE,EAAa9kD,EAAE85D,0BAA2B95D,EAAE81C,+BAEhDG,MAAOj2C,EAAEwsD,gBAAkBxsD,EAAEk2C,WAC7Bp/D,MAAOkpB,EAAEwsD,eAAiB,GAAKxsD,EAAEk2C,WAAa,MAItD,cAAC,GAAD,CAAiBz1D,MAAM,OAAvB,SACI,cAAC,IAAD,CACImF,YAAY,uCACZ3I,KAAK,0CACL6C,SAAU80D,EAAW50C,EAAEi1C,4BACvBz/D,MAAOwqB,EAAEm1C,wCACTrzD,SAAUhL,EAAMsiF,YAGxB,eAAC,GAAD,CAAiB34E,MAAM,OAAvB,UACI,cAAC,IAAD,CACI05E,aAAa,EACbr6E,SAAU25E,EAAaz5D,EAAEi1C,4BACzBz/D,MAAOwqB,EAAEq1C,iCACTp4D,KAAK,mCACL6I,KAAMhP,EAAMvB,YACZuM,SAAUhL,EAAMsiF,UAEpB,cAAC3gF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBsnB,EAAE25D,4CAe7E,cAAC3jF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEyD,UAAW,GAAvC,SACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIpsB,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,sCACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,0BACZ3I,KAAK,mCACL6C,SA3dX,SAACX,GAClB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJ+F,EAAOzH,QAwdgBsM,SAAUhL,EAAMsiF,QAChB5jF,MAAOsB,EAAMwiF,mCAEjB,cAAC7gF,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAcq1E,sCAEzC,uBACA,cAACtjF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAG/vB,MAAO,CAAEyD,UAAW,GAAtD,SACI,8BACI,sBAAKzD,MAAO,CAAEC,SAAU,YAAxB,UACI,cAACkD,EAAA,EAAD,CAAYC,QAAM,EAAlB,uCACA,qBACIpD,MAAO,CACHC,SAAU,WACVC,MAAO,KAGduC,EAAMs7C,kBACH,qBAAKp6C,UAAWgH,EAAQpG,KAAxB,SACI,qBAAKb,IAAKjB,EAAMs7C,kBAAmBn6C,IAAI,eAAeD,UAAU,aAGpE,qBAAKA,UAAWgH,EAAQpG,cAKxC,cAAC5C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGpsB,UAAU,mBAA5C,SACI,gCACI,sBAAK3D,MAAO,CAAEC,SAAU,YAAxB,UACI,eAACkD,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBAEMX,EAAMsiF,QAIJ,KAHA,cAAC1hF,EAAA,EAAD,CAASjE,MAAM,wBAAf,SACI,cAAC,IAAD,CAAiBoB,QAxb3C,WAClBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+tD,MAAM,EAAMo0B,sCAAuCjiF,IAAWC,qBAubJhD,MAAO,CAAEI,OAAQ,UAAW+J,OAAQ,2BAKzF,qBACInK,MAAO,CACHC,SAAU,WACVC,MAAO,GAHf,SAMMuC,EAAMsiF,QAUJ,KATA,cAAC1hF,EAAA,EAAD,CAASjE,MAAM,kBAAf,SACI,cAAC,IAAD,CACIoB,QAtiBtC,WACVS,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GASjB,OARIJ,EAAMmuD,MACN/xB,EAAM+xB,MAAO,EACb/xB,EAAMmmD,sCAAwC,OAE9CnmD,EAAMmmD,sCAAwC,KAC9CtiF,EAAWa,QAAQC,SAGhBq7B,MA4hBqC7+B,MAAO,CACHI,OAAQ,UACRqD,UAAW,SAM9BhB,EAAMsiF,QACH,qBAAKphF,UAAWgH,EAAQpG,KAAxB,SACI,qBAAKb,IAAKjB,EAAMsiF,QAASnhF,IAAI,eAAeD,UAAU,aAE1DlB,EAAMmuD,KACN,qBAAKjtD,UAAWgH,EAAQpG,KAAxB,SACI,qBAAKb,IAAKjB,EAAMuiF,sCAAuCphF,IAAI,eAAeD,UAAU,aAGxF,qBAAKA,UAAWgH,EAAQpG,KAAxB,SACI,cAAC,IAAD,CACIV,IAAKnB,EACLoB,YAAa,CAAEH,UAAW,UAC1BI,MAAO,YA7iB7B,WACtB,IAAIC,EAASvB,EAAMuB,OACnB/C,GAAS,SAAC4B,GAMN,OALS,2BACFA,GADE,IAELmiF,sCAAuCtiF,EAAWa,QAAQU,YAC1DD,OAAQA,OAwiBgCE,WAMpB,cAACE,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAco1E,kDAMpDviF,EAAMsiF,QAAU,KACb,cAACpjF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAGrR,MAAO,CAAEyD,UAAW,GAA9C,SACI,cAAC,IAAD,CAAiBjD,QAASosB,EAA1B,wBAGR,cAACjrB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI5O,EAAMsiF,QAAU,GAAK,EAAG/kF,MAAO,CAAEyD,UAAW,GAAnE,SACI,cAAC,IAAD,CAAiBjD,QAAS,kBAAMxB,EAAMO,WAAtC,yBAIR,qBAAKoE,UAAWgH,EAAQ2U,OAAxB,SACI,cAACiS,GAAA,EAAD,CAAkBrvB,MAAM,gBAG/BO,EAAMkuE,eAEH,cAAC,GAAD,CACI7T,OAAQr6D,EAAM4+D,eACdjE,cArbM,SAACG,EAAWwE,GAC9B,IACIC,EADArlC,EAAY,aAAOl6B,EAAMo9D,WAEzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAE85D,4BAA8BhjF,EAAM8iF,4BAEtF,UAAO3oD,KACHolC,EAAmBzE,EAAUh1D,KAAI,SAACgoB,GAAD,OAAQA,EAAE0xC,SAAW1xC,EAAE0xC,SAAW1xC,KACnEoM,EAAaC,GAAUogC,MAAQgF,GAEnC,IAAIuW,EAAevW,EAAiB9kC,QAAO,SAAC7O,GAExC,IADc5rB,EAAM4+D,eAAe7uD,MAAK,SAAChC,GAAD,OAAOA,GAAK6d,KAEhD,OAAOA,KAGfptB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBg9D,UAAWljC,EAAc0kC,eAAgBW,EAAkBgU,YAAY,GAAD,oBAAMvzE,EAAMuzE,aAAZ,aAA4BuC,UAuajHra,YAAa8Z,EACbvqE,SAAUhL,EAAMsiF,QAChB7nB,eAAgBz6D,EAAM+iF,iBACtBjmF,QAAS,kBACL0B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8tE,gBAAgB,EAChBtP,eAAgB,GAChBkkB,yBAA0B,KAC1BC,iBAAkB,GAClBxP,YAAa,SAGrB3Y,UAAW,KAGnB,SCjwBNxjD,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,6BAA8BxE,KAAM,UAAW+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,OACxG,CAAES,IAAK,0BAA2BxE,KAAM,SAAU+D,MAAO,MACzD,CAAES,IAAK,SAAUxE,KAAM,UACvB,CAAEwE,IAAK,+BAAgCxE,KAAM,gBAC7C,CAAEwE,IAAK,8BAA+BxE,KAAM,eAC5C,CAAEwE,IAAK,iCAAkCxE,KAAM,kBAC/C,CAAEwE,IAAK,kCAAmCxE,KAAM,oBA4FrCm9E,GAzFe,SAAC/mF,GAC3B,MAA4BgC,mBAAS,CACjCglF,eAAe,EACfC,gBAAgB,EAChBpmB,UAAW,GACXr1D,YAAY,IAJhB,mBAAO07E,EAAP,KAAeC,EAAf,KAOAvjF,oBAAS,sBAAC,sBAAAM,EAAA,sDACNkjF,IADM,2CAEP,CAACpnF,EAAM0sC,YAEV,IAAM06C,EAAc,uCAAG,sBAAAljF,EAAA,sDACnBijF,GAAU,SAACtjF,GAAD,mBAAC,eACJA,GADG,IAENqS,SAAU,IAAIhC,UAHC,2CAAH,qDAed+I,EAAe,SAAC5W,EAAMqO,GACxB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAXPH,EAW8BqT,OAVpDyyE,GAAU,SAACtjF,GAAD,mBAAC,eACJA,GADG,IAENojF,gBAAgB,EAChBI,SAAUhmF,EAAG2+D,yBAJI,IAAC3+D,GAWoCsX,aAAa,kBA4BrEpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYsI,GAEnBnB,IACR,IACH,OACI,8BACKorE,EAAOD,eACJ,cAAC,GAAD,CAAuB1mF,QAnBjB,WACd4mF,GAAU,SAACtjF,GAAD,mBAAC,eACJA,GADG,IAENojF,gBAAgB,OAEpBG,KAcmDvB,SAAUqB,EAAOG,SAAU36C,UAAW1sC,EAAM0sC,YACvFw6C,EAAOF,cACP,cAAC,GAAD,CAAmBzmF,QApCf,WACZ4mF,GAAU,SAACtjF,GAAD,mBAAC,eACJA,GADG,IAENmjF,eAAe,OAEnBI,KA+B6C16C,UAAW1sC,EAAM0sC,UAAW46C,UAAWJ,EAAOI,UAAWC,QAASL,EAAOK,UAE9G,cAAC,GAAD,CACIh0E,QAASA,EACT4C,OAAM,0CAAqCnW,EAAM0sC,WACjDt1B,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUgxE,EAAOhxE,SACjBuC,WAtCQ,WACpB0uE,GAAU,SAACtjF,GAAD,mBAAC,eACJA,GADG,IAENmjF,eAAe,QAoCP1uE,SAAS,iB,WCrGhBkvE,GAAkB,uCAAG,WAAOnmF,GAAP,eAAA6C,EAAA,sEACd6B,aAAY,6BAAD,OAA8B1E,IAD3B,cAC1BqE,EAD0B,yBAEvBA,GAFuB,2CAAH,sDAIlB+hF,GAAW,uCAAG,WAAOphF,GAAP,eAAAnC,EAAA,sEACPsB,aAAa,8BAA+Ba,GADrC,cACnBX,EADmB,yBAEhBA,GAFgB,2CAAH,sDCIlBqF,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCq3D,MAAO,CACH30D,MAAO,MACPgI,WAAY,OACZxK,OAAQ,GACRg3B,gBAAiB,UACjBr/B,QAAS,IAEb4kF,UAAW,CACP/5E,MAAO,MACPxC,OAAQ,GACRg3B,gBAAiB,UACjBr/B,QAAS,IAEb6kF,MAAO,CACHltE,UAAW,SACXtP,OAAQ,GACRrI,QAAS,IAEb8kF,aAAc,CACVnnF,SAAU,OACV,uBAAwB,CACpBkN,MAAO,SAEX,6BAA8B,CAC1BoiB,UAAW,iCACX83D,gBAAiB,kCAErB,6BAA8B,CAC1B1lD,gBAAiB,UACjBuoB,QAAS,EACTo9B,QAAS,wBAGjBC,aAAc,CACVC,WAAY,0BAIdC,GAAc,CAChBC,GAAI,CACAC,YAAa,qBAEjBC,GAAI,CACAJ,WAAY,sBAsLLK,GAlLQ,SAACroF,GACpB,IAAQ4+C,EAAgB5wC,eAAhB4wC,YACR,EAA0B58C,mBAAS,CAC/BmK,QAAS,KACT8gC,aAAc,KACdq7C,YAAa,GACb98E,YAAY,IAJhB,mBAAO/H,EAAP,KAAcxB,EAAd,KAOMsmF,EAAuB,WACzB,IAAMC,EAAa7kF,mBAEnB,OADAC,qBAAU,kBAAM4kF,EAAWjkF,QAAQkkF,oBAC5B,qBAAK5jF,IAAK2jF,KAGfE,EAAW,uCAAG,4BAAAxkF,EAAA,0DACZlE,EAAM0sC,UADM,gCAEI86C,GAAmBxnF,EAAM0sC,WAF7B,QAERhnC,EAFQ,QAGJoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELykF,YAAa5iF,EAAIW,KAAK4V,KAAK0sE,MAAK,SAACzkF,EAAGorB,GAAJ,OAAWprB,EAAE0kF,MAAQt5D,EAAEs5D,MAAQ,EAAIt5D,EAAEs5D,MAAQ1kF,EAAE0kF,OAAS,EAAI,KAC5Fp9E,YAAY,OAPR,2CAAH,qDAYjB5H,oBAAS,sBAAC,sBAAAM,EAAA,sDACNwkF,IADM,2CAEP,IAQH,IAQMG,EAAa,WACf,IAAI5sB,GAAU,EAOd,OANKx4D,EAAM0I,UACP8vD,GAAU,GAET,QAAQhqD,KAAKxO,EAAM0I,WACpB8vD,GAAU,GAEPA,GAGL6sB,EAAa,uCAAG,4BAAA5kF,EAAA,0DACd2kF,IADc,uBAEVxiF,EAAO,CACPT,GAAI5F,EAAM0sC,UACVvgC,QAAS1I,EAAM0I,SAJL,SAOEs7E,GAAYphF,GAPd,cAQNyD,UACJ4+E,IACAzmF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELsI,QAAS,SAZH,2CAAH,qDAkBbR,EAAUZ,KAEhB,OACI,qBAAKpG,UAAU,oBAAf,SACI,eAAChC,EAAA,EAAD,CACIC,WAAS,EACT5B,MAAO,CACHN,OAAQ,sBACRD,SAAU,SACVgE,UAAW,OACXsrB,UAAW,2BANnB,UASK,IACD,eAACptB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIgR,GAAI,GAAIhhC,MAAO,CAAE8B,QAAS,sBAA7D,UACI,cAACqK,GAAA,EAAD,CAAYhK,QAAQ,KAApB,kBACCM,EAAM+H,WACH,qBACIxK,MAAO,CACHN,OAAQ,sBACRI,QAAS,OACTuxB,cAAe,SACfC,eAAgB,UALxB,SAQI,cAACC,GAAA,EAAD,CAAkBvxB,MAAO,CAAE2U,WAAY,OAAQ7V,YAAa,YAGhE,qBAAK6E,UAAWgH,EAAQi8E,aAAc5mF,MAAO,CAAEN,OAAQ,uBAAvD,SACkC,IAA7B+C,EAAM6kF,YAAYt2E,OACf,qCACKvO,EAAM6kF,YAAY/+E,KAAI,SAACgoB,EAAGmM,GACvB,IAAIqrD,EAAYx3D,EAAE3nB,OAASg1C,EAAcjzC,EAAQ+7E,UAAY/7E,EAAQ22D,MACrE,OACI,8BACI,cAACvnC,GAAA,EAAD,CAEIp2B,UAAWokF,EACX/nF,MAAOuwB,EAAEy3D,MAASz3D,EAAE3nB,OAASg1C,EAAcqpC,GAAYG,GAAKH,GAAYC,GAAM,KAHlF,SAKI,eAACvlF,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,qBAAK7B,MAAO,CAAE2M,MAAO,QAArB,SACI,cAACR,GAAA,EAAD,UAAaokB,EAAEwtD,UAEnB,qBAAK/9E,MAAO,CAAE2M,MAAO,OAArB,SACI,kCACK4jB,EAAE3nB,KADP,MACgBiQ,KAAO0X,EAAEq3D,OAAO9uE,OAAO,4BAI1CyX,EAAEy3D,OACC,qBAAKhoF,MAAO,CAAE2M,MAAO,MAAO8M,UAAW,SAAvC,SACI,2CAAcZ,KAAO0X,EAAEy3D,OAAOlvE,OAAO,gCAhB5C4jB,QAwBrB,cAAC6qD,EAAD,OAGJ,8BACI,qBAAK5jF,UAAWgH,EAAQg8E,MAAxB,SACI,eAAChlF,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,qBAAK7B,MAAO,CAAE2M,MAAO,QAArB,SACI,cAACR,GAAA,EAAD,oDAEJ,qBAAKnM,MAAO,CAAE2M,MAAO,QAArB,SACI,gCAAQkM,OAASC,OAAO,oCASpD,cAACnX,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAAQ,gBAApC,SACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACimF,GAAA,EAAD,CACI7lF,WAAS,EACTmP,YAAY,qBACZ3I,KAAK,UACLzH,MAAOsB,EAAM0I,QACbM,SA3HR,SAACX,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJ+F,EAAOzH,QAwHYoM,UAlI5B,SAAqBzC,GACH,UAAVA,EAAEsC,KAA6B,gBAAVtC,EAAEsC,KACvB06E,KAiIoBn1B,aACI,cAACC,GAAA,EAAD,CAAgB3yD,SAAS,MAAzB,SACI,cAACkZ,EAAA,EAAD,CAAY+uE,KAAK,MAAjB,SACI,cAAC,KAAD,CAAU1nF,QAASsnF,EAAe9nF,MAAO,CAAEI,OAAQ,WAAa8B,MAAM,iCCnGnGimF,GAlHU,SAACnpF,GACtB,MAA0BgC,mBAAS,CAC/BojE,kBAAmB,KACnBC,yBAA0BrlE,EAAMwG,UAChC8+D,oBAAqB,GACrBC,gBAAiB,KAJrB,mBAAO9hE,EAAP,KAAcxB,EAAd,KAMA,EAA0BD,mBAAS,IAAnC,mBAAOqD,EAAP,KAAcy2D,EAAd,KACA,EAA6Cr6D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B1H,qBAAU,WACF5D,EAAMm6E,QAAQ/U,mBACdnjE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELuhE,kBAAmBplE,EAAMm6E,QAAQ/U,kBACjCC,yBAA0BrlE,EAAMm6E,QAAQ9U,yBACxCC,oBAAqBtlE,EAAMm6E,QAAQ7U,oBACnCC,gBAAiBvlE,EAAMm6E,QAAQ5U,uBAGxC,IAEH,IAAMjM,EAAW,WACb,IAAI1oD,EAAS,GACTqrD,GAAU,EACNqJ,EAAyC7hE,EAAzC6hE,oBAAqBC,EAAoB9hE,EAApB8hE,gBAc7B,MAbK,QAAQtzD,KAAKqzD,KACd10D,EAAO00D,oBAAsB,2BAC7BrJ,GAAU,IAETsJ,EAAkB,IACnB30D,EAAO20D,gBAAkB,uCACzBtJ,GAAU,GAET,QAAQhqD,KAAKszD,KACd30D,EAAO20D,gBAAkB,gCACzBtJ,GAAU,GAEdH,EAASlrD,GACFqrD,GAGLh4D,EAAU,uCAAG,4BAAAC,EAAA,0DACXo1D,IADW,gCAEKhB,GAAe,CAC3B8M,kBAAmB3hE,EAAM2hE,kBACzBC,yBAA0B5hE,EAAM4hE,yBAChCC,oBAAqB7hE,EAAM6hE,oBAC3BC,iBAAkB9hE,EAAM8hE,gBACxBC,6BAA8B,eAC9BC,sBAAwC,UAAjBzlE,EAAM6lE,UARtB,QAEPngE,EAFO,QAUHoE,QACa,OAAjB9J,EAAM6lE,QACAt6D,EAAiB,iCACA,QAAjBvL,EAAM6lE,QACFt6D,EAAiB,mCACA,UAAjBvL,EAAM6lE,QACFt6D,EAAiB,mCACjBD,EAAe,yBAE7BA,EAAe5F,EAAIyG,SAEvBnM,EAAMO,UArBK,2CAAH,qDAyBVsR,EAAc,SAACc,GACjB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAIhB,OACI,mCACI,eAACQ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAGpsB,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,0BAGA,cAAC,IAAD,CACI8sB,WAAY,CACRC,KAAK,IAAIjd,MAAOkd,cAAcC,MAAM,EAAG,KAE3CznB,KAAK,sBACLzH,MAAQsB,EAAM6hE,qBAAuBzrD,KAAOpW,EAAM6hE,qBAAqBxrD,OAAO,eAAkB,GAChGrN,SAAUoF,EACVpD,SAA2B,UAAjBzO,EAAM6lE,UAEpB,cAACzgE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBA,EAAMigE,yBAEjC,cAAC3iE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAGpsB,UAAU,mBAApC,SACI,cAAC,GAAD,CACI2N,WAAW,mBACXC,YAAY,mBACZ3I,KAAK,kBACLzH,MAAOsB,EAAM8hE,iBAAmB,GAChC94D,SAAUoF,EACVjB,OAAQvL,EAAMkgE,gBACd92D,SAA2B,UAAjBzO,EAAM6lE,YAGxB,cAACljE,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAC4B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASyC,EAA1B,SAAuCjE,EAAM6lE,YAEjD,cAACljE,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAC4B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASxB,EAAMO,QAAhC,4BC1Gdsa,GAAc,CAChB,CAAEzM,IAAK,sBAAuBxE,KAAM,OAAQ+K,UAAW3E,IAAWE,eAClE,CAAE9B,IAAK,kBAAmBxE,KAAM,oBAChC,CAAEwE,IAAK,+BAAgCxE,KAAM,QAC7C,CAAEwE,IAAK,QAASxE,KAAM,aAgHXw/E,GA7GI,SAACppF,GAChB,MAA0BgC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBvzB,MAAO,GACPylE,QAAS,GACT3vD,SAAU,OANd,mBAAOzS,EAAP,KAAcxB,EAAd,KAQI4uB,EAAkB9sB,IAAW+sB,gBAC3B4iB,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YACrD/T,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,CAAC5hB,EAAM0sC,YAEV,IAAM9qB,EAAW,uCAAG,sBAAA1d,EAAA,sDAOhBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UATF,2CAAH,qDAaXyH,EAAa,SAACtV,EAAMqO,GACtB,OACI,sBACI1T,MAAO,CACHyZ,UAAW,UAFnB,UAKI,cAAC,IAAD,CACI9B,aAAa,mBACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8vB,gBAAiBjf,EAAK7T,MAAM,EAAMT,MAAO,mBAAoBylE,QAAS,eAR7G,QAYMnyB,GACE,cAAC,IAAD,CACI/6B,aAAa,qBACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8vB,gBAAiBjf,EAAK7T,MAAM,EAAMT,MAAO,qBAAsBylE,QAAS,qBAQrHtyD,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IAIrB,OAHA,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAAiBi1C,2BACjBhqD,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIgH,UAAWgH,IAE1EG,IACR,IAMG+X,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiB,QAErB/R,KAGAzL,EAAM,qCAAiCnW,EAAM0sC,WAEjD,OACI,sBAAK/nC,UAAU,oBAAf,UAWI,cAAC,GAAD,CACIyS,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQA,EACRmC,UAAyB,OAAfuY,QAAe,IAAfA,OAAA,EAAAA,EAAiBi1C,0BAA2B,YAAc,GACpErtD,WAnCU,WAClBxW,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBzD,MAAO,kBAAmBS,MAAM,EAAMglE,QAAS,YAmClE3vD,SAAUzS,EAAMyS,WAEnBzS,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAOqD,EAAMrD,MAA3D,SACI,cAAC,GAAD,CAAWG,QAASszB,EAAasmD,QAAS12E,EAAMkwB,gBAAiBkyC,QAASpiE,EAAMoiE,QAASr/D,UAAWxG,EAAM0sC,cAE9G,SC9GH28C,GAAa,uCAAG,WAAOnlE,GAAP,eAAAhgB,EAAA,sEACT6B,aAAY,WAAD,OAAYme,IADd,cACrBxe,EADqB,yBAElBA,GAFkB,2CAAH,sDAKb4jF,GAA2BrjF,mBAAO,sBAAC,4BAAA/B,EAAA,sEAC5B6B,aAAY,2BADgB,cACxCL,EADwC,yBAErCA,GAFqC,4CAKnC6jF,GAAS,uCAAG,WAAOljF,GAAP,eAAAnC,EAAA,sEACLsB,aAAa,UAAWa,GADnB,cACjBX,EADiB,yBAEdA,GAFc,2CAAH,sDAKT8jF,GAAY,uCAAG,WAAOnoF,EAAIgF,GAAX,eAAAnC,EAAA,sEACR2B,aAAY,WAAD,OAAYxE,GAAMgF,GADrB,cACpBX,EADoB,yBAEjBA,GAFiB,2CAAH,wD,WCHnBotB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,IAGX,CAAES,IAAK,wBAAyBxE,KAAM,aAAc+D,MAAO,KAAMgH,UAAW3E,IAAW62C,qBACvF,CAAEz4C,IAAK,qBAAsBxE,KAAM,YACnC,CAAEwE,IAAK,qBAAsBxE,KAAM,OAAQ+D,MAAO,MAClD,CAAES,IAAK,2BAA4BxE,KAAM,SAAU+D,MAAO,MAC1D,CAAES,IAAK,6BAA8BxE,KAAM,eAAgB+D,MAAO,MAClE,CAAES,IAAK,iBAAkBxE,KAAM,wBAAyB+D,MAAO,MAAOgH,UAAW3E,IAAW62C,qBAC5F,CAAEz4C,IAAK,aAAcxE,KAAM,cAAe+D,MAAO,QAE/CyN,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,MAAO0R,QAAQ,IAqQZmuE,GAlQG,SAACzpF,GACYyB,eAAnB6J,eADkB,IAAD,MAEnB+4B,EAAQ,UAAGrkC,EAAMgP,gBAAT,iBAAG,EAAgBo1B,aAAnB,aAAG,EAAuBC,SACpCxT,EAAkB9sB,IAAW+sB,gBAEjC,EAA0B9uB,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZk+E,QAAS,GACTxjC,SAAU,KACVyjC,UAAU,EACVC,aAAYvlD,EACZwlD,mBAAkBxlD,EAClBylD,UAASzlD,GAAkB,GAC3BnuB,SAAU,KACVC,OAAQnW,EAAM0sC,UAAN,gCACuB1sC,EAAM0sC,WAD7B,+BAEoBrI,GAAkB,GAFtC,sBAEsDrkC,EAAMgP,SAASmlD,UAAYn0D,EAAMgP,SAASmlD,UAAY,GAF5G,oBAGEn0D,EAAMgP,SAASolD,QAAUp0D,EAAMgP,SAASolD,QAAU,GAHpD,uBAIap0D,EAAMgP,SAASqV,WAAarkB,EAAMgP,SAASqV,WAAa,GAJrE,iBAIgFrkB,EAAMgP,SAAS0pC,KAAO14C,EAAMgP,SAAS0pC,KAAO,GAJ5H,kBAKE14C,EAAMgP,SAASf,MAAQjO,EAAMgP,SAASf,MAAQ,MAf5D,mBAAOxK,EAAP,KAAcxB,EAAd,KAqBI4M,EAAU8b,eAERs7C,EAAe,SAACtzD,GAClB,MAA0BA,EAAM3G,OAAxBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACV42E,EAAS,GACA,eAATngF,EACAmgF,EAAS,CACLH,WAAYz2E,EACZ02E,mBAAkB12E,EAClB22E,UAAS32E,GAAiB,IAEd,qBAATvJ,IACPmgF,EAAS,CACLF,iBAAkB12E,EAClB22E,QAAS32E,IAIjBlR,GAAS,SAAC4B,GAAD,mBAAC,2BAAaA,GAAOkmF,GAArB,IAA6B5zE,OAAO,sBAAD,OAAwB4zE,EAAOD,eAGzEtuD,EAAY,SAACn1B,GACfpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN8iB,aAAczvC,EAAKyvC,aACnBgkB,MAAOzzD,EAAKmQ,iBACZk2B,UAAWrmC,EAAKmnD,0BAIlBw8B,EAAgB,SAACtkF,GACnBzD,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GAMjB,OALI6B,IACAm6B,EAAM3pB,SAAW,IAAIhC,MAEzB2rB,EAAM7M,MAAO,EAEN6M,MAwBTxM,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,sBAAK1T,MAAO,CAAEyZ,UAAW,QAAzB,UACI,cAAC,IAAD,CAAY9B,aAAa,WAAWnX,QAAS,kBAAMg6B,EAAU9mB,MAC5DA,EAAIpO,UACD,cAAC,KAAD,CACIiS,KAAMmsB,KACNxhC,MAAM,YACNyB,UAAU,6BAEVnD,QAAS,WA9BJ,IAACuK,EACI,OADJA,EA8B0B2I,GA7BxCjO,eACJoI,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKzF,SAAnC,mBAA+CyF,QAA/C,IAA+CA,OAA/C,EAA+CA,EAAKyhD,qBAC5D/pD,MAAO,SAGXoL,EAAQC,KAAK,CACTwkB,SAAS,gCAAD,cAAkCvnB,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAKzF,SAAvC,mBAAmDyF,QAAnD,IAAmDA,OAAnD,EAAmDA,EAAKyhD,qBAChE/pD,MAAO,UAsBCkV,aAAa,iBAGL,OAAfkY,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cAAetwC,EAAI8oC,OACjC,cAAC,KAAD,CAAkBjlC,KAAM0sC,KAAUtgD,UAAU,6BAA6BgU,aAAa,WAAWnX,QAAS,kBAtBjGuK,EAsBuH2I,OArB5I7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKyxC,MAAnC,mBAA4CzxC,QAA5C,IAA4CA,OAA5C,EAA4CA,EAAKyhD,qBACzD39C,OAAQ,GACRpM,MAAO,SAJS,IAACsI,SA4BnB6nB,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAYV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAXMuK,EAWmB2I,OAV3C7F,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIyhD,qBACzC39C,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAJL,IAAChI,GAWyB/K,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAI8B,mBAIb,OADAT,IAASC,OAAOgF,EAAKF,GACdA,GAGLmmE,EAAkB,SAAC,EAAc7qE,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,mBAAmB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAlH,SACKhE,EAAIgC,YAIb,OADAX,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI+B,sBAIb,OADAV,IAASC,OAAOgF,EAAKF,GACdA,GAGL+Y,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNg9C,aAAa,EACb/pB,mBAAmB,EACnB49B,gBAAgB,QAIlBn+C,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAenD,OAdI3K,EAAMomF,iBACN/tE,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,6BAA8BxE,KAAM,uBAAwB+D,MAAO,MAAOgH,UAAW3E,IAAWE,gBAE7H4L,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,sBAAuBxE,KAAM,WAAY+D,MAAO,MAAOgH,UAAW3E,IAAW62C,sBAE1GzxC,IACAA,EAAUT,UAAY0e,GAErBrzB,EAAM0sC,YACP5wB,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,GAAIgH,UAAW+0D,IAC3F5tD,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,sBAAuBxE,KAAM,WAAY+K,UAAW+e,IACjF5X,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,YAAaxE,KAAM,QAAS+D,MAAO,MAAOgH,UAAWssE,KAG/EnlE,IACR,CAACrY,EAAMomF,mBAWV,OACI,sBAAKllF,UAAW,WAAI3E,EAAM0sC,WAAa,UAAa,qBAAsB1rC,MAAO,CAAEC,SAAU,YAA7F,UACKwC,EAAMuvB,KAEH,cAAC7yB,GAAA,EAAD,CAAYC,MAAK,uBAAkBqD,EAAMq2D,OAASv5D,QAAS,kBAAMypF,GAAc,IAAQxpF,SAAS,KAAKC,SAAS,OAA9G,SACI,cAAC,GAAD,CAAQq1C,aAAcryC,EAAMqyC,aAAc4W,QAAQ,EAAMnsD,QAASypF,EAAet9C,UAAW1sC,EAAM0sC,WAAajpC,EAAMipC,cAExH,MACF1sC,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,MACxCpb,EAAM0sC,WACJ,eAAC/pC,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,qBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMwM,UAAU,QAAQpM,MAAI,EAAC4B,UAAU,0BAA0B5D,WAAW,SAA5E,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAAV,0BACA,cAACJ,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACknF,GAAA,EAAD,CAAQ92E,QAAS1P,EAAMmmF,WAAYn9E,SAAUw5D,EAAc9jE,MAAM,UAAUyH,KAAK,iBAEpF,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAAV,mBAEJ,eAACJ,EAAA,EAAD,CAAMwM,UAAU,QAAQpM,MAAI,EAAC4B,UAAU,0BAA0B5D,WAAW,SAA5E,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAAV,sBACA,cAACJ,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACknF,GAAA,EAAD,CACI92E,QAAS1P,EAAMomF,iBACfp9E,SAAUw5D,EACV9jE,MAAM,UACNyH,KAAK,mBACL6E,UAAWhL,EAAMmmF,eAGzB,cAACjnF,EAAA,EAAD,CAAMI,MAAI,EAAV,0BAKZ,cAAC,GAAD,CACIqU,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB7C,eAAgB,SAACvN,EAAGqN,EAAM9X,EAAI+X,GAAd,OAhDL,SAACtN,EAAGqN,EAAM9X,EAAI+X,GACjCD,EAAK+wE,IAAI,mBAAT,SACA,IAAMC,EAAiBtwE,KAAOT,EAAO+wE,gBAAgBrwE,OAAO,cAC3CD,OAASgpE,KAAKsH,EAAgB,QAChC,GACXhxE,EAAK+wE,IAAI,mBAAoB,UA2CgB7wE,CAAevN,EAAGqN,EAAM9X,EAAI+X,IACrE7F,QAASA,EACT4C,OAAQ1S,EAAM0S,OACdmC,SAAS,GACTG,WAAY+iB,EACZtlB,SAAUzS,EAAMyS,SAChBI,WAAgB,OAALtW,QAAK,IAALA,GAAA,UAAAA,EAAOgP,gBAAP,eAAiBvL,QAAS,KAExCA,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBtP,WAAYwJ,aAAcgG,MAEjF,KACHpwB,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMkwB,gBAAgB8C,QAAS5I,aAAcgG,MAE3E,SCzRHu2D,GAAqB,uCAAG,WAAO/oF,GAAP,eAAA6C,EAAA,sEACjB6B,aAAY,YAAD,OAAa1E,IADP,cAC7BqE,EAD6B,yBAE1BA,GAF0B,2CAAH,sDAKrB2kF,GAAyB,uCAAG,WAAOhkF,GAAP,eAAAnC,EAAA,sEACrBsB,aAAa,WAAYa,GADJ,cACjCX,EADiC,yBAE9BA,GAF8B,2CAAH,sDAKzB4kF,GAAsB,uCAAG,4BAAApmF,EAAA,sEAClB6B,aAAY,4BADM,cAC9BL,EAD8B,yBAE3BA,GAF2B,2CAAH,qDAKtB6kF,GAAoB,uCAAG,WAAOx+E,GAAP,eAAA7H,EAAA,sEAChB6B,aAAY,4BAAD,OAA6BgG,IADxB,cAC5BrG,EAD4B,yBAEzBA,GAFyB,2CAAH,sDCqflB8kF,OA1ff,SAA4BxqF,GACxB,IACM0zC,EADgB1lC,eAAd2lC,UACqBh8B,SAAS,YACtC,EAAkC3V,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAA0Bzb,mBAAS,CAC/B4O,OAAQ,GACR65E,gBAAiB,GACjBC,4BAA6B,GAC7BC,iBAAkB,GAClBC,iBAAkB,GAClBC,yBAA0B7qF,EAAM0sC,WAAa,KAC7Co+C,kBAAmB,KACnBC,uBAAwB/qF,EAAMmmD,gBAAkB,KAChD6kC,oBAAqB,GACrBC,uBAAwB,GACxBC,yBAA0B,GAC1BC,sBAAuB,KACvBC,qBAAsB,KACtBC,2BAA4B,GAC5BC,wBAAyB,KACzBC,uBAAwB,KACxBC,2BAA4B,GAC5BC,wBAAyB,GACzBC,cAAe,KAnBnB,mBAAOjoF,EAAP,KAAcxB,EAAd,KAsBA,EAAkCD,mBAAS,CACvC,CACI2pF,sBAAuB,KACvBC,4BAA6B,GAC7BC,0BAA2B,GAC3BC,+BAAgC,GAChCC,uBAAwB,GACxBC,uBAAwB,GACxBC,+BAAgC,QARxC,mBAAOC,EAAP,KAAkBC,EAAlB,KAYA,EAAsCnqF,mBAAS,CAC3CoqF,4BAA6B,KAC7BC,6BAA8B,OAFlC,mBAAOruE,EAAP,KAAoBC,EAApB,KAKA,EAA6Cxc,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,oCAAAM,EAAA,sEACUomF,KADV,UACF5kF,EADE,OAEFW,EAAOX,EAAIW,KACfpE,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELinF,4BAA6BrkF,EAAKimF,sBAClC3B,iBAAkBtkF,EAAKskF,iBACvBC,iBAAkBvkF,EAAKqyB,oBAGvB14B,EAAMusF,UAVJ,iCAWcnC,GAAsBpqF,EAAMusF,WAX1C,OAWE7mF,EAXF,OAYEW,EAZF,OAYSX,QAZT,IAYSA,GAZT,UAYSA,EAAKW,YAZd,aAYS,EAAW2G,QAAQ,GAC9B/K,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAELknF,uBAAwB1kF,EAAK0kF,uBAC7BG,yBAA0B7kF,EAAK6kF,yBAC/BF,oBAAqBh7E,IAAW6jC,cAAcxtC,EAAK2kF,qBACnDO,uBAAwBv7E,IAAW6jC,cAAcxtC,EAAKklF,wBACtDE,wBAAyBz7E,IAAW6jC,cAAcxtC,EAAKolF,yBACvDX,kBAAmBzkF,EAAKykF,kBACxBG,uBAAwB5kF,EAAK4kF,uBAC7BG,qBAAsB/kF,EAAK+kF,qBAC3BC,2BAA4BhlF,EAAKglF,2BACjCF,sBAAuB9kF,EAAK8kF,sBAC5BK,2BAA4BnlF,EAAKmmF,QACjClB,wBAAyBjlF,EAAKilF,wBAC9BT,yBAA0BxkF,EAAKwkF,yBAC/Ba,cAAa,OAAEhmF,QAAF,IAAEA,GAAF,UAAEA,EAAKW,YAAP,aAAE,EAAWomF,0BA5B5B,4CA+BP,IACH7oF,qBAAU,WACN8oF,MACD,CAACjpF,EAAM+nF,6BAEV5nF,qBAAU,WACN,GAAIH,EAAMknF,iBAAkB,CACxB,KAAIlnF,EAAMioF,cAAc15E,OAAS,GAQ7B,MAAO,CACH25E,sBAAuB,KACvBC,4BAA6B,GAC7BC,0BAA2B,GAC3BC,+BAAgC,GAChCC,uBAAwB,GACxBC,uBAAwB,GACxBC,+BAAgC,MAdpCE,EACI1oF,EAAMioF,cAAcniF,KAAI,SAACy/D,GAErB,OADAA,EAAEijB,+BAAiCxoF,EAAMknF,iBAAiBn3E,MAAK,qBAAGnS,IAAe2nE,EAAE6iB,6BAC5E7iB,SAexB,CAACvlE,EAAMknF,iBAAkBlnF,EAAMioF,gBAElC9nF,qBAAU,WACN,IAAIi8B,EAAQ,GAERp8B,EAAMsnF,wBAA0BtnF,EAAMmnF,iBAAiB54E,OAAS,IAChE6tB,EAAMusD,4BAA8B3oF,EAAMmnF,iBAAiBp3E,MAAK,qBAAGnS,KAAgBoC,EAAMsnF,2BAEzFtnF,EAAM6nF,yBAA2B7nF,EAAMinF,4BAA4B14E,OAAS,IAC5E6tB,EAAMwsD,6BAA+B5oF,EAAMinF,4BAA4Bl3E,MAAK,qBAAGnS,KAAgBoC,EAAM6nF,4BAEzGrtE,GAAe,SAACpa,GAAD,mBAAC,eACTA,GACAg8B,QAER,CAACp8B,EAAMsnF,uBAAwBtnF,EAAM6nF,0BAExC,IAAMoB,EAAU,uCAAG,8BAAAxoF,EAAA,4DACX,UAAAT,EAAM+nF,kCAAN,eAAkCx5E,QAAS,GADhC,gCAEKu4E,GAAqB9mF,EAAM+nF,4BAFhC,OAEP9lF,EAFO,OAGXzD,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELgnF,gBAAiB/kF,EAAIW,KAAK4V,KAAK1S,KAAI,SAACmL,GAAD,MAAU,CACzCrT,GAAIqT,EAAI8oC,MACR5zC,KAAM8K,EAAIi4E,gBACVC,eAAgBl4E,EAAIm4E,mBACpBC,QAASp4E,EAAIo4E,iBATV,2CAAH,qDAwBVj7E,EAAc,SAACc,EAAO5G,GACxB,MAAwB4G,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAIV8d,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SASrCgU,EAAoB,SAACjU,EAAGw4C,GAC1B,MAAwBx4C,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACR8Z,EAAI,aAAOiwE,GACjBjwE,EAAKqoC,GAAO16C,GAAQzH,EACpBgqF,EAAalwE,IASX8wE,EAAiB,WACnBZ,EAAa,GAAD,oBACLD,GADK,CAER,CACIP,sBAAuB,KACvBC,4BAA6B,GAC7BE,+BAAgC,GAChCD,0BAA2B,GAC3BE,uBAAwB,QAK9Bj6E,EAAc,WACiHrO,EAAzH6nF,wBADe,IAAD,EACWN,EAAgGvnF,EAAhGunF,oBAAqBS,EAA2EhoF,EAA3EgoF,wBAAyBN,EAAkD1nF,EAAlD0nF,sBAAuBJ,EAA2BtnF,EAA3BsnF,uBAClGvoE,EAAoB,QACpBzQ,GAAc,EACZkK,EAAI,aAAOiwE,GACbt7E,EAAS,GAwCb,OAvCK4R,EAAkBvQ,KAAK+4E,KACxBp6E,EAAOo6E,oBAAsB,8BAC7Bj5E,GAAc,GAEbyQ,EAAkBvQ,KAAKk5E,KACxBv6E,EAAOu6E,sBAAwB,sCAC/Bp5E,GAAc,GAEbyQ,EAAkBvQ,KAAK84E,KACxBn6E,EAAOm6E,uBAAyB,oBAChCh5E,GAAc,GAEbiM,EAAYquE,+BACbz7E,EAAOy7E,6BAA+B,qBACtCt6E,GAAc,GAEmC,MAAtC,OAAXiM,QAAW,IAAXA,GAAA,UAAAA,EAAaquE,oCAAb,eAA2ChrF,MACtCmhB,EAAkBvQ,KAAKw5E,KACxB76E,EAAO66E,wBAA0B,wBACjC15E,GAAc,IAG4B,KAA9CkK,EAAK,GAAL,iCACAlK,GAAc,EACdnB,EAAM,+BAAqC,+BAEA,KAA3CqL,EAAK,GAAL,8BACAlK,GAAc,EACdnB,EAAM,4BAAkC,4BAEF,KAAtCqL,EAAK,GAAL,yBACAlK,GAAc,EACdnB,EAAM,uBAA6B,uBAEG,KAAtCqL,EAAK,GAAL,yBACAlK,GAAc,EACdnB,EAAM,uBAA6B,uBAEvC3O,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,kCAAAhO,EAAA,0DACd4N,IADc,uBAERzL,EAAO,CACTykF,kBAAmBrnF,EAAMqnF,kBACzBQ,wBAAuB,UAAEttE,EAAYquE,oCAAd,aAAE,EAA0ChrF,GACnEwpF,yBAA0BpnF,EAAMonF,yBAChCG,oBAAqBvnF,EAAMunF,oBAC3BO,uBAAwB9nF,EAAM8nF,uBAC9BR,uBAAsB,UAAE/sE,EAAYouE,mCAAd,aAAE,EAAyC/qF,GACjE8pF,sBAAuB1nF,EAAM0nF,sBAC7BF,uBAAwBxnF,EAAMwnF,uBAC9BQ,wBAAyBhoF,EAAMgoF,wBAC/BL,qBAAsB3nF,EAAM2nF,qBAC5BC,2BAA4B5nF,EAAM4nF,2BAClCoB,qBAAsBP,EAAU3iF,KAAI,SAACy/D,GACM,IAAD,EAAlCA,EAAEijB,iCACFjjB,EAAE6iB,0BAAF,UAA8B7iB,EAAEijB,sCAAhC,aAA8B,EAAkC5qF,UACzD2nE,EAAEijB,gCAEb,OAAOjjB,MAGfvrD,GAAa,GAtBC,SAuBE4sE,GAA0BhkF,GAvB5B,QAuBVX,EAvBU,QAwBNoE,SACJyB,EAAiB,8BACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAEvBsR,GAAa,GA9BC,2CAAH,qDAkCnB,OACI,eAAC9a,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,SACI,cAAC,IAAD,CACI2N,WAAW,iBACX5F,KAAK,SACL9C,KAAK,wBACL2I,YAAY,iBACZ9F,SAAUoF,EACVpD,SAAUilC,EACVvxC,MAAOsB,EAAM0nF,sBACbv6E,OAAQnN,EAAMmN,OAAOu6E,0BAG7B,eAACxoF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,6BAGA,cAAC,IAAD,CAAY5I,KAAK,sBAAsB6E,SAAUilC,EAAYvxC,MAAOsB,EAAMunF,oBAAqBv+E,SAAUoF,IACzG,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOo6E,yBAExC,eAACroF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CACIpD,MAAO,CAAEyD,WAAY,GACrBuoF,cAAe,SAAClhF,EAAGC,GACf9J,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL+nF,2BAA4Bz/E,QAGpC0S,QAAShb,EAAMgnF,gBACfh8E,SAAUilC,EACVvxC,MAAOsB,EAAM+nF,2BACb/+E,SAzKG,SAACX,EAAGC,GACnB9J,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELwnF,uBAAsB,OAAEl/E,QAAF,IAAEA,OAAF,EAAEA,EAAK+gF,QAC7B1B,qBAAoB,OAAEr/E,QAAF,IAAEA,OAAF,EAAEA,EAAK1K,cAwK3B,eAACsB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BACA,cAAC,IAAD,CACI8sB,WAAY,CACR6oB,IAAKt2C,EAAMunF,qBAEfphF,KAAK,yBACL6E,SAAUilC,EACVvxC,MAAOsB,EAAM8nF,uBACb9+E,SAAUoF,OAGlB,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAS,UAAsC,KAAjClB,EAAM6nF,yBAAkC,oBAAvF,UACI,cAACnnF,EAAA,EAAD,CAAYC,QAAM,EAACoO,SAA2C,KAAjC/O,EAAM6nF,wBAAnC,+BAGA,cAAC,IAAD,CACI1hF,KAAK,0BACL6E,SAAUilC,EACVxiB,WAAY,CACR6oB,IAAKt2C,EAAMunF,qBAEf7oF,MAAOsB,EAAMgoF,wBACbh/E,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO66E,6BAExC,cAAC9oF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,eACX1I,KAAK,6BACL2I,YAAY,eACZ9F,SAAUoF,EACVpD,SAAUilC,EACVvxC,MAAOsB,EAAM4nF,+BAGrB,eAAC1oF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,mBAIA,cAAC,IAAD,CACIqa,QAAShb,EAAMmnF,iBACfn8E,SAAUilC,EACVvxC,MAAO6b,EAAYouE,4BACnB3/E,SAAUwT,EAAmB,iCAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOm6E,4BAExC,eAACpoF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,4BASA,cAAC,IAAD,CACIqa,QAAShb,EAAMinF,4BACfj8E,SAAUilC,EACVvxC,MAAO6b,EAAYquE,6BACnB5/E,SAAUwT,EAAmB,kCAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOy7E,kCAExC,eAAC1pF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,qBAGA,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACK65E,EAAUl6E,OAAS,GAChBk6E,EAAU3iF,KAAI,SAACojB,EAAG+Q,GAAJ,OACV,eAAC/6B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAA9B,UACI,cAAC7sB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CACIwF,KAAK,8BACL8C,KAAK,SACL+B,SAAUilC,EACVvxC,MAAOwqB,EAAEi/D,4BACTn/E,SAAU,SAACX,GAAD,OAAOiU,EAAkBjU,EAAG4xB,MAE1C,cAACt4B,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAN,iCAE3B,eAACjO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAA9B,UACI,cAAC7sB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,yBAGA,cAAC,IAAD,CACIwF,KAAK,iCACL6E,SAAUilC,EACVvxC,MAAOwqB,EAAEm/D,+BACTr/E,SAAU,SAACX,GAAD,OAAOiU,EAAkBjU,EAAG4xB,MAE1C,cAACt4B,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAN,oCAE3B,eAACjO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,kBASA,cAAC,IAAD,CACIqa,QAAShb,EAAMknF,iBACfl8E,SAAUilC,EACVvxC,MAAOwqB,EAAEs/D,+BACTx/E,UA5QC8R,EA4QiC,iCA5Q7B+lC,EA4Q+D5mB,EA5QrD,SAAClf,EAAIzS,GAChD,IAAMkQ,EAAI,aAAOiwE,GACjBjwE,EAAKqoC,GAAO/lC,GAAMxS,EAClBogF,EAAalwE,UA4QO,eAACtZ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,iBAGA,cAAC,IAAD,CACIsI,KAAK,SACL9C,KAAK,yBACL6E,SAAUilC,EACVvxC,MAAOwqB,EAAEo/D,uBACTt/E,SAAU,SAACX,GAAD,OAAOiU,EAAkBjU,EAAG4xB,MAE1C,cAACt4B,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAN,4BAE3B,eAACjO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,iBAGA,cAAC,IAAD,CACIsI,KAAK,SACL9C,KAAK,yBACL6E,SAAUilC,EACVvxC,MAAOwqB,EAAEq/D,uBACTv/E,SAAU,SAACX,GAAD,OAAOiU,EAAkBjU,EAAG4xB,SAG9C,eAAC/6B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAG/vB,MAAO,CAAEC,SAAU,YAApD,UACI,cAACkD,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGsB,IAArB8nF,EAAUl6E,QACP,sBACIhR,MAAO,CACHC,SAAU,WACVC,MAAO,EACP2uB,KAAM,GAJd,SAOI,cAAC,IAAD,CAAcruB,QAAS,kBAvSjC,SAAC8iD,GACvB,IAAMroC,EAAI,aAAOiwE,GACjBjwE,EAAKyf,OAAO4oB,EAAO,GACnB6nC,EAAalwE,GAoSgDgxE,CAAkBvvD,IAAI/kB,aAAa,kBAOxE,cAAC,IAAD,CACIjM,KAAK,SACL+B,SAAUilC,EAGVvxC,OAAQwqB,EAAEo/D,yBAA0Bp/D,EAAEq/D,uBACtCv/E,SAAU,SAACX,GAAD,OAAOiU,EAAkBjU,EAAG4xB,SAG7CwuD,EAAUl6E,OAAS,IAAM0rB,GACtB,cAAC/6B,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,WAAxB,SACI,cAAC1V,EAAA,EAAD,UACI,cAAC,IAAD,CAAe8L,SAAUilC,EAAYlyC,QAASurF,EAA9C,gCAvUJ,IAACxuE,EAAI+lC,OAgV7B,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB8J,SAAUilC,EAAYh1B,YAAalB,EAAWhc,QAAS0Q,EAAxE,SACKlS,EAAMusF,UAAY,SAAW,UAGtC,cAAC5pF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB+sB,cAAc,EAAMlwB,QAAS,kBAAMxB,EAAMO,SAAQ,IAAlE,0B,oBClgBV2sF,GAAoB,CACtB5qC,GAAI,UACJ6qC,GAAI,UACJC,GAAI,UACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJnrC,GAAI,QACJorC,GAAI,UACJC,GAAI,UACJC,GAAI,WAmJOC,GAhJG,SAAC5tF,GAAW,IAAD,EACnB6O,EAAU8b,eAEhB,EAAoC3oB,mBAAS,CACzC+jD,eAAgB,GAChB05B,WAAY,GACZ1iC,kBAAmB,GACnB7I,YAAa,GACbD,aAAc,GACd45C,aAAc,KANlB,mBAAOC,EAAP,KAAmBC,EAAnB,KASAnqF,oBAAS,sBAAC,oCAAAM,EAAA,sEACU+xD,GAAkBj2D,EAAMq7E,eADlC,OACF31E,EADE,OAEF0vD,EAAO1vD,EAAIW,KAAK4V,MAChB5V,GAAW,OAAJ+uD,QAAI,IAAJA,OAAA,EAAAA,EAAMpjD,QAAS,EAAf,UAAmBtM,EAAIW,YAAvB,aAAmB,EAAU4V,KAAK,GAAlC,UAAuCvW,EAAIW,YAA3C,aAAuC,EAAU4V,OAExD8xE,GAAc,SAAClqF,GAAD,mBAAC,eACRA,GADO,IAEV8oF,gBAAiBtmF,EAAKsmF,gBACtBqB,aAAch+E,IAAWgqD,kBAAkB3zD,EAAKymF,SAChDmB,cAAe5nF,EAAK6nF,WACpBxO,mBAAoBr5E,EAAKq5E,oBAAsB,GAC/CyO,iBAAkB9nF,EAAK8nF,kBAAoB,GAC3CC,kBAAmB/nF,EAAK+nF,mBAAqB,GAC7CC,SAAUhoF,EAAKgoF,UAAY,GAC3B7O,gBAAiBn5E,EAAKm5E,iBAAmB,GACzC8O,eAAgBjoF,EAAKioF,gBAAkB,GACvCC,WAAYloF,EAAKkoF,YAAc,GAC/B9O,WAAYp5E,EAAKo5E,YAAc,GAC/B1iC,kBAAmB12C,EAAK02C,mBAAqB,GAC7CyxC,aAAcnoF,EAAKmoF,aACnBX,aAAcxnF,EAAKwnF,aACnB35C,YAAa7tC,EAAK6tC,YAClBD,aAAc5tC,EAAK4tC,aACnBw6C,iBAAkBpoF,EAAKooF,iBACvBxhD,aAAc5mC,EAAKoQ,oBACnBsvC,eAAgB1/C,EAAK0/C,eACrB2oC,YAAaroF,EAAKqoF,YAClBC,WAAYtoF,EAAKsoF,gBA3BnB,2CA8BP,CAAC3uF,EAAMw7E,gBACV,IAAMoT,EACFd,EAAW55C,aAAe45C,EAAW75C,aAArC,YACW65C,EAAW55C,YAAc45C,EAAW55C,YAAc,GAD7D,YACmE45C,EAAW75C,aAAe65C,EAAW75C,aAAe,GADvH,KAEM,GAOV,OACI,qBAAKtvC,UAAU,oBAAf,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,QAAtC,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqV,QAAQ,aAAarX,MAAO,CAAEmhC,gBAAiB,UAAWr/B,QAAS,SAAhG,WACe,OAAVgrF,QAAU,IAAVA,OAAA,EAAAA,EAAYa,YACT,eAAChsF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,WACe,OAAV2qF,QAAU,IAAVA,OAAA,EAAAA,EAAYa,aAAc,GAD/B,WACoCb,QADpC,IACoCA,OADpC,EACoCA,EAAYnB,gBADhD,UAKJ,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UAAwC,OAAV2qF,QAAU,IAAVA,OAAA,EAAAA,EAAYnB,kBAAmB,QAGrE,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWE,kBAE7C,eAACrrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAW7gD,kBAM7C,eAACtqC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UACI,sBAAM3B,QAvCP,SAACuK,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BtzB,EAAM0sC,WAC3C78B,OAAQ,MAoC+C7O,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA3F,SACKo1E,EAAWD,eAEfe,QAOT,eAACjsF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAA/B,UACK,IACD,sBAAK/vB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,SAAxC,UACI,cAACrV,EAAA,EAAD,CAAgBpE,MAAO,CAAEyZ,UAAW,OAApC,mBACA,eAACtN,GAAA,EAAD,CAAYhK,QAAQ,SAASnC,MAAO,CAAEqZ,SAAU,GAAI3B,WAAY,OAAQxV,MAAO,SAA/E,2BACM4qF,EAAWG,qBADjB,aACM,EAA0BpsD,QAAQ,GAAGC,QAAQ,0BAA2B,qBAuB9F,cAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEyD,UAAW,GAAvC,SACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,kBAAtC,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,eAACkB,GAAA,EAAD,CAAO1Z,MAAM,EAAO2Z,SAAUg7D,GAAkBY,EAAWY,aAAc/pF,UAAU,cAAnF,UACI,sBAAM3D,MAAO,CAAEF,QAAS,QAASuZ,SAAU,QAA3C,oBACA,sBAAMrZ,MAAO,CAAE0X,WAAY,QAA3B,SAAsCo1E,EAAWW,wBAGzD,cAAC9rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,eAACkB,GAAA,EAAD,CAAO1Z,KAAM,cAAC,KAAD,CAAU8B,SAAS,YAAc6X,SAAS,UAAUvtB,UAAU,cAA3E,UACI,sBAAM3D,MAAO,CAAEF,QAAS,QAASuZ,SAAU,QAA3C,6BACA,sBAAMrZ,MAAO,CAAE0X,WAAY,QAA3B,SAAsCo1E,EAAW/nC,iCCvJ3E3qC,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,cAAe0R,QAAQ,GAC/B,CAAE1R,KAAM,UAAW0R,QAAQ,IAGzBT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIiH,qBAAqB,GACjE,CAAExG,IAAK,cAAexE,KAAM,eAAgB+K,UAAW3E,IAAWE,eAClE,CAAE9B,IAAK,UAAWxE,KAAM,WAAY+K,UAAW3E,IAAWE,eAC1D,CAAE9B,IAAK,WAAYxE,KAAM,YAAa+K,UAAW3E,IAAWE,eAC5D,CAAE9B,IAAK,gBAAiBxE,KAAM,UAC9B,CAAEwE,IAAK,SAAUxE,KAAM,UACvB,CAAEwE,IAAK,WAAYxE,KAAM,YACzB,CAAEwE,IAAK,MAAOxE,KAAM,OACpB,CAAEwE,IAAK,MAAOxE,KAAM,QA8HTilF,GA3HO,SAAC7uF,GACnB,MAA0BgC,mBAAS,CAC/BwZ,aAAa,EACb+wE,UAAW,KACXuC,YAAa,GACbtjF,YAAY,EACZkhC,UAAW1sC,EAAM0sC,WAAa,KAC9ByZ,eAAgBnmD,EAAMmmD,gBAAkB,KACxCjwC,SAAU,OAPd,mBAAOzS,EAAP,KAAcxB,EAAd,KASMyxC,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YAErD/T,oBAAS,sBAAC,4BAAAM,EAAA,sDAGFiS,EADmB,QAAnBnW,EAAMo9C,SACA,kBAAcp9C,EAAMomD,MAAN,iBAAwBpmD,EAAMomD,OAAU,IAExDpmD,EAAM0sC,UACA,kBAAc1sC,EAAM0sC,UAAN,qBAAgC1sC,EAAM0sC,WAAc,IAElE,0BAAsB1sC,EAAM+uF,YAI1C9sF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELsS,OAAQA,OAdN,2CAiBP,IAEH,IAAM64E,EAAe,uCAAG,sBAAA9qF,EAAA,sDAgBpBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAlBE,2CAAH,qDAsBf+I,EAAe,SAAC5W,EAAMqO,GACxB,OACI,qBAAK/P,UAAU,qBAAf,SACI,cAAC,IAAD,CAAYnD,QAAS,kBAAMytF,EAAoBv6E,IAAMiE,aAAa,oBAKxEpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYsI,GAEnBnB,IACR,IAEG1b,EAAK,UAAyB,QAAnBJ,EAAMo9C,UAA0B1J,EAAL,GAAuB,eAE7Du7C,EAAsB,SAACr/E,GACzB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,EAAM+wE,UAAS,OAAE38E,QAAF,IAAEA,OAAF,EAAEA,EAAQ28E,gBAQ3E,OACI,qBAAK5nF,UAA8B,QAAnB3E,EAAMo9C,UAAsBp9C,EAAM0sC,UAAY,GAAK,SAAnE,SACKjpC,EAAM+X,YACH,cAAC,GAAD,CAAoB2qC,eAAgB1iD,EAAM0iD,eAAgBomC,UAAW9oF,EAAM8oF,UAAW7/C,UAAWjpC,EAAMipC,UAAWnsC,QARvG,SAACmF,GACpBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,OAC9C9V,GAAOspF,OAQC,sCACMhvF,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,KACzCpb,EAAMomD,OAAS,cAAC,GAAD,CAAWi1B,cAAer7E,EAAMomD,MAAOo1B,cAAe/3E,EAAM+3E,cAAe9uC,UAAW1sC,EAAM0sC,YAe5G,cAAC,GAAD,CACIt1B,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQ1S,EAAM0S,OACdmC,SAAUlY,EACVqY,WAAYw2E,EACZ/5E,YAAY,YACZjB,uBAAuB,UACvBiC,SAAUzS,EAAMyS,SAChBiN,OAA2B,QAAnBnjB,EAAMo9C,SAAqB,IAAM,Y,0GC5IpD8xC,GAAsB,uCAAG,WAAO5jD,EAAUK,EAAQ4O,EAASC,EAAMzkB,GAAxC,eAAA7xB,EAAA,4DACjB,MAAbonC,IAAkBA,EAAW,IADC,SAElBvlC,aAAY,kBAAD,OACLulC,EADK,uBACkBK,GAAU,GAD5B,oBAC0C4O,GAAW,GADrD,iBACgEC,GAAQ,GADxE,2BAC6FzkB,GAAkB,KAHxG,cAE9BrwB,EAF8B,yBAK3BA,GAL2B,2CAAH,8DCkD7BqF,GAAYC,YAAW,CACzBmkF,UAAW,CACP,uCAAwC,CACpC9wC,WAAY,QACZ2S,cAAe,QACf9tD,MAAO,UAGfgI,KAAM,CACF0M,SAAU,IACVopB,OAAQ,mBACRtgC,OAAQ,QAEZ0uF,OAAQ,CACJtuF,QAAS,eACTqK,OAAQ,QACRkkF,UAAW,cAEfjvF,MAAO,CACHia,SAAU,IAEdi1E,IAAK,CACD5sD,aAAc,IAElB6sD,YAAa,SAACvvF,GAEV,MAAO,CACHU,OAFoBV,EAAMwvF,QAAUzM,KAAK5xD,IAAI,KAAMpiB,OAAOqyC,YAAc,KAAO,EAAI,IAAM2hC,KAAK5xD,IAAI,KAAMpiB,OAAOqyC,YAAc,IAAM,EAAI,IAGvI6nB,UAAW,OACX,uBAAwB,CACpBt7D,MAAO,SAEX,6BAA8B,CAC1BoiB,UAAW,iCACX83D,gBAAiB,kCAErB,6BAA8B,CAC1B1lD,gBAAiB,UACjBuoB,QAAS,EACTo9B,QAAS,2BAMnB2H,GAAQ,WAMV,IALA,IAAMC,EAAQ,GACRC,EAAI,IAAIz7E,KACV07E,EAAYD,EAAEE,cAAgB,EAC9BC,EAAUH,EAAEE,cAAgB,EAEzBC,EAAUF,GAAa,GAC1BF,EAAM5gF,KAAK,CAAElF,KAAMgmF,EAAWvuF,GAAIuuF,IAClCA,GAAwB,EAE5B,OAAOF,GA+nBIK,GA5nBW,SAAC/vF,GAAW,IAAD,UAC3B2L,EAAUZ,GAAU/K,GAC1B,EAA0BgC,mBAAS,CAC/BguF,mBAAoB,GACpBC,oBAAqB,GACrBC,WAAY,GACZ1kF,YAAY,EACZ6Y,WAAY,KACZ6nB,SAAU,KACVhZ,aAAc,GACdma,kBAAmB,GACnB/W,kBAAmB,GACnBwjB,YAAY,EACZq2C,wBAAyB,GACzBC,sBAAuB,GACvBr3B,4BAA6B,KAbjC,mBAAOt1D,EAAP,KAAcxB,EAAd,KAeA,EAAoCD,mBAAS,IAA7C,mBAAOk6E,EAAP,KAAmBC,EAAnB,KAEM3sB,EADgBxhD,eAAd2lC,UACyBh8B,SAAS,gBACpC23E,EAAM9/B,EAAiB,IAAM,IAEnC5rD,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,WAACne,EAAM0sF,+BAAP,aAAC,EAA+B9uF,GAAhC,UAAoCoC,EAAM2sF,6BAA1C,aAAoC,EAA6B/uF,GAAjE,UAAqEoC,EAAMs1D,mCAA3E,aAAqE,EAAmC13D,KAY3GuC,oBAAS,sBAAC,4BAAAM,EAAA,sEACcunC,KADd,OACF4kD,EADE,OAENpuF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvB,aAAcm9D,EAAQhqF,KAAK+tC,SAAS46B,WAJlC,2CAMP,IAEH,IAAMptD,EAAW,uCAAG,gEAAA1d,EAAA,yDAAOs2C,EAAP,+BAAc3gC,OAASC,OAAO,QAC1Cw2E,EAA0B,CAC1B,CAAEC,MAAO,UAAWh8E,OAAQ,IAC5B,CAAEg8E,MAAO,WAAYh8E,OAAQ,IAC7B,CAAEg8E,MAAO,QAASh8E,OAAQ,IAC1B,CAAEg8E,MAAO,QAASh8E,OAAQ,IAC1B,CAAEg8E,MAAO,MAAOh8E,OAAQ,IACxB,CAAEg8E,MAAO,OAAQh8E,OAAQ,IACzB,CAAEg8E,MAAO,OAAQh8E,OAAQ,IACzB,CAAEg8E,MAAO,SAAUh8E,OAAQ,IAC3B,CAAEg8E,MAAO,YAAah8E,OAAQ,IAC9B,CAAEg8E,MAAO,UAAWh8E,OAAQ,IAC5B,CAAEg8E,MAAO,WAAYh8E,OAAQ,IAC7B,CAAEg8E,MAAO,WAAYh8E,OAAQ,MAGvBvU,EAAMwvF,QAhBA,gCAiBJl1C,GACFt6C,EAAMo8E,kBADkB,UAExB34E,EAAM0sF,+BAFkB,aAExB,EAA+B9uF,GAFP,UAGxBoC,EAAM2sF,6BAHkB,aAGxB,EAA6B/uF,GAC7Bm5C,GACA,UAAA/2C,EAAMs1D,mCAAN,eAAmC13D,KAAM,IAtBnC,2DAwBJ6tF,GACF,GADwB,UAExBzrF,EAAM0sF,+BAFkB,aAExB,EAA+B9uF,GAFP,UAGxBoC,EAAM2sF,6BAHkB,aAGxB,EAA6B/uF,GAC7Bm5C,GACA,UAAA/2C,EAAMs1D,mCAAN,eAAmC13D,KAAM,IA7BnC,4BAgBZqE,EAhBY,KAgCV8qF,EAA2B,aAAI,IAAIC,IAAJ,UAAQ/qF,EAAIW,YAAZ,aAAQ,EAAUykE,UAAUvhE,KAAI,SAACxG,GAAD,OAAUA,EAAK8pB,uBAAqBtjB,KAAI,SAACiI,GAC1G,MAAO,CAAE5H,KAAM4H,EAAG+G,KAAM,iBAGtB23E,EAAaT,KAEnB,UAAA/pF,EAAIW,YAAJ,SAAUykE,UAELl0D,SAAQ,SAAC7T,GACN,IAAI66B,EAAW0yD,EAAwBzyD,WAAU,SAAClR,GAAD,OAAOA,EAAE4jE,OAAS12E,KAAO9W,EAAK21D,iBAAiB5+C,OAAO,WACnG8jB,EAAW,GACX0yD,EAAwB1yD,GAAUrpB,OAAOzF,KAAK/L,MAG1Dd,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmsF,mBAAoBQ,EACpBP,oBAAqBK,EACrBJ,WAAYA,EACZQ,aAAcl2C,EACdhvC,YAAY,EACZmlF,UAAU,OArDE,4CAAH,qDAuEjB/sF,oBAAS,sBAAC,sCAAAM,EAAA,yDACF6zC,EAAS,GACTd,EAAW,GACXve,EAAgB,KAHd,UAIFj1B,EAAM0sF,+BAJJ,aAIF,EAA+B9uF,IAJ7B,iCAKkBqqC,GAA2B,UAACjoC,EAAM0sF,+BAAP,aAAC,EAA+B9uF,IAL7E,OAKEgvF,EALF,OAMFt4C,EAASs4C,EAAQhqF,KAAKswC,OACtBM,EAAWo5C,EAAQhqF,KAAK4wC,SACxBve,EAAgB23D,EAAQhqF,KAAKqyB,cAC7Bz2B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwpC,kBAAmB0K,EACnBq4C,sBAAuB,GACvBQ,oBAAqB35C,EACrB3gB,kBAAmBoC,OAdrB,wBAiBFz2B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwpC,kBAAmB,GACnB+iD,sBAAuB,GACvBQ,oBAAqB35C,EACrB45C,uBAAwB,GACxBv6D,kBAAmBoC,EACnBqgC,4BAA6B,QAxB/B,4CA2BP,WAACt1D,EAAM0sF,+BAAP,aAAC,EAA+B9uF,KAEnC,IAeMy7E,EAAc,SAACgU,EAAGtkF,GACpB2vE,EAAc,eAAG3vE,GAAQ,IACzBvK,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8vB,gBAAiBm9D,EACjB1U,kBAAmB0U,EAAE1U,wBAIvBvoD,EAAc,SAACnuB,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiB,QAErBjuB,GAAOkc,KAGL+8D,EAAiB,SAACj5E,GACpBy2E,EAAc,IACdv6D,KAmBEo8D,EAAmB,SAAC33E,GACtB,IAAI43E,EAAYjuE,IAAWkuE,kBAAkB73E,EAAKy3E,uBAAwBz3E,EAAKqyD,gBAAiBryD,EAAK6zE,UAErG,OAAO,sBAAMl5E,MAAO,CAAEkC,MAAM,GAAD,OAAK+6E,GAAavlE,WAAe,QAArD,SAAkErS,EAAKwmB,qBAE9EgE,EAAkB9sB,IAAW+sB,gBAE3BnV,EAAa,SAACm1E,EAAG7kB,GACnB,OACI,uBAAMjrE,MAAO,CAAEyD,UAAW,IAA1B,WACM+qD,GAA8C,cAA3B,OAADshC,QAAC,IAADA,OAAA,EAAAA,EAAGC,wBACnB,sBAAMpsF,UAAU,mBAAhB,SACI,cAAC,KAAD,CACI4T,KAAM2uD,KACNviE,UAAU,oBACVzB,MAAM,YACN1B,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiBm9D,EACjBnoD,OAAO,QAGfhwB,aAAa,4BAIzB,cAAC,KAAD,CACIJ,KAAMy4E,KACN9tF,MAAM,UACNyB,UAAU,oBACVnD,QAAS,WACLs7E,EAAYgU,EAAG,UAEnBn4E,aAAa,UAGY,yBAA3B,OAADm4E,QAAC,IAADA,OAAA,EAAAA,EAAGC,wBAA+E,cAA3B,OAADD,QAAC,IAADA,OAAA,EAAAA,EAAGC,wBAAyCvhC,EAU/F,KATA,cAAC,KAAD,CACIj3C,KAAM0iD,KACNt2D,UAAU,oBACVzB,MAAM,YACN1B,QAAS,WACLs7E,EAAYgU,EAAG,WAEnBn4E,aAAa,4BAInB62C,IAC+B,yBAA3B,OAADshC,QAAC,IAADA,OAAA,EAAAA,EAAGC,wBAA+E,cAA3B,OAADD,QAAC,IAADA,OAAA,EAAAA,EAAGC,uBACtD,mCACI,cAAC,KAAD,CACIx4E,KAAM04E,KACN/tF,MAAM,UACNyB,UAAU,oBACVnD,QAAS,WACLs7E,EAAYgU,EAAG,YAEnBn4E,aAAa,eAGO,cAA3B,OAADm4E,QAAC,IAADA,OAAA,EAAAA,EAAGC,uBACH,oCACoB,OAAflgE,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,IAAD,CACIyX,GAAI,CACAnpC,SAAS,4BAAD,cAA8Bw9D,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAGzV,cAAjC,mBAAkDyV,QAAlD,IAAkDA,OAAlD,EAAkDA,EAAG1U,mBAC7D34E,MAAO6rF,GAEXtuF,MAAO,CAAE2U,WAAY,OALzB,SAOI,cAAC,KAAD,CAAkB4C,KAAM0sC,KAAU/hD,MAAM,YAAYyB,UAAU,mBAAmBgU,aAAa,qBAK3F,OAAfkY,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACb,cAAC,IAAD,CACIyX,GAAI,CACAnpC,SAAS,4BAAD,cAA8Bw9D,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAGzV,cAAjC,mBAAkDyV,QAAlD,IAAkDA,OAAlD,EAAkDA,EAAG1U,mBAC7D34E,MAAO6rF,GAEXtuF,MAAO,CAAE2U,WAAY,OALzB,SAOI,cAAC,KAAD,CAAkBzS,MAAM,YAAYqV,KAAM0sC,KAAUtgD,UAAU,mBAAmBgU,aAAa,oBAI5G62C,GAA8C,yBAA3B,OAADshC,QAAC,IAADA,OAAA,EAAAA,EAAGC,wBACnB,4CAEI,cAAC,KAAD,CACIx4E,KAAM24E,KACNvsF,UAAU,6BACVzB,MAAM,UACN1B,QAAS,WACLs7E,EAAYgU,EAAG,aAEnBn4E,aAAa,yBAIxB62C,IAAc,OAAI3+B,QAAJ,IAAIA,OAAJ,EAAIA,EAAiBm0B,cAChC,cAAC,IAAD,CACIyX,GAAI,CACAnpC,SAAS,4BAAD,cAA8Bw9D,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAGzV,cAAjC,mBAAkDyV,QAAlD,IAAkDA,OAAlD,EAAkDA,EAAG1U,mBAC7D34E,MAAO6rF,GAEXtuF,MAAO,CAAE2U,WAAY,OALzB,SAOI,cAAC,KAAD,CAAkB4C,KAAM0sC,KAAUtgD,UAAU,mBAAmBgU,aAAa,sBAO5Fq0B,EAAYhtC,EAAMwvF,QAAU,GAAhB,qBAAyB/rF,EAAMkwB,uBAA/B,aAAyB,EAAuBnd,iBAAhD,KAEV26E,EAAW,uCAAG,sCAAAjtF,EAAA,sEACA6nC,GAAuB,GAAD,OAC/BtoC,EAAMitF,aADyB,oBAE/BjtF,EAAMitF,aAFyB,WAGlC,UAAAjtF,EAAM0sF,+BAAN,eAA+B9uF,KAAM,IACrC,UAAAoC,EAAM2sF,6BAAN,eAA6B/uF,KAAM,IACnC,UAAAoC,EAAMs1D,mCAAN,eAAmC13D,KAAM,IAN7B,YACZqE,EADY,gCASN4R,EAAMvI,OAAOqiF,IAAIC,gBAAgB,IAAIC,KAAK,CAAC5rF,EAAIW,SAC/CkrF,EAAO/7E,SAASupD,eAAe,wBAA0BvpD,SAASC,cAAc,MACjFpU,GAAK,sBACVkwF,EAAKC,KAAOl6E,EACZi6E,EAAKE,aAAa,WAAlB,yBAAgD53E,OAASC,OAAO,qBAAhE,SACAtE,SAASyhD,KAAKy6B,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKK,SAhBO,mBAiBL,GAjBK,4CAAH,qDAqBX3xE,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,2BAAQh8B,GAAR,kBAAa0a,EAAKxS,IAE3B,OADA8zB,EAAMia,WAAaja,EAAMswD,0BAA2B,EAC7CtwD,OAIf,OACI,sBAAKl7B,UAAU,qBAAf,UACKlB,EAAM+H,WACH,qBACIxK,MAAO,CACHN,OAAQ,sBACRI,QAAS,OACTuxB,cAAe,SACfC,eAAgB,UALxB,SAQI,cAACC,GAAA,EAAD,CAAkBvxB,MAAO,CAAE2U,WAAY,OAAQ7V,YAAa,YAGhE,eAAC6C,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEN,OAAO,gBAAD,OAAkBV,EAAMwvF,QAAU,QAAU,OAA5C,MAAyDn3E,QAAQ,eAA5G,UACI,eAAC1V,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI2e,GAAI,EAAG8gC,aAAa,aAAzD,WACM9xD,EAAMwvF,SACJ,qCAOI,eAAC7sF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,6BAGA,cAAC,IAAD,CACIqa,QAAShb,EAAMyvB,aACf/wB,MAAOsB,EAAM0sF,wBACb1jF,SAAUwT,EAAmB,gCAOrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIqa,QAAShb,EAAM4pC,kBACflrC,MAAOsB,EAAM2sF,sBACb3jF,SAAUwT,EAAmB,8BAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIqa,QAAShb,EAAM6yB,kBACfn0B,MAAOsB,EAAMs1D,4BACbtsD,SAAUwT,EAAmB,iCAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,OAEzB,cAAC1C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEyD,UAAW,MAAOi+B,aAAc,QAA5D,SACI,cAAC,KAAD,CAAiBlhC,QAAS2vF,EAAa1iF,UAAWhL,EAAMq2C,WAAxD,uCAMZ,eAACn3C,EAAA,EAAD,CACIC,WAAS,EACTG,MAAI,EACJC,GAAI,GACJhC,MAAO,CAAEN,OAAQ,OAAQyhC,gBAAiB,UAAWnB,OAAQ,mBAAoB99B,MAAO,SACxFnC,WAAW,SALf,UAOI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAO,CAAE8B,QAAS,mBAApC,uBAGA,cAACH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAO,CAAE8B,QAAS,mBAApC,SACI,cAAC,IAAD,CACI8G,KAAK,qBACLzH,MAAOsB,EAAMitF,cAAgB,IAC7BjkF,SA/QL,SAACX,GACF,IAAlBA,EAAEE,OAAO7J,MACTyf,IACGA,EAAY9V,EAAEE,OAAO7J,QA6QAsQ,KAAMhP,EAAMysF,WACZvrF,UAAWgH,EAAQwjF,iBAI9B1rF,EAAMusF,mBAAmBzmF,KAAI,SAACk7C,GAC3B,OACI,eAAC9hD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,GAAIhwB,MAAO,CAAEN,OAAQ,OAAQsgC,OAAQ,oBAAsBjgC,WAAW,SAArH,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAO,CAAEyZ,UAAW,UAAtC,oBAGA,cAAC9X,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACKyhD,EAAE76C,gBAMrBnG,EAAMktF,SAiFJ,eAAChuF,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAI8gC,aAAa,aAAantD,UAAU,uBAAjF,UACI,eAAChC,EAAA,EAAD,CACIC,WAAS,EACTG,MAAI,EACJC,GAAI,GACJhC,MAAO,CAAEN,OAAQ,OAAQyhC,gBAAiB,UAAWnB,OAAQ,mBAAoB99B,MAAO,QAASJ,QAAS,mBAC1GuV,QAAQ,gBALZ,UAOI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,mBAAeU,EAAMouF,cAArB,YAAsCpuF,EAAMitF,gBAC5C,cAAC/tF,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,KAAD,CAAWvB,QAvVzB,WACdS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8sF,UAAU,eAuVM,cAAChuF,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIhC,MAAO,GAApC,SACKyC,EAAM0mC,QAAQ5gC,KAAI,SAACunF,GAChB,IAAIgB,EAA6C,cAA5BhB,EAAEC,sBAAwCD,EAAEhT,uBAAyBgT,EAAE7V,YAC5F,OACI,eAACt4E,EAAA,EAAD,CACIC,WAAS,EACTG,MAAI,EACJC,GAAI,GACJhC,MAAO,CACHq9C,WAAY,OACZoZ,aAAc,oBAElB12D,WAAW,SACX8B,QAAS,EATb,UAWI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAAV,oBAEA,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIjC,WAAW,SAAxC,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,QAApB,mBACQ0W,KAAOi3E,EAAEp4B,iBAAiB5+C,OAAO,QADzC,YACoDD,KAAOi3E,EAAEp4B,iBAAiB5+C,OAAO,eADrF,aAEQg4E,EAAiBj4E,KAAOi4E,GAAgBh4E,OAAO,QAAU,GAFjE,YAGQg4E,EAAiBj4E,KAAOi4E,GAAgBh4E,OAAO,eAAiB,QAHxE,SAMJ,eAACnX,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SAA6B66E,EAAiB8S,KAC9C,cAAC3jF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SAA6B2tF,EAAErmC,YAC/B,cAACt9C,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SAA6B2tF,EAAEt6E,sBAEnC,cAAC7T,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAO,CAAEC,SAAU,YAArC,SACK0a,EAAWm1E,mBA5HxC,cAACnuF,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI2e,GAAI,GAAInuB,QAAS,EAAtD,SACKY,EAAMwsF,oBAAoB1mF,KAAI,SAAC0kD,GAC5B,OACI,cAACtrD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAA9B,SACI,eAACsQ,GAAA,EAAD,CAAM38B,UAAWgH,EAAQT,KAAzB,UACI,cAAC6mF,GAAA,EAAD,CACI36B,OACI,cAACj9C,EAAA,EAAD,CAAYnZ,MAAO,CAAE8B,QAAS,MAAOI,MAAO,SAAWuL,SAA8B,IAApBw/C,EAAE15C,OAAOvC,OAA1E,SACI,cAAC,KAAD,CAAiBxQ,QAAS,kBA9QzD6E,EA8Q2E4nD,EAAE15C,OA9QvEg8E,EA8Q+EtiC,EAAEsiC,WA7QxGtuF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELsmC,QAAS9jC,EACTwrF,cAAetB,EACfI,UAAU,OALE,IAACtqF,EAAMkqF,OAiRiByB,qBAAsB,CAAE7uF,QAAS,SACjC/C,MAAK,UAAK6tD,EAAEsiC,MAAP,YAAgB9sF,EAAMitF,cAC3B1vF,MAAO,CAAEN,OAAQ,OAAQyhC,gBAAiB,UAAWnB,OAAQ,mBAAoB99B,MAAO,WAE5F,cAAC+uF,GAAA,EAAD,CAAajxF,MAAO,CAAE8B,QAAS,mBAAqB6B,UAAWgH,EAAQ4jF,YAAvE,SACyB,IAApBthC,EAAE15C,OAAOvC,OACNi8C,EAAE15C,OAAOhL,KAAI,SAACunF,GACV,IAAIgB,EAA6C,cAA5BhB,EAAEC,sBAAwCD,EAAEhT,uBAAyBgT,EAAE7V,YAE5F,OACI,eAACt4E,EAAA,EAAD,CACIC,WAAS,EACTG,MAAI,EACJC,GAAI,GACJhC,MAAO,CACH8B,QAAS,OACT20D,aAAc,oBAElB12D,WAAW,SARf,UAUI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,oBAIA,eAACL,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIjC,WAAW,SAAxC,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,QAApB,mBACQ0W,KAAOi3E,EAAEp4B,iBAAiB5+C,OAAO,QADzC,YACoDD,KAAOi3E,EAAEp4B,iBAAiB5+C,OACtE,eAFR,aAGUg4E,EAAiBj4E,KAAOi4E,GAAgBh4E,OAAO,QAAU,GAHnE,YAIQg4E,EAAiBj4E,KAAOi4E,GAAgBh4E,OAAO,eAAiB,QAJxE,SAQJ,cAACnX,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,sBAAK/B,MAAO,CAAEF,QAAS,OAAQC,WAAY,UAA3C,UACKf,EAAMwvF,QAAU,KACb,qCACKxR,EAAiB8S,GADtB,QAEYA,EAAEt6E,iBAFd,OAKJ,uBAAMxV,MAAO,CAAE2U,WAAY3V,EAAMwvF,QAAU,GAAK,OAAhD,cAA2D7zE,EAAWm1E,oBAQ9F,qBACI9vF,MAAO,CACHF,QAAS,OACTuxB,cAAe,SACfC,eAAgB,UAJxB,SAOI,qBAAKtxB,MAAO,CAAE2U,WAAY,OAAQ7V,YAAa,OAAQoD,MAAO,UAAW9B,OAAQ,WAAjF,qDAoE3CqC,EAAM5C,KACH,cAACV,GAAA,EAAD,CACIU,KAAM4C,EAAM5C,KACZN,QAAS,WACLszB,GAAY,IAEhBzzB,MAAOqD,EAAMklC,MAAQ,eAAd,wBAAgDqE,GACvDxsC,SAAS,KACToJ,KAAK,UAPT,SASKnG,EAAMklC,MACH,cAAC,GAAD,CACItiC,KAAM5C,EACNklC,MAAOllC,EAAMklC,MACb0wB,WAAY51D,EAAMkwB,gBAAgB8kC,WAClCQ,eAAgBj5D,EAAMi5D,eACtB14D,QAAS,WACLszB,GAAY,MAIpB,cAAC,GAAD,CACIxtB,KAAM5C,EACNklC,MAAOllC,EAAMklC,MACb3oB,UAAWvc,EAAMkwB,gBAAgByoD,kBACjC77E,QAAS,WACLszB,GAAY,QAK5B,KACHqoD,EAAW6C,MACR,cAAC5+E,GAAA,EAAD,CAAYC,MAAK,yBAAoB4sC,GAAaxsC,SAAS,KAAKD,QAASo+E,EAAzE,SACI,cAAC,GAAD,CAAe3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAE9G,KACHzC,EAAWv+B,OACR,cAACx9C,GAAA,EAAD,CAAYC,MAAK,mCAA8B4sC,GAAaxsC,SAAS,KAAKD,QAASo+E,EAAnF,SACI,cAAC,GAAD,CAAuB3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAEtH,KACHzC,EAAW8C,QACR,cAAC7+E,GAAA,EAAD,CAAYC,MAAK,0BAAqB4sC,GAAaxsC,SAAS,KAAKD,QAASo+E,EAA1E,SACI,cAAC,GAAD,CAAwB3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAEvH,KACHzC,EAAW+C,SACR,cAAC9+E,GAAA,EAAD,CAAYC,MAAK,4BAAuB4sC,GAAaxsC,SAAS,KAAKD,QAASo+E,EAA5E,SACI,cAAC,GAAD,CAAuBxE,QAAS12E,EAAMkwB,gBAAiBpzB,QAASo+E,MAEpE,SCnuBHuT,GAAY,uCAAG,WAAO7wF,GAAP,eAAA6C,EAAA,sEACR6B,aAAY,aAAD,OAAc1E,IADjB,cACpBqE,EADoB,yBAEjBA,GAFiB,2CAAH,sDAKZysF,GAAoB,uCAAG,4BAAAjuF,EAAA,sEAChB6B,aAAY,6BADI,cAC5BL,EAD4B,yBAEzBA,GAFyB,2CAAH,qDAKpB0sF,GAAa,uCAAG,WAAO/rF,GAAP,eAAAnC,EAAA,sEACTsB,aAAa,YAAaa,GADjB,cACrBX,EADqB,yBAElBA,GAFkB,2CAAH,sDCLb2sF,GAAkB9nE,0BAElB+nE,GAAmB,SAACtyF,GAC7B8sB,QAAQC,IAAI/sB,GACZ,MAA0BgC,mBAAS,CAC/B4O,OAAQ,GACR2hF,WAAYvyF,EAAMwyF,kBAClBC,kBAAmBzyF,EAAMwG,UACzBgF,aAAYxL,EAAMwyF,oBAJtB,mBAAO/uF,EAAP,KAAcxB,EAAd,KAMA,EAAgCD,mBAAS,CACrC0wF,sBAAuB,GACvBC,cAAe,GACfC,eAAgB,GAChBl7C,qBAAsB,GACtBm7C,eAAgB,GAChBn6D,cAAe,KANnB,mBAAOnf,EAAP,KAAiBu5E,EAAjB,KAQA,EAA6CrxF,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,sBAAAM,EAAA,sDACN6uF,IADM,2CAEP,IAEH,IAAMA,EAAY,uCAAG,gCAAA7uF,EAAA,0DACbT,EAAM8uF,WADO,gCAEGL,GAAazuF,EAAM8uF,YAFtB,OAET7sF,EAFS,OAGTW,EAHS,UAGFX,EAAIW,YAHF,aAGF,EAAU2G,QAAQ,GACzBtH,EAAIoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL0uF,WAAYlsF,EAAKksF,WACjBE,kBAAmBpsF,EAAKosF,kBACxBO,iBAAkB3sF,EAAK2sF,iBACvBC,eAAgB5sF,EAAK4sF,eACrBC,kBAAmB7sF,EAAK6sF,kBACxBC,oBAAqB9sF,EAAK8sF,oBAC1BC,uBAAwB/sF,EAAK+sF,uBAC7BC,wBAAyBhtF,EAAKgtF,wBAC9BC,aAAcjtF,EAAKitF,aACnBC,kBAAmBltF,EAAKktF,kBACxBC,gBAAiBntF,EAAKmtF,gBACtBC,qBAAsBptF,EAAKotF,qBAC3BC,+BAAgCrtF,EAAKqtF,+BACrCC,sBAAuBttF,EAAKstF,sBAC5BC,qBAAsBvtF,EAAKutF,qBAC3BC,qBAAsBxtF,EAAKwtF,qBAC3BC,kBAAmBztF,EAAKytF,kBACxBC,sBAAuB1tF,EAAK0tF,sBAC5BC,kBAAmB3tF,EAAK2tF,kBACxBC,sBAAuB5tF,EAAK4tF,sBAC5BC,kBAAmB7tF,EAAK6tF,kBACxBC,2BAA4B9tF,EAAK8tF,2BACjCC,uBAAwB/tF,EAAK+tF,uBAC7BC,0BAA2BhuF,EAAKguF,0BAChCC,sBAAuBjuF,EAAKiuF,sBAC5BC,4BAA6BluF,EAAKkuF,4BAClCC,wBAAyBnuF,EAAKmuF,wBAC9BC,2BAA4BpuF,EAAKouF,2BACjCC,uBAAwBruF,EAAKquF,uBAC7BC,oBAAqBtuF,EAAKsuF,oBAC1BC,gBAAiBvuF,EAAKuuF,gBACtBC,6BAA8BxuF,EAAKwuF,6BACnCC,yBAA0BzuF,EAAKyuF,yBAC/BC,oBAAqB1uF,EAAK0uF,oBAC1BC,uBAAwB3uF,EAAK2uF,uBAC7BC,qBAAsB5uF,EAAK4uF,qBAC3BC,gBAAiB7uF,EAAK6uF,gBACtBC,sBAAuB9uF,EAAK8uF,sBAC5BC,kBAAmB/uF,EAAK+uF,kBACxBC,uBAAwBhvF,EAAKgvF,uBAC7BC,iCAAkCjvF,EAAKivF,iCACvCC,2BAA4BlvF,EAAKkvF,2BACjCC,gCAAiCnvF,EAAKmvF,gCACtCC,uBAAwBpvF,EAAKovF,uBAC7BC,uBAAwBrvF,EAAKqvF,uBAC7BC,eAAgBtvF,EAAKsvF,eACrBC,2BAA4BvvF,EAAKuvF,2BACjCC,+BAAgCxvF,EAAKwvF,+BACrCC,wBAAyBzvF,EAAKyvF,wBAC9BC,8BAA+B1vF,EAAK0vF,8BACpCC,qBAAsB3vF,EAAK2vF,qBAC3BxqF,YAAY,OA1DP,2CAAH,qDAiElB5H,oBAAS,sBAAC,4BAAAM,EAAA,sEACUiuF,KADV,QACFzsF,EADE,QAEEoE,SACJgpF,GAAY,SAACjvF,GAAD,mBAAC,eACNA,GADK,IAER6uF,sBAAuBhtF,EAAIW,KAAKqsF,sBAAsBnpF,KAAI,SAACgoB,GAAD,MAAQ,CAC9DlwB,GAAIkwB,EAAE6hE,uBACNxpF,KAAM2nB,EAAE0kE,oCAEZtD,cAAejtF,EAAIW,KAAKssF,cAAcppF,KAAI,SAACgoB,GAAD,MAAQ,CAC9ClwB,GAAIkwB,EAAE0hE,eACNrpF,KAAM2nB,EAAE2kE,4BAEZtD,eAAgBltF,EAAIW,KAAKusF,eAAerpF,KAAI,SAACgoB,GAAD,MAAQ,CAChDlwB,GAAIkwB,EAAE4kE,gBACNvsF,KAAM2nB,EAAE6kE,6BAEZ1+C,qBAAsBhyC,EAAIW,KAAKqxC,qBAAqBnuC,KAAI,SAACgoB,GAAD,MAAQ,CAC5DlwB,GAAIkwB,EAAE8kE,sBACNzsF,KAAM2nB,EAAE+kE,4BAEZzD,eAAgBntF,EAAIW,KAAKwsF,eAAetpF,KAAI,SAACgoB,GAAD,MAAQ,CAChDlwB,GAAIkwB,EAAEyhE,iBACNppF,KAAM2nB,EAAEglE,8BAEZ79D,cAAehzB,EAAIW,KAAKqyB,cAAcnvB,KAAI,SAACgoB,GAAD,MAAQ,CAC9ClwB,GAAIkwB,EAAElwB,GACNuI,KAAM2nB,EAAE3nB,cA3Bd,2CA+BP,IAEH,IAAMiI,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACP,SAAVvK,GAA2C,UAAvBuK,EAAK4gB,cACzBrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAClB,UAAVzH,GAA4C,UAAvBuK,EAAK4gB,cACjCrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAEnC3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SAExC,IAEG0mF,EAAa,WACf,IAAI5sB,GAAU,EACVrrD,EAAS,GAET2iF,EAYA9vF,EAZA8vF,kBACAuC,EAWAryF,EAXAqyF,wBACAf,EAUAtxF,EAVAsxF,oBACAf,EASAvwF,EATAuwF,kBACAI,EAQA3wF,EARA2wF,uBACAE,EAOA7wF,EAPA6wF,sBACAE,EAMA/wF,EANA+wF,wBACAN,EAKAzwF,EALAywF,kBACAQ,EAIAjxF,EAJAixF,uBACAE,EAGAnxF,EAHAmxF,gBACAE,EAEArxF,EAFAqxF,yBACAhB,EACArwF,EADAqwF,kBAwDJ,OArDKgC,IACD75B,GAAU,EACVrrD,EAAOklF,wBAA0B,yCAEhCf,IACD94B,GAAU,EACVrrD,EAAOmkF,oBAAsB,qCAE5Bf,IACD/3B,GAAU,EACVrrD,EAAOojF,kBAAoB,mCAE1BI,IACDn4B,GAAU,EACVrrD,EAAOwjF,uBAAyB,wCAE/BE,IACDr4B,GAAU,EACVrrD,EAAO0jF,sBAAwB,uCAE9BE,IACDv4B,GAAU,EACVrrD,EAAO4jF,wBAA0B,yCAEhCN,IACDj4B,GAAU,EACVrrD,EAAOsjF,kBAAoB,mCAE1BQ,IACDz4B,GAAU,EACVrrD,EAAO8jF,uBAAyB,wCAE/BE,IACD34B,GAAU,EACVrrD,EAAOgkF,gBAAkB,iCAExBE,IACD74B,GAAU,EACVrrD,EAAOkkF,yBAA2B,2CAEjChB,IACD73B,GAAU,EACVrrD,EAAOkjF,kBAAoB,mCAE1BP,IACDt3B,GAAU,EACVrrD,EAAO2iF,kBAAoB,mCAG/BtxF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,OAELqrD,GAILmX,EAAU,uCAAG,gCAAAlvE,EAAA,0DACX2kF,IADW,uBAEPxiF,EAAO,CACPksF,WAAY9uF,EAAM8uF,YAAc,KAChCE,kBAAmBhvF,EAAMgvF,mBAAqB,KAC9CO,iBAAkBvvF,EAAMuvF,kBAAoB,KAC5CC,eAAgBxvF,EAAMwvF,gBAAkB,KACxCC,kBAAmBzvF,EAAMyvF,mBAAqB,KAC9CC,oBAAqB1vF,EAAM0vF,qBAAuB,KAClDC,uBAAwB3vF,EAAM2vF,wBAA0B,KACxDC,wBAAyB5vF,EAAM4vF,yBAA2B,KAC1DC,aAAc7vF,EAAM6vF,cAAgB,KACpCC,kBAAmB9vF,EAAM8vF,mBAAqB,KAC9CC,gBAAiB/vF,EAAM+vF,iBAAmB,KAC1CC,qBAAsBhwF,EAAMgwF,sBAAwB,KACpDC,+BAAgCjwF,EAAMiwF,gCAAkC,KACxEC,sBAAuBlwF,EAAMkwF,uBAAyB,KACtDC,qBAAsBnwF,EAAMmwF,sBAAwB,KACpDC,qBAAsBpwF,EAAMowF,sBAAwB,KACpDC,kBAAmBrwF,EAAMqwF,mBAAqB,KAC9CC,sBAAuBtwF,EAAMswF,sBAC7BC,kBAAmBvwF,EAAMuwF,mBAAqB,KAC9CC,sBAAuBxwF,EAAMwwF,sBAC7BC,kBAAmBzwF,EAAMywF,mBAAqB,KAC9CC,2BAA4B1wF,EAAM0wF,2BAClCC,uBAAwB3wF,EAAM2wF,wBAA0B,KACxDC,0BAA2B5wF,EAAM4wF,0BACjCC,sBAAuB7wF,EAAM6wF,uBAAyB,KACtDC,4BAA6B9wF,EAAM8wF,4BACnCC,wBAAyB/wF,EAAM+wF,yBAA2B,KAC1DC,2BAA4BhxF,EAAMgxF,2BAClCC,uBAAwBjxF,EAAMixF,wBAA0B,KACxDC,oBAAqBlxF,EAAMkxF,oBAC3BC,gBAAiBnxF,EAAMmxF,iBAAmB,KAC1CC,6BAA8BpxF,EAAMoxF,6BACpCC,yBAA0BrxF,EAAMqxF,0BAA4B,KAC5DC,oBAAqBtxF,EAAMsxF,qBAAuB,KAClDC,uBAAwBvxF,EAAMuxF,wBAA0B,KACxDC,qBAAsBxxF,EAAMwxF,sBAAwB,KACpDC,gBAAiBzxF,EAAMyxF,iBAAmB,KAC1CC,sBAAuB1xF,EAAM0xF,uBAAyB,KACtDC,kBAAmB3xF,EAAM2xF,mBAAqB,KAC9CC,uBAAwB5xF,EAAM4xF,wBAA0B,KACxDC,iCAAkC7xF,EAAM6xF,kCAAoC,KAC5EC,2BAA4B9xF,EAAM8xF,4BAA8B,KAChEC,gCAAiC/xF,EAAM+xF,iCAAmC,KAC1EC,uBAAwBhyF,EAAMgyF,wBAA0B,KACxDC,uBAAwBjyF,EAAMiyF,wBAA0B,KACxDC,eAAgBlyF,EAAMkyF,gBAAkB,KACxCC,2BAA4BnyF,EAAMmyF,4BAA8B,KAChEC,+BAAgCpyF,EAAMoyF,gCAAkC,KACxEC,wBAAyBryF,EAAMqyF,yBAA2B,KAC1DC,8BAA+BtyF,EAAMsyF,+BAAiC,KACtEC,qBAAsBvyF,EAAMuyF,sBAAwB,MAGpD7pF,EAAW1I,EAAM8uF,WAA6C,+BAAhC,8BAxDvB,SA0DKH,GAAc/rF,GA1DnB,QA0DPX,EA1DO,QA2DHoE,SACJyB,EAAiBY,GACjBnM,EAAM8gE,eAENx1D,EAAe5F,EAAIyG,SA/DZ,2CAAH,qDAoEhBvI,qBAAU,WACN,GAAIH,EAAM6vF,aAAc,CACpB,IAAIkD,EAAa38E,KAAOpW,EAAM8vF,mBAAmBkD,IAAIhzF,EAAM6vF,aAAc,UAAUx5E,OAAO,cAC1F7X,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2vF,gBAAiBgD,UAG1B,CAAC/yF,EAAM6vF,eAeV,OACI,cAACjB,GAAgBvkE,SAAjB,CACI3rB,MAAO,CACHsB,QACA8sB,WAjBO,SAACvwB,GAChB,OACI,cAAC2C,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAG7B,MAAO,CAAE2U,WAAY,OAAtD,SACI,eAAC6a,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAYpa,EAAM4J,KAAMA,KAAM5J,EAAM4J,KAAMzH,MAAOnC,EAAMmC,MAAOsK,SAAUzM,EAAMyM,SAA9F,UACI,cAACgkB,GAAA,EAAD,CAAkBtd,SAAyB,IAAhBnT,EAAMmC,MAAgBA,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACxF,cAACikB,GAAA,EAAD,CAAkBtd,SAAyB,IAAhBnT,EAAMmC,MAAiBA,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,eAYlG+M,WACA1H,cACAuhE,cANR,SASKpzE,EAAMK,YCnTbq2F,GAAgB,SAAC12F,GACnB,MAAiE2B,qBAAW0wF,IAApE5uF,EAAR,EAAQA,MAAO8sB,EAAf,EAAeA,WAAYhX,EAA3B,EAA2BA,SAAU1H,EAArC,EAAqCA,YAAauhE,EAAlD,EAAkDA,WAC9CviD,EAAkB9sB,IAAW+sB,gBACjC,OACI,mCACKrtB,EAAM+H,WACH,cAAC,GAAD,IAEA,gCACI,eAAC7I,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,wBAGA,cAAC,IAAD,CACIlD,MAAOsB,EAAM8vF,mBAAqB15E,KAAOpW,EAAM8vF,mBAAmBz5E,OAAO,cACzErN,SAAUoF,EACVjI,KAAK,sBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO2iF,uBAExC,eAAC5wF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,oCACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,eAAezH,MAAOsB,EAAM6vF,kBAEzE,eAAC3wF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CACIjC,MAAOsB,EAAM+vF,iBAAmB35E,KAAOpW,EAAM+vF,iBAAiB15E,OAAO,cACrErN,SAAUoF,EACVjI,KAAK,kBACL6E,UAAQ,OAGhB,eAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CACIjC,MAAOsB,EAAMgwF,sBAAwB55E,KAAOpW,EAAMgwF,sBAAsB35E,OAAO,cAC/ErN,SAAUoF,EACVjI,KAAK,4BAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,kBAAkBzH,MAAOsB,EAAMyxF,qBAE5E,eAACvyF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,sCACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,wBAAwBzH,MAAOsB,EAAM0xF,2BAElF,eAACxyF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CACIjC,MAAOsB,EAAMmwF,sBAAwB/5E,KAAOpW,EAAMmwF,sBAAsB95E,OAAO,cAC/ErN,SAAUoF,EACVjI,KAAK,4BAEL,IACR,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,wBAAwBzH,MAAOsB,EAAMkwF,2BAElF,eAAChxF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CAAWqI,SAAUoF,EAAaY,KAAM8G,EAASo5E,cAAe/oF,KAAK,iBAAiBzH,MAAOsB,EAAMwvF,oBAEvG,eAACtwF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIqI,SAAUoF,EACVY,KAAM8G,EAASm5E,sBACf9oF,KAAK,yBACLzH,MAAOsB,EAAM2vF,4BAGrB,eAACzwF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CAAWqI,SAAUoF,EAAaY,KAAM8G,EAASs5E,eAAgBjpF,KAAK,mBAAmBzH,MAAOsB,EAAMuvF,sBAE1G,eAACrwF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,sBAAsBzH,MAAOsB,EAAM0vF,yBAEhF,eAACxwF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,oBAAoBzH,MAAOsB,EAAM2xF,uBAE9E,eAACzyF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,yBAAyBzH,MAAOsB,EAAM4xF,4BAEnF,eAAC1yF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,wCACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,mCAAmCzH,MAAOsB,EAAM6xF,sCAE7F,eAAC3yF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,sCACA,cAAC,IAAD,CACIjC,MAAOsB,EAAMiwF,gCAAkC75E,KAAOpW,EAAMiwF,gCAAgC55E,OAAO,cACnGrN,SAAUoF,EACVjI,KAAK,yCAIjB,cAACuD,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,8BAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CACIqI,SAAUoF,EACVY,KAAM8G,EAASq5E,eACfhpF,KAAK,0BACLzH,OAAQsB,EAAM4vF,6BAGtB,eAAC1wF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kCACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,oBAAoBzH,MAAOsB,EAAMyvF,uBAE9E,eAACvwF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kCACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,6BAA6BzH,MAAOsB,EAAM8xF,gCAEvF,eAAC5yF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,uCACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,kCAAkCzH,MAAOsB,EAAM+xF,qCAE5F,eAAC7yF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,yBAAyBzH,MAAOsB,EAAMgyF,4BAEnF,eAAC9yF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,yBAAyBzH,MAAOsB,EAAMiyF,4BAEnF,eAAC/yF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,uBAAuBzH,MAAOsB,EAAMowF,0BAEjF,eAAClxF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,mCAGA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,sBAAsBzH,MAAOsB,EAAMsxF,sBAC5E,cAAC3vF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOmkF,yBAExC,eAACpyF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,oBACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,iBAAiBzH,MAAOsB,EAAMkyF,oBAE3E,eAAChzF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,oCACA,cAAC,IAAD,CAAaqI,SAAUoF,EAAajI,KAAK,6BAA6BzH,MAAOsB,EAAMmyF,mCAG3F,cAACzoF,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,8BAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,uCACA,cAACmsB,EAAD,CACI3mB,KAAK,iCACLzH,MAAOsB,EAAMoyF,iCAAkC,EAC/CppF,SAAUoF,OAGlB,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,eAAClO,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,UACK,IADL,sBAIA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,0BAA0BzH,MAAOsB,EAAMqyF,0BAChF,cAAC1wF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOklF,kCAIhD,cAACnzF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAACmsB,EAAD,CAAY3mB,KAAK,wBAAwBzH,MAAOsB,EAAMswF,wBAAyB,EAAOtnF,SAAUoF,OAEpG,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,eAAClO,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,UACK,IADL,cAIA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,oBAAoBzH,MAAOsB,EAAMuwF,oBAC1E,cAAC5uF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOojF,4BAIhD,cAACrxF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,sCACA,cAACmsB,EAAD,CAAY3mB,KAAK,6BAA6BzH,MAAOsB,EAAM0wF,6BAA8B,EAAO1nF,SAAUoF,OAE9G,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,eAAClO,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,UACK,IADL,qBAIA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,yBAAyBzH,MAAOsB,EAAM2wF,yBAC/E,cAAChvF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOwjF,iCAIhD,cAACzxF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,qCACA,cAACmsB,EAAD,CAAY3mB,KAAK,4BAA4BzH,MAAOsB,EAAM4wF,4BAA6B,EAAO5nF,SAAUoF,OAE5G,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,4BAGA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,wBAAwBzH,MAAOsB,EAAM6wF,wBAC9E,cAAClvF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0jF,gCAIhD,cAAC3xF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,uCACA,cAACmsB,EAAD,CAAY3mB,KAAK,8BAA8BzH,MAAOsB,EAAM8wF,8BAA+B,EAAO9nF,SAAUoF,OAEhH,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,8BAGA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,0BAA0BzH,MAAOsB,EAAM+wF,0BAChF,cAACpvF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO4jF,kCAIhD,cAAC7xF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCACA,cAACmsB,EAAD,CAAY3mB,KAAK,wBAAwBzH,MAAOsB,EAAMwwF,wBAAyB,EAAOxnF,SAAUoF,OAEpG,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,uBAGA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,oBAAoBzH,MAAOsB,EAAMywF,oBAC1E,cAAC9uF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOsjF,4BAIhD,cAACvxF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,sCACA,cAACmsB,EAAD,CAAY3mB,KAAK,6BAA6BzH,MAAOsB,EAAMgxF,6BAA8B,EAAOhoF,SAAUoF,OAE9G,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,6BAGA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,yBAAyBzH,MAAOsB,EAAMixF,yBAC/E,cAACtvF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO8jF,iCAIhD,cAAC/xF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAACmsB,EAAD,CAAY3mB,KAAK,sBAAsBzH,MAAOsB,EAAMkxF,sBAAuB,EAAOloF,SAAUoF,OAEhG,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,sBAGA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,kBAAkBzH,MAAOsB,EAAMmxF,kBACxE,cAACxvF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOgkF,0BAIhD,cAACjyF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,wCACA,cAACmsB,EAAD,CACI3mB,KAAK,+BACLzH,MAAOsB,EAAMoxF,+BAAgC,EAC7CpoF,SAAUoF,OAGlB,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,+BAGA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,2BAA2BzH,MAAOsB,EAAMqxF,2BACjF,cAAC1vF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkkF,mCAIhD,cAACnyF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAIrR,MAAO,CAAEszE,WAAY,UAAhD,UACK,IACD,cAACnwE,EAAA,EAAD,UAAa,WACb,cAACosB,EAAD,OAIJ,eAAC5tB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,wBAGA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,oBAAoBzH,MAAOsB,EAAMqwF,oBAC1E,cAAC1uF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkjF,+BAKpD,eAACnxF,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAA9B,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,EAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,kCAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CACIjC,MAAOsB,EAAMuxF,wBAA0Bn7E,KAAOpW,EAAMuxF,wBAAwBl7E,OAAO,cACnFrN,SAAUoF,EACVjI,KAAK,8BAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CACIjC,MAAOsB,EAAMwxF,sBAAwBp7E,KAAOpW,EAAMwxF,sBAAsBn7E,OAAO,cAC/ErN,SAAUoF,EACVjI,KAAK,4BAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,mCACA,cAAC,IAAD,CACIqI,SAAUoF,EACVY,KAAM8G,EAASm+B,qBACf9tC,KAAK,gCACLzH,MAAOsB,EAAMsyF,yCAK7B,eAACpzF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,EAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,2BAGA,uBACA,cAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIqI,SAAUoF,EACVY,KAAM8G,EAASmf,cACf9uB,KAAK,uBACLzH,MAAOsB,EAAMuyF,kCAQjC,uBACA,eAACrzF,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAIhD,EAAMwyF,kBAAoB,GAAK,EAAG7tF,UAAU,aAA3D,SACI,cAAC,IAAD,CAAiBnD,QAAS4xE,EAAY3kE,WAAU,OAACoiB,QAAD,IAACA,OAAD,EAACA,EAAiB8lE,2BAAlE,SACK32F,EAAMwyF,kBAAoB,SAAW,aAG9C,cAAC7vF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAAa3D,MAAO,CAAEF,QAASd,EAAMwyF,kBAAoB,OAAS,SAA9F,SACI,cAAC,IAAD,CAAiBhxF,QAASxB,EAAMO,QAASmxB,cAAc,EAAvD,+BAkBbC,GARA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAmBA,QClZzBmhC,GAAY,CACd/gC,MAAO,CACH8C,MAAO,WAEXi3C,OAAQ,CACJnZ,OAAQ,6BAEZ67B,OAAQ,CACJ/5D,QAAS,mBAEbg6D,UAAW,CACP3xD,OAAQ,sBAqFDyrF,GAjFM,SAAC52F,GACI+D,IAAW+sB,gBAAjC,IACM4iB,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YACrD,EAAwB3V,oBAAS,GAAjC,mBAAOgxB,EAAP,KAAa6jE,EAAb,KACAjzF,qBAAU,WACF5D,EAAMwyF,mBACNqE,GAAQ,KAEb,IAEH,IAAMC,EAAc,WAChBD,GAAS7jE,IAGb,OACI,qBAAKhyB,MAAO,CAAEyD,UAAW,IAAzB,SAGI,cAAC9B,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACw0D,GAAA,EAAD,CAAgBroD,UAAW4rB,KAA3B,UACI,qBAAK/5B,MAAOmgC,GAAUgZ,OAAtB,SACI,qBAAKn5C,MAAOmgC,GAAU/gC,MAAtB,SACI,eAACuC,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAED,WAAY,SAAU+B,QAAS,WAAxD,UACI,cAACH,EAAA,EAAD,CAAMK,GAAI,EAAGguB,GAAI,EAAGjuB,MAAI,EAAC/B,MAAO,CAAED,WAAY,UAA9C,SACI,cAACoM,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAOmgC,GAAU07B,OAA5D,gCAKJ,cAACl6D,EAAA,EAAD,CAAMK,GAAI,EAAGguB,GAAI,EAAGpuB,WAAS,EAACG,MAAI,EAACsV,QAAQ,WAA3C,UACMq7B,GACE,qBAAK1yC,MAAO,CAAEsuD,MAAO,QAASxuD,QAASd,EAAMwyF,kBAAoB,OAAS,SAA1E,UACMx/D,GACE,cAAC,IAAD,CACIhyB,MAAO,CAAElB,YAAa,IACtByY,KAAMiyC,KACNh+C,MAAOxM,EAAMwyF,kBAAoB,kBAAoB,eACrDhxF,QAASs1F,eASzC,cAACn/B,GAAA,EAAD,CAAOv9C,aAAW,eAAeqnB,KAAK,SAAtC,SACI,cAACm2B,GAAA,EAAD,UACI,cAACP,GAAA,EAAD,UACI,cAACH,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAAayK,MAAM,MAA9C,SACMqlB,EAYE,cAAC,GAAD,CACIzyB,QAASu2F,EACTtwF,UAAWxG,EAAM0sC,UACjB8lD,kBAAmBxyF,EAAMwyF,kBACzB1xB,YAAa9gE,EAAM8gE,cAfvB,sBAAK9/D,MAAO,CAAEyZ,UAAW,UAAzB,UACK,IADL,uDAIMi5B,GACE,sBAAMlyC,QAASs1F,EAAa91F,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,WAA/D,uDARL,iBCxElC6zF,GAAW,uCAAG,WAAO1wF,GAAP,eAAAnC,EAAA,sEACPsB,aAAa,WAAYa,GADlB,cACnBX,EADmB,yBAEhBA,GAFgB,2CAAH,sDAKXsxF,GAAa,uCAAG,WAAO31F,GAAP,eAAA6C,EAAA,sEACT6B,aAAY,WAAD,OAAY1E,IADd,cACrBqE,EADqB,yBAElBA,GAFkB,2CAAH,sDAKbuxF,GAAgB,uCAAG,WAAO51F,GAAP,eAAA6C,EAAA,sEACZ6B,aAAY,8BAAD,OAA+B1E,IAD9B,cACxBqE,EADwB,yBAErBA,GAFqB,2CAAH,sDAKhBwxF,GAAa,uCAAG,WAAO7wF,GAAP,eAAAnC,EAAA,sEACTsB,aAAa,oBAAqBa,GADzB,cACrBX,EADqB,yBAElBA,GAFkB,2CAAH,sDAKbyxF,GAAoB,uCAAG,WAAO9wF,GAAP,eAAAnC,EAAA,sEAChBsB,aAAa,sBAAuBa,GADpB,cAC5BX,EAD4B,yBAEzBA,GAFyB,2CAAH,sDAKpB0xF,GAA6B,uCAAG,WAAO/wF,GAAP,eAAAnC,EAAA,sEACzBsB,aAAa,4BAA6Ba,GADjB,cACrCX,EADqC,yBAElCA,GAFkC,2CAAH,sDAK7B2xF,GAAmB,uCAAG,WAAOhxF,GAAP,eAAAnC,EAAA,sEACfsB,aAAa,yBAA0Ba,GADxB,cAC3BX,EAD2B,yBAExBA,GAFwB,2CAAH,sDC1BnB4xF,GAAsB/sE,0BAEtBgtE,GAAiB,SAACv3F,GAC3B,MAA0BgC,mBAAS,CAC/Bw1F,gBAAiBx3F,EAAM0sC,UACvB+qD,UAAU,EACV7xB,UAAU,EACVp6D,YAAY,EACZnG,MAAO,GACP6Q,SAAU,OANd,mBAAOzS,EAAP,KAAcxB,EAAd,KAQA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBu9E,EAAa,WACf,IAAIxjF,EAAQ,GACR42D,GAAU,EACNy7B,EAAkEj0F,EAAlEi0F,aAAcC,EAAoDl0F,EAApDk0F,WAAYC,EAAwCn0F,EAAxCm0F,kBAAmBC,EAAqBp0F,EAArBo0F,iBAsBrD,OArBKH,IACDryF,EAAMqyF,aAAe,4BACrBz7B,GAAU,GAET07B,IACDtyF,EAAMsyF,WAAa,0BACnB17B,GAAU,GAET27B,IACDvyF,EAAMuyF,kBAAoB,iCAC1B37B,GAAU,GAET47B,IACDxyF,EAAMwyF,iBAAmB,gCACzB57B,GAAU,GAEdh6D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwB,aAGG42D,GAGLruC,EAAY,uCAAG,WAAOkqE,GAAP,mBAAA5zF,EAAA,0DACb2kF,IADa,uBAETxiF,EAAO,CACP0xF,SAAUt0F,EAAMs0F,UAAY,KAC5BP,gBAAiB/zF,EAAM+zF,iBAAmB,KAC1CE,aAAcj0F,EAAMi0F,cAAgB,KACpCC,WAAYl0F,EAAMk0F,YAAc,KAChCE,iBAAkBp0F,EAAMo0F,kBAAoB,KAC5CD,kBAAmBn0F,EAAMm0F,mBAAqB,MARrC,SAWGb,GAAY1wF,GAXf,QAWTX,EAXS,QAYLoE,SACJyB,EAAiB,qCACb9H,EAAMs0F,SACNC,IAEAh4F,EAAMO,QAAQu3F,EAAd,OAA0BpyF,QAA1B,IAA0BA,GAA1B,UAA0BA,EAAKW,YAA/B,aAA0B,EAAW0xF,UAAU,IAGnDzsF,EAAe,4BApBN,2CAAH,sDAyBlB1H,qBAAU,WACF5D,EAAMi4F,WACNC,IACAC,OAEL,CAAC10F,EAAMyS,WAEV,IAOMgiF,EAAgB,uCAAG,gCAAAh0F,EAAA,sEACL8yF,GAAch3F,EAAMi4F,UADf,OACjBvyF,EADiB,OAEfW,EAFe,UAERX,EAAIW,YAFI,aAER,EAAU4V,KAAK,GAC5Bha,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk0F,SAAU1xF,EAAK0xF,UAAY,KAC3BP,gBAAiBnxF,EAAKmxF,iBAAmB,KACzCE,aAAcrxF,EAAKqxF,cAAgB,KACnCC,WAAY3nF,IAAW6jC,cAAcxtC,EAAKsxF,YAC1CE,iBAAkB7nF,IAAW6jC,cAAcxtC,EAAKwxF,kBAChDD,kBAAmBvxF,EAAKuxF,mBAAqB,KAC7CQ,kBAAmB/xF,EAAK+xF,mBAAqB,KAC7Cxe,aAAcvzE,EAAKuzE,aACnBye,eAAgBhyF,EAAKgyF,eACrBC,iBAAkBjyF,EAAKiyF,iBACvBC,iBAAkBlyF,EAAKkyF,iBACvBC,mBAAoBnyF,EAAKmyF,mBACzBC,oBAAqBpyF,EAAKoyF,oBAC1B1kF,UAAW1N,EAAK0N,eAlBC,2CAAH,qDA6BhBwtD,EAAa,WACft/D,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4zF,UAAW5zF,EAAG4zF,SAAUiB,eAAgB,GAAIrzF,MAAO,SAG5EszF,EAAgB,WAClB,IAAItzF,EAAQ,GACR42D,GAAU,EAUd,OATKx4D,EAAMi1F,iBACPrzF,EAAMqzF,eAAiB,uBACvBz8B,GAAU,GAEdh6D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwB,MAAOA,OAGJ42D,GAGL28B,EAAe,uCAAG,8BAAA10F,EAAA,0DAChBy0F,IADgB,uBAEZtyF,EAAO,CACP0xF,SAAUt0F,EAAMs0F,SAChBW,eAAgBj1F,EAAMi1F,gBAJV,SAMAxB,GAAc7wF,GANd,QAMZX,EANY,QAORoE,UACApE,EAAIoE,SACJyB,EAAiB,yCACjBg2D,IACA42B,KAEA7sF,EAAe,iCAbP,2CAAH,qDAmBf6sF,EAAa,uCAAG,4BAAAj0F,EAAA,0DACdlE,EAAMi4F,SADQ,gCAEEhB,GAAiBj3F,EAAMi4F,UAFzB,OAEVvyF,EAFU,OAGdzD,GAAS,SAAC4B,GAAD,yBAAC,eAAaA,GAAd,IAAkBg1F,QAAO,UAAEnzF,EAAIW,YAAN,aAAE,EAAU4V,KAAMzQ,YAAY,OAHlD,2CAAH,qDAObwsF,EAAiB,WACnB/1F,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+hE,UAAW/hE,EAAG+hE,eAG7C,OACI,cAAC0xB,GAAoBxpE,SAArB,CACI3rB,MAAO,CACHsB,QACA89D,aACA1vD,YA9DQ,SAAC/F,GACjB,MAAsBA,EAAEE,OAAlBpC,EAAN,EAAMA,KAAMzH,EAAZ,EAAYA,MACZF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJ+F,EAAOzH,QA2DJyrB,eACAgrE,kBACAZ,iBACAc,iBA9Fa,WACrB72F,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,YAmFlB,SAWKlU,EAAMK,YCxKb04F,GAAY,SAAC/4F,GACf,MAA6C2B,qBAAW21F,IAAhD7zF,EAAR,EAAQA,MAAOoO,EAAf,EAAeA,YAAa+b,EAA5B,EAA4BA,aACxBiD,EAAkB9sB,IAAW+sB,gBAEjC,OACI,qBAAKnsB,UAAU,UAAf,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,2BAGA,cAAC,IAAD,CAAaoH,SAAUoF,EAAajI,KAAK,eAAezH,MAAK,OAAEsB,QAAF,IAAEA,OAAF,EAAEA,EAAOi0F,aAAcnrF,WAAW,EAAMgG,YAAY,kBACjH,cAACnN,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM4B,MAAMqyF,kBAEvC,eAAC/0F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,yBAGA,cAAC,IAAD,CAAYoH,SAAUoF,EAAajI,KAAK,aAAazH,MAAK,OAAEsB,QAAF,IAAEA,OAAF,EAAEA,EAAOk0F,aACnE,cAACvyF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM4B,MAAMsyF,gBAEvC,eAACh1F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,yBAGA,cAAC,IAAD,CAAYoH,SAAUoF,EAAajI,KAAK,mBAAmBzH,MAAK,OAAEsB,QAAF,IAAEA,OAAF,EAAEA,EAAOo0F,mBACzE,cAACzyF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM4B,MAAMwyF,sBAEvC,eAACl1F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,yBAGA,cAAC,IAAD,CAAW8sB,WAAS,EAACzQ,KAAM,EAAGjV,SAAUoF,EAAajI,KAAK,oBAAoBzH,MAAK,OAAEsB,QAAF,IAAEA,OAAF,EAAEA,EAAOm0F,kBAAmBrlF,YAAY,gBAC3H,cAACnN,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM4B,MAAMuyF,uBAGvC,cAACj1F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiByL,WAAU,OAACoiB,QAAD,IAACA,OAAD,EAACA,EAAiBmoE,yBAAyBx3F,QAAS,kBAAMosB,EAAa,QAAlG,sBAIJ,cAACjrB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASxB,EAAMO,QAAhC,6BAaLoxB,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAeA,Q,qBCgGZi5F,GA/IiB,SAACj5F,GAC7B,MAA0BgC,mBAAS,CAC/Bk3F,WAAYr/E,OAASC,OAAO,oBAE5BlJ,OAAQ,GACRmlB,eAAgB/1B,EAAMm5F,SAASC,qBAC/Bp8C,oBAAqB,OALzB,mBAAOv5C,EAAP,KAAcxB,EAAd,KAOA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,qBAAU,WACiB,iBAAnB5D,EAAMo9C,UACNi8C,MAEL,IAEH,IAiC4B96E,EAjCtB86E,EAAmB,uCAAG,8BAAAn1F,EAAA,6DACpB27B,EAAQ,GADY,SAER8a,GAAwB36C,EAAMm5F,SAAS3B,iBAF/B,OAEpB9xF,EAFoB,OAGpBjC,EAAMsyB,gBAAkBrwB,EAAIW,KAAKqyB,cAAc1mB,OAAS,IACxD6tB,EAAMmd,oBAAsBt3C,EAAIW,KAAKqyB,cAAcllB,MAAK,qBAAGnS,KAAgBoC,EAAMsyB,mBAErF9zB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyyB,kBAAmB5wB,EAAIW,KAAKqyB,eACzBmH,MATiB,2CAAH,qDAanB/tB,EAAc,WAChB,IAAQkrC,EAA6Dv5C,EAA7Du5C,oBAAqBk8C,EAAwCz1F,EAAxCy1F,WAAYI,EAA4B71F,EAA5B61F,wBACrCvnF,GAAc,EACdnB,EAAS,GAcb,OAbKosC,GAA0C,iBAAnBh9C,EAAMo9C,WAC9BxsC,EAAOosC,oBAAsB,0BAC7BjrC,GAAc,GAEbmnF,IACDtoF,EAAOsoF,WAAa,0BACpBnnF,GAAc,GAEbunF,GAA8C,mBAAnBt5F,EAAMo9C,WAClCxsC,EAAO0oF,wBAA0B,0BACjCvnF,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAMLmnC,EAAmB,SAACptC,GACtB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGjCk7C,EAAa,uCAAG,gCAAAn5C,EAAA,yDAEdwB,EAAM,IACNoM,IAHc,oBAIS,iBAAnB9R,EAAMo9C,SAJI,uBAKVG,EAAW,CACPw6C,SAAU/3F,EAAM+3F,SAChBO,iBAAkB70F,EAAMy1F,WACxBE,qBAAoB,UAAE31F,EAAMu5C,2BAAR,aAAE,EAA2B37C,IAR3C,SAUE81F,GAAqB55C,GAVvB,OAUV73C,EAVU,iBAYS,aAAnB1F,EAAMo9C,UAA8C,WAAnBp9C,EAAMo9C,SAZ7B,wBAaVG,EAAW,CACPH,SAA6B,WAAnBp9C,EAAMo9C,SAAwB,IAAM,GAC9C26C,SAAU/3F,EAAM+3F,SAChBQ,iBAAqC,WAAnBv4F,EAAMo9C,SAAwB35C,EAAMy1F,WAAa,GACnEV,mBAAuC,aAAnBx4F,EAAMo9C,SAA0B35C,EAAMy1F,WAAa,IAjBjE,UAmBE9B,GAA8B75C,GAnBhC,QAmBV73C,EAnBU,kBAqBS,mBAAnB1F,EAAMo9C,SArBI,wBAsBVG,EAAW,CACPw6C,SAAU/3F,EAAM+3F,SAChBU,oBAAqBh1F,EAAMy1F,WAC3BI,wBAAyB71F,EAAM61F,yBAzBzB,UA2BEjC,GAAoB95C,GA3BtB,QA2BV73C,EA3BU,eA6BVA,EAAIoE,SACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAjCT,4CAAH,qDAsCnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACwB,iBAAnB7C,EAAMo9C,SACH,eAACz6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIqa,QAAShb,EAAM6yB,mBAAqB,GACpCn0B,MAAOsB,EAAMu5C,oBACbvwC,UAtDQ8R,EAsDqB,sBAtDd,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,WAuDrB,cAAC3G,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOosC,yBAExC,KACJ,eAACr6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,IAAD,CACImO,YAAY,OACZpQ,MAAOsB,EAAMy1F,WACbzsF,SAAUysC,EACVtvC,KAAK,aACL40C,WAAY,CAAEttB,WAAY,CAAEC,IAAI,GAAD,OAAK1tB,EAAMy1F,gBAE9C,cAAC9zF,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOsoF,gBAEpB,mBAAnBl5F,EAAMo9C,UACH,eAACz6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CAAW+tB,WAAS,EAACzQ,KAAM,EAAGjV,SAAUysC,EAAkBtvC,KAAK,0BAA0BzH,MAAOsB,EAAM61F,0BACtG,cAACl0F,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0oF,6BAG5C,cAAC32F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBI,WAAS,EAACuB,UAAU,aAAanD,QAAS67C,EAA3D,SACwB,iBAAnBr9C,EAAMo9C,SACD,gBACmB,mBAAnBp9C,EAAMo9C,SACN,kBACmB,WAAnBp9C,EAAMo9C,SACN,mBACmB,aAAnBp9C,EAAMo9C,SACN,wBACA,W,+DC/HpBmE,GAAoBC,aAAW,CACjCC,iBAAkB,CACd5xB,IAAK,IAETvU,OAAQ,CACJ,UAAW,CACPomC,gBAAiB,uFAGzBC,UAAW,CACP,UAAW,CACPD,gBAAiB,uFAGzBE,KAAM,CACFlhD,OAAQ,EACRsgC,OAAQ,EACRmB,gBAAiB,UACjBzS,aAAc,IAlBI8xB,CAoBvBK,MAEGC,GAA4B92C,YAAW,CACzCE,KAAM,CACFi3B,gBAAiB,OACjBloB,OAAQ,EACR/W,MAAO,OACPyK,MAAO,GACPjN,OAAQ,GACRI,QAAS,OACT4uB,aAAc,MACd4C,eAAgB,SAChBvxB,WAAY,UAEhBua,OAAQ,CACJomC,gBAAiB,yFACjB3xB,UAAW,gCAEf4xB,UAAW,CACPD,gBAAiB,4FAIzB,SAASM,GAAiBhiD,GAAQ,IAAD,EACvB2L,EAAUm2C,KACRxmC,EAAsBtb,EAAtBsb,OAAQqmC,EAAc3hD,EAAd2hD,UAEVI,EAAQ,CACVvhB,EAAG,cAAC,KAAD,IACHF,EAAG,cAAC,KAAD,IACHF,EAAG,cAAC,KAAD,IACHiF,EAAG,cAAC,KAAD,IACHM,EAAG,cAAC,KAAD,KAGP,OACI,qBACIhhC,UAAWu9C,kBAAKv2C,EAAQT,MAAT,mBACVS,EAAQ2P,OAASA,GADP,cAEV3P,EAAQg2C,UAAYA,GAFV,IADnB,SAMKI,EAAMw3C,OAAOv5F,EAAMuY,SAKhC,IAAMxN,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFyC,MAAO,QAEXa,OAAQ,CACJ1O,YAAamL,EAAMpI,QAAQ,IAE/Bs/C,aAAc,CACV19C,UAAWwG,EAAMpI,QAAQ,GACzB6/B,aAAcz3B,EAAMpI,QAAQ,QAIrB,SAAS22F,GAAyBx5F,GAC7C,IAAM2L,EAAUZ,KAChB,EAAoC44B,IAAM3hC,SAAS,GAAnD,mBAAOmhD,EAAP,KAAmBC,EAAnB,KAEA,EAAwBzf,IAAM3hC,SAAS,CAAEuhD,MAAO,GAAID,aAAa,IAAjE,mBAAOG,EAAP,KAAaC,EAAb,KAEA9/C,oBAAS,sBAAC,4BAAAM,EAAA,sDACF0/C,EAAW,CACX,CACIxjD,MAAO,UACP+B,MAAO6N,IAAWouC,kBAAkBp+C,EAAMm5F,SAASf,oBAEvD,CACIh4F,MAAO,SACP2jD,UAAW/jD,EAAMm5F,SAASvf,aAC1Bz3E,MAAO6N,IAAWouC,kBAAkBp+C,EAAMm5F,SAASb,mBAEvD,CACIl4F,MAAO,SACP+B,MAAO6N,IAAWouC,kBAAkBp+C,EAAMm5F,SAASZ,mBAEvD,CACIn4F,MAAO,cACP+B,MAAO6N,IAAWouC,kBAAkBp+C,EAAMm5F,SAASX,qBAEvD,CACIp4F,MAAO,YACP+B,MAAO6N,IAAWouC,kBAAkBp+C,EAAMm5F,SAASV,uBAI3Dr1C,EAAcpjD,EAAMm5F,SAASd,gBAC7B30C,GAAQ,SAAC7/C,GAAD,mBAAC,eAAaA,GAAd,IAAkB0/C,MAAOK,EAAUe,WAAYf,EAAS5xC,YA1B1D,2CA2BP,CAAChS,EAAMm5F,WAEV,IAiBM/tD,EAAyB,SAAC1lC,GAC5Bg+C,GAAQ,SAAC7/C,GAAD,mBAAC,eACFA,GADC,IAEJy/C,aAAa,OAEjB59C,GAAO1F,EAAM84F,oBAGXh0C,EACgB,iBAAlBrB,EAAKrG,SACC,gBACkB,mBAAlBqG,EAAKrG,SACL,kBACkB,WAAlBqG,EAAKrG,SACL,UACkB,aAAlBqG,EAAKrG,SACL,eACA,GAEV,OACI,sBAAKz4C,UAAWgH,EAAQT,KAAxB,UACI,cAACi6C,GAAA,EAAD,CAAS1D,kBAAgB,EAAC0B,WAAYA,EAAYiC,UAAW,cAAC,GAAD,IAA7D,SACK3B,EAAKF,MAAMh6C,KAAI,SAAC6kB,EAAGsP,GAAJ,OACZ,cAAC6nB,GAAA,EAAD,UACI,cAACC,GAAA,EAAD,CAAWC,kBAAmBzD,GAAkBxgD,QAAS2hD,IAAezlB,EAAI,kBAzC1ElxB,EAyC6F4hB,EAAEhuB,WAxCjHsjD,GAAQ,SAAC7/C,GAAD,mBAAC,eACFA,GADC,IAEJy/C,aAAa,EACblG,SACc,WAAV5wC,EACM,eACU,cAAVA,EACA,iBACU,WAAVA,EACA,SACU,gBAAVA,EACA,WACA,QAbG,IAACA,GAyCwG,GAA1G,SACI,sBAAK7H,UAAS,UAAKw+C,IAAezlB,EAAI,GAAK,yBAA3C,UACI,8BAAMtP,EAAE21B,UAAF,UAAiB31B,EAAE21B,WAAc31B,EAAEhuB,QACzC,cAAC+M,GAAA,EAAD,CAAYhK,QAAQ,UAAUrC,QAAQ,QAAtC,SACKstB,EAAEjsB,cALRisB,EAAEhuB,YAYpBqjD,EAAKH,YACF,cAACnjD,GAAA,EAAD,CAAYC,MAAO0kD,EAA8BvkD,QAAS,kBAAM6qC,GAAuB,IAAQ5qC,SAAS,KAAK4C,WAAS,EAAtH,SACI,cAAC,GAAD,CACI+1F,SAAUn5F,EAAMm5F,SAChBpB,SAAU/3F,EAAMm5F,SAASpB,SACzB36C,SAAUqG,EAAKrG,SACf78C,QAAS6qC,MAGjB,QCtLhB,IAAMrgC,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCwuF,eAAgB,CACZ32F,QAAS,MACT4/B,aAAc,MACd,4BAA6B,CACzB5/B,QAAS,YAGjB42F,kBAAmB,CACf52F,QAAS,MACT4/B,aAAc,MACdhiC,OAAQ,aAIVwpD,GAAgB,SAAAlqD,GAClB,OAAO,sBAAK2E,UAAU,cAAf,UACH,qBAAKA,UAAU,MAAM3D,MAAO,CAAEqZ,SAAU,GAAI8vC,UAAW,UAAvD,SAAoEnqD,EAAMoqD,KAAK20B,QAC/E,sBAAKp6E,UAAU,SAAS3D,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,SAA9F,UACKza,EAAMoqD,KAAKC,UADhB,MAC8BxwC,KAAO7Z,EAAMoqD,KAAKuvC,sBAAsB7/E,OAAO,cAuB/E8/E,IAda5pF,IAAWE,cAcN,SAAClQ,GAAW,IAAD,EACzB2L,EAAUZ,KAEhB,EAA4GpJ,qBAAW21F,IAA/G7zF,EAAR,EAAQA,MAAOoO,EAAf,EAAeA,YAAa0vD,EAA5B,EAA4BA,WAAYq3B,EAAxC,EAAwCA,gBAAiBZ,EAAzD,EAAyDA,eAAgBpqE,EAAzE,EAAyEA,aAAckrE,EAAvF,EAAuFA,iBAEvF,OACI,gCACI,eAACn2F,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAE8B,QAAS,OAA9C,UACI,cAACH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACw2F,GAAD,CAA0BL,SAAU11F,EAAOq1F,iBAAkBA,MAEjE,eAACn2F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAA/B,UACI,eAACpuB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqV,QAAQ,gBAAgBrX,MAAO,CAAEq9C,WAAY,OAAS15C,UAAU,uBAA7F,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,eAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,2BAEI,sBAAMlC,MAAO,CAAEC,SAAU,WAAY4uB,IAAK,OAAQ7V,KAAM,OAAxD,SACI,cAAC,KAAD,CACIlG,SAAUrQ,EAAMs0F,SAChB9jF,uBAAuB,UACvBF,UAAWtQ,EAAMsQ,UACjB6B,WAAYkjF,WAK5B,cAACn2F,EAAA,EAAD,CAAMI,MAAI,EAAV,SACMU,EAAMmiE,SAQJ,qCACI,cAAC,IAAD,CACIrtD,KAAMshF,KACNrtF,MAAM,SACNhL,QAAS,kBAAMosB,EAAa,SAC5B5sB,MAAO,CAAE0X,WAAY,OAAQhY,OAAQ,OAAQZ,YAAa,MAE9D,cAAC,IAAD,CACIyY,KAAMwtB,KACNv5B,MAAM,SACNhL,QAASw2F,EACTh3F,MAAO,CAAE0X,WAAY,OAAQhY,OAAQ,OAAQZ,YAAa,SAlBlE,cAAC,IAAD,CACIyY,KAAM2uD,KACN16D,MAAM,OACNhL,QAASw2F,EACTh3F,MAAO,CAAE0X,WAAY,OAAQhY,OAAQ,OAAQZ,YAAa,WAoB1E,eAAC6C,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,UACI,eAACL,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,uBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAWgH,EAAQ8tF,eAArC,UACI,cAACt1F,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACCX,EAAMmiE,SACH,cAAC,IAAD,CAAan5D,SAAUoF,EAAajI,KAAK,eAAezH,MAAOsB,EAAMi0F,aAAcnrF,WAAW,IAE9F,cAACY,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMi0F,kBAG5C,eAAC/0F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAWgH,EAAQ8tF,eAArC,UACI,cAACt1F,EAAA,EAAD,CAAYC,QAAM,EAAlB,yBACCX,EAAMmiE,SACH,cAAC,IAAD,CAAYn5D,SAAUoF,EAAajI,KAAK,aAAazH,MAAOsB,EAAMk0F,aAElE,cAACxqF,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAWgqD,kBAAkBv2D,EAAMk0F,iBAGzE,eAACh1F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAWgH,EAAQ8tF,eAArC,UACI,cAACt1F,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACCX,EAAMmiE,SACH,cAAC,IAAD,CAAYn5D,SAAUoF,EAAajI,KAAK,mBAAmBzH,MAAOsB,EAAMo0F,mBAExE,cAAC1qF,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAWgqD,kBAAkBv2D,EAAMo0F,0BAI7E,cAACl1F,EAAA,EAAD,CACIC,WAAS,EACTG,MAAI,EACJ4B,UAAU,wBAHd,SAMI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAWgH,EAAQ+tF,kBAAtC,UACI,cAACv1F,EAAA,EAAD,CAAYC,QAAM,EAAlB,yBACCX,EAAMmiE,SACH,cAAC,IAAD,CAAWzzC,WAAS,EAACzQ,KAAM,GAAIjV,SAAUoF,EAAajI,KAAK,oBAAoBzH,MAAOsB,EAAMm0F,oBAE5F,cAACzqF,GAAA,EAAD,CAAYhK,QAAQ,QAAQnC,MAAO,CAAEuhC,WAAY,YAAjD,SACK9+B,EAAMm0F,+BAQ/B,cAACj1F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAA/B,SACI,eAACpuB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqV,QAAQ,gBACjCrX,MAAO,CAAEq9C,WAAY,MAAOy7C,aAAc,QAASC,aAAc,MAAOC,aAAc,0BAD1F,UAEI,cAACr3F,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAO,CAAEswB,YAAa,OAAjE,2BAIJ,cAAC3uB,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEq9C,WAAY,EAAG2S,cAAe,EAAGM,aAAc,GAAnE,SAEQ,cAAC,IAAD,CACI/4C,KAAMC,KACNhM,MAAM,UACNhL,QAAS+/D,EACTvgE,MAAO,CAAE0X,WAAY,OAAQhY,OAAQ,OAAQZ,YAAa,QAItE,cAAC6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE8B,QAAS,MAAO4vB,UAAW,SAAW/tB,UAAU,aAA5E,mBAUKlB,EAAMo1F,eAVX,aAUK,EAAetvF,KAAI,SAAC8zB,EAAGK,GAAJ,OAChB,qCACI,cAAC,GAAD,CAAuB0sB,KAAM/sB,GAATK,GACpB,oBAAI18B,MAAO,CAAE0pD,QAAS,yBAQ7CjnD,EAAMg0F,SACH,cAACt3F,GAAA,EAAD,CAAYC,MAAK,mBAAcJ,EAAMi6F,YAApB,KAAoC15F,QAASghE,EAAY/gE,SAAS,KAAnF,SACI,eAACmC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,iBAGA,cAAC,IAAD,CACIoH,SAAUoF,EACVsgB,WAAS,EACTzQ,KAAM,EACN9X,KAAK,iBACLzH,MAAOsB,EAAMi1F,eACbnsF,WAAW,EACXgG,YAAY,cAEhB,cAACnN,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM4B,MAAMqzF,oBAEvC,cAAC/1F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASo3F,EAA1B,uBAEJ,cAACj2F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAAS+/D,EAA1B,4BAIZ,UAYD5vC,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAqBA,QC7N3B6a,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IACxC,CAAES,IAAK,aAAcxE,KAAM,cAAe+K,UAAW3E,IAAWE,cAAevC,MAAO,KACtF,CAAES,IAAK,eAAgBxE,KAAM,gBAAiB+D,MAAO,KACrD,CAAES,IAAK,mBAAoBxE,KAAM,cAAe+K,UAAW3E,IAAWE,cAAevC,MAAO,KAC5F,CACIS,IAAK,oBACLxE,KAAM,eAEV,CAAEwE,IAAK,eAAgBxE,KAAM,SAAU+D,MAAO,MA6FnCusF,GA1FQ,SAACl6F,GACpB,MAA0BgC,mBAAS,CAC/Bm4F,YAAY,IADhB,mBAAO12F,EAAP,KAAcxB,EAAd,KAIA2B,oBAAS,sBAAC,sBAAAM,EAAA,0FAEP,IACH,IAAI2sB,EAAkB9sB,IAAW+sB,gBAE3Bs2D,EAAc,uCAAG,sBAAAljF,EAAA,sDACnBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHC,2CAAH,qDAOd+I,EAAe,SAAC5W,EAAMqO,GACxB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CACIjZ,QAAS,kBACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELo0F,SAAUvjF,EAAIqjF,SACdvxB,aAAa,QAGrB7tD,aAAa,mBAMvBpY,EAAU,SAACu3F,EAAYC,GACzB91F,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELs2F,YAAY,EACZ3zB,YAA4B,QAAfsxB,EACbG,SAAUF,OAEd3Q,KAUE7zE,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYsI,GAEnBnB,IACR,IAECs+E,EAAO,4BAAwBp6F,EAAM0sC,WACzC,OACI,gCACKjpC,EAAM02F,WACH,cAACh6F,GAAA,EAAD,CAAYC,MAAK,sBAAiBJ,EAAMi6F,YAAvB,KAAuC15F,QAASA,EAASC,SAAS,KAAnF,SACI,cAAC,GAAD,CAAWD,QAASA,EAASmsC,UAAW1sC,EAAM0sC,cAElD,KAEHjpC,EAAM+iE,YAEH,cAAC,GAAD,CAAiBjmE,QAASA,EAAS03F,SAAUx0F,EAAMw0F,SAAUgC,YAAaj6F,EAAMi6F,cAGhF,cAAC,GAAD,CACI1mF,QAASA,EACT6D,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB5D,SAAQ,WAAoB,OAAfuY,QAAe,IAAfA,OAAA,EAAAA,EAAiBmoE,yBAA0B,aAAe,IACvEvgF,WArCE,WACdxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELs2F,YAAY,QAmCJjkF,SAAUzS,EAAMyS,SAChBC,OAAQikF,QC/FxBC,GAAQ,CACR,CAAEzwF,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,IAc1BT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIiH,qBAAqB,GACjE,CAAExG,IAAK,MAAOxE,KAAM,UACpB,CAAEwE,IAAK,QAASxE,KAAM,eAAgB+K,UAAW3E,IAAWE,eAC5D,CAAE9B,IAAK,KAAMxE,KAAM,WAAY+K,UAAW3E,IAAWE,eACrD,CAAE9B,IAAK,QAASxE,KAAM,QAAS+K,UAAW3E,IAAW2wE,gBAAiBvzE,MAAO,SAC7E,CAAEgB,IAAK,IAAKxE,KAAM,aA0FP0wF,GAvFY,SAACt6F,GACxB,MAA0BgC,mBAAS,CAC/BwZ,aAAa,EACb+wE,UAAW,KACX7/C,UAAW1sC,EAAM0sC,WAAa,KAC9ByZ,eAAgBnmD,EAAMmmD,gBAAkB,KACxCjwC,SAAU,OALd,mBAAOzS,EAAP,KAAcxB,EAAd,KAQMmZ,GADapN,eAAe2lC,UAAUh8B,SAAS,YA7BvC,SAAC4iF,GACf,IAAI95E,EAAS,UAAO45E,IAQpB,MAPa,MAATE,EACA95E,EAAUib,OAAO,EAAG,EAAG,CAAE9xB,KAAM,aAAc0R,QAAQ,IACrC,MAATi/E,EACP95E,EAAUib,OAAO,EAAG,EAAG,CAAE9xB,KAAM,eAAgB0R,QAAQ,IAEvDmF,EAAUib,OAAO,EAAG,EAAG,CAAE9xB,KAAM,OAAQ0R,QAAQ,IAE5CmF,EAqBQ+5E,CAAUx6F,EAAM+uF,aACzBlgF,EAAU8b,eAEhB/mB,oBAAS,sBAAC,4BAAAM,EAAA,sDAGFiS,EADmB,QAAnBnW,EAAMo9C,SACA,uCAAmCp9C,EAAMomD,MAAN,iBAAwBpmD,EAAMomD,OAAU,IAE7EpmD,EAAM0sC,UACA,uCAAmC1sC,EAAM0sC,UAAN,qBAAgC1sC,EAAM0sC,WAAc,IAEvF,+CAA2C1sC,EAAM+uF,YAG/D9sF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELsS,OAAQA,OAbN,2CAeP,IAEH,IAOM8G,EAAe,SAAC5W,EAAMqO,GACxB,OACI,qBAAK/P,UAAU,qBAAf,SACI,cAAC,IAAD,CAAYnD,QAAS,kBAAMytF,EAAoBv6E,IAAMiE,aAAa,oBAKxEpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAUvC,OATIgH,IACAA,EAAUT,UAAYsI,GAErBjd,EAAM0sC,YAAa1sC,EAAMomD,OAC1BtqC,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,QAASxE,KAAM,SAAU+D,MAAO,QAEzC,KAApB3N,EAAM+uF,YACNjzE,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,KAAMxE,KAAM,YAAa+K,UAAW3E,IAAWE,gBAEzE4L,IACR,IAEGmzE,EAAsB,SAACljF,GACzB8C,EAAQC,KAAK,CACTwkB,SAAS,yBAAD,OAA2BvnB,EAAIwgF,WACvC18E,OAAQ,MAGhB,OACI,qBAAKlL,UAA8B,QAAnB3E,EAAMo9C,UAAsBp9C,EAAM0sC,UAAY,GAAK,SAAnE,SACI,sCACM1sC,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,IACzCpb,EAAMomD,OAAS,cAAC,GAAD,CAAWi1B,cAAer7E,EAAMomD,MAAOo1B,cAAe/3E,EAAM+3E,cAAe9uC,UAAW1sC,EAAM0sC,YAC5G,cAAC,GAAD,CACIt1B,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAAK1S,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBrV,MAAOqV,EAAEkpE,IAAMlpE,EAAEmpE,SAC5Dx+E,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQ1S,EAAM0S,OACdjB,YAAY,YACZjB,uBAAuB,eACvBiC,SAAUzS,EAAMyS,SAChBiN,OAA2B,QAAnBnjB,EAAMo9C,SAAqB,IAAM,YCnF9C,SAASu9C,GAAY36F,GAAQ,IAAD,EACnC6wB,EAAkB9sB,IAAW+sB,gBAE3B4iB,EADgB1lC,eAAd2lC,UACqBh8B,SAAS,YAChCtW,EAAKrB,EAAM2P,MAAMC,OAAOvO,GAG9B,GAFuBrB,EAAM2P,MAAMC,OAAOqpD,eAEPtuD,MAA3Ba,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,WAEpB,EAAgCzJ,wBAASsC,GAAzC,mBAAOs2F,EAAP,KAAiBC,EAAjB,KACA,EAA0B74F,mBAAS,CAC/Bm+D,KAAM,GACNvoB,MAAO,KACPt3B,QAAQ,EACR0sB,UAAW,GACXe,6BAA8B,KAC9BykD,kBAAmB,OANvB,mBAAO/uF,EAAP,KAAcxB,EAAd,KAeM6+D,EAAW,uCAAG,8BAAA58D,EAAA,6DAChBsH,IADgB,SAEAsgC,GAAazqC,GAFb,QAEZqE,EAFY,QAGRoE,SACAzD,EAAOX,EAAIW,KAAK2G,QAAQ,GAC5B/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELs8D,KAAI,OAAE95D,QAAF,IAAEA,OAAF,EAAEA,EAAM6uC,mBACZ0C,MAAK,OAAEvxC,QAAF,IAAEA,OAAF,EAAEA,EAAMyvC,aACbx1B,QAAQ,EACRkyE,kBAAmBnsF,EAAKmsF,kBACxBxlD,UAAS,OAAE3mC,QAAF,IAAEA,OAAF,EAAEA,EAAM6uC,mBAAmB4lD,MAAM,KAAK,GAAGjwD,OAClDkD,6BAA4B,OAAE1nC,QAAF,IAAEA,OAAF,EAAEA,EAAM0nC,kCAExCtiC,KAEAA,IAhBY,2CAAH,qDAoBXkmD,EAAgB,SAACC,EAAMhoD,GACzB3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqsD,cAAc,OACzC0B,GAAQkP,KAONi6B,EAAI,CACN,CACIvuF,MAAO,YACPyqD,KAAM,cAAC,GAAD,CAAkBvqB,UAAWrrC,EAAI64D,YAvCxB,SAAC5V,GACpB,IACIjnB,GADI,IAAInpB,MACF8mF,UACV/4F,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBo3F,eAAgB59D,OAC3Cw9D,EAAYv2C,IAmC4Dwc,YAAaA,EAAalpB,MAAOn0C,EAAMm0C,MAAOulB,YAAa15D,EAAM08D,QAEzI,CACI3zD,MAAO,aACPyqD,KAAM,cAAC,GAAD,CAAoBhR,SAAS,WAAWvZ,UAAWrrC,EAAImuF,SAAS,KAE1E,CACIhjF,MAAO,UACPyqD,KAAM,cAAC,GAAD,CAAcvqB,UAAWrrC,EAAI4kD,SAAS,WAAWupC,SAAS,EAAM1uB,YAAaA,KAEvF,CACIt0D,MAAO,MACPyqD,KAAM,cAAC,GAAD,CAAWvqB,UAAWrrC,EAAI4kD,SAAS,WAAWupC,SAAS,KAEjE,CACIhjF,MAAO,WACPyqD,KAAM,cAAC,GAAD,CAAkBmlB,kBAAmB/6E,EAAImuF,SAAS,EAAMv2B,eAAgBx1D,EAAMsqC,gCAExF,CACIvhC,MAAO,YACPyqD,KAAM,cAAC,GAAD,CAAmBmlB,kBAAmB/6E,EAAImuF,SAAS,EAAMv2B,eAAgBx1D,EAAMsqC,6BAA8BovB,YAAa15D,EAAM08D,QAO1I,CACI3zD,MAAO,OACPyqD,KACI,mCACI,cAAC,GAAD,CAAWvqB,UAAWrrC,EAAI4kD,SAAS,OAAOupC,SAAS,QAlCzD,qBAsCa,OAAf3+D,QAAe,IAAfA,OAAA,EAAAA,EAAiBqqE,iBAAjB,uBAEWxnD,EAOC,GANA,CACI,CACIlnC,MAAO,oBACPyqD,KAAM,cAAC,GAAD,CAAevqB,UAAWrrC,EAAI8kD,eAAgB1iD,EAAMsqC,kCAN9E,CAUM,CACIvhC,MAAO,iBACPyqD,KAAM,cAAC,GAAD,CAAoBvqB,UAAWrrC,EAAI8kD,eAAgB1iD,EAAMsqC,kCAGvE,IArDA,CAsDN,CAAEvhC,MAAO,UAAWyqD,KAAM,cAAC,GAAD,CAAYvqB,UAAWrrC,MAtD3C,cAuDa,OAAfwvB,QAAe,IAAfA,OAAA,EAAAA,EAAiB0gC,cACf,CACI,CACI/kD,MAAO,QACPyqD,KAAM,cAAC,GAAD,CAAehR,SAAS,WAAWmC,cAAe/mD,MAGhE,IA9DA,CA+DN,CACImL,MAAO,WACPyqD,KAAM,cAAC,GAAD,CAAiBvqB,UAAWrrC,EAAI4kD,SAAS,cAGnD,CACIz5C,MAAO,SACPyqD,KAAM,cAAC,GAAD,CAAuBvqB,UAAWrrC,EAAI4kD,SAAS,SAASupC,SAAS,KAE3E,CACIhjF,MAAO,UACPyqD,KAAM,cAACkkC,GAAD,CAAgBzuD,UAAWrrC,EAAI4kD,SAAS,SAASupC,SAAS,EAAMyK,YAAax2F,EAAM08D,QAE7F,CAAE3zD,MAAO,OAAQyqD,KAAM,cAAC,GAAD,CAAuBvqB,UAAWrrC,KACzD,CACImL,MAAO,WACPyqD,KAAM,cAAC,GAAD,CAAgBvqB,UAAWrrC,EAAI4kD,SAAS,UAAUupC,SAAS,KAErE,CACIhjF,MAAO,WACPyqD,KAAM,cAACmkC,GAAD,CAAc1uD,UAAWrrC,EAAI4kD,SAAS,WAAWusC,kBAAmB/uF,EAAM+uF,kBAAmBhD,SAAS,EAAM1uB,YAAaA,OA6CvI,OAJAl9D,oBAAS,sBAAC,sBAAAM,EAAA,sDACN48D,IADM,2CAEP,CAACz/D,IAGA,sBAAKsD,UAAU,SAAf,UACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAApB,UAA0B,UAAAM,EAAM08D,YAAN,eAAYjoB,gBAAiB,OAE1Dz0C,EAAMm0C,OACH,cAACj1C,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CAAYG,MAAM,YAAYyB,UAAU,QAAQ4T,KAAMmsB,KAAWl4B,MAAM,MAAMhL,QA5I1E,WACnBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqsD,cAAc,eAgJrC,cAAC,IAAD,CAASmrC,QAvDH,WACV,IAAIC,EAAO,aAAOP,GAClB,KAAI,OAAClqE,QAAD,IAACA,OAAD,EAACA,EAAiB0qE,mBAAmB,CACrC,IAAIj3C,EAAQg3C,EAAQz9D,WAAU,SAACtM,GAAD,MAAmB,eAAZA,EAAE/kB,SACvC8uF,EAAQ5/D,OAAO4oB,EAAO,GAE1B,KAAI,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiB2qE,gBAAgB,CAClC,IAAIl3C,EAAQg3C,EAAQz9D,WAAU,SAACtM,GAAD,MAAmB,YAAZA,EAAE/kB,SACvC8uF,EAAQ5/D,OAAO4oB,EAAO,GAE1B,KAAI,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiB4qE,oBAAoB,CACtC,IAAIn3C,EAAQg3C,EAAQz9D,WAAU,SAACtM,GAAD,MAAmB,WAAZA,EAAE/kB,SACvC8uF,EAAQ5/D,OAAO4oB,EAAO,GAE1B,KAAI,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiBguD,kBAAkB,CACpC,IAAIv6B,EAAQg3C,EAAQz9D,WAAU,SAACtM,GAAD,MAAmB,cAAZA,EAAE/kB,SACvC8uF,EAAQ5/D,OAAO4oB,EAAO,GAE1B,KAAI,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiBm0B,aAAa,CAC/B,IAAIV,EAAQg3C,EAAQz9D,WAAU,SAACtM,GAAD,MAAmB,SAAZA,EAAE/kB,SACvC8uF,EAAQ5/D,OAAO4oB,EAAO,GAE1B,KAAI,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiB6qE,iBAAiB,CACnC,IAAIp3C,EAAQg3C,EAAQz9D,WAAU,SAACtM,GAAD,MAAmB,aAAZA,EAAE/kB,SACvC8uF,EAAQ5/D,OAAO4oB,EAAO,GAE1B,KAAI,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiB8qE,sBAAsB,CACxC,IAAIr3C,EAAQg3C,EAAQz9D,WAAU,SAACtM,GAAD,MAAmB,mBAAZA,EAAE/kB,SACvC8uF,EAAQ5/D,OAAO4oB,EAAO,GAE1B,KAAI,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiB+qE,YAAY,CAC9B,IAAIt3C,EAAQg3C,EAAQz9D,WAAU,SAACtM,GAAD,MAAmB,QAAZA,EAAE/kB,SACvC8uF,EAAQ5/D,OAAO4oB,EAAO,GAG1B,OAAOg3C,EAoBeA,GAAWj6F,GAAG,eAAew6F,cAAejB,EAAUK,eAAgBx3F,EAAMw3F,iBAC7Fx3F,EAAMysD,aACH,cAAC/vD,GAAA,EAAD,CACIC,MAAK,UAAKqD,EAAMm0C,MAAQ,SAAW,MAA9B,kBAA6Cn0C,EAAMupC,WACxDzsC,QAAS,kBAAMoxD,GAAc,IAC7BnxD,SAAS,KACTC,SAAS,OAJb,SAMI,cAAC,GAAD,CAAQisC,UAAWrrC,EAAIqrD,OAAQjpD,EAAMm0C,MAAO9B,aAAcryC,EAAMm0C,MAAOr3C,QAASoxD,MAEpF,QCxNhB,IAAM7+B,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,GAEPiH,qBAAqB,GAEzB,CAAExG,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,IACtD,CAAES,IAAK,mBAAoBxE,KAAM,sBAAuB+D,MAAO,KAC/D,CACIS,IAAK,4BACLxE,KAAM,cACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,IAEX,CACIS,IAAK,mBACLxE,KAAM,aACN+K,UAAW3E,IAAWguE,iBACtBrwE,MAAO,IAEX,CACIS,IAAK,gBACLxE,KAAM,UACN+K,UAAW3E,IAAWguE,iBACtBrwE,MAAO,IAEX,CAAES,IAAK,UAAWxE,KAAM,UAAW+D,MAAO,IAC1C,CAAES,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IACxC,CAAES,IAAK,sBAAuBxE,KAAM,YACpC,CAAEwE,IAAK,YAAaxE,KAAM,SAC1B,CAAEwE,IAAK,UAAWxE,KAAM,aAGtBs/D,GAAa,CACf,CAAEt/D,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAYyR,KAAM,4BAA6BC,QAAQ,IAmOpDwgF,GAhOO,SAAC97F,GACnB,IAAI6wB,EAAkB9sB,IAAW+sB,gBAEjC,GAD2BrvB,eAAnB6J,eACkBtJ,mBAAS,CAC/BgxB,MAAM,EACN+oE,eAAe,EACfvwF,YAAY,EACZwwF,YAAa,GACbtvD,UAAW,KACXx2B,SAAU,KAEV+lF,cAAc,KARlB,mBAAOx4F,EAAP,KAAcxB,EAAd,KAWI4M,EAAU8b,eAERuxE,EAAyB,uCAAG,sBAAAh4F,EAAA,sDAC9BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHY,2CAAH,qDAO/BtQ,oBAAS,sBAAC,gCAAAM,EAAA,sDACFoT,EAAMtX,EAAMgP,SAASskB,SACrB6oE,EAAW7kF,EAAI8kF,YAAY,KAAO,EAClC9wD,EAAW,GAEXA,EADkB,MAAlBh0B,EAAI6kF,SAAuC73F,IAAlBgT,EAAI6kF,IAA6C,OAAlB7kF,EAAI6kF,GACjD,GAEA7kF,EAAI6kF,GAEnBl6F,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELynC,SAAUA,OAXR,2CAaP,CAACtrC,EAAMgP,SAASskB,WAEnB,IA+BMM,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMmoE,EAAmBj1D,IAAM1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAI8B,mBAIb,OADAT,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI+B,sBAIb,OADAV,IAASC,OAAOgF,EAAKF,GACdA,GAGLmmE,EAAkB,SAAC,EAAc7qE,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,mBAAmB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAlH,SACKhE,EAAIgC,YAIb,OADAX,IAASC,OAAOgF,EAAKF,GACdA,GAGL6uD,EAAqB,SAAC59D,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIvF,WACzCqJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,cAI1B8f,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNizB,mBAAmB,EACnB49B,gBAAgB,QAIlBr+B,EAAgB,SAAChyB,EAAI0K,GACvB,OACI,cAACpJ,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CAAY4V,aAAa,eAAenX,QAAS,kBArErC,SAACuK,GACrB/L,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,2BAAD,OAA6BvnB,EAAIvF,WACzCqJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAiEmCwf,CAAgBxnB,SAK7EwH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAC/C8lB,EAAkBpY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,wBAAhBA,EAAQ3N,OACrD8yE,EAAeplE,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAClDiuF,EAAevgF,EAAStI,MAAK,SAACuI,GAAD,MAA6B,qBAAhBA,EAAQ3N,OAatD,OAZIiuF,IACAA,EAAa1nF,UAAY+0D,GAEzBt0D,IACAA,EAAUT,UAAY0e,GAEtBa,IACAA,EAAgBvf,UAAY+e,GAE5BwtD,IACAA,EAAavsE,UAAYssE,GAEtBnlE,IACR,IAEGV,EAASS,mBAAQ,WACnB,IAAMygF,EAAS,UAAOpzB,IAClB5xD,EAAMtX,EAAMgP,SAASskB,SACrB6oE,EAAW7kF,EAAI8kF,YAAY,KAAO,EAOtC,MANsB,MAAlB9kF,EAAI6kF,IACJG,EAAUxtF,KAAK,CAAElF,KAAM,YAEL,MAAlB0N,EAAI6kF,IACJG,EAAUxtF,KAAK,CAAElF,KAAM,cAEpB0yF,IACR,CAACt8F,EAAMgP,SAASskB,WAEL7vB,EAAMipC,UAWpB,OACI,sBAAK/nC,UAAU,SAAf,UACKlB,EAAMuvB,KACH,cAAC,GAAD,CAAgB0Z,UAAWjpC,EAAMipC,UAAW7e,aAAc,kBAzI3CnoB,GAyImE,EAxI1FzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,YAEVttB,GAAOw2F,KALe,IAACx2F,GAyI0E62F,WAjI5E,WACrBt6F,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,UAgIF,qCACI,sBAAKhyB,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,UACI,cAAC,IAAD,CAAalX,OAAQA,IAErB,sBAAKpa,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,gBAA/C,UACI,sBAAMtxB,MAAO,CAAEyD,UAAW,OAA1B,sBACA,cAACwlF,GAAA,EAAD,CAAQ92E,QAAS1P,EAAMw4F,aAAcxvF,SApBxC,SAACX,GAClB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QAEdlR,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJ+F,EAAOuJ,QAeqEhR,MAAM,eAAeyH,KAAK,iBACvF,sBAAM5I,MAAO,CAAEyD,UAAW,OAA1B,0BAGR,cAAC,GAAD,CACI8O,QAASA,EACT4C,OAAM,wBAAmB1S,EAAM6nC,SAAzB,mBAA4C7nC,EAAMw4F,cACxD/mF,YAAY,YACZjB,uBAAuB,gBACvBmD,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBuC,WAvKF,SAACW,GACfnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN0Z,UAAS,OAAEtzB,QAAF,IAAEA,OAAF,EAAEA,EAAQ5S,gBAoKP8R,SAAQ,WAAoB,OAAfuY,QAAe,IAAfA,OAAA,EAAAA,EAAiBwpB,mBAAoB,cAAgB,SAI7E52C,EAAMs4F,cAAgB,cAACpB,GAAD,IAAkB,KACxCl3F,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgB6kB,kBAAmB3qB,aAAcgG,MAExF,KACHpwB,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMkwB,gBAAgBqgB,eAAgBnmB,aAAcgG,MAElF,SC5NDmV,GAtDa,SAAChpC,GAC3B,MAA0BgC,mBAAS,CAAEX,GAAI,KAAMc,MAAO,GAAIqmC,SAAS,IAAnE,mBAAO/kC,EAAP,KAAcxB,EAAd,KACA,EAAoEjC,EAAMqG,KAAKstB,gBAAvE6oE,EAAR,EAAQA,uBAAwBC,EAAhC,EAAgCA,gCAChC74F,qBAAU,WACH5D,EAAMqG,KAAKsiC,OACd1mC,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEPxC,GAAIm7F,EACJr6F,MAAOs6F,SAGV,IAkBH,OACE,mCACE,eAAC95F,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACE,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,cACXC,YAAY,cACZyO,aAAY,OAAEy7E,QAAF,IAAEA,IAAmC,GACjDhwF,SAAU,SAACkG,GACT1Q,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEP1B,MAAOwQ,EAAM3G,OAAO7J,MACpBqmC,SAAS,QAGb53B,OAAQnN,EAAM+kC,QAAU,yBAA2B,SAGvD,cAAC7lC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QA9BN,WALb,QAAQyQ,KAAKxO,EAAMtB,QAOrBnC,EAAMmpC,SAAS1lC,GACfzD,EAAMO,WAEN0B,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEP2kC,SAAS,QAuBP,SAAuCxoC,EAAMqG,KAAKsiC,MAAQ,MAAQ,mBC7C/D+zD,GAAuB,uCAAG,WAAOr2F,GAAP,eAAAnC,EAAA,sEACnBsB,aAAa,wBAAyBa,GADnB,cAC/BX,EAD+B,yBAE5BA,GAF4B,2CAAH,sDCG9B0V,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,OAAQ0R,QAAQ,GACxB,CAAE1R,KAAM,4BAA6B0R,QAAQ,IAE3CT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,kCAAmCxE,KAAM,gBAuGrC8/B,GArGY,WACvB,MAA0B1nC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,KAHrB,mBAAOlwB,EAAP,KAAcxB,EAAd,KAKA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,IAEH,IAAMA,EAAW,uCAAG,sBAAA1d,EAAA,sDAChBjC,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELyS,SAAU,IAAIhC,UAHF,2CAAH,qDAMXyH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,qBACI1T,MAAO,CACHyZ,UAAW,UAFnB,SAKI,cAAC,IAAD,CACI9B,aAAa,+BACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,+BACPuzB,gBAAiBjf,EACjBi0B,OAAO,aAOzBp1B,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAEGqtB,EAAQ,uCAAG,WAAOJ,GAAP,eAAA7kC,EAAA,sEACQw4F,GAAwB,CACzCF,uBAAwBzzD,EAAQ1nC,IAAM,KACtCo7F,gCAAiC1zD,EAAQ5mC,QAHhC,QACTgV,EADS,QAMTA,EAASrN,QACHyB,EAAiB9H,EAAMklC,MAAQ,6CAA+C,gDAC9Er9B,EAAe6L,EAAShL,SAAW,wBAEzCb,EAAe,wBAEnBsW,IAZa,2CAAH,sDAuBRiS,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,QAGd,OACI,sBAAK8D,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAO,wBACPiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,8BACTG,WA3BU,WAClBxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,8BACPuoC,OAAO,EACPhV,gBAAiB,WAuBhBlwB,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYU,KAAM4C,EAAM5C,KAAMN,QAASszB,EAAazzB,MAAOqD,EAAMrD,MAAOI,SAAS,KAAjF,SACI,cAAC,GAAD,CAAW6F,KAAM5C,EAAOlD,QAASszB,EAAasV,SAAUA,MAE5D,SCdDwzD,GAjGc,SAAC38F,GAC5B,MAA0BgC,mBAAS,CACjC46F,aAAc,GACdC,uBAAwB,KAF1B,mBAAOp5F,EAAP,KAAcxB,EAAd,KAIA,EAA4BD,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KAEAt1D,qBAAU,WACR,IAAK5D,EAAMqG,KAAKsiC,MAAO,CACrB,IAAI0b,EAAOrkD,EAAMqG,KAAKstB,gBACtB1xB,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEPi5F,WAAYz4C,EAAKy4C,WACjBF,aAAcv4C,EAAKu4C,aACnBC,uBAAwBx4C,EAAKw4C,uBAC7BE,cAAe14C,EAAK04C,cACpBC,cAAe34C,EAAK24C,sBAGvB,IACH,IAyBMtjC,EAAe,SAACl7C,GACpB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,kBAENwgD,EAAKz6C,KAAqB,aAAdy6C,EAAK33C,KAAsB23C,EAAKlxC,QAAUkxC,EAAKliD,WAE9D+2D,EAAU,KAQZ,OACE,mCACE,eAACv2D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACE,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,OACX1I,KAAK,eACL2I,YAAY,WACZyO,aAAchhB,EAAMqG,KAAKstB,gBAAgBipE,cAAgB,GACzDnwF,SAAUitD,EACV9oD,OAAQA,EAAOgsF,aAAe,yBAA2B,SAG7D,cAACj6F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,mBACX5F,KAAK,SACL9C,KAAK,yBACL2I,YAAY,uBACZyO,aAAchhB,EAAMqG,KAAKstB,gBAAgBkpE,uBACzC3yE,WA1Bc,SAACvX,GACnB,SAASV,KAAKU,EAAMvE,MACtBuE,EAAMwX,kBAyBA1d,SAAUitD,EACV9oD,OAAQA,EAAOqsF,wBAA0B,mCAAqCrsF,EAAOisF,uBAAyB,yBAA2B,SAG7I,cAACl6F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACE,cAAC,IAAD,CAAmByJ,SAAUitD,EAAcvmD,QAAS1P,EAAMs5F,gBAAiB,EAAOnzF,KAAK,gBAAgB4C,MAAM,uBAE/G,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACE,cAAC,IAAD,CAAmByJ,SAAUitD,EAAcvmD,QAAS1P,EAAMu5F,gBAAiB,EAAOpzF,KAAK,gBAAgB4C,MAAM,uBAE/G,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QApDN,YAnBF,WACf,IAAI+3D,GAAW,EACXC,EAAM,GAEL,QAAQvnD,KAAKxO,EAAMm5F,gBACtBpjC,EAAIojC,cAAe,EACnBrjC,GAAW,GAEb,IAAIlV,EAAO5gD,EAAMo5F,uBASjB,MARK,QAAQ5qF,KAAKoyC,IAGNA,EAAO,IACjBmV,EAAIyjC,yBAA0B,EAC9B1jC,GAAW,IAJXC,EAAIqjC,wBAAyB,EAC7BtjC,GAAW,GAKbL,EAAUM,GACHD,GAGHD,KACFt5D,EAAMmpC,SAAS1lC,GACfzD,EAAMO,YAiDF,SAAuCP,EAAMqG,KAAKsiC,MAAQ,MAAQ,mBCxF/Du0D,GAAa,uCAAG,WAAO72F,GAAP,eAAAnC,EAAA,sEACTsB,aAAa,YAAaa,GADjB,cACrBX,EADqB,yBAElBA,GAFkB,2CAAH,sDCGpB0V,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,SAAU0R,QAAQ,GAC1B,CAAE1R,KAAM,kBAAmB0R,QAAQ,IAEjCT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,eAAgBxE,KAAM,QAC7B,CACIwE,IAAK,yBACLxE,KAAM,mBACNqR,eAAgBjL,IAAWkL,uBAC3BvG,UAAW3E,IAAWmL,qBACtBxN,MAAO,OAEX,CACIS,IAAK,gBACLxE,KAAM,QACN+K,UAAW3E,IAAWC,MACtBtC,MAAO,MAEX,CACIS,IAAK,gBACLxE,KAAM,QACN+K,UAAW3E,IAAWC,MACtBtC,MAAO,OAyGAwvF,GAtGQ,WACnB,MAA0Bn7F,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,KAHrB,mBAAOlwB,EAAP,KAAcxB,EAAd,KAKA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBsW,EAAW,uCAAG,sBAAA1d,EAAA,sDAChBjC,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELyS,SAAU,IAAIhC,UAHF,2CAAH,qDAMXyH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,qBACI1T,MAAO,CACHyZ,UAAW,UAFnB,SAKI,cAAC,IAAD,CACI9B,aAAa,sBACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,sBACPuzB,gBAAiBjf,EACjBi0B,OAAO,aAOzBp1B,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAEGqtB,EAAQ,uCAAG,WAAOJ,GAAP,eAAA7kC,EAAA,sEACQg5F,GAAc,CAC/BJ,WAAY/zD,EAAQ+zD,YAAc,KAClCF,aAAc7zD,EAAQ6zD,aACtBC,uBAAwB7hC,SAASjyB,EAAQ8zD,wBACzCE,cAAeh0D,EAAQg0D,gBAAiB,EACxCC,cAAej0D,EAAQi0D,gBAAiB,IAN/B,QACT7lF,EADS,QASTA,EAASrN,QACHyB,EAAiB9H,EAAMklC,MAAQ,qCAAuC,wCACtEr9B,EAAe6L,EAAShL,SAAW,wBAEzCb,EAAe,wBAEnBsW,IAfa,2CAAH,sDA0BRiS,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,QAKd,OACI,sBAAK8D,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OANK,YAOLiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,qBACTG,WAAY,WA5BpBxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNT,MAAO,qBACPuoC,OAAO,EACPhV,gBAAiB,WAyBhBlwB,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYU,KAAM4C,EAAM5C,KAAMN,QAASszB,EAAazzB,MAAOqD,EAAMrD,MAAOI,SAAS,KAAjF,SACI,cAAC,GAAD,CAAW6F,KAAM5C,EAAOlD,QAASszB,EAAasV,SAAUA,MAE5D,SCjIHi0D,GAAmB,uCAAG,WAAO/7F,GAAP,eAAA6C,EAAA,sEACjB6B,aAAY,gBAAD,OAAiB1E,IADX,cAC7BqE,EAD6B,yBAE1BA,GAF0B,2CAAH,sDAKnB23F,GAAoB,uCAAG,WAAOh3F,GAAP,eAAAnC,EAAA,sEAClBsB,aAAa,eAAgBa,GADX,cAC9BX,EAD8B,yBAE3BA,GAF2B,2CAAH,sDCVpB43F,GAAuB,uCAAG,4BAAAp5F,EAAA,sEACrB6B,aAAY,qBADS,cACjCL,EADiC,yBAE9BA,GAF8B,2CAAH,qDAKvB63F,GAAwB,uCAAG,WAAOl8F,GAAP,eAAA6C,EAAA,sEACtB6B,aAAY,qBAAD,OAAsB1E,IADX,cAClCqE,EADkC,yBAE/BA,GAF+B,2CAAH,sDAKxB83F,GAAyB,uCAAG,WAAOn3F,GAAP,eAAAnC,EAAA,sEACvBsB,aAAa,oBAAqBa,GADX,cACnCX,EADmC,yBAEhCA,GAFgC,2CAAH,sDCkKvB+3F,OApKf,SAA0Bz9F,GACtB,MAA0BgC,mBAAS,CAC/B4P,cAAe,KACfT,uBAAwB,GACxB2mC,sBAAuB,GACvBpnC,gBAAiB,GACjBgtF,mBAAmB,EACnBC,0BAA0B,EAC1BC,gCAAgC,EAChCC,0BAA0B,EAC1BC,+BAA+B,EAC/BC,8BAA6B,EAC7BntF,OAAQ,KAXZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAcA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,oCAAAM,EAAA,0DACFlE,EAAM4R,cADJ,gCAEcwrF,GAAoBp9F,EAAM4R,eAFxC,QAEElM,EAFF,QAGMoE,SACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELmO,cAAelM,EAAIW,KAAKuL,cACxBT,uBAAwBzL,EAAIW,KAAK8K,uBACjC2mC,sBAAuBpyC,EAAIW,KAAKyxC,sBAChC4lD,kBAAmBh4F,EAAIW,KAAKq3F,kBAC5BC,yBAA0Bj4F,EAAIW,KAAK23F,yBACnCJ,+BAAgCl4F,EAAIW,KAAK43F,+BACzCJ,yBAA0Bn4F,EAAIW,KAAK63F,yBACnCJ,8BAA+Bp4F,EAAIW,KAAK83F,8BACxCJ,6BAA6Br4F,EAAIW,KAAK03F,kCAd5C,uBAkBsBT,KAlBtB,QAkBFxkD,EAlBE,QAmBchvC,UACVs0F,EADmB,UACLtlD,EAAgBzyC,YADX,iBACL,EAAsB4V,YADjB,aACL,EAA4B1S,KAAI,SAACxG,GAAD,MAAW,CAC3D1B,GAAI0B,EAAK+mB,kBACTlgB,KAAM7G,EAAKq5B,+BAEfn6B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL6M,gBAAiB0tF,QA1BnB,2CA6BP,IAEH,IAAMr+E,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAGV4rB,EAAiB,SAACjiB,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAKlCrB,EAAc,WAChB,IAAQX,EAAkD1N,EAAlD0N,uBAAwB2mC,EAA0Br0C,EAA1Bq0C,sBAC5Bt1B,EAAoB,QACpBzQ,GAAc,EACdnB,EAAS,GAUb,OATK4R,EAAkBvQ,KAAKd,KACxBP,EAAOO,uBAAyB,uCAChCY,GAAc,GAEbyQ,EAAkBvQ,KAAK6lC,KACxBlnC,EAAOknC,sBAAwB,+BAC/B/lC,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAERusF,EAAc,CAChBzsF,cAAenO,EAAMmO,cACrBT,uBAAwB1N,EAAM0N,uBAC9B2mC,sBAAuBr0C,EAAMq0C,sBAC7B4lD,kBAAmBj6F,EAAMi6F,kBACzBC,yBAA0Bl6F,EAAMk6F,yBAChCC,+BAAgCn6F,EAAMm6F,+BACtCC,yBAA0Bp6F,EAAMo6F,yBAChCC,8BAA+Br6F,EAAMq6F,8BACrCC,6BAA6Bt6F,EAAMs6F,8BAXzB,SAaEV,GAAqBgB,GAbvB,QAaV34F,EAbU,QAcNoE,SACJyB,EAAiB,mCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAlBT,2CAAH,qDAuBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,SACX1I,KAAK,yBACL2I,YAAY,QACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM0N,uBACbP,OAAQnN,EAAMmN,OAAOO,2BAG7B,eAACxO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,8BAGA,cAAC,IAAD,CAAWwF,KAAK,wBAAwBzH,MAAOsB,EAAMq0C,uBAAyB,IAAKrrC,SAAUsT,EAAmBtN,KAAMhP,EAAMiN,kBAC5H,cAACtL,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOknC,2BAGxC,cAACn1C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CAAmB5d,QAAS1P,EAAMk6F,yBAA0B/zF,KAAK,2BAA2B6C,SAAUshB,EAAgBvhB,MAAM,sBAEhI,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CACI5d,QAAS1P,EAAMm6F,+BACfh0F,KAAK,iCACL6C,SAAUshB,EACVvhB,MAAM,4BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CAAmB5d,QAAS1P,EAAMo6F,yBAA0Bj0F,KAAK,2BAA2B6C,SAAUshB,EAAgBvhB,MAAM,sBAEhI,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CACI5d,QAAS1P,EAAMq6F,8BACfl0F,KAAK,gCACL6C,SAAUshB,EACVvhB,MAAM,4BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CACI5d,QAAS1P,EAAMs6F,6BACfn0F,KAAK,+BACL6C,SAAUshB,EACVvhB,MAAM,0BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CAAmB5d,QAAS1P,EAAMi6F,kBAAmB9zF,KAAK,oBAAoB6C,SAAUshB,EAAgBvhB,MAAM,kBAGlH,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAM4R,cAAgB,SAAW,cC9JrFwJ,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,gBAAiB0R,QAAQ,IAE/B8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,yBAA0BxE,KAAM,gBACvC,CAAEwE,IAAK,6BAA8BxE,KAAM,WAAY+D,MAAO,MAC9D,CAAES,IAAK,oBAAqBxE,KAAM,cAAe+K,UAAW3E,IAAWC,MAAOtC,MAAO,MACrF,CAAES,IAAK,2BAA4BxE,KAAM,kBAAmB+K,UAAW3E,IAAWC,MAAOtC,MAAO,OAChG,CAAES,IAAK,iCAAkCxE,KAAM,wBAAyB+K,UAAW3E,IAAWC,OAC9F,CAAE7B,IAAK,2BAA4BxE,KAAM,kBAAmB+K,UAAW3E,IAAWC,MAAOtC,MAAO,OAChG,CAAES,IAAK,+BAAgCxE,KAAM,sBAAuB+K,UAAW3E,IAAWC,MAAOtC,MAAO,OACxG,CAAES,IAAK,gCAAiCxE,KAAM,wBAAyB+K,UAAW3E,IAAWC,QAwElFquF,OArEf,SAAqBt+F,GACjB,MAA0BgC,mBAAS,CAC/B0O,gBAAiB,GACjB4P,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNq6F,IADM,2CAEP,IAEH,IAAMA,EAAe,uCAAG,sBAAAr6F,EAAA,sDACpBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHE,2CAAH,qDAOfsqF,EAAoB,SAAC5uF,GACvB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAM+Q,cAAehC,QAG1Du7B,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMg9F,EAAkB9pF,EAAI9C,gBAAgB+G,aAAa,yBAKpFpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,KAGLrgB,EAAQqD,EAAMmO,cAAgB,uBAAyB,oBAEvD6sF,EAAoB,SAAC/4F,GACvBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAO64F,KAGX,OACI,sBAAK55F,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQ,eACRmC,SAAS,mBACTG,WAAY,kBAAM+lF,EAAkB,OACpCtoF,SAAUzS,EAAMyS,WAEnBzS,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMk+F,GAAkB,IAAQj+F,SAAS,KAA5E,SACI,cAAC,GAAD,CAAkBoR,cAAenO,EAAMmO,cAAerR,QAAS,kBAAMk+F,GAAkB,QAE3F,S,+BC3EHC,GAA4Bn0E,0BAE5Bo0E,GAAuB,SAAC3+F,GACjC,IAAI6O,EAAU8b,eAGd,GAFsB3c,eAAd2lC,UACkBh8B,SAAS,SACD3V,oBAAS,IAA3C,mBAAkByb,GAAlB,WACA,EAA6Chc,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACtBulB,EAAkB9sB,IAAW+sB,gBACjC,EAA0B9uB,mBAAS,CAC/B4O,OAAQ,GACRmlB,eAAgB,GAChBqmB,iBAAkB,GAClBC,qBAAsB,GACtBC,qBAAsB,GACtBC,mBAAoB,GACpBC,iBAAkB,GAClBC,qBAAsB,GACtBC,kBAAmB,GACnBkiD,gBAAiB,GACjBjiD,kBAAmB,GACnBkiD,oBAAqB,GACrBC,sBAAuB,GACvBC,mCAAoC,GACpCC,4BAA6B,GAC7BC,uBAAwB,GACxBC,uBAAwB,GACxBC,uBAAwB,GACxBC,iCAAkC,GAClCC,kCAAmC,GACnCC,mCAAoC,GACpCC,mCAAmC,EACnCC,mCAAoC,GACpCC,wBAAyB,GACzBC,yBAA0B,GAC1BC,8BAA8B,EAC9BC,yBAA0B,GAC1BC,gCAAgC,EAChCC,2BAA4B,GAC5BC,uCAAuC,EACvCC,uCAAwC,GACxCC,qCAAqC,EACrCC,oCAAqC,GACrCC,wBAAyB,GACzBC,+BAAgC,GAChCC,gCAAiC,GACjCC,gCAAiC,GACjCC,iBAAiB,EACjBC,oBAAoB,EACpBC,2BAA2B,EAC3BC,wBAAwB,EACxBC,8BAA+B,GAC/BC,8BAA+B,GAC/BC,yBAAyB,EACzBC,+BAAgC,GAChCC,+BAAgC,GAChCC,2BAA2B,EAC3BC,iCAAkC,GAClCC,iCAAkC,GAClCC,0BAA0B,EAC1BC,gCAAiC,GACjCC,gCAAiC,GACjCC,wBAAwB,EACxBC,8BAA+B,GAC/BC,8BAA+B,GAC/BC,0BAA0B,EAC1BC,gCAAiC,GACjCC,gCAAiC,GACjCC,wBAAwB,EACxBC,8BAA+B,GAC/BC,8BAA+B,GAC/BC,6BAA6B,EAC7BC,mCAAoC,GACpCC,mCAAoC,GACpCC,2BAA4B,GAC5BC,uBAAwB,GACxBC,uBAAwB,GACxBj5C,WAAW,EACXk5C,2BAA4B,GAC5BC,4BAA6B,KAC7BC,wBAAyB,KACzBC,6BAA8B,KAC9BC,4BAA6B,CACzB,CAAE74F,KAAM,UAAWvI,GAAI,IACvB,CAAEuI,KAAM,UAAWvI,GAAI,IACvB,CAAEuI,KAAM,UAAWvI,GAAI,IACvB,CAAEuI,KAAM,UAAWvI,GAAI,OA7E/B,mBAAOoC,EAAP,KAAcxB,EAAd,KAiFA,EAAwCD,mBAAS,CAC7CsH,QAAS,KADb,mBAAO+iD,EAAP,KAAqBC,EAArB,KAQA,SAASo2C,EAAS32F,GACd,OAAIA,GALK4jF,EAMM5jF,GALJ,GAAK,IAAM4jF,EAAE9tD,QAAQ,GAAGC,QAAQ,IAAK,KAAO6tD,EAAE9tD,QAAQ,GAAGC,QAAQ,IAAK,KAO1E,GARX,IAAa6tD,EAWb/rF,oBAAS,sBAAC,kCAAAM,EAAA,0DACFlE,EAAM+1B,eADJ,gCAEc+lB,GAAoB97C,EAAM+1B,gBAFxC,OAEErwB,EAFF,OAGIW,EAAOX,EAAIW,KAAK2G,QAAQ,GACxB21F,EAAiBj9F,EAAIW,KAC3BpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELkyB,eAAgB1vB,EAAK0vB,eACrBqmB,iBAAkB/1C,EAAK+1C,iBACvBC,qBAAsBh2C,EAAKg2C,qBAC3BC,qBAAsBj2C,EAAKi2C,qBAC3BC,mBAAoBl2C,EAAKk2C,mBACzBC,iBAAkBn2C,EAAKm2C,iBACvBC,qBAAsBp2C,EAAKo2C,qBAC3BC,kBAAmBr2C,EAAKq2C,kBACxBkiD,gBAAiBv4F,EAAKu4F,gBACtBjiD,kBAAmBt2C,EAAKs2C,kBACxBkiD,oBAAqBx4F,EAAKw4F,oBAC1BC,sBAAuB9uF,IAAW6jC,cAAcxtC,EAAKy4F,uBACrDC,mCAAoC14F,EAAK04F,mCACzCC,4BAA6B34F,EAAK24F,4BAClCC,uBAAwB54F,EAAK44F,uBAC7BC,uBAAwB74F,EAAK64F,uBAC7BC,uBAAwB94F,EAAK84F,uBAC7BC,iCAAkC/4F,EAAK+4F,iCACvCC,kCAAmCh5F,EAAKg5F,kCACxCC,mCAAoCj5F,EAAKi5F,mCACzCC,kCAAmCl5F,EAAKk5F,kCACxCC,mCAAoCn5F,EAAKm5F,mCACzCC,wBAAyBp5F,EAAKo5F,wBAC9BC,yBAA0Br5F,EAAKq5F,yBAC/BC,6BAA8Bt5F,EAAKs5F,6BACnCC,yBAA0Bv5F,EAAKu5F,yBAC/BC,+BAAgCx5F,EAAKw5F,+BACrCC,2BAA4Bz5F,EAAKy5F,2BACjCC,sCAAuC15F,EAAK05F,sCAC5CC,uCAAwC35F,EAAK25F,uCAC7CC,oCAAqC55F,EAAK45F,oCAC1CC,oCAAqC75F,EAAK65F,oCAC1CC,wBAAyB95F,EAAK85F,wBAC9BC,+BAAgC/5F,EAAK+5F,+BACrCC,gCAAiCh6F,EAAKg6F,gCACtCC,gCAAiCj6F,EAAKi6F,gCACtCC,gBAAiBl6F,EAAKk6F,gBACtBC,mBAAoBn6F,EAAKm6F,mBACzBC,0BAA2Bp6F,EAAKo6F,0BAChCmC,mBAAoBv8F,EAAKu8F,mBACzBR,uBAAwBO,EAAeR,uBAEvCzB,uBAAwBr6F,EAAKq6F,uBAC7BC,8BAA+B+B,EAASr8F,EAAKs6F,+BAC7CC,8BAA+B8B,EAASr8F,EAAKu6F,+BAC7CC,wBAAyBx6F,EAAKw6F,wBAC9BC,+BAAgC4B,EAASr8F,EAAKy6F,gCAC9CC,+BAAgC2B,EAASr8F,EAAK06F,gCAC9CC,0BAA2B36F,EAAK26F,0BAChCC,iCAAkCyB,EAASr8F,EAAK46F,kCAChDC,iCAAkCwB,EAASr8F,EAAK66F,kCAChDC,yBAA0B96F,EAAK86F,yBAC/BC,gCAAiCsB,EAASr8F,EAAK+6F,iCAC/CC,gCAAiCqB,EAASr8F,EAAKg7F,iCAC/CC,uBAAwBj7F,EAAKi7F,uBAC7BC,8BAA+BmB,EAASr8F,EAAKk7F,+BAC7CC,8BAA+BkB,EAASr8F,EAAKm7F,+BAC7CC,yBAA0Bp7F,EAAKo7F,yBAC/BC,gCAAiCgB,EAASr8F,EAAKq7F,iCAC/CC,gCAAiCe,EAASr8F,EAAKs7F,iCAC/CC,uBAAwBv7F,EAAKu7F,uBAC7BC,8BAA+Ba,EAASr8F,EAAKw7F,+BAC7CC,8BAA+BY,EAASr8F,EAAKy7F,+BAC7CC,4BAA6B17F,EAAK07F,4BAClCC,mCAAoCU,EAASr8F,EAAK27F,oCAClDC,mCAAoCS,EAASr8F,EAAK47F,oCAClDM,wBAAyBl8F,EAAKk8F,wBAC9BM,wBAAyBx8F,EAAKw8F,wBAG9B15C,YAAW,OAACt4B,QAAD,IAACA,OAAD,EAACA,EAAiBiyE,6BA7E/B,uBAiFmB/mD,KAjFnB,OAiFFgnD,EAjFE,OAkFN9gG,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELq+F,2BAA4Ba,EAAa18F,KAAK87F,uBAC9CE,2BAA4BU,EAAa18F,KAAK28F,gBArF5C,4CAuFP,IAEHp/F,qBAAU,WACN,GAAIH,EAAM2+F,uBAAwB,CAC9B,IAAMa,EAAuBx/F,EAAMy+F,2BAA2BhkE,QAAO,SAAC1sB,GAAD,OAAO/N,EAAM2+F,uBAAuBx1C,QAAQp7C,EAAEnQ,KAAO,KAC1HirD,GAAgB,SAACzoD,GAAD,mBAAC,eACVA,GADS,IAEZyF,QAAS25F,UAGlB,CAACx/F,EAAM2+F,uBAAwB3+F,EAAMy+F,6BAExCt+F,qBAAU,WACN,IAAI0+F,EAA8B,KAC9BE,EAA+B,KAC/B/+F,EAAM8+F,0BACNC,EAA+B/+F,EAAMg/F,4BAA4BjvF,MAAK,qBAAGnS,KAAgBoC,EAAM8+F,4BAG/FD,EADA7+F,EAAMy7F,wBAA0Bz7F,EAAM4+F,2BAA2BrwF,OAAS,EAC5CvO,EAAM4+F,2BAA2B7uF,MAAK,qBAAGnS,KAAgBoC,EAAMy7F,0BAE/Dz7F,EAAM4+F,2BAA2B,GAEnEpgG,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELy+F,4BAA6BA,EAC7BE,6BAA8BA,SAEnC,CAAC/+F,EAAMy7F,uBAAwBz7F,EAAM4+F,6BAExC,IAWMxwF,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACP,SAAVvK,GAA2C,UAAvBuK,EAAK4gB,cACzBrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAClB,UAAVzH,GAA4C,UAAvBuK,EAAK4gB,cACjCrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAEnC3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SAExC,IAyDG2P,EAAc,WAChB,IACIuqC,EAiBA54C,EAjBA44C,qBACAG,EAgBA/4C,EAhBA+4C,iBACAC,EAeAh5C,EAfAg5C,qBACA6lD,EAcA7+F,EAdA6+F,4BACA3lD,EAaAl5C,EAbAk5C,kBACAP,EAYA34C,EAZA24C,iBACA6jD,EAWAx8F,EAXAw8F,oCACAC,EAUAz8F,EAVAy8F,oCACAH,EASAt8F,EATAs8F,sCACAC,EAQAv8F,EARAu8F,uCACAT,EAOA97F,EAPA87F,kCACAC,EAMA/7F,EANA+7F,mCACAG,EAKAl8F,EALAk8F,6BACAC,EAIAn8F,EAJAm8F,yBACAC,EAGAp8F,EAHAo8F,+BACAC,EAEAr8F,EAFAq8F,2BACAQ,EACA78F,EADA68F,gCAIAvuF,GAAc,EACdnB,EAAS,GA4Db,OA3DK+c,aAAgBgvB,GAHjB,4JAMW1qC,KAAK0qC,KAChB/rC,EAAO+rC,kBAAoB,2BAC3B5qC,GAAc,IAJdnB,EAAO+rC,kBAAoB,gCAC3B5qC,GAAc,GAKbsqC,IACDzrC,EAAOyrC,qBAAuB,uBAC9BtqC,GAAc,GAEbyqC,IACD5rC,EAAO4rC,iBAAmB,mBAC1BzqC,GAAc,GAEb0qC,IACD7rC,EAAO6rC,qBAAuB,wBAC9B1qC,GAAc,GAEbuwF,IACD1xF,EAAO0xF,4BAA8B,uBACrCvwF,GAAc,GAEbqqC,IACDxrC,EAAOwrC,iBAAmB,mBAC1BrqC,GAAc,GAEb4b,aAAgB2yE,KAAoC,QAAQruF,KAAKquF,IAAqC9yE,kBAAO8yE,KAC9G1vF,EAAO0vF,gCAAkC,gCACzCvuF,GAAc,IAGdkuF,GAAwCtyE,aAAgBuyE,IAAyC1yE,kBAAO0yE,KACxGtvF,EAAOsvF,oCAAsC,gCAC7CnuF,GAAc,IAEdwtF,GAAsC5xE,aAAgB6xE,IAAwChyE,kBAAOgyE,KACrG5uF,EAAO4uF,mCAAqC,gCAC5CztF,GAAc,IAGd4tF,GAAiChyE,aAAgBiyE,IAA8BpyE,kBAAOoyE,KACtFhvF,EAAOgvF,yBAA2B,gCAClC7tF,GAAc,IAEd8tF,GAAmClyE,aAAgBmyE,IAAgCtyE,kBAAOsyE,KAC1FlvF,EAAOkvF,2BAA6B,gCACpC/tF,GAAc,IAGdguF,GACCpyE,aAAgBqyE,IAChBxyE,kBAAOwyE,KAERpvF,EAAOovF,uCAAyC,gCAChDjuF,GAAc,GAGlB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGLG,EAAa,uCAAG,kCAAAhO,EAAA,0DACd4N,IADc,uBAERK,EAAW,CACb4jB,eAAgBtyB,EAAMsyB,eACtBqmB,iBAAkB34C,EAAM24C,iBACxBC,qBAAsB54C,EAAM44C,qBAC5BC,qBAAsB74C,EAAM64C,qBAC5BC,mBAAoB94C,EAAM84C,mBAC1BC,iBAAkB/4C,EAAM+4C,iBACxBC,qBAAsBh5C,EAAMg5C,qBAC5BC,kBAAmBj5C,EAAMi5C,kBACzBkiD,gBAAiBn7F,EAAMm7F,gBACvBjiD,kBAAmBl5C,EAAMk5C,kBACzBkiD,oBAAqBp7F,EAAMo7F,oBAC3BC,sBAAuBr7F,EAAMq7F,sBAC7BC,mCAAoCt7F,EAAMs7F,mCAC1CC,4BAA6Bv7F,EAAMu7F,4BACnCC,uBAAwBx7F,EAAMw7F,uBAC9BC,uBAAsB,UAAEz7F,EAAM6+F,mCAAR,aAAE,EAAmCjhG,GAC3D89F,uBAAwB17F,EAAM07F,uBAC9BC,iCAAkC37F,EAAM27F,iCACxCC,kCAAmC57F,EAAM47F,kCACzCC,mCAAoC77F,EAAM67F,mCAC1CC,kCAAmC97F,EAAM87F,kCACzCC,mCAAoC/7F,EAAM+7F,mCAC1CC,wBAAyBh8F,EAAMg8F,wBAC/BC,yBAA0Bj8F,EAAMi8F,yBAChCC,6BAA8Bl8F,EAAMk8F,6BACpCC,yBAA0Bn8F,EAAMm8F,yBAChCC,+BAAgCp8F,EAAMo8F,+BACtCC,2BAA4Br8F,EAAMq8F,2BAClCC,sCAAuCt8F,EAAMs8F,sCAC7CC,uCAAwCv8F,EAAMu8F,uCAC9CC,oCAAqCx8F,EAAMw8F,oCAC3CC,oCAAqCz8F,EAAMy8F,oCAC3CC,wBAAyB18F,EAAM08F,wBAC/BC,+BAAgC38F,EAAM28F,+BACtCC,gCAAiC58F,EAAM48F,gCACvCC,gCAAiC78F,EAAM68F,gCACvCC,gBAAiB98F,EAAM88F,gBACvBC,mBAAoB/8F,EAAM+8F,mBAC1BC,0BAA2Bh9F,EAAMg9F,0BACjC8B,wBAAuB,UAAE9+F,EAAM++F,oCAAR,aAAE,EAAoCnhG,GAC7DwhG,wBAAyBp/F,EAAMo/F,wBAC/BV,uBAAwB1+F,EAAM2+F,uBAE9B1B,uBAAwBj9F,EAAMi9F,uBAC9BC,8BAA+Bl9F,EAAMk9F,8BAAgCl9F,EAAMk9F,8BAA8B7+D,QAAQ,IAAK,KAAO,GAC7H8+D,8BAA+Bn9F,EAAMm9F,8BAAgCn9F,EAAMm9F,8BAA8B9+D,QAAQ,IAAK,KAAO,GAC7H++D,wBAAyBp9F,EAAMo9F,wBAC/BC,+BAAgCr9F,EAAMq9F,+BAAiCr9F,EAAMq9F,+BAA+Bh/D,QAAQ,IAAK,KAAO,GAChIi/D,+BAAgCt9F,EAAMs9F,+BAAiCt9F,EAAMs9F,+BAA+Bj/D,QAAQ,IAAK,KAAO,GAChIk/D,0BAA2Bv9F,EAAMu9F,0BACjCC,iCAAkCx9F,EAAMw9F,iCAAmCx9F,EAAMw9F,iCAAiCn/D,QAAQ,IAAK,KAAO,GACtIo/D,iCAAkCz9F,EAAMy9F,iCAAmCz9F,EAAMy9F,iCAAiCp/D,QAAQ,IAAK,KAAO,GACtIq/D,yBAA0B19F,EAAM09F,yBAChCC,gCAAiC39F,EAAM29F,gCAAkC39F,EAAM29F,gCAAgCt/D,QAAQ,IAAK,KAAO,GACnIu/D,gCAAiC59F,EAAM49F,gCAAkC59F,EAAM49F,gCAAgCv/D,QAAQ,IAAK,KAAO,GACnIw/D,uBAAwB79F,EAAM69F,uBAC9BC,8BAA+B99F,EAAM89F,8BAAgC99F,EAAM89F,8BAA8Bz/D,QAAQ,IAAK,KAAO,GAC7H0/D,8BAA+B/9F,EAAM+9F,8BAAgC/9F,EAAM+9F,8BAA8B1/D,QAAQ,IAAK,KAAO,GAC7H2/D,yBAA0Bh+F,EAAMg+F,yBAChCC,gCAAiCj+F,EAAMi+F,gCAAkCj+F,EAAMi+F,gCAAgC5/D,QAAQ,IAAK,KAAO,GACnI6/D,gCAAiCl+F,EAAMk+F,gCAAkCl+F,EAAMk+F,gCAAgC7/D,QAAQ,IAAK,KAAO,GACnI8/D,uBAAwBn+F,EAAMm+F,uBAC9BC,8BAA+Bp+F,EAAMo+F,8BAAgCp+F,EAAMo+F,8BAA8B//D,QAAQ,IAAK,KAAO,GAC7HggE,8BAA+Br+F,EAAMq+F,8BAAgCr+F,EAAMq+F,8BAA8BhgE,QAAQ,IAAK,KAAO,GAC7HigE,4BAA6Bt+F,EAAMs+F,4BACnCC,mCAAoCv+F,EAAMu+F,mCAAqCv+F,EAAMu+F,mCAAmClgE,QAAQ,IAAK,KAAO,GAC5ImgE,mCAAoCx+F,EAAMw+F,mCAAqCx+F,EAAMw+F,mCAAmCngE,QAAQ,IAAK,KAAO,IAEhJrkB,GAAa,GAvEC,SAwEEu+B,GAAqB7pC,GAxEvB,QAwEVzM,EAxEU,QAyENoE,SACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAM6tB,cAAa,GACnBhf,EAAQC,KAAR,kBAEAxD,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAhFC,2CAAH,qDAmFnB,OACI,cAACihF,GAA0B5wE,SAA3B,CACI3rB,MAAO,CACHsB,QACA4oD,eACAn6C,gBACAL,cACAqxF,WAnOO,SAACC,GACI,SAAhBA,GACAlhG,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELi9F,+BAAgCr9F,EAAMk9F,8BACtCM,iCAAkCx9F,EAAMk9F,8BACxCS,gCAAiC39F,EAAMk9F,8BACvCY,8BAA+B99F,EAAMk9F,8BACrCe,gCAAiCj+F,EAAMk9F,8BACvCkB,8BAA+Bp+F,EAAMk9F,8BACrCqB,mCAAoCv+F,EAAMk9F,mCAG9B,UAAhBwC,GACAlhG,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk9F,+BAAgCt9F,EAAMm9F,8BACtCM,iCAAkCz9F,EAAMm9F,8BACxCS,gCAAiC59F,EAAMm9F,8BACvCY,8BAA+B/9F,EAAMm9F,8BACrCe,gCAAiCl+F,EAAMm9F,8BACvCkB,8BAA+Br+F,EAAMm9F,8BACrCqB,mCAAoCx+F,EAAMm9F,oCA8M1C5yE,WAvPO,SAACpkB,GAChB3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SAuP3B6rD,cAlMU,SAAC3pD,GACnB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,EAAOuJ,QAiMjCo7C,aA3MS,SAACziD,EAAG3J,GACrBmqD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkByF,QAASnH,OAC3CF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAYu+F,uBAAwBjgG,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,YAyM5D8sB,OA/LG,SAACC,GACZnsB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELw4C,qBAAsBjuB,EAAEC,aACxBiuB,qBAAsBluB,EAAEE,aACxBkuB,iBAAkBpuB,EAAEG,KACpBguB,mBAAoBnuB,EAAEI,OACtBiuB,qBAAsBruB,EAAEK,eAyLpBxO,mBA5Oe,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,UAgOjC,SAcK/L,EAAMK,YCrdbkwB,GAAa,SAACvwB,GAChB,OACI,eAAC2C,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAApB,UACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,UAE9B,cAAC7J,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAG7B,MAAO,CAAE2U,WAAY,OAAtD,SACI,eAAC6a,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAYpa,EAAM4J,KAAMA,KAAM5J,EAAM4J,KAAMzH,MAAOnC,EAAMmC,MAAOsK,SAAUzM,EAAMyM,SAA9F,UACI,cAACgkB,GAAA,EAAD,CAAkBtd,SAAyB,IAAhBnT,EAAMmC,MAAgBA,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,MAAMiC,SAAUzO,EAAMyO,WAC9G,cAACgiB,GAAA,EAAD,CAAkBtd,SAAyB,IAAhBnT,EAAMmC,MAAiBA,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,KAAKiC,SAAUzO,EAAMyO,oBAO7HwhB,GAAa,SAACjwB,GAIhB,OAHA4D,qBAAU,YACL5D,EAAMkwB,UAAYlwB,EAAMguB,WAAWhuB,EAAMmwB,WAC3C,CAACnwB,EAAMkwB,WAEN,qCACI,cAAC/rB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,QAC1B,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,WAA3B,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAASnT,EAAMkwB,SAAUzjB,SAAUzM,EAAMowB,cAAexmB,KAAM5J,EAAMqwB,QAAS5hB,SAAUzO,EAAMyO,aAEpH,cAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIuP,YAAavS,EAAMwM,MACnBrK,MAAOnC,EAAMswB,SACb7jB,SAAUzM,EAAM6R,YAChBjI,KAAM5J,EAAMmwB,QACZ1hB,SAAUzO,EAAMyO,WAAazO,EAAMkwB,oBAQrDkzE,GAAsB,SAACpjG,GACzB,MACI2B,qBAAW+8F,IADPj7F,EAAR,EAAQA,MAAOyO,EAAf,EAAeA,cAAeL,EAA9B,EAA8BA,YAAaqxF,EAA3C,EAA2CA,WAAYztC,EAAvD,EAAuDA,cAAelH,EAAtE,EAAsEA,aAAclC,EAApF,EAAoFA,aAAcr+B,EAAlG,EAAkGA,WAAYG,EAA9G,EAA8GA,OAAQlO,EAAtH,EAAsHA,mBAAoBzC,EAA1I,EAA0IA,UAEtIqT,EAAkB9sB,IAAW+sB,gBACjC,OACI,eAACnuB,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAW,MAAOvP,QAAS,EAAG8B,UAAU,0BAAxD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,SACI,cAAC,IAAD,CACI2N,WAAW,OACXlP,WAAS,EACTmP,YAAY,aACZpQ,MAAOsB,EAAM24C,iBACb3vC,SAAUoF,EACVjI,KAAK,mBACLgH,OAAQnN,EAAMmN,OAAOwrC,iBACrB3tC,SAAUhL,EAAM0lD,cAGxB,eAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAC,IAAD,CACIC,WAAW,eACXlP,WAAS,EACTmP,YAAY,eACZpQ,MAAOsB,EAAMo/F,wBACbp2F,SAAUoF,EACVjI,KAAK,0BACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOiyF,6BAGxC,cAAClgG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,SAWI,cAAC,IAAD,CACIxC,MAAOsB,EAAMg5C,qBACbhwC,SAAUoF,EACVjI,KAAK,uBACLgH,OAAQnN,EAAMmN,OAAO6rC,qBACrBtuB,OAAQA,EACR1f,SAAUhL,EAAM0lD,UAChB/lD,WAAS,MAGjB,cAACT,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,SACI,cAAC,IAAD,CACI2N,WAAW,YACXlP,WAAS,EACTmP,YAAY,YACZpQ,MAAOsB,EAAM44C,qBACb5vC,SAAUoF,EACVjI,KAAK,uBACLgH,OAAQnN,EAAMmN,OAAOyrC,qBACrB5tC,SAAUhL,EAAM0lD,cAGxB,eAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIze,WAAW,YACXlP,WAAS,EACTmP,YAAY,YACZpQ,MAAOsB,EAAM64C,qBACb7vC,SAAUoF,EACVjI,KAAK,uBACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0rC,0BAExC,eAAC35C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIze,WAAW,YACXlP,WAAS,EACTmP,YAAY,YACZpQ,MAAOsB,EAAM84C,mBACb9vC,SAAUoF,EACVjI,KAAK,qBACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO2rC,wBAExC,cAAC55C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,SACI,cAAC,IAAD,CACI2N,WAAW,OACXlP,WAAS,EACTmP,YAAY,OACZpQ,MAAOsB,EAAM+4C,iBACb/vC,SAAUoF,EACVjI,KAAK,mBACLgH,OAAQnN,EAAMmN,OAAO4rC,iBACrB/tC,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,SACI,cAAC,IAAD,CACI2N,WAAW,QACXlP,WAAS,EACTmP,YAAY,QACZpQ,MAAOsB,EAAMk5C,kBACblwC,SAAUoF,EACVjI,KAAK,oBACLgH,OAAQnN,EAAMmN,OAAO+rC,kBACrBluC,SAAUhL,EAAM0lD,cAGxB,eAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIze,WAAW,eACXlP,WAAS,EACTmP,YAAY,eACZpQ,MAAOsB,EAAMi5C,kBACbjwC,SAAUoF,EACVjI,KAAK,oBACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO8rC,uBAExC,eAAC/5C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIze,WAAW,MACXlP,WAAS,EACTmP,YAAY,MACZpQ,MAAOsB,EAAMm7F,gBACbnyF,SAAUoF,EACVjI,KAAK,kBACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOguF,qBAExC,eAACj8F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIze,WAAW,UACXlP,WAAS,EACTmP,YAAY,UACZpQ,MAAOsB,EAAMo7F,oBACbpyF,SAAUoF,EACVjI,KAAK,sBACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOiuF,yBAExC,eAACl8F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAClO,EAAA,EAAD,CAAYA,WAAW,GAAGC,QAAM,EAAhC,sCAGA,cAAC,IAAD,CAAYjC,MAAOsB,EAAMq7F,sBAAuBryF,SAAUoF,EAAajI,KAAK,wBAAwB6E,SAAUhL,EAAM0lD,YAEpH,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkuF,2BAExC,eAACn8F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIC,WAAW,eACXlP,WAAS,EACTmP,YAAY,eACZpQ,MAAOsB,EAAM08F,wBACb1zF,SAAUoF,EACVjI,KAAK,0BACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOuvF,6BAExC,cAACx9F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,sBAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIC,WAAW,cACXlP,WAAS,EACTmP,YAAY,cACZpQ,MAAOsB,EAAM07F,uBACb1yF,SAAUoF,EACVjI,KAAK,yBACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOuuF,4BAExC,eAACx8F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIC,WAAW,2BACXlP,WAAS,EACTmP,YAAY,2BACZpQ,MAAOsB,EAAM27F,iCACb3yF,SAAUoF,EACVjI,KAAK,mCACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOwuF,sCAGxC,eAACz8F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIC,WAAW,2BACXlP,WAAS,EACTmP,YAAY,2BACZpQ,MAAOsB,EAAMs7F,mCACbtyF,SAAUoF,EACVjI,KAAK,qCACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOmuF,wCAExC,eAACp8F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG1N,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CACIqa,QAAShb,EAAM4+F,2BACflgG,MAAOsB,EAAM6+F,4BACb71F,SAAUwT,EAAmB,+BAC7BxR,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0xF,4BAA8B,yBAA2B,UAEjG,eAAC3/F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIC,WAAW,uBACXlP,WAAS,EACTmP,YAAY,uBACZpQ,MAAOsB,EAAM28F,+BACb3zF,SAAUoF,EACVjI,KAAK,iCACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOwvF,oCAExC,eAACz9F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIC,WAAW,wBACXlP,WAAS,EACTmP,YAAY,wBACZpQ,MAAOsB,EAAM48F,gCACb5zF,SAAUoF,EACVjI,KAAK,kCACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOyvF,qCAExC,eAAC19F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIC,WAAW,wBACXlP,WAAS,EACTmP,YAAY,wBACZpQ,MAAOsB,EAAM68F,gCACb7zF,SAAUoF,EACVjI,KAAK,kCACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0vF,qCAcxC,cAAC39F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,GAAD,CACI7F,MAAM,UACN5C,KAAK,qBACLzH,MAAOsB,EAAM+8F,mBACb/zF,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,GAAD,CACI7F,MAAM,oBACN5C,KAAK,kBACLzH,MAAOsB,EAAM88F,gBACb9zF,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,GAAD,CACI7F,MAAM,4BACN5C,KAAK,4BACLzH,MAAOsB,EAAMg9F,0BACbh0F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,wBASxC,eAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAE0hC,aAAc,OAA1C,2BAGA,cAAC,IAAD,CACIjkB,QAAShb,EAAMg/F,6BAA+B,GAC9CtgG,MAAOsB,EAAM++F,6BACb/1F,SAAUwT,EAAmB,qCAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYA,WAAW,GAAGC,QAAM,EAAhC,sCAGA,cAAC,IAAD,CAAaqa,QAAShb,EAAMy+F,2BAA4B//F,MAAOkqD,EAAa/iD,QAASmD,SAAU8hD,EAAc9/C,SAAUhL,EAAM0lD,eAGjI,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,2BAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIC,WAAW,0BACXlP,WAAS,EACTmP,YAAY,0BACZpQ,MAAOsB,EAAM47F,kCACb5yF,SAAUoF,EACVjI,KAAK,oCACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOyuF,uCAExC,eAAC18F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIC,WAAW,2BACXlP,WAAS,EACTmP,YAAY,2BACZpQ,MAAOsB,EAAM67F,mCACb7yF,SAAUoF,EACVjI,KAAK,qCACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0uF,wCAExC,eAAC38F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,2BACN6jB,QAAQ,oCACRH,SAAUzsB,EAAM87F,kCAChBnvE,cAAeqlC,EACftlC,QAAQ,qCACRG,SAAU7sB,EAAM+7F,mCAChB3tF,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO4uF,wCAExC,eAAC78F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIC,WAAW,eACXlP,WAAS,EACTmP,YAAY,eACZpQ,MAAOsB,EAAMg8F,wBACbhzF,SAAUoF,EACVjI,KAAK,0BACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO6uF,6BAExC,eAAC98F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIC,WAAW,gBACXlP,WAAS,EACTmP,YAAY,gBACZpQ,MAAOsB,EAAMi8F,yBACbjzF,SAAUoF,EACVjI,KAAK,2BACL6E,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO8uF,8BAExC,eAAC/8F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,gBACN6jB,QAAQ,+BACRH,SAAUzsB,EAAMk8F,6BAChBvvE,cAAeqlC,EACftlC,QAAQ,2BACRG,SAAU7sB,EAAMm8F,yBAChB/tF,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOgvF,8BAExC,eAACj9F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,6BACN6jB,QAAQ,sCACRH,SAAUzsB,EAAMw8F,oCAChB7vE,cAAeqlC,EACftlC,QAAQ,sCACRG,SAAU7sB,EAAMy8F,oCAChBruF,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOsvF,yCAExC,eAACv9F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,mBACN6jB,QAAQ,iCACRH,SAAUzsB,EAAMo8F,+BAChBzvE,cAAeqlC,EACftlC,QAAQ,6BACRG,SAAU7sB,EAAMq8F,2BAChBjuF,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkvF,gCAExC,eAACn9F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,+BACN6jB,QAAQ,wCACRH,SAAUzsB,EAAMs8F,sCAChB3vE,cAAeqlC,EACftlC,QAAQ,yCACRG,SAAU7sB,EAAMu8F,uCAChBnuF,YAAaA,EACbmc,WAAYA,EACZvf,SAAUhL,EAAM0lD,YAEpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOovF,sDAQxD,eAACr9F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClF,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,2BAGA,0BAGJ,eAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,eAAC1P,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAArC,UAEI,cAACL,EAAA,EAAD,CAAMwM,UAAWk0F,KAAKtgG,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAGvR,QAAS,CAAEkC,GAAI,OAAQqP,GAAI,WAIpE,cAAC1P,EAAA,EAAD,CAAMwM,UAAWk0F,KAAKtgG,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAGvR,QAAS,CAAEkC,GAAI,OAAQqP,GAAI,SAApE,SACI,0CAEJ,eAAC1P,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAGgG,QAAQ,gBAA3C,UACI,gDACA,cAAChU,EAAA,EAAD,CAASjE,MAAM,+CAA+Cga,aAAW,MAAzE,SACI,sBAAMpZ,MAAO,CAAElB,YAAa,MAA5B,SACI,cAACqa,EAAA,EAAD,CACIC,aAAW,SACXqnB,KAAK,QACLjgC,QAASiC,EAAM0lD,UAAY,KAAO,kBAAM+5C,EAAW,SACnDz0F,UAAUhL,EAAMk9F,8BAJpB,SAMI,cAAC,KAAD,CAAWtmF,SAAS,qBAKpC,eAAC1X,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAGgG,QAAQ,gBAA3C,yBAEI,cAAChU,EAAA,EAAD,CAASjE,MAAM,6CAA6Cga,aAAW,MAAvE,SACI,sBAAMpZ,MAAO,CAAElB,YAAa,MAA5B,SACI,cAACqa,EAAA,EAAD,CACIC,aAAW,SACXqnB,KAAK,QACLjgC,QAASiC,EAAM0lD,UAAY,KAAO,kBAAM+5C,EAAW,UACnDz0F,UAAUhL,EAAMm9F,8BAJpB,SAMI,cAAC,KAAD,CAAWvmF,SAAS,wBAOxC,eAAC1X,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAIjC,WAAW,SAApD,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,oBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,GAAD,CACI7F,MAAM,GACN5C,KAAK,yBACLzH,MAAOsB,EAAMi9F,uBACbj0F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,gCACLzH,MAAOsB,EAAMk9F,8BACbl0F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,gCACLzH,MAAOsB,EAAMm9F,8BACbn0F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,iBAI5B,eAACxmD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAIjC,WAAW,SAApD,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,qBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,GAAD,CACI7F,MAAM,GACN5C,KAAK,0BACLzH,MAAOsB,EAAMo9F,wBACbp0F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,iCACLzH,MAAOsB,EAAMq9F,+BACbr0F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,iCACLzH,MAAOsB,EAAMs9F,+BACbt0F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,iBAI5B,eAACxmD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAIjC,WAAW,SAApD,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,uBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,GAAD,CACI7F,MAAM,GACN5C,KAAK,4BACLzH,MAAOsB,EAAMu9F,0BACbv0F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,mCACLzH,MAAOsB,EAAMw9F,iCACbx0F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,mCACLzH,MAAOsB,EAAMy9F,iCACbz0F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,iBAI5B,eAACxmD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAIjC,WAAW,SAApD,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,sBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,GAAD,CACI7F,MAAM,GACN5C,KAAK,2BACLzH,MAAOsB,EAAM09F,yBACb10F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,kCACLzH,MAAOsB,EAAM29F,gCACb30F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,kCACLzH,MAAOsB,EAAM49F,gCACb50F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,iBAI5B,eAACxmD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAIjC,WAAW,SAApD,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,oBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,GAAD,CACI7F,MAAM,GACN5C,KAAK,yBACLzH,MAAOsB,EAAM69F,uBACb70F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,gCACLzH,MAAOsB,EAAM89F,8BACb90F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,gCACLzH,MAAOsB,EAAM+9F,8BACb/0F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,iBAI5B,eAACxmD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAIjC,WAAW,SAApD,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,sBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,GAAD,CACI7F,MAAM,GACN5C,KAAK,2BACLzH,MAAOsB,EAAMg+F,yBACbh1F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,kCACLzH,MAAOsB,EAAMi+F,gCACbj1F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,kCACLzH,MAAOsB,EAAMk+F,gCACbl1F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,iBAI5B,eAACxmD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAIjC,WAAW,SAApD,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,oBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,GAAD,CACI7F,MAAM,GACN5C,KAAK,yBACLzH,MAAOsB,EAAMm+F,uBACbn1F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,gCACLzH,MAAOsB,EAAMo+F,8BACbp1F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,gCACLzH,MAAOsB,EAAMq+F,8BACbr1F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,iBAI5B,eAACxmD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAIjC,WAAW,SAApD,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,0BAIA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,GAAD,CACI7F,MAAM,GACN5C,KAAK,8BACLzH,MAAOsB,EAAMs+F,4BACbt1F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,qCACLzH,MAAOsB,EAAMu+F,mCACbv1F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,cAGxB,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIzI,KAAK,qCACLzH,MAAOsB,EAAMw+F,mCACbx1F,SAAUoF,EACVpD,SAAUhL,EAAM0lD,oBAKhC,qCACI,cAACxmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAAezD,WAAU,OAACoiB,QAAD,IAACA,OAAD,EAACA,EAAiBiyE,yBAA0Br/F,EAAM0lD,UAAWzqC,YAAalB,EAA7H,oBAIJ,cAAC7a,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB+sB,cAAc,EAAMtuB,WAAS,EAACD,QAAQ,YAAYD,MAAM,YAAY1B,QAASxB,EAAM6tB,aAApG,6BAgBL8D,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAyBA,Q,qCC7yB/Bob,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,iBAAkByR,KAAM,IAAKC,QAAQ,IAG3CqD,GAAiB,CACnBnE,wBAAyB,CAAE7M,MAAO,OAAQ8M,UAAW,UACrDC,eAAgB,CAAE/M,MAAO,GAAIjN,OAAQ,OAAQia,eAAgB,SAC7DC,iBAAkB,CAAEH,UAAW,UAC/B6oF,iBAAkB,CAAEhyE,YAAa,SAG/BwB,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIiH,qBAAqB,GACjE,CAAExG,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,OAEtD,CAAES,IAAK,aAAcxE,KAAM,4BAC3B,CAAEwE,IAAK,oBAAqBxE,KAAM,QAAS+D,MAAO,OAElD,CACIS,IAAK,sBACLxE,KAAM,WAEV,CAAEwE,IAAK,qBAAsBxE,KAAM,UAAW+D,MAAO,MAAOoH,WAAY,OAsR7DwuF,GAnRM,SAACvjG,GAClB,MAA0BgC,mBAAS,CAC/BgxB,MAAM,EACN+oE,eAAe,EACftpF,KAAM,GACNjH,YAAY,EACZuqB,eAAgB,KAChBytE,iBAAkB,KAClBC,iBAAiB,IAPrB,mBAAOhgG,EAAP,KAAcxB,EAAd,KASA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAClBqoC,EAAc3lC,eAAd2lC,UACF+vD,EAAU/vD,EAAUh8B,SAAS,SAC7B83C,EAAa9b,EAAUh8B,SAAS,YAClCkZ,EAAkB9sB,IAAW+sB,gBAY3BnV,EAAa,SAACtV,EAAMqO,GACtB,OACI,qBAAK1T,MAAO2d,GAAe/D,iBAA3B,SACI,cAAC,IAAD,CAAYjC,aAAa,qBAAqBnX,QAAS,kBAV1CuK,EAUgE2I,OATrF1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,gCAAD,OAAkCvnB,EAAIgqB,gBAC9CtyB,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAHR,IAAChI,QAenB43F,EAAe,SAAC,EAAcvtF,GAAU,IAAtB1B,EAAqB,EAArBA,IACdoG,GADmC,EAAhB2Y,IACbje,SAASC,cAAc,SAC7BuF,EACF,cAACrY,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,SAAxB,SACI,cAAC1V,EAAA,EAAD,UACI,cAAC,IAAD,CACIg3C,eAAgBJ,EAAgB7kC,GAChCklC,YAAallC,EAAIkuF,mBACjBh5F,KAAI,kBAAa8K,EAAIqhB,gBACrB+jB,aAAY,OAACjpB,QAAD,IAACA,OAAD,EAACA,EAAiB+yE,+BAAgCn0C,QAM9E,OADA15C,IAASC,OAAOgF,EAAKF,GACdA,GAGL+oF,EAAqB,SAAC,EAAcztF,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMsiG,EAAiBpvF,IAAM1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,WAA9E,SACKwR,EAAIqvF,sBAIb,OADAhuF,IAASC,OAAOgF,EAAKF,GACdA,GAGLiZ,EAAc,SAAC,EAAc3d,GAAU,IAAtB1B,EAAqB,EAArBA,IACboG,GADkC,EAAhB2Y,IACZje,SAASC,cAAc,SAC7BuF,EAAM,qBAAKha,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,WAAxC,SAAsD8M,IAAW6iB,qBAAqBne,EAAIgoC,qBAEtG,OADA3mC,IAASC,OAAOgF,EAAKF,GACdA,GAGLvH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjBkxE,EAAYloF,EAAStI,MAAK,SAACuI,GAAD,MAA6B,uBAAhBA,EAAQ3N,OAC/C61F,EAAkBnoF,EAAStI,MAAK,SAACuI,GAAD,MAA6B,wBAAhBA,EAAQ3N,OACrDgH,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAC/C6lB,EAAWnY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,sBAAhBA,EAAQ3N,OAelD,OAbI6lB,IACAA,EAAStf,UAAYof,GAErB3e,IACAA,EAAUT,UAAYgH,GAEtBqoF,IACAA,EAAUrvF,UAAYgvF,GAEtBM,IACAA,EAAgBtvF,UAAYkvF,GAGzB/nF,IACR,IAEGgoF,EAAmB,SAACpvF,GACtBzS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2/F,iBAAkB9uF,EAAI0nC,iBACtBqnD,iBAAiB,QAInBS,EAAoB,WACtBjiG,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL4/F,iBAAiB,EACjBjwC,SAAS,QAIX2wC,EAAmB,uCAAG,sBAAAjgG,EAAA,sDACxBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHM,2CAAH,qDAgCnBqlC,EAAkB,SAAClzC,GAAD,OAAU,SAACuD,EAAMzH,GACrCF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL21C,YAAY,EACZ4qD,oBAAqBjiG,EACrB4zB,eAAgB1vB,EAAK0vB,sBAIvBsuE,EAAmB,SAACliG,GACtBF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL21C,YAAY,OAEhBr3C,GAASgiG,KAGPG,EAAY,uCAAG,WAAOniG,GAAP,iBAAA+B,EAAA,6DACbqgG,EAAa,CACbxuE,eAAgBtyB,EAAMsyB,eACtB6sE,mBAAoBn/F,EAAM2gG,qBAHb,SAKDnoD,GAAuBsoD,GALtB,QAKb7+F,EALa,QAMToE,SACJyB,EAAiB7F,EAAIW,KAAK8F,SAC1Bk4F,GAAiB,IAEjB/4F,EAAe5F,EAAIW,KAAK8F,SAVX,2CAAH,sDAcZq4F,EAAY,uCAAG,4BAAAtgG,EAAA,sEACDg4C,KADC,QACbx2C,EADa,QAETW,KAAKyD,QACTyB,EAAiB7F,EAAIW,KAAK8F,SAE1Bb,EAAe5F,EAAIW,KAAK8F,SALX,2CAAH,qDAWZmM,GADQ7U,EAAM4a,eACY,OAAfwS,QAAe,IAAfA,OAAA,EAAAA,EAAiBiyE,wBAAyB,oBAAsB,MAEjF,OACI,sBAAKn+F,UAAU,SAAf,UACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CAAaqY,OAAQA,GAAQzW,UAAU,wBAE3C,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,YAArB,SACI,cAAC,IAAD,CACI4T,KAAMs7C,KACNtV,aAAc,GACd/xC,MAAM,qBACNhL,QA7DO,SAACH,GACxBY,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2vD,SAAS,QA6DpB7uD,UAAU,QACV3D,MAAO,CAAE0X,WAAY,YAI5BgrF,GACG,cAAC/gG,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,YAArB,SACI,cAAC,IAAD,CACI4T,KAAMksF,KACNlmD,aAAc,GACd/xC,MAAM,sBACNhL,QAASgjG,EACT7/F,UAAU,QACV3D,MAAO,CAAE0X,WAAY,eAMpCjV,EAAMuvB,KAEH,cAAC,GAAD,CAAqB+C,eAAgBtyB,EAAMsyB,eAAgBlI,aAAc,kBA/FrDnoB,GA+FkF,EA9F9GzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,YAEVttB,GAAOy+F,KALoB,IAACz+F,KAgGnBjC,EAAMggG,gBAmBP,mCACI,cAACtjG,GAAA,EAAD,CACIC,MAAOqD,EAAM+/F,iBACbjjG,QAAS2jG,EACT1jG,UAAU,EACVE,OAAO,MACPY,WAAYqd,GAAe2kF,iBAL/B,SAOI,qBAAKtiG,MAAO,CAAE2M,MAAO,SAAUjN,OAAQ,SAAvC,SACI,wBACIgE,IAAG,4CAAuCjB,EAAM+/F,iBAA7C,UACHkB,YAAY,IACZ/2F,MAAM,OACNjN,OAAO,OACPM,MAAO,CAAEggC,OAAQ,qBACjB2jE,gBAAgB,OAChBC,cAAY,QACZC,SAAS,YAnCzB,cAAC,GAAD,CACIztF,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OA7CN,gBA8CMmC,SAAUA,EACVG,WAhHE,WACdxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,QA8GE9c,SAAUzS,EAAMyS,SAChBhB,YAAY,iBACZjB,uBAAuB,uBA8B9BxQ,EAAM+vD,QACH,cAACrzD,GAAA,EAAD,CAAYC,MAAO,cAAC,GAAD,IAAeG,QAAS,kBAAM2jG,KAA0B1jG,SAAS,KAAK4nC,YAAU,EAAnG,SACI,cAAC,KAAD,MAEJ,KACH3kC,EAAM+1C,WACH,cAACr5C,GAAA,EAAD,CAAYC,MAAM,SAASG,QAAS,kBAAM8jG,GAAiB,IAAQ7jG,SAAS,KAA5E,SACI,cAAC4oD,GAAD,CAAmBj9C,QAAO,mDAA8C1I,EAAM2gG,oBAApD,KAA4Ex2E,aAAc02E,MAExH,SC/SHQ,GAAwB,SAAC9kG,GAClC,MAAgC2B,qBAAW+8F,IAAnCj7F,EAAR,EAAQA,MAAO4oD,EAAf,EAAeA,aAEf,EAAwBrqD,mBAAS,CAC7BgxB,MAAM,EACN+C,eAAgB,OAFpB,mBAAO1vB,EAAP,KAAaugE,EAAb,KAKAhjE,qBAAU,WACF5D,EAAM+1B,gBACN6wC,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJkyB,eAAgB/1B,EAAM+1B,sBAG/B,IAEH,IAeMgvE,EAAc,SAACh5F,GACjB,OAAIA,GAGG,OAGX,OACI,qBAAKpH,UAAU,oBAAf,SACK0B,EAAK2sB,KACF,cAAC,GAAD,CAAqB+C,eAAgB1vB,EAAK0vB,eAAgBlI,aAjB5C,WACtB+4C,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAO3sB,EAAK2sB,aAgBR,qCACI,cAAC,GAAD,CAAaizB,SAAS,eAAe2J,gBAAiB5vD,EAAM+1B,eAAgB2wB,WAAY1mD,EAAM+1B,iBAC9F,eAACpzB,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,mBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,aAAa3D,MAAO,CAAEsxB,eAAgB,iBAAhE,UACI,eAAC3vB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,EAAGjC,WAAW,SAAS8B,QAAS,EAAzD,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,qCAIJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CAAc62C,YAAan2C,EAAMm/F,mBAAoBh5F,KAAI,kBAAanG,EAAMsyB,gBAAkB+jB,YAAY,SAGlH,cAACn3C,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,EAAGqV,QAAQ,WAAWtX,WAAW,SAA1D,SACI,sBAAK4D,UAAU,4BAAf,UACI,cAAC,KAAD,CACImP,SAAU9T,EAAM+1B,eAChB9hB,uBAAuB,qBACvBF,UAAW/T,EAAM+T,YAJzB,WAOM1N,EAAK2sB,KASH,KARA,cAAC,IAAD,CACIza,KAAM2uD,KACN3oB,aAAc,GACd/xC,MAAM,OACNhL,QAAS,kBAtD9B4X,EAsD8C/S,EAAK0vB,oBArDlE6wC,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,EACN+C,eAAgB3c,OAJN,IAACA,GAuDqBzU,UAAU,QACV3D,MAAO,CAAE0X,WAAY,kBAMzC,eAAC/V,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,YAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,oBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B4hG,EAAYthG,EAAM24C,uBAEpD,eAACz5C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,wBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,0DAEOM,EAAM44C,qBAAuB54C,EAAM44C,qBAAuB,GAFjE,iDAGM54C,EAAM64C,qBAAuB74C,EAAM64C,qBAAuB,GAHhE,iDAIM74C,EAAM+4C,iBAAmB/4C,EAAM+4C,iBAAmB,GAJxD,iDAKM/4C,EAAMg5C,qBAAuBh5C,EAAMg5C,qBAAuB,SAGpE,eAAC95C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,2BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B4hG,EAAYthG,EAAM07F,gCAIxD,eAACx8F,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,aAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,uCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B4hG,EAAYthG,EAAM27F,uCAEpD,eAACz8F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,qBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBpvB,EAAMi5C,wBAExE,cAAC/5C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,OAE3B,eAAC1P,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,YAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,sBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW4iB,cAAcnvB,EAAMk5C,wBAEjE,eAACh6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,oCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B4hG,EAAYthG,EAAM28F,qCAEpD,eAACz9F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,qCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBpvB,EAAM48F,yCAG5E,eAAC19F,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,aAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,qCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW4iB,cAAcnvB,EAAM68F,sCAEjE,eAAC39F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,kCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B4hG,EAAYthG,EAAM47F,wCAEpD,eAAC18F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,wCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBpvB,EAAM67F,4CAG5E,eAAC38F,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,YAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,wCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW4iB,cAAcnvB,EAAM+7F,yCAEjE,eAAC78F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,wCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BkpD,EAAa/iD,QAAQC,KAAI,SAAC0kD,GAAD,gBAAUA,EAAErkD,SAAQo7F,KAAK,iBAK5F,uBAEA,eAACriG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,aAArC,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClF,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAO,CAAEq9C,WAAY,OAAhE,2BAGA,0BAEJ,eAAC17C,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI2B,UAAU,YAAnD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,IACtB,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,sBAGR,cAACR,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAGgG,QAAQ,gBAA3C,SACI,qBAAK1T,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,8BAGR,cAACR,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAGgG,QAAQ,gBAA3C,SACI,qBAAK1T,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,iCAIZ,eAACR,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI2B,UAAU,aAAnD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,oBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SACKM,EAAMi9F,uBAAyB,cAAC,KAAD,CAAW1/F,MAAO,CAAEkC,MAAO,WAAgB,cAAC,KAAD,CAAWA,MAAM,kBAGpG,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,cAA8BM,EAAMk9F,8BAApC,SAEJ,cAACh+F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,UAA6BM,EAAMm9F,8BAAnC,YAGR,eAACj+F,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI2B,UAAU,YAAnD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,qBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SACKM,EAAMo9F,wBAA0B,cAAC,KAAD,CAAW7/F,MAAO,CAAEkC,MAAO,WAAgB,cAAC,KAAD,CAAWA,MAAM,kBAGrG,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,cAA8BM,EAAMq9F,+BAApC,SAEJ,cAACn+F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,UAA6BM,EAAMs9F,+BAAnC,YAGR,eAACp+F,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI2B,UAAU,aAAnD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,uBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SACKM,EAAMu9F,0BAA4B,cAAC,KAAD,CAAWhgG,MAAO,CAAEkC,MAAO,WAAgB,cAAC,KAAD,CAAWA,MAAM,kBAGvG,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,cAA8BM,EAAMw9F,iCAApC,SAEJ,cAACt+F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,UAA6BM,EAAMy9F,iCAAnC,YAGR,eAACv+F,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI2B,UAAU,YAAnD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,sBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SACKM,EAAM09F,yBAA2B,cAAC,KAAD,CAAWngG,MAAO,CAAEkC,MAAO,WAAgB,cAAC,KAAD,CAAWA,MAAM,kBAGtG,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,cAA8BM,EAAM29F,gCAApC,SAEJ,cAACz+F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,UAA6BM,EAAM49F,gCAAnC,YAGR,eAAC1+F,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI2B,UAAU,aAAnD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,oBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SACKM,EAAM69F,uBAAyB,cAAC,KAAD,CAAWtgG,MAAO,CAAEkC,MAAO,WAAgB,cAAC,KAAD,CAAWA,MAAM,kBAGpG,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,cAA8BM,EAAM89F,8BAApC,SAEJ,cAAC5+F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,UAA6BM,EAAM+9F,8BAAnC,YAGR,eAAC7+F,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI2B,UAAU,YAAnD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,sBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SACKM,EAAMg+F,yBAA2B,cAAC,KAAD,CAAWzgG,MAAO,CAAEkC,MAAO,WAAgB,cAAC,KAAD,CAAWA,MAAM,kBAGtG,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,cAA8BM,EAAMi+F,gCAApC,SAEJ,cAAC/+F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,UAA6BM,EAAMk+F,gCAAnC,YAGR,eAACh/F,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI2B,UAAU,aAAnD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,oBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SACKM,EAAMm+F,uBAAyB,cAAC,KAAD,CAAW5gG,MAAO,CAAEkC,MAAO,WAAgB,cAAC,KAAD,CAAWA,MAAM,kBAGpG,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,cAA8BM,EAAMo+F,8BAApC,SAEJ,cAACl/F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,UAA6BM,EAAMq+F,8BAAnC,YAGR,eAACn/F,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI2B,UAAU,YAAnD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,0BAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SACKM,EAAMs+F,4BAA8B,cAAC,KAAD,CAAW/gG,MAAO,CAAEkC,MAAO,WAAgB,cAAC,KAAD,CAAWA,MAAM,kBAGzG,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,cAA8BM,EAAMu+F,mCAApC,SAEJ,cAACr/F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,eAAClF,GAAA,EAAD,CAAYhK,QAAQ,QAApB,UAA6BM,EAAMw+F,mCAAnC,qBAiBjBtwE,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAA2BA,QC9VjCob,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,iBAAkByR,KAAM,iBAChC,CAAEzR,KAAM,2BAA4ByR,KAAM,IAAKC,QAAQ,IAG5C,SAAS2pF,GAAiBjlG,GACrC,IAAMqB,EAAKrB,EAAM2P,MAAMC,OAAOvO,GACxB0S,EAAY/T,EAAMgP,SAASvL,MAAMsQ,UACnC8c,EAAkB9sB,IAAW+sB,gBAE3BiqE,EAAI,CACN,CACIvuF,MAAO,YACPyqD,KACI,mCACI,cAAC,GAAD,CAAuBlhC,eAAgB10B,EAAI0S,UAAWA,QAL5D,qBASa,OAAf8c,QAAe,IAAfA,OAAA,EAAAA,EAAiB0gC,cACf,CACI,CACI/kD,MAAO,QACPyqD,KAAM,cAAC,GAAD,CAAehR,SAAS,gBAAgB2J,gBAAiBvuD,EAAIqlD,WAAYrlD,MAGvF,KAGV,OACI,sBAAKsD,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,GAAQzW,UAAU,yBAAyB4sB,EAAG,IACnE,cAAC,IAAD,CAAS8pE,QAASN,EAAM15F,GAAG,oBCzCxB,WAA0B,iDCWnCu1D,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,WACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,eARO0+C,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,sBAAuB,CACnBi3B,gBAAiB,eAHNqf,CAMnB6V,MAEEtsD,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrC7K,MAAO,CACHia,SAAU,OACVnX,MAAO,UACPwV,WAAY,IACZ4Y,YAAa,GAEjBhR,OAAQ,CACJ3S,MAAO,OACPjN,OAAQ,OACRI,QAAS,OACTwxB,eAAgB,SAChBvxB,WAAY,SACZ0D,UAAW,SAIb8O,GAAU,CACZ,CAAEnF,IAAK,eAAgBxE,KAAM,UAAW+D,MAAO,OAE/C,CACIS,IAAK,QACLxE,KAAM,QACN+D,MAAO,MAEX,CAAES,IAAK,OAAQxE,KAAM,OAAQ+D,MAAO,OACpC,CAAES,IAAK,UAAWxE,KAAM,UAAW+D,MAAO,OAC1C,CAAES,IAAK,SAAUxE,KAAM,SAAUs7F,KAAM,IA+H5BC,GA5HO,SAACnlG,GACnB,MAA0BgC,mBAAS,CAC/B4O,OAAQ,GACRw0F,KAAM,GACN1jF,KAAM,GACN2jF,WAAW,IAJf,mBAAO5hG,EAAP,KAAcxB,EAAd,KAMM0J,EAAUZ,KAEhB,EAA6CtJ,eAAnB6J,GAA1B,EAAQC,iBAAR,EAA0BD,gBAqBpBsiB,EAAY,uCAAG,8BAAA1pB,EAAA,0DACbT,EAAM6hG,WAAY7hG,EAAM8hG,aADX,uBAEbtjG,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2hG,WAAW,QAChCn/F,EAAO,IAAIk3C,UAEZkoD,OAAOhiG,EAAM6hG,SAAU7hG,EAAM8hG,cALrB,SAMGn8E,GAAkB/iB,GANrB,QAMTX,EANS,QAOLoE,QACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6d,KAAMhc,EAAIW,KAAKX,SAE1C4F,EAAe5F,EAAIyG,SAVV,2CAAH,qDAelB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,eAAtC,UACI,cAAC6yD,GAAA,EAAD,CAAgBroD,UAAW4rB,KAAO/5B,MAAO,CAAEggC,OAAQ,6BAA+Br8B,UAAU,gBAA5F,SACI,cAACgzD,GAAA,EAAD,CAAOsN,cAAY,EAAC7qD,aAAW,eAAezV,UAAWgH,EAAQ22D,MAAjE,SACI,eAAC1K,GAAA,EAAD,CAAW52D,MAAO,CAAEN,OAAQ,OAAQD,SAAU,QAA9C,UACI,cAAC,GAAD,UACI,cAAC,GAAD,CAAiB0O,UAAU,KAA3B,SACI,cAAChC,GAAA,EAAD,CAAYjK,MAAM,YAAlB,SACI,uDAIZ,cAAC,GAAD,UACI,cAAC,GAAD,CAAiBkK,MAAM,OAAvB,SACI,eAACD,GAAA,EAAD,0DACiD,IAI7C,mBAAGqkF,KAAMkU,GAAcC,UAAQ,EAAC3kG,MAAO,CAAE07D,eAAgB,QAAzD,4DALJ,6DASI,+BACI,2EACA,wKAIA,iGAAoE18D,EAAM4J,QAC1E,6JAOhB,cAAC,GAAD,UACI,eAAC,GAAD,CAAiBwD,MAAM,OAAvB,UACI,cAACjJ,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,uBAGA,uBAAO9F,KAAK,OAAO9G,GAAG,aAAasN,OAAO,oBAAoBtJ,KAAK,OAAO6C,SA5EjF,SAACX,GAClB,IAAQmH,EAAUnH,EAAEE,OAAZiH,MACJA,EAAMjB,QACN/P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkByhG,SAAUryF,EAAM,GAAGrJ,KAAM27F,aAActyF,EAAM,WA0EpD,cAAC7N,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOw0F,YAG5C,cAAC,GAAD,UACI,cAAC,GAAD,CAAiBh4F,MAAM,OAAvB,SACI,eAACD,GAAA,EAAD,WACI,6GACA,eAACxK,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiBtiB,UAAWhL,EAAM8hG,aAAc/jG,QAASosB,EAAcxqB,WAAS,EAACuB,UAAU,aAA3F,8BAIJ,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiBvvB,QAASxB,EAAMO,QAAS6C,WAAS,EAACuB,UAAU,aAA7D,yBATZ,6IAsBnBlB,EAAMie,MAAQje,EAAMie,KAAK1P,OAAS,GAC/B,cAACrP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAU0e,KAAMje,EAAMie,KAAMnO,QAASA,GAAS2P,UAAQ,EAACxiB,OAAQ,YClLpE,OAA0B,iDCWnCk2D,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,WACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,eARO0+C,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,sBAAuB,CACnBi3B,gBAAiB,eAHNqf,CAMnB6V,MAEEtsD,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrC7K,MAAO,CACHia,SAAU,OACVnX,MAAO,UACPwV,WAAY,IACZ4Y,YAAa,GAEjBhR,OAAQ,CACJ3S,MAAO,OACPjN,OAAQ,OACRI,QAAS,OACTwxB,eAAgB,SAChBvxB,WAAY,SACZ0D,UAAW,SAIb8O,GAAU,CACZ,CAAEnF,IAAK,eAAgBxE,KAAM,UAAW+D,MAAO,MAE/C,CACIS,IAAK,kBACLxE,KAAM,aACN+D,MAAO,MAEX,CAAES,IAAK,iBAAkBxE,KAAM,YAAa+D,MAAO,MACnD,CAAES,IAAK,UAAWxE,KAAM,UAAW+D,MAAO,MAC1C,CAAES,IAAK,YAAaxE,KAAM,aAAc+D,MAAO,KAAMgH,UAAW3E,IAAWE,eAC3E,CAAE9B,IAAK,YAAaxE,KAAM,aAAc+D,MAAO,MAC/C,CAAES,IAAK,UAAWxE,KAAM,WAAY+D,MAAO,KAAMgH,UAAW3E,IAAWE,eACvE,CAAE9B,IAAK,UAAWxE,KAAM,WAAY+D,MAAO,MAC3C,CAAES,IAAK,eAAgBxE,KAAM,gBAAiB+D,MAAO,MACrD,CAAES,IAAK,aAAcxE,KAAM,cAAe+D,MAAO,MACjD,CAAES,IAAK,gBAAiBxE,KAAM,iBAAkB+D,MAAO,MACvD,CAAES,IAAK,cAAexE,KAAM,eAAgB+D,MAAO,MACnD,CAAES,IAAK,QAASxE,KAAM,QAASs7F,KAAM,GACrC,CAAE92F,IAAK,SAAUxE,KAAM,SAAUs7F,KAAM,IA+H5BU,GA5HO,SAAC5lG,GACnB,MAA0BgC,mBAAS,CAC/B4O,OAAQ,GACRw0F,KAAM,GACN1jF,KAAM,GACN2jF,WAAW,IAJf,mBAAO5hG,EAAP,KAAcxB,EAAd,KAOM0J,EAAUZ,KAEhB,EAA6CtJ,eAAnB6J,GAA1B,EAAQC,iBAAR,EAA0BD,gBAqBpBsiB,EAAY,uCAAG,8BAAA1pB,EAAA,0DACbT,EAAM6hG,WAAY7hG,EAAM8hG,aADX,uBAEbtjG,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2hG,WAAW,QAChCn/F,EAAO,IAAIk3C,UACZkoD,OAAOhiG,EAAM6hG,SAAU7hG,EAAM8hG,cAJrB,SAKGl8E,GAAkBhjB,GALrB,QAKTX,EALS,QAMLoE,QACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6d,KAAMhc,EAAIW,KAAKX,SAE1C4F,EAAe5F,EAAIyG,SATV,2CAAH,qDAclB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,eAAtC,UACI,cAAC6yD,GAAA,EAAD,CAAgBroD,UAAW4rB,KAAO/5B,MAAO,CAAEggC,OAAQ,6BAA+Br8B,UAAU,gBAA5F,SACI,cAACgzD,GAAA,EAAD,CAAOsN,cAAY,EAAC7qD,aAAW,eAAezV,UAAWgH,EAAQ22D,MAAjE,SACI,eAAC1K,GAAA,EAAD,CAAW52D,MAAO,CAAEN,OAAQ,OAAQD,SAAU,QAA9C,UACI,cAAC,GAAD,UACI,cAAC,GAAD,CAAiB0O,UAAU,KAA3B,SACI,cAAChC,GAAA,EAAD,CAAYjK,MAAM,YAAlB,SACI,uDAIZ,cAAC,GAAD,UACI,cAAC,GAAD,CAAiBkK,MAAM,OAAvB,SACI,eAACD,GAAA,EAAD,yDACgD,IAI5C,mBAAGqkF,KAAMkU,GAAcC,UAAQ,EAAC3kG,MAAO,CAAE07D,eAAgB,QAAzD,4DALJ,6DASI,+BACI,2EACA,wKAIA,gGAAmE18D,EAAM4J,QACzE,6JAOhB,cAAC,GAAD,UACI,eAAC,GAAD,CAAiBwD,MAAM,OAAvB,UACI,cAACjJ,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,uBAGA,uBAAO9F,KAAK,OAAO9G,GAAG,aAAasN,OAAO,oBAAoBtJ,KAAK,OAAO6C,SA3EjF,SAACX,GAClB,IAAQmH,EAAUnH,EAAEE,OAAZiH,MACJA,EAAMjB,QACN/P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkByhG,SAAUryF,EAAM,GAAGrJ,KAAM27F,aAActyF,EAAM,WAyEpD,cAAC7N,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOw0F,YAG5C,cAAC,GAAD,UACI,cAAC,GAAD,CAAiBh4F,MAAM,OAAvB,SACI,eAACD,GAAA,EAAD,WACI,6GACA,eAACxK,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiBtiB,UAAWhL,EAAM8hG,aAAc/jG,QAASosB,EAAcxqB,WAAS,EAACuB,UAAU,aAA3F,8BAIJ,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiBvvB,QAASxB,EAAMO,QAAS6C,WAAS,EAACuB,UAAU,aAA7D,yBATZ,6IAsBnBlB,EAAMie,MAAQje,EAAMie,KAAK1P,OAAS,GAC/B,cAACrP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAU0e,KAAMje,EAAMie,KAAMnO,QAASA,GAAS2P,UAAQ,EAACxiB,OAAQ,YC3LpE,OAA0B,yDCYnCk2D,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,WACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,eARO0+C,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,sBAAuB,CACnBi3B,gBAAiB,eAHNqf,CAMnB6V,MAEEtsD,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrC7K,MAAO,CACHia,SAAU,OACVnX,MAAO,UACPwV,WAAY,IACZ4Y,YAAa,GAEjBhR,OAAQ,CACJ3S,MAAO,OACPjN,OAAQ,OACRI,QAAS,OACTwxB,eAAgB,SAChBvxB,WAAY,SACZ0D,UAAW,SAIb8O,GAAU,CACZ,CAAEnF,IAAK,eAAgBxE,KAAM,UAAW+D,MAAO,MAC/C,CAAES,IAAK,iBAAkBxE,KAAM,gBAAiB+D,MAAO,MAAOgH,UAAW3E,IAAWE,eACpF,CAAE9B,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,YAAaxE,KAAM,aAAc+D,MAAO,OAC/C,CAAES,IAAK,0BAA2BxE,KAAM,mBAAoB+D,MAAO,OACnE,CAAES,IAAK,gBAAiBxE,KAAM,iBAAkB+D,MAAO,OACvD,CAAES,IAAK,QAASxE,KAAM,QAASs7F,KAAM,GACrC,CAAE92F,IAAK,SAAUxE,KAAM,SAAUs7F,KAAM,IA+H5BW,GA5HI,SAAC7lG,GAChB,MAA0BgC,mBAAS,CAC/B4O,OAAQ,GACRw0F,KAAM,GACN1jF,KAAM,GACN2jF,WAAW,IAJf,mBAAO5hG,EAAP,KAAcxB,EAAd,KAOM0J,EAAUZ,KAEhB,EAA6CtJ,eAAnB6J,GAA1B,EAAQC,iBAAR,EAA0BD,gBAqBpBsiB,EAAY,uCAAG,8BAAA1pB,EAAA,0DACbT,EAAM6hG,WAAY7hG,EAAM8hG,aADX,uBAEbtjG,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2hG,WAAW,QAChCn/F,EAAO,IAAIk3C,UACZkoD,OAAOhiG,EAAM6hG,SAAU7hG,EAAM8hG,cAJrB,SAKG77E,GAAerjB,GALlB,QAKTX,EALS,QAMLoE,QACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6d,KAAMhc,EAAIW,KAAKX,SAE1C4F,EAAe5F,EAAIyG,SATV,2CAAH,qDAclB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,eAAtC,UACI,cAAC6yD,GAAA,EAAD,CAAgBroD,UAAW4rB,KAAO/5B,MAAO,CAAEggC,OAAQ,6BAA+Br8B,UAAU,gBAA5F,SACI,cAACgzD,GAAA,EAAD,CAAOsN,cAAY,EAAC7qD,aAAW,eAAezV,UAAWgH,EAAQ22D,MAAjE,SACI,eAAC1K,GAAA,EAAD,CAAW52D,MAAO,CAAEN,OAAQ,OAAQD,SAAU,QAA9C,UACI,cAAC,GAAD,UACI,cAAC,GAAD,CAAiB0O,UAAU,KAA3B,SACI,cAAChC,GAAA,EAAD,CAAYjK,MAAM,YAAlB,SACI,uDAIZ,cAAC,GAAD,UACI,cAAC,GAAD,CAAiBkK,MAAM,OAAvB,SACI,eAACD,GAAA,EAAD,8DACqD,IAIjD,mBAAGqkF,KAAMkU,GAAcC,UAAQ,EAAC3kG,MAAO,CAAE07D,eAAgB,QAAzD,4DALJ,6DASI,+BACI,2EACA,wKAIA,qGAAwE18D,EAAM4J,QAC9E,6JAOhB,cAAC,GAAD,UACI,eAAC,GAAD,CAAiBwD,MAAM,OAAvB,UACI,cAACjJ,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,uBAGA,uBAAO9F,KAAK,OAAO9G,GAAG,aAAasN,OAAO,oBAAoBtJ,KAAK,OAAO6C,SA3EjF,SAACX,GAClB,IAAQmH,EAAUnH,EAAEE,OAAZiH,MACJA,EAAMjB,QACN/P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkByhG,SAAUryF,EAAM,GAAGrJ,KAAM27F,aAActyF,EAAM,WAyEpD,cAAC7N,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOw0F,YAG5C,cAAC,GAAD,UACI,cAAC,GAAD,CAAiBh4F,MAAM,OAAvB,SACI,eAACD,GAAA,EAAD,WACI,6GACA,eAACxK,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiBtiB,UAAWhL,EAAM8hG,aAAc/jG,QAASosB,EAAcxqB,WAAS,EAACuB,UAAU,aAA3F,oCAIJ,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiBvvB,QAASxB,EAAMO,QAAS6C,WAAS,EAACuB,UAAU,aAA7D,yBATZ,6IAsBnBlB,EAAMie,MAAQje,EAAMie,KAAK1P,OAAS,GAC/B,cAACrP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAU0e,KAAMje,EAAMie,KAAMnO,QAASA,GAAS2P,UAAQ,EAACxiB,OAAQ,YC/KtEolG,GAAmB,uCAAG,WAAOC,GAAP,eAAA7hG,EAAA,sEACfsB,aAAa,kBAAD,OAAmBugG,IADhB,cAC3BrgG,EAD2B,yBAExBA,GAFwB,2CAAH,sDAUnBsgG,GAA0B,uCAAG,WAAO3kG,GAAP,eAAA6C,EAAA,sEACtBsB,aAAa,iCAAD,OAAkCnE,IADxB,cAClCqE,EADkC,yBAE/BA,GAF+B,2CAAH,sDCLjCkxD,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,WACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,eARO0+C,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,qBAAsB,CAClBi3B,gBAAiB,eAHNqf,CAMnB6V,MAES4uC,GAAc,SAACjmG,GACxB,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpB46F,EAAa,uCAAG,4BAAAhiG,EAAA,sEACF8hG,GAA2BhmG,EAAMmmG,aAD/B,QACdzgG,EADc,QAEVoE,SACJyB,EAAiB,oCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SANL,2CAAH,qDASnB,OACI,eAACxJ,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGkuB,GAAI,GAAI/tB,GAAI,GAAIguB,GAAI,GAArD,UACI,cAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,uHAGA,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBI,WAAS,EAACuB,UAAU,aAAanD,QAAS0kG,EAA3D,uBAIJ,cAACvjG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAAS,kBAAMxB,EAAMO,SAAQ,IAAQ6C,WAAS,EAACuB,UAAU,aAA1E,0BAQHyhG,GAAuB,SAACpmG,GACjC,OACI,gCACMA,EAAMwL,WAoEJ,qBAAKxK,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,GAAD,MApEJ,gCACI,cAAC6pD,GAAA,EAAD,CAAgBroD,UAAW4rB,KAAOp2B,UAAU,gBAA5C,SACI,eAACgzD,GAAA,EAAD,CAAOsN,cAAY,EAAC7qD,aAAW,eAA/B,UACI,cAACoiD,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACI,cAAC,GAAD,CAAiB1pD,MAAM,MAAvB,oBACA,cAAC,GAAD,CAAiBA,MAAM,MAAvB,qBACA,cAAC,GAAD,CAAiBA,MAAM,MAAvB,4BAGR,cAACiqD,GAAA,EAAD,UACK53D,EAAMqmG,QAAQC,YAAYt0F,OAAS,GAChChS,EAAMqmG,QAAQC,YAAY/8F,KAAI,SAACgoB,GAC3B,OACI,eAAC,GAAD,WACI,cAAC,GAAD,UAAkBA,EAAE7a,YACpB,cAAC,GAAD,UACK6a,EAAEg1E,aACC,sBAAMvlG,MAAO,CAAEkC,MAAO,SAAtB,sCAEA,sBAAMlC,MAAO,CAAEkC,MAAO,OAAtB,mCAGR,cAAC,GAAD,UACKquB,EAAEi1E,iCACC,sBAAMxlG,MAAO,CAAEkC,MAAO,SAAtB,yCAEA,sBAAMlC,MAAO,CAAEkC,MAAO,OAAtB,mDASpC,uBACA,cAACs0D,GAAA,EAAD,CAAgBroD,UAAW4rB,KAAOp2B,UAAU,gBAA5C,SACI,eAACgzD,GAAA,EAAD,CAAOsN,cAAY,EAAC7qD,aAAW,eAA/B,UACI,cAACoiD,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACI,cAAC,GAAD,CAAiB1pD,MAAM,MAAvB,wBACA,cAAC,GAAD,CAAiBA,MAAM,MAAvB,0BAGR,cAACiqD,GAAA,EAAD,UACK53D,EAAMqmG,QAAQI,wBAAwBz0F,OAAS,GAC5ChS,EAAMqmG,QAAQI,wBAAwBl9F,KAAI,SAACgoB,GACvC,OACI,eAAC,GAAD,WACI,cAAC,GAAD,UAAkBA,EAAEm1E,iBACpB,cAAC,GAAD,UACKn1E,EAAEg1E,aACC,sBAAMvlG,MAAO,CAAEkC,MAAO,SAAtB,sCAEA,sBAAMlC,MAAO,CAAEkC,MAAO,OAAtB,qDASpC,0BAOR,cAAC,IAAD,CAAiB1B,QAAS,kBAAMxB,EAAMO,SAAQ,GAAM,IAAO6C,WAAS,EAACuB,UAAU,aAA/E,wB,0CC/HN4O,GAAU,CACZ,CAAEnF,IAAK,MAAOxE,KAAM,UACpB,CAAEwE,IAAK,OAAQxE,KAAM,QACrB,CAAEwE,IAAK,QAASxE,KAAM,UAiDX+8F,GA9CS,SAAC3mG,GACrB,MAAwBgC,mBAAS,CAC7B4kG,aAAa,EACbC,aAAa,EACbC,oBAAqB,GACrBC,cAAe,KAJnB,mBAAO1gG,EAAP,KAAaugE,EAAb,KAOAhjE,oBAAS,sBAAC,8BAAAM,EAAA,0DACFlE,EAAMqkB,WADJ,gCAEc0F,GAA+B/pB,EAAMqkB,YAFnD,cAEE3e,EAFF,QAGMoE,SACJ88D,GAAQ,SAAC/iE,GAAD,yBAAC,eAAaA,GAAd,IAAkBijG,qBAAwB,OAAHphG,QAAG,IAAHA,GAAA,UAAAA,EAAKW,YAAL,eAAW4V,OAAQ,GAAI2qF,aAAa,OAJrF,SAMe58E,GAA0BhqB,EAAMqkB,YAN/C,QAME+wC,EANF,QAOOtrD,SACL88D,GAAQ,SAAC/iE,GAAD,yBAAC,eAAaA,GAAd,IAAkBkjG,eAAmB,OAAJ3xC,QAAI,IAAJA,GAAA,UAAAA,EAAM/uD,YAAN,eAAY4V,OAAQ,GAAI4qF,aAAa,OARhF,2CAWP,IAEH,IAAMG,EAAU,CACZ,CACIx6F,MAAO,2BACPyqD,KACI,qBAAKj2D,MAAO,CAAEyD,UAAW,GAAzB,SACI,cAAC,IAAD,CAAUid,KAAMrb,EAAKygG,oBAAqBvzF,QAASA,GAAS7S,OAAQ,IAAKuiB,YAAa5c,EAAKugG,iBAIvG,CACIp6F,MAAO,sBACPyqD,KACI,qBAAKj2D,MAAO,CAAEyD,UAAW,GAAzB,SACI,cAAC,IAAD,CAAUid,KAAMrb,EAAK0gG,cAAexzF,QAASA,GAAS7S,OAAQ,IAAKuiB,YAAa5c,EAAKwgG,kBAMrG,OACI,qBAAKliG,UAAU,oBAAf,SACI,cAAC,IAAD,CAAS02F,QAAS2L,OCrDf,OAA0B,+CCWnCpwC,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,WACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,eARO0+C,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,sBAAuB,CACnBi3B,gBAAiB,eAHNqf,CAMnB6V,MAEEtsD,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrC7K,MAAO,CACHia,SAAU,OACVnX,MAAO,UACPwV,WAAY,IACZ4Y,YAAa,GAEjBhR,OAAQ,CACJ3S,MAAO,OACPjN,OAAQ,OACRI,QAAS,OACTwxB,eAAgB,SAChBvxB,WAAY,SACZ0D,UAAW,SAIb8O,GAAU,CACZ,CAAEnF,IAAK,eAAgBxE,KAAM,UAAW+D,MAAO,OAC/C,CAAES,IAAK,QAASxE,KAAM,QAAS+D,MAAO,OACtC,CAAES,IAAK,OAAQxE,KAAM,OAAQ+D,MAAO,MAAOgH,UAAW3E,IAAWE,eACjE,CAAE9B,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,QAgH7Bs5F,GA7GK,SAACjnG,GACjB,MAA0BgC,mBAAS,CAC/B4O,OAAQ,GACRw0F,KAAM,GACN1jF,KAAM,GACN2jF,WAAW,IAJf,mBAAO5hG,EAAP,KAAcxB,EAAd,KAOM0J,EAAUZ,KAEhB,EAA6CtJ,eAAnB6J,GAA1B,EAAQC,iBAAR,EAA0BD,gBASpBsiB,EAAY,uCAAG,8BAAA1pB,EAAA,0DACbT,EAAM6hG,WAAY7hG,EAAM8hG,aADX,uBAEbtjG,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2hG,WAAW,QAChCn/F,EAAO,IAAIk3C,UACZkoD,OAAOhiG,EAAM6hG,SAAU7hG,EAAM8hG,cAJrB,SAKGj8E,GAAgBtpB,EAAMqkB,WAAYhe,GALrC,QAKTX,EALS,QAMLoE,QACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6d,KAAMhc,EAAIW,KAAKX,SAE1C4F,EAAe5F,EAAIyG,SATV,2CAAH,qDAclB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,eAAtC,UACI,cAAC6yD,GAAA,EAAD,CAAgBroD,UAAW4rB,KAAO/5B,MAAO,CAAEggC,OAAQ,6BAA+Br8B,UAAU,gBAA5F,SACI,cAACgzD,GAAA,EAAD,CAAOsN,cAAY,EAAC7qD,aAAW,eAAezV,UAAWgH,EAAQ22D,MAAjE,SACI,eAAC1K,GAAA,EAAD,CAAW52D,MAAO,CAAEN,OAAQ,OAAQD,SAAU,QAA9C,UACI,cAAC,GAAD,UACI,cAAC,GAAD,CAAiB0O,UAAU,KAA3B,SACI,cAAChC,GAAA,EAAD,CAAYjK,MAAM,YAAlB,SACI,uDAIZ,cAAC,GAAD,UACI,cAAC,GAAD,CAAiBkK,MAAM,OAAvB,SACI,eAACD,GAAA,EAAD,wDAC+C,IAC3C,mBAAGqkF,KAAMkU,GAAcC,UAAQ,EAAC3kG,MAAO,CAAE07D,eAAgB,QAAzD,4DAFJ,6DAMI,+BACI,2EACA,wKAIA,+GAAkF18D,EAAM4J,QACxF,6JAOhB,cAAC,GAAD,UACI,eAAC,GAAD,CAAiBwD,MAAM,OAAvB,UACI,cAACjJ,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,uBAGA,uBAAO9F,KAAK,OAAO9G,GAAG,aAAasN,OAAO,oBAAoBtJ,KAAK,OAAO6C,SA5DjF,SAACX,GAClB,IAAQmH,EAAUnH,EAAEE,OAAZiH,MACJA,EAAMjB,QACN/P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkByhG,SAAUryF,EAAM,GAAGrJ,KAAM27F,aAActyF,EAAM,WA0DpD,cAAC7N,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOw0F,YAG5C,cAAC,GAAD,UACI,cAAC,GAAD,CAAiBh4F,MAAM,OAAvB,SACI,eAACD,GAAA,EAAD,WACI,6GACA,eAACxK,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiBtiB,UAAWhL,EAAM8hG,aAAc/jG,QAASosB,EAAcxqB,WAAS,EAACuB,UAAU,aAA3F,4BAIJ,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiBvvB,QAASxB,EAAMO,QAAS6C,WAAS,EAACuB,UAAU,aAA7D,yBATZ,6IAsBnBlB,EAAMie,MAAQje,EAAMie,KAAK1P,OAAS,GAC/B,cAACrP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAU0e,KAAMje,EAAMie,KAAMnO,QAASA,GAAS2P,UAAQ,EAACxiB,OAAQ,YC7JpE,OAA0B,sDCWnCk2D,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,WACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,eARO0+C,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,sBAAuB,CACnBi3B,gBAAiB,eAHNqf,CAMnB6V,MAEEtsD,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrC7K,MAAO,CACHia,SAAU,OACVnX,MAAO,UACPwV,WAAY,IACZ4Y,YAAa,GAEjBhR,OAAQ,CACJ3S,MAAO,OACPjN,OAAQ,OACRI,QAAS,OACTwxB,eAAgB,SAChBvxB,WAAY,SACZ0D,UAAW,SAIb8O,GAAU,CACZ,CAAEnF,IAAK,eAAgBxE,KAAM,UAAW+D,MAAO,OAC/C,CAAES,IAAK,eAAgBxE,KAAM,gBAAiB+D,MAAO,OACrD,CAAES,IAAK,OAAQxE,KAAM,OAAQ+D,MAAO,MAAOgH,UAAW3E,IAAWE,eACjE,CAAE9B,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,QAgH7Bu5F,GA7GY,SAAClnG,GACxB,MAA0BgC,mBAAS,CAC/B4O,OAAQ,GACRw0F,KAAM,GACN1jF,KAAM,GACN2jF,WAAW,IAJf,mBAAO5hG,EAAP,KAAcxB,EAAd,KAOM0J,EAAUZ,KAEhB,EAA6CtJ,eAAnB6J,GAA1B,EAAQC,iBAAR,EAA0BD,gBASpBsiB,EAAY,uCAAG,8BAAA1pB,EAAA,0DACbT,EAAM6hG,WAAY7hG,EAAM8hG,aADX,uBAEbtjG,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2hG,WAAW,QAChCn/F,EAAO,IAAIk3C,UACZkoD,OAAOhiG,EAAM6hG,SAAU7hG,EAAM8hG,cAJrB,SAKG97E,GAAuBzpB,EAAMqkB,WAAYhe,GAL5C,QAKTX,EALS,QAMLoE,QACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6d,KAAMhc,EAAIW,KAAKX,SAE1C4F,EAAe5F,EAAIyG,SATV,2CAAH,qDAclB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,eAAtC,UACI,cAAC6yD,GAAA,EAAD,CAAgBroD,UAAW4rB,KAAO/5B,MAAO,CAAEggC,OAAQ,6BAA+Br8B,UAAU,gBAA5F,SACI,cAACgzD,GAAA,EAAD,CAAOsN,cAAY,EAAC7qD,aAAW,eAAezV,UAAWgH,EAAQ22D,MAAjE,SACI,eAAC1K,GAAA,EAAD,CAAW52D,MAAO,CAAEN,OAAQ,OAAQD,SAAU,QAA9C,UACI,cAAC,GAAD,UACI,cAAC,GAAD,CAAiB0O,UAAU,KAA3B,SACI,cAAChC,GAAA,EAAD,CAAYjK,MAAM,YAAlB,SACI,uDAIZ,cAAC,GAAD,UACI,cAAC,GAAD,CAAiBkK,MAAM,OAAvB,SACI,eAACD,GAAA,EAAD,gEACuD,IACnD,mBAAGqkF,KAAMkU,GAAcC,UAAQ,EAAC3kG,MAAO,CAAE07D,eAAgB,QAAzD,4DAFJ,6DAMI,+BACI,2EACA,wKAIA,qHAAwF18D,EAAM4J,QAC9F,6JAOhB,cAAC,GAAD,UACI,eAAC,GAAD,CAAiBwD,MAAM,OAAvB,UACI,cAACjJ,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,uBAGA,uBAAO9F,KAAK,OAAO9G,GAAG,aAAasN,OAAO,oBAAoBtJ,KAAK,OAAO6C,SA5DjF,SAACX,GAClB,IAAQmH,EAAUnH,EAAEE,OAAZiH,MACJA,EAAMjB,QACN/P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkByhG,SAAUryF,EAAM,GAAGrJ,KAAM27F,aAActyF,EAAM,WA0DpD,cAAC7N,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOw0F,YAG5C,cAAC,GAAD,UACI,cAAC,GAAD,CAAiBh4F,MAAM,OAAvB,SACI,eAACD,GAAA,EAAD,WACI,6GACA,eAACxK,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiBtiB,UAAWhL,EAAM8hG,aAAc/jG,QAASosB,EAAcxqB,WAAS,EAACuB,UAAU,aAA3F,oCAIJ,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiBvvB,QAASxB,EAAMO,QAAS6C,WAAS,EAACuB,UAAU,aAA7D,yBATZ,6IAsBnBlB,EAAMie,MAAQje,EAAMie,KAAK1P,OAAS,GAC/B,cAACrP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAU0e,KAAMje,EAAMie,KAAMnO,QAASA,GAAS2P,UAAQ,EAACxiB,OAAQ,Y,UCzH7E8pB,GAAU,CACZ,CAAEnpB,GAAI,EAAGuI,KAAM,UACf,CAAEvI,GAAI,EAAGuI,KAAM,WACf,CAAEvI,GAAI,EAAGuI,KAAM,aACf,CAAEvI,GAAI,EAAGuI,KAAM,YACf,CAAEvI,GAAI,EAAGuI,KAAM,UACf,CAAEvI,GAAI,EAAGuI,KAAM,aAGNu9F,GAAoB,SAACnnG,GAC9B,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAgE3J,qBAAW2oB,IAAnE7mB,EAAR,EAAQA,MAAO0oB,EAAf,EAAeA,aAAcE,EAA7B,EAA6BA,iBAAkBqC,EAA/C,EAA+CA,aAEzCg1E,EADgB11F,eAAd2lC,UACkBh8B,SAAS,SAC/BkZ,EAAkB9sB,IAAW+sB,gBAEjC,EAAkC9uB,mBAAS,CACvColG,oBAAqB,KACrBC,SAAU,KACVC,aAAc,OAHlB,mBAAOC,EAAP,KAAkBC,EAAlB,KAMA,EAA8BxlG,mBAAS,CAAEylG,UAAU,EAAOC,YAAa,GAAI10E,MAAM,EAAM20E,WAAW,EAAOC,SAAS,IAAlH,mBAAOC,EAAP,KAAgBC,EAAhB,KACA,EAA8B9lG,mBAAS,IAAvC,mBAAOqkG,EAAP,KAAgB0B,EAAhB,KAEA,EAAwB/lG,mBAAS,CAC7BgxB,MAAM,EACNzJ,WAAY,OAFhB,mBAAOljB,EAAP,KAAaugE,EAAb,KAKAhjE,qBAAU,WACF5D,EAAMqkB,YACNuiD,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJ0lB,WAAYvpB,EAAMqkB,kBAG3B,IAEHzgB,qBAAU,WAAO,IAAD,UACRokG,EAAO,UAAG77E,EAAaN,qBAAhB,iBAAG,EAA4BqS,QAAO,SAACvR,GAC9C,OAAOA,EAAEtrB,IAAMoC,EAAMwhB,4BACtB,UAFQ,aAAG,EAEPrb,KACHq+F,EAAY,UAAG97E,EAAa+7E,oBAAhB,iBAAG,EAA2BhqE,QAAO,SAACvR,GAClD,OAAOA,EAAEtrB,IAAMoC,EAAM0kG,sBACtB,UAFa,aAAG,EAEZv+F,KACHw+F,EAAO,OAAG59E,SAAH,IAAGA,IAAH,UAAGA,GAAS0T,QAAO,SAACvR,GAC3B,OAAOA,EAAEtrB,IAAMoC,EAAMiiB,2BACtB,UAFQ,aAAG,EAEP9b,KACP49F,GAAa,SAAC3jG,GAAD,mBAAC,eACPA,GADM,IAETujG,oBAAqBY,EACrBX,SAAUY,EACVX,aAAcc,SAEnB,CAAC3kG,EAAMwhB,yBAA0BxhB,EAAM0kG,mBAAoB1kG,EAAMiiB,0BAEpE,IAAM8V,EAAY,SAACn6B,EAAIuI,GACnBg9D,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,kBAEH+F,GAAO,QAIhBhG,qBAAU,WACNykG,MACD,CAAC5kG,EAAM4jB,kCAEV,IAAMghF,EAAyB,WAC3B,IAAIX,GAAc,EACZjxF,EACFhT,EADEgT,oBAAqBkO,EACvBlhB,EADuBkhB,iBAAkBJ,EACzC9gB,EADyC8gB,iBAAkBE,EAC3DhhB,EAD2DghB,aAAcG,EACzEnhB,EADyEmhB,kBAAmBC,EAC5FphB,EAD4FohB,cAAewC,EAC3G5jB,EAD2G4jB,gCAE3GihF,EAAsB,GACtBt1E,GAAO,EA2CX,OAzCKvc,IACD6xF,EAAoBx5F,KAAK,gBACzB44F,GAAc,GAEb/iF,IACD2jF,EAAoBx5F,KAAK,YACzB44F,GAAc,GAEbnjF,IACD+jF,EAAoBx5F,KAAK,YACzB44F,GAAc,GAEbjjF,IACD6jF,EAAoBx5F,KAAK,QACzB44F,GAAc,GAEb9iF,IACD0jF,EAAoBx5F,KAAK,aACzB44F,GAAc,GAEb7iF,IACDyjF,EAAoBx5F,KAAK,SACzB44F,GAAc,GAEdrgF,IACAqgF,GAAc,EACd10E,GAAO,GAGX80E,GAAW,SAACt2F,GACR,IAAIquB,EAAK,eAAQruB,GAQjB,OAPAquB,EAAM6nE,YAAcY,EAAoBC,WACxC1oE,EAAM7M,KAAOA,EAET6M,EAAM4nE,WADNC,EAKG7nE,KAGJ6nE,GAOLc,EAAqB,SAAC9iG,EAAKopE,GAC7BlI,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,EACNy1E,aAAa,EACbC,aAAa,EACbC,UAAU,EACVC,WAAW,EACXC,kBAAkB,OAEtBnjG,GAAOgpB,GAAa,GACpBhpB,GAAO2mB,IAEPy7E,GAAW,SAACt2F,GAAD,mBAAC,eAAYA,GAAb,IAAgBm2F,WAAW,EAAOC,SAAS,OAElD94B,GACAvjE,EAAiB,+CAInBu9F,EAAgB,uCAAG,WAAOznG,GAAP,iBAAA6C,EAAA,0DACjBmkG,IADiB,uBAEjB35E,GAAa,GAFI,SAGDo3E,GAAoBzkG,GAHnB,QAGbqE,EAHa,QAIToE,SACAmS,EAAOvW,EAAIW,KACf0hG,EAAW9rF,GACX6rF,GAAW,SAACt2F,GAAD,mBAAC,eAAYA,GAAb,IAAgBo2F,SAAS,OACpCl5E,GAAa,KAEbpjB,EAAe,4BACfojB,GAAa,IAXA,sBAcjBpjB,EAAe,UAAD,OAAWu8F,EAAQH,YAAnB,iDAdG,2CAAH,sDAkBtB,OACI,sBAAK/iG,UAAU,oBAAf,UACK0B,EAAK2sB,KACF,cAAC,GAAD,CAAiB3O,WAAYhe,EAAKkjB,WAAYsE,aAAc26E,IAC5DniG,EAAKoiG,YACL,cAAC,GAAD,CAAe7+F,KAAMnG,EAAMgT,oBAAqB4N,WAAYhe,EAAKkjB,WAAYhpB,QAASioG,IACtFniG,EAAKuiG,UACL,cAAC,GAAD,CAAah/F,KAAMnG,EAAMgT,oBAAqB4N,WAAYhe,EAAKkjB,WAAYhpB,QAASioG,IACpFniG,EAAKwiG,iBACL,cAAC,GAAD,CAAoBj/F,KAAMnG,EAAMgT,oBAAqB4N,WAAYhe,EAAKkjB,WAAYhpB,QAASioG,IAC3FniG,EAAKqiG,YACL,cAAC,GAAD,CAAe9+F,KAAMnG,EAAMgT,oBAAqB4N,WAAYhe,EAAKkjB,WAAYhpB,QAASioG,IACtFniG,EAAKsiG,SACL,cAAC,GAAD,CAAY/+F,KAAMnG,EAAMgT,oBAAqB4N,WAAYhe,EAAKkjB,WAAYhpB,QAASioG,IACnFX,EAAQD,QACR,cAAC,GAAD,CAAsBvB,QAASA,EAAS9lG,QAASioG,EAAoBh9F,WAAY/H,EAAMmoB,WAEvF,sBAAKjnB,UAAU,sBAAf,UACI,cAAC,GAAD,CAAashD,SAAS,YAAY5hC,WAAYrkB,EAAMqkB,aACpD,eAAC1hB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,UACI,eAACL,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,EAAGnuB,QAAS,EAAG8B,UAAU,QAAlE,UACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAAwB3D,MAAO,CAAEsxB,eAAgB,iBAAmBvxB,WAAW,SAAzG,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,gCAIJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAElB,YAAa,GAAI4iC,aAAc,OAAnD,SACI,qBAAK/9B,UAAU,IAAf,SACM0B,EAAK2sB,KAuFH,KAtFA,qCACI,cAAC,IAAD,CACIza,KAAM2uD,KACN3oB,aAAc,GACd/xC,MAAM,OACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKkjB,WAAY,SAC1C5kB,UAAU,QACV3D,MAAO,CAAE0X,WAAY,UAExBgrF,GACG,mCACKmE,EAAQ70E,KACL,cAAC,IAAD,CACIza,KAAOsvF,EAAQJ,SAAuBjvF,KAAZotB,KAC1B2Y,aAAc,GACd/xC,MAAM,oBACNhL,QAAS,kBAAMsnG,EAAiBziG,EAAKkjB,aACrC5kB,UAAU,QACV3D,MAAO,CAAE0X,WAAY,OAAQxV,MAAQ2kG,EAAQJ,SAAmB,QAAR,SAG5D,cAAC9kC,GAAA,EAAD,CAAOomC,aAActlG,EAAMypB,SAAW,EAAG87E,UAAQ,EAAC9lG,MAAM,YAAYiuB,IAAK,KAAzE,SACI,cAAC,IAAD,CACI5Y,KAAM2sC,IACN3G,aAAc,GACd/xC,MAAM,gCACNhL,QAAS,kBAAkB6E,EAAKkjB,gBAjG5Fu+E,GAAW,SAACt2F,GAAD,mBAAC,eAAYA,GAAb,IAAgBm2F,WAAW,QAkGsBhjG,UAAU,QACV3D,MAAO,CAAE0X,WAAY,eAOzB,OAAfmY,QAAe,IAAfA,OAAA,EAAAA,EAAiBo4E,kBACd,cAAC,IAAD,CACI1wF,KAAM+sB,KACNiZ,aAAc,GACd/xC,MAAM,wBACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKkjB,WAAY,cAC1C5kB,UAAU,QACV3D,MAAO,CAAE0X,WAAY,WAGb,OAAfmY,QAAe,IAAfA,OAAA,EAAAA,EAAiBq4E,yBACd,cAAC,IAAD,CACI3wF,KAAM4wF,KACN5qD,aAAc,GACd/xC,MAAM,wBACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKkjB,WAAY,qBAC1C5kB,UAAU,QACV3D,MAAO,CAAE0X,WAAY,WAGb,OAAfmY,QAAe,IAAfA,OAAA,EAAAA,EAAiBu4E,oBACd,cAAC,IAAD,CACI7wF,KAAM+sB,KACNiZ,aAAc,GACd/xC,MAAM,iBACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKkjB,WAAY,gBAC1C5kB,UAAU,QACV3D,MAAO,CAAE0X,WAAY,WAGb,OAAfmY,QAAe,IAAfA,OAAA,EAAAA,EAAiBw4E,oBACd,cAAC,IAAD,CACI9wF,KAAM+wF,KACN/qD,aAAc,GACd/xC,MAAM,iBACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKkjB,WAAY,gBAC1C5kB,UAAU,QACV3D,MAAO,CAAE0X,WAAY,WAGb,OAAfmY,QAAe,IAAfA,OAAA,EAAAA,EAAiB04E,yBACd,cAAC,IAAD,CACIhxF,KAAMixF,KACNjrD,aAAc,GACd/xC,MAAM,uBACNhL,QAAS,kBAAMg6B,EAAUn1B,EAAKkjB,WAAY,aAC1C5kB,UAAU,QACV3D,MAAO,CAAE0X,WAAY,oBAQ/CjV,EAAMmoB,SA8NJ,qBAAK5qB,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,GAAD,MA9NJ,qCACI,eAAChL,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,0BAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAM6gB,mBAAqB,WAGpC,eAAC3hB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,oBAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAMgT,qBAAuB,WAGtC,eAAC9T,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,uBAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACK6M,IAAWy5F,gBAAgBhmG,EAAM8gB,kBAC9BvU,IAAWy5F,gBAAgBhmG,EAAM+gB,kBACjCxU,IAAWy5F,gBAAgBhmG,EAAMghB,cACjCzU,IAAWy5F,gBAAgBhmG,EAAMihB,gBACjC1U,IAAWy5F,gBAAgBhmG,EAAMkhB,uBAG7C,eAAChiB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,qBAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACK6M,IAAW6iB,qBAAqBpvB,EAAMmhB,2BAInD,eAACjiB,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,qBAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACK6M,IAAW4iB,cAAcnvB,EAAMohB,oBAGxC,eAACliB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,uBAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAMqhB,iBAAmB,WAGlC,eAACniB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,+BAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKokG,EAAUH,qBAAuB,WAG1C,eAACzkG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,mCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAMyjB,0BAA4B,MAAQ,aAIvD,eAACvkB,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,6CAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACMM,EAAM0jB,qBAAuBtN,KAAOpW,EAAM0jB,qBAAqBrN,OAAO,eAAkB,WAGlG,eAACnX,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,sCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAM0hB,+BAAiC,WAGhD,eAACxiB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,uCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACK6M,IAAW6iB,qBAAqBpvB,EAAM2hB,qCAG/C,eAACziB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,uCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACK6M,IAAW4iB,cAAcnvB,EAAM4hB,wCAI5C,eAAC1iB,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,qCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAM6hB,6BAA+B,WAG9C,eAAC3iB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,sCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACK6M,IAAW6iB,qBAAqBpvB,EAAM8hB,mCAG/C,eAAC5iB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,sCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACK6M,IAAW4iB,cAAcnvB,EAAM+hB,sCAY5C,eAAC7iB,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,mCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAMujB,wBAA0B,MAAQ,UAGjD,eAACrkB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,iCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAMwjB,iBAAmB,MAAQ,UAG1C,eAACtkB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,gCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAMujB,wBAA0B,MAAQ,UAGjD,eAACrkB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,oCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAMojB,2BAA6B,cAIhD,eAAClkB,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,uCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAMimG,qBAAuB,MAAQ,UAG9C,eAAC/mG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,oCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAMkmG,oBAAsB,WAGrC,eAAChnG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,wBAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKokG,EAAUF,UAAY,WAG/B,eAAC1kG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,mCAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKokG,EAAUD,cAAgB,cAIvC,cAAC3kG,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,SACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,iBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,0CAEJ,cAACgK,GAAA,EAAD,CAAYxI,UAAU,sBAAsBxB,QAAQ,SAApD,SACKM,EAAM4jB,iCAAmC,mBAWlE,cAAC1kB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,EAAGnuB,QAAS,EAAG8B,UAAU,QAAlE,SACI,cAAChC,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAAwB3D,MAAO,CAAEsxB,eAAgB,iBAA3E,SACI,cAAC3vB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEN,OAAO,kBAAnC,SAUI,cAAC,GAAD,CAAiB2jB,WAAYrkB,EAAMqkB,yBAO1DwjF,EAAQF,UACL,cAACxnG,GAAA,EAAD,CAAYC,MAAOqD,EAAMgT,oBAAqBlW,QAAS,kBAAMioG,GAAmB,IAAQhoG,SAAS,KAAKC,SAAS,OAA/G,SACI,cAAC,GAAD,CACImJ,KAAMnG,EAAMgT,oBACZ4N,WAAYhe,EAAKkjB,WACjBhpB,QAASioG,EACToB,OAAQnmG,EAAMypB,QACdi5E,YAAa1iG,EAAM4jB,oCAG3B,SAYDsK,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAsBA,GAAtB,aACI,cAAC,GAAD,eAAuBA,QC1jB7B8yB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,IACPiH,qBAAqB,GAEzB,CAAExG,IAAK,mBAAoBxE,KAAM,cACjC,CAAEwE,IAAK,mBAAoBxE,KAAM,cACjC,CACIwE,IAAK,4BACLxE,KAAM,cACN+K,UAAW3E,IAAWE,eAE1B,CACI9B,IAAK,mBACLxE,KAAM,aACN+K,UAAW3E,IAAWE,eAE1B,CACI9B,IAAK,gBACLxE,KAAM,UACN+K,UAAW3E,IAAWE,gBA8Ff25F,GA1FW,SAAC7pG,GACIyB,eAAnB6J,eAAR,IACMuD,EAAU8b,eAEhB,EAA0B3oB,mBAAS,CAC/BgxB,MAAM,EACN+oE,eAAe,EACfvwF,YAAY,EACZwwF,YAAa,GACbtvD,UAAW,OALf,mBAAOjpC,EAAP,KAAcxB,EAAd,KAQMi6F,EAAyB,uCAAG,sBAAAh4F,EAAA,sDAC9BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHY,2CAAH,qDAO/BtQ,oBAAS,sBAAC,sBAAAM,EAAA,sDACNg4F,IADM,2CAEP,IAEH,IAsBM7oE,EAAgB,SAACtnB,EAAK2I,GACxB,OACI,cAAC/R,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CAAY4V,aAAa,eAAenX,QAAS,kBATrC,SAACuK,GACrB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIvF,aAOkB+sB,CAAgB7e,SAK7EnB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAKWrY,EAAMipC,UACpB,OACI,8BACKjpC,EAAMuvB,KACH,cAAC,GAAD,CAAgB0Z,UAAWjpC,EAAMipC,UAAW7e,aAAc,kBAtC3CnoB,GAsCmE,EArC1FzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,YAEVttB,GAAOw2F,KALe,IAACx2F,GAsC0E2e,WAAYrkB,EAAMqkB,aAE3G,mCACI,cAAC,GAAD,CACI/L,SAAS,cACTG,WAnDF,SAACW,GACfnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,QAiDM7c,OAAM,8BAAyBnW,EAAMqkB,WAA/B,UACN9Q,QAASA,EACT2B,YAAY,YACZjB,uBAAuB,gBACvBmD,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,gBC7GlC4c,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CACIxG,IAAK,aACLxE,KAAM,OACN+K,UAAW3E,IAAWE,eAE1B,CAAE9B,IAAK,kBAAmBxE,KAAM,gBAChC,CAAEwE,IAAK,iBAAkBxE,KAAM,YAG/B,CAAEwE,IAAK,oBAAqBxE,KAAM,eAClC,CAAEwE,IAAK,sBAAuBxE,KAAM,kBACpC,CAAEwE,IAAK,6BAA8BxE,KAAM,UAC3C,CAAEwE,IAAK,aAAcxE,KAAM,gBAmGhBugE,GAhGY,SAACnqE,GACxB,MAA0BgC,mBAAS,CAC/BooE,cAAe,GACf9pD,QAAQ,EACR9E,aAAa,EACb6uD,QAAS,KACTf,aAAc,OALlB,mBAAO7lE,EAAP,KAAcxB,EAAd,KAOI4M,EAAU8b,eACVkG,EAAkB9sB,IAAW+sB,gBAE3Bg5E,EAAkB,SAACl6F,EAAQ88B,GAC7BzqC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,EACb6uD,QAASz6D,EACT05D,aAAc58B,QAWtB9oC,oBAAS,sBAAC,sBAAAM,EAAA,sDACNomE,IADM,2CAEP,IAEH,IAAMA,EAA2B,uCAAG,sBAAApmE,EAAA,sDAChCjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHc,2CAAH,qDAc3Bmf,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qCACI,cAAC,IAAD,CAAYiE,aAAa,iBAAiBnX,QAAS,kBAAMsoG,EAAgBp1F,EAAIpO,SAAUoO,EAAInO,qBAE3E,OAAfsqB,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,KAAD,CACIzsC,KAAM0sC,KACN/hD,MAAM,YACNyB,UAAU,6BACVgU,aAAa,mBACbnX,QAAS,kBAnBJuK,EAmB0B2I,OAlB/C7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKg+F,YAAnC,mBAAkDh+F,QAAlD,IAAkDA,OAAlD,EAAkDA,EAAKxF,iBAE/D9C,MAAO,cAJS,IAACsI,SA0BnBwH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IACG+sD,EAAgB7oE,EAAM0sC,UAAiB,gBAAL,GAExC,OACI,qBAAK/nC,UAAY3E,EAAMimD,SAAsB,GAA7B,SAAhB,SACKxiD,EAAM+X,YACH,cAAC,GAAD,CAAmBkxB,UAAW1sC,EAAM0sC,WAAajpC,EAAM6lE,aAAc/oE,QAAS,kBAzDtEmF,GAyDuF,EAxDvGzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,YAEjB9V,GAAO4kE,KALQ,IAAC5kE,GAyD8F+sD,YAAahvD,EAAM4mE,UAEzH,cAAC,GAAD,CACIjzD,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT2B,YAAY,WACZjB,uBAAuB,kBACvBkC,OAAM,uCAAkCnW,EAAMqkB,YAC9C/L,SAAUuwD,EACVpwD,WAAY,kBAAMqxF,EAAgB,OAClC5zF,SAAUzS,EAAMyS,cC9GvB8zF,GAAsB,uCAAG,WAAO3oG,GAAP,eAAA6C,EAAA,sEAClB6B,aAAY,mBAAD,OAAoB1E,IADb,cAC9BqE,EAD8B,yBAE3BA,GAF2B,2CAAH,sDAKtBukG,GAAmB,uCAAG,WAAO5jG,GAAP,eAAAnC,EAAA,sEACfsB,aAAa,kBAAmBa,GADjB,cAC3BX,EAD2B,yBAExBA,GAFwB,2CAAH,sDC+gBjBwkG,GAphBW,SAAClqG,GACvB,MAA0BgC,mBAAS,CAC/BmoG,yBAA0BnqG,EAAMqkB,WAChC+lF,iBAAkBpqG,EAAMoqG,iBACxBC,+BAAgC,KAChCC,2BAA2B,EAC3BC,6BAA6B,EAC7BC,sBAAsB,EACtBC,2BAA2B,EAC3B75F,OAAQ,GACRpF,aAAYxL,EAAMoqG,mBATtB,mBAAO3mG,EAAP,KAAcxB,EAAd,KAWI4uB,EAAkB9sB,IAAW+sB,gBACjC,EAA6CrvB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBqlE,EAActjD,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACrBzK,GAAS,SAAC4B,GACN,IAAIJ,EAAK,eAAQI,GASjB,MARc,SAAV1B,GAA2C,UAAvBuK,EAAK4gB,cACzB7pB,EAAMmG,IAAQ,EACG,UAAVzH,GAA4C,UAAvBuK,EAAK4gB,cACjC7pB,EAAMmG,IAAQ,EAEdnG,EAAMmG,GAAQzH,EAGXsB,OAEZ,IAaHG,oBAAS,sBAAC,gCAAAM,EAAA,0DACFlE,EAAMoqG,iBADJ,gCAEcJ,GAAuBhqG,EAAMoqG,kBAF3C,QAEE1kG,EAFF,QAGMoE,UACAzD,EADS,UACFX,EAAIW,YADF,aACF,EAAU4V,KAAK,GAC1Bha,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELumG,iBAAkB/jG,EAAK+jG,iBACvBD,yBAA0B9jG,EAAK8jG,yBAC/BO,0BAA2BrkG,EAAKqkG,0BAChCC,iCAAkCtkG,EAAKskG,iCACvCC,+BAAgCvkG,EAAKukG,+BACrCC,2BAA4BxkG,EAAKwkG,2BACjCC,2BAA4BzkG,EAAKykG,2BACjCC,yBAA0B1kG,EAAK0kG,yBAC/BC,gCAAiC3kG,EAAK2kG,gCACtCC,8BAA+B5kG,EAAK4kG,8BACpCC,0BAA2B7kG,EAAK6kG,0BAChCC,wBAAyBn7F,IAAW6jC,cAAcxtC,EAAK8kG,yBACvDC,yBAA0Bp7F,IAAW6jC,cAAcxtC,EAAK+kG,0BACxDC,yBAA0Br7F,IAAW6jC,cAAcxtC,EAAKglG,0BACxDC,sBAAuBjlG,EAAKilG,sBAC5BC,2BAA4BllG,EAAKklG,2BACjCC,kCAAmCnlG,EAAKmlG,kCACxChB,qBAAsBnkG,EAAKmkG,qBAC3BF,0BAA2BjkG,EAAKikG,0BAChCG,0BAA2BpkG,EAAKokG,0BAChCgB,uBAAwBplG,EAAKolG,uBAC7BC,mCAAoCrlG,EAAKqlG,mCACzCC,iCAAkCtlG,EAAKslG,iCACvCC,8BAA+BvlG,EAAKulG,8BACpCC,6BAA8BxlG,EAAKwlG,6BACnCC,4BAA6BzlG,EAAKylG,4BAClCC,8BAA+B1lG,EAAK0lG,8BACpCxB,4BAA6BlkG,EAAKkkG,4BAClCyB,oBAAqB3lG,EAAK2lG,oBAC1BC,2BAA4B5lG,EAAK4lG,2BACjC5B,+BAAgChkG,EAAKgkG,+BACrC7+F,YAAY,QAtClB,2CA0CP,IAEH,IAAMq9E,EAAa,WACf,IAAQ6hB,EAAoHjnG,EAApHinG,0BAA2BI,EAAyFrnG,EAAzFqnG,2BAA4BM,EAA6D3nG,EAA7D2nG,yBAA0Bf,EAAmC5mG,EAAnC4mG,+BACrFz5F,EAAS,GACTqrD,GAAU,EAqBd,OApBKyuC,IACD95F,EAAO85F,0BAA4B,2BACnCzuC,GAAU,GAET6uC,IACDl6F,EAAOk6F,2BAA6B,4BACpC7uC,GAAU,GAETmvC,IACDx6F,EAAOw6F,yBAA2B,yBAClCnvC,GAAU,GAETouC,IACDz5F,EAAOy5F,+BAAiC,gCACxCpuC,GAAU,GAEdh6D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,OAELqrD,GAGLruC,EAAY,uCAAG,8BAAA1pB,EAAA,0DACb2kF,IADa,uBAETxiF,EAAO,CACP+jG,iBAAkB3mG,EAAM2mG,kBAAoB,KAC5CD,yBAA0B1mG,EAAM0mG,0BAA4B,KAC5DO,0BAA2BjnG,EAAMinG,2BAA6B,KAC9DC,iCAAkClnG,EAAMknG,kCAAoC,KAC5EC,+BAAgCnnG,EAAMmnG,gCAAkC,KACxEC,2BAA4BpnG,EAAMonG,4BAA8B,KAChEC,2BAA4BrnG,EAAMqnG,4BAA8B,KAChEC,yBAA0BtnG,EAAMsnG,0BAA4B,KAC5DC,gCAAiCvnG,EAAMunG,iCAAmC,KAC1EC,8BAA+BxnG,EAAMwnG,+BAAiC,KACtEC,0BAA2BznG,EAAMynG,2BAA6B,KAC9DC,wBAAyBn7F,IAAW6jC,cAAcpwC,EAAM0nG,0BAA4B,KACpFC,yBAA0Bp7F,IAAW6jC,cAAcpwC,EAAM2nG,2BAA6B,KACtFC,yBAA0Br7F,IAAW6jC,cAAcpwC,EAAM4nG,2BAA6B,KACtFC,sBAAuB7nG,EAAM6nG,uBAAyB,KACtDC,2BAA4B9nG,EAAM8nG,4BAA8B,KAChEC,kCAAmC/nG,EAAM+nG,mCAAqC,KAC9EhB,qBAAsB/mG,EAAM+mG,qBAC5BF,0BAA2B7mG,EAAM6mG,0BACjCG,0BAA2BhnG,EAAMgnG,0BACjCgB,uBAAwBhoG,EAAMgoG,wBAA0B,KACxDC,mCAAoCjoG,EAAMioG,oCAAsC,KAChFC,iCAAkCloG,EAAMkoG,kCAAoC,KAC5EC,8BAA+BnoG,EAAMmoG,+BAAiC,KACtEC,6BAA8BpoG,EAAMooG,8BAAgC,KACpEC,4BAA6BroG,EAAMqoG,6BAA+B,KAClEC,8BAA+BtoG,EAAMsoG,+BAAiC,KACtExB,4BAA6B9mG,EAAM8mG,4BACnCyB,oBAAqBvoG,EAAMuoG,qBAAuB,KAClDC,2BAA4BxoG,EAAMwoG,4BAA8B,KAChE5B,+BAAgC5mG,EAAM4mG,gCAAkC,MAjC/D,SAoCGJ,GAAoB5jG,GApCvB,QAoCTX,EApCS,QAqCLoE,SACJyB,EAAiB,sCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAzCV,2CAAH,qDA+ClB,OACI,8BACK1I,EAAM+H,WACH,cAAC,GAAD,IAEA,eAAC7I,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGkuB,GAAI,GAAI/tB,GAAI,GAAIguB,GAAI,GAArD,UACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,eAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,qCAC6B,OAE7B,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACI,cAAC,IAAD,CACI+H,KAAK,OACL4F,WAAW,eACX1I,KAAK,4BACLzH,MAAOsB,EAAMinG,0BACbj+F,SAAUkkE,EACVp+D,YAAY,eACZ3B,OAAQnN,EAAMmN,OAAO85F,8BAG7B,cAAC/nG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACI,cAAC,IAAD,CACI+H,KAAK,OACL4F,WAAW,gBACX1I,KAAK,6BACLzH,MAAOsB,EAAMqnG,2BACbr+F,SAAUkkE,EACVp+D,YAAY,gBACZ3B,OAAQnN,EAAMmN,OAAOk6F,+BAG7B,cAACnoG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,OACL4F,WAAW,uBACX1I,KAAK,mCACLzH,MAAOsB,EAAMknG,iCACbl+F,SAAUkkE,EACVp+D,YAAY,2BAGpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,OACL4F,WAAW,gBACX1I,KAAK,iCACLzH,MAAOsB,EAAMmnG,+BACbn+F,SAAUkkE,EACVp+D,YAAY,oBAGpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,QACL4F,WAAW,gBACX1I,KAAK,6BACLzH,MAAOsB,EAAMonG,2BACbp+F,SAAUkkE,EACVp+D,YAAY,oBAGpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,OACL9C,KAAK,6BACL0I,WAAW,iBACXnQ,MAAOsB,EAAMwoG,2BACbx/F,SAAUkkE,EACVp+D,YAAY,oBAEZ,IACR,eAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAAC,IAAD,CACIwF,KAAK,0BACL6C,SAAUkkE,EACVxuE,MAAOsB,EAAM0nG,wBACb3sD,WAAY,CAAEttB,WAAY,CAAEC,IAAI,GAAD,OAAK1tB,EAAM2nG,iCAGlD,eAACzoG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,4BACA,cAAC,IAAD,CACIqI,SAAUkkE,EACV/mE,KAAK,2BACLzH,MAAOsB,EAAM2nG,yBACb5sD,WAAY,CAAEttB,WAAY,CAAE6oB,IAAI,GAAD,OAAKt2C,EAAM0nG,6BAE9C,cAAC/lG,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOw6F,8BAExC,eAACzoG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BACA,cAAC,IAAD,CACIqI,SAAUkkE,EACV/mE,KAAK,2BACLzH,MAAOsB,EAAM4nG,yBACb7sD,WAAY,CAAEttB,WAAY,CAAE6oB,IAAI,GAAD,OAAKt2C,EAAMklD,kCAGlD,cAAChmD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,SACL4F,WAAW,eACX1I,KAAK,wBACLzH,MAAOsB,EAAM6nG,sBACb7+F,SAAUkkE,EACVp+D,YAAY,mBAGpB,eAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,+BAGA,cAAC,IAAD,CACIwF,KAAK,iCACL6C,SAAUkkE,EACVl+D,KAzPL,CACnB,CACIpR,GAAI,IACJuI,KAAM,UAEV,CACIvI,GAAI,IACJuI,KAAM,YAmPczH,MAAOsB,EAAM4mG,iCAEjB,cAACjlG,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOy5F,uCAG5C,eAAC1nG,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGkuB,GAAI,GAAI/tB,GAAI,GAAIguB,GAAI,EAArD,UACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,4BAGA,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,OACL4F,WAAW,4BACX1I,KAAK,2BACLzH,MAAOsB,EAAMsnG,yBACbt+F,SAAUkkE,EACVp+D,YAAY,gCAGpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,OACL4F,WAAW,eACX1I,KAAK,kCACLzH,MAAOsB,EAAMunG,gCACbv+F,SAAUkkE,EACVp+D,YAAY,mBAGpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,OACL4F,WAAW,gBACX1I,KAAK,gCACLzH,MAAOsB,EAAMwnG,8BACbx+F,SAAUkkE,EACVp+D,YAAY,oBAGpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,QACL4F,WAAW,gBACX1I,KAAK,4BACLzH,MAAOsB,EAAMynG,0BACbz+F,SAAUkkE,EACVp+D,YAAY,uBAIxB,eAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGkuB,GAAI,GAAI/tB,GAAI,GAAIguB,GAAI,EAAGsB,eAAe,SAAvE,UACI,eAAC3vB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,eAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,2BACmB,OAEnB,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,SACL4F,WAAW,0CACX1I,KAAK,+BACLzH,MAAOsB,EAAMooG,6BACbp/F,SAAUkkE,EACVp+D,YAAY,8CAGpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,SACL4F,WAAW,uCACX1I,KAAK,8BACLzH,MAAOsB,EAAMqoG,4BACbr/F,SAAUkkE,EACVp+D,YAAY,2CAGpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI0J,KAAK,SACL4F,WAAW,yCACX1I,KAAK,gCACLzH,MAAOsB,EAAMsoG,8BACbt/F,SAAUkkE,EACVp+D,YAAY,6CAGpB,eAAC5P,EAAA,EAAD,CAAMupG,KAAG,EAAClpG,GAAI,EAAd,UACI,eAACmB,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAE2U,WAAY,EAAGlR,UAAW,IAAtD,UACK,IADL,kCAKA,eAAC+rB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,8BACXxQ,KAAK,8BACLzH,MAAOsB,EAAM8mG,4BACb99F,SAAUkkE,EACV3vE,MAAO,CAAE2U,WAAY,GANzB,UAQI,cAAC8a,GAAA,EAAD,CAAkBtd,SAA+C,IAAtC1P,EAAM8mG,4BAAsCpoG,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAC9G,cAACikB,GAAA,EAAD,CAAkBtd,SAA+C,IAAtC1P,EAAM8mG,4BAAuCpoG,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,gBAI5H,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGkuB,GAAI,GAAI/tB,GAAI,GAAIguB,GAAI,GAArD,UACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,eAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,6BACqB,OAErB,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACItkB,KAAK,OACL4F,WAAW,0BACX1I,KAAK,6BACLzH,MAAOsB,EAAM8nG,2BACb9+F,SAAUkkE,EACVp+D,YAAY,8BAGpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACItkB,KAAK,SACL4F,WAAW,mBACX1I,KAAK,oCACLzH,MAAOsB,EAAM+nG,kCACb/+F,SAAUkkE,EACVp+D,YAAY,uBAIpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACItkB,KAAK,SACL4F,WAAW,4BACX1I,KAAK,qCACLzH,MAAOsB,EAAMioG,mCACbj/F,SAAUkkE,EACVp+D,YAAY,gCAGpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACItkB,KAAK,SACL4F,WAAW,6BACX1I,KAAK,mCACLzH,MAAOsB,EAAMkoG,iCACbl/F,SAAUkkE,EACVp+D,YAAY,gCAGpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACItkB,KAAK,SACL4F,WAAW,2BACX1I,KAAK,gCACLzH,MAAOsB,EAAMmoG,8BACbn/F,SAAUkkE,EACVp+D,YAAY,8BAGpB,eAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,yBAGA,0BAEJ,eAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2CACA,eAACosB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,wBACXxQ,KAAK,uBACLzH,MAAOsB,EAAM+mG,qBACb/9F,SAAUkkE,EALd,UAOI,cAAClgD,GAAA,EAAD,CAAkBtd,SAAwC,IAA/B1P,EAAM+mG,qBAA+BroG,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACvG,cAACikB,GAAA,EAAD,CAAkBtd,SAAwC,IAA/B1P,EAAM+mG,qBAAgCroG,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,aAGjH,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,uDACA,eAACosB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,4BACXxQ,KAAK,4BACLzH,MAAOsB,EAAM6mG,0BACb79F,SAAUkkE,EALd,UAOI,cAAClgD,GAAA,EAAD,CAAkBtd,SAA6C,IAApC1P,EAAM6mG,0BAAoCnoG,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAC5G,cAACikB,GAAA,EAAD,CAAkBtd,SAA6C,IAApC1P,EAAM6mG,0BAAqCnoG,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,aAGtH,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kDACA,eAACosB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,4BACXxQ,KAAK,4BACLzH,MAAOsB,EAAMgnG,0BACbh+F,SAAUkkE,EALd,UAOI,cAAClgD,GAAA,EAAD,CAAkBtd,SAA6C,IAApC1P,EAAMgnG,0BAAoCtoG,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAC5G,cAACikB,GAAA,EAAD,CAAkBtd,SAA6C,IAApC1P,EAAMgnG,0BAAqCtoG,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,aAGtH,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACItkB,KAAK,OACL4F,WAAW,uBACX1I,KAAK,yBACLzH,MAAOsB,EAAMgoG,uBACbh/F,SAAUkkE,EACVp+D,YAAY,uCAIpB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACImvB,WAAS,EACTzQ,KAAM,EACNpP,WAAW,QACX1I,KAAK,sBACLzH,MAAOsB,EAAMuoG,oBACbv/F,SAAUkkE,EACVp+D,YAAY,eAIxB,cAAC5P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBI,WAAS,EAACuB,UAAU,aAAanD,QAASosB,EAAcnf,WAAU,OAACoiB,QAAD,IAACA,OAAD,EAACA,EAAiBs7E,iCAArG,sBAIJ,cAACxpG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASxB,EAAMO,QAAS6C,WAAS,EAACuB,UAAU,aAA7D,4BC1gBlBmuB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,MAEX,CAAES,IAAK,4BAA6BxE,KAAM,QAC1C,CAAEwE,IAAK,iCAAkCxE,KAAM,SAC/C,CAAEwE,IAAK,6BAA8BxE,KAAM,iBAC3C,CAAEwE,IAAK,0BAA2BxE,KAAM,cAAe+K,UAAW3E,IAAWE,eAC7E,CAAE9B,IAAK,2BAA4BxE,KAAM,YAAa+K,UAAW3E,IAAWE,eAC5E,CAAE9B,IAAK,oCAAqCxE,KAAM,iBAClD,CAAEwE,IAAK,2BAA4BxE,KAAM,WACzC,CAAEwE,IAAK,gCAAiCxE,KAAM,iBAqFnCwiG,GAlFQ,SAACpsG,GACpB,MAA0BgC,mBAAS,CAC/B4M,YAAY,EACZy3F,QAAS,GACTnwF,SAAU,OAHd,mBAAOzS,EAAP,KAAcxB,EAAd,KAKI4uB,EAAkB9sB,IAAW+sB,gBAE3BuC,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAY9B,aAAa,iBAAiBnX,QAAS,kBAAM6qG,EAAa33F,EAAI01F,wBAKhFkC,EAAY,uCAAG,sBAAApoG,EAAA,sDAEjBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAGLqS,SAAU,IAAIhC,UALD,2CAAH,qDASZX,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAEGuwF,EAAe,SAAChmG,GAClBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+K,YAAY,EACZw7F,iBAAkB/jG,QAatB8P,EAAM,qCAAiCnW,EAAMqkB,YAEjD,OACI,8BACK5gB,EAAMmL,WACH,cAAC,GAAD,CAAmBrO,QAdX,SAACmF,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+K,YAAY,OAEhBlJ,GAAO4mG,KAS0CjoF,WAAYrkB,EAAMqkB,WAAY+lF,iBAAkB3mG,EAAM2mG,mBAU/F,cAAC,GAAD,CACIhzF,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQA,EACRmC,SAAQ,WAAoB,OAAfuY,QAAe,IAAfA,OAAA,EAAAA,EAAiBs7E,iCAxBzB,gBAwB0E,IAC/E1zF,WAAY,kBAAM4zF,EAAa,OAC/Bn2F,SAAUzS,EAAMyS,cCkFrBq2F,GA7KQ,SAACvsG,GACpB,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAkCtJ,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KACA,EAA0Bzb,mBAAS,CAC/ByiE,mBAAoB,KACpBN,UAAW,KACXC,kBAAmBpkE,EAAMqkB,WACzBzT,OAAQ,KAJZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAsBM4P,EAAc,SAAC/F,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGvCyB,oBAAS,sBAAC,8BAAAM,EAAA,0DACFlE,EAAMwsG,UADJ,gCAEcxoC,GAAehkE,EAAMwsG,WAFnC,OAEE9mG,EAFF,OAGEW,EAAOX,EAAIW,KAAK4V,KAAK,GACrBvW,EAAIoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELsgE,UAAW99D,EAAK89D,WAAa,KAC7BC,kBAAmB/9D,EAAK+9D,mBAAqB,KAC7CvvB,YAAaxuC,EAAKwuC,aAAe,KACjCwvB,gBAAiBh+D,EAAKg+D,iBAAmB,KACzCC,gBAAiBj+D,EAAKi+D,iBAAmB,KACzCC,YAAal+D,EAAKk+D,aAAe,KACjCC,cAAen+D,EAAKm+D,eAAiB,KACrCC,mBAAoBp+D,EAAKo+D,oBAAsB,KAC/CC,gBAAiBr+D,EAAKq+D,iBAAmB,KACzCC,mBAAoBt+D,EAAKs+D,oBAAsB,KAC/CC,oBAAqBv+D,EAAKu+D,qBAAuB,KACjDC,oBAAqBx+D,EAAKw+D,qBAAuB,UAlBvD,2CAsBP,IAEH,IAAIgkB,EAAa,WACb,IAAIj4E,EAAS,GACTqrD,GAAU,EAUd,OATsBx4D,EAAhBoxC,cAEFjkC,EAAOikC,YAAc,mBACrBonB,GAAU,GAEdh6D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,cAEGqrD,GAGLruC,EAAY,uCAAG,4BAAA1pB,EAAA,0DACb2kF,IADa,uBAEbprE,GAAa,GACTpX,EAAO,CACP89D,UAAW1gE,EAAM0gE,WAAa,KAC9BC,kBAAmB3gE,EAAM2gE,mBAAqB,KAC9CvvB,YAAapxC,EAAMoxC,aAAe,KAClCwvB,gBAAiB5gE,EAAM4gE,iBAAmB,KAC1CC,gBAAiB7gE,EAAM6gE,iBAAmB,KAC1CC,YAAa9gE,EAAM8gE,aAAe,KAClCC,cAAe/gE,EAAM+gE,eAAiB,KACtCC,mBAAoBhhE,EAAMghE,oBAAsB,KAChDC,gBAAiBjhE,EAAMihE,iBAAmB,KAC1CC,mBAAoBlhE,EAAMkhE,oBAAsB,KAChDC,oBAAqBnhE,EAAMmhE,qBAAuB,KAClDC,oBAAqBphE,EAAMohE,qBAAuB,MAfzC,SAiBGZ,GAAY59D,GAjBf,cAkBLyD,SACJyB,EAAiB,YAAD,OAAavL,EAAMwsG,UAAN,kBAAb,kBAChBxsG,EAAMO,WAEN+K,EAAe,WAAD,OAAYtL,EAAMwsG,UAAN,kBAAZ,cAElB/uF,GAAa,GAxBA,2CAAH,qDA4BlB,OACI,eAAC9a,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,GAAIrsB,UAAU,mBAAnD,SACI,cAAC,IAAD,CACI2N,WAAW,OACXC,YAAY,OACZpQ,MAAOsB,EAAMoxC,YACbpoC,SAAUoF,EACVjI,KAAK,cACLgH,OAAQnN,EAAMmN,OAAOikC,gBAG7B,cAAClyC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CAAU7uB,MAAOsB,EAAMihE,gBAAiBj4D,SAAUoF,EAAajI,KAAK,kBAAkBukB,OArGnF,SAACC,GACZnsB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwgE,gBAAiBj2C,EAAEC,aACnBi2C,gBAAiBl2C,EAAEE,aACnBi2C,YAAan2C,EAAEG,KACfi2C,cAAep2C,EAAEI,OACjBk2C,gBAAiBt2C,EAAEK,mBAgGnB,cAAC9rB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,WAAWC,YAAY,WAAWpQ,MAAOsB,EAAM4gE,gBAAiB53D,SAAUoF,EAAajI,KAAK,sBAExH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,WAAWC,YAAY,WAAWpQ,MAAOsB,EAAM6gE,gBAAiB73D,SAAUoF,EAAajI,KAAK,sBAExH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,OAAOC,YAAY,OAAOpQ,MAAOsB,EAAM8gE,YAAa93D,SAAUoF,EAAajI,KAAK,kBAE5G,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,SAASC,YAAY,SAASpQ,MAAOsB,EAAM+gE,cAAe/3D,SAAUoF,EAAajI,KAAK,oBAC1G,IACR,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CAAWwF,KAAK,qBAAqBzH,MAAOsB,EAAMghE,mBAAoBh4D,SAAUoF,EAAaY,KA1GrF,CAChB,CAAEpR,GAAI,KAAMuI,KAAM,MAClB,CAAEvI,GAAI,KAAMuI,KAAM,YA0Gd,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,eACXC,YAAY,eACZpQ,MAAOsB,EAAMkhE,mBACbl4D,SAAUoF,EACVjI,KAAK,yBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACItkB,KAAK,SACL4F,WAAW,gBACXC,YAAY,gBACZpQ,MAAOsB,EAAMmhE,oBACbn4D,SAAUoF,EACVjI,KAAK,0BAEL,IACR,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACItkB,KAAK,QACL4F,WAAW,gBACXC,YAAY,gBACZpQ,MAAOsB,EAAMohE,oBACbp4D,SAAUoF,EACVjI,KAAK,0BAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAGwV,QAAQ,gBAAgBrX,MAAO,CAAEyD,UAAW,GAArF,UACI,cAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASosB,EAAcjpB,UAAU,aAAa+Z,YAAalB,EAA5E,SACKxd,EAAMwsG,UAAY,SAAW,aAGtC,cAAC7pG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiB2B,UAAU,aAAanD,QAASxB,EAAMO,QAAvD,6BCpKduyB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,IAEX,CACIS,IAAK,cACLxE,KAAM,OACN+D,MAAO,KAGX,CACIS,IAAK,qBACLxE,KAAM,eACN+D,MAAO,KAEX,CACIS,IAAK,sBACLxE,KAAM,gBACN+D,MAAO,KAEX,CACIS,IAAK,sBACLxE,KAAM,gBACN+D,MAAO,KAEX,CACIS,IAAK,iBACLxE,KAAM,YAmFC6iG,GA/EC,SAACzsG,GACb,MAA0BgC,mBAAS,CAC/B0qG,WAAW,IADf,mBAAOjpG,EAAP,KAAcxB,EAAd,KASM0qG,EAAc,SAAC5gG,EAAKrG,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6oG,WAAY7oG,EAAG6oG,UAAWF,UAAS,OAAEzgG,QAAF,IAAEA,OAAF,EAAEA,EAAKo4D,eACrEz+D,GAPAzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,WAQhBmf,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMmrG,EAAYj4F,GAAK,IAAQiE,aAAa,6BAKvE6a,EAAc,SAAC,EAAcpd,GAAU,IAAtB1B,EAAqB,EAArBA,IACboG,GADkC,EAAhB2Y,IACZje,SAASC,cAAc,SAC7BuF,EAAM,qBAAKha,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,WAAxC,SAAsD8M,IAAW4iB,cAAcle,EAAImwD,uBAE/F,OADA9uD,IAASC,OAAOgF,EAAKF,GACdA,GAGLiZ,EAAc,SAAC,EAAc3d,GAAU,IAAtB1B,EAAqB,EAArBA,IACboG,GADkC,EAAhB2Y,IACZje,SAASC,cAAc,SAC7BuF,EAAM,qBAAKha,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,WAAxC,SAAsD8M,IAAW6iB,qBAAqBne,EAAIkwD,uBAEtG,OADA7uD,IAASC,OAAOgF,EAAKF,GACdA,GAGLvH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAC/C4lB,EAAWlY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,wBAAhBA,EAAQ3N,OAC9C6lB,EAAWnY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,wBAAhBA,EAAQ3N,OAWlD,OATIgH,IACAA,EAAUT,UAAY0e,GAEtBW,IACAA,EAASrf,UAAY6e,GAErBS,IACAA,EAAStf,UAAYof,GAElBjY,IACR,IAEG3F,EAAM,8BAA0BnW,EAAMqkB,YAC5C,OACI,gCACI,cAAC,GAAD,CACIjN,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQA,EACRmC,SAAS,WACTG,WAAY,kBAAMk0F,EAAY,MAAM,IACpCz2F,SAAUzS,EAAMyS,WAGnBzS,EAAMipG,UACH,cAACvsG,GAAA,EAAD,CAAYC,MAAOqD,EAAM+oG,UAAY,kBAAoB,eAAgBjsG,QAAS,kBAAMosG,EAAY,MAAM,IAAQnsG,SAAS,KAA3H,SACI,cAAC,GAAD,CAAgB6jB,WAAYrkB,EAAMqkB,WAAY9jB,QAAS,kBAAMosG,EAAY,MAAM,IAAOH,UAAW/oG,EAAM+oG,cAE3G,SChHHI,I,QAAiB,uCAAG,WAAO1oF,GAAP,eAAAhgB,EAAA,sEACb6B,aAAY,cAAD,OAAeme,IADb,cACzBxe,EADyB,yBAEtBA,GAFsB,2CAAH,uDASjBmnG,GAAc,uCAAG,WAAOxmG,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,aAAca,GADjB,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDCsFZonG,GA3FW,SAAC9sG,GACvB,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAkCtJ,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KACA,EAA0Bzb,mBAAS,CAC/B+qG,YAAa,KACbC,oBAAqBhtG,EAAMqkB,WAC3BzT,OAAQ,KAHZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAWA2B,oBAAS,sBAAC,8BAAAM,EAAA,0DACFlE,EAAM+sG,YADJ,gCAEcH,GAAkB5sG,EAAM+sG,aAFtC,OAEErnG,EAFF,OAGEW,EAAOX,EAAIW,KAAK4V,KAAK,GACrBvW,EAAIoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELkpG,YAAa1mG,EAAK0mG,aAAe,KACjCC,oBAAqB3mG,EAAK2mG,qBAAuB,KACjDC,qBAAsB5mG,EAAK4mG,sBAAwB,UATzD,2CAaP,IAEH,IAAIpkB,EAAa,WACb,IAAIj4E,EAAS,GACTqrD,GAAU,EAUd,OAT+Bx4D,EAAzBwpG,uBAEFr8F,EAAOq8F,qBAAuB,0BAC9BhxC,GAAU,GAEdh6D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,cAEGqrD,GAGLruC,EAAY,uCAAG,4BAAA1pB,EAAA,0DACb2kF,IADa,uBAEbprE,GAAa,GACTpX,EAAO,CACP0mG,YAAatpG,EAAMspG,aAAe,KAClCC,oBAAqBvpG,EAAMupG,qBAAuB,KAClDC,qBAAsBxpG,EAAMwpG,sBAAwB,MAN3C,SAQGJ,GAAexmG,GARlB,cASLyD,SACJyB,EAAiB,cAAD,OAAevL,EAAM+sG,YAAN,kBAAf,kBAChB/sG,EAAMO,WAEN+K,EAAe,WAAD,OAAYtL,EAAM+sG,YAAN,kBAAZ,gBAElBtvF,GAAa,GAfA,2CAAH,qDAmBlB,OACI,eAAC9a,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAIrsB,UAAU,mBAArC,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZpQ,MAAOsB,EAAMwpG,qBACbxgG,SA7DI,SAACX,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QA4DvByH,KAAK,uBACLgH,OAAQnN,EAAMmN,OAAOq8F,yBAG7B,eAACtqG,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAGwV,QAAQ,gBAAgBrX,MAAO,CAAEyD,UAAW,GAArF,UACI,cAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASosB,EAAcjpB,UAAU,aAAa+Z,YAAalB,EAA5E,SACKxd,EAAM+sG,YAAc,SAAW,aAGxC,cAACpqG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiB2B,UAAU,aAAanD,QAASxB,EAAMO,QAAvD,6BClFduyB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,IAEX,CACIS,IAAK,uBACLxE,KAAM,gBA4DCsjG,GAxDI,SAACltG,GAChB,MAA0BgC,mBAAS,CAC/B0qG,WAAW,IADf,mBAAOjpG,EAAP,KAAcxB,EAAd,KASM0qG,EAAc,SAAC5gG,EAAKrG,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6oG,WAAY7oG,EAAG6oG,UAAWK,YAAW,OAAEhhG,QAAF,IAAEA,OAAF,EAAEA,EAAKghG,iBACvErnG,GAPAzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,WAQhBmf,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMmrG,EAAYj4F,GAAK,IAAQiE,aAAa,uBAKvEpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAEG3F,EAAM,gCAA4BnW,EAAMqkB,YAC9C,OACI,gCACI,cAAC,GAAD,CACIjN,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQA,EACRmC,SAAS,iBACTG,WAAY,kBAAMk0F,EAAY,MAAM,IACpCz2F,SAAUzS,EAAMyS,WAGnBzS,EAAMipG,UACH,cAACvsG,GAAA,EAAD,CAAYC,MAAOqD,EAAMspG,YAAc,oBAAsB,iBAAkBxsG,QAAS,kBAAMosG,EAAY,MAAM,IAAQnsG,SAAS,KAAjI,SACI,cAAC,GAAD,CAAmB6jB,WAAYrkB,EAAMqkB,WAAY9jB,QAAS,kBAAMosG,EAAY,MAAM,IAAOI,YAAatpG,EAAMspG,gBAEhH,S,sBClEHI,I,OAA0B,SAACntG,GAAW,IAAD,IAC9C,OACI,eAAC2C,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAE8B,QAAS,aAA9C,UACI,oBACI9B,MAAO,CACHosG,WAAY,EACZC,YAAa,eACbplB,YAAa,QACbqlB,YAAa,yBACbniG,OAAQ,iBAGf,UAAAnL,EAAMic,YAAN,eAAYjK,QAAS,EAArB,UACGhS,EAAMic,YADT,aACG,EAAY1S,KAAI,SAACgkG,GAAmB,IAAX7vE,EAAU,uDAAN,EACzB,OACI,cAAC/6B,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,EAAG0e,GAAI,EAAGC,GAAU,IAAN0M,EAAU,EAAI,EAA3C,SACI,qBAAK/4B,UAAS,UAAU,GAAL+4B,EAAS,cAAgB,gBAA5C,SAEI,qBAAK/4B,UAAU,oBAAoB3D,MAAO,CAAE2U,WAAW,GAAD,OAAU,GAAL+nB,EAAS,MAAQ,QAA5E,SACI,sBACI/4B,UAAU,eACVnD,QAASxB,EAAM2pE,mBAAqB,kBAAM3pE,EAAM2pE,mBAAmB4jC,EAAQvtG,EAAMwM,QAAS,GAC1FxL,MAAO,CAAEI,OAAQpB,EAAM2pE,mBAAqB,UAAY,WAH5D,UAKI,sBAAK3oE,MAAO,CAAEqZ,SAAU,GAAI3B,WAAY,KAAxC,cAAiD60F,EAAOC,IAAMD,EAAOC,IAAM,KAC3E,uBAAMxsG,MAAO,CAAEqZ,SAAU,GAAIqoB,aAAc,GAA3C,cAAkD6qE,EAAOxhG,IAAMwhG,EAAOxhG,IAAS,wBASvG,cAACpJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE8B,QAAS,aAArC,SACI,qBAAK9B,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,UAAxC,SAAqDza,EAAMytG,e,4FCjCzEC,GAAY,CACdC,EAAG,UACHntE,EAAG,UACHF,EAAG,UACHF,EAAG,UACHiF,EAAG,UACHM,EAAG,UACHO,EAAG,UACHK,EAAG,UACHK,EAAG,UACHgnE,EAAG,UACHC,GAAI,UACJC,GAAI,UACJC,GAAI,UACJC,GAAI,UACJC,GAAI,WAEFC,GAAsB,SAACluG,GACzB,IAAQ2sB,EAA+B3sB,EAA/B2sB,EAAGwhF,EAA4BnuG,EAA5BmuG,EAAGxgG,EAAyB3N,EAAzB2N,MAAexL,GAAUnC,EAAlBU,OAAkBV,EAAVmC,OAG7B,OACI,4BACI,sBAAMwqB,EAAGA,EAAIhf,EAAQ,EAAGwgG,EAAGA,EAJpB,GAIgCtvC,KAAK,UAAUuvC,WAAW,SAASC,iBAAiB,SAA3F,SACKlsG,EAAQ,4CAAIA,EAAM0/B,QAAQ,GAAGC,QAAQ,0BAA2B,UAAa,qDAMxFwsE,GAAwB,SAACtuG,GAC3B,IAAQ2sB,EAA+B3sB,EAA/B2sB,EAAGwhF,EAA4BnuG,EAA5BmuG,EAAGxgG,EAAyB3N,EAAzB2N,MAAexL,GAAUnC,EAAlBU,OAAkBV,EAAVmC,OAG7B,OACI,4BACI,sBAAMwqB,EAAGA,EAAIhf,EAAQ,EAAGwgG,EAAGA,EAJpB,GAIgCtvC,KAAK,UAAUuvC,WAAW,SAASC,iBAAiB,SAA3F,SACKlsG,OAMJosG,GAAoB,SAACvuG,GAC9B,IAAQic,EAA8Bjc,EAA9Bic,KAAauyF,GAAiBxuG,EAAxBwM,MAAwBxM,EAAjBwuG,cACrB,OACI,8BACI,qBAAKxtG,MAAO,CAAEN,OAAQ,IAAKiN,MAAO,QAAlC,SACKsO,EAAKjK,OAAS,EACX,cAACy8F,GAAA,EAAD,UACI,eAACC,GAAA,EAAD,CACIroG,KAAM4V,EACN9Q,OAAQ,CACJ0kB,IAAK,GACL3uB,MAAO,GACP8Y,KAAM,GACND,OAAQ,IANhB,UASI,cAAC40F,GAAA,EAAD,CACIC,QAAQ,OACR5tG,MAAO,CAAEqZ,SAAU,GAAI3B,WAAY,KACnC01F,WAAW,MACXS,WAAW,OACXC,eAAe,QACfC,SAAU,EACVC,MAAOhvG,EAAMivG,MAAQ,MAAQ,MAEjC,cAACC,GAAA,EAAD,IACA,cAAC,KAAD,CAASC,aAAc,CAAE9rG,WAAY,kBAAmBH,MAAO,QAASmX,SAAU,GAAI3B,WAAY,KAAOzX,SAAU,CAAEktG,EAAG,MACxH,cAACiB,GAAA,EAAD,IACCZ,EACG,eAACa,GAAA,EAAD,CAAKT,QAAQ,aAAa/vC,KAAM,QAASywC,QAAS,GAAIC,WAAW,OAAjE,UACI,cAACC,GAAA,EAAD,CAAWZ,QAAQ,aAAaa,QAASnB,KACxCryF,EAAK1S,KAAI,SAACmmG,EAAOprD,GACd,OAAItkD,EAAM2pE,mBAEF,cAACgmC,GAAA,EAAD,CAEI9wC,KAAM6uC,GAAUppD,GAChB9iD,QAAS,WACLxB,EAAM2pE,mBAAmB+lC,EAAO1vG,EAAM4vG,SAE1C5uG,MAAO,CAAEI,OAAQ,YANrB,eACiBkjD,IASd,cAACqrD,GAAA,EAAD,CAA4B9wC,KAAM6uC,GAAUppD,IAA5C,eAAmBA,UAKtC,eAAC+qD,GAAA,EAAD,CAAKT,QAAQ,QAAQU,QAAS,GAA9B,UACI,cAACE,GAAA,EAAD,CAAWZ,QAAQ,QAAQa,QAASvB,KACnCjyF,EAAK1S,KAAI,SAACmmG,EAAOprD,GAAR,OACN,cAACqrD,GAAA,EAAD,CAEI9wC,KAAM6uC,GAAUppD,GAIhBtjD,MAAO,CAAEI,OAAQ,YANrB,eACiBkjD,eAarC,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAAC0vB,eAAe,eAAew/B,aAAa,SAAhE,SACI,qBAAK9wD,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,UAAxC,SACI,4DChHtBo1F,GAAmB,uCAAG,WAAOnqG,EAAKoqG,GAAZ,iBAAA5rG,EAAA,0DACpBwB,EADoB,wBAEd4R,EAAMvI,OAAOqiF,IAAIC,gBAAgB,IAAIC,KAAK,CAAC5rF,EAAIW,SAC/CkrF,EAAO/7E,SAASupD,eAAe,wBAA0BvpD,SAASC,cAAc,MACjFpU,GAAK,sBACVkwF,EAAKC,KAAOl6E,EACZi6E,EAAKE,aAAa,WAAlB,gBAAuC53E,OAASC,OAAO,qBAAvD,YAA+Eg2F,IAC/Et6F,SAASyhD,KAAKy6B,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKK,SATe,mBAUb,GAVa,4CAAH,wDAcZme,GAAwB,uCAAG,WAAOngG,GAAP,eAAA1L,EAAA,sEACpB6B,aAAY,sCAAD,OACe6J,EAAOo8B,SADtB,oBAC0Cp8B,EAAOq8B,OADjD,eAC8Dr8B,EAAOyU,WADrE,8BACqGzU,EAAOka,kBAD5G,mBACwIla,EAAO6B,QACtK,CACI66B,aAAc,OACdC,cAAc,IALc,OAChC7mC,EADgC,OAQpCmqG,GAAoBnqG,EAAKkK,EAAOkgG,SARI,2CAAH,sDAUxBE,GAA2B,uCAAG,WAAOpgG,GAAP,eAAA1L,EAAA,sEACvB6B,aAAY,+CAAD,OAAgD6J,EAAOo8B,SAAvD,oBAA2Ep8B,EAAOq8B,OAAlF,eAA+Fr8B,EAAOyU,YAAc,CAC3IioB,aAAc,OACdC,cAAc,IAHqB,OACnC7mC,EADmC,OAKvCmqG,GAAoBnqG,EAAKkK,EAAOkgG,SALO,2CAAH,sDAO3BG,GAA8B,uCAAG,WAAOrgG,GAAP,eAAA1L,EAAA,sEAC1B6B,aAAY,qDAAD,OAAsD6J,EAAOo8B,SAA7D,oBAAiFp8B,EAAOq8B,OAAxF,eAAqGr8B,EAAOyU,YAAc,CACjJioB,aAAc,OACdC,cAAc,IAHwB,OACtC7mC,EADsC,OAK1CmqG,GAAoBnqG,EAAKkK,EAAOkgG,SALU,2CAAH,sDAO9BI,GAAwB,uCAAG,WAAOtgG,GAAP,eAAA1L,EAAA,sEACpB6B,aAAY,wCAAD,OAAyC6J,EAAOo8B,SAAhD,oBAAoEp8B,EAAOq8B,OAA3E,eAAwFr8B,EAAOyU,YAAc,CACpIioB,aAAc,OACdC,cAAc,IAHkB,OAChC7mC,EADgC,OAKpCmqG,GAAoBnqG,EAAKkK,EAAOkgG,SALI,2CAAH,sDAQxBK,GAAqB,uCAAG,WAAOvgG,GAAP,eAAA1L,EAAA,sEACjB6B,aAAY,sCAAD,OACe6J,EAAO+tC,OADtB,uBAEnB/tC,EAAOwgG,KAFY,4BAGdxgG,EAAOukD,UAHO,0BAIhBvkD,EAAOwkD,SACd,CACI9nB,aAAc,OACdC,cAAc,IARW,OAC7B7mC,EAD6B,OAWjCmqG,GAAoBnqG,EAAKkK,EAAOkgG,SAXC,2CAAH,sDAcrBO,GAAmC,uCAAG,WAAOzgG,GAAP,mBAAA1L,EAAA,sDAG/C,GAFImgD,EAAO,IAENisD,KAAEC,QAAQ3gG,EAAO4gG,cAClB,IAAWC,KAAY7gG,EAAO4gG,aAC1BnsD,GAAW,WAAOosD,EAAP,YAAmB7gG,EAAO4gG,aAAaC,IALX,gBAQ/B1qG,aAAY,+DAAD,OAAgE6J,EAAO8gG,UAAvE,OAAkFrsD,GAAQ,CACjH/X,aAAc,OACdC,cAAc,IAV6B,OAQ3C7mC,EAR2C,OAY/CmqG,GAAoBnqG,EAAKkK,EAAOkgG,SAZe,2CAAH,sDC3C1C10F,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,gBAAiB0R,QAAQ,IAE/BvQ,GAAYC,cAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACF81B,OAAQ,oBACRC,QAAS,GACTrpB,SAAU,IACV8X,aAAc,GACdK,UAAW,OACX1sB,WAAY,YACZ3C,OAAQ,OACRiN,MAAO,YAITmlB,GAAc,CAEhB,CAAE1kB,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,KACtD,CAAES,IAAK,wBAAyBxE,KAAM,aAAc+D,MAAO,MAAOgH,UAAW3E,IAAW62C,qBACxF,CAAEz4C,IAAK,sBAAuBxE,KAAM,WAAY+D,MAAO,MAAOgH,UAAW3E,IAAW62C,qBACpF,CAAEz4C,IAAK,UAAWxE,KAAM,WAAY+D,MAAO,OAC3C,CAAES,IAAK,qBAAsBxE,KAAM,OAAQ+D,MAAO,OAClD,CAAES,IAAK,2BAA4BxE,KAAM,UACzC,CAAEwE,IAAK,6BAA8BxE,KAAM,eAAgB+D,MAAO,OAClE,CAAES,IAAK,YAAaxE,KAAM,QAAS+D,MAAO,QAG1CwmD,GAAYt6C,OAAS82F,QAAQ,SAAS72F,OAAO,cAC7Cs6C,GAAUv6C,OAASC,OAAO,cAolBf82F,OAnlBf,SAA2B5wG,GAAQ,IAAD,EAC1B6O,EAAU8b,eACd,EAA0B3oB,mBAAS,CAC/BkxB,aAAc,GACdtiB,OAAQ,GACRy8B,kBAAmB,GACnB/R,WAAY,GACZjX,aAAY,OAACrkB,QAAD,IAACA,GAAD,UAACA,EAAO2P,aAAR,aAAC,EAAcC,OAAOvO,KAAMrB,EAAMqkB,YAAc,KAC5D6nB,SAAU,KACVioB,UAAWA,GACXC,QAASA,GACTy8C,cAAe,GACfnnB,QAAS,GACTonB,cAAe,GACfC,cAAe,EACfC,UAAW,EACXC,WAAY,EACZC,SAAU,EACVC,UAAW,EACXC,SAAU,EACVp+E,MAAM,EACNua,oBAAqB,GACrB8jE,kBAAmB,GACnBC,MAAO,GACPC,MAAO,GACPC,UAAW,GACX94D,KAAM,GACNzqC,MAAO,GACPyyC,OAAQ,GACRh0C,KAAM,GACN+kG,aAAc,KACdhxD,WAAY,GACZysD,WAAY,GACZz8F,SAAU,GACVihG,4BAA6B,KAhCjC,mBAAOjuG,EAAP,KAAcxB,EAAd,KAmCM0nE,EAAqB,SAAC59D,EAAK4lG,GAC7B,OAAQA,GACJ,IAAK,WACD9iG,EAAQC,KAAK,CACTwkB,SAAS,kBACT7vB,MAAO,CAAE+S,iBAAkBzK,EAAIswE,KAC/BloB,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,QACf/vC,WAAYtY,EAAIqoC,WAEpB,MACJ,IAAK,SACDvlC,EAAQC,KAAK,CACTwkB,SAAS,kBAET6gC,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,QACf/vC,WAAYtY,EAAIqoC,SAChBnmC,MAAOlC,EAAIkC,QAEf,MACJ,IAAK,QACDY,EAAQC,KAAK,CACTwkB,SAAS,kBAET6gC,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,QACf/vC,WAAYtY,EAAIqoC,SAChBsE,KAAM3sC,EAAI2sC,OAEd,MACJ,IAAK,WACD7pC,EAAQC,KAAK,CACTwkB,SAAS,kBACT7vB,MAAO,CAAEkT,mBAAoB5K,EAAI6lG,SACjCz9C,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,QACf/vC,WAAYtY,EAAIqoC,WAEpB,MACJ,IAAK,SACDvlC,EAAQC,KAAK,CACTwkB,SAAS,kBACT7vB,MAAO,CAAEiT,UAAW3K,EAAInC,MACxBuqD,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,QACf/vC,WAAYtY,EAAIqoC,WAEpB,MACJ,IAAK,MACDvlC,EAAQC,KAAK,CACTwkB,SAAS,kBACT7vB,MAAOsI,EACPooD,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,YAMzBsV,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMwoF,EAAct1E,IAAM1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAhG,SACKhE,EAAI8B,mBAIb,OADAT,IAASC,OAAOgF,EAAKF,GACdA,GAGLnP,EAAUZ,KAEV8mG,EAAgB,SAAC9lG,GACnB9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqtG,SAAUnlG,QAGnC+lG,EAAiB,SAAC/lG,GACpB9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBstG,UAAWplG,QAG1C,EAAsC/J,mBAAS,CAC3CuwC,gBAAiB,KACjBC,cAAe,KACfO,uBAAwB,KACxBN,YAAa,OAJjB,mBAAOz0B,EAAP,KAAoBC,EAApB,KAOMpM,EAAcwb,uBAAY,SAACvhB,GAC7B,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAEC4vG,EAAS,WAAO,IAAD,MACf,MAAM,yBAAN,OAAgCtuG,EAAM0wD,UAAtC,oBAA2D1wD,EAAM2wD,QAAjE,wBAAuF,UAAAp2C,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GAA1H,+BACI,UAAA2c,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,GAD9C,oBAEW,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,KAGxCkS,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOqS,IAChB1d,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,qBAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAY+0D,GAEnBjpD,IACR,IAEWhd,EAAMuuG,iBAEpBpuG,oBAAS,sBAAC,4BAAAM,EAAA,sEACUsnC,KADV,OACF9lC,EADE,OAENzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvB,aAAcxtB,EAAIW,KAAKmZ,UACvB8b,WAAY51B,EAAIW,KAAKswC,OACrBlmC,SAAU/K,EAAIW,KAAKkL,OAAS,GAC5BmgG,4BAA6BhsG,EAAIW,KAAK2wC,mBAAqB,QAPzD,2CASP,IAEHpzC,qBAAU,WAAO,IAAD,EACRi8B,EAAQ,GACRp8B,EAAM4gB,aAAc,UAAA5gB,EAAMyvB,oBAAN,eAAoBlhB,QAAS,EACjD6tB,EAAM0S,gBAAkB9uC,EAAMyvB,aAAa1f,MAAK,qBAAGnS,MAAiBoC,EAAM4gB,cAE1Ewb,EAAM0S,gBAAkB9uC,EAAMyvB,aAAa,GAE/CjV,GAAe,SAACpa,GAAD,mBAAC,eACTA,GACAg8B,QAER,CAACp8B,EAAM4gB,WAAY5gB,EAAMyvB,eAI5BtvB,qBAAU,WACN,IAAI2pC,EAAsB,GACtB8jE,EAAoB,GACpB5wD,EAAa,GACbysD,EAAa,GACjB,OAAQzpG,EAAM0tG,WACV,KAAK,EACD5jE,EACI9pC,EAAMiJ,MACNjJ,EAAMiJ,KAAKnD,KAAI,SAACgoB,GAAD,yBAAC,eACTA,GADQ,OAEX3nB,KAAM2nB,EAAEqgF,SAFG,cAGV,aAAergF,EAAE0gF,WAHP,yBAIDj0F,EAAYu0B,gBAAgBlxC,IAJ3B,OAMnBgwG,EACI5tG,EAAM8tG,OACN9tG,EAAM8tG,MAAMhoG,KAAI,SAACgoB,GAAD,yBAAC,eACVA,GADS,OAEZ3nB,KAAM2nB,EAAEggF,OAFI,cAGX,aAAehgF,EAAE0gF,WAHN,yBAIFj0F,EAAYu0B,gBAAgBlxC,IAJ1B,OAMpBo/C,EACIh9C,EAAMi9C,QACNj9C,EAAMi9C,OAAOn3C,KAAI,SAACgoB,GAAD,yBAAC,eACXA,GADU,OAEb3nB,KAAM2nB,EAAE28B,0BAFK,cAGZ,aAAe38B,EAAE0gF,WAHL,yBAIHj0F,EAAYu0B,gBAAgBlxC,IAJzB,OAMrB6rG,EACIzpG,EAAM+tG,WACN/tG,EAAM+tG,UAAUjoG,KAAI,SAACgoB,GAAD,yBAAC,eACdA,GADa,OAEhB3nB,KAAM2nB,EAAE07E,sBAFQ,cAGf,aAAe17E,EAAE0gF,WAHF,yBAINj0F,EAAYu0B,gBAAgBlxC,IAJtB,OAMxB,MACJ,KAAK,EACDksC,EACI9pC,EAAMiJ,MACNjJ,EAAMiJ,KAAKnD,KAAI,SAACgoB,GAAD,yBAAC,eACTA,GADQ,OAEX3nB,KAAM2nB,EAAEqgF,SAFG,cAGV,aAAergF,EAAErV,OAHP,yBAID8B,EAAYu0B,gBAAgBlxC,IAJ3B,OAMnBgwG,EACI5tG,EAAM8tG,OACN9tG,EAAM8tG,MAAMhoG,KAAI,SAACgoB,GAAD,yBAAC,eACVA,GADS,OAEZ3nB,KAAM2nB,EAAEggF,OAFI,cAGX,aAAehgF,EAAErV,OAHN,yBAIF8B,EAAYu0B,gBAAgBlxC,IAJ1B,OAMpBo/C,EACIh9C,EAAMi9C,QACNj9C,EAAMi9C,OAAOn3C,KAAI,SAACgoB,GAAD,yBAAC,eACXA,GADU,OAEb3nB,KAAM2nB,EAAE28B,0BAFK,cAGZ,aAAe38B,EAAErV,OAHL,yBAIH8B,EAAYu0B,gBAAgBlxC,IAJzB,OAMrB6rG,EACIzpG,EAAM+tG,WACN/tG,EAAM+tG,UAAUjoG,KAAI,SAACgoB,GAAD,yBAAC,eACdA,GADa,OAEhB3nB,KAAM2nB,EAAE07E,sBAFQ,cAGf,aAAe17E,EAAErV,OAHF,yBAIN8B,EAAYu0B,gBAAgBlxC,IAJtB,OAQhCY,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL0pC,oBAAqBA,EACrB8jE,kBAAmBA,EACnB5wD,WAAYA,EACZysD,WAAYA,SAEjB,CAACzpG,EAAM0tG,UAAW1tG,EAAMguG,eAI3B7tG,qBAAU,WAAO,IAAD,QACRsuG,EAAU,GACVC,EAAY,GACZC,EAAa,GACjB,OAAQ3uG,EAAMytG,UACV,KAAK,EACDgB,EAAUzuG,EAAM6tG,OAAS7tG,EAAM6tG,MAAM/nG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAE8qD,IAAKmxB,IAAKj8E,EAAE0gF,UAAW79D,SAAUp2B,EAAYu0B,gBAAgBlxC,QAC7H8wG,EAAY1uG,EAAMi1C,OAAN,UAAcj1C,EAAMi1C,YAApB,aAAc,EAAYnvC,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAEmnB,KAAM80D,IAAKj8E,EAAE0gF,UAAW79D,SAAUp2B,EAAYu0B,gBAAgBlxC,SAC/H+wG,EAAa3uG,EAAMwK,QAAN,UAAexK,EAAMwK,aAArB,aAAe,EAAa1E,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAEtjB,MAAOu/F,IAAKj8E,EAAE0gF,UAAW79D,SAAUp2B,EAAYu0B,gBAAgBlxC,SACnI,MAEJ,KAAK,EACD6wG,EAAUzuG,EAAM6tG,OAAS7tG,EAAM6tG,MAAM/nG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAE8qD,IAAKmxB,IAAKj8E,EAAErV,MAAOk4B,SAAUp2B,EAAYu0B,gBAAgBlxC,QACzH8wG,EAAY1uG,EAAMi1C,OAAN,UAAcj1C,EAAMi1C,YAApB,aAAc,EAAYnvC,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAEmnB,KAAM80D,IAAKj8E,EAAErV,MAAOk4B,SAAUp2B,EAAYu0B,gBAAgBlxC,SAC3H+wG,EAAa3uG,EAAMwK,QAAN,UAAexK,EAAMwK,aAArB,aAAe,EAAa1E,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAEtjB,MAAOu/F,IAAKj8E,EAAErV,MAAOk4B,SAAUp2B,EAAYu0B,gBAAgBlxC,SAIvIY,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBquG,QAASA,EAASC,UAAWA,EAAWC,WAAYA,SAChF,CAAC3uG,EAAMytG,SAAUztG,EAAMguG,eAE1B7tG,oBAAS,sBAAC,wCAAAM,EAAA,4DACF,UAAAT,EAAMyvB,oBAAN,eAAoBlhB,QAAS,GAD3B,gCAEc2X,IACZ,UAAA3L,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GACnCoC,EAAM0wD,UACN1wD,EAAM2wD,SACN,UAAAp2C,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,IAC1C,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,IAPjC,OAEEqE,EAFF,OASEm6B,EAAQ,GACRx5B,EAVF,OAUSX,QAVT,IAUSA,OAVT,EAUSA,EAAKW,KACZX,EAAIoE,UACJ+1B,EAAM4xE,aAAe,IAAIv9F,KACzB2rB,EAAMyxE,MAAQjrG,EAAKirG,MACnBzxE,EAAM0xE,MAAQlrG,EAAKkrG,MACnB1xE,EAAM2xE,UAAYnrG,EAAKmrG,UACvB3xE,EAAM6Y,KAAOryC,EAAKqyC,KAClB7Y,EAAM5xB,MAAQ5H,EAAK4H,MACnB4xB,EAAM6gB,OAASr6C,EAAKq6C,OACpB7gB,EAAMnzB,KAAOrG,EAAKqG,MAEtBzK,GAAS,SAAC4B,GAAD,mBAAC,2BACHA,GACAg8B,GAFE,IAGLvoB,IAAKy6F,SAxBP,2CA2BP,CAACtuG,EAAM0wD,UAAW1wD,EAAM2wD,QAASp2C,EAAYu0B,gBAAiBv0B,EAAYy0B,YAAaz0B,EAAY+0B,yBAEtG,IAAM9yB,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GAEhCkS,EADAlS,EACe,SAAClI,GACZ,IAAIg8B,EAAK,2BAAQh8B,GAAR,kBAAa0a,EAAKxS,IAI3B,MAHW,oBAAPwS,IACAshB,EAAM2S,cAAgB,MAEnB3S,GAGI,SAACh8B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAK,WAG/C3a,qBAAU,WACN,IACIyuG,EAD0B,aAAO,IAAI5hB,IAAIhtF,EAAMimF,QAAQngF,KAAI,SAACxG,GAAD,OAAUA,EAAK2T,eACzCnN,KAAI,SAACgoB,GAAO,IAAD,EACxCrtB,EAAIT,EAAMimF,QAAQxrD,QAAO,SAAUnyB,GACnC,OAAOA,EAAI2K,YAAc6a,KAC1Bvf,OACH,OAAO,EAAP,CAASpI,KAAM2nB,GAAK,kBAApB,cAAuC,aAAertB,GAAtD,yBAAmE8Z,EAAYu0B,gBAAgB3oC,MAA/F,KAEAmnG,EAAgB,EACH,aAAIsB,GAAOz7F,SAAQ,SAAU7T,GAC1CguG,GAAiBhuG,EAAKmZ,SAE1Bja,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBitG,cAAeuB,EAAOtB,cAAeA,SACjE,CAACttG,EAAMimF,UAEV,IAOMtD,EAAe,SAACr6E,GAClB9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmtG,UAAWjlG,QAGpCumG,EAAY,SAACvmG,GACf9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBotG,WAAYllG,QAGvCwmG,EAAc,CACd/xE,EAAG/8B,EAAMyuG,QACT5xE,EAAG78B,EAAM2uG,WACThyE,EAAG38B,EAAM0uG,UACT9sE,EAAG5hC,EAAM8pC,oBACT5H,EAAGliC,EAAM4tG,kBACTnrE,EAAGziC,EAAMg9C,WACTla,EAAG9iC,EAAMypG,YAET1gG,EAAQ,CACRg0B,EAAG,WACHF,EAAG,SACHF,EAAG,QACHiF,EAAG,cACHM,EAAG,WACHO,EAAG,YACHK,EAAG,iBAGDyjD,EAAgB,SAACj+E,GACnB9J,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GAKjB,OAJAg8B,EAAM7M,MAAQnvB,EAAGmvB,KACjB6M,EAAMiW,aAAe/pC,EAAI+pC,cAAgB,GACzCjW,EAAM6M,UAAY3gC,EAAIyhD,qBAAuB,GAC7C3tB,EAAMi6B,MAAQ/tD,EAAIyK,iBACXqpB,MAIf,OACI,sBAAKl7B,UAAS,uBAAkB3E,EAAMwvF,QAAU,GAAK,UAArD,UACKxvF,EAAMwvF,QAAU,GAAK,cAAC,IAAD,CAAap0E,OAAQA,KAC3C,eAACzY,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,eAACD,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAAGr9B,UAAU,mBAAzD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CACIqa,QAAShb,EAAMyvB,aACf/wB,MAAO6b,EAAYu0B,gBACnB9lC,SAAUwT,EAAmB,mBAC7BxR,SAAUzO,EAAMqkB,aAEpB,cAACjf,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOyT,gBAExC,eAAC1hB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGgR,GAAI,EAA5C,UACI,cAAC79B,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CAAYjC,MAAOsB,EAAM0wD,UAAW1nD,SAAUoF,EAAajI,KAAK,iBAEpE,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGgR,GAAI,EAA5C,UACI,cAAC79B,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CAAYjC,MAAOsB,EAAM2wD,QAAS3nD,SAAUoF,EAAajI,KAAK,eAElE,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAAGr9B,UAAU,mBAAzD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,8BAGA,cAAC,IAAD,CACIqa,QAAShb,EAAMiuG,4BACfvvG,MAAO6b,EAAY+0B,uBACnBtmC,SAAUwT,EAAmB,4BAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkZ,uBAExC,eAACnnB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAA5C,UACI,cAAC79B,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,IAAD,CAAcqa,QAAShb,EAAMgN,SAAUtO,MAAO6b,EAAYy0B,YAAahmC,SAAUwT,EAAmB,uBAG5G,eAACtd,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,WAAY,EAAGi+B,cAAe,GAAnE,UACI,cAAC//B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACs+B,GAAA,EAAD,CAAM38B,UAAWgH,EAAQT,KAAzB,UACI,eAACvI,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,GAArC,SACI,sBAAKhwB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,OAAQvX,MAAO,UAAWwV,WAAY,IAAKvN,OAAQ,aAA3F,mBACWqB,EAAM/I,EAAMutG,WADvB,WAEI,eAACwB,GAAA,EAAD,CAAatvG,MAAM,YAAYuvG,YAAU,gCAAgChxE,KAAK,QAA9E,UACI,cAACx+B,EAAA,EAAD,CACIE,QAA4B,IAAnBM,EAAMytG,SAAiB,YAAc,WAC9C1vG,QAAS,kBAAMqwG,EAAc,IAC7B7wG,MAAO,CAAEqZ,SAAU,IAHvB,kBAOA,cAACpX,EAAA,EAAD,CACIE,QAA4B,IAAnBM,EAAMytG,SAAiB,YAAc,WAC9C1vG,QAAS,kBAAMqwG,EAAc,IAC7B7wG,MAAO,CAAEqZ,SAAU,IAHvB,gCAWZ,cAAC1X,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,qBAAKhwB,MAAO,CAAElB,YAAa,GAAI2E,UAAW,GAAI6qD,MAAO,SAArD,SACI,eAACkjD,GAAA,EAAD,CAAatvG,MAAM,UAAUkX,aAAW,gCAAgCqnB,KAAK,QAA7E,UACI,cAACx+B,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAM4kF,EAAa,IAC5BplF,MAAO,CAAEqZ,SAAU,IAHvB,sBAOA,cAACpX,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAM4kF,EAAa,IAC5BplF,MAAO,CAAEqZ,SAAU,IAHvB,oBAOA,eAACpX,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAM4kF,EAAa,IAC5BplF,MAAO,CAAEqZ,SAAU,IAHvB,UAKK,IALL,qBAchB,cAAC,GAAD,CACI4B,KAAMs2F,EAAY9uG,EAAMutG,WACxBvD,MAAK,0BAAqBjhG,EAAM/I,EAAMutG,YACtCrnC,mBAAoBA,EACpBn9D,MAAOA,EAAM/I,EAAMutG,kBAK/B,cAACruG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACsQ,GAAA,EAAD,CAAM38B,UAAWgH,EAAQT,KAAzB,UACI,eAACvI,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,sBAAKhwB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,OAAQvX,MAAO,UAAWwV,WAAY,IAAKvN,OAAQ,aAA3F,UACKqB,EAAM/I,EAAMwtG,YADjB,WAGI,eAACuB,GAAA,EAAD,CAAatvG,MAAM,YAAYkX,aAAW,gCAAgCqnB,KAAK,QAA/E,UACI,cAACx+B,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAM0tG,UAAkB,YAAc,WAC/C3vG,QAAS,kBAAMswG,EAAe,IAC9B9wG,MAAO,CAAEqZ,SAAU,IAHvB,kBAOA,cAACpX,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAM0tG,UAAkB,YAAc,WAC/C3vG,QAAS,kBAAMswG,EAAe,IAC9B9wG,MAAO,CAAEqZ,SAAU,IAHvB,gCAUZ,cAAC1X,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,qBAAKhwB,MAAO,CAAElB,YAAa,GAAI2E,UAAW,GAAI6qD,MAAO,SAArD,SACI,eAACkjD,GAAA,EAAD,CAAatvG,MAAM,UAAUkX,aAAW,gCAAgCqnB,KAAK,QAA7E,UACI,cAACx+B,EAAA,EAAD,CACIE,QAA8B,IAArBM,EAAMwtG,WAAmB,YAAc,WAChDzvG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,yBAOA,eAACpX,EAAA,EAAD,CACIE,QAA8B,IAArBM,EAAMwtG,WAAmB,YAAc,WAChDzvG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,UAKK,IALL,cAQA,cAACpX,EAAA,EAAD,CACIE,QAA8B,IAArBM,EAAMwtG,WAAmB,YAAc,WAChDzvG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,uBAOA,eAACpX,EAAA,EAAD,CACIE,QAA8B,IAArBM,EAAMwtG,WAAmB,YAAc,WAChDzvG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,UAKK,IALL,6BAYhB,cAAC,GAAD,CACI40F,OAAO,EACPhzF,KAAMs2F,EAAY9uG,EAAMwtG,aAAe,GACvCzkG,MAAOA,EAAM/I,EAAMwtG,YACnBzC,cAAc,EACd7kC,mBAAoBA,EACpBimC,OAA6B,IAArBnsG,EAAMwtG,WAAmB,WAAa,mBAK9D,cAACtuG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACKS,EAAM6T,KACH,cAAC,GAAD,CACIF,cAAe,SAAC1R,GAAD,OApOnB,SAACA,GAEjB,OADAzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6lF,QAAShkF,EAAIW,KAAK4V,UACtC,CACHhE,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,OAgOwBw2F,CAAYhtG,IACpC6N,QAASA,EACT4C,OAAQ1S,EAAM6T,IACdpB,SAAUzS,EAAMyS,SAChBy8F,cAAc,EACd/4F,gBAAgB,gBAChBF,kBAAmB,4BACfq2F,GAAyB,CACrB/jE,SAAUvoC,EAAM0wD,UAChBloB,OAAQxoC,EAAM2wD,QACd/vC,YAAY,UAAArG,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GAC/CyoB,mBAAmB,UAAA9L,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,GAC7DoQ,QAAQ,UAAAuM,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,GACvCyuG,QAAS,iBAOhCrsG,EAAMuvB,KAEH,cAAC7yB,GAAA,EAAD,CAAYC,MAAK,uBAAkBqD,EAAMq2D,OAASv5D,QAASypF,EAAexpF,SAAS,KAAKC,SAAS,OAAjG,SACI,cAAC,GAAD,CAAQq1C,aAAcryC,EAAMqyC,aAAc4W,QAAQ,EAAMnsD,QAASypF,EAAet9C,UAAW1sC,EAAM0sC,WAAajpC,EAAMipC,cAExH,SCnnBVtxB,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YAAa0R,QAAQ,IAY3BvQ,GAAYC,cAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACF81B,OAAQ,oBACRC,QAAS,GACTrpB,SAAU,IACV8X,aAAc,GACdK,UAAW,OACX1sB,WAAY,YACZ3C,OAAQ,OACRiN,MAAO,YAITmlB,GAAc,CAEhB,CACI1kB,IAAK,QACLxE,KAAM,aACN+D,MAAO,KAEX,CAAES,IAAK,WAAYxE,KAAM,YAAa+D,MAAO,KAC7C,CAAES,IAAK,aAAcxE,KAAM,aAAc+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,KAC3F,CAAES,IAAK,aAAcxE,KAAM,eAC3B,CAAEwE,IAAK,WAAYxE,KAAM,YACzB,CAAEwE,IAAK,YAAaxE,KAAM,SAC1B,CAAEwE,IAAK,aAAcxE,KAAM,cAAemL,WAAY,KAAMC,UAAU,IAO1E,IAAIm/C,GAAYt6C,OAAS82F,QAAQ,SAAS72F,OAAO,cAC7Cs6C,GAAUv6C,OAASC,OAAO,cAsYf84F,GApYkB,SAAC5yG,GAAW,IAAD,EAClC2L,EAAUZ,KACZ8D,EAAU8b,eAEd,EAA0B3oB,mBAAS,CAC/BkxB,aAAc,GACdtiB,OAAQ,GACRy8B,kBAAmB,GACnB/R,WAAY,GACZjX,aAAY,OAACrkB,QAAD,IAACA,GAAD,UAACA,EAAO2P,aAAR,aAAC,EAAcC,OAAOvO,KAAMrB,EAAMqkB,YAAc,KAC5D6nB,SAAU,KACVioB,UAAWA,GACXC,QAASA,GACT0jC,WAAY/oF,OAAOC,SAASskB,SAAS3b,SAAS,UAAY,SAAW,YACrEk5F,cAAe,GACfnnB,QAAS,GACTonB,cAAe,GACfC,cAAe,EACfz5F,IAAK,GACLu7F,SAAU,GACVC,SAAU,GACVC,UAAW,GACX/B,UAAW,EACXC,WAAY,EACZM,MAAO,GACPyB,UAAW,EACXviG,SAAU,GACVihG,4BAA6B,KAvBjC,mBAAOjuG,EAAP,KAAcxB,EAAd,KA0BM4vG,EAAgB,SAAC9lG,GACnB9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmtG,UAAWjlG,QAOpCumG,EAAY,SAACvmG,GACf9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvG,UAAWjnG,QAG1C,EAAsC/J,mBAAS,CAC3CuwC,gBAAiB,KACjBC,cAAe,KACfO,uBAAwB,KACxBN,YAAa,OAJjB,mBAAOz0B,EAAP,KAAoBC,EAApB,KAOMg1F,EAASp3F,mBAAQ,WACnB,IA9FY9P,EAqCWmnG,EAyDjBp3F,EAAQ,UAAOV,IAErB,OADAU,EAAS4f,OAAO,EAAG,EAAG,CAAE9xB,KAAK,GAAD,QA1DLspG,EA0DgCzvG,EAAMq0F,WAzD1Dob,EAAOC,OAAO,GAAGj7D,cAAgBg7D,EAAO7hF,MAAM,KAyD2BhW,MA/FhEtP,EA+FiFtI,EAAMq0F,WA9F5F,UAAP/rF,EACO,uBAEA,aAAPA,EACO,oCADX,KA4FW+P,IACR,CAACrY,EAAMq0F,aAEVl0F,oBAAS,sBAAC,4BAAAM,EAAA,sEACUsnC,KADV,OACF9lC,EADE,OAENzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvB,aAAcxtB,EAAIW,KAAKmZ,UACvB8b,WAAY51B,EAAIW,KAAKswC,OACrBlmC,SAAU/K,EAAIW,KAAKkL,OAAS,GAC5BmgG,4BAA6BhsG,EAAIW,KAAK2wC,mBAAqB,QAPzD,2CASP,IAEHpzC,qBAAU,WACN,IAAIi8B,EAAQ,GACRp8B,EAAM4gB,YAAc5gB,EAAMyvB,aAAalhB,OAAS,EAChD6tB,EAAM0S,gBAAkB9uC,EAAMyvB,aAAa1f,MAAK,qBAAGnS,MAAiBoC,EAAM4gB,cAE1Ewb,EAAM0S,gBAAkB9uC,EAAMyvB,aAAa,GAG/CjV,GAAe,SAACpa,GAAD,mBAAC,eACTA,GACAg8B,QAER,CAACp8B,EAAM4gB,WAAY5gB,EAAMyvB,eAE5B,IAAI6+E,EAAS,WAC0B,IAAD,MAKG,MALrC,MAAwB,UAApBtuG,EAAMq0F,WACA,2CAAN,OAAkDr0F,EAAM0wD,UAAxD,oBAA6E1wD,EAAM2wD,QAAnF,wBACI,UAAAp2C,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GADvC,+BAEsB,UAAA2c,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,GAFhE,oBAE6E,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,IAExF,aAApBoC,EAAMq0F,WACA,8CAAN,OAAqDr0F,EAAM0wD,UAA3D,oBAAgF1wD,EAAM2wD,QAAtF,wBACI,UAAAp2C,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GADvC,+BAEsB,UAAA2c,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,GAFhE,oBAE6E,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,SAHhH,GAOJuC,oBAAS,sBAAC,wEAAAM,EAAA,yDACFwB,EAAM,KACNjC,EAAMyvB,aAAalhB,OAAS,IAA5B,UAAiCgM,EAAYu0B,uBAA7C,aAAiC,EAA6BlxC,KAF5D,oBAGE+xG,EAAQ,GACY,UAApB3vG,EAAMq0F,WAJR,gCAKc5jC,IACR,UAAAl2C,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GACnCoC,EAAM0wD,UACN1wD,EAAM2wD,SACN,UAAAp2C,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,IAC1C,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,IAVrC,OAKEqE,EALF,iBAasB,aAApBjC,EAAMq0F,WAbR,kCAcczjC,IACR,UAAAr2C,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GACnCoC,EAAM0wD,UACN1wD,EAAM2wD,SACN,UAAAp2C,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,IAC1C,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,IAnBrC,QAcEqE,EAdF,eAsBEA,EAAIoE,UACJspG,EAAMvC,eAAgB,UAAAnrG,EAAIW,YAAJ,eAAU4V,MAAV,UAAiBvW,EAAIW,YAArB,iBAAiB,EAAU4V,YAA3B,aAAiB,EAAgB1S,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,gBAAgB3nB,KAAM2nB,EAAEigF,WAAY,aAAejgF,EAAErV,WAAY,GAC5Hk3F,EAAM7B,OAAQ,UAAA7rG,EAAIW,YAAJ,mBAAUkrG,aAAV,eAAiBhoG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,gBAAgB3nB,KAAM2nB,EAAEggF,OAAQ,aAAehgF,EAAErV,aAAa,GACjGk3F,EAAMP,UAAW,UAAAntG,EAAIW,YAAJ,eAAUirG,OAAV,UAAkB5rG,EAAIW,YAAtB,iBAAkB,EAAUirG,aAA5B,aAAkB,EAAiB/nG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAE8qD,IAAKmxB,IAAKj8E,EAAErV,WAAY,GACvGk3F,EAAMN,UAAW,UAAAptG,EAAIW,YAAJ,eAAUysG,UAAV,UAAqBptG,EAAIW,YAAzB,iBAAqB,EAAUysG,gBAA/B,aAAqB,EAAoBvpG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAEmnB,KAAM80D,IAAKj8E,EAAErV,WAAY,GAC9Gk3F,EAAML,WAAY,UAAArtG,EAAIW,YAAJ,eAAU0sG,WAAV,UAAsBrtG,EAAIW,YAA1B,iBAAsB,EAAU0sG,iBAAhC,aAAsB,EAAqBxpG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAEtjB,MAAOu/F,IAAKj8E,EAAErV,WAAY,IAEtHja,GAAS,SAAC4B,GAAD,mBAAC,2BACHA,GACAuvG,GAFE,IAGL97F,IAAKy6F,SAhCP,4CAmCP,CAACtuG,EAAM0wD,UAAW1wD,EAAM2wD,QAASp2C,EAAYu0B,gBAAiBv0B,EAAYy0B,YAAaz0B,EAAY+0B,yBAEtG,IAAMlhC,EAAcwb,uBAAY,SAACvhB,GAC7B,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAEG8d,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GAEhCkS,EADAlS,EACe,SAAClI,GACZ,IAAIg8B,EAAK,2BAAQh8B,GAAR,kBAAa0a,EAAKxS,IAI3B,MAHW,oBAAPwS,IACAshB,EAAM2S,cAAgB,MAEnB3S,GAGI,SAACh8B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAK,WAY3Cg0F,EAAc,CACd/xE,EAAG/8B,EAAMovG,SACTvyE,EAAG78B,EAAMsvG,UACT3yE,EAAG38B,EAAMqvG,SACTztE,EAAG5hC,EAAMotG,cACTlrE,EAAGliC,EAAM8tG,OAET/kG,EAAQ,CACRg0B,EAAG,wBACHF,EAAG,sBACHF,EAAG,qBACHiF,EAAG,6BACHM,EAAG,yBAED0tE,EAAmB,SAAC,EAAcj9F,GAAU,IAAtB1B,EAAqB,EAArBA,IAClBoG,GADuC,EAAhB2Y,IACjBje,SAASC,cAAc,SAC7BuF,EACF,qBACIxZ,QAAS,kBACLqN,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6B5e,EAAIlO,cAGjDxF,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAN5D,SAQKhE,EAAIolD,QAIb,OADA/jD,IAASC,OAAOgF,EAAKF,GACdA,GAaLw4F,EAAgB,SAAC,EAAcl9F,GAAU,IAAtB1B,EAAqB,EAArBA,IACfoG,GADoC,EAAhB2Y,IACdje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAdO,SAACkT,GAC1B,MAA2B,UAApBjR,EAAMq0F,WACPjpF,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,OAA8B5e,EAAIpO,SAAlC,YAA8CoO,EAAIlO,WAC1D/C,MAAO,SAEXoL,EAAQC,KAAK,CACTwkB,SAAS,gCAAD,OAAkC5e,EAAIpO,SAAtC,YAAkDoO,EAAIlO,WAC9D/C,MAAO,SAMO8vG,CAAqB7+F,IAAM1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAvG,SACKhE,EAAI8+F,WAIb,OADAz9F,IAASC,OAAOgF,EAAKF,GACdA,GAEL24F,EAAU53F,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,UAAhBA,EAAQ3N,OAC/Cy7D,EAAe/tD,EAAStI,MAAK,SAACuI,GAAD,MAA6B,aAAhBA,EAAQ3N,OAQtD,OAPIgH,IACAA,EAAUT,UAAY0+F,GAEtBxpC,IACAA,EAAal1D,UAAY2+F,GAGtBx3F,IACR,IAEH,OACI,sBAAKnX,UAAS,uBAAkB3E,EAAMwvF,QAAU,GAAK,UAArD,UACKxvF,EAAMwvF,QAAU,GAAK,cAAC,IAAD,CAAap0E,OAAQ63F,IAC3C,eAACtwG,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,eAACD,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAAGr9B,UAAU,mBAAzD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CACIqa,QAAShb,EAAMyvB,aACf/wB,MAAO6b,EAAYu0B,gBACnB9lC,SAAUwT,EAAmB,mBAC7BxR,SAAUzO,EAAMqkB,aAEpB,cAACjf,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOyT,gBAExC,eAAC1hB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGgR,GAAI,EAA5C,UACI,cAAC79B,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CAAYjC,MAAOsB,EAAM0wD,UAAW1nD,SAAUoF,EAAajI,KAAK,iBAEpE,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGgR,GAAI,EAA5C,UACI,cAAC79B,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CAAYjC,MAAOsB,EAAM2wD,QAAS3nD,SAAUoF,EAAajI,KAAK,eAElE,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGgR,GAAI,EAAGr9B,UAAU,mBAAzD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,8BAGA,cAAC,IAAD,CACIqa,QAAShb,EAAMiuG,4BACfvvG,MAAO6b,EAAY+0B,uBACnBtmC,SAAUwT,EAAmB,4BAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkZ,uBAExC,eAACnnB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGgR,GAAI,EAA5C,UACI,cAAC79B,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,IAAD,CAAcqa,QAAShb,EAAMgN,SAAUtO,MAAO6b,EAAYy0B,YAAahmC,SAAUwT,EAAmB,uBAG5G,eAACtd,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,WAAY,EAAGi+B,cAAe,GAAnE,UACI,cAAC//B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACs+B,GAAA,EAAD,CAAM38B,UAAWgH,EAAQT,KAAzB,UACI,eAACvI,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAGC,GAAI,GAA9B,SACI,sBAAKhwB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,OAAQvX,MAAO,UAAWwV,WAAY,IAAKvN,OAAQ,aAA3F,mBACWqB,EAAM/I,EAAMutG,gBAI3B,cAACruG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAGC,GAAI,EAA9B,SACI,qBAAKhwB,MAAO,CAAElB,YAAa,GAAI2E,UAAW,GAAI6qD,MAAO,SAArD,SACI,eAACkjD,GAAA,EAAD,CAAatvG,MAAM,UAAUkX,aAAW,gCAAgCqnB,KAAK,QAA7E,UACI,cAACx+B,EAAA,EAAD,CACIjC,MAAO,CAAEqZ,SAAU,IACnBlX,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAMqwG,EAAc,IAHjC,sBAOA,cAAC5uG,EAAA,EAAD,CACIjC,MAAO,CAAEqZ,SAAU,IACnBlX,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAMqwG,EAAc,IAHjC,oBAOA,eAAC5uG,EAAA,EAAD,CACIjC,MAAO,CAAEqZ,SAAU,IACnBlX,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAMqwG,EAAc,IAHjC,UAKK,IALL,qBAahB,cAAC,GAAD,CACI51F,KAAMs2F,EAAY9uG,EAAMutG,WAExBvD,MAAK,aAAQhqG,EAAMq0F,WAAd,gDAIjB,cAACn1F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACsQ,GAAA,EAAD,CAAM38B,UAAWgH,EAAQT,KAAzB,UAQI,eAACvI,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,qBAAKhwB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,OAAQvX,MAAO,UAAWwV,WAAY,IAAKvN,OAAQ,aAA3F,SACKqB,EAAM/I,EAAMuvG,eAGrB,cAACrwG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,qBAAKhwB,MAAO,CAAElB,YAAa,GAAI2E,UAAW,GAAI6qD,MAAO,SAArD,SACI,eAACkjD,GAAA,EAAD,CAAatvG,MAAM,UAAUkX,aAAW,gCAAgCqnB,KAAK,QAA7E,UACI,cAACx+B,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAMuvG,UAAkB,YAAc,WAC/CxxG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,2BAOA,eAACpX,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAMuvG,UAAkB,YAAc,WAC/CxxG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,UAKK,IALL,wBAYhB,cAAC,GAAD,CAAmB40F,OAAO,EAAMhzF,KAAMs2F,EAAY9uG,EAAMuvG,WAAYxmG,MAAOA,EAAM/I,EAAMuvG,WAAYxE,cAAc,YAe7H,cAAC7rG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACKS,EAAM6T,KACH,cAAC,GAAD,CACIF,cAAe,SAAC1R,GAAD,OAzNnB,SAACA,GAEjB,OADAzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6lF,QAAShkF,EAAIW,KAAK4V,UACtC,CACHhE,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,OAqNwBw2F,CAAYhtG,IACpC6N,QAASkgG,EACTt9F,OAAQ1S,EAAM6T,IACdq7F,cAAc,EACd/4F,gBAAgB,gBAChBF,kBAAmB,WAAO,IAAD,EACjB9J,EAAS,CACTo8B,SAAUvoC,EAAM0wD,UAChBloB,OAAQxoC,EAAM2wD,QACd/vC,YAAY,UAAArG,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GAC/CyuG,QAAS,QAEO,UAApBrsG,EAAMq0F,WAAyBkY,GAA4BpgG,GAAUqgG,GAA+BrgG,e,gCCxbvH8jG,I,OAAY,uCAAG,WAAO9pF,EAAOC,EAAK3F,GAAnB,eAAAhgB,EAAA,sEACR6B,aAAY,wCAAD,OAAyCme,GAAM,GAA/C,sBAA+D0F,EAA/D,oBAAgFC,IADnF,cACpBnkB,EADoB,yBAGjBA,GAHiB,2CAAH,2DCcnButG,GAAS,CACX,CAAErpG,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,gBAAiB0R,QAAQ,IAG/Bq4F,GAAS,CACX,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAGEjG,GAAY,CACdC,EAAG,UACHntE,EAAG,UACHF,EAAG,UACHF,EAAG,UACHiF,EAAG,UACHM,EAAG,UACHO,EAAG,UACHK,EAAG,UACHK,EAAG,UACHgnE,EAAG,UACHC,GAAI,UACJC,GAAI,UACJC,GAAI,UACJC,GAAI,UACJC,GAAI,WAGF16F,GAAU,CACZ,CAAEnF,IAAK,QAASxE,KAAM,SAAU+D,MAAO,OACvC,CAAES,IAAK,MAAOxE,KAAM,UAAW+D,MAAO,OACtC,CAAES,IAAK,UAAWxE,KAAM,YAAa+D,MAAO,OAC5C,CAAES,IAAK,UAAWxE,KAAM,WAAY+D,MAAO,MAAOgH,UAAW3E,IAAWE,eACxE,CAAE9B,IAAK,aAAcxE,KAAM,cAAe+D,MAAO,MAAOgH,UAAW3E,IAAWE,eAC9E,CAAE9B,IAAK,eAAgBxE,KAAM,gBAAiB+D,MAAO,MAAOgH,UAAW3E,IAAWE,eAClF,CAAE9B,IAAK,cAAexE,KAAM,cAAe+D,MAAO,OAClD,CAAES,IAAK,UAAWxE,KAAM,WAAY+D,MAAO,OAC3C,CAAES,IAAK,OAAQxE,KAAM,OAAQ+D,MAAO,MAAOgH,UAAW3E,IAAW2wE,iBACjE,CAAEvyE,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MAAOgH,UAAW3E,IAAW2wE,iBACrE,CAAEvyE,IAAK,QAASxE,KAAM,QAAS+D,MAAO,MAAOgH,UAAW3E,IAAW2wE,kBAGnExsB,GAAYt6C,OAAS82F,QAAQ,SAAS72F,OAAO,cAC7Cs6C,GAAUv6C,OAASC,OAAO,cA0cf85F,GAxcS,SAAC5zG,GACrB,IAAM0zC,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YACrD,EAA0B3V,mBAAS,CAC/BmyD,UAAWA,GACXC,QAASA,GACTy/C,UAAW,GACXC,YAAa,GACbC,cAAe,GACfC,oBAAqB,GACrB18F,IAAI,yCAAD,OAA2C68C,GAA3C,oBAAgEC,IACnE6/C,gBAAgB,EAChBC,kBAAkB,IATtB,mBAAOzwG,EAAP,KAAcxB,EAAd,KAYA,EAA0BD,mBAAS,CAC/B4H,KAAM,GACNzH,MAAO,GACPq/B,QAAS,KAHb,mBAAOr/B,EAAP,KAAcwf,EAAd,KAWM9P,EAAcwb,uBAAY,SAACvhB,GAC7B,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAEH,EAAsCH,mBAAS,CAC3CuwC,gBAAiB,OADrB,mBAAOv0B,EAAP,KAAoBC,EAApB,KAII8zF,EAAS,WAAO,IAAD,EACf,MAAM,yCAAN,OAAgDtuG,EAAM0wD,UAAtD,oBAA2E1wD,EAAM2wD,QAAjF,oBAAmG,UAAAp2C,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,KAiB1IuC,oBAAS,sBAAC,8BAAAM,EAAA,sEAEUsnC,KAFV,OAEF9lC,EAFE,OAGNzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvB,aAAcxtB,EAAIW,KAAKmZ,eAGvBxf,EAAMqkB,YAAcrkB,EAAMwvF,QAC1B2kB,EAAiBzuG,EAAIW,KAAKmZ,UAAUhM,MAAK,SAACy6C,GAAD,OAAOjuD,EAAMqkB,YAAc4pC,EAAE5sD,MAC/DqyC,IACPygE,EAAiBzuG,EAAIW,KAAKmZ,UAAU,IAExCvB,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,IAAkB0uC,gBAAiB4hE,OAb5C,2CAcP,IAEHvwG,oBAAS,sBAAC,8CAAAM,EAAA,sEACUwvG,GAAajwG,EAAM0wD,UAAW1wD,EAAM2wD,SAAS,UAAAp2C,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,IAD1F,QACFqE,EADE,QAEEoE,UACA+pG,EAAY,oBAAInuG,QAAJ,IAAIA,GAAJ,UAAIA,EAAKW,YAAT,aAAI,EAAWkrG,OAAOhoG,KAAI,SAACgoB,EAAGmM,GAAJ,MAAW,CACjD9zB,KAAM2nB,EAAEggF,MACR3vE,MAAOrQ,EAAE6iF,aAETJ,EAAsB,oBAAItuG,QAAJ,IAAIA,GAAJ,UAAIA,EAAKW,YAAT,aAAI,EAAW+X,iBAAiB7U,KAAI,SAACgoB,EAAGmM,GAAJ,MAAW,CACrE9zB,KAAM2nB,EAAEnT,gBACRwjB,MAAOrQ,EAAE6iF,aAGTN,EAAc,oBAAIpuG,QAAJ,IAAIA,GAAJ,UAAIA,EAAKW,YAAT,aAAI,EAAWguG,SAAS9qG,KAAI,SAACgoB,GAAD,MAAQ,CAClD3nB,KAAM2nB,EAAE8iF,QACRzyE,MAAOrQ,EAAE6iF,aAGTL,EAAgB,oBAAIruG,QAAJ,IAAIA,GAAJ,UAAIA,EAAKW,YAAT,aAAI,EAAWiuG,WAAW/qG,KAAI,SAACgoB,GAAD,MAAQ,CACtD3nB,KAAM2nB,EAAE+iF,UACR1yE,MAAOrQ,EAAE6iF,aAEbnyG,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELgwG,UAAWA,EACXC,YAAaA,EACbC,cAAeA,EACfC,oBAAqBA,EACrBC,eAAgBH,EAAY9hG,OAAS,EACrCsF,IAAKy6F,UAGbA,IA/BM,2CAgCP,CAAC/zF,EAAYu0B,gBAAiB9uC,EAAM0wD,UAAW1wD,EAAM2wD,UAExD,IAhE4B71C,EAwEtB+vF,EAAwB,SAACtuG,GAC3B,IAAQ2sB,EAA+B3sB,EAA/B2sB,EAAGwhF,EAA4BnuG,EAA5BmuG,EAAGxgG,EAAyB3N,EAAzB2N,MAAexL,GAAUnC,EAAlBU,OAAkBV,EAAVmC,OAG7B,OACI,4BACI,sBAAMwqB,EAAGA,EAAIhf,EAAQ,EAAGwgG,EAAGA,EAJpB,GAIgCtvC,KAAK,UAAUuvC,WAAW,SAASC,iBAAiB,SAA3F,SACKlsG,EAAQ,4CAAIA,EAAM0/B,QAAQ,GAAGC,QAAQ,0BAA2B,UAAa,qDAM9F,OACI,sBAAKn9B,UAAS,UAAK3E,EAAMwvF,QAAU,GAAK,UAAxC,UACKxvF,EAAMwvF,QAAU,GAAK,cAAC,IAAD,CAAap0E,OAAQ63F,KAE3C,eAACtwG,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,WACM6wC,GACE,eAAC/wC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CACIqa,QAAShb,EAAMyvB,aACf/wB,MAAO6b,EAAYu0B,gBACnB9lC,UAlGI8R,EAkGyB,kBAlGlB,SAACC,EAAIzS,GAEhCkS,EADAlS,EACe,SAAClI,GACZ,IAAIg8B,EAAK,2BAAQh8B,GAAR,kBAAa0a,EAAKxS,IAI3B,MAHW,oBAAPwS,IACAshB,EAAM2S,cAAgB,MAEnB3S,GAGI,SAACh8B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAK,WAyFvB9P,SAAUzO,EAAMqkB,gBAM3BrG,EAAYu0B,gBACT,qCACI,eAAC5vC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CAAYjC,MAAOsB,EAAM0wD,UAAW1nD,SAAUoF,EAAajI,KAAK,iBAEpE,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CAAYjC,MAAOsB,EAAM2wD,QAAS3nD,SAAUoF,EAAajI,KAAK,eAElE,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,IACpC0iB,GAAc,cAAC/wC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,IAClDvtB,EAAMwwG,eAOJ,qCACI,cAACtxG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAA3C,SACI,sBAAKhhC,MAAO,CAAEC,SAAU,YAAxB,UACI,cAACkM,GAAA,EAAD,CAAYhK,QAAQ,SAApB,wBACA,qBAAKwB,UAAU,WAAf,SACKlB,EAAMswG,cAAc/hG,OAAS,EAC1B,cAACy8F,GAAA,EAAD,UACI,cAAC8F,GAAA,EAAD,UACI,eAACC,GAAA,EAAD,CACInuG,KAAM5C,EAAMswG,cACZU,GAAG,MACHC,GAAG,MACHC,aAAc,EACdC,YAAa,GACbC,YAAa,GACbh2C,KAAK,UACL+vC,QAAQ,QARZ,UAUI,cAAC,KAAD,IAICnrG,EAAMswG,cAAcxqG,KAAI,SAACmmG,EAAOprD,GAAR,OACrB,mCACI,cAACqrD,GAAA,EAAD,CAEI9wC,KAAM80C,GAAOrvD,EAAQqvD,GAAO3hG,QAC5BhR,MAAO,CAAEI,OAAQ,YAHrB,eACiBkjD,gBAarC,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAAC0vB,eAAe,SAASw/B,aAAa,SAA1D,SACI,qBAAK9wD,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,UAAxC,SACI,wDAKhB,qBACIzZ,MAAO,CAAEC,SAAU,WAAYC,MAAO,EAAG2uB,IAAK,GAAIG,UAAW,QAASvvB,SAAU,QAChFkE,UAAU,gBAFd,SAIKlB,EAAMswG,cAAcxqG,KAAI,SAACgoB,EAAGmM,GACzB,IAAIx6B,EAAQywG,GAAOj2E,GACnB,OACI,qBAAK18B,MAAO,CAAE8B,QAAS,GAAvB,SACI,sBAAK9B,MAAO,CAAEqZ,SAAU,GAAI1M,MAAO,IAAK7M,QAAS,OAAQwxB,eAAgB,cAAzE,UACK,IACD,qBAAKtxB,MAAO,CAAEqC,WAAYH,EAAOxC,OAAQ,GAAIiN,MAAO,GAAIlJ,UAAW,KACnE,sBAAKzD,MAAO,CAAE0X,WAAY,KAA1B,iBAAwC6Y,EAAE3nB,QAC1C,sBAAK5I,MAAO,CAAEqZ,SAAU,GAAI5V,UAAW,GAAvC,kBACY,IACP8sB,EAAEqQ,MAAQ,qCAAKrQ,EAAEqQ,MAAMC,QAAQ,GAAGC,QAAQ,0BAA2B,OAA3D,OAA0E,kEASrH,eAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAA3C,UACI,cAAC70B,GAAA,EAAD,CAAYhK,QAAQ,SAApB,8BACA,qBAAKwB,UAAU,WAAf,SACKlB,EAAMuwG,oBAAoBhiG,OAAS,EAChC,cAACy8F,GAAA,EAAD,UACI,eAACC,GAAA,EAAD,CACIroG,KAAM5C,EAAMuwG,oBACZ7oG,OAAQ,CACJ0kB,IAAK,GACL3uB,MAAO,GACP8Y,KAAM,GACND,OAAQ,GANhB,UASI,cAAC+6F,GAAA,EAAD,CAAeC,gBAAgB,QAC/B,cAACpG,GAAA,EAAD,CAAOC,QAAQ,SACf,cAACM,GAAA,EAAD,IACA,cAAC,KAAD,CACIC,aAAc,CAAE9rG,WAAY,kBAAmBH,MAAO,QAASmX,SAAU,GAAI3B,WAAY,KACzFzX,SAAU,CAAE0rB,EAAG,GAAIwhF,EAAG,MAE1B,cAACiB,GAAA,EAAD,IAEA,eAACC,GAAA,EAAD,CAAKT,QAAQ,QAAQ/vC,KAAM,QAASywC,QAAS,GAAI5uG,OAAQ,GAAzD,UACI,cAAC8uG,GAAA,EAAD,CAAWZ,QAAQ,QAAQa,QAASnB,IACnC7qG,EAAMuwG,oBAAoBzqG,KAAI,SAACmmG,EAAOprD,GAAR,OAC3B,cAACqrD,GAAA,EAAD,CAEI9wC,KAAM6uC,GAAUppD,GAIhBtjD,MAAO,CAAEI,OAAQ,YANrB,eACiBkjD,eAYjC,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAAC0vB,eAAe,eAAew/B,aAAa,SAAhE,SACI,qBAAK9wD,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,UAAxC,SACI,2DAMpB,cAAC9X,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAA3C,SACI,sBAAKhhC,MAAO,CAAEC,SAAU,YAAxB,UACI,cAACkM,GAAA,EAAD,CAAYhK,QAAQ,SAApB,sBACA,qBAAKwB,UAAU,WAAf,SACKlB,EAAMqwG,YAAY9hG,OAAS,EACxB,cAACy8F,GAAA,EAAD,UACI,cAAC8F,GAAA,EAAD,UACI,cAACC,GAAA,EAAD,CACInuG,KAAM5C,EAAMqwG,YACZW,GAAG,MACHC,GAAG,MACHC,aAAc,EACdC,YAAa,GACbC,YAAa,GACbh2C,KAAK,UACL+vC,QAAQ,QARZ,SAWKnrG,EAAMqwG,YAAYvqG,KAAI,SAACmmG,EAAOprD,GAAR,OACnB,mCACI,cAACqrD,GAAA,EAAD,CAEI9wC,KAAM80C,GAAOrvD,EAAQqvD,GAAO3hG,QAC5BhR,MAAO,CAAEI,OAAQ,YAHrB,eACiBkjD,eAarC,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAAC0vB,eAAe,eAAew/B,aAAa,SAAhE,SACI,qBAAK9wD,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,UAAxC,SACI,wDAKhB,qBACIzZ,MAAO,CAAEC,SAAU,WAAYC,MAAO,EAAG2uB,IAAK,GAAIG,UAAW,QAASvvB,SAAU,QAChFkE,UAAU,gBAFd,SAIKlB,EAAMqwG,YAAYvqG,KAAI,SAACgoB,EAAGmM,GACvB,IAAIx6B,EAAQywG,GAAOj2E,GACnB,OACI,qBAAK18B,MAAO,CAAE8B,QAAS,GAAvB,SACI,sBAAK9B,MAAO,CAAEqZ,SAAU,GAAI1M,MAAO,IAAK7M,QAAS,OAAQwxB,eAAgB,cAAzE,UACK,IACD,qBAAKtxB,MAAO,CAAEqC,WAAYH,EAAOxC,OAAQ,GAAIiN,MAAO,GAAIlJ,UAAW,KACnE,sBAAKzD,MAAO,CAAE0X,WAAY,KAA1B,iBAAwC6Y,EAAE3nB,QAC1C,sBAAK5I,MAAO,CAAEqZ,SAAU,GAAI5V,UAAW,GAAvC,mBAEK8sB,EAAEqQ,MAAQ,qCAAKrQ,EAAEqQ,MAAMC,QAAQ,GAAGC,QAAQ,0BAA2B,OAA3D,OAA0E,gDAFzF,sBAY5B,cAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAA3C,SACI,gCACI,cAAC70B,GAAA,EAAD,CAAYhK,QAAQ,SAASwB,UAAU,aAAvC,oBAGA,qBAAKA,UAAU,WAAf,SACKlB,EAAMowG,UAAU7hG,OAAS,EACtB,cAACy8F,GAAA,EAAD,UACI,eAACC,GAAA,EAAD,CACIroG,KAAM5C,EAAMowG,UACZ1oG,OAAQ,CACJ0kB,IAAK,GACL3uB,MAAO,GACP8Y,KAAM,GACND,OAAQ,GANhB,UASI,cAAC+6F,GAAA,EAAD,CAAeC,gBAAgB,QAC/B,cAACpG,GAAA,EAAD,CAAOC,QAAQ,SACf,cAACM,GAAA,EAAD,IACA,cAAC,KAAD,CACIC,aAAc,CAAE9rG,WAAY,kBAAmBH,MAAO,QAASmX,SAAU,GAAI3B,WAAY,KACzFzX,SAAU,CAAE0rB,EAAG,GAAIwhF,EAAG,MAE1B,cAACiB,GAAA,EAAD,IAEA,eAACC,GAAA,EAAD,CAAKT,QAAQ,QAAQ/vC,KAAM,QAASywC,QAAS,GAAI5uG,OAAQ,GAAzD,UACI,cAAC8uG,GAAA,EAAD,CAAWZ,QAAQ,QAAQa,QAASnB,IACnC7qG,EAAMowG,UAAUtqG,KAAI,SAACmmG,EAAOprD,GAAR,OACjB,cAACqrD,GAAA,EAAD,CAEI9wC,KAAM6uC,GAAUppD,GAIhBtjD,MAAO,CAAEI,OAAQ,YANrB,eACiBkjD,eAYjC,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAAC0vB,eAAe,eAAew/B,aAAa,SAAhE,SACI,qBAAK9wD,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,UAAxC,SACI,6DAOxB,cAAC9X,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,GAAD,CACIoU,cAAe,SAAC1R,GAAD,OArS/B,SAACA,GAEjB,OADAzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6lF,QAAShkF,EAAIW,KAAK4V,UACtC,CACHhE,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,OAiSoCw2F,CAAYhtG,IACpC6N,QAASA,GACT4C,OAAQ1S,EAAM6T,IAEdq7F,cAAc,EACd/4F,gBAAgB,gBAChBF,kBAAmB,wBACfw2F,GAAyB,CACrBlkE,SAAUvoC,EAAM0wD,UAChBloB,OAAQxoC,EAAM2wD,QACd/vC,YAAY,UAAArG,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GAC/CyuG,QAAS,iBA1P7B,cAACntG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,qBAAKhC,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,UAAxC,SACI,yDAiQhB,cAAC9X,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACM0wC,EAKE,qBAAK1yC,MAAO,CAAE2M,MAAO,QAArB,SACI,qBACI3M,MAAO,CACHN,OAAQ,sBACRI,QAAS,OACTuxB,cAAe,SACfC,eAAgB,SAChBvxB,WAAY,UANpB,SASI,cAACwxB,GAAA,EAAD,QAdR,qBAAKvxB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,UAAxC,SACI,4EAoBnBhX,EAAMywG,iBACH,cAAC/zG,GAAA,EAAD,CAAYK,SAAS,KAAKJ,MAAK,UAAK+B,EAAMq/B,QAAX,YAA8BjhC,QAna/C,SAACqP,EAAQ4xB,GAC/Bv/B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqwG,kBAAmBrwG,EAAGqwG,sBACjDvyF,GAAS,SAAC9d,GAAD,mBAAC,eAAaA,GAAd,IAAkB+F,KAAMgG,EAAOhG,MAAQ,GAAIzH,MAAOyN,EAAOgyB,OAAS,GAAIJ,QAASA,GAAW,SAia3F,SACI,qBAAKxgC,MAAO,CAAE8B,QAAS,IAAvB,SACI,eAACH,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,eAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,mBAAGhC,MAAO,CAAE2M,MAAO,MAAO8M,UAAW,QAArC,kBADJ,KAC6D,mBAAGzZ,MAAO,CAAE2M,MAAO,MAAO8M,UAAW,SAArC,SAAiDtY,EAAMyH,UAEpH,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,mBAAGhC,MAAO,CAAE2M,MAAO,MAAO8M,UAAW,QAArC,oBADJ,IAC8D,mBAAGzZ,MAAO,CAAE2M,MAAO,MAAO8M,UAAW,SAArC,SAAiDtY,EAAMA,kBAKjI,SCzfD,SAAS6yG,GAAah1G,GACjC,IAAMqB,EAAKrB,EAAM2P,MAAMC,OAAOvO,GACxB+yC,EAAWp0C,EAAM2P,MAAMC,OAAOwkC,SAChCvjB,EAAkB9sB,IAAW+sB,gBAE3B1V,EAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YAAayR,KAAM,wBAC3B,CAAEzR,KAAK,GAAD,OAAKwqC,GAAY94B,QAAQ,IAG7By/E,EAAI,CACN,CACIvuF,MAAO,YACPyqD,KAAM,cAAC,GAAD,CAAmB5yC,WAAYhjB,MAHnC,qBAKa,OAAfwvB,QAAe,IAAfA,OAAA,EAAAA,EAAiB0gC,cACf,CACI,CACI/kD,MAAO,QACPyqD,KAAM,cAAC,GAAD,CAAehR,SAAS,YAAY5hC,WAAYhjB,EAAIqlD,WAAYrlD,MAG9E,IAZA,CAaN,CACImL,MAAO,UACPyqD,KAAM,cAAC,GAAD,CAAcx7B,QAAQ,EAAMpX,WAAYhjB,EAAI4kD,SAAS,WAAWupC,SAAS,KAEnF,CACIhjF,MAAO,aACPyqD,KAAM,cAAC,GAAD,CAAoBhR,SAAS,WAAW5hC,WAAYhjB,EAAImuF,SAAS,KAE3E,CACIhjF,MAAO,SACPyqD,KAAM,cAAC,GAAD,CAAex7B,QAAQ,EAAMpX,WAAYhjB,EAAImuF,SAAS,KAEhE,CAAEhjF,MAAO,WAAYyqD,KAAM,cAACg+C,GAAD,CAAmB5wF,WAAYhjB,KAC1D,CACImL,MAAO,OACPyqD,KAAM,cAAC,GAAD,CAAW5yC,WAAYhjB,EAAI4kD,SAAS,OAAOupC,SAAS,KAE9D,CACIhjF,MAAO,kBACPyqD,KAAM,cAAC,GAAD,CAAgB5yC,WAAYhjB,EAAImuF,SAAS,KAEnD,CACIhjF,MAAO,eACPyqD,KAAM,cAAC,GAAD,CAAY5yC,WAAYhjB,EAAImuF,SAAS,KAE/C,CACIhjF,MAAO,WACPyqD,KAAM,cAAC,GAAD,CAAS5yC,WAAYhjB,EAAImuF,SAAS,KAE5C,CACIhjF,MAAO,cACPyqD,KAAM,cAAC,GAAD,CAAY5yC,WAAYhjB,EAAImuF,SAAS,KAE/C,CACIhjF,MAAO,gBACPyqD,KAAM,cAAC,GAAD,CAAmB5yC,WAAYhjB,EAAImuF,SAAS,KAEtD,CACIhjF,MAAO,mBACPyqD,KAAM,cAAC,GAAD,CAA0B5yC,WAAYhjB,EAAImuF,SAAS,KAE7D,CACIhjF,MAAO,sBACPyqD,KAAM,cAAC,GAAD,CAA0B5yC,WAAYhjB,EAAImuF,SAAS,KAE7D,CACIhjF,MAAO,gBACPyqD,KAAM,cAAC,GAAD,CAAiB5yC,WAAYhjB,EAAImuF,SAAS,OAIxD,OACI,sBAAK7qF,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,EAAQzW,UAAU,sBACvC,cAAC,IAAD,CAAS02F,QAASN,EAAM15F,GAAG,oBChGhC,IAAM6zG,GAAwB,uCAAG,4BAAAhxG,EAAA,sEACpB6B,aAAY,sBADQ,cAChCL,EADgC,yBAE7BA,GAF6B,2CAAH,qDAKxB23D,GAAyB,uCAAG,WAAOh8D,GAAP,eAAA6C,EAAA,sEACrB6B,aAAY,sBAAD,OAAuB1E,IADb,cACjCqE,EADiC,yBAE9BA,GAF8B,2CAAH,sDAKzB63D,GAA0B,uCAAG,WAAOl3D,GAAP,eAAAnC,EAAA,sEACtBsB,aAAa,qBAAsBa,GADb,cAClCX,EADkC,yBAE/BA,GAF+B,2CAAH,sDAI1ByvG,GAAkB,uCAAG,WAAO9uG,GAAP,eAAAnC,EAAA,sEACd6B,aAAY,qBADE,cAC1BL,EAD0B,yBAEvBA,GAFuB,2CAAH,sDAKlB0vG,GAAsB,uCAAG,WAAO/uG,GAAP,eAAAnC,EAAA,sEAClB6B,aAAY,uBADM,cAC9BL,EAD8B,yBAE3BA,GAF2B,2CAAH,sDC4IpB2vG,GA1Je,SAACr1G,GAC3B,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAA0BtJ,mBAAS,CAC/BkvE,uBAAwB,KACxBmD,gCAAiC,GACjCr4C,yBAA0Bh8B,EAAMs1G,MAChCC,6BAA8B,GAC9BC,sCAAsC,EACtCC,4BAA4B,EAC5BC,2BAA4B,GAC5BC,aAAc,GACd/kG,OAAQ,KATZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAWA2B,oBAAS,sBAAC,gCAAAM,EAAA,0DACFlE,EAAM41G,YADJ,gCAEcv4C,GAA0Br9D,EAAM41G,aAF9C,QAEElwG,EAFF,QAGMoE,SACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELytE,uBAAwBxrE,EAAIW,KAAK6qE,uBACjCl1C,yBAA0Bt2B,EAAIW,KAAKwvG,8BACnCxhC,gCAAiC3uE,EAAIW,KAAKguE,gCAC1CkhC,6BAA8B7vG,EAAIW,KAAKkvG,6BACvCG,2BAA4BhwG,EAAIW,KAAKqvG,2BACrCF,qCAAsC9vG,EAAIW,KAAKmvG,qCAC/CC,2BAA4B/vG,EAAIW,KAAKovG,gCAZ3C,uBAiBkBL,KAjBlB,OAiBF1yB,EAjBE,OAkBAozB,EAASpzB,EAAYr8E,KAAKkD,KAAI,SAACwsG,GAAD,MAAmB,CACnD10G,GAAI00G,EAAa/5E,yBACjBpyB,KAAMmsG,EAAa95E,sCAEvBh6B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8xG,aAAcG,OAxBZ,4CA0BP,IAEH,IAAM/1F,EAAoB,SAACjU,GACvB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,EAAOzH,QAGvC4rB,EAAiB,SAACjiB,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAKlCrB,EAAc,WAChB,IAAQuiE,EAAkE5wE,EAAlE4wE,gCAAiCkhC,EAAiC9xG,EAAjC8xG,6BACrCxjG,GAAc,EACdnB,EAAS,GAUb,OATKyjE,IACDzjE,EAAOyjE,gCAAkC,0BACzCtiE,GAAc,GAEbwjG,IACD3kG,EAAO2kG,6BAA+B,uBACtCxjG,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAEVK,EAAW,CACX++D,uBAAwBztE,EAAMytE,uBAC9B2kC,8BAA+BpyG,EAAMu4B,yBACrCq4C,gCAAiC5wE,EAAM4wE,gCACvCqhC,2BAA4BjyG,EAAMiyG,2BAClCH,6BAA8B9xG,EAAM8xG,6BACpCC,qCAAsC/xG,EAAM+xG,qCAC5CC,2BAA4BhyG,EAAMgyG,4BATxB,SAWEl4C,GAA2BprD,GAX7B,QAWVzM,EAXU,QAYNoE,SACJyB,EAAiB,2CACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAhBT,2CAAH,qDAsBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAW,MAAOvP,QAAS,EAA3C,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZ3I,KAAK,kCACLzH,MAAOsB,EAAM4wE,gCACb5nE,SAAUsT,EACVnP,OAAQnN,EAAMmN,OAAOyjE,oCAG7B,cAAC1xE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAAmB3D,MAAO,CAAEF,QAAS,QAAjE,SACI,cAAC,IAAD,CACIwR,WAAW,UACX1I,KAAK,2BACLzH,MAAOsB,EAAMu4B,yBACbvpB,KAAMhP,EAAMkyG,aACZlpG,SAAUsT,MAGlB,cAACpd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACIsP,WAAW,eACXC,YAAY,eACZ3I,KAAK,6BACLzH,MAAOsB,EAAMiyG,2BACbjpG,SAAUsT,MAIlB,cAACpd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACI,cAAC,IAAD,CACI2N,WAAW,WACXC,YAAY,WACZ3I,KAAK,+BACLzH,MAAOsB,EAAM8xG,6BACb9oG,SAAUsT,EACVnP,OAAQnN,EAAMmN,OAAO2kG,iCAG7B,cAAC5yG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACImQ,QAAS1P,EAAM+xG,qCACf5rG,KAAK,uCACL6C,SAAUshB,EACVvhB,MAAM,wBAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAAS1P,EAAMgyG,2BAA4B7rG,KAAK,6BAA6B6C,SAAUshB,EAAgBvhB,MAAM,kBAEpI,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,eAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,cAA2ClS,EAAM41G,YAAc,SAAW,MAA1E,SAEJ,cAACjzG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS,kBAAMxB,EAAMO,WAAtC,2BCjJHy1G,I,OAAa,SAACh2G,GACvB,MAA0BgC,mBAAS,CAC/Bi0G,eAAgB,GAChBz6F,aAAa,EACb+E,OAAQ,KACR+0F,MAAO,OAJX,mBAAO7xG,EAAP,KAAcxB,EAAd,KAOA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN04B,IADM,2CAEP,IAEH,IAAMA,EAAQ,uCAAG,4BAAA14B,EAAA,sEACGgxG,KADH,OACTxvG,EADS,OAEbzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELoyG,eAAgBvwG,EAAIW,KAAK63B,QAAO,SAAC73B,GAC7B,OAAOA,EAAK41B,oCAAsCj8B,EAAMgoG,SAAW3hG,EAAKyjB,mBAAqB9pB,EAAMk2G,qBAL9F,2CAAH,qDASRC,EAAqB,SAAC90G,EAAIi0G,EAAOc,GACnCn0G,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,EACb+E,OAAQlf,EACRi0G,MAAOA,QAITx4E,EAAc,SAACp3B,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,OAEjB9V,GAAOk3B,KAGLx8B,EAAQqD,EAAM8c,OAAN,kCAA0CvgB,EAAMgoG,SAAhD,+BAAoFhoG,EAAMgoG,SACxG,OACI,sBAAKrjG,UAAU,kBAAf,UACI,cAAC6yD,GAAA,EAAD,UACI,eAACG,GAAA,EAAD,CAAOsN,cAAY,EAAnB,UACI,cAACzI,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,CAAUx4B,OAAO,EAAMw3E,UAAU,EAAjC,UACI,cAACn/C,GAAA,EAAD,CAAW9pD,MAAM,SAASO,MAAM,MAAhC,SACI,sBAAMhJ,UAAU,YAAhB,SACI,cAAC,IAAD,CAAWnD,QAAS,kBAAM20G,EAAmB,KAAMn2G,EAAMqnF,iBAGjE,cAACnwB,GAAA,EAAD,CAAW9pD,MAAM,OAAOO,MAAM,MAA9B,mBAGA,cAACupD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,0BACA,cAAC8pD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,sBACA,cAAC8pD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,8BACA,cAAC8pD,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,8BAGR,cAACwqD,GAAA,EAAD,UACKn0D,EAAMwyG,eAAe1sG,KAAI,SAACgoB,GAAD,OACtB,eAAC8lC,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,CAAW/nD,UAAU,KAAKmnG,MAAM,MAAMlpG,MAAM,SAA5C,SACI,cAAC,IAAD,CAAY5L,QAAS,kBAAM20G,EAAmB5kF,EAAE2/C,6BAEpD,cAACha,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,SAAyBmkB,EAAE8iD,kCAC3B,cAACnd,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,SAAyBmkB,EAAEmkF,6BAC3B,cAACx+C,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,SAAyBmkB,EAAEgkF,+BAC3B,eAACr+C,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,UAAyBmkB,EAAEikF,qCAAuC,MAAQ,KAA1E,OACA,cAACt+C,GAAA,EAAD,CAAW9pD,MAAM,OAAjB,SAAyBmkB,EAAEkkF,2BAA6B,MAAQ,SARrDlkF,EAAE2/C,kCAchCztE,EAAM+X,YACH,cAACrb,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAASu8B,EAAnC,SACI,cAAC,GAAD,CAAuBw4E,MAAO7xG,EAAM6xG,MAAOM,YAAanyG,EAAM8c,OAAQhgB,QAASu8B,MAEnF,UC9EV1hB,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,iBAAkB0R,QAAQ,GAClC,CAAE1R,KAAM,oBAAqB0R,QAAQ,IAoI1Bi7F,GAjIW,SAACv2G,GACvB,MAA0BgC,mBAAS,CAC/Bw0G,UAAW,GACXC,oBAAqB,GACrBC,SAAS,EACT3b,KAAM,GACNqb,WAAY,GACZ56F,aAAa,EACbm7F,kBAAmB,OAPvB,mBAAOlzG,EAAP,KAAcxB,EAAd,KAUA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0yG,IADM,2CAEP,IAEH,IAAMA,EAAa,uCAAG,kCAAA1yG,EAAA,6DACd2yG,EAAO,IACN/nG,KAAKqmG,KAAsBC,MAFd,SAGI0B,QAAQtsC,IAAIqsC,GAHhB,OAGdE,EAHc,OAKZX,EAAaW,EAAU,GAAG1wG,KAAKkD,KAAI,SAACgoB,GAAD,MAAQ,CAC7ClwB,GAAIkwB,EAAEgL,wCACNiF,QAASjQ,EAAE0K,kCACX+6E,MAAOzlF,EAAEyK,6BAGP++D,EAAOgc,EAAU,GAAG1wG,KAAK4V,KAAK1S,KAAI,SAACxG,GAAD,MAAW,CAC/C1B,GAAI0B,EAAK+mB,kBACTtd,MAAOzJ,EAAKq5B,2BACZ66E,QAASb,EAAWl4E,QAAO,SAAC73B,GAAD,OAAUA,EAAKhF,KAAO0B,EAAK+mB,yBAG1D7nB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELuyG,aACArb,YApBc,2CAAH,qDAwBbj+D,EAAc,SAACp3B,GACjBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,OAC9C9V,GAAOkxG,KAGLM,EAAe,SAAC/0G,GAClBF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELkzG,kBAAmB,IAAIziG,KACvBwiG,QAASv0G,QAYXg1G,EAAc1zG,EAAMs3F,KAAKxxF,KAAI,SAAC6tG,GAChC,IAAM51E,EAAU41E,EAAIH,QAAQ1tG,KAAI,SAACy/D,GAAD,OAAOA,EAAExnC,WACnC61E,EAAkBD,EAAIH,QAAQ/4E,QAAO,SAAC8qC,EAAG1kB,GAAJ,OAAe9iB,EAAQ7pB,SAASqxD,EAAExnC,QAAS8iB,EAAQ,MAC9F,MAAO,CACH93C,MAAO4qG,EAAI5qG,MACXyqD,KACI,qBAAKtyD,UAAU,iBAAf,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEyD,UAAW,GAAvC,SACI,eAAC,KAAD,CAAiBtB,QAAQ,YAAYnC,MAAO,CAAE2M,MAAO,QAAUzK,MAAM,UAAU1B,QAAS,WAjB5GS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,QAeG,UACI,cAAC,KAAD,IADJ,yBAIJ,cAAC7Y,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACKq0G,EAAgB9tG,KAAI,SAAC+tG,GAAD,OACjB,cAAC,IAAD,CACIn9D,OAAQm9D,EAAG91E,QACX+1E,UAAW9zG,EAAMkzG,kBACjBv8D,cAAe,cAAC,GAAD,CAAY87D,aAAcoB,EAAGj2G,GAAIgmF,SAAUiwB,EAAGN,MAAOhP,QAASsP,EAAG91E,UAChFg2E,OAAQ/zG,EAAMizG,wBAU9C,OACI,sBAAK/xG,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,sBAAKzW,UAAU,UAAf,UACI,cAAC1B,EAAA,EAAD,CACIE,QAAQ,YACR3B,QAAS,WACL01G,GAAa,IAEjBz1E,KAAK,QACLv+B,MAAM,YACNlC,MAAO,CAAE0R,cAAe,cAP5B,+BAWA,cAACzP,EAAA,EAAD,CACIE,QAAQ,YACR3B,QAAS,WACL01G,GAAa,IAEjBz1E,KAAK,QACLv+B,MAAM,YACNlC,MAAO,CAAE2U,WAAY,EAAGjD,cAAe,cAP3C,oCAYJ,uBACA,cAAC,IAAD,CAAS2oF,QAAS8b,EAAa91G,GAAG,gBAClC,uBAECoC,EAAM+X,YACH,cAACrb,GAAA,EAAD,CAAYC,MA/DV,oBA+DwBG,QAAS,kBAAMu8B,GAAY,IAArD,SACI,cAAC,GAAD,CAAmBv8B,QAAS,kBAAMu8B,GAAY,QAElD,SCxIVvpB,GAAU,CACZ,CAAEnF,IAAK,cAAexE,KAAM,OAAQ+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,KACtF,CAAES,IAAK,YAAaxE,KAAM,QAC1B,CAAEwE,IAAK,SAAUxE,KAAM,WA8BZ6tG,GA3BI,SAACz3G,GAChB,IAAQsL,EAAmB7J,eAAnB6J,eACR,EAA0BtJ,mBAAS,CAC/BwJ,YAAY,EACZksG,eAAgB,KAFpB,mBAAOj0G,EAAP,KAAcxB,EAAd,KAKM01G,EAAyB,uCAAG,4BAAAzzG,EAAA,sEACdkyD,GAAcp2D,EAAMw9C,OADN,QAC1B93C,EAD0B,QAEtBoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2H,YAAY,EAAOksG,eAAgBhyG,EAAIW,KAAKqxG,oBAEtEhyG,EAAIoE,SACLwB,EAAe5F,EAAIyG,SANO,2CAAH,qDAc/B,OAJAvI,oBAAS,sBAAC,sBAAAM,EAAA,sDACNyzG,IADM,2CAEP,CAAC33G,EAAM43G,oBAGN,8BACI,cAAC,IAAD,CAAUl2F,KAAMje,EAAMi0G,eAAgBnkG,QAASA,GAAS0P,YAAaxf,EAAM+H,WAAY9K,OAAQV,EAAMU,QAAU,S,qBCyC5GskE,GAlEQ,SAAChlE,GACpB,IAQMuT,EAAU,CACZ,CAAEnF,IAAK,UAAWxE,KAAM,OAAQ+K,UAAW3E,IAAW6nG,eAAgBlqG,MAAO,KAC7E,CAAES,IAAK,eAAgBxE,KAAM,cAE7B,CACIwE,IAAK,aACLxE,KAAM,SACN+K,UAfc,SAACtO,EAAMqO,GACzB,OACI,cAAC/R,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,SAAxB,SACI,cAAC,KAAD,CAAkBE,KAAMu/F,KAAen/F,aAAa,yBAAyB+Y,cAAc,EAAMlwB,QAAS,kBAAMu2G,EAAS1xG,EAAKqO,WAalI/G,MAAO,KAIQ,YAAnB3N,EAAMo9C,UACN7pC,EAAQmoB,OAAO,EAAG,EAAG,CAAEttB,IAAK,gBAAiBxE,KAAM,WAGvD,MAA6CnI,eAArC6J,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,iBAExB,EAA0BvJ,mBAAS,CAC/BwJ,YAAY,EACZi7D,mBAAoB,KAFxB,mBAAOhjE,EAAP,KAAcxB,EAAd,KAKM81G,EAAQ,uCAAG,WAAOj7D,GAAP,iBAAA54C,EAAA,6DACTmC,EAAO,CACPoyD,WAAY3b,EAAQ2b,WACpBjb,MAAOx9C,EAAMw9C,OAHJ,SAKG8Y,GAAiBjwD,GALpB,QAKTX,EALS,QAMLoE,UACJyB,EAAiB,iCACjBysG,KAECtyG,EAAIoE,SACLwB,EAAe5F,EAAIyG,SAXV,2CAAH,sDAeR6rG,EAAgC,uCAAG,4BAAA9zG,EAAA,sEACrBmyD,GAAkBr2D,EAAMwG,WADH,QACjCd,EADiC,QAE7BoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2H,YAAY,EAAOi7D,mBAAoB/gE,EAAIW,KAAKwgE,qCAE1EnhE,EAAIoE,SACLwB,EAAe5F,EAAIyG,SANc,2CAAH,qDAatC,OAHAvI,oBAAS,sBAAC,sBAAAM,EAAA,sDACN8zG,IADM,2CAEP,CAACh4G,EAAM43G,oBAEN,8BACI,cAAC,IAAD,CAAUl2F,KAAMje,EAAMgjE,mBAAoBlzD,QAASA,EAAS0P,YAAaxf,EAAM+H,WAAY9K,OAAQV,EAAMU,QAAU,SC8IhHu3G,GA9MU,SAACj4G,GACtB,MAA0BgC,mBAAS,CAC/Bq+E,gBAAiB,GACjBC,eAAgB,EAChB6N,iBAAkB,KAClB3iF,YAAY,EACZoF,OAAQ,KALZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAOA,EAA4BD,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBguD,EAAW,WACb,IAAIC,GAAW,EACXC,EAAM,GAMV,MALmB,mBAAfx5D,EAAMI,OAA+BqD,EAAM48E,kBAC3C7mB,EAAI6mB,gBAAkB,yBACtB9mB,GAAW,GAEfL,EAAUM,GACHD,GAGLt1D,EAAU,uCAAG,WAAOi0G,GAAP,iBAAAh0G,EAAA,yDACXmC,EAAO,CACPm3C,MAAOx9C,EAAMwgF,cACbzB,MAAOt7E,EAAM48E,gBACb83B,iBAAiB,EACjBC,gBAAgB,GAEhB1yG,EAAM,GACS,mBAAf1F,EAAMI,MARK,uBASXiG,EAAKgyG,YAAc,EATR,SAUCx4B,GAAgBx5E,GAVjB,OAUXX,EAVW,iCAWW,mBAAf1F,EAAMI,MAXF,qBAYPk5D,IAZO,wBAaPjzD,EAAKiyG,iBAAkB,EAbhB,UAcKz4B,GAAgBx5E,GAdrB,QAcPX,EAdO,4FAkBW,mBAAf1F,EAAMI,MAlBF,wBAmBXiG,EAAK+xG,gBAAiB,EAnBX,UAoBCv4B,GAAgBx5E,GApBjB,QAoBXX,EApBW,kCAqBW,mBAAf1F,EAAMI,MArBF,oBAsBK,KAAZ83G,EAtBO,wBAuBP7xG,EAAKkyG,eAAiBL,EAvBf,UAwBKr4B,GAAgBx5E,GAxBrB,QAwBPX,EAxBO,sCA0BP1F,EAAMO,SAAQ,GA1BP,sDA6BW,iBAAfP,EAAMI,MA7BF,oBA8BK,KAAZ83G,EA9BO,oBA+BPtnG,EAAO4nG,YAAc,4BACrBnyG,EAAKwmF,mBAAqBppF,EAAM+0G,YAChCnyG,EAAKoyG,UAAW,GAChBh1G,EAAM+0G,YAlCC,kCAkC0Bz4B,GAAe15E,GAlCzC,QAkCcX,EAlCd,+BAkCkDzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAlC3F,uCAuCP5Q,EAAMO,SAAQ,GAvCP,sDA0CW,8BAAfP,EAAMI,MA1CF,oBA2CK,KAAZ83G,EA3CO,kCA4CKl4B,GAAe,CAAE3+E,GAAIrB,EAAMwgF,gBA5ChC,QA4CP96E,EA5CO,OA6CP1F,EAAMO,SAAQ,GA7CP,wBA+CPP,EAAMO,SAAQ,GA/CP,6CAkDW,oBAAfP,EAAMI,MAlDF,wBAmDXiG,EAAKqyG,gBAAiB,EAnDX,UAoDC74B,GAAgBx5E,GApDjB,QAoDXX,EApDW,+BAsDX2tD,MAAM,iCAtDK,QAwDX3tD,EAAIoE,SACJyB,EAAiB,yBACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SA5DR,4CAAH,sDAgEV0F,EAAc,SAAC2M,GACjB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,YAI1B,OACI,eAACQ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACoC,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BnD,EAAMguF,kBAExC,eAACrrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACoC,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,SACoB,8BAAfpE,EAAMI,OACQ,iBAAfJ,EAAMI,OACS,mBAAfJ,EAAMI,OACS,mBAAfJ,EAAMI,OACS,oBAAfJ,EAAMI,MACA,gBACA,iBAEV,cAAC+M,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SACKnD,EAAM2uF,WAAa3uF,EAAM2uF,WAAa3uF,EAAM2sF,qBAIrC,mBAAf3sF,EAAMI,MACH,eAACuC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACoC,EAAA,EAAD,4BACA,eAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,kBAAgC6M,IAAW2oG,aAAX,OAAwB34G,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAOmuF,wBAGnE,eAACxrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACoC,EAAA,EAAD,0BACA,eAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,iBAA+B6M,IAAW2oG,aAAX,OAAwB34G,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAOiuF,qBAGtE,eAACtrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACoC,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BnD,EAAM6tF,kBAExB,mBAAf7tF,EAAMI,OACH,eAACuC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,kLAIwB,GAAvBnD,EAAMiuF,eACH,cAAC9gF,GAAA,EAAD,CAAYhK,QAAQ,QAAQD,MAAM,YAAlC,8FAMI,iBAAflD,EAAMI,OACH,eAACuC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAAC,IAAD,CACI2N,WAAW,8BACX5F,KAAK,OACLvK,MAAOsB,EAAM+0G,YACb5uG,KAAK,cACL6C,SAAUoF,EACV+mG,SAAS,IAEb,cAACxzG,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO4nG,iBAG5B,oBAAfx4G,EAAMI,OACH,cAACuC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,QAAQnC,MAAO,CAAEkC,MAAO,OAA5C,6GAKS,oBAAhBlD,EAAMI,OAA+C,+BAAhBJ,EAAMI,OACxC,eAACuC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAA0B,mBAAf3E,EAAMI,MAA6B,mBAAqB,GAAtF,UACI,cAAC+D,EAAA,EAAD,CAAYC,QAAM,EAACoO,SAAyB,mBAAfxS,EAAMI,MAAnC,qBAGA,cAAC,IAAD,CAAWwJ,KAAK,kBAAkB8X,KAAM,EAAGyQ,WAAS,EAAC1lB,SAAUoF,IAC/D,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOyvE,qBAGtB,8BAAfrgF,EAAMI,OACH,eAAC+M,GAAA,EAAD,CAAYhK,QAAQ,QAAQnC,MAAO,CAAEkC,MAAO,OAA5C,gFACwE,OAI5D,mBAAflD,EAAMI,OACQ,mBAAfJ,EAAMI,OACS,iBAAfJ,EAAMI,OACS,8BAAfJ,EAAMI,MACF,qCACI,cAACuC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB3D,MAAO,CAAEmhC,gBAAiB,WAAa3gC,QAAS,kBAAMyC,EAAW,IAAlF,SACoB,iBAAfjE,EAAMI,MACD,UACe,mBAAfJ,EAAMI,OAA6C,mBAAfJ,EAAMI,MAC1C,SACA,WAGd,cAACuC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB3D,MAAO,CAAEmhC,gBAAiB,WAAa3gC,QAAS,kBAAMyC,GAAY,IAAnF,UACKjE,EAAMI,MAAwC,iBAK3D,cAACuC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAASyC,EAA1B,SAAuCjE,EAAMI,cCtFlDy4G,GAnHa,SAAC74G,GAAW,IAAD,EACnC8sB,QAAQC,IAAI/sB,EAAO,SACnB,MAA0BgC,mBAAS,CAC/Bq+E,gBAAiB,GACjBzvE,OAAQ,GACR20D,gBAAiBvlE,EAAMuuF,WACvBD,eAAgBt+E,IAAW6jC,cAAc7zC,EAAMsuF,kBAJnD,mBAAO7qF,EAAP,KAAcxB,EAAd,KAOA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBwG,EAAc,WAChB,IAAQw8E,EAAqD7qF,EAArD6qF,eAAgB/oB,EAAqC9hE,EAArC8hE,gBAAiB8a,EAAoB58E,EAApB48E,gBACrCtuE,GAAc,EACdnB,EAAS,GAgBb,OAfI5Q,EAAM84G,oBACDxqB,IACD19E,EAAO09E,eAAiB,2BACxBv8E,GAAc,GAEbwzD,IACD30D,EAAO20D,gBAAkB,sBACzBxzD,GAAc,GAEK,MAAnB/R,EAAM+4G,WAAsB14B,IAC5BzvE,EAAOyvE,gBAAkB,sBACzBtuE,GAAc,IAGtB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGL9N,EAAU,uCAAG,8BAAAC,EAAA,0DACX4N,IADW,uBAEPzL,EAAO,CACPm3C,MAAOx9C,EAAMwgF,cACbzB,MAAOt7E,EAAM48E,gBACb24B,YAAav1G,EAAM6qF,eACnB/oB,gBAAiB9hE,EAAM8hE,iBANhB,SAQKua,GAAez5E,GARpB,QAQPX,EARO,QASHoE,SACJyB,EAAiB,yBACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAbZ,2CAAH,qDAkBV0F,EAAc,SAAC2M,GACjB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,YAI1B,OACI,eAACQ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACoC,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BnD,EAAMguF,kBAExC,eAACrrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACoC,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+BnD,EAAM2sF,sBAGzC,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACoC,EAAA,EAAD,0BACA,eAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,2BAA+BnD,EAAMiuF,qBAArC,aAA+B,EAAqBpsD,QAAQ,GAAGC,QAAQ,0BAA2B,aAGtG,eAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACoC,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BnD,EAAM6tF,kBAExC,eAAClrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAW3E,EAAM84G,kBAAoB,mBAAqB,GAA7E,UACI,cAAC30G,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,8BAGA,cAAC,IAAD,CACI8sB,WAAY,CACRC,KAAK,IAAIjd,MAAOkd,cAAcC,MAAM,EAAG,KAE3ClvB,MAAOsB,EAAM6qF,eACb1kF,KAAK,iBACL6C,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO09E,oBAExC,cAAC3rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAW3E,EAAM84G,kBAAoB,mBAAqB,GAA7E,SACI,cAAC,IAAD,CACIxmG,WAAW,cACX1B,OAAQnN,EAAMmN,OAAO20D,gBACrB74D,KAAK,SACLvK,MAAOsB,EAAM8hE,gBACb37D,KAAK,kBACL6C,SAAUoF,MAGlB,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAA8B,MAAnB3E,EAAM+4G,UAAoB,mBAAqB,GAA7E,UACI,cAAC50G,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CAAWwF,KAAK,kBAAkB8X,KAAM,EAAGyQ,WAAS,EAAC1lB,SAAUoF,IAC/D,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOyvE,qBAExC,cAAC19E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAASyC,EAA1B,SAAuCjE,EAAMI,OAAS,iBCtFvD64G,GAxBW,SAACj5G,GACvB,MAA0BgC,mBAAS,CAC/Bq+E,gBAAiB,GACjBC,gBAAgB,EAChB90E,YAAY,IAHhB,mBAAO/H,EAAP,UAMA,OACI,qBAAKkB,UAAU,kBAAkB3D,MAAO,CAAE2M,MAAO,SAAjD,SACI,cAAChL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,cAACF,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC/B,MAAO,CAAE0hC,aAAc,GAA1C,SACI,eAAC//B,EAAA,EAAD,CAAMK,GAAI,GAAIJ,WAAS,EAACC,QAAS,EAAjC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAW2V,aAAa,MAAMmiE,QAAQ,MAAMr3E,MAAOA,EAAM68E,eAAgB9+E,QAAS,kBAAMxB,EAAMk5G,aAElG,cAACv2G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAU2V,aAAa,KAAKmiE,QAAQ,KAAKr3E,MAAOA,EAAM68E,eAAgB9+E,QAAS,kBAAMxB,EAAMO,SAAQ,kBCJzH44G,GAAe,SAACn5G,GAClB,OAmBI,aAlBA,CAkBC,KAAD,CAAiBwB,QAASxB,EAAMo5G,iBAAhC,qBA6NOC,OAxNf,SAA2Br5G,GACvB,MAA0BgC,mBAAS,CAC/B++E,cAAc,EACdu4B,cAAc,EACdC,qBAAqB,EACrBn5G,MAAO,KAJX,mBAAOqD,EAAP,KAAcxB,EAAd,KAOQ0xC,EAAc3lC,eAAd2lC,UACFoP,EAAiBpP,EAAUh8B,SAAS,gBACpCqrC,EAAiBrP,EAAUh8B,SAAS,YACpC+7B,EAAaC,EAAUh8B,SAAS,YAC9BgmC,EAAwC39C,EAAxC29C,OAAQn3C,EAAgCxG,EAAhCwG,UAAWvC,EAAqBjE,EAArBiE,WAAYoC,EAASrG,EAATqG,KACjCwI,EAAU8b,eAEV6uF,EAAW,uCAAG,WAAOp5G,EAAOy2F,GAAd,SAAA3yF,EAAA,sDACU,GAAtBmC,EAAK4nF,eAA+B,eAAT7tF,IAC3By2F,EAAU,uBAEd50F,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAELzD,MAAOA,GACNy2F,GAAU,OAPC,2CAAH,wDAiBXlY,EAAc,uCAAG,WAAOj5E,GAAP,SAAAxB,EAAA,sDACnBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk9E,cAAc,EACdu4B,cAAc,EACdC,qBAAqB,EACrBE,YAAY,OAEhB/zG,GAAO1F,EAAM05G,cAAch0G,GARR,2CAAH,sDAWdmrD,EAAyB,SAACnrD,GAC5BzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+gD,oBAAoB,OAEpBl/C,GACAmJ,EAAQ8qG,UAIVC,EAAe,SAACC,EAAUrpD,EAAWj4C,GACvC,OACI,mCACsB,QAAjBvY,EAAM85G,QACH,cAACn3G,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIwV,KAAMA,EACN/L,MAAK,UAAKqtG,GACVr4G,QAAS,WACLg4G,EAAY,GAAD,OAAIK,GAAJ,UAAmBrpD,KAElCxvD,MAAO,CAAE0X,WAAY,YAI7B,cAAC,KAAD,CACIlX,QAAS,WACLg4G,EAAY,GAAD,OAAIK,GAAJ,UAAmBrpD,KAFtC,mBAKQqpD,QAOxB,OACI,eAACl3G,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAG8B,UAAU,oBAA3C,UACKo+C,EACG,eAACpgD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAI2B,UAAU,SAAvC,UACgB,OAAXg5C,GACG,cAAC,GAAD,CACIn3C,UAAWA,EACXqnF,aAAcxnF,EAAKwnF,aACnB5sF,SAAUjB,EAAMiB,SAChBm4G,iBAAkBp5G,EAAMo5G,mBAGpB,MAAVz7D,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBAA6E,KAAvDH,EAAa,cAAe,eAAgBphG,MACnG,MAAVmlC,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,IAC9G39C,EAAM+5G,oBAEA,KADAH,EAAa,aAAc,eAAgBphG,MAErC,MAAVmlC,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBAA2E,KAArDH,EAAa,cAAe,aAAcphG,MAClG,MAAVmlC,GAAkB39C,EAAM+5G,oBAAsBH,EAAa,kBAAmB,eAAgBphG,MAAW,KAC/F,MAAVmlC,GAAkB39C,EAAM+5G,oBAAsBH,EAAa,kBAAmB,eAAgBphG,MAAW,QAE9G,KACHwqC,EACG,eAACrgD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAI2B,UAAU,SAAvC,UACK3E,EAAMg6G,eAAiB,KACpB,qCACgB,MAAVr8D,GACY,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,IACJ39C,EAAMi6G,SAIF,KAHA,cAAC,KAAD,CAAet1G,UAAU,WAAWnD,QAASyC,EAA7C,kBAIJ,cAAC,GAAD,CACIuC,UAAWA,EACXqnF,aAAcxnF,EAAKwnF,aACnB5sF,SAAUjB,EAAMiB,SAChBm4G,iBAAkBp5G,EAAMo5G,sBAIxB,MAAVz7D,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBAA6E,KAAvDH,EAAa,cAAe,eAAgBphG,MACnG,MAAVmlC,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBAE/G,KADAH,EAAa,aAAc,eAAgBphG,MAEtC,MAAVmlC,GAAkB39C,EAAM+5G,oBAAsBH,EAAa,kBAAmB,eAAgBphG,MAAW,KAC9F,MAAVmlC,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBAAkF,KAA5DH,EAAa,mBAAoB,eAAgBphG,MACzG,MAAVmlC,GAAkB39C,EAAM+5G,oBAAsBH,EAAa,gBAAiB,eAAgBphG,MAAW,KAC5F,OAAXmlC,GAAmB39C,EAAM+5G,oBAAsBH,EAAa,aAAc,qBAAsB10D,KAAc,QAEnH,KACHxR,EACG,eAAC/wC,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAI2B,UAAU,SAAvC,UACK3E,EAAMg6G,eAAiB,KACpB,cAAC,GAAD,CACIxzG,UAAWA,EACXqnF,aAAcxnF,EAAKwnF,aACnB5sF,SAAUjB,EAAMiB,SAChBm4G,iBAAkBp5G,EAAMo5G,mBAGpB,MAAVz7D,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBAA6E,KAAvDH,EAAa,cAAe,eAAgBphG,MACnG,MAAVmlC,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,IAC9G39C,EAAM+5G,oBAEA,KADAH,EAAa,aAAc,eAAgBphG,MAErC,MAAVmlC,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBAAkF,KAA5DH,EAAa,mBAAoB,eAAgBphG,MACzG,MAAVmlC,GAAkB39C,EAAM+5G,oBAAsBH,EAAa,kBAAmB,eAAgBphG,MAAW,KAC/F,MAAVmlC,GAAkB39C,EAAM+5G,oBAAsBH,EAAa,gBAAiB,eAAgBphG,MAAW,QAU5G,KACH/U,EAAMg2G,YACH,cAACt5G,GAAA,EAAD,CAAYC,MAAM,+CAA+CI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA7G,SACI,cAAC,GAAD,CAAmBv+E,MAAOqD,EAAMrD,MAAO84G,MA9I/B,SAACxzG,GACrBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL01G,qBAAqB,EACrBE,YAAY,QA0I2Dl5G,QAASo+E,MAG/El7E,EAAMs9E,cACH,cAAC5gF,GAAA,EAAD,CAAYC,MAAOqD,EAAMrD,MAAOI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA5E,SACI,cAACyC,GAAD,CAAehhF,MAAOqD,EAAMrD,MAAOogF,cAAexgF,EAAMw9C,MAAOj9C,QAASo+E,MAG/El7E,EAAM81G,qBACH,cAACp5G,GAAA,EAAD,CAAYC,MAAOqD,EAAMrD,MAAOI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA5E,SACI,cAACu7B,GAAD,CACI95G,MAAOqD,EAAMrD,MACb04G,kBAAmBzyG,EAAK8zG,gBACxBlsB,cAAe5nF,EAAK4nF,cACpBE,iBAAkB9nF,EAAK8nF,iBACvBH,aAAc3nF,EAAK2nF,aACnBrB,gBAAiBtmF,EAAKsmF,gBACtBnM,cAAexgF,EAAMw9C,MACrBqwC,aAAcxnF,EAAKwnF,aACnBU,WAAYloF,EAAKkoF,WACjBD,eAAgBjoF,EAAKioF,eACrB/tF,QAASo+E,MAIpBl7E,EAAM61G,cACH,cAACn5G,GAAA,EAAD,CAAYC,MAAOqD,EAAMrD,MAAOI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA5E,SACI,cAACy7B,GAAD,CACIh6G,MAAOqD,EAAMrD,MACb6tF,cAAe5nF,EAAK4nF,cACpBE,iBAAkB9nF,EAAK8nF,iBACvBH,aAAc3nF,EAAK2nF,aACnBrB,gBAAiBtmF,EAAKsmF,gBACtBnM,cAAexgF,EAAMw9C,MACrBqwC,aAAcxnF,EAAKwnF,aACnBttF,QAASo+E,MAKpBl7E,EAAMmhD,mBACH,cAACzkD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMswD,GAAuB,IAAQzwD,MAAO,aAAcI,SAAS,KAAK4C,WAAS,EAAlH,SACI,cAAC,GAAD,CAAgBw9C,SAAU5gD,EAAMw9C,MAAOJ,SAAS,MAAM78C,QAASswD,MAEnE,SC5LDwpD,GA9DQ,SAACr6G,GACpB,IAAQ8tF,EAAe9tF,EAAf8tF,WAER,OACI,qBAAKnpF,UAAU,oBAAf,SACI,cAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,QAAtC,SACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIhC,MAAO,CAAE8B,QAAS,QAA/C,UACI,eAACH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,gBAA8B2qF,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAY1xC,sBAE9C,eAACz5C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,uBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWp3E,eAE7C,eAAC/T,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,+BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWpO,wBAE7C,eAAC/8E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,6BACA,cAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWK,sBAE7C,eAACxrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,kCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWM,uBAE7C,eAACzrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWO,cAE7C,eAAC1rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,iCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWtO,qBAE7C,eAAC78E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,0BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWQ,oBAE7C,eAAC3rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,qBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWS,gBAE7C,eAAC5rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWwsB,gBAE7C,eAAC33G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWysB,qBAE7C,eAAC53G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,+BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWjB,kCCtDxD2tB,GAAc,uCAAG,WAAOn5G,GAAP,eAAA6C,EAAA,sEACV6B,aAAY,gCAAD,OAAiC1E,IADlC,cACtBqE,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKd+0G,GAAc,uCAAG,WAAOp5G,GAAP,eAAA6C,EAAA,sEACV6B,aAAY,mBAAD,OAAoB1E,IADrB,cACtBqE,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKdg1G,GAAsBz0G,mBAAO,sBAAC,4BAAA/B,EAAA,sEACvB6B,aAAY,6BADW,cACnCL,EADmC,yBAEhCA,GAFgC,4CAK9Bi1G,GAAW,uCAAG,WAAOt0G,GAAP,eAAAnC,EAAA,sEACPsB,aAAa,kBAAmBa,GADzB,cACnBX,EADmB,yBAEhBA,GAFgB,2CAAH,sDAIXk1G,GAAa,uCAAG,WAAOv0G,GAAP,eAAAnC,EAAA,sEACTsB,aAAa,uCAAwCa,GAD5C,cACrBX,EADqB,yBAElBA,GAFkB,2CAAH,sDAebm1G,GAAoC,uCAAG,WAAOC,EAAOC,EAAWC,EAAWC,GAApC,eAAA/2G,EAAA,sEAChC6B,aAAY,wDAAD,OACiC+0G,EADjC,sBACoDC,EADpD,2BACgFC,EADhF,8BAC+GC,IAF1F,cAC5Cv1G,EAD4C,yBAIzCA,GAJyC,2CAAH,4DAOpCw1G,GAAkB,uCAAG,WAAO75G,GAAP,eAAA6C,EAAA,sEACd6B,aAAY,uCAAD,OAAwC1E,IADrC,cAC1BqE,EAD0B,yBAGvBA,GAHuB,2CAAH,sDAMlBy1G,GAAe,uCAAG,WAAO95G,GAAP,eAAA6C,EAAA,sEACX6B,aAAY,oCAAD,OAAqC1E,IADrC,cACvBqE,EADuB,yBAGpBA,GAHoB,2CAAH,sDAMf01G,GAA+B,uCAAG,WAAO/0G,GAAP,eAAAnC,EAAA,sEAC3BsB,aAAa,2CAA4Ca,GAD9B,cACvCX,EADuC,yBAGpCA,GAHoC,2CAAH,sDAK/B21G,GAAsB,uCAAG,WAAOh6G,GAAP,eAAA6C,EAAA,sEAClB6B,aAAY,mCAAD,OAAoC1E,IAD7B,cAC9BqE,EAD8B,yBAE3BA,GAF2B,2CAAH,sDAItB41G,GAAyB,uCAAG,WAAOj1G,GAAP,eAAAnC,EAAA,sEACrBsB,aAAa,qCAAsCa,GAD9B,cACjCX,EADiC,yBAG9BA,GAH8B,2CAAH,sDAKzB61G,GAA2B,uCAAG,WAAOl1G,GAAP,eAAAnC,EAAA,sEACvBsB,aAAa,0CAA2Ca,GADjC,cACnCX,EADmC,yBAEhCA,GAFgC,2CAAH,sDAI3B81G,GAA6B,uCAAG,WAAOn1G,GAAP,eAAAnC,EAAA,sEACzB6B,aAAY,6CAAD,OAA8CM,GAAQ,CAAE6d,GAAI7d,IAD9C,cACrCX,EADqC,yBAElCA,GAFkC,2CAAH,sD,qBCJ3B+1G,GA7DE,SAACz7G,GACd,MAA0BgC,mBAAS,CAAE05G,SAAU,KAA/C,mBAAOj4G,EAAP,KAAcxB,EAAd,KAEA2B,oBAAS,sBAAC,gCAAAM,EAAA,2DACFlE,EAAMwG,WAAaxG,EAAM86G,OAAS96G,EAAM27G,gBAAkB37G,EAAM47G,mBAD9D,gCAEcf,GAAqC76G,EAAM86G,MAAO96G,EAAMwG,UAAWxG,EAAM27G,eAAgB37G,EAAM47G,mBAF7G,OAEEl2G,EAFF,QAGEW,EAHF,UAGSX,EAAIW,YAHb,aAGS,EAAU2G,UAEjB/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL63G,SAAUr1G,OAPhB,2CAWP,IAEH,IAMMkN,EAAU,CACZ,CAAEnF,IAAK,UAAWxE,KAAM,OAAQ+D,MAAO,IAAKgH,UAAW3E,IAAW6nG,gBAClE,CACIzpG,IAAK,UACLxE,KAAM,UACN+D,MAAO,GACPgH,UAAW,SAAC/E,GAAY,IAAD,EACnB,OACI,qBAAK5O,MAAO,CAAEI,OAAQ,UAAWsX,WAAY,QAA7C,SACI,mBACI1X,MAAO,CAAE07D,eAAgB,OAAQx5D,MAAO,SACxCsuF,KAAI,0CAA8B5hF,QAA9B,IAA8BA,GAA9B,UAA8BA,EAAQ8E,WAAtC,aAA8B,EAAa8oC,MAA3C,YAAoDx9C,EAAMwG,UAA1D,MACJwF,OAAO,SAHX,SAKK4D,EAAO8E,IAAI83E,cAMhC,CAAEp+E,IAAK,aAAcxE,KAAM,eAC3B,CACIwE,IAAK,SACLxE,KAAM,SACN+D,MAAO,GACPgH,UAAW3E,IAAW2wE,gBACtB1lE,eAAgBjL,IAAWkL,wBAE/B,CAAE9M,IAAK,QAASxE,KAAM,QAAS+D,MAAO,IAAKgH,UAAW3E,IAAW2wE,gBAAiB1lE,eAAgBjL,IAAWkL,wBAC7G,CAAE9M,IAAK,QAASxE,KAAM,UAE1B,OACI,cAACjH,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,SACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,KAAD,CAAUggB,cAAc,EAAMzP,QAASA,EAAS4P,OAAQ,IAAKziB,OAAO,cAAcghB,KAAMje,EAAMi4G,SAAUz4F,YAAaxf,EAAM6c,cCjCxHtQ,IAAWmL,qBACNnL,IAAWkL,uBAMhBlL,IAAW2wE,gBACN3wE,IAAWkL,uBAOXlL,IAAWkL,uBAKXlL,IAAWkL,uBCmFpB2gG,OAvHf,SAAuC77G,GACnC,MAA0BgC,mBAAS,CAC/Bs3G,cAAc,EACdl5G,MAAO,KAFX,mBAAOqD,EAAP,KAAcxB,EAAd,KAKQ07C,EAA4B39C,EAA5B29C,OAAmBt3C,GAASrG,EAApBwG,UAAoBxG,EAATqG,MAErBmzG,EAAW,uCAAG,WAAOp5G,EAAOy2F,GAAd,SAAA3yF,EAAA,sDACU,GAAtBmC,EAAK4nF,eAA+B,eAAT7tF,IAC3By2F,EAAU,uBAEd50F,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAELzD,MAAOA,GACNy2F,GAAU,OAPC,2CAAH,wDAgBXlY,EAAc,uCAAG,WAAOj5E,GAAP,SAAAxB,EAAA,sDACnBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELy1G,cAAc,EACdG,YAAY,EACZF,qBAAqB,OAEzB7zG,GAAO1F,EAAM05G,cAAch0G,GAPR,2CAAH,sDAUdk0G,EAAe,SAACC,EAAUrpD,EAAWj4C,GACvC,OACI,mCACsB,QAAjBvY,EAAM85G,QACH,cAACn3G,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIwV,KAAMA,EACN/L,MAAK,UAAKqtG,GACVr4G,QAAS,WACLg4G,EAAY,GAAD,OAAIK,GAAJ,UAAmBrpD,KAElCxvD,MAAO,CAAE0X,WAAY,QACrBxV,MAAM,YAId,cAAC,KAAD,CACI1B,QAAS,WACLg4G,EAAY,GAAD,OAAIK,GAAJ,UAAmBrpD,KAFtC,mBAKQqpD,QAMxB,OACI,eAACl3G,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAG8B,UAAU,oBAA3C,UACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAI2B,UAAU,SAAS9B,QAAS,EAAzD,UACgB,MAAV86C,GAAkBt3C,EAAKy1G,iBAA+B,MAAVn+D,GAAkBt3C,EAAK01G,cAC/DnC,EAAa,kBAAmB,eAAgBphG,MAChD,MAEM,MAAVmlC,GAA4B,MAAVA,IAAmBi8D,EAAa,kBAAmB,eAAgBphG,OAC3E,MAAVmlC,GAA4B,MAAVA,GAA6B,MAAVA,GAAkBt3C,EAAKy1G,iBAA8B,MAAVn+D,IAC9Ei8D,EAAa,cAAe,aAAcphG,MACnC,MAAVmlC,GAAkBi8D,EAAa,kBAAmB,eAAgBphG,SAMtE/U,EAAMg2G,YACH,cAACt5G,GAAA,EAAD,CAAYC,MAAM,+CAA+CI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA7G,SACI,cAAC,GAAD,CAAmBv+E,MAAOqD,EAAMrD,MAAO84G,MA7D/B,SAACxzG,GACrBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL41G,YAAY,QA0D2Dl5G,QAASo+E,MAG/El7E,EAAM81G,qBACH,cAACp5G,GAAA,EAAD,CAAYC,MAAOqD,EAAMrD,MAAOI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA5E,SACI,cAACu7B,GAAD,CACI95G,MAAOqD,EAAMrD,MACb04G,kBAAmBzyG,EAAK8zG,gBACxBlsB,cAAe5nF,EAAK4nF,cACpBE,iBAAkB9nF,EAAK8nF,iBACvBH,aAAc3nF,EAAK2nF,aACnBrB,gBAAiBtmF,EAAKsmF,gBACtBnM,cAAexgF,EAAMw9C,MACrBqwC,aAAcxnF,EAAKwnF,aACnBU,WAAYloF,EAAKkoF,WACjBD,eAAgBjoF,EAAKioF,eACrB/tF,QAASo+E,EACTo6B,UAAWp7D,MAItBl6C,EAAM61G,cACH,cAACn5G,GAAA,EAAD,CAAYC,MAAOqD,EAAMrD,MAAOI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA5E,SACI,cAACy7B,GAAD,CACIh6G,MAAOqD,EAAMrD,MACb6tF,cAAe5nF,EAAK4nF,cACpBE,iBAAkB9nF,EAAK8nF,iBACvBH,aAAc3nF,EAAK2nF,aACnBrB,gBAAiBtmF,EAAKsmF,gBACtBnM,cAAexgF,EAAMw9C,MACrBqwC,aAAcxnF,EAAKwnF,aACnBttF,QAASo+E,EACTo9B,cAAe11G,EAAK01G,sBC3H/BnlD,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAClD4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,UACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,UACT,sBAAuB,CACnBk5G,cAAe,sBAVIx6D,CAa3B0V,MAESC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CACjDC,KAAM,CACF,qBAAsB,CAClBi3B,gBAAiB,eAHCqf,CAM1B6V,MCuNW4kD,OAnOf,SAAoBj8G,GAChB,IACIk8G,EASAl8G,EATAk8G,qBACAC,EAQAn8G,EARAm8G,uBACAC,EAOAp8G,EAPAo8G,iBACAC,EAMAr8G,EANAq8G,aACAC,EAKAt8G,EALAs8G,aACAC,EAIAv8G,EAJAu8G,aACAC,EAGAx8G,EAHAw8G,QACAC,EAEAz8G,EAFAy8G,qBACAC,EACA18G,EADA08G,oBAEJ,EAAwB37D,KAAxB,mBAIA,OAJA,UAKI,8BACI,cAACyW,GAAA,EAAD,CACIroD,UAAW4rB,KACX/5B,MAAO,CACHP,SAAU,UAHlB,SAMI,cAACk3D,GAAA,EAAD,CAAO32D,MAAO,CAAEN,OAAQ,QAAxB,SACI,cAACk3D,GAAA,EAAD,UACK0kD,EAAa/yG,KAAI,SAACgoB,EAAGmM,GAClB,IAAI2mB,EAAO,EACX,OACI,eAAC,IAAMs4D,SAAP,WACI,eAAC,GAAD,WACI,cAAC,GAAD,CAAiBC,QAAc,GAALl/E,EAAS,EAAI,EAAvC,SACI,cAACvwB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,sBAIE,GAALw6B,GACG,eAAC,GAAD,WACI,cAACt4B,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACA,cAAC,IAAD,CAAcjC,MAAOs6G,EAAsBhwG,SAAUiwG,EAAqBj+F,QAAS+9F,OAG3F,cAAC,GAAD,sBAEJ,eAAC,GAAD,WACI,cAAC,GAAD,CAAiB7uG,MAAM,KAAvB,SACI,cAAC,IAAD,CACIwF,QAASoe,EAAEsrF,WACXjzG,KAAK,aACL4C,MAAO+kB,EAAEsrF,WACTpwG,SAAUyvG,EAAqB3qF,EAAEurF,YAGzC,eAAC,GAAD,CAAiB1vG,MAAM,OAAOO,MAAM,MAApC,UACI,cAACvI,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,gCACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,UACKouB,EAAEwrF,mBAAqB,MACxB,uBAFJ,eAEuBxrF,EAAEyrF,UAAY,YAGzC,cAAC,GAAD,CAAiBrvG,MAAM,MAAvB,SACI,cAAC,IAAD,CACI2E,WAAW,QACX1I,KAAK,cACL2I,YAAY,QACZ9F,SAAU0vG,EAAuB,KAAM5qF,EAAEurF,QACzC36G,MAAOovB,EAAE0rF,YACTvwG,KAAK,aAGb,cAAC,GAAD,CAAiBiB,MAAM,MAAvB,SACI,cAAC,IAAD,CACI2E,WAAW,cACX1I,KAAK,aACL2I,YAAY,cACZ9F,SAAU0vG,EAAuB,KAAM5qF,EAAEurF,QACzC36G,MAAOovB,EAAE2rF,WACTxwG,KAAK,aAGb,cAAC,GAAD,CAAiBiB,MAAM,MAAvB,SACI,cAAC,IAAD,CACI2E,WAAW,aACX1I,KAAK,iBACL2I,YAAY,aACZ9F,SAAU0vG,EAAuB,KAAM5qF,EAAEurF,QACzC36G,MAAOovB,EAAE4rF,eACTzwG,KAAK,aAGb,cAAC,GAAD,CAAiBiB,MAAM,MAAvB,SACI,cAAC,IAAD,CACI2E,WAAW,eACX1I,KAAK,cACL2I,YAAY,eACZ9F,SAAU0vG,EAAuB,KAAM5qF,EAAEurF,QACzC36G,MAAOovB,EAAE6rF,gBAGjB,eAAC,GAAD,CAAiBzvG,MAAM,MAAvB,UACI,cAACvI,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACA,cAAC,IAAD,CACIjC,MAAOovB,EAAEkrF,qBACThwG,SAAU0vG,EAAuB5qF,EAAE6rF,YAAa7rF,EAAEurF,QAClDr+F,QAAS+9F,IAEb,cAACp3G,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBksB,EAAE8rF,WAAa,yBAA2B,UAErE,cAAC,GAAD,CAAiB1vG,MAAM,MAAvB,SACI,cAAC,IAAD,CACI2E,WAAW,aACX1I,KAAK,iBACL2I,YAAY,MACZ9F,SAAU0vG,EAAuB,KAAM5qF,EAAEurF,QACzC36G,MAAOovB,EAAE+rF,sBAIpBC,gBAAKhB,GAAc,SAACntF,GAAD,OAAOA,EAAEouF,WAAajsF,EAAEurF,WACxC,eAAC,IAAMH,SAAP,WACI,eAAC,GAAD,WACI,cAAC,GAAD,CAAiBC,QAAS,EAA1B,kBACA,cAAC,GAAD,CAAiBA,QAAS,EAA1B,SACI,cAACzvG,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,wBAKPq5G,EAAahzG,KAAI,SAAC0kD,EAAGimB,GAClB,GAAIjmB,EAAEuvD,WAAajsF,EAAEurF,OAEjB,OADAz4D,IAEI,eAAC,GAAD,WACI,cAAC,GAAD,CAAiB12C,MAAM,KAAvB,kBACA,cAAC,GAAD,CAAiBA,MAAM,MAAvB,SACI,eAAChL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAGC,GAAI,EAA7B,UACI,cAAC7sB,EAAA,EAAD,UAAa,WACb,cAAC,IAAD,CACIgP,QAAS86C,EAAE4uD,WACXjzG,KAAK,aACL6C,SAAU4vG,EAAapuD,EAAEwvD,QACzBjxG,MAAOyhD,EAAErkD,KACT5I,MAAO,CAAEyD,UAAmB,GAAR4/C,GAAa,GAAK,QAG9C,eAAC1hD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,GAAIC,GAAI,GAA9B,UACa,GAARqzB,GAAa,cAACj/C,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,0BACd,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,UACK8qD,EAAEyvD,YAAc,MACjB,uBAFJ,gBAEwBzvD,EAAE0vD,iBAAmB,iBAKzD,cAAC,GAAD,CAAiBhwG,MAAM,MAAvB,SACI,cAAC,IAAD,CACI2E,WAAoB,GAAR+xC,EAAY,WAAa,KACrCz6C,KAAK,MACL2I,YAAY,WACZ9F,SAAU4vG,EAAapuD,EAAEwvD,QACzBt7G,MAAO8rD,EAAE2vD,IACTlxG,KAAK,aAGb,cAAC,GAAD,CAAiBiB,MAAM,MAAvB,SACI,cAAC,IAAD,CACI2E,WAAoB,GAAR+xC,EAAY,aAAe,KACvCz6C,KAAK,YACL2I,YAAY,aACZ9F,SAAU4vG,EAAapuD,EAAEwvD,QACzBt7G,MAAO8rD,EAAE4vD,UACTnxG,KAAK,aAGb,cAAC,GAAD,CAAiBiB,MAAM,MAAvB,SACI,cAAC,IAAD,CACI2E,WAAoB,GAAR+xC,EAAY,aAAe,KACvCz6C,KAAK,WACL2I,YAAY,aACZ9F,SAAU4vG,EAAapuD,EAAEwvD,QACzBt7G,MAAO8rD,EAAE6vD,SACTpxG,KAAK,aAGb,cAAC,GAAD,CAAiBiB,MAAM,MAAvB,SACI,cAAC,IAAD,CACI2E,WAAoB,GAAR+xC,EAAY,eAAiB,KACzCz6C,KAAK,QACL2I,YAAY,eACZ9F,SAAU4vG,EAAapuD,EAAEwvD,QACzBt7G,MAAO8rD,EAAE/xC,UAGjB,eAAC,GAAD,CAAiBvO,MAAM,MAAvB,UACa,GAAR02C,GAAa,cAACj/C,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACd,cAAC,IAAD,CACIjC,MAAO8rD,EAAEwuD,qBACThwG,SAAU2vG,EAAiBnuD,EAAE/xC,MAAO+xC,EAAEwvD,QACtCh/F,QAAS+9F,IAEb,cAACp3G,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB4oD,EAAEovD,WAAa,yBAA2B,UAErE,cAAC,GAAD,CAAiB1vG,MAAM,MAAvB,SACI,cAAC,IAAD,CACI2E,WAAoB,GAAR+xC,EAAY,aAAe,KACvCz6C,KAAK,iBACL2I,YAAY,MACZ9F,SAAU4vG,EAAapuD,EAAEwvD,QACzBt7G,MAAO8rD,EAAEqvD,2CCvNhES,GAAe,uCAAG,WAAO18G,GAAP,eAAA6C,EAAA,sEACb6B,aAAY,mBAAD,OAAoB1E,IADlB,cACzBqE,EADyB,yBAEtBA,GAFsB,2CAAH,sDAKfs4G,GAAgB,uCAAG,WAAO33G,GAAP,eAAAnC,EAAA,sEACdsB,aAAa,kBAAmBa,GADlB,cAC1BX,EAD0B,yBAEvBA,GAFuB,2CAAH,sDC2Edu4G,OA/Ef,SAA8Bj+G,GAC5B,MAA0BgC,mBAAS,CACjCk8G,iBAAkB,KAClBC,0BAA2B,GAC3BvtG,OAAQ,KAHV,mBAAOnN,EAAP,KAAcxB,EAAd,KAMA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,0DACJlE,EAAMk+G,iBADF,gCAEUH,GAAgB/9G,EAAMk+G,kBAFhC,QAEFx4G,EAFE,QAGEoE,SACN7H,GAAS,SAACwB,GAAD,mBAAC,eACLA,GADI,IAEPy6G,iBAAkBx4G,EAAIW,KAAK63G,iBAC3BC,0BAA2Bz4G,EAAIW,KAAK83G,+BAPlC,2CAWP,IAEH,IAQMrsG,EAAc,WAClB,IAAQqsG,EAA8B16G,EAA9B06G,0BAEJpsG,GAAc,EACdnB,EAAS,GAMb,MARwB,QAGDqB,KAAKksG,KAC1BvtG,EAAOutG,0BAA4B,8BACnCpsG,GAAc,GAEhB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGHG,EAAa,uCAAG,8BAAAhO,EAAA,0DAChB4N,IADgB,uBAEZssG,EAAe,CACnBF,iBAAkBz6G,EAAMy6G,iBACxBC,0BAA2B16G,EAAM06G,2BAJjB,SAMFH,GAAiBI,GANf,QAMd14G,EANc,QAOVoE,SACNyB,EAAiB,uCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAXH,2CAAH,qDAgBnB,OACE,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAGwV,QAAQ,SAAStX,WAAW,SAAxE,UACE,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,cACX1I,KAAK,4BACL2I,YAAY,cACZ9F,SA5CkB,SAACkG,GACzB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACLA,GADI,kBAENmG,EAAOzH,QAyCJA,MAAOsB,EAAM06G,0BACbvtG,OAAQnN,EAAMmN,OAAOutG,8BAIzB,cAACx7G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMk+G,iBAAmB,SAAW,cCxEhF9iG,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,mBAAoB0R,QAAQ,IAGlC8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,4BAA6BxE,KAAM,gBAwE/By0G,OArEf,SAAyBr+G,GACrB,MAA0BgC,mBAAS,CAC/Bs8G,aAAc,GACdh+F,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNq6G,IADM,2CAEP,IAEH,IAAMA,EAAmB,uCAAG,sBAAAr6G,EAAA,sDACxBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHM,2CAAH,qDAOnBsqG,EAAkB,SAAC5uG,GACrB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAMq9G,iBAAgB,OAAEtuG,QAAF,IAAEA,OAAF,EAAEA,EAAQsuG,uBAGrE/yE,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMg9G,EAAgB9pG,IAAMiE,aAAa,4BAKpEpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,KAGLrgB,EAAQqD,EAAMy6G,iBAAmB,yBAA2B,sBAE5DvjF,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAO64G,KAGX,OACI,sBAAK55G,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KAErB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQ,kBACRmC,SAAS,sBACTG,WAAY,kBAAM+lG,EAAgB,OAClCtoG,SAAUzS,EAAMyS,WAEnBzS,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAArE,SACI,cAAC,GAAD,CAAsB09G,iBAAkBz6G,EAAMy6G,iBAAkB39G,QAAS,kBAAMo6B,GAAW,QAE9F,SC+ND8jF,OA7Rf,SAAyBz+G,GAAQ,IAAD,UAC5B,EAAwB+gD,KAAxB,mBACA,GADA,UAC0B/+C,oBAAQ,GAC9Bs6G,aAAc,GACdE,QAAS,GACTkC,eAAgB,GAChBnC,aAAc,GACdvxB,oBAAqBnxE,OAASC,OAAO,cACrCyxE,uBAAwB,IANM,oCAOT,IAPS,oCAQT,IARS,uBAStB,IATsB,wBAUrB,MAVqB,KAAlC,mBAAO9nF,EAAP,KAAcxB,EAAd,KAgBA,GAJsB+L,eAAd2lC,UAEyBh8B,SAAS,gBAER3V,oBAAS,IAA3C,mBAEA,GAFA,UAE6CP,gBAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,sEACWi3G,GAAgBn7G,EAAMq7E,eADjC,QACFjmB,EADE,QAEGtrD,SACL7H,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAEL24G,QAASpnD,EAAK/uD,KAAKm2G,QACnBkC,gBAAgB,UAAAtpD,EAAK/uD,YAAL,eAAWq4G,iBAAkB,GAC7CpC,aAAclnD,EAAK/uD,KAAKi2G,aAAa/yG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBkrF,qBAAsB,KAAMa,eAAgB,KAAMT,YAAY,QAAY,GACnIN,aAAcnnD,EAAK/uD,KAAKk2G,aAAahzG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBkrF,qBAAsB,KAAMa,eAAgB,KAAMT,YAAY,YARzH,2CAWP,IAEH,IAAMhrG,EAAc,SAAC/F,GACjB,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KACrB,GAAa,wBAAT9C,EAAgC,CAAC,IAAD,EAC5Bu0E,EAAUtkE,KAAO1X,GAAOs0F,IAAd,UAAkBhzF,EAAMi7G,eAAe,UAAvC,aAAkB,EAAyBC,YAAa,KACtE18G,GAAS,SAAC4B,GAAD,yBAAC,eAAaA,GAAd,uBAAmB+F,EAAOzH,GAA1B,uCAAyD0X,KAAOskE,GAASrkE,OAAO,eAAhF,YAET7X,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGrCy8G,EAAa,SAACC,EAAKC,GACrB,OAAQD,EAAM,IAAOC,GAEnBC,EAAgB,SAAChzG,GACnB,OAAOA,EAAMA,EAAI81B,QAAQ,GAAGC,QAAQ,0BAA2B,OAAS,GAwFtE+mD,EAAa,WACf,IAAQmC,EAA4EvnF,EAA5EunF,oBAAqBO,EAAuD9nF,EAAvD8nF,uBAAwB+wB,EAA+B74G,EAA/B64G,aAAcC,EAAiB94G,EAAjB84G,aAC/D3rG,EAAS,GACTqrD,GAAU,EACT+uB,IACDp6E,EAAOo6E,oBAAsB,mBAC7B/uB,GAAU,GAETsvB,IACD36E,EAAO26E,uBAAyB,uBAChCtvB,GAAU,GAGd,IAAI51D,EAAOi2G,EAAa/yG,KAAI,SAAC6lB,GACzB,OAAIA,EAAEytF,YAAwC,MAA1BztF,EAAEqtF,sBAClBxgD,GAAU,EACH,2BAAK7sC,GAAZ,IAAeiuF,YAAY,KAEpB,2BAAKjuF,GAAZ,IAAeiuF,YAAY,OAI/B2B,EAAOzC,EAAahzG,KAAI,SAAC6lB,GACzB,OAAIA,EAAEytF,YAAwC,MAA1BztF,EAAEqtF,sBAClBxgD,GAAU,EACH,2BAAK7sC,GAAZ,IAAeiuF,YAAY,KAEpB,2BAAKjuF,GAAZ,IAAeiuF,YAAY,OASnC,OANAp7G,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,EACR0rG,aAAcj2G,EACdk2G,aAAcyC,OAEX/iD,GAELj+B,EAAY,uCAAG,kCAAA95B,EAAA,0DACb2kF,IADa,uBAETo2B,EAAmBx7G,EAAM64G,aACxBp+E,QAAO,SAAC3M,GAAD,OAAOA,EAAEsrF,cAChBtzG,KAAI,SAACgoB,GAAD,cAAQ,CACTisF,UAAWjsF,EAAEurF,OACboC,gBAAe,UAAE3tF,EAAEkrF,4BAAJ,aAAE,EAAwBp7G,GACzC47G,YAAa1rF,EAAE0rF,YACfC,WAAY3rF,EAAE2rF,WACdH,kBAAmBxrF,EAAEwrF,kBACrBI,eAAgB5rF,EAAE4rF,eAClBgC,iBAAgB,UAAE5tF,EAAEkrF,4BAAJ,aAAE,EAAwB2C,eAC1CC,gBAAiB9tF,EAAE+rF,eACnBgC,WAAY/tF,EAAE6rF,gBAElBmC,EAAkB97G,EAAM84G,aACvBr+E,QAAO,SAAC3M,GAAD,OAAOA,EAAEsrF,cAChBtzG,KAAI,SAACgoB,GAAD,cAAQ,CACTisF,UAAWjsF,EAAEisF,UACbE,WAAYnsF,EAAEmsF,WACdC,gBAAiBpsF,EAAEosF,gBACnB6B,aAAcjuF,EAAEqsF,IAChB6B,cAAeluF,EAAEssF,UACjB6B,aAAcnuF,EAAEusF,SAChB6B,cAAa,UAAEpuF,EAAEkrF,4BAAJ,aAAE,EAAwBp7G,GACvCu+G,eAAc,UAAEruF,EAAEkrF,4BAAJ,aAAE,EAAwB2C,eACxCS,cAAetuF,EAAE+rF,mBAErBnrG,EAAW,CACX8sG,iBAAkBA,EAClBM,gBAAiBA,EAEjBO,iBAAkBr8G,EAAMunF,oBACxB+0B,oBAAqBt8G,EAAM8nF,uBAC3By0B,kBAAmBhgH,EAAMq7E,eAlChB,SAoCG+/B,GAAgCjpG,GApCnC,QAoCTzM,EApCS,QAqCLoE,SACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAzCV,2CAAH,qDA6ClB,OACI,qBAAKnL,MAAO,CAAEN,OAAQ,QAAtB,SACI,sBAAKM,MAAO,CAAEN,OAAQ,QAAtB,UACI,cAACiC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,QAAtC,SACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIhC,MAAO,CAAEmhC,gBAAiB,UAAWr/B,QAAS,SAA3E,UACI,eAACH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,UAAiC,UAAAM,EAAMi7G,eAAe,UAArB,eAAyB1xE,YAAa,WAE3E,eAACrqC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,UAAiC,UAAAM,EAAMi7G,eAAe,UAArB,eAAyBuB,WAAY,WAE1E,eAACt9G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,UAAiC,UAAAM,EAAMi7G,eAAe,UAArB,eAAyBtqE,WAAY,WAE1E,eAACzxC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiC6M,IAAWgqD,kBAAX,UAA6Bv2D,EAAMi7G,eAAe,UAAlD,aAA6B,EAAyBwB,wBAKvG,eAACv9G,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,0BAGA,cAAC,IAAD,CAAYD,YAAY,eAAepQ,MAAOsB,EAAMunF,oBAAqBv+E,SAAUoF,EAAajI,KAAK,wBACrG,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOo6E,yBAExC,eAACroF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,sBAGA,cAAC,IAAD,CAAYD,YAAY,WAAWpQ,MAAOsB,EAAM8nF,uBAAwB9+E,SAAUoF,EAAajI,KAAK,2BACpG,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO26E,4BAExC,eAAC5oF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoB,WACpB,cAAC,IAAD,CAAiB5C,QAASw8B,EAA1B,uBAEJ,cAACr7B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEN,OAAO,uBAA0BiE,UAAU,gBAAvE,SACI,cAAC,GAAD,CACIu3G,qBA9KK,SAACx+E,GAAD,OAAO,SAAC5xB,GACjC,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACVwqB,EAAY,aAAOl6B,EAAM64G,cACzB1+E,EAAWn6B,EAAM64G,aAAaz+E,WAAU,SAAClR,GAAD,OAAOA,EAAEmwF,QAAUp/E,KAC/DC,EAAaC,GAAUh0B,GAAQuJ,EAC/BlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,IAAe64G,aAAc3+E,SAyKtBw+E,uBApMO,SAAC0C,EAAKnhF,GAAN,OAAY,SAAC5xB,EAAGC,GAC3C,MAAuCD,EAAEE,OAAjCpC,EAAR,EAAQA,KAAe8C,GAAvB,EAAcyG,QAAd,EAAuBzG,MAAMvK,EAA7B,EAA6BA,MACzBw7B,EAAY,aAAOl6B,EAAM64G,cACzB1+E,EAAWn6B,EAAM64G,aAAaz+E,WAAU,SAAClR,GAAD,OAAOA,EAAEmwF,QAAUp/E,KAC/D,GAA4B,UAApB,OAAJhxB,QAAI,IAAJA,OAAA,EAAAA,EAAM4gB,gBAAmD,WAAvB5gB,EAAK4gB,eAEvC,GADAqQ,EAAaC,GAAUh0B,GAAQzH,EACnB,eAARyH,GAAiC,cAARA,GAAgC,kBAARA,EAA0B,CAC3E,IAAIvD,EAAOs3B,EAAaC,GAClBuiF,EAAU95G,EAAI,YAAkBA,EAAI,YAAkB,IAAMA,EAAI,gBAAsB,GAAM,IAClGA,EAAI,YAAkB04G,EAAcoB,SAEjCp0G,IACP4xB,EAAaC,GAAb,qBAAiD7xB,EACjD4xB,EAAaC,GAAb,eAA2CmhF,EAAcH,EAAWC,EAAK9yG,EAAIqzG,kBAEjFn9G,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,IAAe64G,aAAc3+E,SAqLtBy+E,iBAtKC,SAACyC,EAAKx9G,GAAN,OAAa,SAACmd,EAAIzS,GACvC,IAAI4xB,EAAY,aAAOl6B,EAAM84G,cACzB3+E,EAAWn6B,EAAM84G,aAAa1+E,WAAU,SAAClR,GAAD,OAAOA,EAAE8wF,QAAUp8G,KAC/D,GAAI0K,EAAK,CACL,IAAIq0G,EAAgBxB,EAAWC,EAAK9yG,EAAIqzG,gBACxCzhF,EAAaC,GAAb,qBAAiD7xB,EACjD4xB,EAAaC,GAAb,eAA2CmhF,EAAcqB,GACzDn+G,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,IAAe84G,aAAc5+E,UA+J1B0+E,aAzJH,SAAC3+E,GAAD,OAAO,SAAC5xB,GACzB,MAAuCA,EAAEE,OAAjCpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOgR,EAArB,EAAqBA,QAASzG,EAA9B,EAA8BA,KAC1BixB,EAAY,aAAOl6B,EAAM84G,cACzB3+E,EAAWn6B,EAAM84G,aAAa1+E,WAAU,SAAClR,GAAD,OAAOA,EAAE8wF,QAAU//E,KAC/D,GAA2B,SAAvBhxB,EAAK4gB,eAAmD,WAAvB5gB,EAAK4gB,eAEtC,GADAqQ,EAAaC,GAAUh0B,GAAQzH,EACnB,OAARyH,GAAyB,aAARA,GAA+B,YAARA,EAAoB,CAC5D,IAAIvD,EAAOs3B,EAAaC,GAClBuiF,EAAU95G,EAAI,IAAUA,EAAI,WAAiB,IAAMA,EAAI,UAAgB,GAAM,IACnFA,EAAI,MAAY04G,EAAcoB,SAGlCxiF,EAAaC,GAAUh0B,GAAQuJ,EAGnClR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,IAAe84G,aAAc5+E,SA0ItB2+E,aAAc74G,EAAM64G,aACpBC,aAAc94G,EAAM84G,aACpBC,QAAS/4G,EAAM+4G,QACfE,oBA9NI,SAACl+F,EAAIzS,GAC7B,GAAIA,EAAK,CAEL,IAAIuwG,EAAe74G,EAAM64G,aAAa/yG,KAAI,SAACojB,GAAD,mBAAC,eACpCA,GADmC,IAEtC2wF,eAAgByB,EAAcH,EAAWjyF,EAAEywF,YAAarxG,EAAIqzG,iBAC5D3C,qBAAsB1wG,OAEtB4xB,EAAel6B,EAAM84G,aAAahzG,KAAI,SAACojB,GAAD,mBAAC,eACpCA,GADmC,IAEtC2wF,eAAgByB,EAAcH,EAAWjyF,EAAEzQ,MAAOnQ,EAAIqzG,iBACtD3C,qBAAsB1wG,OAE1B9J,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,IAAe84G,aAAc5+E,EAAc2+E,aAAcA,SAiNtDG,qBAAsBh5G,EAAMg5G,kC,qBC1RlDtD,GAAe,SAACn5G,GAClB,OAAO,cAAC,KAAD,CAAiBwB,QAASxB,EAAMo5G,iBAAhC,qBA+GIiH,OA5Gf,SAA+BrgH,GAC3B,MAA0BgC,mBAAS,CAC/B++E,cAAc,EACdu4B,cAAc,EACdl5G,MAAO,KAHX,mBAAOqD,EAAP,KAAcxB,EAAd,KAOMyxC,EADgB1lC,eAAd2lC,UACqBh8B,SAAS,YAC9BgmC,EAA4B39C,EAA5B29C,OAAQn3C,EAAoBxG,EAApBwG,UAAWH,EAASrG,EAATqG,KACrBmzG,EAAW,uCAAG,WAAOp5G,EAAOy2F,GAAd,SAAA3yF,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAELzD,MAAOA,GACNy2F,GAAU,OAJC,2CAAH,wDAQXlY,EAAc,uCAAG,WAAOj5E,GAAP,SAAAxB,EAAA,sDACnBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk9E,cAAc,EACdu4B,cAAc,OAElB5zG,GAAO1F,EAAM05G,cAAch0G,GANR,2CAAH,sDASdk0G,EAAe,SAACC,EAAUrpD,EAAWj4C,GACvC,OACI,mCACsB,QAAjBvY,EAAM85G,QACH,cAACn3G,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIwV,KAAMA,EACN/L,MAAK,UAAKqtG,GACVr4G,QAAS,WACLg4G,EAAY,GAAD,OAAIK,GAAJ,UAAmBrpD,KAElCxvD,MAAO,CAAE0X,WAAY,YAI7B,cAAC,KAAD,CACIlX,QAAS,WACLg4G,EAAY,GAAD,OAAIK,GAAJ,UAAmBrpD,KAFtC,mBAKQqpD,QAOxB,OADA/sF,QAAQC,IAAI4wB,EAAQ,OAEhB,eAACh7C,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAG8B,UAAU,oBAA3C,UACK+uC,EACG,eAAC/wC,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIH,QAAS,EAAG8B,UAAU,SAAnD,UACK3E,EAAMg6G,eAAiB,KACpB,cAAC,GAAD,CACIxzG,UAAWA,EACXqnF,aAAcxnF,EAAKwnF,aACnB5sF,SAAUjB,EAAMiB,SAChBm4G,iBAAkBp5G,EAAMo5G,mBAGpB,MAAVz7D,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBAA6E,KAAvDH,EAAa,cAAe,eAAgBphG,MACpG,MAAVmlC,GAAkB39C,EAAM+5G,oBAAsBH,EAAa,gBAAiB,eAAgB30E,MAAa,KAC9F,MAAV0Y,GACY,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,IACJ39C,EAAM+5G,oBAEA,KADAH,EAAa,YAAa,eAAgB0G,MAIrC,MAAV3iE,GAAkB39C,EAAM+5G,oBAAsBH,EAAa,kBAAmB,eAAgB30E,MAAa,QAEhH,KACHxhC,EAAMs9E,cACH,cAAC5gF,GAAA,EAAD,CAAYC,MAAOqD,EAAMrD,MAAOI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA5E,SACI,cAACyC,GAAD,CAAehhF,MAAOqD,EAAMrD,MAAOogF,cAAexgF,EAAMw9C,MAAOj9C,QAASo+E,MAG/El7E,EAAM61G,cACH,cAACn5G,GAAA,EAAD,CAAYC,MAAOqD,EAAMrD,MAAOI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA5E,SACI,cAACy7B,GAAD,CACIh6G,MAAOqD,EAAMrD,MACb6tF,cAAe5nF,EAAK4nF,cACpBE,iBAAkB9nF,EAAK8nF,iBACvBH,aAAc3nF,EAAK2nF,aACnBrB,gBAAiBtmF,EAAKsmF,gBACtBnM,cAAexgF,EAAMw9C,MACrBqwC,aAAcxnF,EAAKwnF,aACnBttF,QAASo+E,EACTgQ,WAAYtoF,EAAKsoF,mBC8G1B4xB,OAvNf,SAAyBvgH,GACrB,MAA0BgC,mBAAS,CAC/Bw+G,aAAc,GACdlgG,QAAQ,EACRzf,MAAM,EACN6tF,YAAa,GACb1D,oBAAqBnxE,OAASC,OAAO,cACrCyxE,uBAAwB,GACxBk1B,oBAAqB,GACrBnE,aAAc,GACdnxB,sBAAuB,GACvBv6E,OAAQ,GACR8vG,QAAQ,IAXZ,mBAAOj9G,EAAP,KAAcxB,EAAd,KAcA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,sEACWg3G,GAAmBl7G,EAAMq7E,eADpC,QACFjmB,EADE,QAEGtrD,SACL7H,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAEL24G,QAASpnD,EAAK/uD,KAAKm2G,QACnBkC,gBAAgB,UAAAtpD,EAAK/uD,YAAL,eAAWq4G,iBAAkB,GAC7CpC,aAAclnD,EAAK/uD,KAAKi2G,aAAa/yG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBkrF,qBAAsB,KAAMa,eAAgB,KAAMT,YAAY,QAAY,GACnIN,aAAcnnD,EAAK/uD,KAAKk2G,aAAahzG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBkrF,qBAAsB,KAAMa,eAAgB,KAAMT,YAAY,YARzH,2CAWP,IAEH,MAAkC76G,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA7Z,qBAAU,WACN,IAAI+8G,EAAiBpD,gBAAK95G,EAAM64G,cAAc,SAACltF,GAAD,OAAOA,EAAEytF,cACvD56G,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,IAAei9G,OAAQC,SAGrC,CAACl9G,EAAM64G,eAEV,IAIMzqG,EAAc,SAAC/F,GACjB,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KACrBzK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGjC67B,EAAY,uCAAG,8BAAA95B,EAAA,0DACb4N,IADa,uBAEb2L,GAAa,GACPpX,EAAO,CACT+kF,qBAAsBprF,EAAMq7E,cAC5B8P,sBAAuB1nF,EAAM0nF,sBAC7BH,oBAAqBvnF,EAAMunF,oBAC3BO,uBAAwB9nF,EAAM8nF,uBAC9BF,2BAA4B5nF,EAAMg9G,oBAClCG,mBAAoBn9G,EAAM64G,aACrBp+E,QAAO,SAAC3M,GAAD,OAAOA,EAAEsrF,cAChBtzG,KAAI,SAACm0B,GACF,GAAIA,EAAEm/E,WACF,MAAO,CACHC,OAAQp/E,EAAEo/E,YAdjB,SAmBGlC,GAAcv0G,GAnBjB,QAmBTX,EAnBS,QAoBLoE,SACJyB,EAAiB,gCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAEvBsR,GAAa,GA1BA,2CAAH,qDA8BZ3L,EAAc,WAChB,IAAQq5E,EAA4F1nF,EAA5F0nF,sBAAuBH,EAAqEvnF,EAArEunF,oBAAqBO,EAAgD9nF,EAAhD8nF,uBAAwBk1B,EAAwBh9G,EAAxBg9G,oBACxEj+F,EAAoB,QACpBzQ,GAAc,EACdnB,EAAS,GAkBb,OAjBK4R,EAAkBvQ,KAAKk5E,KACxBv6E,EAAOu6E,sBAAwB,6BAC/Bp5E,GAAc,GAEbyQ,EAAkBvQ,KAAK+4E,KACxBp6E,EAAOo6E,oBAAsB,2BAC7Bj5E,GAAc,GAEbyQ,EAAkBvQ,KAAKs5E,KACxB36E,EAAO26E,uBAAyB,+BAChCx5E,GAAc,GAEbyQ,EAAkBvQ,KAAKwuG,KACxB7vG,EAAO6vG,oBAAsB,2BAC7B1uG,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLgc,EAAiB,SAAC2P,GAAD,OAAO,SAAC5xB,GAC3B,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACVwqB,EAAY,aAAOl6B,EAAM64G,cACzB1+E,EAAWn6B,EAAM64G,aAAaz+E,WAAU,SAAClR,GAAD,OAAOA,EAAEmwF,QAAUp/E,KAE/DC,EAAaC,GAAUh0B,GAAQuJ,EAC/BlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,IAAe64G,aAAc3+E,SAK9C,OACI,qBAAKh5B,UAAU,oBAAf,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,iBACX1I,KAAK,wBACL2I,YAAY,iBACZ9F,SAAUoF,EACV1P,MAAOsB,EAAM0nF,sBACbv6E,OAAQnN,EAAMmN,OAAOu6E,0BAG7B,eAACxoF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,0BAGA,cAAC,IAAD,CAAYD,YAAY,eAAepQ,MAAOsB,EAAMunF,oBAAqBv+E,SAAUoF,EAAajI,KAAK,wBAErG,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOo6E,yBAExC,eAACroF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,sBAGA,cAAC,IAAD,CAAYD,YAAY,WAAWpQ,MAAOsB,EAAM8nF,uBAAwB9+E,SAAUoF,EAAajI,KAAK,2BACpG,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO26E,4BAExC,cAAC5oF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,eACX1I,KAAK,sBACL2I,YAAY,eACZ9F,SAAUoF,EACV1P,MAAOsB,EAAMg9G,oBACb7vG,OAAQnN,EAAMmN,OAAO6vG,wBAG7B,eAAC99G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,mFACA,cAACqzD,GAAA,EAAD,CAAgBroD,UAAW4rB,KAA3B,SACI,eAAC48B,GAAA,EAAD,WACI,cAAC6E,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,qBACA,cAACA,GAAA,EAAD,0BACA,cAACA,GAAA,EAAD,mBACA,cAACA,GAAA,EAAD,0BACA,cAACA,GAAA,EAAD,yBAGR,eAACU,GAAA,EAAD,WACKn0D,EAAM64G,aAAa/yG,KAAI,SAACmL,EAAKgpB,GAC1B,OACI,eAAC25B,GAAA,EAAD,WACI,cAACH,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,SACI,cAAC,IAAD,CACIiQ,QAASuB,EAAImoG,WACbjzG,KAAK,aACL6C,SAAUshB,EAAerZ,EAAIooG,QAC7BtwG,MAAOkI,EAAI9K,SAGnB,cAACstD,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,SAAyCwR,EAAIqoG,oBAC7C,cAAC7lD,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,SACKwR,EAAImsG,WAAa,4CAAInsG,EAAImsG,WAAWh/E,QAAQ,GAAGC,QAAQ,0BAA2B,UAAa,kDAEpG,cAACo1B,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,SACKwR,EAAI4qG,WAAa,4CAAI5qG,EAAI4qG,WAAWz9E,QAAQ,GAAGC,QAAQ,0BAA2B,UAAa,kDAEpG,cAACo1B,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAA3B,SACKwR,EAAIwH,MAAQ,4CAAIxH,EAAIwH,MAAM2lB,QAAQ,GAAGC,QAAQ,0BAA2B,UAAa,oDAjB/EpE,MAsBtBj6B,EAAM64G,aAAatqG,QAAU,GAC1B,cAACqlD,GAAA,EAAD,UACI,cAACH,GAAA,EAAD,CAAW9pD,MAAM,SAASwvG,QAAS,EAAG57G,MAAO,CAAEkC,MAAO,OAAtD,8BADW,cAUnC,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,aAApC,SACI,cAAC,IAAD,CAAiB+Z,YAAalB,EAAW/O,UAAWhL,EAAMi9G,OAAQl/G,QAASw8B,EAA3E,kBAIJ,cAACr7B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,aAApC,SACI,cAAC,IAAD,CAAiBnD,QAAS,kBAAMxB,EAAMO,SAAQ,IAA9C,4B,qBCfLm+C,GA5LC,SAAC1+C,GACb,MAA0BgC,mBAAS,CAC/B8+G,gBAAiB9gH,EAAM4+C,YACvBhuC,OAAQ,GACRpN,cAA6C,WAA9BO,IAAWC,iBAH9B,mBAAOP,EAAP,KAAcxB,EAAd,KAKA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpB5H,EAAaC,iBAAO,IAC1B,EAA0DqK,eAwCpDmxC,GAxCN,EAAQpxC,WAAR,EAAoB6wC,YAApB,EAAiCC,UAAjC,EAA4ClL,UACXh8B,SAAS,YAuCf0V,uBAAY,SAACvhB,GACpC,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,KAEG2P,EAAc,WAChB,IAAQivG,EAAoDt9G,EAApDs9G,aAAcD,EAAsCr9G,EAAtCq9G,gBAAiBE,EAAqBv9G,EAArBu9G,iBACnCjvG,GAAc,EACdnB,EAAS,GAcb,OAbKmwG,IACDnwG,EAAOmwG,aAAe,yBACtBhvG,GAAc,GAEb+uG,IACDlwG,EAAOkwG,gBAAkB,yBACzB/uG,GAAc,GAEbivG,IACDpwG,EAAOowG,iBAAmB,yBAC1BjvG,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGLsrC,EAAa,uCAAG,8BAAAn5C,EAAA,0DACd4N,IADc,uBAEVyrC,EAAW,CACXC,MAAOx9C,EAAMw9C,MACbyjE,kBAAmBjhH,EAAMihH,kBACzBF,aAAct9G,EAAMs9G,aACpBD,gBAAiBr9G,EAAMq9G,gBACvBE,iBAAkBv9G,EAAMu9G,kBAPd,SASEzqD,GAAkBhZ,GATpB,QASV73C,EATU,QAUNoE,SACJyB,EAAiB,0CACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAdT,2CAAH,qDAsBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UAII,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYnD,MAAO,CAAE0X,WAAY,QAAjC,yBACA,cAACvL,GAAA,EAAD,CAAYhK,QAAQ,QAApB,SAA6BnD,EAAMq/C,iBAEvC,eAAC18C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,UACZpQ,MAAOsB,EAAMs9G,aACbt0G,SAAU0yC,EACVv1C,KAAK,eACL6E,SAAUhL,EAAMq2C,aAEpB,cAAC10C,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOmwG,kBAExC,eAACp+G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,IAAD,CAAWmO,YAAY,UAAUpQ,MAAOsB,EAAMq9G,gBAAiBr0G,SAAU0yC,EAAoBv1C,KAAK,qBAClG,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkwG,qBAExC,cAACn+G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,sBAAK3D,MAAO,CAAEC,SAAU,YAAxB,UACI,eAACkD,EAAA,EAAD,CACIC,QAAM,EACN+K,UAAU,SACVnO,MAAO,CACHyD,UAAW,OAJnB,iCAQKhB,EAAMD,cACH,cAACa,EAAA,EAAD,CAASjE,MAAM,wBAAf,SACI,cAAC,IAAD,CAAiBoB,QA3CvB,WAClBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBk7C,mBAAmB,EAAMiiE,iBAAkBj9G,IAAWC,qBA0ChBhD,MAAO,CAAEmK,OAAQ,wBAE9D,QAGR,qBACInK,MAAO,CACHC,SAAU,WACVC,MAAO,GAHf,UAMMuC,EAAMq2C,YACJ,cAACz1C,EAAA,EAAD,CAASjE,MAAM,kBAAf,SACI,cAAC,IAAD,CAAYoB,QA5H1B,WACNiC,EAAMs7C,kBACN98C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk7C,mBAAmB,EACnBiiE,iBAAkB,WAGtBt9G,EAAWa,QAAQC,QACnBvC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELm9G,iBAAkB,kBAsHbv9G,EAAMs7C,kBACH,qBACIr6C,IAAKjB,EAAMu9G,iBACXp8G,IAAI,eACJ5D,MAAO,CACHF,QAAS,QACTqK,OAAQ,SACR61B,OAAQ,kBACRrzB,MAAO,OACPjN,OAAQ,WAIhB,qBAAKiE,UAAU,eAAf,SACI,cAAC,IAAD,CACIG,YAAa,CAAEH,UAAW,UAC1BE,IAAKnB,EACLqB,MAAO,WAjI/B9C,GAAS,SAAC4B,GAKN,OAJS,2BACFA,GADE,IAELm9G,iBAAkBt9G,EAAWa,QAAQU,sBAqIjC,cAACG,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOowG,wBAG5C,cAACr+G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBI,WAAS,EAACuB,UAAU,aAAanD,QAAS67C,EAAe5uC,SAAUhL,EAAMq2C,WAA1F,4BCvLO0H,aAAW,CAC9BC,iBAAkB,CACd5xB,IAAK,GACL7V,KAAM,oBACN9Y,MAAO,oBAEXoa,OAAQ,CACJ,UAAW,CACPgyF,YAAa,YAGrB3rD,UAAW,CACP,UAAW,CACP2rD,YAAa,YAGrB1rD,KAAM,CACF0rD,YAAa,UACb4T,eAAgB,EAChBxxF,aAAc,IAnBC8xB,CAqBpBK,MAE4B72C,YAAW,CACtCE,KAAM,CACFhI,MAAO,UACPpC,QAAS,OACTJ,OAAQ,GACRK,WAAY,UAEhBua,OAAQ,CACJpY,MAAO,WAEXi+G,OAAQ,CACJxzG,MAAO,EACPjN,OAAQ,EACRgvB,aAAc,MACdyS,gBAAiB,gBAErBwf,UAAW,CACPz+C,MAAO,UACP+W,OAAQ,EACRI,SAAU,MA8BQmnC,aAAW,CACjCC,iBAAkB,CACd5xB,IAAK,IAETvU,OAAQ,CACJ,UAAW,CACPomC,gBAAiB,uFAGzBC,UAAW,CACP,UAAW,CACPD,gBAAiB,uFAGzBE,KAAM,CACFlhD,OAAQ,EACRsgC,OAAQ,EACRmB,gBAAiB,UACjBzS,aAAc,IAlBI8xB,CAoBvBK,MAE+B72C,YAAW,CACzCE,KAAM,CACFi3B,gBAAiB,OACjBloB,OAAQ,EACR/W,MAAO,OACPyK,MAAO,GACPjN,OAAQ,GACRI,QAAS,OACT4uB,aAAc,MACd4C,eAAgB,SAChBvxB,WAAY,UAEhBua,OAAQ,CACJomC,gBAAiB,yFACjB3xB,UAAW,gCAEf4xB,UAAW,CACPD,gBAAiB,4FAyCzB,IAAM32C,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFyC,MAAO,QAEXa,OAAQ,CACJ1O,YAAamL,EAAMpI,QAAQ,IAE/Bs/C,aAAc,CACV19C,UAAWwG,EAAMpI,QAAQ,GACzB6/B,aAAcz3B,EAAMpI,QAAQ,QAqBrB,SAASijD,KACpB,IAAMn6C,EAAUZ,KAChB,EAAoC44B,IAAM3hC,SAAS,GAAnD,6BAeA,OACI,qBAAK2C,UAAWgH,EAAQT,OCpMhC,IAsPek2G,GAtPY,SAACphH,GACxB,IAAM4M,EAAiBD,KACvB,EAA0DqB,eAAtC4wC,GAApB,EAAQ7wC,WAAR,EAAoB6wC,aAAwBjL,GAA5C,EAAiCkL,UAAjC,EAA4ClL,WAEtC6b,EAAiB7b,EAAUh8B,SAAS,gBAEpC0pG,GADa1tE,EAAUh8B,SAAS,YACnBg8B,EAAUh8B,SAAS,aAEtC,EAA0B3V,mBAAS,CAC/Bs/G,yBAAyB,EACzBC,sBAAsB,EACtBC,kBAAkB,EAClBvmC,YAAa,GACbp+B,YAAa,GACbokE,kBAAmB,GACnBQ,qBAAqB,EACrBC,eAAe,EACf9wG,OAAQ,KATZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAYA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELo3E,YAAaj7E,EAAM8tF,WAAW7S,YAAcphE,KAAO7Z,EAAM8tF,WAAW7S,aAAanhE,OAAO,oBAAsB,GAC9G6nG,cAAgD,OAAjC3hH,EAAM8tF,WAAWY,aAAyD,OAAjC1uF,EAAM8tF,WAAWY,YACzE7xC,YAAa78C,EAAM8tF,WAAW8zB,eAAiB/nG,KAAO7Z,EAAM8tF,WAAW8zB,gBAAgB9nG,OAAO,oBAAsB,GACpH4nG,gBAAe1hH,EAAM8tF,WAAW8zB,eAChCX,kBAAmBjhH,EAAM8tF,WAAW+zB,eAAiBhoG,KAAO7Z,EAAM8tF,WAAW+zB,gBAAgB/nG,OAAO,oBAAsB,GAC1H2nG,sBAAqBzhH,EAAM8tF,WAAW+zB,eACtC71D,YAAYwD,IAAkB6xD,OAT5B,2CAWP,CAACrhH,EAAM8tF,aACV,MAA6CrsF,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpB4tC,EAAmB,SAACptC,GACtB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGjCm3C,EAAc,SAACwoE,GAEjB,IAAIlxG,EAAS,GACO,2BAAhBkxG,EACKr+G,EAAMo5C,YAIP56C,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,uBAEJi+G,GAAe,GAFX,kCAGc,oBAHd,kIAKGlxG,GALH,QAHTA,EAAOisC,YAAc,iCACrB56C,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,QAUtB,wBAAhBkxG,EACFr+G,EAAMw9G,kBAIPh/G,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,uBAEJi+G,GAAe,GAFX,kCAGc,qBAHd,oHAKGlxG,GALH,QAHTA,EAAOqwG,kBAAoB,oCAC3Bh/G,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,QAUtB,oBAAhBkxG,IACFr+G,EAAMw3E,YAIPh5E,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,uBAEJi+G,GAAe,GAFX,uBAGGlxG,GAHH,QAHTA,EAAOqqE,YAAc,iCACrBh5E,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,UAU/C8hE,EAAqB,SAAChtE,GACxBA,GAAO1F,EAAM05G,gBACbz3G,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELy9G,yBAAyB,EACzBC,sBAAsB,EACtBC,kBAAkB,QAIpBpuC,EAAU,uCAAG,8BAAAlvE,EAAA,0DAEXT,EAAM69G,wBAFK,uBAGX/jE,EAAW,CACPC,MAAOx9C,EAAMw9C,MACbX,YAAap5C,EAAMo5C,YACnB9mB,eAAgB/1B,EAAM8tF,WAAW/wC,mBAN1B,SASK4Z,GAAiBpZ,GATtB,QASP73C,EATO,QAUHoE,SACJyB,EAAiB,iCACjBmnE,GAAmB,IAEnBpnE,EAAe5F,EAAIyG,SAdZ,2CAAH,qDA+ChB,OAEI,cADA,CACCxJ,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAA9B,UACI,cAAC,GAAD,IACA,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjwB,WAAW,SAAnD,SACI,eAAC4B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CACImO,YAAY,OACZpQ,MAAOsB,EAAMw3E,YACbxuE,SAAUysC,EACVtvC,KAAK,cAEL6E,SAAUhL,EAAMk+G,eAAiBl+G,EAAMuoD,aAE3C,cAAC5mD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOqqE,iBAExC,cAACt4E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAO,CAAE8B,QAAS,mBAAoB6S,YAAa,GAArE,SACI,cAACtR,EAAA,EAAD,CAASjE,MAAM,8BAAf,SACI,cAAC+Z,EAAA,EAAD,CAAYC,aAAW,SAASpZ,MAAO,CAAE8B,QAAS,OAAS2L,SAAUhL,EAAMk+G,eAAiBl+G,EAAMuoD,WAAlG,SACI,cAAC,KAAD,CAAYxqD,QAAS,kBAAM83C,EAAY,kCAM3D,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjwB,WAAW,SAAnD,SACI,eAAC4B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kCACA,cAAC,IAAD,CACImO,YAAY,OACZpQ,MAAOsB,EAAMo5C,YACbpwC,SAAUysC,EACVtvC,KAAK,cAEL6E,SAAUhL,EAAMi+G,eAAiBj+G,EAAMuoD,aAE3C,cAAC5mD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOisC,iBAExC,cAACl6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAO,CAAE8B,QAAS,mBAAoB6S,YAAa,GAArE,SACI,cAACtR,EAAA,EAAD,CAASjE,MAAM,8BAA8B2hH,UAAU,SAAvD,SACI,cAAC5nG,EAAA,EAAD,CAAYC,aAAW,SAASpZ,MAAO,CAAE8B,QAAS,OAAS2L,SAAUhL,EAAMi+G,eAAiBj+G,EAAMuoD,WAAlG,SACI,cAAC,KAAD,CAAYxqD,QAAS,kBAAM83C,EAAY,yCAM3D,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGjwB,WAAW,SAAnD,SACI,eAAC4B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAAC,IAAD,CACImO,YAAY,OACZpQ,MAAOsB,EAAMw9G,kBACbx0G,SAAUysC,EACVtvC,KAAK,oBAEL6E,SAAUhL,EAAMg+G,qBAAuBh+G,EAAMuoD,aAEjD,cAAC5mD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOqwG,uBAExC,cAACt+G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAO,CAAE8B,QAAS,mBAAoB6S,YAAa,GAArE,SACI,cAACtR,EAAA,EAAD,CAASjE,MAAM,sCAAf,SACI,cAAC+Z,EAAA,EAAD,CAAYC,aAAW,SAASpZ,MAAO,CAAE8B,QAAS,OAAS2L,SAAUhL,EAAMg+G,qBAAuBh+G,EAAMuoD,WAAxG,SACI,cAAC,KAAD,CAAYxqD,QAAS,kBAAM83C,EAAY,sCAM1D71C,EAAM69G,wBACH,cAACnhH,GAAA,EAAD,CAAYC,MAAOqD,EAAMu+G,kBAAmBzhH,QAAS,kBAAMmyE,GAAmB,IAAQlyE,SAAS,KAAK4C,WAAS,EAA7G,SACI,cAACgmD,GAAD,CACIj9C,QAAS1I,EAAMw+G,iBACf54D,aAAc,kBAAMqpB,GAAmB,IACvC9kD,aAAcwlD,EACdhzE,MAAOqD,EAAMu+G,sBAGrB,KACHv+G,EAAM89G,qBACH,cAACphH,GAAA,EAAD,CAAYC,MAAOqD,EAAMu+G,kBAAmBzhH,QAAS,kBAAMmyE,GAAmB,IAAQlyE,SAAS,KAAK4C,WAAS,EAA7G,SACI,cAAC,GAAD,CACIo6C,MAAOx9C,EAAMw9C,MACbswC,WAAY9tF,EAAM8tF,WAClBmzB,kBAAmBx9G,EAAMw9G,kBACzBriE,YAAaA,EACbS,YAAazyC,EAAeg5C,uCAGpC,KACHniD,EAAM+9G,iBACH,cAACrhH,GAAA,EAAD,CAAYC,MAAO,eAAgBG,QAAS,kBAAMmyE,GAAmB,IAAQlyE,SAAS,KAAK4C,WAAS,EAApG,SACI,cAAC,GAAD,CACI7C,QAAS,kBAAMmyE,GAAmB,IAClCuI,YAAax3E,EAAMw3E,YACnBz9B,MAAOx9C,EAAMw9C,MACbk8D,cAAe15G,EAAM05G,kBAG7B,SAOVwI,GAAmB,SAACliH,GACtB,MAA0BgC,mBAAS,CAAE4O,OAAQ,GAAIuqE,cAAe,KAAhE,mBAAO13E,EAAP,KAAcxB,EAAd,KACA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAc1B1H,oBAAS,sBAAC,8BAAAM,EAAA,sEACiBslC,KADjB,OACF4xC,EADE,OAEFD,EAAgBC,EAAW/0E,KAAK4V,KAAK1S,KAAI,SAACgoB,GAAD,MAAQ,CACjDlwB,GAAIkwB,EAAE+X,yBACN1/B,KAAM2nB,EAAEgY,sCAGZtnC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELs3E,cAAeA,OATb,2CAWP,IAEH,IAAMvtD,EAAY,uCAAG,8BAAA1pB,EAAA,6DACbq5C,EAAW,CACX+9B,aAAc73E,EAAM63E,aACpBJ,gBAAiBz3E,EAAMy3E,gBACvBD,YAAaj7E,EAAMi7E,YACnBz9B,MAAOx9C,EAAMw9C,OALA,SAODgZ,GAAejZ,GAPd,QAOb73C,EAPa,QAQToE,SACJyB,EAAiB,iCAEjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAbN,2CAAH,qDAiBlB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,eAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CAAWwF,KAAK,kBAAkBzH,MAAOsB,EAAMy3E,iBAAmB,IAAKzuE,SA5CzD,SAACkG,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAwCgGsQ,KAAMhP,EAAM03E,gBAChH,cAAC/1E,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOsqE,qBAExC,cAACv4E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAAC,IAAD,CACIwtB,WAAS,EACTzQ,KAAM,EACNpP,WAAW,UACXC,YAAY,UACZhG,WAAW,EACXpK,MAAOsB,EAAM63E,aACb1xE,KAAK,eACL6C,SA5DS,SAACX,GACtB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QA2DvByO,OAAQnN,EAAMmN,OAAO0qE,iBAG7B,eAAC34E,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASosB,EAA1B,mBAEJ,cAACjrB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASxB,EAAMO,QAAhC,6BC9Ud2pD,GAAgB,SAAClqD,GACnB,MAA6DA,EAAMoqD,KAAlDxgD,GAAjB,EAAQ4iF,QAAR,EAAiB5iF,MAAM0gD,EAAvB,EAAuBA,YAAan+C,EAApC,EAAoCA,QAASg2G,EAA7C,EAA6CA,YAC7C,OACI,mCACI,sBAAKx9G,UAAU,cAAf,UACI,qBAAKA,UAAU,MAAM3D,MAAO,CAAEqZ,SAAU,GAAI8vC,UAAW,UAAvD,SACKh+C,IAEL,qBAAKnL,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,OAAQ60C,MAAO,QAA1F,SACK6yD,EAActoG,KAAOsoG,GAAaroG,OAAO,OAAS,MAEvD,sBAAKnV,UAAU,SAAS3D,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,QAAS60C,MAAO,SAA9G,UACK1lD,EADL,MACc0gD,EAAczwC,KAAOywC,GAAaxwC,OAAO,OAAS,OAEhE,uBACA,oBAAI9Y,MAAO,CAAE0pD,QAAS,eA+DvB03D,GA1DU,SAACpiH,GAAW,IAAD,EAChC,EAA0BgC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,KAHrB,mBAAOlwB,EAAP,KAAcxB,EAAd,KAKA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,CAAC5hB,EAAM43G,oBAEV,IAAMh2F,EAAW,uCAAG,4BAAA1d,EAAA,sEACAy7E,GAAmB3/E,EAAMomD,OADzB,OACZ1gD,EADY,OAEhBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2H,YAAY,EACZyQ,KAAMvW,EAAIW,KAAK4V,UALH,2CAAH,qDASjB,OACI,iCAGMjc,EAAMqiH,iBACJ,cAAC1/G,EAAA,EAAD,CACIC,WAAS,EACTI,GAAI,GACJ2B,UAAU,wBACV0T,QAAQ,gBACRrX,MAAO,CAAEgwD,cAAe,MAAO3S,WAAY,MAAOiT,aAAc,OALpE,SAOI,cAAC3uD,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,6BAOZ,cAACP,EAAA,EAAD,CACII,MAAI,EACJC,GAAI,GACJhC,MAAO,CACH8B,QAAS,MAETpC,OAAQV,EAAMU,QAAU,QACxBD,SAAU,QAEdkE,UAAU,2BATd,mBAWKlB,EAAMwY,YAXX,aAWK,EAAY1S,KAAI,SAAC8zB,EAAGK,GAAJ,OACb,cAAC,GAAD,CAAuB0sB,KAAM/sB,GAATK,YCoezB4kF,ICrJAC,GAvYS,SAACviH,GAAW,IAAD,EAC3Bm7B,EAAiBp3B,IAAW+sB,gBAEhC,EAAoC9uB,mBAAS,CACzCy9E,WAAY,GACZ+iC,UAAW,GACXrI,iBAAiB,EACjBp9D,kBAAmB,GACnB7I,YAAa,GACbD,aAAc,GACd45C,aAAc,KAPlB,mBAAOC,EAAP,KAAmBC,EAAnB,KASA,EAAwC/rF,mBAAS,CAAE02B,cAAe,GAAIie,OAAQ,GAAI8rE,SAAU,KAA5F,mBAAOC,EAAP,KAAqBC,EAArB,KACA,EAA4B3gH,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpBuD,EAAU8b,eAChB,EAAsC3oB,mBAAS,CAC3C4gH,uBAAwB,KACxBC,gBAAiB,KACjBC,eAAgB,OAHpB,mBAAO9kG,EAAP,KAAoBC,EAApB,KAKM8kG,EAAgB,uCAAG,4BAAA7+G,EAAA,sEACLgyD,GAAmBl2D,EAAMwG,WADpB,cACjBd,EADiB,yBAEdA,EAAIW,MAFU,2CAAH,qDAKhBmpD,EADgBxhD,eAAd2lC,UACyBh8B,SAAS,gBAEpCqrG,EAAQ,uCAAG,gCAAA9+G,EAAA,sEACG+xD,GAAkBj2D,EAAMq7E,eAD3B,OACT31E,EADS,OAET0vD,EAAO1vD,EAAIW,KAAK4V,MAChB5V,GAAW,OAAJ+uD,QAAI,IAAJA,OAAA,EAAAA,EAAMpjD,QAAS,EAAItM,EAAIW,KAAK4V,KAAK,GAAKvW,EAAIW,KAAK4V,OAEtD8xE,GAAc,SAAClqF,GAAD,mBAAC,eACRA,GADO,IAEV25C,MAAOn3C,EAAKm3C,MACZmvC,gBAAiBtmF,EAAKsmF,gBACtBqB,aAAch+E,IAAWgqD,kBAAkB3zD,EAAKymF,SAChDmB,cAAe5nF,EAAK6nF,WACpBxO,mBAAoBr5E,EAAKq5E,oBAAsB,GAC/CyO,iBAAkB9nF,EAAK8nF,kBAAoB,GAC3CC,kBAAmB/nF,EAAK+nF,mBAAqB,GAC7CC,SAAUhoF,EAAKgoF,UAAY,GAC3B7O,gBAAiBn5E,EAAKm5E,iBAAmB,GACzC8O,eAAgBjoF,EAAKioF,gBAAkB,GACvCC,WAAYloF,EAAKkoF,YAAc,GAC/B9O,WAAYp5E,EAAKo5E,YAAc,GAC/B+iC,UAAWn8G,EAAKm8G,WAAa,GAC7BzlE,kBAAmB12C,EAAK02C,mBAAqB,GAC7CyxC,aAAcnoF,EAAKmoF,aACnBX,aAAcxnF,EAAKwnF,aACnB35C,YAAa7tC,EAAK6tC,YAClBD,aAAc5tC,EAAK4tC,aACnBw6C,iBAAkBpoF,EAAKooF,iBACvBC,YAAaroF,EAAKqoF,YAClB6rB,gBAAiBvqG,IAAW6jC,cAAcxtC,EAAKk0G,iBAC/CD,WAAYj0G,EAAKi0G,WACjBztB,mBAAoBxmF,EAAKwmF,mBACzBo2B,YAAa58G,EAAK48G,YAClB7mE,iBAAkB/1C,EAAK+1C,iBACvB1lC,UAAWrQ,EAAKqQ,UAChByjG,gBAAiB9zG,EAAK8zG,gBACtBltE,aAAc5mC,EAAKoQ,oBACnBmhG,kBAAmB,IAAI1jG,KACvB6xC,eAAgB1/C,EAAK0/C,eACrBhyC,UAAW1N,EAAK0N,eArCX,2CAAH,qDA0CdnQ,oBAAS,sBAAC,4BAAAM,EAAA,6DACN8+G,IADM,SAEgBD,IAFhB,OAEFG,EAFE,OAGNP,EAAgBO,GAHV,2CAIP,IAEH,IAAMxJ,EAAgB,SAACh0G,GACnBA,GAAOqoF,GAAc,SAAClqF,GAAD,mBAAC,eAAaA,GAAd,IAAkB+zG,kBAAmB,IAAI1jG,UAC9DxO,GAAOs9G,KAGXp/G,qBAAU,WAAO,IAAD,MACRi8B,EAAQ,GAERiuD,EAAW/wC,oBAAqB,UAAA2lE,EAAahqF,qBAAb,eAA4B1mB,QAAS,IACrE6tB,EAAM+iF,uBAAyBF,EAAahqF,cAAcllB,MAAK,qBAAGnS,KAAgBysF,EAAW/wC,sBAE7F+wC,EAAWrO,aAAc,UAAAijC,EAAa/rE,cAAb,eAAqB3kC,QAAS,IACvD6tB,EAAMgjF,gBAAkBH,EAAa/rE,OAAOnjC,MAAK,qBAAGnS,KAAgBysF,EAAWrO,eAE/EqO,EAAW00B,YAAa,UAAAE,EAAaD,gBAAb,eAAuBzwG,QAAS,IACxD6tB,EAAMijF,eAAiBJ,EAAaD,SAASjvG,MAAK,qBAAGnS,KAAgBysF,EAAW00B,cAEpFvkG,GAAe,SAACpa,GAAD,mBAAC,eACTA,GACAg8B,QAER,CAACiuD,EAAW/wC,kBAAmB+wC,EAAWrO,WAAYijC,EAAa/rE,OAAQm3C,EAAW00B,UAAWE,EAAaD,SAAUC,EAAahqF,gBAExI,IAAMsuE,EAAU,CACZ,CACIx6F,MAAO,kBACPyqD,KAAM,cAAC,GAAD,CAAgBzwD,UAAWxG,EAAMwG,UAAWoxG,kBAAmB9pB,EAAW8pB,sBAelFt+C,EAAW,WACb,IAAIC,GAAW,EACXC,EAAM,GA+BV,OA9BKx7C,EAAY6kG,kBACbrpD,EAAIimB,YAAa,EACjBlmB,GAAW,GAEVv7C,EAAY8kG,iBACbtpD,EAAIgpD,WAAY,EAChBjpD,GAAW,GAEVv7C,EAAY4kG,yBACbppD,EAAIzc,mBAAoB,EACxBwc,GAAW,IAUVu0B,EAAWO,SAAW,IACvB70B,EAAI60B,UAAW,EACf90B,GAAW,IAEVu0B,EAAWS,WAAa,IACzB/0B,EAAI+0B,YAAa,EACjBh1B,GAAW,GAGfL,EAAUM,GACHD,GAGLt1D,EAAU,uCAAG,kCAAAC,EAAA,0DACXo1D,IADW,gCAEUnD,GAAe,CAChC3Y,MAAOx9C,EAAMq7E,cACbt+B,kBAAiB,UAAE/+B,EAAY4kG,8BAAd,aAAE,EAAoCvhH,GACvDo+E,WAAU,UAAEzhE,EAAY6kG,uBAAd,aAAE,EAA6BxhH,GACzCmhH,UAAS,UAAExkG,EAAY8kG,sBAAd,aAAE,EAA4BzhH,GACvCq+E,mBAAoBoO,EAAWpO,oBAAsB,KACrDyO,iBAAkBL,EAAWK,kBAAoB,KACjDC,kBAAmBN,EAAWM,mBAAqB,KACnDC,SAAUP,EAAWO,UAAY,KACjC7O,gBAAiBsO,EAAWtO,iBAAmB,KAC/C+O,WAAYT,EAAWS,YAAc,KACrCD,eAAgBR,EAAWQ,gBAAkB,OAbtC,QAEPn3E,EAFO,QAgBPA,EAASrN,QAAUyB,EAAiB,oCAAsCD,EAAe6L,EAAShL,SAAW,wBAE7Gb,EAAe,wBAlBR,2CAAH,qDAuBVouD,EAAe,SAACl7C,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd+hF,GAAc,SAAClqF,GAAD,mBAAC,eACRA,GADO,kBAETwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,KAGRj5C,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SAGrCqtG,EAAmB,WACrBvqG,EAAQ8qG,UAEN/qB,EACFd,EAAW55C,aAAe45C,EAAW75C,aAArC,YACW65C,EAAW55C,YAAc45C,EAAW55C,YAAc,GAD7D,YACmE45C,EAAW75C,aAAe65C,EAAW75C,aAAe,GADvH,KAEM,GAOV,OACI,sBAAKtvC,UAAU,oBAAoB3D,MAAO,CAAE8B,QAAS,OAArD,UACI,cAAC,GAAD,CAAamjD,SAAS,OAAOW,eAAgB5mD,EAAMq7E,gBACnD,eAAC14E,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,QAA1B,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIhC,MAAO,CAAEmhC,gBAAiB,UAAWr/B,QAAS,SAA3E,UACI,eAACH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UAAwC,OAAV2qF,QAAU,IAAVA,OAAA,EAAAA,EAAYnB,kBAAmB,QAEjE,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWE,kBAE7C,eAACrrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAW7gD,kBAE7C,eAACtqC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UACA,sBAAM3B,QA3BK,SAACuK,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BtzB,EAAMwG,WAC3CqJ,OAAQ,MAwBmC7O,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA3F,SACSo1E,EAAWD,eAEfe,QAGT,eAACjsF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWW,sBAE7C,eAAC9rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,UACI,cAAC3rB,EAAA,EAAD,oBACA,eAAC+H,GAAA,EAAD,CAAYhK,QAAQ,SAASnC,MAAO,CAAEqZ,SAAU,GAAI3B,WAAY,OAAQxV,MAAO,SAA/E,2BACM4qF,EAAWG,qBADjB,aACM,EAA0BpsD,QAAQ,GAAGC,QAAQ,0BAA2B,kBAK1F,cAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEyD,UAAW,GAAvC,SACI,cAACwtB,GAAA,EAAD,CAAO1Z,KAAM,cAAC,KAAD,CAAU8B,SAAS,YAAc6X,SAAS,UAAUvtB,UAAU,cAA3E,SACKmpF,EAAW/nC,mBAGpB,eAACpjD,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,UAAW,GAAhD,UACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIguB,GAAI,EAAjC,UACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqV,QAAQ,gBAAgBrX,MAAO,CAAEq9C,WAAY,OAAS15C,UAAU,uBAA7F,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,eAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,wBAEI,sBAAMlC,MAAO,CAAEC,SAAU,WAAY4uB,IAAK,OAAQ7V,KAAM,OAAxD,SACI,cAAC,KAAD,CACIlG,SAAU9T,EAAMq7E,cAChBpnE,uBAAuB,YACvBF,UAAW+5E,EAAW/5E,UACtB6B,WAAY,kBAAM8jG,GAAc,aAKhD,cAAC/2G,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAE8B,QAAS,mBAA7B,SACKgrF,EAAWW,kBACR,cAAC,GAAD,CACIirB,cAAeA,EACfz1G,WAAYA,EACZuC,UAAWxG,EAAMwG,UACjBvF,SAAUjB,EAAMiB,SAChB08C,OAAQmwC,EAAWY,YACnBroF,KAAMynF,EACNtwC,MAAOx9C,EAAMq7E,cAAgBr7E,EAAMq7E,cAAgByS,EAAWtwC,MAC9D47D,iBAAkBA,EAClBa,UAAU,EACVH,QAAQ,OACRE,gBAAgB,EAChBD,qBAAqB,SAMrC,eAACp3G,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAEq9C,WAAY,QAAU15C,UAAU,uBAAzD,UAC+B,MAA1BmpF,EAAWY,aAAuBZ,EAAWm1B,YAC1C,cAAC,GAAD,CAAgBn1B,WAAYA,IAE5B,eAACnrF,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGpsB,UAAU,mBAA5C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CACIqa,QAASikG,EAAahqF,cACtBv2B,MAAO6b,EAAY4kG,uBACnBn2G,SAAUwT,EAAmB,0BAC7BxR,SAAU+gD,GAAkBxvD,EAAMq7E,gBAEtC,cAACj2E,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOmsC,kBAAoB,yBAA2B,UAGjF,eAACp6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CACIqa,QAASikG,EAAaD,SACtBtgH,MAAO6b,EAAY8kG,eACnBr2G,SAAUwT,EAAmB,oBAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO4xG,UAAY,yBAA2B,UAEzE,eAAC7/G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,uBAGA,cAAC,IAAD,CACIqa,QAASikG,EAAa/rE,OACtBx0C,MAAO6b,EAAY6kG,gBACnBp2G,SAAUwT,EAAmB,qBAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO6uE,WAAa,yBAA2B,UAE1E,eAAC98E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIze,WAAW,cACX5F,KAAK,SACLvK,MAAO2rF,EAAWO,UAAY,GAC9BzkF,KAAK,WACL6C,SAAUitD,EACVjrD,UAAW0sB,EAAc,oBAE7B,cAAC/1B,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOy9E,SAAW,iCAAmC,UAEhF,eAAC1rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BACA,cAAC,IAAD,CACI8sB,WAAY,CACR6oB,KAAK,IAAI7lC,MAAOkd,cAAcC,MAAM,EAAG,KAE3ClvB,MAAO0X,KAAOi0E,EAAWQ,gBAAgBx0E,OAAO,cAChDlQ,KAAK,iBACL6C,SAAUitD,IAEd,cAACt0D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO09E,eAAiB,iCAAmC,UAGtF,eAAC3rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIze,WAAW,cACX5F,KAAK,SACLvK,MAAO2rF,EAAWS,WAClB3kF,KAAK,aACL6C,SAAUitD,IAEd,cAACt0D,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO29E,WAAa,iCAAmC,aAI1F,cAAC5rF,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEgwD,cAAe,OAArD,SACK88B,EAAWW,kBACR,cAAC,GAAD,CACIirB,cAAeA,EACfz1G,WAAYA,EACZuC,UAAWxG,EAAMwG,UACjBvF,SAAUjB,EAAMiB,SAChB08C,OAAQmwC,EAAWY,YACnBroF,KAAMynF,EACNtwC,MAAOx9C,EAAMq7E,cAAgBr7E,EAAMq7E,cAAgByS,EAAWtwC,MAC9D47D,iBAAkBA,EAClBa,UAAU,EACVF,qBAAqB,YAWzC,cAACp3G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,EAAGhwB,MAAO,CAAEq9C,WAAY,OAA/C,SACI,cAAC17C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAASq4F,QArRpB,WACT,IAAMv/E,EAAQ,UAAOkrF,GAOrB,OANKx3C,GACD1zC,EAAS4f,OAAO,EAAG,EAAG,CAClBlvB,MAAO,UACPyqD,KAAM,cAAC,GAAD,CAAYzZ,MAAOx9C,EAAMq7E,cAAeu8B,kBAAmB9pB,EAAW8pB,sBAG7E97F,EA6Q+Bi/E,mBCvWxCooB,I,QAAqB,CACvB,CAAEv5G,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YAAa0R,QAAQ,KAG3B4tD,GAAa,CACf,CAAEt/D,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YAAayR,KAAM,IAAKC,QAAQ,IAItCT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CAAExG,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,KACtD,CAAES,IAAK,oBAAqBxE,KAAM,QAAS+D,MAAO,KAClD,CAAES,IAAK,iBAAkBxE,KAAM,WAAY+D,MAAO,IAClD,CAAES,IAAK,kBAAmBxE,KAAM,MAAO+D,MAAO,IAC9C,CAAES,IAAK,+BAAgCxE,KAAM,YAAa+D,MAAO,IACjE,CAAES,IAAK,cAAexE,KAAM,SAAU+D,MAAO,KAC7C,CAAES,IAAK,yBAA0BxE,KAAM,YAAa+D,MAAO,KAC3D,CAAES,IAAK,sBAAuBxE,KAAM,WAAY+D,MAAO,KACvD,CAAES,IAAK,YAAaxE,KAAM,QAAS+D,MAAO,KAC1C,CAAES,IAAK,YAAaxE,KAAM,SAC1B,CAAEwE,IAAK,wBAAyBxE,KAAM,SAAU+D,MAAO,MAErD2M,GAAiB,CACnBmiE,SAAU,CACNr7E,OAAQ,UACR+oD,UAAW,SACXuyB,mBAAoB,aAExBC,cAAe,IC3EJymC,GD6Ea,SAACpjH,GAAW,IAAD,IAG/Bm7B,EAAiBp3B,IAAW+sB,gBAEhC,EAA0B9uB,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBjS,KAAM,GACNinB,OAAO,EACP06E,aAAc,GACdC,UAAW,GACX37C,YAAY,EACZ37B,SAAU,GACVC,OAAQ,GACRgwC,gBAAgB,IAXpB,mBAAOx4E,EAAP,KAAcxB,EAAd,KAcA,EAAgCD,mBAAS,MAAzC,mBACI6M,GADJ,UACc8b,gBAGR6kC,EADgBxhD,eAAd2lC,UACyBh8B,SAAS,gBACpC23E,EAAM9/B,EAAiB,IAAM,IAEnC,EAA6C/tD,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B,EAAoCtJ,mBAAS,IAA7C,mBAAOk6E,EAAP,KAAmBC,EAAnB,KAEAv4E,oBAAS,sBAAC,oCAAAM,EAAA,sDACF8nC,EAAW,GACXC,EAAS,GACT30B,EAAMtX,EAAMgP,SAASskB,SACrB6oE,EAAW7kF,EAAI8kF,YAAY,KAAO,EAClC9wD,EAAW,GACO,MAAlBh0B,EAAI6kF,SAAuC73F,IAAlBgT,EAAI6kF,IAA6C,OAAlB7kF,EAAI6kF,IAC5D7wD,EAAW,GACXU,EAAWnyB,OAAS82F,QAAQ,SAAS72F,OAAO,cAC5CmyB,EAASpyB,OAAS0pG,MAAM,SAASzpG,OAAO,eAExCwxB,EAAWh0B,EAAI6kF,GAEnBl6F,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELynC,SAAUA,EACVU,SAAUA,EACVC,OAAQA,OAEZrqB,IAnBM,2CAoBP,CAAC5hB,EAAMgP,SAASskB,WAEnB,IAAM1R,EAAW,uCAAG,sBAAA1d,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAsBXyH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,gCAuCqC,IAA7B,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKkoE,0BAAgCzhD,EAAc,kBAChD,cAAC,KAAD,CACI5iB,KAAMskE,KACNl4E,UAAU,oBACVnD,QAAS,WACLs7E,EAAYpoE,EAAK,+BAErBiE,aAAa,uBA0BO,OAAxB,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKqoE,qBAAL,OAAkC5hD,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAgB6pB,cAC/C,cAAC,KAAD,CAAkBzsC,KAAM0sC,KAAUtgD,UAAU,mBAAmBgU,aAAa,cAAcnX,QAAS,kBAnF1FuK,EAmFgH2I,OAlFrI1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKsvE,cAAnC,mBAAoDtvE,QAApD,IAAoDA,OAApD,EAAoDA,EAAKqwE,mBACjEvsE,OAAQ,GACRpM,MAAO6rF,IAJS,IAACvjF,KAiGoB,OAA7B,OAAH2I,QAAG,IAAHA,OAAA,EAAAA,EAAKyoE,yBAAkChiD,EAAc,oBAClD,cAAC,KAAD,CACI5iB,KAAM2sC,IACNhiD,MAAM,YACNyB,UAAU,6BACVnD,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8jE,YAAY,EAAMthE,KAAMqO,QAEvDiE,aAAa,4CAO3B0kE,EAAgB,SAAC5wC,GACnB,OAAOA,EAAO5yB,KAAO4yB,GAAM3yB,OAAO,cAAgB,SAGhD0iE,EAA0B,uCAAG,8BAAAt4E,EAAA,6DAC3BmC,EAAO,CACP+1E,kBAAmB34E,EAAM4C,KAAK+1E,kBAC9BxvD,gBAAiBnpB,EAAM4C,KAAKumB,gBAC5BqvD,eAAgBx4E,EAAMw4E,eACtBxjB,WAAYh1D,EAAM4C,KAAKoyD,YALI,SAOfnd,GAAiCj1C,GAPlB,QAO3BX,EAP2B,QAQvBoE,SACJyB,EAAiB,+BACjBtJ,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8jE,YAAY,OACvC/lD,KAEAtW,EAAe5F,EAAIyG,SAbQ,2CAAH,qDAiB1B6xE,EAAmB,SAAC,GAAqB,IAAnBtpE,EAAkB,EAAlBA,IAClBoG,GADoC,EAAbjG,OACjBW,SAASC,cAAc,SAC/BwoE,EAAYjuE,IAAWkuE,kBAAkBxpE,EAAIopE,uBAAwBppE,EAAIgkD,gBAAiBhkD,EAAIwlE,UAC5FiE,EAAUzpE,EAAIgkD,gBAChB1lC,EAA2C,OAAjC,OAAHte,QAAG,IAAHA,OAAA,EAAAA,EAAK0pE,6BAAsCjjD,EAAc,mBAS9DngB,EACF,qBACIha,MAAO,CACHkC,MAAM,GAAD,OAAK+6E,GACVvlE,WAAY,OACZtX,OAAQ4xB,EAAO,UAAY,GAC3Bm3B,UAAWn3B,EAAO,SAAW,GAC7B0pD,mBAAoB1pD,EAAO,YAAc,IAE7CxxB,QAAS,kBAAOwxB,OAhBpB/wB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiBjf,EACjBi0B,OAAO,OAY+B,IAR1C,SAUK00C,EAAcc,KAIvB,OADApoE,IAASC,OAAOgF,EAAKF,GACdA,GAWL8Y,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAnBMuK,EAmBmB2I,OAlB3C7F,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIqwE,mBACzCvsE,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAJL,IAAChI,GAmByB/K,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAI8B,mBAIb,OADAT,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI+B,sBAIb,OADAV,IAASC,OAAOgF,EAAKF,GACdA,GAGL8uD,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA/G,SACKhE,EAAI+1C,YAIb,OADA10C,IAASC,OAAOgF,EAAKF,GACdA,GAELmmE,EAAkB,SAAC,EAAc7qE,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,mBAAmB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAlH,SACKhE,EAAIgC,YAIb,OADAX,IAASC,OAAOgF,EAAKF,GACdA,GAGL0oG,EAAmB,SAAC99G,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAELhD,MAAM,EACNg9C,aAAa,EACb/pB,mBAAmB,EACnB49B,gBAAgB,EAChBytB,4BAA4B,GANvB,kBAOW,OAEpBz5E,GAAOkc,KAsDL07D,EACF,SAACC,GAAD,OACA,WAAennE,GAAU,IAAtB1B,EAAqB,EAArBA,IACOoG,GADc,EAAhB2Y,IACQje,SAASC,cAAc,SAC7BuF,EAxDS,SAACjP,EAAK2I,GACzB,MAAY,sBAAR3I,EAEI,qBACIvK,QAAS,iBAA6B,OAAnB,OAAHkT,QAAG,IAAHA,OAAA,EAAAA,EAAK8oE,gBAA2B,OAAH9oE,QAAG,IAAHA,OAAA,EAAAA,EAAK+oE,QAAS,EAAIX,EAAYpoE,EAAK,SAAW,IAC3F1T,MAA6B,OAAnB,OAAH0T,QAAG,IAAHA,OAAA,EAAAA,EAAK8oE,gBAA2B,OAAH9oE,QAAG,IAAHA,OAAA,EAAAA,EAAK+oE,QAAS,EAAInjE,GAAemiE,SAAWniE,GAAeqiE,cAFnG,SAIKjoE,EAAImY,oBAGE,iCAAR9gB,EAEH,qBACI/K,MAAsC,OAA5B,OAAH0T,QAAG,IAAHA,OAAA,EAAAA,EAAKgpE,uBAAgCpjE,GAAemiE,SAAWniE,GAAeqiE,cACrFn7E,QAAS,iBAAsC,OAA5B,OAAHkT,QAAG,IAAHA,OAAA,EAAAA,EAAKgpE,uBAAgCZ,EAAYpoE,EAAK,UAAY,IAFtF,SAIoC,OAA5B,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKgpE,wBAAiChpE,EAAI22D,6BACrCgS,EAAc3oE,EAAI22D,8BACa,OAA5B,OAAH32D,QAAG,IAAHA,OAAA,EAAAA,EAAKgpE,uBACL,UACAL,EAAc3oE,EAAI22D,gCAGjB,gBAARt/D,EAEH,qBACI/K,MAA+B,OAArB,OAAH0T,QAAG,IAAHA,OAAA,EAAAA,EAAKipE,iBAAyD,OAA5B,OAAHjpE,QAAG,IAAHA,OAAA,EAAAA,EAAKkpE,uBAAgCtjE,GAAemiE,SAAWniE,GAAeqiE,cACpHn7E,QAAS,iBACmB,OAArB,OAAHkT,QAAG,IAAHA,OAAA,EAAAA,EAAKipE,gBAAyBb,EAAYpoE,EAAK,WAA4C,OAA5B,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKkpE,uBAAgCd,EAAYpoE,EAAK,UAAY,IAHtI,SAMoC,OAA5B,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKkpE,uBACAP,EAAc3oE,EAAIumE,aACM,OAArB,OAAHvmE,QAAG,IAAHA,OAAA,EAAAA,EAAKipE,gBACL,WACAN,EAAc3oE,EAAIumE,aAAe,QAGhC,2BAARlvE,EAEH,qBACI/K,MAAwC,OAA9B,OAAH0T,QAAG,IAAHA,OAAA,EAAAA,EAAKmpE,yBAAkCvjE,GAAemiE,SAAWniE,GAAeqiE,cACvFn7E,QAAS,iBAAwC,OAA9B,OAAHkT,QAAG,IAAHA,OAAA,EAAAA,EAAKmpE,yBAAkCf,EAAYpoE,EAAK,YAAc,IAF1F,SAIsC,OAA9B,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKmpE,yBAAkC,WAAaR,EAAc3oE,EAAIopE,0BAIxE,GAQKC,CAAeR,EAAO7oE,GAElC,OADAqB,IAASC,OAAOgF,EAAKF,GACdA,IAETvH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OACnCiwE,EAAaviE,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,oBAAVA,EAAEsC,OACpCiuF,EAAevgF,EAAStI,MAAK,SAACuI,GAAD,MAA6B,qBAAhBA,EAAQ3N,OAClDq1G,EAAc3nG,EAAStI,MAAK,SAACuI,GAAD,MAA6B,wBAAhBA,EAAQ3N,OACjDswE,EAAW5iE,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAC9C8yE,EAAeplE,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAClDkwE,EAAuBxiE,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,sBAAVA,EAAEsC,OAC9CmwE,EAA2BziE,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,iCAAVA,EAAEsC,OAClDowE,EAAiB1iE,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,gBAAVA,EAAEsC,OACxCqwE,EAA4B3iE,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,2BAAVA,EAAEsC,OAsBvD,OArBIqwE,IAA2BA,EAA0B9pE,UAAY2oE,EAAgB,2BACjFkB,IAAgBA,EAAe7pE,UAAY2oE,EAAgB,gBAC3DiB,IAA0BA,EAAyB5pE,UAAY2oE,EAAgB,iCAC/EgB,IAAsBA,EAAqB3pE,UAAY2oE,EAAgB,sBAEvEloE,IACAA,EAAUT,UAAYgH,GAEtB0gF,IACAA,EAAa1nF,UAAY+0D,GAEzB+5C,IACAA,EAAY9uG,UAAY+e,GAExBgrD,IACAA,EAAS/pE,UAAYi1D,GAErBsX,IAAcA,EAAavsE,UAAYssE,GACvC5C,IACAA,EAAW1pE,UAAYqpE,GAEpBliE,IACR,IAEG4nG,EAAoB7nG,mBAAQ,WAC9B,IAAMygF,EAAS,UAAOpzB,IAClB5xD,EAAMtX,EAAMgP,SAASskB,SACrB6oE,EAAW7kF,EAAI8kF,YAAY,KAAO,EAYtC,MAXsB,MAAlB9kF,EAAI6kF,GACJG,EAAUxtF,KAAK,CAAElF,KAAM,SACE,MAAlB0N,EAAI6kF,GACXG,EAAUxtF,KAAK,CAAElF,KAAM,wBACE,MAAlB0N,EAAI6kF,GACXG,EAAUxtF,KAAK,CAAElF,KAAM,qBACE,MAAlB0N,EAAI6kF,GACXG,EAAUxtF,KAAK,CAAElF,KAAM,4BAEvB0yF,EAAUxtF,KAAK,CAAElF,KAAM,gBAAiB0R,QAAQ,IAE7CghF,IACR,CAACt8F,EAAMgP,SAASskB,WAUbO,EAAc,SAACnuB,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiB,QAErBjuB,GAAOkc,KAEL+8D,EAAiB,SAACj5E,GACpBy2E,EAAc,IACdz2E,GAAOkc,KAGLk7D,EAAc,SAACpoE,EAAKlI,GACtB2vE,EAAc,eAAG3vE,GAAQ,IACzBvK,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8vB,gBAAiBjf,EACjB0nE,kBAAmB1nE,EAAI0nE,wBAIzBunC,EAAmB,SAACnlG,GACtB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmBwgD,EAAKz6C,KAAOy6C,EAAKliD,YAGjDyB,qBAAU,WACN,IAAIuS,EAAM,yBAAqB1S,EAAM6nC,SAA3B,sBAAiD7nC,EAAMuoC,SAAvD,oBAA2EvoC,EAAMwoC,QAC3FhqC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELsS,OAAQA,EACRD,SAAU,IAAIhC,YAEnB,CAACzQ,EAAMuoC,SAAUvoC,EAAMwoC,OAAQxoC,EAAM6nC,WAaxC,OACI,sBAAK3mC,UAAU,uBAAf,UACI,cAAC,IAAD,CAAayW,OAAQo0C,EAAiB2zD,GAAqBO,IAC3D,cAAC/gH,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,eAACD,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,aAArB,UACI,uBAAMA,UAAU,aAAhB,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,IAAD,CACIhB,WAAW,EACXmP,YAAY,OACZpQ,MAAOsB,EAAMuoC,SACbv/B,SAAUk3G,EACV/5G,KAAK,WACL40C,WAAY,CAAEttB,WAAY,CAAEC,IAAI,GAAD,OAAK1tB,EAAMwoC,UAC1C2sE,UAASn1G,EAAMuoC,cAGvB,uBAAMrnC,UAAU,cAAhB,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,gBACA,cAAC,IAAD,CACIhB,WAAW,EACXmP,YAAY,KACZpQ,MAAOsB,EAAMwoC,OACbx/B,SAAUk3G,EACV/5G,KAAK,SACL40C,WAAY,CAAEttB,WAAY,CAAE6oB,IAAI,GAAD,OAAKt2C,EAAMuoC,YAC1C4sE,UAASn1G,EAAMwoC,YAgBvB,sBAAMtnC,UAAU,aAAhB,SACI,cAAC1B,EAAA,EAAD,CACIE,QAAQ,YACRD,MAAM,YACN1B,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmoC,SAAU,GAAIC,OAAQ,SAErDxK,KAAK,QACLzgC,MAAO,CAAEyD,UAAW,QAPxB,0BA2BZ,cAAC,GAAD,CACI8O,QAASA,EAET2B,YAAaimB,EAAc,kBAAwBA,EAAc,iBAAuB,aAAe,GACvGlnB,uBAAuB,4BACvBmD,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAKykE,UAClB5uD,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBC,OAAQ1S,EAAM0S,OACdyD,gBAAgB,gBAChBF,kBAAmB,kBACfy2F,GAAsB,CAClBxyD,OAAQ39C,EAAM29C,QAAU,GACxByyD,KAAM3sG,EAAM6nC,UAAY,GACxB6oB,UAAW1wD,EAAMuoC,UAAY,GAC7BooB,QAAS3wD,EAAMwoC,QAAU,GACzB6jE,QAAS,YAIpBrsG,EAAM5C,KACH,cAACV,GAAA,EAAD,CACIU,KAAM4C,EAAM5C,KACZN,QAAS,WACLszB,GAAY,IAEhBzzB,MAAOqD,EAAMklC,MAAQ,eAAiB,gBACtCnoC,SAAS,KACToJ,KAAK,UAPT,SASI,cAAC,GAAD,CACIvD,KAAM5C,EACNklC,MAAOllC,EAAMklC,MACb0wB,WAAY51D,EAAMkwB,gBAAgB8kC,WAClCz4C,UAAWvc,EAAMkwB,gBAAgByoD,kBACjC77E,QAAS,WACLszB,GAAY,QAIxB,KACHqoD,EAAW6C,MACR,cAAC5+E,GAAA,EAAD,CAAYC,MAAM,iBAAiBI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA/E,SACI,cAAC,GAAD,CAAe3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAE9G,KACHzC,EAAWv+B,OACR,cAACx9C,GAAA,EAAD,CAAYC,MAAM,2BAA2BI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAAzF,SACI,cAAC,GAAD,CAAuB3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAEtH,KACHzC,EAAW8C,QACR,cAAC7+E,GAAA,EAAD,CAAYC,MAAM,kBAAkBI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAAhF,SACI,cAAC,GAAD,CAAwB3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAEvH,KACHzC,EAAW+C,SACR,cAAC9+E,GAAA,EAAD,CAAYC,MAAM,oBAAoBI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAAlF,SACI,cAAC,GAAD,CAAuBxE,QAAS12E,EAAMkwB,gBAAiBpzB,QAASo+E,MAEpE,KACHzC,EAAWgD,OACR,cAAC/+E,GAAA,EAAD,CAAYC,MAAK,sBAAyBI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAAtF,SACI,cAAC,GAAD,CAAgBtlB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAY0hB,QAAS12E,EAAMkwB,gBAAiBpzB,QAASo+E,MAE3G,KACHl7E,EAAMkkE,WACH,cAACxnE,GAAA,EAAD,CAAYC,MAAM,SAASG,QAAS,kBAAM0B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8jE,YAAY,QAAWnnE,SAAS,KAArG,SACI,cAACmC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,WAAY,IAAjD,SACI,eAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAtC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAACmK,GAAA,EAAD,CAAYgC,UAAU,SAAtB,SACI,2CAAca,IAAW6jC,cAAX,UAAyBpwC,EAAM4C,YAA/B,aAAyB,EAAYqyD,wBAG3D,cAAC/1D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAACmK,GAAA,EAAD,CAAYgC,UAAU,SAAtB,SACI,sDAAe1L,EAAM4C,YAArB,aAAe,EAAYwmB,yBAGnC,cAAClqB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmK,GAAA,EAAD,CAAYgC,UAAU,SAAtB,4DAEJ,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIyJ,SAjKP,SAACkG,GACtB,MAA0BA,EAAM3G,OAAxBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOuJ,QAgKPA,QAAS1P,EAAMw4E,eACfryE,KAAK,iBACLzH,MAAOsB,EAAMw4E,eACbzvE,MAAM,+BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,KAAD,CAAiBxB,QAASg7E,EAA4Bp5E,WAAS,EAACuB,UAAU,aAA1E,sBAIJ,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,KAAD,CAAiBxB,QAAS,kBAAMS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8jE,YAAY,QAAWvkE,WAAS,EAACuB,UAAU,aAAtG,6BAOhB,KACHlB,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMijH,GAAiB,IAAQpjH,MAAO,wBAAvE,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBoC,eAAgBlI,aAAc21F,MAE7F,KACH//G,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMijH,GAAiB,IAAQpjH,MAAO,mBAAvE,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBtP,WAAYwJ,aAAc21F,MAEjF,KACHtnC,EAAWiD,2BACR,cAACh/E,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMo+E,GAAe,IAAQv+E,MAAO,qBAAsBI,SAAS,KAAK4C,WAAS,EAAlH,SACI,cAAC,GAAD,CAAwB+2E,QAAS12E,EAAMkwB,gBAAiB9F,aAAc21F,MAE1E,KACH//G,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMijH,GAAiB,IAAQpjH,MAAO,gBAAvE,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMkwB,gBAAgB8C,QAAS5I,aAAc21F,MAE3E,SE/tBVz4G,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCq3D,MAAO,CACH30D,MAAO,MACPgI,WAAY,OACZxK,OAAQ,GACRg3B,gBAAiB,UACjBr/B,QAAS,IAEb4kF,UAAW,CACP/5E,MAAO,MACPxC,OAAQ,GACRg3B,gBAAiB,UACjBr/B,QAAS,IAEb6kF,MAAO,CACHltE,UAAW,SACXtP,OAAQ,GACRrI,QAAS,IAEb8kF,aAAc,CACVnnF,SAAU,OACV,uBAAwB,CACpBkN,MAAO,SAEX,6BAA8B,CAC1BoiB,UAAW,iCACX83D,gBAAiB,kCAErB,6BAA8B,CAC1B1lD,gBAAiB,UACjBuoB,QAAS,EACTo9B,QAAS,wBAGjBC,aAAc,CACVC,WAAY,0BAIdC,GAAc,CAChBC,GAAI,CACAC,YAAa,qBAEjBC,GAAI,CACAJ,WAAY,sBA8LL47B,GA1LK,SAAC5jH,GAAW,IAAD,IAC3B,EAA6CyB,eAAnB6J,GAA1B,EAAQC,iBAAR,EAA0BD,gBAClBszC,EAAgB5wC,eAAhB4wC,YACFlL,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YACrD,EAA0B3V,oBAAS,GAAnC,mBAAKse,EAAL,KAAaujG,EAAb,KAEA,EAA0B7hH,mBAAS,CAC/BmK,QAAS,KACTX,YAAY,EACZ88E,YAAa,KAHjB,mBAAO7kF,EAAP,KAAcxB,EAAd,KAMMsmF,EAAuB,WACzB,IAAMC,EAAa7kF,mBAEnB,OADAC,qBAAU,kBAAM4kF,EAAWjkF,QAAQkkF,oBAC5B,qBAAK5jF,IAAK2jF,KAGfs7B,EAAe,uCAAG,4BAAA5/G,EAAA,sEACJ2tB,GAAe7xB,EAAMq7E,eADjB,QAChB31E,EADgB,QAEZoE,SACJ7H,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAELykF,YAAW,UAAE5iF,EAAIW,KAAK4V,YAAX,aAAE,EAAe0sE,MAAK,SAACzkF,EAAGorB,GAAJ,OAAWprB,EAAE0kF,MAAQt5D,EAAEs5D,MAAQ,EAAIt5D,EAAEs5D,MAAQ1kF,EAAE0kF,OAAS,EAAI,KAC7Fp9E,YAAY,OANA,2CAAH,qDAWrB5H,oBAAS,sBAAC,sBAAAM,EAAA,sDACN4/G,IADM,2CAEP,IAEH,IAAMj7B,EAAa,WACf,IAAI5sB,GAAU,EASd,OARKx4D,EAAM0I,UACP8vD,GAAU,EACV3wD,EAAe,wBAEE,IAAjB7H,EAAM0I,UACN8vD,GAAU,EACV3wD,EAAe,wBAEZ2wD,GAGL3iB,EAAW,uCAAG,sBAAAp1C,EAAA,0DACZ2kF,IADY,uBAEZg7B,GAAU,GAFE,SAGI/xF,GAAY9xB,EAAMq7E,cAAe53E,EAAM0I,SAH3C,cAIJrC,UACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELsI,QAAS,QAEb23G,KAEJD,GAAU,GAXE,2CAAH,qDA6BjB,IAAMl4G,EAAUZ,KAEhB,OACI,qBAAKpG,UAAU,oBAAf,SACI,eAAChC,EAAA,EAAD,CACIC,WAAS,EACT5B,MAAO,CACHN,OAAQ,sBAERD,SAAU,SACVgE,UAAW,OACXsrB,UAAW,4CACXiR,OAAQ,sCARhB,UAYK,KACC0S,GAAc,KAChB,eAAC/wC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIgR,GAAI,GAAIhhC,MAAO,CAAE8B,QAAS,sBAA7D,UACI,cAACqK,GAAA,EAAD,CAAYhK,QAAQ,KAApB,kBACCM,EAAM+H,WACH,qBACIxK,MAAO,CACHN,OAAQ,sBACRI,QAAS,OACTuxB,cAAe,SACfC,eAAgB,UALxB,SAQI,cAACC,GAAA,EAAD,CAAkBvxB,MAAO,CAAE2U,WAAY,OAAQ7V,YAAa,YAGhE,qBAAK6E,UAAWgH,EAAQi8E,aAAc5mF,MAAO,CAAEN,OAAQ,uBAAvD,SACmC,KAA9B,UAAA+C,EAAM6kF,mBAAN,eAAmBt2E,QAChB,+CACKvO,EAAM6kF,mBADX,aACK,EAAmB/+E,KAAI,SAACgoB,EAAGmM,GACxB,IAAIqrD,EAAYx3D,EAAE3nB,OAASg1C,EAAcjzC,EAAQ+7E,UAAY/7E,EAAQ22D,MAErE,OACI,8BACI,cAACvnC,GAAA,EAAD,CACIp2B,UAAWokF,EACX/nF,MAAOuwB,EAAEy3D,MAASz3D,EAAE3nB,OAASg1C,EAAcqpC,GAAYG,GAAKH,GAAYC,GAAM,KAFlF,SAII,eAACvlF,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,qBAAK7B,MAAO,CAAE2M,MAAO,QAArB,SACI,cAACR,GAAA,EAAD,UAAaokB,EAAEwtD,UAEnB,qBAAK/9E,MAAO,CAAE2M,MAAO,OAArB,SACI,kCACK4jB,EAAE3nB,KADP,MACgBiQ,KAAO0X,EAAEq3D,OAAO9uE,OAAO,4BAI1CyX,EAAEy3D,OACC,qBAAKhoF,MAAO,CAAE2M,MAAO,MAAO8M,UAAW,SAAvC,SACI,2CAAcZ,KAAO0X,EAAEy3D,OAAOlvE,OAAO,sCAQjE,cAACyuE,EAAD,OAGJ,8BACI,qBAAK5jF,UAAWgH,EAAQg8E,MAAxB,SACI,eAAChlF,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,qBAAK7B,MAAO,CAAE2M,MAAO,QAArB,SACI,cAACR,GAAA,EAAD,oDAEJ,qBAAKnM,MAAO,CAAE2M,MAAO,QAArB,SACI,gCAAQkM,OAASC,OAAO,oCASpD,cAACnX,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAAQ,gBAApC,SACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACimF,GAAA,EAAD,CACI7lF,WAAS,EACTmP,YAAY,qBACZ3I,KAAK,UACLzH,MAAOsB,EAAM0I,QACbM,SAxGR,SAACX,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJ+F,EAAOzH,QAqGYoM,UAjG5B,SAAqBzC,GACH,UAAVA,EAAEsC,KAA6B,gBAAVtC,EAAEsC,KACvBkrC,KAgGoBqa,aACI,cAACC,GAAA,EAAD,CAAgB3yD,SAAS,MAAzB,SACKqf,EACG,cAACiS,GAAA,EAAD,CAAkBrvB,MAAM,cAExB,cAACiX,EAAA,EAAD,CAAY3Y,QAAS83C,EAAa4vC,KAAK,MAAvC,SACI,cAAC,KAAD,CAAUloF,MAAO,CAAEI,OAAQ,WAAa8B,MAAM,iCC7B/E6gH,OAzLf,SAAmC/jH,GAC/B,MAA0BgC,mBAAS,CAC/B++E,cAAc,EACdu4B,cAAc,EACdC,qBAAqB,EACrBn5G,MAAO,KAJX,mBAAOqD,EAAP,KAAcxB,EAAd,KAMI4uB,EAAkB9sB,IAAW+sB,gBAEzB6sB,EAAwC39C,EAAxC29C,OAAmB15C,GAAqBjE,EAAhCwG,UAAgCxG,EAArBiE,YAAYoC,EAASrG,EAATqG,KACjCwI,EAAU8b,eAEV6uF,EAAW,uCAAG,WAAOp5G,EAAOy2F,GAAd,SAAA3yF,EAAA,sDACU,GAAtBmC,EAAK4nF,eAA+B,eAAT7tF,IAC3By2F,EAAU,uBAEd50F,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAELzD,MAAOA,GACNy2F,GAAU,OAPC,2CAAH,wDAiBXlY,EAAc,uCAAG,WAAOj5E,GAAP,SAAAxB,EAAA,sDACnBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk9E,cAAc,EACdu4B,cAAc,EACdC,qBAAqB,EACrBE,YAAY,OAEhB/zG,GAAO1F,EAAM05G,cAAch0G,GARR,2CAAH,sDAWdmrD,EAAyB,SAACnrD,GAC5BzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+gD,oBAAoB,OAEpBl/C,GACAmJ,EAAQ8qG,UAIVC,EAAe,SAACC,EAAUrpD,EAAWj4C,GACvC,OACI,mCACsB,QAAjBvY,EAAM85G,QACH,cAACn3G,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIwV,KAAMA,EACN/L,MAAK,UAAKqtG,GACVr4G,QAAS,WACLg4G,EAAY,GAAD,OAAIK,GAAJ,UAAmBrpD,KAElCxvD,MAAO,CAAE0X,WAAY,YAI7B,cAAC,KAAD,CACIlX,QAAS,WACLg4G,EAAY,GAAD,OAAIK,GAAJ,UAAmBrpD,KAFtC,mBAKQqpD,QAOxB,OACI,eAACl3G,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAG8B,UAAU,oBAA3C,UACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAI2B,UAAU,SAAvC,UACK3E,EAAMg6G,eAAiB,KACpB,qCACgB,MAAVr8D,GACY,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,GACU,MAAVA,IACJ39C,EAAMi6G,SAIF,KAHA,cAAC,KAAD,CAAet1G,UAAU,WAAWnD,QAASyC,EAA7C,kBAIJ,cAAC,KAAD,CAAiBzC,QAASxB,EAAMo5G,iBAAhC,uBAGG,MAAVz7D,GAAkBt3C,EAAK29G,oBAAsBhkH,EAAM+5G,oBAAsBH,EAAa,iBAAkB,eAAgBphG,MAAW,KAGxH,MAAVmlC,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBAE3E,KADAH,EAAa,cAAe,eAAgB0G,OAEhDj6G,EAAK4nF,eAAiB5nF,EAAKgoF,WAA3B,OAAuCx9D,QAAvC,IAAuCA,OAAvC,EAAuCA,EAAiBozF,sBAAiC,MAAVtmE,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBACtHH,EAAa,kBAAmB,eAAgB30E,MAChD,KACM,MAAV0Y,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBAAkF,KAA5DH,EAAa,mBAAoB,eAAgBphG,MACxG,MAAVmlC,GAA4B,MAAVA,GAA4B,MAAVA,IAAmB39C,EAAM+5G,oBAEzD,KADAH,EAAa,gBAAiB,eAAgBphG,MAEzC,MAAVmlC,GAAkB39C,EAAM+5G,oBAAsBH,EAAa,6BAA8B,eAAgBphG,MAAW,KAK1G,MAAVmlC,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,GAA4B,MAAVA,GAAkB39C,EAAM+5G,oBAC7F,cAAC,KAAD,CACIxhG,KAAM2sC,IACNlkD,MAAO,CAAE0X,WAAY,QACrB6lC,aAAc,GACd/8C,QAAS,WACLg4G,EAAY,aAAD,uBAEf70G,UAAU,QACVgU,aAAa,eAEjB,QAEPlV,EAAMg2G,YACH,cAACt5G,GAAA,EAAD,CAAYC,MAAM,+CAA+CI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA7G,SACI,cAAC,GAAD,CAAmBv+E,MAAOqD,EAAMrD,MAAO84G,MA7G/B,SAACxzG,GACrBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL01G,qBAAqB,EACrBE,YAAY,QAyG2Dl5G,QAASo+E,MAG/El7E,EAAMs9E,cACH,cAAC5gF,GAAA,EAAD,CAAYC,MAAOqD,EAAMrD,MAAOI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA5E,SACI,cAACyC,GAAD,CAAehhF,MAAOqD,EAAMrD,MAAOogF,cAAexgF,EAAMw9C,MAAOj9C,QAASo+E,MAG/El7E,EAAM81G,qBACH,cAACp5G,GAAA,EAAD,CAAYC,MAAOqD,EAAMrD,MAAOI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA5E,SACI,cAACu7B,GAAD,CACI95G,MAAOqD,EAAMrD,MACb04G,kBAAmBzyG,EAAK8zG,gBACxBlsB,cAAe5nF,EAAK4nF,cACpBE,iBAAkB9nF,EAAK8nF,iBACvBH,aAAc3nF,EAAK2nF,aACnBrB,gBAAiBtmF,EAAKsmF,gBACtBnM,cAAexgF,EAAMw9C,MACrBqwC,aAAcxnF,EAAKwnF,aACnBU,WAAYloF,EAAKkoF,WACjBD,eAAgBjoF,EAAKioF,eACrB/tF,QAASo+E,MAIpBl7E,EAAM61G,cACH,cAACn5G,GAAA,EAAD,CACIC,MAAsB,8BAAfqD,EAAMrD,MAAwC,oBAAsBqD,EAAMrD,MACjFI,SAAS,KACTD,QAAS,kBAAMo+E,GAAe,IAHlC,SAKI,cAACy7B,GAAD,CACIh6G,MAAOqD,EAAMrD,MACb6tF,cAAe5nF,EAAK4nF,cACpBE,iBAAkB9nF,EAAK8nF,iBACvBH,aAAc3nF,EAAK2nF,aACnBrB,gBAAiBtmF,EAAKsmF,gBACtBnM,cAAexgF,EAAMw9C,MACrBqwC,aAAcxnF,EAAKwnF,aACnBttF,QAASo+E,EACTgQ,WAAYtoF,EAAKsoF,eAK5BlrF,EAAMmhD,mBACH,cAACzkD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMswD,GAAuB,IAAQzwD,MAAO,aAAcI,SAAS,KAAK4C,WAAS,EAAlH,SACI,cAAC,GAAD,CAAgBw9C,SAAU5gD,EAAMw9C,MAAOJ,SAAS,MAAM78C,QAASswD,MAEnE,SCjLV5gC,GAAa,SAACjwB,GAChB,OACI,qCACI,cAACmE,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,QAC1B,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,WAA3B,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAASnT,EAAMkwB,SAAUzjB,SAAUzM,EAAMowB,cAAexmB,KAAM5J,EAAMqwB,QAAS5hB,SAAUzO,EAAMyO,aAEpH,cAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIuP,YAAavS,EAAMwM,MACnBrK,MAAOnC,EAAMswB,SACb7jB,SAAUzM,EAAM6R,YAChBjI,KAAM5J,EAAMmwB,QACZ1hB,SAAUzO,EAAMyO,WAAazO,EAAMkwB,SACnCxjB,KAAM1M,EAAM8mD,WAAa,kBAmVlCC,GA5UU,SAAC/mD,GAAW,IAAD,EAChC,EAA6CyB,eAArC6J,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,iBAExB,EAAkCvJ,mBAAS,CAAEglD,cAAc,EAAOC,cAAc,IAAhF,mBAAOzpC,EAAP,KAAkBC,EAAlB,KACA,EAA0Bzb,mBAAS,CAC/B4O,OAAQ,GACRu2C,UAAW,GACX+8D,YAAalkH,EAAMqB,IAAM,KACzB8iH,eAAgBnkH,EAAMw9C,MACtB4mE,sBAAuB,GACvBC,eAAgB,GAChBC,qBAAsB,GACtBC,qBAAsB,GACtBC,oBAAqB3qG,OAASC,OAAO,oBACrC2qG,sBAAsB,EACtBC,yBAA0B,GAC1BC,kBAAmB,GACnB58D,gBAAgB,EAChBG,uBAAwB,GACxBhB,SAAU,KAfd,mBAAOzjD,EAAP,KAAcxB,EAAd,KAiBMsnD,EAAsB,uCAAG,gCAAArlD,EAAA,sEACX+7E,GAAyBjgF,EAAMw9C,OADpB,QACvB93C,EADuB,QAEnBoE,UACA86G,EAAMl/G,EAAIW,KAAKyiE,UACb+7C,EAAiBD,EAAI/mF,WAAU,SAACn8B,GAAD,OAASA,EAAIL,KAAOrB,EAAMqB,QACzC,GAClBujH,EAAIlpF,OAAOmpF,EAAgB,GAE/B5iH,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqjD,SAAU09D,QAEpCl/G,EAAIoE,SACLwB,EAAe5F,EAAIyG,SAXI,2CAAH,qDActBy9C,EAAoB,WACtBL,IACAtnD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELgmD,cAAc,QAgCtBjmD,oBAAS,sBAAC,gCAAAM,EAAA,0DACFlE,EAAMqB,GADJ,gCAEc8+E,GAAsBngF,EAAMqB,IAF1C,OAEEqE,EAFF,OAGEW,EAHF,UAGSX,EAAIW,YAHb,aAGS,EAAU2G,QAAQ,GAC7B/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqgH,YAAa79G,EAAK69G,YAClBC,eAAgB99G,EAAK89G,eACrBC,sBAAuB/9G,EAAK+9G,sBAC5BC,eAAgBh+G,EAAKg+G,eACrBC,qBAAsBj+G,EAAKi+G,qBAC3BC,qBAAsBl+G,EAAKk+G,qBAC3BC,oBAAqBn+G,EAAKm+G,qBAAuB3qG,OAASC,OAAO,oBACjE2qG,qBAAsBp+G,EAAKo+G,0BAb7B,2CAgBP,IACH,IAAM5yG,EAAcwb,uBAAY,SAACvhB,GAC7B,MAAuCA,EAAEE,OAAjCpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KAAMyG,EAA3B,EAA2BA,QAC3BlR,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAgB,aAAT8C,EAAsByG,EAAUhR,SACpE,IACG6nD,EAAyB,SAACtkD,GAC5BzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELomD,aAAa,QA+BfnB,EAAiB,WACnB,IAAQ67D,EAAwFlhH,EAAxFkhH,kBAAmBD,EAAqEjhH,EAArEihH,yBAA0B38D,EAA2CtkD,EAA3CskD,eAAgBG,EAA2BzkD,EAA3BykD,uBACjEn2C,GAAc,EACdnB,EAAS,GAoBb,MAlBK,QAAQqB,KAAK0yG,KACd/zG,EAAO+zG,kBAAoB,8BAC3B5yG,GAAc,GAEb,QAAQE,KAAKyyG,KACd9zG,EAAO8zG,yBAA2B,4CAClC3yG,GAAc,GAEdg2C,IACK,QAAQ91C,KAAKi2C,KACdt3C,EAAOs3C,uBAAyB,+BAChCn2C,GAAc,IApCN,WAChB,IAAQsyG,EAA+D5gH,EAA/D4gH,eAAgBD,EAA+C3gH,EAA/C2gH,sBAAuBI,EAAwB/gH,EAAxB+gH,oBAC3CzyG,GAAc,EACdnB,EAAS,GAeb,MAdK,QAAQqB,KAAKmyG,KACdxzG,EAAOwzG,sBAAwB,wCAC/BryG,GAAc,GAEb,QAAQE,KAAKoyG,KACdzzG,EAAOyzG,eAAiB,mCACxBtyG,GAAc,GAEb,QAAQE,KAAKuyG,KACd5zG,EAAO4zG,oBAAsB,yBAC7BzyG,GAAc,GAGlB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,EAqBFD,KACDC,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBsjD,UAAWv2C,OAC/BmB,GAEL6b,EAAY,uCAAG,WAAO7hB,GAAP,iBAAA7H,EAAA,6DAEjBiO,EAAW,CACPkyG,eAAgB5gH,EAAM4gH,eACtBD,sBAAuB3gH,EAAM2gH,sBAC7BE,qBAAsB7gH,EAAM6gH,qBAC5BJ,YAAazgH,EAAMygH,YACnBM,oBAAqB/gH,EAAM+gH,oBAC3BC,qBAAsB14G,EACtBo4G,eAAgBnkH,EAAMw9C,OAG1B//B,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBojD,cAAc,OAZ5B,SAaDi5B,GAAuB/tE,GAbtB,QAabzM,EAba,QAcToE,SACJyB,EAAiB,6BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAEvBsR,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBojD,cAAc,OApB5B,2CAAH,sDAsBZ+B,EAAmB,uCAAG,8BAAA9kD,EAAA,0DACpB4kD,IADoB,uBAEpBl7B,GAAa,GAEbzb,EAAW,CACPkyG,eAAgB5gH,EAAMkhH,kBACtBP,sBAAuB3gH,EAAMihH,yBAC7BJ,qBAAsB,GACtBz7D,kBAAmBplD,EAAMykD,uBACzBa,YAAatlD,EAAMskD,eACnBm8D,YAAa,KACbC,eAAgBnkH,EAAMw9C,OAE1B//B,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBmjD,cAAc,OAbzB,SAcJk5B,GAAuB/tE,GAdnB,QAchBzM,EAdgB,QAeZoE,SACJyB,EAAiB,6BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAEvBsR,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBmjD,cAAc,OArBzB,2CAAH,qDA2BzB,OACI,eAAC,IAAD,CAA2B5mD,MA7JvB,eAACuC,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAtC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGJ,WAAS,EAACyV,QAAQ,gBAApC,SACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,eAACN,EAAA,EAAD,CAAazB,MAAO,CAAE8B,QAAS,GAA/B,UACI,6CACA,uBAAM9B,MAAO,CAAEkC,MAAO,OAAtB,kBACYlD,EAAMwsF,QADlB,SACmCxsF,EAAM85D,SAExC95D,EAAMg9D,YACH,cAAC,IAAD,CAAYh8D,MAAO,CAAE2U,WAAY,GAAK4C,KAAMiyC,KAAgBh+C,MAAM,UAAUhL,QAASooD,IACrF,YAIhB,eAACjnD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGJ,WAAS,EAACyV,QAAQ,gBAApC,UACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACN,EAAA,EAAD,CAAazB,MAAO,CAAE8B,QAAS,GAA/B,sCAEJ,cAACH,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACoX,EAAA,EAAD,CAAY3Y,QAASxB,EAAMO,QAASS,MAAO,CAAElB,YAAa,EAAGgD,QAAS,GAAtE,SACI,cAAC,KAAD,cAyI6BvC,QAASP,EAAMO,QAASK,kBAAgB,sBAAsBwC,WAAS,EAAC5C,SAAS,KAAlI,UACI,eAACmC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG9B,WAAW,aAAaC,MAAO,CAAEP,SAAU,SAAUC,OAAQ,QAAzF,UACI,eAACiC,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGluB,QAAS,EAArD,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,eAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,UAAoBpE,EAAMqoD,OAAS,WAAa,GAAhD,qBACA,cAACl7C,GAAA,EAAD,CAAYhK,QAAQ,QAAQnC,MAAO,CAAEuhC,WAAY,YAAjD,SACK9+B,EAAM4gH,oBAGf,eAAC1hH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,kBACZpQ,MAAOsB,EAAM6gH,qBACb73G,SAAUoF,EACVjI,KAAK,uBACL2C,WAAW,IAEf,cAACnH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0zG,0BAExC,eAAC3hH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,wCACA,cAAC,IAAD,CACImO,YAAY,oBACZ3I,KAAK,wBACLzH,MAAOsB,EAAM2gH,sBACb33G,SAAUoF,OAGlB,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,sCACA,cAAC,IAAD,CACImO,YAAY,2BACZpQ,MAAOsB,EAAM+gH,oBACb/3G,SAAUoF,EACVjI,KAAK,wBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO4zG,4BAG5C,cAAC75D,GAAA,EAAD,CAASC,YAAY,WAAWC,UAAQ,EAAC7pD,MAAO,CAAElB,YAAa,UAC/D,eAAC6C,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGluB,QAAS,EAArD,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCACA,cAAC,IAAD,CAAW+tB,WAAS,EAACzQ,KAAM,EAAGnP,YAAY,qBAAqB3I,KAAK,oBAAoB6C,SAAUoF,IAClG,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUw9D,uBAE3C,eAAChiH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,wCACA,cAAC,IAAD,CACImO,YAAY,6BACZpQ,MAAOsB,EAAMihH,yBACbj4G,SAAUoF,EACVjI,KAAK,6BAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUu9D,8BAE3C,eAAC/hH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAAC,GAAD,CACIwJ,MAAK,aACL6jB,QAAQ,iBACRH,SAAUzsB,EAAMskD,eAChB33B,cAAeve,EACfse,QAAQ,yBACRG,SAAU7sB,EAAMykD,uBAChBr2C,YAAaA,EACbmc,WAxEL,SAACpkB,GAChB3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SAwEf6E,SAAUhL,EAAM0lD,YAGpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAM0jD,UAAUe,+BAG/C,cAACvlD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,EAAGxP,QAAS,EAA7C,SACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiB0b,YAAalB,EAAUypC,aAAczlD,QApLzC,SAACkE,GAE9BzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELomD,aAAa,QAgLwF7mD,WAAS,EAAlG,gCAKR,cAACT,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,EAAGxP,QAAS,EAA7C,SACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiB0b,YAAalB,EAAUwpC,aAAcv4C,UAAWzO,EAAMqB,GAAIG,QAAS,kBAAMwnD,GAAoB,IAAO5lD,WAAS,EAA9H,gDAMXK,EAAMwmD,YACH,cAAC9pD,GAAA,EAAD,CAAYC,MAAK,iBAAoBG,QAAS,kBAAMypD,KAA+BxpD,SAAS,KAA5F,SACI,cAAC4oD,GAAD,CACIj9C,QAAO,8DACPyhB,aAAc,kBAAMA,GAAa,IACjCy7B,aAAc,kBAAMW,SAG5B,KACHvmD,EAAMomD,aACH,cAAC1pD,GAAA,EAAD,CACIU,MAAM,EACNN,QAAS,kBACL0B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELgmD,cAAc,QAGtBzpD,MAAO,YACPI,SAAS,KATb,SAWKiD,EAAMyjD,SAASl1C,OAAS,EACrB,qBAAKrN,UAAU,kBAAf,mBACKlB,EAAMyjD,gBADX,aACK,EAAgB39C,KAAI,SAAC8zB,EAAGK,GAAJ,OACjB,cAAC/6B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,cAACF,EAAA,EAAD,CAAMK,GAAI,GAAV,SACI,cAAC,GAAD,CAAuBonD,KAAM/sB,GAATK,YAMpC,qBAAK/4B,UAAU,kBAAkB3D,MAAO,CAAEyZ,UAAW,UAArD,gCAKR,S,UC7WVwV,GAAa,SAACjwB,GAChB,OACI,qCACI,cAACmE,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,QAC1B,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,WAA3B,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAASnT,EAAMkwB,SAAUzjB,SAAUzM,EAAMowB,cAAexmB,KAAM5J,EAAMqwB,QAAS5hB,SAAUzO,EAAMyO,aAEpH,cAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIuP,YAAavS,EAAMwM,MACnBrK,MAAOnC,EAAMswB,SACb7jB,SAAUzM,EAAM6R,YAChBjI,KAAM5J,EAAMmwB,QACZ1hB,SAAUzO,EAAMyO,WAAazO,EAAMkwB,SACnCxjB,KAAM1M,EAAM8mD,WAAa,kBA4HlCg+D,GArHW,SAAC9kH,GACvB,MAA6CyB,eAArC6J,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,iBAExB,EAAkCvJ,mBAAS,CAAEglD,cAAc,EAAOC,cAAc,IAAhF,mBAAOzpC,EAAP,KAAkBC,EAAlB,KACA,EAA0Bzb,mBAAS,CAC/B4O,OAAQ,GACRszG,YAAalkH,EAAMqB,IAAM,KACzB8iH,eAAgBnkH,EAAMw9C,MACtB4mE,sBAAuB,GACvBC,eAAgB,GAChBC,qBAAsB,GACtBC,qBAAsB,GACtBC,oBAAqB3qG,OAASC,OAAO,oBACrC2qG,sBAAsB,IAT1B,mBAAOhhH,EAAP,KAAcxB,EAAd,KAYM4P,EAAcwb,uBAAY,SAACvhB,GAC7B,MAAuCA,EAAEE,OAAjCpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KAAMyG,EAA3B,EAA2BA,QAC3BlR,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAgB,aAAT8C,EAAsByG,EAAUhR,SACpE,IAEG2P,EAAc,WAChB,IAAQuyG,EAA+F5gH,EAA/F4gH,eAAgBD,EAA+E3gH,EAA/E2gH,sBAAuBI,EAAwD/gH,EAAxD+gH,oBAAqB37D,EAAmCplD,EAAnColD,kBAAmBE,EAAgBtlD,EAAhBslD,YACnFh3C,GAAc,EACdnB,EAAS,GAoBb,MAnBK,QAAQqB,KAAKmyG,KACdxzG,EAAOwzG,sBAAwB,wCAC/BryG,GAAc,GAEb,QAAQE,KAAKoyG,KACdzzG,EAAOyzG,eAAiB,mCACxBtyG,GAAc,GAEb,QAAQE,KAAKuyG,KACd5zG,EAAO4zG,oBAAsB,yBAC7BzyG,GAAc,GAEdg3C,IACK,QAAQ92C,KAAK42C,KACdj4C,EAAOi4C,kBAAoB,+BAC3B92C,GAAc,IAGtB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGL6b,EAAY,uCAAG,8BAAA1pB,EAAA,0DACb4N,EADa,uBAGbK,EAAW,CACPkyG,eAAgB5gH,EAAM4gH,eACtBD,sBAAuB3gH,EAAM2gH,sBAC7BE,qBAAsB,GACtBz7D,kBAAmBplD,EAAMolD,mBAAqB,GAC9CE,YAAatlD,EAAMslD,cAAe,EAClCm7D,YAAa,KACbC,eAAgBnkH,EAAMw9C,OAE1B//B,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBojD,cAAc,OAZhC,SAaGi5B,GAAuB/tE,GAb1B,QAaTzM,EAbS,QAcLoE,SACJyB,EAAiB,6BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAEvBsR,GAAa,SAAC5Z,GAAD,mBAAC,eAAaA,GAAd,IAAkBojD,cAAc,OApBhC,2CAAH,qDA0BlB,OACI,gCACI,eAACtkD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,GAAIxP,QAAS,EAA9C,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCACA,cAAC,IAAD,CAAW+tB,WAAS,EAACzQ,KAAM,EAAGnP,YAAY,qBAAqB3I,KAAK,iBAAiB6C,SAAUoF,IAC/F,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOyzG,oBAExC,eAAC1hH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,wCACA,cAAC,IAAD,CACImO,YAAY,6BACZpQ,MAAOsB,EAAM2gH,sBACb33G,SAAUoF,EACVjI,KAAK,0BAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOwzG,2BAExC,eAACzhH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAAC,GAAD,CACIwJ,MAAK,aACL6jB,QAAQ,cACRH,SAAUzsB,EAAMslD,YAChB34B,cAAeve,EACfse,QAAQ,oBACRG,SAAU7sB,EAAMolD,kBAChBh3C,YAAaA,EACbmc,WA9BD,SAACpkB,GAChB3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SA8BnB6E,SAAUhL,EAAM0lD,YAGpB,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOi4C,0BAG5C,cAAClmD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,GAAIxP,QAAS,EAA9C,SACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiB0b,YAAalB,EAAUypC,aAAczlD,QAASosB,EAAcxqB,WAAS,EAAtF,yCC/HP8mD,GAAgB,SAAClqD,GAC1B,MAA2GA,EAAMoqD,KAAzG/oD,EAAR,EAAQA,GAAIuI,EAAZ,EAAYA,KAAM26G,EAAlB,EAAkBA,qBAAsBxlC,EAAxC,EAAwCA,MAAOgmC,EAA/C,EAA+CA,YAAaP,EAA5D,EAA4DA,oBAAqBQ,EAAjF,EAAiFA,sBACjF,EAAmChjH,mBAAS,CAAEgxB,MAAM,IAApD,mBAAOiyF,EAAP,KAAmBC,EAAnB,KACI71D,EAAgBm1D,GAAuBQ,EACrCrqF,EAAa,SAACj1B,GAChBw/G,EAAa,CAAElyF,MAAM,IACrBttB,GAAO1F,EAAM6tB,cAAa,IAQ9B,OACI,qCACKo3F,EAAWjyF,KACR,cAAC,GAAD,CACIgqC,aAAa,EACbwvB,QAASxsF,EAAMwsF,QACf1yB,MAAO95D,EAAM85D,MACbz4D,GAAIA,EACJd,QAAS,kBAAMo6B,GAAW,IAC1B6iB,MAAOx9C,EAAMw9C,MACb3vB,aAAc8M,IAElB,KACJ,sBAAKh2B,UAAU,cAAf,UACI,qBACIA,UAAU,MACV3D,MAAK,aAAIqZ,SAAU,GAAI8vC,UAAW,WAAekF,GAAiB,CAAEnsD,MAAO,UAAW9B,OAAQ,YAC9FI,QAtBE,WACT6tD,GACD61D,EAAa,CAAElyF,MAAM,KAiBjB,SAKK+rD,IAEL,qBAAK/9E,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,OAAQ60C,MAAO,QAA1F,SAAqGy1D,GAA4B,KACjI,sBAAKpgH,UAAU,SAAS3D,MAAO,CAAEqZ,SAAU,GAAInX,MAAO,OAAQinD,UAAW,SAAU1vC,UAAW,QAAS60C,MAAO,SAA9G,UACK1lD,EADL,MACc26G,EAAuB1qG,KAAO0qG,GAAsBzqG,OAAO,OAAS,OAElF,uBACA,oBAAI9Y,MAAO,CAAE0pD,QAAS,gBAgEvBy6D,GA3DQ,SAACnlH,GAAW,IAAD,EAC9B,EAA0BgC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjByxF,uBAAuB,IAJ3B,mBAAO3hH,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,CAAC5hB,EAAM43G,oBAEV,IAAMh2F,EAAW,uCAAG,4BAAA1d,EAAA,sEACA+7E,GAAyBjgF,EAAMw9C,OAD/B,OACZ93C,EADY,OAEhBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2H,YAAY,EACZyQ,KAAMvW,EAAIW,KAAKyiE,cALH,2CAAH,qDAQXu8C,EAAmB,SAAC3/G,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELuhH,uBAAuB,OAE3B1/G,GAAOkc,KAEL0jG,EAAc,SAAC17G,EAAMmC,GACvB9J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJ+F,EAAOmC,QAGhB,OACI,gCACI,eAACpJ,EAAA,EAAD,CACII,MAAI,EACJC,GAAI,GACJhC,MAAO,CACH8B,QAAS,MACTpC,OAAQV,EAAMU,QAAU,QACxBD,SAAU,QAEdkE,UAAU,2BARd,UAUI,cAAC,IAAD,CAAY3D,MAAO,CAAE0X,WAAY,QAAUH,KAAMgtG,KAAK/4G,MAAM,qBAAqBhL,QAAS,kBAAM8jH,EAAY,yBAAyB,MACrI,oBAAItkH,MAAO,CAAE0pD,QAAS,SAX1B,UAYKjnD,EAAMwY,YAZX,aAYK,EAAY1S,KAAI,SAAC8zB,EAAGK,GAAJ,OACb,cAAC,GAAD,CAAe8uD,QAASxsF,EAAMwsF,QAAS1yB,MAAO95D,EAAM85D,MAAe1P,KAAM/sB,EAAGmgB,MAAOx9C,EAAMw9C,MAAO3vB,aAAcw3F,GAA9C3nF,SAGvEj6B,EAAM2hH,sBACH,cAACjlH,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAM+kH,EAAY,yBAAyB,IAAQllH,MAAO,yBAA0BI,SAAS,KAAK4C,WAAS,EAA5I,SACI,cAAC,GAAD,CAAmBo6C,MAAOx9C,EAAMw9C,MAAO3vB,aAAcw3F,MAEzD,SC9EVn4B,GAAoB,CACtB5qC,GAAI,UACJ6qC,GAAI,UACJC,GAAI,UACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJnrC,GAAI,QACJorC,GAAI,UACJC,GAAI,UACJC,GAAI,WAukBO63B,GApkBW,SAACxlH,GAAW,IAAD,MACjC,EAAoCgC,mBAAS,CACzCy9E,WAAY,GACZ+iC,UAAW,GACXrI,iBAAiB,EACjBp9D,kBAAmB,GACnB7I,YAAa,GACbD,aAAc,GACd45C,aAAc,GACd43B,eAAe,EACf5nE,aAAa,IATjB,mBAAOiwC,EAAP,KAAmBC,EAAnB,KAWA,EAAwC/rF,mBAAS,CAAE02B,cAAe,GAAIie,OAAQ,GAAI8rE,SAAU,KAA5F,mBAAOC,EAAP,KAAqBC,EAArB,KACA,EAA4B3gH,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpBuD,EAAU8b,eAChB,EAAsC3oB,mBAAS,CAC3C4gH,uBAAwB,KACxBC,gBAAiB,KACjBC,eAAgB,OAHpB,mBAAO9kG,EAAP,KAAoBC,EAApB,KAKI4S,EAAkB9sB,IAAW+sB,gBACzB6iB,EAAc3lC,eAAd2lC,UACFsP,EAAWtP,EAAUh8B,SAAS,UAC9B+7B,EAAaC,EAAUh8B,SAAS,YAChC63C,EAAiB7b,EAAUh8B,SAAS,gBACpCorG,EAAgB,uCAAG,4BAAA7+G,EAAA,sEACLgyD,GAAmBl2D,EAAMwG,WADpB,cACjBd,EADiB,yBAEdA,EAAIW,MAFU,2CAAH,qDAKhB28G,EAAQ,uCAAG,gCAAA9+G,EAAA,sEACG+xD,GAAkBj2D,EAAMq7E,eAD3B,OACT31E,EADS,OAET0vD,EAAO1vD,EAAIW,KAAK4V,MAChB5V,GAAW,OAAJ+uD,QAAI,IAAJA,OAAA,EAAAA,EAAMpjD,QAAS,EAAItM,EAAIW,KAAK4V,KAAK,GAAKvW,EAAIW,KAAK4V,OAEtD8xE,GAAc,SAAClqF,GAAD,mBAAC,eACRA,GADO,IAEV25C,MAAOn3C,EAAKm3C,MACZmvC,gBAAiBtmF,EAAKsmF,gBACtBqB,aAAch+E,IAAWgqD,kBAAkB3zD,EAAKymF,SAChDmB,cAAe5nF,EAAK6nF,WACpBxO,mBAAoBr5E,EAAKq5E,oBAAsB,GAC/CyO,iBAAkB9nF,EAAK8nF,kBAAoB,GAC3CC,kBAAmB/nF,EAAK+nF,mBAAqB,GAC7CC,SAAUhoF,EAAKgoF,UAAY,GAC3B7O,gBAAiBn5E,EAAKm5E,iBAAmB,GACzC8O,eAAgBjoF,EAAKioF,gBAAkB,GACvCm3B,cAAep/G,EAAKo/G,gBAAiB,EACrCl3B,WAAYloF,EAAKkoF,YAAc,GAC/B9O,WAAYp5E,EAAKo5E,YAAc,GAC/B+iC,UAAWn8G,EAAKm8G,WAAa,GAC7BzlE,kBAAmB12C,EAAK02C,mBAAqB,GAC7CyxC,aAAcnoF,EAAKmoF,aACnBX,aAAcxnF,EAAKwnF,aACnB35C,YAAa7tC,EAAK6tC,YAClBD,aAAc5tC,EAAK4tC,aACnBw6C,iBAAkBpoF,EAAKooF,iBACvBC,YAAaroF,EAAKqoF,YAClB6rB,gBAAiBvqG,IAAW6jC,cAAcxtC,EAAKk0G,iBAC/CD,WAAYj0G,EAAKi0G,WACjBztB,mBAAoBxmF,EAAKwmF,mBACzBo2B,YAAa58G,EAAK48G,YAClB7mE,iBAAkB/1C,EAAK+1C,iBACvB1lC,UAAWrQ,EAAKqQ,UAChByjG,gBAAiB9zG,EAAK8zG,gBACtBltE,aAAc5mC,EAAKoQ,oBACnBmhG,kBAAmB,IAAI1jG,KACvB6xC,eAAgB1/C,EAAK0/C,eACrBhyC,UAAW1N,EAAK0N,UAChB46E,WAAYtoF,EAAKsoF,WACjBq1B,mBAAoB39G,EAAK29G,mBACzBlI,gBAAiBz1G,EAAKy1G,gBACtBr1G,eAAgBJ,EAAKI,eACrBi/G,YAAar/G,EAAKq/G,YAClB5vE,aAAczvC,EAAKyvC,aACnBimE,cAAe11G,EAAK01G,cACpB4J,iBACwB,MAApBt/G,EAAKqoF,aACe,MAApBroF,EAAKqoF,aACe,MAApBroF,EAAKqoF,aACe,MAApBroF,EAAKqoF,aACe,MAApBroF,EAAKqoF,aACe,MAApBroF,EAAKqoF,aACe,MAApBroF,EAAKqoF,aACe,MAApBroF,EAAKqoF,iBAtDJ,2CAAH,qDA2Dd9qF,oBAAS,sBAAC,4BAAAM,EAAA,6DACN8+G,IADM,SAEgBD,IAFhB,OAEFG,EAFE,OAGNP,EAAgBO,GAHV,2CAIP,IAEH,IAAMxJ,EAAgB,SAACh0G,GACnBA,GAAOqoF,GAAc,SAAClqF,GAAD,mBAAC,eAAaA,GAAd,IAAkB+zG,kBAAmB,IAAI1jG,UAC9DxO,GAAOs9G,KAGL4C,EAAe,SAAClgH,GAClBqoF,GAAc,SAAClqF,GAAD,mBAAC,eACRA,GADO,kBAET6B,GAAM,QAITuqD,EAAgB,SAACvqD,GACnBqoF,GAAc,SAAClqF,GAAD,mBAAC,eACRA,GADO,IAEVqsD,cAAc,EACdrS,aAAa,OAEjBn4C,GAAOg0G,GAAc,IAGzB91G,qBAAU,WAAO,IAAD,MACRi8B,EAAQ,GAERiuD,EAAW/wC,oBAAqB,UAAA2lE,EAAahqF,qBAAb,eAA4B1mB,QAAS,IACrE6tB,EAAM+iF,uBAAyBF,EAAahqF,cAAcllB,MAAK,qBAAGnS,KAAgBysF,EAAW/wC,sBAE7F+wC,EAAWrO,aAAc,UAAAijC,EAAa/rE,cAAb,eAAqB3kC,QAAS,IACvD6tB,EAAMgjF,gBAAkBH,EAAa/rE,OAAOnjC,MAAK,qBAAGnS,KAAgBysF,EAAWrO,eAE/EqO,EAAW00B,YAAa,UAAAE,EAAaD,gBAAb,eAAuBzwG,QAAS,IACxD6tB,EAAMijF,eAAiBJ,EAAaD,SAASjvG,MAAK,qBAAGnS,KAAgBysF,EAAW00B,cAEpFvkG,GAAe,SAACpa,GAAD,mBAAC,eACTA,GACAg8B,QAER,CAACiuD,EAAW/wC,kBAAmB+wC,EAAWrO,WAA1C,OAAsDijC,QAAtD,IAAsDA,OAAtD,EAAsDA,EAAc/rE,OAApE,OAA4Em3C,QAA5E,IAA4EA,OAA5E,EAA4EA,EAAY00B,UAAxF,OAAmGE,QAAnG,IAAmGA,OAAnG,EAAmGA,EAAcD,SAAjH,OAA2HC,QAA3H,IAA2HA,OAA3H,EAA2HA,EAAchqF,gBAC5I,IAAMsuE,EAAU,CACZ,CACIx6F,MAAO,eACPyqD,KACI,cAAC,GAAD,CACIu1B,QAAO,OAAEsB,QAAF,IAAEA,OAAF,EAAEA,EAAYnB,gBACrB7yB,MAAOg0B,EAAWD,aAClBrnF,UAAWxG,EAAMwG,UACjBg3C,MAAOx9C,EAAMq7E,cACb36E,OAAQ,OAIpB,CACI8L,MAAO,cACPyqD,KACI,cAAC,GAAD,CACIvqB,UAAW1sC,EAAM0sC,UACjB0Z,MAAOpmD,EAAMq7E,cACbj+B,SAAS,MACTilE,iBAAiB,EACjB3hH,OAAQ,IACRk3G,kBAAmB9pB,EAAW8pB,qBAI1C,CACIprG,MAAO,kBACPyqD,KAAM,cAAC,GAAD,CAAgBzwD,UAAWxG,EAAMwG,UAAWoxG,kBAAmB9pB,EAAW8pB,kBAAmBp6D,MAAOx9C,EAAMq7E,cAAe36E,OAAQ,OAE3I,CACI8L,MAAO,UACPyqD,KAAM,cAAC,GAAD,CAAYzZ,MAAOx9C,EAAMq7E,cAAeu8B,kBAAmB9pB,EAAW8pB,kBAAmBl3G,OAAQ,QAIzG44D,EAAW,WACb,IAAIC,GAAW,EACXC,EAAM,GAuBV,OAtBKx7C,EAAY6kG,kBACbrpD,EAAIimB,YAAa,EACjBlmB,GAAW,GAEVv7C,EAAY8kG,iBACbtpD,EAAIgpD,WAAY,EAChBjpD,GAAW,GAEVv7C,EAAY4kG,yBACbppD,EAAIzc,mBAAoB,EACxBwc,GAAW,IAEVu0B,EAAWO,SAAW,IACvB70B,EAAI60B,UAAW,EACf90B,GAAW,IAEVu0B,EAAWS,WAAa,IACzB/0B,EAAI+0B,YAAa,EACjBh1B,GAAW,GAGfL,EAAUM,GACHD,GAGLt1D,EAAU,uCAAG,kCAAAC,EAAA,0DACXo1D,IADW,gCAEUnD,GAAe,CAChC3Y,MAAOx9C,EAAMq7E,cACbt+B,kBAAiB,UAAE/+B,EAAY4kG,8BAAd,aAAE,EAAoCvhH,GACvDo+E,WAAU,UAAEzhE,EAAY6kG,uBAAd,aAAE,EAA6BxhH,GACzCmhH,UAAS,UAAExkG,EAAY8kG,sBAAd,aAAE,EAA4BzhH,GACvCq+E,mBAAoBoO,EAAWpO,oBAAsB,KACrDyO,iBAAkBL,EAAWK,kBAAoB,KACjDC,kBAAmBN,EAAWM,mBAAqB,KACnDC,SAAUP,EAAWO,UAAY,KACjC7O,gBAAiBsO,EAAWtO,iBAAmB,KAC/C+O,WAAYT,EAAWS,YAAc,KACrCD,eAAgBR,EAAWQ,gBAAkB,KAC7Cm3B,cAAe33B,EAAW23B,gBAAiB,IAdpC,QAEPtuG,EAFO,SAiBPA,EAASrN,QAAUyB,EAAiB,oCAAsCD,EAAe6L,EAAShL,SAAW,wBAC7GutG,GAAc,IAEdpuG,EAAe,wBApBR,2CAAH,qDAyBVouD,EAAe,SAACl7C,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd+hF,GAAc,SAAClqF,GAAD,mBAAC,eACRA,GADO,kBAETwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,KAGR2sD,EAAoBx4F,uBAAY,SAACvhB,GACnC,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACP,SAAVvK,GAA2C,UAAvBuK,EAAK4gB,cACzBygE,GAAc,SAAClqF,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OACvB,UAAVzH,GAA4C,UAAvBuK,EAAK4gB,eACjCygE,GAAc,SAAClqF,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,SAE7C,IAEGqW,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SAGrCqtG,EAAmB,WACrBvqG,EAAQ8qG,UAiBN/qB,EACFd,EAAW55C,aAAe45C,EAAW75C,aAArC,YACW65C,EAAW55C,YAAc45C,EAAW55C,YAAc,GAD7D,YACmE45C,EAAW75C,aAAe65C,EAAW75C,aAAe,GADvH,KAEM,GAOV,OACI,sBAAKtvC,UAAU,oBAAoB3D,MAAO,CAAE8B,QAAS,OAArD,UACI,cAAC,GAAD,CAAamjD,SAAS,OAAOW,eAAgB5mD,EAAMq7E,gBACnD,eAAC14E,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,QAA1B,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqV,QAAQ,aAAarX,MAAO,CAAEmhC,gBAAiB,UAAWr/B,QAAS,SAAhG,WACe,OAAVgrF,QAAU,IAAVA,OAAA,EAAAA,EAAYa,YACT,eAAChsF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,WACe,OAAV2qF,QAAU,IAAVA,OAAA,EAAAA,EAAYa,aAAc,GAD/B,WACoCb,QADpC,IACoCA,OADpC,EACoCA,EAAYnB,gBADhD,UAKJ,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UAAwC,OAAV2qF,QAAU,IAAVA,OAAA,EAAAA,EAAYnB,kBAAmB,QAGrE,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWE,kBAE7C,eAACrrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAW7gD,kBAE7C,eAACtqC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UACI,sBAAM3B,QApCP,SAACuK,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BtzB,EAAMwG,WAC3CqJ,OAAQ,MAiC+C7O,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA3F,SACKo1E,EAAWD,eAEfe,QAOT,eAACjsF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACK,IACD,sBAAK/vB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,SAAxC,UACI,cAACrV,EAAA,EAAD,CAAgBpE,MAAO,CAAEyZ,UAAW,OAApC,mBACA,eAACtN,GAAA,EAAD,CAAYhK,QAAQ,SAASnC,MAAO,CAAEqZ,SAAU,GAAI3B,WAAY,OAAQxV,MAAO,SAA/E,2BACM4qF,EAAWG,qBADjB,aACM,EAA0BpsD,QAAQ,GAAGC,QAAQ,0BAA2B,qBAW9F,cAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEyD,UAAW,GAAvC,SACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,kBAAtC,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,eAACkB,GAAA,EAAD,CAAO1Z,MAAM,EAAO2Z,SAAUg7D,GAAkBY,EAAWY,aAAc/pF,UAAU,cAAnF,UACI,sBAAM3D,MAAO,CAAEF,QAAS,QAASuZ,SAAU,QAA3C,oBACA,sBAAMrZ,MAAO,CAAE0X,WAAY,QAA3B,SAAsCo1E,EAAWW,wBAGzD,cAAC9rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,eAACkB,GAAA,EAAD,CAAO1Z,KAAM,cAAC,KAAD,CAAU8B,SAAS,YAAc6X,SAAS,UAAUvtB,UAAU,cAA3E,UACI,sBAAM3D,MAAO,CAAEF,QAAS,QAASuZ,SAAU,QAA3C,6BACA,sBAAMrZ,MAAO,CAAE0X,WAAY,QAA3B,SAAsCo1E,EAAW/nC,2BAKjE,eAACpjD,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,UAAW,GAAhD,UACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIguB,GAAI,EAAjC,UACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqV,QAAQ,gBAAgBrX,MAAO,CAAEq9C,WAAY,OAAS15C,UAAU,uBAA7F,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,eAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,wBAEI,sBAAMlC,MAAO,CAAEC,SAAU,WAAY4uB,IAAK,OAAQ7V,KAAM,OAAxD,SACI,cAAC,KAAD,CACIlG,SAAU9T,EAAMq7E,cAChBpnE,uBAAuB,YACvBF,UAAW+5E,EAAW/5E,UACtB6B,WAAY,kBAAM8jG,GAAc,aAKhD,cAAC/2G,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAE8B,QAAS,mBAA7B,SACI,eAACH,EAAA,EAAD,CAAMC,WAAS,EAAf,UACKkrF,EAAW43B,aACR,cAAC/iH,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,KAAD,CACIwV,KAAMmsB,KACN6Z,aAAc,GACd/8C,QAvHnB,SAACuK,GACW,MAA7B+hF,EAAWrnF,eACXoI,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,OAA8Bw6D,EAAW43B,YAAzC,YAAwD53B,EAAWU,cAC3E/qF,MAAO,SAGXoL,EAAQC,KAAK,CACTwkB,SAAS,gCAAD,OAAkCw6D,EAAW43B,YAA7C,YAA4D53B,EAAWU,cAC/E/qF,MAAO,UA+GyBkB,UAAU,QACVgU,aAA2C,MAA7Bm1E,EAAWrnF,eAAyB,iBAAmB,yBAI/EqnF,EAAWh4C,eAAiBmN,IAAavP,IAAe8b,GACtD,cAAC,KAAD,CACIj3C,KAAMC,KACNG,aAAY,UAAKm1E,EAAWh4C,aAAe,SAAW,MAA1C,QACZyI,aAAc,GACd55C,UAAU,QACVnD,QAAS,kBAAMokH,EAAa,mBAGpC,cAACjjH,EAAA,EAAD,CAAMI,MAAI,EAAV,SACK+qF,EAAWW,kBACR,cAAC,GAAD,CACIirB,cAAeA,EACfz1G,WAAYA,EACZuC,UAAWxG,EAAMwG,UACjBvF,SAAUjB,EAAMiB,SAChB08C,OAAQmwC,EAAWY,YACnBroF,KAAMynF,EACNtwC,MAAOx9C,EAAMq7E,cAAgBr7E,EAAMq7E,cAAgByS,EAAWtwC,MAC9D47D,iBAAkBA,EAClBa,SAAQ,OAAEppF,QAAF,IAAEA,OAAF,EAAEA,EAAiBi1F,cAC3BhM,QAAQ,OACRE,gBAAgB,EAChBD,oBAAmB,OAAElpF,QAAF,IAAEA,OAAF,EAAEA,EAAiBi1F,0BAQ9D,eAACnjH,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAEq9C,WAAY,QAAU15C,UAAU,uBAAzD,UAC+B,MAA1BmpF,EAAWY,aAAuBZ,EAAWm1B,YAC1C,cAAC,GAAD,CAAgBn1B,WAAYA,IAE5B,eAACnrF,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACMirF,EAAW63B,iBAUT,eAAChjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGpsB,UAAU,mBAA5C,UACI,cAAC,IAAD,CACI2N,WAAW,gBACXyzG,YAAY,EACZtnG,QAASikG,EAAahqF,cACtBv2B,MAAO6b,EAAY4kG,uBACnBn2G,SAAUwT,EAAmB,0BAC7B65B,YAAag0C,EAAW63B,mBAE5B,cAACvgH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOmsC,kBAAoB,yBAA2B,UAlBjF,cAACp6C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAGpsB,UAAU,cAApC,SACI,sBAAKA,UAAU,cAAc3D,MAAO,CAAEI,OAAQ,WAAaI,QAAS,kBAAMokH,EAAa,gBAAvF,UACI,cAACzhH,EAAA,EAAD,CAAYC,QAAM,EAACO,UAAU,cAA7B,2BAGA,qBAAKA,UAAU,cAAf,mBAA8BqZ,EAAY4kG,8BAA1C,aAA8B,EAAoCh5G,YAgB9E,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAAC,IAAD,CACI2N,WAAW,WACXyzG,YAAY,EACZtnG,QAASikG,EAAaD,SACtBtgH,MAAO6b,EAAY8kG,eACnBr2G,SAAUwT,EAAmB,kBAC7B65B,YAAag0C,EAAW63B,mBAE5B,cAACvgH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO4xG,UAAY,yBAA2B,UAEzE,eAAC7/G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAAC,IAAD,CACI2N,WAAW,aACXyzG,YAAY,EACZtnG,QAASikG,EAAa/rE,OACtBx0C,MAAO6b,EAAY6kG,gBACnBp2G,SAAUwT,EAAmB,mBAC7B65B,YAAag0C,EAAW63B,mBAE5B,cAACvgH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO6uE,WAAa,yBAA2B,UAE1E,eAAC98E,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIze,WAAW,cACX5F,KAAK,SACLvK,MAAO2rF,EAAWO,UAAY,GAC9BzkF,KAAK,WACL6C,SAAUitD,EACV5f,YAAag0C,EAAW63B,mBAE5B,cAACvgH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOy9E,SAAW,iCAAmC,UAEhF,eAAC1rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UAEI,cAAC,IAAD,CACIze,WAAW,mBACXyzG,YAAY,EACZ70F,WAAY,CACRC,KAAK,IAAIjd,MAAOkd,cAAcC,MAAM,EAAG,KAE3ClvB,MAAO0X,KAAOi0E,EAAWQ,gBAAgBx0E,OAAO,cAChDlQ,KAAK,iBACL6C,SAAUitD,EACV5f,YAAag0C,EAAW63B,mBAE5B,cAACvgH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO09E,eAAiB,iCAAmC,UAGtF,eAAC3rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC,IAAD,CACIze,WAAW,cACX5F,KAAK,SACLvK,MAAO2rF,EAAWS,WAClB3kF,KAAK,aACL6C,SAAUitD,EACV5f,YAAag0C,EAAW63B,mBAE5B,cAACvgH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO29E,WAAa,iCAAmC,UAElF,cAAC5rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,oBACXnQ,MAAO2rF,EAAWpO,mBAClB91E,KAAK,qBACL6C,SAAUitD,EACV5f,YAAag0C,EAAW63B,qBAGhC,cAAChjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,eAACpuB,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,gBACXxQ,KAAK,gBACLzH,MAAO2rF,EAAW23B,cAClBh5G,SAAUo5G,EALd,UAOI,cAACp1F,GAAA,EAAD,CACItd,SAAsC,IAA7B26E,EAAW23B,cACpBtjH,OAAO,EACPuuB,QAAS,cAACC,GAAA,EAAD,IACTnkB,MAAM,QAEV,cAACikB,GAAA,EAAD,CACItd,SAAsC,IAA7B26E,EAAW23B,cACpBtjH,OAAO,EACPuuB,QAAS,cAACC,GAAA,EAAD,IACTnkB,MAAM,oBAQlC,cAAC7J,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEgwD,cAAe,OAArD,SACK88B,EAAWW,kBACR,cAAC,GAAD,CACIirB,cAAeA,EACfz1G,WAAYA,EACZuC,UAAWxG,EAAMwG,UACjBm3C,OAAQmwC,EAAWY,YACnBroF,KAAMynF,EACNtwC,MAAOx9C,EAAMq7E,cAAgBr7E,EAAMq7E,cAAgByS,EAAWtwC,MAC9D47D,iBAAkBA,EAClBa,UAAU,EACVF,qBAAqB,YAWzC,cAACp3G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,EAAGhwB,MAAO,CAAEq9C,WAAY,OAA/C,SACI,cAAC17C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAASq4F,QAAS2L,cAKjClZ,EAAWjwC,YACR,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAM0vD,GAAc,IAAQ7vD,MAAO,wBAApE,SACI,cAAC,GAAD,CAAqB21B,eAAc,UAAE/X,EAAY4kG,8BAAd,aAAE,EAAoCvhH,GAAIwsB,aAAc,kBAAMoiC,GAAc,QAEnH,KACH69B,EAAW59B,aACR,cAAC/vD,GAAA,EAAD,CAAYC,MAAK,UAAK0tF,EAAWh4C,aAAe,SAAW,MAA1C,QAAuDv1C,QAAS,kBAAM0vD,GAAc,IAAQzvD,SAAS,KAAKC,SAAS,OAApI,SACI,cAAC,GAAD,CACIisC,UAAWohD,EAAWU,aACtB9hC,OAAQohC,EAAWh4C,aACnBA,aAAcg4C,EAAWh4C,aACzB0H,MAAOswC,EAAWtwC,MAClBj9C,QAAS0vD,MAGjB,SC7lBV7vC,GAAe,CACjB,CACIhS,IAAK,uBACLxE,KAAM,cACN+D,MAAO,OAEX,CACIS,IAAK,4BACLxE,KAAM,mBACN+D,MAAO,OAEX,CACIS,IAAK,yBACLxE,KAAM,WACN+D,MAAO,KACPgH,UAAW3E,IAAWmL,qBACtBF,eAAgBjL,IAAWkL,wBAE/B,CACI9M,IAAK,0BACLxE,KAAM,aACN+D,MAAO,MACPgH,UAAW3E,IAAW2wE,gBACtB1lE,eAAgBjL,IAAWkL,wBAE/B,CACI9M,IAAK,kCACLxE,KAAM,sBACN+D,MAAO,MACPgH,UAAW3E,IAAW2wE,gBACtB1lE,eAAgBjL,IAAWkL,wBAE/B,CACI9M,IAAK,yBACLxE,KAAM,WACN+D,MAAO,KACPgH,UAAW,SAACtO,GAAD,OAAU,qBAAKrF,MAAO,CAAEyZ,UAAW,SAAzB,SAAqCpU,EAAKqO,IAAIsxG,wBAA0B,QAC7F/qG,eAAgBjL,IAAWkL,wBAE/B,CACI9M,IAAK,eACLxE,KAAM,iBACNqR,eAAgBjL,IAAWkL,wBAE/B,CACI9M,IAAK,WACLxE,KAAM,QACNqR,eAAgBjL,IAAWkL,yBAG7B+qG,GAAc,SAACl6G,GACjB,OAAOA,EAAMA,EAAI81B,QAAQ,GAAGC,QAAQ,0BAA2B,OAAS,GA4sB7D28E,OA1sBf,SAAyBz+G,GACrB,MAA0BgC,mBAAS,CAC/BkkH,UAAW,GACX1I,UAAW,KACXT,kBAAmB,GACnBoJ,gBAAiB,KACjBC,kBAAmB,KACnBC,cAAe,GACfpJ,YAAa,GACbC,WAAY,GACZC,eAAgB,EAChBmJ,aAAc,GACdC,aAAc,GACd7I,WAAY,GACZ8B,aAAc,KACdC,cAAe,KACf+G,gCAAiC,KACjC7I,gBAAiB,GACjB8I,cAAe,GACfC,WAAY,GACZC,SAAU,GACVC,eAAgB,GAChBllG,KAAM,GACN9Q,OAAQ,GACRi2G,UAAU,EACVC,aAAa,EACbC,kBAAmB,KACnBC,qBAAsB,KACtBC,uBAAwB,KACxBC,kBAAmB,KACnBC,wBAAwB,EACxBC,2BAA4B,EAC5BC,0BAA2B,IA/B/B,mBAAO5jH,EAAP,KAAcxB,EAAd,KAkCI4uB,GADkB7iB,eAAd2lC,UACc5vC,IAAW+sB,iBAEjC,EAAkC9uB,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAgDIvb,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,MAAMyV,SAAS3X,EAAMsnH,UAA9C,OAAyDz2F,QAAzD,IAAyDA,OAAzD,EAAyDA,EAAiBi1F,eAEtF36E,EAAgB,SAAC9kC,GACnB,OACI,sBAAKrF,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,UACI,cAAC,IAAD,CAAY3Z,aAAa,gBAAgBmhC,WAAYr2C,EAAMojH,SAAUrlH,QAAS,kBAnDhEoO,EAmDuFvJ,EAAKqO,SAlDlHzS,GAAS,SAAC4B,GAiBN,OAhBS,2BACFA,GADE,IAELxC,GAAIuO,EAAOvO,GACXq8G,WAAY9tG,EAAO23G,qBACnB/H,aAAc5vG,EAAO43G,uBACrBf,cAAe72G,EAAOo2G,uBACtBvG,cAAe7vG,EAAO63G,wBACtBjB,gCAAiC52G,EAAO42G,gCACxCa,0BAA2BpB,GACtBr2G,EAAO42G,gCAAkC52G,EAAO83G,gCAAkC,IAAM93G,EAAO+3G,gCAAkC,GAAM,KAE5IhK,gBAAiB/tG,EAAOg4G,0BACxBlB,WAAY92G,EAAO82G,WACnBmB,OAAQj4G,EAAOvO,GACfymH,UAAU,OAhBG,IAACl4G,MAoDE,OAAfihB,QAAe,IAAfA,OAAA,EAAAA,EAAiB6vD,oBAAqB,cAAC,IAAD,CAAcl/E,QAAS,kBA9BjD,SAACoO,GACtB,IAAMvO,EAAKuO,EAAOvO,GACZ0mH,EAAUtkH,EAAMie,KAAKwc,QAAO,SAACn7B,GAAD,OAAUA,EAAK1B,KAAOA,KACpD2mH,EAAuB,CACvB3mH,GAAIuO,EAAOvO,GACXwmH,OAAQj4G,EAAOvO,GACfkmH,qBAAsB33G,EAAO23G,qBAC7BC,uBAAwB53G,EAAO43G,uBAC/BxB,uBAAwBp2G,EAAOo2G,uBAC/ByB,wBAAyB73G,EAAO63G,wBAChCjB,gCAAiC52G,EAAO42G,gCACxCoB,0BAA2Bh4G,EAAOg4G,0BAClClB,WAAY92G,EAAO82G,WACnBuB,WAAW,GAEfF,EAAQj5G,KAAKk5G,GACb/lH,GAAS,SAAC4B,GAKN,OAJS,2BACFA,GADE,IAEL6d,KAAMqmG,OAW8DG,CAAiB7hH,EAAKqO,MAAMiE,aAAa,wBAKnHwvG,EAAiB,SAAC9hH,GACpB,MAAoFA,EAAKqO,IAAjF8yG,EAAR,EAAQA,uBACFtrG,EADN,EAAgCurG,wBACSD,GAA0B,IADnE,EAAyDxB,wBAC0C,GAAM,IACzG,OAAO,sBAAKhlH,MAAO,CAAEyZ,UAAW,SAAzB,iBAAsCwrG,GAAY/pG,OAEvDksG,EAAwB,SAAC/hH,GAC3B,MAA4FA,EAAKqO,IAC7F2zG,EADJ,EAAQ7B,gCAAR,EAAyCgB,wBACwC,IADjF,EAAiExB,wBACgD,GAAM,IACvH,OAAO,sBAAKhlH,MAAO,CAAEyZ,UAAW,SAAzB,iBAAsCwrG,GAAYoC,OAEvD90G,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBkoG,EAAa7nG,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,aAAbA,EAAKqL,OAC3Cm6G,EAAe9nG,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,iBAAbA,EAAKqL,OAUjD,OATIlM,GACAue,EAAUib,OAAO,EAAG,EAAG,CAAEttB,IAAK,SAAUxE,KAAM,SAAU+K,UAAWw2B,EAAex9B,MAAO,OAEzF26G,IACAA,EAAW3zG,UAAYwzG,GAEvBI,IACAA,EAAa5zG,UAAYyzG,GAEtB3nG,KAGX,EAA6Chf,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,sCAAAM,EAAA,6DACNjC,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2kH,gBAAiBxoH,EAAMwoH,gBAAiBtL,WAAYl9G,EAAMk9G,WAAYuL,OAAQzoH,EAAMyoH,YADzG,SAEW/N,KAFX,WAEFtlD,EAFE,QAGGtrD,UACC4+G,EAAWtzD,EAAK/uD,KAAKiY,aAAa/U,KAAI,SAACxG,GAAD,MAAW,CACnD1B,GAAI0B,EAAK4lH,MAAQ,IAAM5lH,EAAK6lH,SAC5Bh/G,KAAM7G,EAAK8lH,eAEf5mH,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8iH,SAAU+B,EACV9B,eAAgBxxD,EAAK/uD,KAAKugH,eAC1BP,cAAejxD,EAAK/uD,KAAKggH,cACzByC,aAAc1zD,EAAK/uD,KAAK22G,gBAG5Bh9G,EAAMw9G,UAhBJ,wBAiBEuL,EAAW,GAjBb,SAkBctO,GAAez6G,EAAMw9G,WAlBnC,OAkBE93G,EAlBF,OAmBFqjH,EAAWrjH,EAAIW,KAAK2iH,uBAAuBz/G,KAAI,SAACxG,EAAMuhD,GAAP,mBAAC,eACzCvhD,GADwC,IAE3C1B,GAAIijD,EAAQ,EACZ2jE,WAAW,OAETgB,EAAOvjH,EAAIW,KAAK6iH,sBAAsB,GACxCxjH,EAAIoE,WACA+1B,EAAQ,IACN29E,UAAYyL,EAAKzL,UACvB39E,EAAMk9E,kBAAoBkM,EAAKE,mBAC/BtpF,EAAMupF,aAAeH,EAAKG,aAC1BvpF,EAAMsmF,gBAAkB8C,EAAK9C,gBAC7BtmF,EAAMwpF,kBAAoBJ,EAAKI,kBAC/BxpF,EAAMymF,aAAe2C,EAAKK,sBAAwB,IAAML,EAAKM,yBAC7D1pF,EAAMypF,sBAAwBL,EAAKK,sBACnCzpF,EAAM0pF,yBAA2BN,EAAKM,yBACtC1pF,EAAM0mF,aAAe0C,EAAKO,sBAC1B3pF,EAAMne,KAAOqnG,EACblpF,EAAMgnF,SAA+B,KAApBoC,EAAKQ,YACtB5pF,EAAM4pF,YAAcR,EAAKS,WACzB7pF,EAAMo9E,YAAcgM,EAAKU,mBACzB9pF,EAAMq9E,WAAa+L,EAAKW,mBACxB/pF,EAAMgqF,2BAA6BZ,EAAKY,2BACxChqF,EAAMunF,2BAA6BnB,GAAYgD,EAAKa,2BACpDjqF,EAAMs9E,eAAiB8L,EAAKc,sBAC5BlqF,EAAMwpF,kBAAoBJ,EAAKI,kBAC/BpnH,GAAS,SAACwB,GAAD,mBAAC,eACHA,GACAo8B,OA/CT,4CAmDP,IAEHj8B,qBAAU,WACN,IACqD,EAGM,EAIE,EAGC,EAX1Di8B,EAAQ,GACRp8B,EAAM6iH,cAAgB7iH,EAAMkjH,SAAS30G,OAAS,IAC9C6tB,EAAMqnF,kBAAN,UAA0BzjH,EAAMkjH,gBAAhC,aAA0B,EAAgBnzG,MAAK,qBAAGnS,KAAgBoC,EAAM6iH,iBAExE7iH,EAAM8iH,cAAgB9iH,EAAMmjH,eAAe50G,OAAS,IACpD6tB,EAAMknF,kBAAN,UAA0BtjH,EAAMmjH,sBAAhC,aAA0B,EAAsBpzG,MAAK,qBAAGnS,KAAgBoC,EAAM8iH,iBAG9E9iH,EAAM0iH,iBAAmB1iH,EAAM4iH,cAAcr0G,OAAS,IACtD6tB,EAAMmnF,qBAAN,UAA6BvjH,EAAM4iH,qBAAnC,aAA6B,EAAqB7yG,MAAK,qBAAGnS,KAAgBoC,EAAM0iH,oBAEhF1iH,EAAM4lH,mBAAqB5lH,EAAMqlH,aAAa92G,OAAS,IACvD6tB,EAAMonF,uBAAN,UAA+BxjH,EAAMqlH,oBAArC,aAA+B,EAAoBt1G,MAAK,qBAAGnS,KAAgBoC,EAAM4lH,sBAErFpnH,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GACAg8B,QAER,CACCp8B,EAAM6iH,aACN7iH,EAAMkjH,SACNljH,EAAM8iH,aACN9iH,EAAMmjH,eACNnjH,EAAM0iH,gBACN1iH,EAAM4iH,cACN5iH,EAAMqlH,aACNrlH,EAAM4lH,oBAGV,IAAMW,EAAYvmH,EAAMg8G,cAAgBh8G,EAAM+7G,cAAgB,IAAM/7G,EAAMgjH,eAAiB,GAAM,IAC3FvqG,EAAQ+pG,GAAY+D,GAEpBC,EAAkBxmH,EAAMy5G,WAAaz5G,EAAMw5G,aAAe,IAAMx5G,EAAM05G,gBAAkB,GAAM,IAE9Fp9F,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACV09B,EAAQ,GAGZ,GAFAA,EAAMj2B,GAAQzH,EACd09B,EAAMqmF,UAAYt8G,EACL,eAATA,EAAuB,CACvB,IAAImC,EAAM5J,GAAS,EAAIsB,EAAMglH,OAAS,KACtC5oF,EAAMgqF,2BAA6B5D,GAAYl6G,GAC/C,IAAMm+G,EAAmBn+G,EAAMtI,EAAMw5G,aAAe,IAAMx5G,EAAM05G,gBAAkB,GAAM,IACxFt9E,EAAMunF,2BAA6BnB,GAAYiE,GAEnD,GAAa,kBAATtgH,EAA0B,CAC1B,IAAIugH,EAAoBhoH,GAAS,EAAIsB,EAAMglH,OAAS,KACpD5oF,EAAM2mF,gCAAkCP,GAAYkE,GACpD,IAAMC,EAAgBD,EAAoB1mH,EAAM+7G,cAAgB,IAAM/7G,EAAMgjH,eAAiB,GAAM,IAC/F4D,EAA0BpE,GAAYmE,GAC1CvqF,EAAMwnF,0BAA4BgD,EAEtC,GAAa,oCAATzgH,EAA4C,CAC5C,IAAMwgH,EAAgBjoH,EAAQsB,EAAM+7G,cAAgB,IAAM/7G,EAAMgjH,eAAiB,GAAM,IACnF4D,EAA0BpE,GAAYmE,GAC1CvqF,EAAMwnF,0BAA4BgD,EAEtC,GAAa,+BAATzgH,EAAuC,CACvC,IAAMsgH,EAAmB/nH,EAAQsB,EAAMw5G,aAAe,IAAMx5G,EAAM05G,gBAAkB,GAAM,IAC1Ft9E,EAAMunF,2BAA6BnB,GAAYiE,GAEnD,GAAa,mBAATtgH,EAA2B,CAC3B,IAAMsgH,EAAmBzmH,EAAMomH,2BAA6BpmH,EAAMw5G,aAAe,IAAM96G,GAAS,GAAM,IACtG09B,EAAMunF,2BAA6BnB,GAAYiE,GAEnD,GAAa,gBAATtgH,EAAwB,CACxB,IAAMsgH,EAAmBzmH,EAAMomH,2BAA6B1nH,GAAS,IAAMsB,EAAM05G,gBAAkB,GAAM,IACzGt9E,EAAMunF,2BAA6BnB,GAAYiE,GAEnD,GAAa,kBAATtgH,EAA0B,CAC1B,IAAMwgH,EAAgB3mH,EAAM+iH,gCAAkC/iH,EAAM+7G,cAAgB,IAAMr9G,GAAS,GAAM,IACrGkoH,EAA0BpE,GAAYmE,GAC1CvqF,EAAMwnF,0BAA4BgD,EAEtC,GAAa,iBAATzgH,EAAyB,CACzB,IAAMwgH,EAAgB3mH,EAAM+iH,gCAAkCrkH,GAAS,IAAMsB,EAAMgjH,eAAiB,GAAM,IACtG4D,EAA0BpE,GAAYmE,GAC1CvqF,EAAMwnF,0BAA4BgD,EAEtCpoH,GAAS,SAACwB,GAAD,mBAAC,eACHA,GACAo8B,OAILyqF,EAAqB,SAAC/rG,GAAD,OAAQ,SAACzS,EAAGC,GACnC,GAAW,sBAAPwS,EAA4B,CAAC,IAAD,EACtBgsG,EAAG,OAAGx+G,QAAH,IAAGA,GAAH,UAAGA,EAAK1K,UAAR,aAAG,EAASy5F,MAAM,MAC3B,OAAIyvB,QAAJ,IAAIA,OAAJ,EAAIA,EAAKv4G,SACL/P,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,gBAEL6lH,sBAAuBiB,EAAI,GAC3BhB,yBAA0BgB,EAAI,IAC7BhsG,EAAKxS,YAId9J,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJ8a,EAAKxS,SAKZ+F,EAAc,WAChB,IAAQirG,EAA2Gt5G,EAA3Gs5G,kBAAmBmK,EAAwFzjH,EAAxFyjH,kBAAmBhK,EAAqEz5G,EAArEy5G,WAA6BD,GAAwCx5G,EAAzD0iH,gBAAyD1iH,EAAxCw5G,aAAagK,EAA2BxjH,EAA3BwjH,uBACpFzkG,EAAoB,QACpBzQ,GAAc,EACdnB,EAAS,GAgCb,OA/BK4R,EAAkBvQ,KAAK8qG,KACxBnsG,EAAOmsG,kBAAoB,0BAC3BhrG,GAAc,GAEbm1G,IACDt2G,EAAO01G,aAAe,4BACtBv0G,GAAc,GAEbtO,EAAMsjH,oBACPn2G,EAAO21G,aAAe,4BACtBx0G,GAAc,GAEbyQ,EAAkBvQ,KAAKirG,KACxBtsG,EAAOssG,WAAa,mBACpBnrG,GAAc,GAEbtO,EAAMujH,uBACPp2G,EAAOu1G,gBAAkB,qBACzBp0G,GAAc,GAEbk1G,IACDr2G,EAAOq2G,uBAAyB,wBAChCl1G,GAAc,GAGbkrG,IACDrsG,EAAOqsG,YAAc,oBACrBlrG,GAAc,GAGlB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLy4G,EAAqB,uCAAG,WAAOz+G,GAAP,yBAAA7H,EAAA,0DACtB4N,IADsB,uBAEtB2L,GAAa,GACPgtG,EAAUhnH,EAAMie,KACjBwc,QAAO,SAAC73B,GAAD,OAA4B,GAAlBA,EAAK4hH,aACtB1+G,KAAI,SAACmL,GAAD,MAAU,CACX6yG,qBAAsB7yG,EAAI6yG,qBAC1BC,uBAAwB9yG,EAAI8yG,uBAC5BxB,uBAAwBtxG,EAAIsxG,uBAC5ByB,wBAAyB/yG,EAAI+yG,wBAC7BiD,4BAA6Bh2G,EAAI8xG,gCACjCoB,0BAA2BlzG,EAAIkzG,8BAEjCvhH,EAAO,CACT8iH,mBAAoB1lH,EAAMs5G,kBAC1B4M,mBAAoBlmH,EAAMw5G,YAC1B2M,mBAAoBnmH,EAAMy5G,WAC1B2M,2BAA4BpmH,EAAMomH,2BAClCE,sBAAuBtmH,EAAM05G,gBAAkB,EAC/CK,UAAW/5G,EAAM+5G,UACjB8L,sBAAuB7lH,EAAM6lH,sBAC7BC,yBAA0B9lH,EAAM8lH,yBAChCH,aAAcppH,EAAMopH,aACpBI,sBAAqB,UAAE/lH,EAAMsjH,yBAAR,aAAE,EAAyB1lH,GAChDspH,kBAAmBF,EACnBtE,gBAAe,UAAE1iH,EAAMujH,4BAAR,aAAE,EAA4B3lH,GAC7CgoH,kBAAiB,UAAE5lH,EAAMwjH,8BAAR,aAAE,EAA8B5lH,GACjDupH,gBAAiB,GA3BC,SA6BNrP,GAA4Bl1G,GA7BtB,QA6BlBX,EA7BkB,QA8BdoE,SACJyB,EAAiB,+BACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAEvBsR,GAAa,GApCS,2CAAH,sDAuFrBkhE,EAAiB,WACnB18E,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBijH,aAAa,QAOtC+D,EAAa,WACf5oH,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBsjH,wBAAyBtjH,EAAGsjH,6BAGvD2D,EAASrnH,EAAMyiH,UAAUl0G,OAAS,EAAI64G,EARtB,WAChB7qH,EAAMO,SAAQ,IAQlB,OACI,sBAAKoE,UAAU,0BAAf,UACKlB,EAAMqjH,aACH,cAAC3mH,GAAA,EAAD,CAAYC,MAAK,qBAAgBJ,EAAMwW,iBAAtB,YAA0C/S,EAAM6iH,cAAgB9lH,SAAS,KAAKD,QAASo+E,EAAgBv7E,WAAS,EAAjI,SACI,cAAC,GAAD,CACI7C,QAASo+E,EACTm8B,MAAO96G,EAAMopH,aACb5iH,UAAWxG,EAAMwG,UACjBm1G,eAAgBl4G,EAAM6lH,sBACtB1N,kBAAmBn4G,EAAM8lH,yBACzB/yG,iBAAkBxW,EAAMwW,qBAKpC,eAAC7T,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACKX,GACG,cAACS,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiB8oB,WAAYr2C,EAAMojH,SAAUnoG,YAAalB,EAAWhc,QAASgpH,EAA9E,oBAKR,cAAC7nH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIxvB,QACIspH,EAFR,yBAYR,eAACnoH,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,qBACXlP,WAAS,EACTwG,KAAK,oBACL2I,YAAY,cACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMs5G,kBACbnsG,OAAQnN,EAAMmN,OAAOmsG,kBACrBjjE,WAAYr2C,EAAMojH,aAG1B,cAAClkH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,QACXwnC,WAAYr2C,EAAMojH,SAClBt0G,YAAY,QACZpQ,MAAOsB,EAAMw5G,YACbxwG,SAAUsT,EACVnP,OAAQnN,EAAMmN,OAAOqsG,YACrBrzG,KAAK,kBAGb,eAACjH,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAGE,MAAI,EAACsP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAApE,UACI,cAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACI2N,WAAW,cACX1I,KAAK,aACL2I,YAAY,OACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMy5G,WACbtsG,OAAQnN,EAAMmN,OAAOssG,WACrBpjE,WAAYr2C,EAAMojH,aAG1B,cAAClkH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACI2N,WAAW,uBACX1I,KAAK,6BACL2I,YAAY,OACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMomH,2BACbj5G,OAAQnN,EAAMmN,OAAOi5G,2BACrB/vE,WAAYr2C,EAAMojH,aAG1B,cAAClkH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAApC,SACI,cAAC,IAAD,CACI1e,WAAW,aACX1I,KAAK,iBACLkwC,WAAYr2C,EAAMojH,SAClBt0G,YAAY,WACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM05G,sBAIzB,eAACx6G,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAGE,MAAI,EAACguB,GAAI,EAAGC,GAAI,EAA5D,UACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,oBAAlD,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACO,UAAU,cAA7B,4BAGA,sBAAK3D,MAAO,CAAEyZ,UAAW,SAAW9V,UAAU,cAA9C,iBACMlB,EAAM2jH,4BAA8B,QAG9C,cAACzkH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,cAAlD,SACI,sBAAKA,UAAU,cAAf,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACO,UAAU,cAA7B,mBAGA,sBAAKA,UAAU,cAAf,wBAA+BslH,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAgBpoF,QAAQ,GAAGC,QAAQ,0BAA2B,kBAIzG,eAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAArD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIsP,WAAW,gBACXyzG,YAAY,EACZjsE,WAAYr2C,EAAMojH,SAClB7lH,MAAO,CAAEyD,WAAY,GACrBga,QAAShb,EAAMkjH,SACfxkH,MAAOsB,EAAMyjH,kBACbz6G,SAAU69G,EAAmB,yBAGpC7mH,EAAM6iH,cACH,eAAC3jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,UAAa,WACb,cAAC,KAAD,CACIo6C,aAAc,GACd5lC,aAAa,2DACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBijH,aAAa,QAE5CvuG,KAAMwyG,UAIlB,cAAC3lH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO01G,kBAExC,eAAC3jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAAC,IAAD,CACI2N,WAAW,gBACXwnC,WAAYr2C,EAAMojH,SAClB7lH,MAAO,CAAEyD,WAAY,GACrBga,QAAShb,EAAMmjH,eACfzkH,MAAOsB,EAAMsjH,kBACbt6G,SAAU69G,EAAmB,uBAEjC,cAACllH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO21G,kBAExC,eAAC5jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAAC,IAAD,CACI2N,WAAW,aACXyzG,YAAY,EACZ/kH,MAAO,CAAEyD,WAAY,GACrBga,QAAShb,EAAMqlH,aACf3mH,MAAOsB,EAAMwjH,uBACbntE,WAAY95C,EAAM0zC,YAAcjwC,EAAMojH,SACtCp6G,SAAU69G,EAAmB,4BAEjC,cAACllH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOq2G,4BAExC,eAACtkH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAAC,IAAD,CACI2N,WAAW,SACXyzG,YAAY,EACZ/kH,MAAO,CAAEyD,WAAY,GACrBga,QAAShb,EAAM4iH,cACflkH,MAAOsB,EAAMujH,qBACbv6G,SAAU69G,EAAmB,wBAC7BxwE,WAAY95C,EAAM0zC,YAAcjwC,EAAMojH,WAE1C,cAACzhH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOu1G,wBAG3CjkH,GACG,mCACI,eAACS,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,WAAYr2C,EAAMojH,SAClBv0G,WAAW,cACX1I,KAAK,aACL2I,YAAY,cACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMi6G,WACb9sG,OAAQnN,EAAMmN,OAAO8sG,eAG7B,cAAC/6G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,WAAYr2C,EAAMojH,SAClBv0G,WAAW,mBACX1I,KAAK,kBACL2I,YAAY,mBACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMk6G,gBACb/sG,OAAQnN,EAAMmN,OAAO+sG,oBAG7B,cAACh7G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,WAAYr2C,EAAMojH,SAClBv0G,WAAW,WACX1I,KAAK,eACL2I,YAAY,WACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM+7G,iBAIrB,eAAC78G,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAGE,MAAI,EAACsP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAApE,UACI,cAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,WAAYr2C,EAAMojH,SAClBv0G,WAAW,aACX1I,KAAK,gBACL8C,KAAK,SACL6F,YAAY,QACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMg8G,kBAGrB,cAAC98G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,WAAYr2C,EAAMojH,SAClBv0G,WAAW,sBACX1I,KAAK,kCACL8C,KAAK,SACL6F,YAAY,QACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM+iH,oCAGrB,cAAC7jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAApC,SACI,cAAC,IAAD,CACI8oB,WAAYr2C,EAAMojH,SAClBv0G,WAAW,aACX1I,KAAK,gBACL8C,KAAK,SACL6F,YAAY,WACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMgjH,qBAIzB,cAAC9jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,SACI,sBAAKpsB,UAAU,cAAf,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACO,UAAU,cAA7B,4BAGA,sBAAK3D,MAAO,CAAEyZ,UAAW,SAAW9V,UAAU,cAA9C,iBACMlB,EAAM4jH,2BAA6B,UAIjD,cAAC1kH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,SACI,sBAAKpsB,UAAU,cAAf,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACO,UAAU,cAA7B,mBAGA,sBAAKA,UAAU,cAAf,iBAA+BuX,UAIvC,cAACvZ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,aAAa3D,MAAO,CAAEyD,UAAW,IAA3E,SACI,cAAC,IAAD,CAAiBq1C,WAAYr2C,EAAMojH,SAAUrlH,QAtU5C,WAUrB,GAT8B,KAA1BiC,EAAMk6G,iBACNryG,EAAe,2BAEM,KAArB7H,EAAMi6G,YACNpyG,EAAe,wBAEQ,OAAvB7H,EAAM+7G,cAAgD,KAAvB/7G,EAAM+7G,cACrCl0G,EAAe,wBAES,OAAxB7H,EAAMg8G,eAAkD,KAAxBh8G,EAAMg8G,cACtCn0G,EAAe,yBACZ,CACH,IAAI0/G,EAAe,CACfzD,qBAAsB9jH,EAAMi6G,WAC5B8J,uBAAwB/jH,EAAM+7G,aAC9BwG,uBAAwBviH,EAAMgjH,cAC9BgB,wBAAyBhkH,EAAMg8G,cAC/B+G,gCAAiC/iH,EAAM+iH,gCACvCoB,0BAA2BnkH,EAAMk6G,gBACjCsK,WAAW,EACXvB,WAAYT,GAAaxiH,EAAMg8G,cAAgBh8G,EAAM+7G,cAAgB,IAAM/7G,EAAMgjH,eAAiB,GAAM,MAE5GxkH,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL6d,KAAMje,EAAMie,KAAKwc,QAAO,SAACn7B,GAAD,OAAUA,EAAK1B,KAAOoC,EAAMokH,eAGxD5lH,GAAS,SAAC4B,GAEN,OADAmnH,EAAa3pH,GAAwB,IAAnBwC,EAAG6d,KAAK1P,OAAe,EAAI+wE,KAAK5xD,IAAL,MAAA4xD,KAAI,aAAQl/E,EAAG6d,KAAKnY,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,QAAO,EAC9E,2BACAwC,GADP,IAEI6d,KAAK,GAAD,oBAAM7d,EAAG6d,MAAT,CAAespG,IACnBtN,WAAY,GACZ8B,aAAc,GACdiH,cAAe,GACfhH,cAAe,GACf+G,gCAAiC,GACjC7I,gBAAiB,GACjB+I,WAAY,GACZoB,UAAU,EACVD,YAAQvjH,EACR+iH,0BAA2B,SA4RnB,SACK5jH,EAAMokH,OAAS,SAAW,eAM9CpkH,EAAM0jH,uBACH,cAAChnH,GAAA,EAAD,CAAYC,MAAO,GAAIG,QAASsqH,EAAYrqH,SAAS,KAArD,SACI,cAAC4oD,GAAD,CAAmBj9C,QAAS,oDAAqDk9C,aAAcwhE,EAAYj9F,aAAc5tB,EAAMO,YAEnI,KACJ,cAACoC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,qBAAK2B,UAAU,oBAAf,SACI,cAAC,KAAD,CACI4O,QAASA,EACT4P,OAAQ,IACRzB,KAAMje,EAAMie,KAAKwc,QAAO,SAACn7B,GAAD,OAA6B,IAAnBA,EAAKklH,aACvCllG,cAAc,EACdE,YAAaxf,EAAM6c,iBC5uBrC4sE,GAAoB,CACtB5qC,GAAI,UACJ6qC,GAAI,UACJC,GAAI,UACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJnrC,GAAI,QACJorC,GAAI,UACJC,GAAI,UACJC,GAAI,WAkYOs9B,OA/Xf,SAAyBjrH,GAAQ,IAAD,EACxB6wB,EAAkB9sB,IAAW+sB,gBACjC,EAA0B9uB,mBAAS,CAC/Bw+G,aAAc,GACdlgG,QAAQ,EACRzf,MAAM,EACN6tF,YAAa,GACbw8B,aAAa,EACb1vC,cAAe,IAAItnE,KACnBtD,OAAQ,GACR8vG,QAAQ,EACRyK,eAAe,EACfC,mBAAmB,EACnBC,YAAY,IAXhB,mBAAO5nH,EAAP,KAAcxB,EAAd,KAaM4M,EAAU8b,eAEVgxD,EAAa,WACf15E,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+3E,cAAe,IAAItnE,WAGlDkM,EAAe,CACjB,CACIhS,IAAK,SACLxE,KAAM,SACN+D,MAAO,IAEX,CACIS,IAAK,qBACLxE,KAAM,cACN+K,UAAW,SAAC/E,GACR,OACI,gCACI,8BAAMA,EAAO8E,IAAIy0G,qBACjB,qBAAKnoH,MAAO,CAAEqZ,SAAU,QAAxB,SAAmCzK,EAAO8E,IAAI42G,WAI1DC,UAAW,oCAEf,CAAEn9G,IAAK,oBAAqBxE,KAAM,QAAS+K,UAAW3E,IAAW2wE,gBAAiB1lE,eAAgBjL,IAAWkL,uBAAwBvN,MAAO,IAC5I,CAAES,IAAK,cAAexE,KAAM,SAAU+K,UAAW3E,IAAW2wE,gBAAiB1lE,eAAgBjL,IAAWkL,uBAAwBvN,MAAO,IACvI,CAAES,IAAK,QAASxE,KAAM,QAAS+K,UAAW3E,IAAW2wE,gBAAiB1lE,eAAgBjL,IAAWkL,uBAAwBvN,MAAO,IAChI,CAAES,IAAK,YAAaxE,KAAM,aAAc+K,UAAW3E,IAAW2wE,gBAAiB1lE,eAAgBjL,IAAWkL,uBAAwBvN,MAAO,KAI7I/J,oBAAS,sBAAC,sBAAAM,EAAA,sDACNsnH,IACAC,IAFM,2CAGP,CAAChoH,EAAM+3E,gBAEV,MAAoCx5E,mBAAS,CACzC+jD,eAAgB,GAChB05B,WAAY,GACZ1iC,kBAAmB,GACnB7I,YAAa,GACbD,aAAc,GACd45C,aAAc,GACd+pB,kBAAmB,KAPvB,mBAAO9pB,EAAP,KAAmBC,EAAnB,KAUA,EAAsC/rF,mBAAS,CAC3Cia,KAAM,KADV,mBAAOw/D,EAAP,KAAoBC,EAApB,KAIM8vC,EAAc,uCAAG,oCAAAtnH,EAAA,sEACH+xD,GAAkBj2D,EAAMq7E,eADrB,OACf31E,EADe,OAEf0vD,EAAO1vD,EAAIW,KAAK4V,MAChB5V,GAAW,OAAJ+uD,QAAI,IAAJA,OAAA,EAAAA,EAAMpjD,QAAS,EAAf,UAAmBtM,EAAIW,YAAvB,aAAmB,EAAU4V,KAAK,GAAlC,UAAuCvW,EAAIW,YAA3C,aAAuC,EAAU4V,OAExD8xE,GAAc,SAAClqF,GAAD,mBAAC,eACRA,GADO,IAEV25C,MAAOn3C,EAAKm3C,MACZmvC,gBAAiBtmF,EAAKsmF,gBACtBqB,aAAch+E,IAAWgqD,kBAAkB3zD,EAAKymF,SAChDmB,cAAe5nF,EAAK6nF,WACpBC,iBAAkB9nF,EAAK8nF,kBAAoB,GAC3CpxC,kBAAmB12C,EAAK02C,mBAAqB,GAC7CyxC,aAAcnoF,EAAKmoF,aACnBX,aAAcxnF,EAAKwnF,aACnB35C,YAAa7tC,EAAK6tC,YAClBD,aAAc5tC,EAAK4tC,aACnBw6C,iBAAkBpoF,EAAKooF,iBACvBC,YAAaroF,EAAKqoF,YAClB7B,mBAAoBxmF,EAAKwmF,mBACzBstB,gBAAiB9zG,EAAK8zG,gBACtBltE,aAAc5mC,EAAKoQ,oBACnBsvC,eAAgB1/C,EAAK0/C,eACrBk1B,YAAa50E,EAAK40E,YAClB4mC,eAAgBx7G,EAAKw7G,eACrBD,eAAgBv7G,EAAKu7G,eACrBtzB,eAAgBjoF,EAAKioF,gBAAkB,GACvCC,WAAYloF,EAAKkoF,YAAc,GAC/BqpB,kBAAmB,IAAI1jG,KACvBw3G,sBAAuBrlH,EAAKqlH,uBAAyB,EACrD/8B,WAAYtoF,EAAKsoF,WACjBotB,cAAe11G,EAAK01G,cACpByM,gBAAoC,GAAnBniH,EAAK62G,WACtBA,WAAY72G,EAAK62G,WACjBpB,gBAAiBz1G,EAAKy1G,gBACtB2M,OAAQpiH,EAAKoiH,YAnCF,2CAAH,qDAwCpB7kH,oBAAS,sBAAC,4BAAAM,EAAA,0DACF4pF,EAAWtwC,MADT,gCAEciZ,GAAwBq3B,EAAWtwC,OAFjD,OAEE93C,EAFF,OAGFg2E,GAAe,SAACj4E,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBwY,KAAMvW,EAAIW,KAAK4V,UAHpD,2CAKP,CAAC6xE,EAAWtwC,QAEf,IAAMiuE,EAAY,uCAAG,8BAAAvnH,EAAA,sEACDs2G,GAAex6G,EAAMq7E,eADpB,OACb31E,EADa,OAEb26D,EAAO36D,EAAIW,KAAKslH,gBAAgBpiH,KAAI,SAACgoB,GAChBA,EAAEq4F,mBAA0BnmH,EAAMglH,OAAvD,IACImD,EAAUr6F,EAAEq4F,mBAAqBr4F,EAAEo4F,oBAAsB,IAAMp4F,EAAEw4F,uBAA0B,IAC/F,OAAO,aACH8B,UAAWt6F,EAAEu4F,0BAA4Bv4F,EAAE81F,0BAC3CyE,YAAaF,EACb1vG,MAAO0vG,EAASr6F,EAAEw6F,mBACfx6F,MAIXtvB,GAAS,SAACwB,GACN,IAAMuoH,EAAG,eAAQvoH,GAIjB,OAHAuoH,EAAIxL,aAAengD,EACnB2rD,EAAI1rG,QAAS,EACb0rG,EAAIC,iBAAmB1O,gBAAK73G,EAAIW,KAAKslH,iBAAiB,SAACv8F,GAAD,MAA4B,KAArBA,EAAE+2F,mBACxD6F,KAlBM,2CAAH,qDAsBZE,EAAa,SAACt8G,GAChB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAM28G,UAAW5tG,EAAO4tG,UAAWh3G,UAAWoJ,EAAOpJ,UAAWgQ,iBAAkB5G,EAAO4G,uBAG9H21G,EAAuB,SAACviH,GAC1B3H,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,GAAO,QAGvCuhC,EAAgB,SAAC9kC,GACnB,OACI,qBAAKrF,MAAO,CAAEyZ,UAAW,OAAQ9E,WAAY,QAA7C,SACI,cAAC,IAAD,CAAYgD,aAAa,gBAAgBnX,QAAS,kBAAM0qH,EAAW7lH,EAAKqO,WAKhFxS,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,MAAMyV,SAASm2E,EAAWY,aAC/Dn7E,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,GAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAyB9C,OAxBIgH,IACAA,EAAUT,UAAYw2B,EACtB/1B,EAAU6F,eAAiB,WACvB,OAAI/Y,EAEI,eAACS,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,SAA3B,UACI,cAAC,IAAD,CAAW4X,aAAa,eAAenX,QAAS0qH,KAChC,OAAfr7F,QAAe,IAAfA,OAAA,EAAAA,EAAiBu7F,2BACd,cAAC,KAAD,CACI7zG,KAAM8zG,KACN1nH,UAAU,oBACVnD,QAAS,kBAAM2qH,EAAqB,uBACpCxzG,aAAa,oBAGrB,sBAAM3X,MAAO,CAAE0hC,aAAc,OAAQ/sB,WAAY,OAAjD,uBAID,OAKZ8K,IACR,CAACve,IAEEy4B,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAO28G,UAAW,KAAM0N,aAAa,EAAOE,mBAAmB,EAAOkB,oBAAoB,OACjI5mH,GAAOg0G,KAGLA,EAAgB,WAClB3rB,GAAc,SAAClqF,GAAD,mBAAC,eAAaA,GAAd,IAAkB+zG,kBAAmB,IAAI1jG,UACvDs3G,IACAC,KAGE78B,EACFd,EAAW55C,aAAe45C,EAAW75C,aAArC,YACW65C,EAAW55C,YAAc45C,EAAW55C,YAAc,GAD7D,YACmE45C,EAAW75C,aAAe65C,EAAW75C,aAAe,GADvH,KAEM,GAQV,OACI,sBAAKtvC,UAAU,oBAAf,UACI,qBAAKA,UAAU,oBAAf,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,QAAtC,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACyV,QAAQ,aAAarV,GAAI,GAAIhC,MAAO,CAAEmhC,gBAAiB,UAAWr/B,QAAS,SAAhG,WACe,OAAVgrF,QAAU,IAAVA,OAAA,EAAAA,EAAYa,YACT,eAAChsF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,WACe,OAAV2qF,QAAU,IAAVA,OAAA,EAAAA,EAAYa,aAAc,GAD/B,WACoCb,QADpC,IACoCA,OADpC,EACoCA,EAAYnB,gBADhD,UAKJ,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UAAwC,OAAV2qF,QAAU,IAAVA,OAAA,EAAAA,EAAYnB,kBAAmB,QAGrE,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWE,kBAE7C,eAACrrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAW7gD,kBAE7C,eAACtqC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UACI,sBAAM3B,QArCX,SAACuK,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BtzB,EAAM0sC,WAC3C78B,OAAQ,MAkCmD7O,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA3F,SACKo1E,EAAWD,eACR,IACPe,QAGT,cAACjsF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAA/B,SACI,sBAAK/vB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,SAAxC,UACI,cAACrV,EAAA,EAAD,CAAgBpE,MAAO,CAAEyZ,UAAW,OAApC,mBACA,eAACtN,GAAA,EAAD,CAAYhK,QAAQ,SAASnC,MAAO,CAAEqZ,SAAU,GAAI3B,WAAY,OAAQxV,MAAO,SAA/E,2BACM4qF,EAAWG,qBADjB,aACM,EAA0BpsD,QAAQ,GAAGC,QAAQ,0BAA2B,oBAM9F,cAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAIopE,EAAYx/D,KAAKjK,OAAS,EAAI,EAAI,GAAI+e,GAAI0qD,EAAYx/D,KAAKjK,OAAS,EAAI,EAAI,GAAIhR,MAAO,CAAEyD,UAAW,GAA3H,SACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,kBAAtC,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,eAACkB,GAAA,EAAD,CAAO1Z,MAAM,EAAO2Z,SAAUg7D,GAAkBY,EAAWY,aAAc/pF,UAAU,cAAnF,UACI,sBAAM3D,MAAO,CAAEF,QAAS,QAASuZ,SAAU,QAA3C,oBACA,sBAAMrZ,MAAO,CAAE0X,WAAY,QAA3B,SAAsCo1E,EAAWW,wBAGzD,cAAC9rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,eAACkB,GAAA,EAAD,CAAO1Z,KAAM,cAAC,KAAD,CAAU8B,SAAS,YAAc6X,SAAS,UAAUvtB,UAAU,cAA3E,UACI,sBAAM3D,MAAO,CAAEF,QAAS,QAASuZ,SAAU,QAA3C,6BACA,sBAAMrZ,MAAO,CAAE0X,WAAY,QAA3B,SAAsCo1E,EAAW/nC,2BAKhE01B,EAAYx/D,KAAKjK,OAAS,GACvB,cAACrP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAG/vB,MAAO,CAAEyD,UAAW,GAArD,SACI,cAAC9B,EAAA,EAAD,CACIC,WAAS,EACT7B,WAAW,SACXC,MAAO,CACHN,OAAQ,MACRyhC,gBAAiB,UACjBr/B,QAAS,YANjB,SASK24E,EAAYx/D,KAAK1S,KAAI,SAACgoB,GACnB,OACI,cAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAAV,SASQ,sBAAK/B,MAAO,CAAEq9C,WAAY,OAA1B,UACK9sB,EAAEqqD,QACH,sBAAM56E,MAAO,CAAEC,SAAU,WAAY4uB,IAAK,OAAQ7V,KAAM,MAAOla,YAAa,QAA5E,SACI,cAAC,KAAD,CACIgU,SAAUyd,EAAEsqD,cACZ5nE,uBAAuB,4BACvBF,UAAWwd,EAAExd,UACb6B,WAAY+lE,EACZ7lE,aAAa,4BAepErS,EAAM2nH,mBACH,cAACjrH,GAAA,EAAD,CAAYI,QAAS,kBAAMo6B,GAAW,IAAQv6B,MAAM,uBAAuBI,SAAS,KAAK4nC,YAAU,EAAnG,SACI,cAAC,GAAD,CAAoB7nC,QAASo6B,EAAY0gD,cAAer7E,EAAMq7E,kBAGrE53E,EAAMynH,aACH,cAAC/qH,GAAA,EAAD,CAAYI,QAAS,kBAAMo6B,GAAW,IAAQv6B,MAAM,0BAA0BI,SAAS,KAAvF,SACI,cAAC,GAAD,CAAiBD,QAASo6B,EAAY0gD,cAAer7E,EAAMq7E,kBAGlE53E,EAAM5C,KACH,cAAC,GAAD,CACIN,QAASo6B,EACTn0B,UAAW/C,EAAM+C,UACjBg3G,UAAW/5G,EAAM+5G,UACjB8J,OAAQx5B,EAAWY,YACnBl4E,iBAAkB/S,EAAM+S,iBACxB4yG,aAAcppH,EAAMq7E,cACpBmtC,gBAAiB16B,EAAW06B,gBAC5BtL,WAAYpvB,EAAWovB,WACvBuL,OAAQ36B,EAAW26B,SAGvB,sBAAKznH,MAAO,CAAEyD,UAAW,GAAzB,UAC+B,MAA1BqpF,EAAWY,aACR,eAAC/rF,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIwV,KAAMC,KACNhM,MAAM,0BACNhL,QAAS,kBAAM2qH,EAAqB,gBACpCnrH,MAAO,CAAE0X,WAAY,YAG7B,cAAC/V,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CACIwV,KAAMC,KACNhM,MAAM,uBACNhL,QAAS,kBAAM2qH,EAAqB,sBACpCnrH,MAAO,CAAE0X,WAAY,eAKrC,cAAC/V,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,EAA5C,SACI,cAAC,GAAD,CAAoBwsB,MAAOswC,EAAWtwC,MAAOswC,WAAYA,EAAY4rB,cAAeA,MAExF,eAAC/2G,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAA/B,SACI,cAAC,KAAD,CAAUxd,QAASA,EAASmO,KAAMje,EAAM+8G,aAAcz9F,cAAc,EAAMwpG,UAAW,GAAItpG,YAAaxf,EAAM6c,OAAQ5f,OAAQ,QAEhI,cAACiC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAG/vB,MAAO,CAAEswD,aAAc,QAAzD,SACI,cAAC,GAAD,CACI5kB,UAAW1sC,EAAM0sC,UACjB0Z,MAAOpmD,EAAMq7E,cACbj+B,SAAS,MACTw6D,kBAAmB9pB,EAAW8pB,yBAIzCn0G,EAAM6oH,mBACH,cAACnsH,GAAA,EAAD,CAAYC,MAAO,kBAAmBG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAAK4C,WAAS,EAA/F,SACI,cAAC,GAAD,CAAgBoD,UAAWsnF,EAAWU,aAAcpxC,SAAS,cAEjE,YClZlBh9B,GAAe,CACjB,CACIhS,IAAK,uBACLxE,KAAM,cACN+D,MAAO,OAEX,CACIS,IAAK,4BACLxE,KAAM,mBACN+D,MAAO,OAEX,CACIS,IAAK,yBACLxE,KAAM,WACN+D,MAAO,KACPgH,UAAW3E,IAAWmL,qBACtBF,eAAgBjL,IAAWkL,wBAE/B,CACI9M,IAAK,0BACLxE,KAAM,aACN+D,MAAO,MACPgH,UAAW3E,IAAW2wE,gBACtB1lE,eAAgBjL,IAAWkL,wBAE/B,CACI9M,IAAK,yBACLxE,KAAM,WACN+D,MAAO,KACPgH,UAAW,SAACtO,GAAD,OAAU,qBAAKrF,MAAO,CAAEyZ,UAAW,SAAzB,SAAqCpU,EAAKqO,IAAIsxG,wBAA0B,QAC7F/qG,eAAgBjL,IAAWkL,wBAE/B,CACI9M,IAAK,WACLxE,KAAM,QACNqR,eAAgBjL,IAAWkL,yBA6epBujG,OAzef,SAAyBz+G,GACrB,MAA0BgC,mBAAS,CAC/BkkH,UAAW,GACX1I,UAAW,KACXT,kBAAmB,GACnBoJ,gBAAiB,KACjBC,kBAAmB,KACnBC,cAAe,GACfpJ,YAAa,GACbC,WAAY,GACZC,eAAgB,EAChBmJ,aAAc,GACdC,aAAc,GACd7I,WAAY,GACZ8B,aAAc,KACdC,cAAe,KACf9B,gBAAiB,GACjB8I,cAAe,GACfC,WAAY,GACZC,SAAU,GACVC,eAAgB,GAChBllG,KAAM,GACN9Q,OAAQ,GACRi2G,UAAU,EACVC,aAAa,EACbC,kBAAmB,KACnBC,qBAAsB,KACtBC,uBAAwB,KACxBC,kBAAmB,KACnBC,wBAAwB,IA5B5B,mBAAO1jH,EAAP,KAAcxB,EAAd,KA8BI4uB,EAAkB9sB,IAAW+sB,gBAEjC,EAAkC9uB,oBAAS,GAA3C,mBAAOwb,EAAP,KA2CItb,GA3CJ,MA2CmBlC,EAAM0zC,YAAc,CAAC,KAAM,KAAM,KAAM,KAAM,MAAM/7B,SAAS3X,EAAM29C,UAAnE,OAA8E9sB,QAA9E,IAA8EA,OAA9E,EAA8EA,EAAiBi1F,gBAI3G36E,EAAgB,SAAC9kC,GACnB,OACI,sBAAKrF,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,UACI,cAAC,IAAD,CAAY3Z,aAAa,gBAAgBmhC,YAAY,EAAMt4C,QAAS,kBAhDtDoO,EAgD6EvJ,EAAKqO,SA/CxGzS,GAAS,SAAC4B,GAaN,OAZS,2BACFA,GADE,IAELxC,GAAIuO,EAAOvO,GACXq8G,WAAY9tG,EAAO23G,qBACnB/H,aAAc5vG,EAAO43G,uBACrBf,cAAe72G,EAAOo2G,uBACtBvG,cAAe7vG,EAAO63G,wBACtB9J,gBAAiB/tG,EAAOg4G,0BACxBlB,WAAY92G,EAAO82G,WACnBmB,OAAQj4G,EAAOvO,GACfymH,UAAU,OAZG,IAACl4G,MAiDE,OAAfihB,QAAe,IAAfA,OAAA,EAAAA,EAAiB6vD,oBAAqB,cAAC,IAAD,CAAcl/E,QAAS,kBA/BjD,SAACoO,GACtB,IAAMvO,EAAKuO,EAAOvO,GACZ0mH,EAAUtkH,EAAMie,KAAKwc,QAAO,SAACn7B,GAAD,OAAUA,EAAK1B,KAAOA,KACpD2mH,EAAuB,CACvB3mH,GAAIuO,EAAOvO,GACXwmH,OAAQj4G,EAAOvO,GACfkmH,qBAAsB33G,EAAO23G,qBAC7BC,uBAAwB53G,EAAO43G,uBAC/BxB,uBAAwBp2G,EAAOo2G,uBAC/ByB,wBAAyB73G,EAAO63G,wBAChCG,0BAA2Bh4G,EAAOg4G,0BAClClB,WAAY92G,EAAO82G,WACnBuB,WAAW,GAEfF,EAAQj5G,KAAKk5G,GACb/lH,GAAS,SAAC4B,GAKN,OAJS,2BACFA,GADE,IAEL6d,KAAMqmG,OAa8DG,CAAiB7hH,EAAKqO,MAAMiE,aAAa,wBAKnHwvG,EAAiB,SAAC9hH,GACpB,MAAoFA,EAAKqO,IAAjF8yG,EAAR,EAAQA,uBACFtrG,EADN,EAAgCurG,wBACSD,GAA0B,IADnE,EAAyDxB,wBAC0C,GAAM,IACzG,OAAO,sBAAKhlH,MAAO,CAAEyZ,UAAW,SAAzB,iBAAsCyB,EAAM2lB,QAAQ,GAAGC,QAAQ,0BAA2B,WAG/FvuB,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBkoG,EAAa7nG,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,aAAbA,EAAKqL,OAO/C,OANIlM,GACAue,EAAUib,OAAO,EAAG,EAAG,CAAEttB,IAAK,SAAUxE,KAAM,SAAU+K,UAAWw2B,EAAex9B,MAAO,OAEzF26G,IACAA,EAAW3zG,UAAYwzG,GAEpB1nG,KAGX,EAA6Chf,eAA7C,EAAQ8J,iBAAR,EAA0BD,eAE1B1H,oBAAS,sBAAC,sCAAAM,EAAA,6DACNjC,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2kH,gBAAiBxoH,EAAMwoH,gBAAiBtL,WAAYl9G,EAAMk9G,WAAYuL,OAAQzoH,EAAMyoH,YADzG,SAEW/N,KAFX,WAEFtlD,EAFE,QAGGtrD,UACC4+G,EAAWtzD,EAAK/uD,KAAKiY,aAAa/U,KAAI,SAACxG,GAAD,MAAW,CACnD1B,GAAI0B,EAAK4lH,MAAQ,IAAM5lH,EAAK6lH,SAC5Bh/G,KAAM7G,EAAK8lH,eAEf5mH,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8iH,SAAU+B,EACV9B,eAAgBxxD,EAAK/uD,KAAKugH,eAC1BP,cAAejxD,EAAK/uD,KAAKggH,cACzByC,aAAc1zD,EAAK/uD,KAAK22G,gBAG5Bh9G,EAAMw9G,UAhBJ,wBAiBEuL,EAAW,GAjBb,SAkBctO,GAAez6G,EAAMw9G,WAlBnC,OAkBE93G,EAlBF,OAmBFqjH,EAAWrjH,EAAIW,KAAK2iH,uBAAuBz/G,KAAI,SAACxG,EAAMuhD,GAAP,mBAAC,eACzCvhD,GADwC,IAE3CijH,uBAAwBjjH,EAAK4kH,+BAC7BH,uBAAwBzkH,EAAK2kH,+BAC7BD,wBAAyB1kH,EAAKyjH,gCAC9BnlH,GAAIijD,EAAQ,EACZ2jE,WAAW,OAGTgB,EAAOvjH,EAAIW,KAAK6iH,sBAAsB,GACxCxjH,EAAIoE,WACA+1B,EAAQ,IACN29E,UAAYyL,EAAKzL,UACvB39E,EAAMk9E,kBAAoBkM,EAAKE,mBAC/BtpF,EAAMupF,aAAeH,EAAKG,aAC1BvpF,EAAMsmF,gBAAkB8C,EAAK9C,gBAC7BtmF,EAAMwpF,kBAAoBJ,EAAKI,kBAC/BxpF,EAAMymF,aAAe2C,EAAKK,sBAAwB,IAAML,EAAKM,yBAC7D1pF,EAAMypF,sBAAwBL,EAAKK,sBACnCzpF,EAAM0pF,yBAA2BN,EAAKM,yBACtC1pF,EAAM0mF,aAAe0C,EAAKO,sBAC1B3pF,EAAMne,KAAOqnG,EACblpF,EAAMgnF,SAA+B,KAApBoC,EAAKQ,YACtB5pF,EAAM4pF,YAAcR,EAAKS,WACzB7pF,EAAMo9E,YAAcgM,EAAKuD,2BACzB3sF,EAAMq9E,WAAa+L,EAAKY,2BACxBhqF,EAAMs9E,eAAiB8L,EAAKwD,8BAC5B5sF,EAAMwpF,kBAAoBJ,EAAKa,0BAC/B7nH,GAAS,SAACwB,GAAD,mBAAC,eACHA,GACAo8B,OAjDT,4CAqDP,IAEHj8B,qBAAU,WACN,IACqD,EAGM,EAIE,EAGC,EAX1Di8B,EAAQ,GACRp8B,EAAM6iH,cAAgB7iH,EAAMkjH,SAAS30G,OAAS,IAC9C6tB,EAAMqnF,kBAAN,UAA0BzjH,EAAMkjH,gBAAhC,aAA0B,EAAgBnzG,MAAK,qBAAGnS,KAAgBoC,EAAM6iH,iBAExE7iH,EAAM8iH,cAAgB9iH,EAAMmjH,eAAe50G,OAAS,IACpD6tB,EAAMknF,kBAAN,UAA0BtjH,EAAMmjH,sBAAhC,aAA0B,EAAsBpzG,MAAK,qBAAGnS,KAAgBoC,EAAM8iH,iBAG9E9iH,EAAM0iH,iBAAmB1iH,EAAM4iH,cAAcr0G,OAAS,IACtD6tB,EAAMmnF,qBAAN,UAA6BvjH,EAAM4iH,qBAAnC,aAA6B,EAAqB7yG,MAAK,qBAAGnS,KAAgBoC,EAAM0iH,oBAEhF1iH,EAAM4lH,mBAAqB5lH,EAAMqlH,aAAa92G,OAAS,IACvD6tB,EAAMonF,uBAAN,UAA+BxjH,EAAMqlH,oBAArC,aAA+B,EAAoBt1G,MAAK,qBAAGnS,KAAgBoC,EAAM4lH,sBAErFpnH,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GACAg8B,QAER,CACCp8B,EAAM6iH,aACN7iH,EAAMkjH,SACNljH,EAAM8iH,aACN9iH,EAAMmjH,eACNnjH,EAAM0iH,gBACN1iH,EAAM4iH,cACN5iH,EAAMqlH,aACNrlH,EAAM4lH,oBAGV,IAAMtpG,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,yBAAC,eACHA,GADE,uBAEJmG,EAAOzH,GAFH,iDAGUsB,EAAMyiH,WAHhB,CAG2Bt8G,KAH3B,QAQTy+G,GAFoB5kH,EAAMg8G,eAAiB,EAAIh8G,EAAMglH,OAAS,KACxBhlH,EAAM+7G,cAAgB,IAAM/7G,EAAMgjH,eAAiB,GAAM,KAClE5kF,QAAQ,GAAGC,QAAQ,0BAA2B,OAGzEq+E,EADe18G,EAAMy5G,YAAc,EAAIz5G,EAAMglH,OAAS,KAC3BhlH,EAAMw5G,aAAe,IAAMx5G,EAAM05G,gBAAkB,GAAM,IAEpFmN,EAAqB,SAAC/rG,GAAD,OAAQ,SAACzS,EAAGC,GACnC,GAAW,sBAAPwS,EAA4B,CAAC,IAAD,EACtBgsG,EAAG,OAAGx+G,QAAH,IAAGA,GAAH,UAAGA,EAAK1K,UAAR,aAAG,EAASy5F,MAAM,MAC3B,OAAIyvB,QAAJ,IAAIA,OAAJ,EAAIA,EAAKv4G,SACL/P,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,gBAEL6lH,sBAAuBiB,EAAI,GAC3BhB,yBAA0BgB,EAAI,IAC7BhsG,EAAKxS,YAId9J,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJ8a,EAAKxS,SAKZ4yE,EAAiB,WACnB18E,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBijH,aAAa,QAOtC+D,EAAa,WACf5oH,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBsjH,wBAAyBtjH,EAAGsjH,6BAGvD2D,EAASrnH,EAAMyiH,UAAUl0G,OAAS,EAAI64G,EARtB,WAChB7qH,EAAMO,SAAQ,IAQlB,OACI,sBAAKoE,UAAU,0BAAf,UACKlB,EAAMqjH,aACH,cAAC3mH,GAAA,EAAD,CAAYC,MAAK,qBAAgBJ,EAAMwW,iBAAtB,YAA0C/S,EAAM6iH,cAAgB9lH,SAAS,KAAKD,QAASo+E,EAAgBv7E,WAAS,EAAjI,SACI,cAAC,GAAD,CACI7C,QAASo+E,EACTm8B,MAAO96G,EAAMopH,aACb5iH,UAAWxG,EAAMwG,UACjBm1G,eAAgBl4G,EAAM6lH,sBACtB1N,kBAAmBn4G,EAAM8lH,yBACzB/yG,iBAAkBxW,EAAMwW,qBAKpC,eAAC7T,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACKX,GACG,cAACS,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiB8oB,YAAY,EAAMp7B,YAAalB,EAAhD,oBAKR,cAAC7a,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIxvB,QACIspH,EAFR,yBAYR,eAACnoH,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,qBACXlP,WAAS,EACTwG,KAAK,oBACL2I,YAAY,cACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMs5G,kBACbnsG,OAAQnN,EAAMmN,OAAOmsG,kBACrBjjE,YAAY,MAGpB,cAACn3C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,QACXwnC,YAAY,EACZvnC,YAAY,QACZpQ,MAAOsB,EAAMw5G,YACbxwG,SAAUsT,EACVnP,OAAQnN,EAAMmN,OAAOqsG,YACrBrzG,KAAK,kBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,cACX1I,KAAK,aACL2I,YAAY,OACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMy5G,WACbtsG,OAAQnN,EAAMmN,OAAOssG,WACrBpjE,WAAYr2C,EAAM+kH,kBAAmB,MAG7C,cAAC7lH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,aACX1I,KAAK,iBACLkwC,YAAY,EACZvnC,YAAY,WACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM05G,mBAGrB,cAACx6G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,sBAAKrsB,UAAU,cAAf,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACO,UAAU,cAA7B,mBAGA,sBAAKA,UAAU,cAAf,wBAA+Bw7G,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAQt+E,QAAQ,GAAGC,QAAQ,0BAA2B,eAG7F,eAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAArD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIsP,WAAW,gBACXyzG,YAAY,EACZjsE,YAAY,EACZ94C,MAAO,CAAEyD,WAAY,GACrBga,QAAShb,EAAMkjH,SACfxkH,MAAOsB,EAAMyjH,kBACbz6G,SAAU69G,EAAmB,yBAGpC7mH,EAAM6iH,cACH,eAAC3jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,UAAa,WACb,cAAC,KAAD,CACIo6C,aAAc,GACd5lC,aAAa,2DACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBijH,aAAa,QAE5CvuG,KAAMwyG,UAIlB,cAAC3lH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO01G,kBAExC,eAAC3jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAAC,IAAD,CACI2N,WAAW,gBACXwnC,YAAY,EACZ94C,MAAO,CAAEyD,WAAY,GACrBga,QAAShb,EAAMmjH,eACfzkH,MAAOsB,EAAMsjH,kBACbt6G,SAAU69G,EAAmB,uBAEjC,cAACllH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO21G,kBAExC,eAAC5jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAAC,IAAD,CACI2N,WAAW,aACXyzG,YAAY,EACZ/kH,MAAO,CAAEyD,WAAY,GACrBga,QAAShb,EAAMqlH,aACf3mH,MAAOsB,EAAMwjH,uBACbntE,YAAY,EACZrtC,SAAU69G,EAAmB,4BAEjC,cAACllH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOq2G,4BAExC,eAACtkH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAAC,IAAD,CACI2N,WAAW,SACXyzG,YAAY,EACZ/kH,MAAO,CAAEyD,WAAY,GACrBga,QAAShb,EAAM4iH,cACflkH,MAAOsB,EAAMujH,qBACbv6G,SAAU69G,EAAmB,wBAC7BxwE,YAAY,IAEhB,cAAC10C,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOu1G,wBAG3CjkH,GACG,mCACI,eAACS,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,YAAY,EACZxnC,WAAW,cACX1I,KAAK,aACL2I,YAAY,cACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMi6G,WACb9sG,OAAQnN,EAAMmN,OAAO8sG,eAG7B,cAAC/6G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,YAAY,EACZxnC,WAAW,mBACX1I,KAAK,kBACL2I,YAAY,mBACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMk6G,gBACb/sG,OAAQnN,EAAMmN,OAAO+sG,oBAG7B,cAACh7G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,YAAY,EACZxnC,WAAW,WACX1I,KAAK,eACL2I,YAAY,WACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM+7G,iBAGrB,cAAC78G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,YAAY,EACZxnC,WAAW,aACX1I,KAAK,gBACL8C,KAAK,SACL6F,YAAY,QACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMg8G,kBAGrB,cAAC98G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAApC,SACI,cAAC,IAAD,CACI8oB,YAAY,EACZxnC,WAAW,aACX1I,KAAK,gBACL8C,KAAK,SACL6F,YAAY,WACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMgjH,kBAGrB,cAAC9jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,SACI,cAAC,IAAD,CACI+oB,YAAY,EACZxnC,WAAW,QACX1I,KAAK,aACL40C,WAAY,CACRqoE,UAAU,GAEdt0G,YAAY,QACZ9F,SAAUsT,EACV5d,MAAOkmH,MAGf,cAAC1lH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,aAAa3D,MAAO,CAAEyD,UAAW,IAA3E,SACI,cAAC,IAAD,CAAiBq1C,YAAY,EAA7B,SAAoCr2C,EAAMokH,OAAS,SAAW,eAK7EpkH,EAAM0jH,uBACH,cAAChnH,GAAA,EAAD,CAAYC,MAAO,GAAIG,QAASsqH,EAAYrqH,SAAS,KAArD,SACI,cAAC4oD,GAAD,CAAmBj9C,QAAS,oDAAqDk9C,aAAcwhE,EAAYj9F,aAAc5tB,EAAMO,YAEnI,KACJ,cAACoC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,qBAAK2B,UAAU,oBAAf,SACI,cAAC,KAAD,CACI4O,QAASA,EACT4P,OAAQ,IACRzB,KAAMje,EAAMie,KAAKwc,QAAO,SAACn7B,GAAD,OAA6B,IAAnBA,EAAKklH,aACvCllG,cAAc,EACdE,YAAaxf,EAAM6c,iBC/frC4sE,GAAoB,CACtB5qC,GAAI,UACJ6qC,GAAI,UACJC,GAAI,UACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJnrC,GAAI,QACJorC,GAAI,UACJC,GAAI,UACJC,GAAI,WA0XO20B,OAvXf,SAAwBtiH,GAAQ,IAAD,IACvB6wB,EAAkB9sB,IAAW+sB,gBAEjC,GADsB9iB,eAAd2lC,UACkB3xC,mBAAS,CAC/Bw+G,aAAc,GACdlgG,QAAQ,EACRzf,MAAM,EACN6tF,YAAa,GACblT,cAAe,IAAItnE,KACnBtD,OAAQ,GACR8vG,QAAQ,EACRyK,eAAe,EACfE,YAAY,KAThB,mBAAO5nH,EAAP,KAAcxB,EAAd,KAWM4M,EAAU8b,eAEVgxD,EAAa,WACf15E,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+3E,cAAe,IAAItnE,WAGlDkM,EAAe,CACjB,CACIhS,IAAK,qBACLxE,KAAM,cACN+K,UAAW,SAAC/E,GACR,OACI,eAACjN,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACK4M,EAAO8E,IAAIy0G,qBAEhB,cAACxmH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEqZ,SAAU,QAAtC,SACKzK,EAAO8E,IAAI42G,WAK5BC,UAAW,oCAEf,CACIn9G,IAAK,4BACLxE,KAAM,QACN+K,UAAW3E,IAAW2wE,gBACtB1lE,eAAgBjL,IAAWkL,uBAC3BvN,MAAO,IAEX,CAAES,IAAK,cAAexE,KAAM,SAAU+K,UAAW3E,IAAW2wE,gBAAiB1lE,eAAgBjL,IAAWkL,uBAAwBvN,MAAO,IACvI,CAAES,IAAK,QAASxE,KAAM,QAAS+K,UAAW3E,IAAW2wE,gBAAiB1lE,eAAgBjL,IAAWkL,uBAAwBvN,MAAO,KAGpI/J,oBAAS,sBAAC,sBAAAM,EAAA,sDACNsnH,IACAC,IAFM,2CAGP,CAAChoH,EAAM+3E,gBAEV,MAAoCx5E,mBAAS,CACzC+jD,eAAgB,GAChB05B,WAAY,GACZ1iC,kBAAmB,GACnB7I,YAAa,GACbD,aAAc,GACd45C,aAAc,GACd+pB,kBAAmB,GACnBlpB,YAAa,KARjB,mBAAOZ,EAAP,KAAmBC,EAAnB,KAWA,EAAsC/rF,mBAAS,CAC3Cia,KAAM,KADV,mBAAOw/D,EAAP,KAAoBC,EAApB,KAIM8vC,EAAc,uCAAG,oCAAAtnH,EAAA,sEACH+xD,GAAkBj2D,EAAMq7E,eADrB,OACf31E,EADe,OAEf0vD,EAAO1vD,EAAIW,KAAK4V,MAChB5V,GAAW,OAAJ+uD,QAAI,IAAJA,OAAA,EAAAA,EAAMpjD,QAAS,EAAf,UAAmBtM,EAAIW,YAAvB,aAAmB,EAAU4V,KAAK,GAAlC,UAAuCvW,EAAIW,YAA3C,aAAuC,EAAU4V,OAExD8xE,GAAc,SAAClqF,GAAD,mBAAC,eACRA,GADO,IAEV25C,MAAOn3C,EAAKm3C,MACZmvC,gBAAiBtmF,EAAKsmF,gBACtBqB,aAAch+E,IAAWgqD,kBAAkB3zD,EAAKymF,SAChDmB,cAAe5nF,EAAK6nF,WACpBC,iBAAkB9nF,EAAK8nF,kBAAoB,GAC3CpxC,kBAAmB12C,EAAK02C,mBAAqB,GAC7CyxC,aAAcnoF,EAAKmoF,aACnBX,aAAcxnF,EAAKwnF,aACnB35C,YAAa7tC,EAAK6tC,YAClBD,aAAc5tC,EAAK4tC,aACnBw6C,iBAAkBpoF,EAAKooF,iBACvBC,YAAaroF,EAAKqoF,YAClB7B,mBAAoBxmF,EAAKwmF,mBACzBstB,gBAAiB9zG,EAAK8zG,gBACtBltE,aAAc5mC,EAAKoQ,oBACnBsvC,eAAgB1/C,EAAK0/C,eACrBk1B,YAAa50E,EAAK40E,YAClB4mC,eAAgBx7G,EAAKw7G,eACrBD,eAAgBv7G,EAAKu7G,eACrBtzB,eAAgBjoF,EAAKioF,gBAAkB,GACvCC,WAAYloF,EAAKkoF,YAAc,GAC/BqpB,kBAAmB,IAAI1jG,KACvBw3G,sBAAuBrlH,EAAKqlH,uBAAyB,EACrD/8B,WAAYtoF,EAAKsoF,WACjBotB,cAAe11G,EAAK01G,cACpByM,gBAAoC,GAAnBniH,EAAK62G,WACtBA,WAAY72G,EAAK62G,WACjBuL,OAAQpiH,EAAKoiH,OACb3M,gBAAiBz1G,EAAKy1G,qBAnCX,2CAAH,qDA2CpBl4G,oBAAS,sBAAC,4BAAAM,EAAA,0DACF4pF,EAAWtwC,MADT,gCAEciZ,GAAwBq3B,EAAWtwC,OAFjD,OAEE93C,EAFF,OAGFg2E,GAAe,SAACj4E,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBwY,KAAMvW,EAAIW,KAAK4V,UAHpD,2CAKP,CAAC6xE,EAAWtwC,QAEf,IAAMiuE,EAAY,uCAAG,8BAAAvnH,EAAA,sEACDs2G,GAAex6G,EAAMq7E,eADpB,OACb31E,EADa,OAEb26D,EAAO36D,EAAIW,KAAKslH,gBAAgBpiH,KAAI,SAACgoB,GACrC,IAAIq6F,EAAUr6F,EAAEs4F,2BAA6Bt4F,EAAEi7F,4BAA8B,IAAMj7F,EAAEk7F,+BAAkC,IACvH,OAAO,aACHX,YAAaF,EACb1vG,MAAO0vG,EAASr6F,EAAE81F,2BACf91F,MAIXtvB,GAAS,SAACwB,GACN,IAAMuoH,EAAG,eAAQvoH,GAGjB,OAFAuoH,EAAIxL,aAAengD,EACnB2rD,EAAI1rG,QAAS,EACN0rG,KAfM,2CAAH,qDAmBZE,EAAa,SAACt8G,GAChB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAM28G,UAAW5tG,EAAO4tG,UAAWh3G,UAAWoJ,EAAOpJ,UAAWgQ,iBAAkB5G,EAAO4G,uBAO9H20B,EAAgB,SAAC9kC,GACnB,OACI,qBAAKrF,MAAO,CAAEyZ,UAAW,OAAQ9E,WAAY,QAA7C,SACI,cAAC,IAAD,CAAYgD,aAAa,gBAAgBnX,QAAS,kBAAM0qH,EAAW7lH,EAAKqO,WAKhFxS,EAAc,CAAC,KAAM,KAAM,MAAMyV,SAAnB,OAA4Bm2E,QAA5B,IAA4BA,OAA5B,EAA4BA,EAAYY,aAEpDn7E,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,GA8BpB,OA5BA,OAAIyQ,QAAJ,IAAIA,OAAJ,EAAIA,EAAiBi1F,gBACjBrlG,EAAUib,OAAO,EAAG,EAAG,CACnBttB,IAAK,SACLxE,KAAM,SACN+D,MAAO,GACPgH,UAAWw2B,EACXlwB,eAAgB,WACZ,OAAI/Y,EAEI,eAACS,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,SAA3B,UACI,cAAC,IAAD,CAAW4X,aAAa,eAAenX,QAAS0qH,KAChC,OAAfr7F,QAAe,IAAfA,OAAA,EAAAA,EAAiBu7F,2BACd,cAAC,KAAD,CACI7zG,KAAM8zG,KACN1nH,UAAU,oBACVnD,QAAS,kBAhCfoI,EAgC0C,0BA/BpE3H,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,GAAO,OADhB,IAACA,GAiCM+O,aAAa,oBAGrB,sBAAM3X,MAAO,CAAE0hC,aAAc,OAAQ/sB,WAAY,OAAjD,uBAID,QAKhB8K,IACR,CAACve,IAEEy4B,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAO28G,UAAW,KAAM8O,oBAAoB,OACnF5mH,GAAOg0G,KAGLA,EAAgB,WAClB3rB,GAAc,SAAClqF,GAAD,mBAAC,eAAaA,GAAd,IAAkB+zG,kBAAmB,IAAI1jG,UACvDu3G,IACAD,KAQE58B,EACFd,EAAW55C,aAAe45C,EAAW75C,aAArC,YACW65C,EAAW55C,YAAc45C,EAAW55C,YAAc,GAD7D,YACmE45C,EAAW75C,aAAe65C,EAAW75C,aAAe,GADvH,KAEM,GAEV,OACI,sBAAKtvC,UAAU,oBAAf,UACI,qBAAKA,UAAU,oBAAf,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,QAAtC,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACyV,QAAQ,aAAarV,GAAI,GAAIhC,MAAO,CAAEmhC,gBAAiB,UAAWr/B,QAAS,SAAhG,WACe,OAAVgrF,QAAU,IAAVA,OAAA,EAAAA,EAAYa,YACT,eAAChsF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,WACe,OAAV2qF,QAAU,IAAVA,OAAA,EAAAA,EAAYa,aAAc,GAD/B,WACoCb,QADpC,IACoCA,OADpC,EACoCA,EAAYnB,gBADhD,UAKJ,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UAAwC,OAAV2qF,QAAU,IAAVA,OAAA,EAAAA,EAAYnB,kBAAmB,QAGrE,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWE,kBAE7C,eAACrrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAW7gD,kBAE7C,eAACtqC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UACA,sBAAM3B,QAzCP,SAACuK,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BtzB,EAAM0sC,WAC3C78B,OAAQ,MAsC+C7O,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA3F,SACKo1E,EAAWD,eAEZe,QAGR,cAACjsF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAA/B,SACI,sBAAK/vB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,SAAxC,UACI,cAACrV,EAAA,EAAD,CAAgBpE,MAAO,CAAEyZ,UAAW,OAApC,mBACA,eAACtN,GAAA,EAAD,CAAYhK,QAAQ,SAASnC,MAAO,CAAEqZ,SAAU,GAAI3B,WAAY,OAAQxV,MAAO,SAA/E,2BACM4qF,EAAW49B,6BADjB,aACM,EAAkC7pF,QAAQ,GAAGC,QAAQ,yBAA0B,oBAMrG,cAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAIopE,EAAYx/D,KAAKjK,OAAS,EAAI,EAAI,GAAI+e,GAAI0qD,EAAYx/D,KAAKjK,OAAS,EAAI,EAAI,GAAIhR,MAAO,CAAEyD,UAAW,GAA3H,SACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,kBAAtC,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,eAACkB,GAAA,EAAD,CAAO1Z,MAAM,EAAO2Z,SAAUg7D,GAAkBY,EAAWY,aAAc/pF,UAAU,cAAnF,UACI,sBAAM3D,MAAO,CAAEF,QAAS,QAASuZ,SAAU,QAA3C,oBACA,sBAAMrZ,MAAO,CAAE0X,WAAY,QAA3B,SAAsCo1E,EAAWW,wBAGzD,cAAC9rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,eAACkB,GAAA,EAAD,CAAO1Z,KAAM,cAAC,KAAD,CAAU8B,SAAS,YAAc6X,SAAS,UAAUvtB,UAAU,cAA3E,UACI,sBAAM3D,MAAO,CAAEF,QAAS,QAASuZ,SAAU,QAA3C,6BACA,sBAAMrZ,MAAO,CAAE0X,WAAY,QAA3B,SAAsCo1E,EAAW/nC,2BAKhE01B,EAAYx/D,KAAKjK,OAAS,GACvB,cAACrP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAG/vB,MAAO,CAAEyD,UAAW,GAArD,SACI,cAAC9B,EAAA,EAAD,CACIC,WAAS,EACT7B,WAAW,SACXC,MAAO,CACHN,OAAQ,MACRyhC,gBAAiB,UACjBr/B,QAAS,YANjB,SASK24E,EAAYx/D,KAAK1S,KAAI,SAACgoB,GACnB,OACI,cAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAAV,SASQ,sBAAK/B,MAAO,CAAEq9C,WAAY,OAA1B,UACK9sB,EAAEqqD,QACH,sBAAM56E,MAAO,CAAEC,SAAU,WAAY4uB,IAAK,OAAQ7V,KAAM,MAAOla,YAAa,QAA5E,SACI,cAAC,KAAD,CACIgU,SAAUyd,EAAEsqD,cACZ5nE,uBAAuB,4BACvBF,UAAWwd,EAAExd,UACb6B,WAAY+lE,EACZ7lE,aAAa,4BAepErS,EAAM5C,KACH,cAAC,GAAD,CACIN,QAASo6B,EACTn0B,UAAW/C,EAAM+C,UACjBg3G,UAAW/5G,EAAM+5G,UACjB8J,OAAQx5B,EAAWY,YACnBl4E,iBAAkB/S,EAAM+S,iBACxB4yG,aAAcppH,EAAMq7E,cACpBmtC,gBAAiB16B,EAAW06B,gBAC5BtL,WAAYpvB,EAAWovB,WACvBuL,OAAQ36B,EAAW26B,SAGvB,sBAAKznH,MAAO,CAAEyD,UAAW,GAAzB,UACI,cAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC,GAAD,CACI02G,cAAeA,EACflzG,UAAWxG,EAAMwG,UACjBvF,SAAUjB,EAAMiB,SAChB08C,OAAQmwC,EAAWY,YACnBroF,KAAMynF,EACNtwC,MAAOx9C,EAAMq7E,cACb+9B,iBA1OC,WACrBvqG,EAAQ8qG,UA0OYG,QAAQ,OACRC,oBAAmB,UAAE/5G,EAAM6wB,uBAAR,aAAE,EAAuBi1F,cAC5C9L,gBAAgB,EAChBrrB,WAAYb,EAAWa,eAG/B,cAAChsF,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,EAA5C,SACI,cAAC,GAAD,CAAoBwsB,MAAOswC,EAAWtwC,MAAOswC,WAAYA,EAAY4rB,cAAeA,MAExF,eAAC/2G,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAA/B,SACI,cAAC,KAAD,CAAUxd,QAASA,EAASmO,KAAMje,EAAM+8G,aAAcz9F,cAAc,EAAMwpG,UAAW,GAAItpG,YAAaxf,EAAM6c,OAAQ5f,OAAQ,QAEhI,cAACiC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAG/vB,MAAO,CAAEswD,aAAc,QAAzD,SACI,cAAC,GAAD,CACI5kB,UAAW1sC,EAAM0sC,UACjB0Z,MAAOpmD,EAAMq7E,cACbj+B,SAAS,MACTw6D,kBAAmB9pB,EAAW8pB,yBAIzCn0G,EAAM6oH,mBACH,cAACnsH,GAAA,EAAD,CAAYC,MAAO,kBAAmBG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAAK4C,WAAS,EAA/F,SACI,cAAC,GAAD,CAAgBoD,UAAWsnF,EAAWU,aAAcpxC,SAAS,cAEjE,YCxYlBh9B,GAAe,CACjB,CACIhS,IAAK,uBACLxE,KAAM,cACN+D,MAAO,OAEX,CACIS,IAAK,4BACLxE,KAAM,mBACN+D,MAAO,OAEX,CACIS,IAAK,yBACLxE,KAAM,WACN+D,MAAO,KACPgH,UAAW3E,IAAWmL,qBACtBF,eAAgBjL,IAAWkL,wBAE/B,CACI9M,IAAK,0BACLxE,KAAM,aACN+D,MAAO,MACPgH,UAAW3E,IAAW2wE,gBACtB1lE,eAAgBjL,IAAWkL,wBAE/B,CACI9M,IAAK,yBACLxE,KAAM,WACN+D,MAAO,KACPgH,UAAW,SAACtO,GAAD,OAAU,qBAAKrF,MAAO,CAAEyZ,UAAW,SAAzB,SAAqCpU,EAAKqO,IAAIsxG,wBAA0B,QAC7F/qG,eAAgBjL,IAAWkL,wBAE/B,CACI9M,IAAK,WACLxE,KAAM,QACNqR,eAAgBjL,IAAWkL,yBAmkBpBujG,OA/jBf,SAAyBz+G,GACrB,MAA0BgC,mBAAS,CAC/BkkH,UAAW,GACX1I,UAAW,KACXT,kBAAmB,GACnBoJ,gBAAiB,KACjBC,kBAAmB,KACnBC,cAAe,GACfpJ,YAAa,GACbC,WAAY,GACZC,eAAgB,EAChBmJ,aAAc,GACdC,aAAc,GACd7I,WAAY,GACZ8B,aAAc,KACdC,cAAe,KACf9B,gBAAiB,GACjB8I,cAAe,GACfC,WAAY,GACZC,SAAU,GACVC,eAAgB,GAChBllG,KAAM,GACN9Q,OAAQ,GACRi2G,UAAU,EACVC,aAAa,EACbC,kBAAmB,KACnBC,qBAAsB,KACtBC,uBAAwB,KACxBC,kBAAmB,KACnBC,wBAAwB,IA5B5B,mBAAO1jH,EAAP,KAAcxB,EAAd,KA+BI4uB,GADkB7iB,eAAd2lC,UACc5vC,IAAW+sB,iBAEjC,EAAkC9uB,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KA2CIvb,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,MAAMyV,SAAS3X,EAAMsnH,UAA9C,OAAyDz2F,QAAzD,IAAyDA,OAAzD,EAAyDA,EAAiBi1F,eAEtF36E,EAAgB,SAAC9kC,GACnB,OACI,sBAAKrF,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,UACI,cAAC,IAAD,CAAY3Z,aAAa,gBAAgBmhC,WAAYr2C,EAAMojH,SAAUrlH,QAAS,kBA9ChEoO,EA8CuFvJ,EAAKqO,SA7ClHzS,GAAS,SAAC4B,GAaN,OAZS,2BACFA,GADE,IAELxC,GAAIuO,EAAOvO,GACXq8G,WAAY9tG,EAAO23G,qBACnB/H,aAAc5vG,EAAO43G,uBACrBf,cAAe72G,EAAOo2G,uBACtBvG,cAAe7vG,EAAO63G,wBACtB9J,gBAAiB/tG,EAAOg4G,0BACxBlB,WAAY92G,EAAO82G,WACnBmB,OAAQj4G,EAAOvO,GACfymH,UAAU,OAZG,IAACl4G,MA+CE,OAAfihB,QAAe,IAAfA,OAAA,EAAAA,EAAiB6vD,oBAAqB,cAAC,IAAD,CAAcl/E,QAAS,kBA7BjD,SAACoO,GACtB,IAAMvO,EAAKuO,EAAOvO,GACZ0mH,EAAUtkH,EAAMie,KAAKwc,QAAO,SAACn7B,GAAD,OAAUA,EAAK1B,KAAOA,KACpD2mH,EAAuB,CACvB3mH,GAAIuO,EAAOvO,GACXwmH,OAAQj4G,EAAOvO,GACfkmH,qBAAsB33G,EAAO23G,qBAC7BC,uBAAwB53G,EAAO43G,uBAC/BxB,uBAAwBp2G,EAAOo2G,uBAC/ByB,wBAAyB73G,EAAO63G,wBAChCG,0BAA2Bh4G,EAAOg4G,0BAClClB,WAAY92G,EAAO82G,WACnBuB,WAAW,GAEfF,EAAQj5G,KAAKk5G,GACb/lH,GAAS,SAAC4B,GAKN,OAJS,2BACFA,GADE,IAEL6d,KAAMqmG,OAW8DG,CAAiB7hH,EAAKqO,MAAMiE,aAAa,wBAKnHwvG,EAAiB,SAAC9hH,GACpB,MAAoFA,EAAKqO,IAAjF8yG,EAAR,EAAQA,uBACFtrG,EADN,EAAgCurG,wBACSD,GAA0B,IADnE,EAAyDxB,wBAC0C,GAAM,IACzG,OAAO,sBAAKhlH,MAAO,CAAEyZ,UAAW,SAAzB,iBAAsCyB,EAAM2lB,QAAQ,GAAGC,QAAQ,0BAA2B,WAG/FvuB,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBkoG,EAAa7nG,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,aAAbA,EAAKqL,OAO/C,OANIlM,GACAue,EAAUib,OAAO,EAAG,EAAG,CAAEttB,IAAK,SAAUxE,KAAM,SAAU+K,UAAWw2B,EAAex9B,MAAO,OAEzF26G,IACAA,EAAW3zG,UAAYwzG,GAEpB1nG,KAGX,EAA6Chf,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,sCAAAM,EAAA,6DACNjC,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2kH,gBAAiBxoH,EAAMwoH,gBAAiBtL,WAAYl9G,EAAMk9G,gBAD/E,SAEWxC,KAFX,WAEFtlD,EAFE,QAGGtrD,UACC4+G,EAAWtzD,EAAK/uD,KAAKiY,aAAa/U,KAAI,SAACxG,GAAD,MAAW,CACnD1B,GAAI0B,EAAK4lH,MAAQ,IAAM5lH,EAAK6lH,SAC5Bh/G,KAAM7G,EAAK8lH,eAEf5mH,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8iH,SAAU+B,EACV9B,eAAgBxxD,EAAK/uD,KAAKugH,eAC1BP,cAAejxD,EAAK/uD,KAAKggH,cACzByC,aAAc1zD,EAAK/uD,KAAK22G,gBAG5Bh9G,EAAMw9G,UAhBJ,wBAiBEuL,EAAW,GAjBb,SAkBctO,GAAez6G,EAAMw9G,WAlBnC,OAkBE93G,EAlBF,OAmBFqjH,EAAWrjH,EAAIW,KAAK2iH,uBAAuBz/G,KAAI,SAACxG,EAAMuhD,GAAP,mBAAC,eACzCvhD,GADwC,IAE3C1B,GAAIijD,EAAQ,EACZ2jE,WAAW,OAETgB,EAAOvjH,EAAIW,KAAK6iH,sBAAsB,GACxCxjH,EAAIoE,WACA+1B,EAAQ,IACN29E,UAAYyL,EAAKzL,UACvB39E,EAAMk9E,kBAAoBkM,EAAKE,mBAC/BtpF,EAAMupF,aAAeH,EAAKG,aAC1BvpF,EAAMsmF,gBAAkB8C,EAAK9C,gBAC7BtmF,EAAMwpF,kBAAoBJ,EAAKI,kBAC/BxpF,EAAMymF,aAAe2C,EAAKK,sBAAwB,IAAML,EAAKM,yBAC7D1pF,EAAMypF,sBAAwBL,EAAKK,sBACnCzpF,EAAM0pF,yBAA2BN,EAAKM,yBACtC1pF,EAAM0mF,aAAe0C,EAAKO,sBAC1B3pF,EAAMne,KAAOqnG,EACblpF,EAAMgnF,SAA+B,KAApBoC,EAAKQ,YACtB5pF,EAAM4pF,YAAcR,EAAKS,WACzB7pF,EAAMo9E,YAAcgM,EAAKU,mBACzB9pF,EAAMq9E,WAAa+L,EAAKW,mBACxB/pF,EAAMs9E,eAAiB8L,EAAKc,sBAC5BlqF,EAAMwpF,kBAAoBJ,EAAKI,kBAC/BpnH,GAAS,SAACwB,GAAD,mBAAC,eACHA,GACAo8B,OA7CT,4CAiDP,IAEHj8B,qBAAU,WACN,IACqD,EAGM,EAIE,EAGC,EAX1Di8B,EAAQ,GACRp8B,EAAM6iH,cAAgB7iH,EAAMkjH,SAAS30G,OAAS,IAC9C6tB,EAAMqnF,kBAAN,UAA0BzjH,EAAMkjH,gBAAhC,aAA0B,EAAgBnzG,MAAK,qBAAGnS,KAAgBoC,EAAM6iH,iBAExE7iH,EAAM8iH,cAAgB9iH,EAAMmjH,eAAe50G,OAAS,IACpD6tB,EAAMknF,kBAAN,UAA0BtjH,EAAMmjH,sBAAhC,aAA0B,EAAsBpzG,MAAK,qBAAGnS,KAAgBoC,EAAM8iH,iBAG9E9iH,EAAM0iH,iBAAmB1iH,EAAM4iH,cAAcr0G,OAAS,IACtD6tB,EAAMmnF,qBAAN,UAA6BvjH,EAAM4iH,qBAAnC,aAA6B,EAAqB7yG,MAAK,qBAAGnS,KAAgBoC,EAAM0iH,oBAEhF1iH,EAAM4lH,mBAAqB5lH,EAAMqlH,aAAa92G,OAAS,IACvD6tB,EAAMonF,uBAAN,UAA+BxjH,EAAMqlH,oBAArC,aAA+B,EAAoBt1G,MAAK,qBAAGnS,KAAgBoC,EAAM4lH,sBAErFpnH,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GACAg8B,QAER,CACCp8B,EAAM6iH,aACN7iH,EAAMkjH,SACNljH,EAAM8iH,aACN9iH,EAAMmjH,eACNnjH,EAAM0iH,gBACN1iH,EAAM4iH,cACN5iH,EAAMqlH,aACNrlH,EAAM4lH,oBAGV,IAAMtpG,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAGdF,GAAS,SAACwB,GAAD,yBAAC,eACHA,GADE,uBAEJmG,EAAOzH,GAFH,iDAGUsB,EAAMyiH,WAHhB,CAG2Bt8G,KAH3B,QAQPsS,GADYzY,EAAMg8G,cAAgBh8G,EAAM+7G,cAAgB,IAAM/7G,EAAMgjH,eAAiB,GAAM,KAC1E5kF,QAAQ,GAAGC,QAAQ,0BAA2B,OAC/Dq+E,EAAU18G,EAAMy5G,WAAaz5G,EAAMw5G,aAAe,IAAMx5G,EAAM05G,gBAAkB,GAAM,IAEtFmN,EAAqB,SAAC/rG,GAAD,OAAQ,SAACzS,EAAGC,GACnC,GAAW,sBAAPwS,EAA4B,CAAC,IAAD,EACtBgsG,EAAG,OAAGx+G,QAAH,IAAGA,GAAH,UAAGA,EAAK1K,UAAR,aAAG,EAASy5F,MAAM,MAC3B,OAAIyvB,QAAJ,IAAIA,OAAJ,EAAIA,EAAKv4G,SACL/P,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,gBAEL6lH,sBAAuBiB,EAAI,GAC3BhB,yBAA0BgB,EAAI,IAC7BhsG,EAAKxS,YAId9J,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJ8a,EAAKxS,SAKZ+F,EAAc,WAChB,IAAQirG,EAA2Gt5G,EAA3Gs5G,kBAAmBmK,EAAwFzjH,EAAxFyjH,kBAAmBhK,EAAqEz5G,EAArEy5G,WAA6BD,GAAwCx5G,EAAzD0iH,gBAAyD1iH,EAAxCw5G,aACvEz6F,GAD+G/e,EAA3BwjH,uBAChE,SACpBl1G,GAAc,EACdnB,EAAS,GAwBb,OAvBK4R,EAAkBvQ,KAAK8qG,KACxBnsG,EAAOmsG,kBAAoB,0BAC3BhrG,GAAc,GAEbm1G,IACDt2G,EAAO01G,aAAe,4BACtBv0G,GAAc,GAEbtO,EAAMsjH,oBACPn2G,EAAO21G,aAAe,4BACtBx0G,GAAc,GAEbyQ,EAAkBvQ,KAAKirG,KACxBtsG,EAAOssG,WAAa,mBACpBnrG,GAAc,GAGbkrG,IACDrsG,EAAOqsG,YAAc,oBACrBlrG,GAAc,GAGlB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLy4G,EAAqB,uCAAG,WAAOz+G,GAAP,yBAAA7H,EAAA,0DACtB4N,IADsB,uBAEtB2L,GAAa,GACPgtG,EAAUhnH,EAAMie,KACjBwc,QAAO,SAAC73B,GAAD,OAA4B,GAAlBA,EAAK4hH,aACtB1+G,KAAI,SAACmL,GAAD,MAAU,CACX6yG,qBAAsB7yG,EAAI6yG,qBAC1BC,uBAAwB9yG,EAAI8yG,uBAC5BxB,uBAAwBtxG,EAAIsxG,uBAC5ByB,wBAAyB/yG,EAAI+yG,wBAC7BG,0BAA2BlzG,EAAIkzG,8BAEjCvhH,EAAO,CACT8iH,mBAAoB1lH,EAAMs5G,kBAC1B4M,mBAAoBlmH,EAAMw5G,YAC1B2M,mBAAoBnmH,EAAMy5G,WAC1B6M,sBAAuBtmH,EAAM05G,gBAAkB,EAC/CK,UAAW/5G,EAAM+5G,UACjB8L,sBAAuB7lH,EAAM6lH,sBAC7BC,yBAA0B9lH,EAAM8lH,yBAChCH,aAAcppH,EAAMopH,aACpBI,sBAAqB,UAAE/lH,EAAMsjH,yBAAR,aAAE,EAAyB1lH,GAChDspH,kBAAmBF,EACnBtE,gBAAe,UAAE1iH,EAAMujH,4BAAR,aAAE,EAA4B3lH,GAC7CgoH,kBAAiB,UAAE5lH,EAAMwjH,8BAAR,aAAE,EAA8B5lH,GACjDupH,gBAAiB,GAzBC,SA2BNjQ,GAAYt0G,GA3BN,QA2BlBX,EA3BkB,QA4BdoE,SACJyB,EAAiB,+BACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAlCS,2CAAH,sDAkFrBkhE,EAAiB,WACnB18E,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBijH,aAAa,QAOtC+D,EAAa,WACf5oH,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBsjH,wBAAyBtjH,EAAGsjH,6BAGvD2D,EAASrnH,EAAMyiH,UAAUl0G,OAAS,EAAI64G,EARtB,WAChB7qH,EAAMO,SAAQ,IAQlB,OACI,sBAAKoE,UAAU,0BAAf,UACKlB,EAAMqjH,aACH,cAAC3mH,GAAA,EAAD,CAAYC,MAAK,qBAAgBJ,EAAMwW,iBAAtB,YAA0C/S,EAAM6iH,cAAgB9lH,SAAS,KAAKD,QAASo+E,EAAgBv7E,WAAS,EAAjI,SACI,cAAC,GAAD,CACI7C,QAASo+E,EACTm8B,MAAO96G,EAAMopH,aACb5iH,UAAWxG,EAAMwG,UACjBm1G,eAAgBl4G,EAAM6lH,sBACtB1N,kBAAmBn4G,EAAM8lH,yBACzB/yG,iBAAkBxW,EAAMwW,qBAKpC,eAAC7T,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACKX,GACG,cAACS,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAiB8oB,WAAYr2C,EAAMojH,SAAUnoG,YAAalB,EAAWhc,QAASgpH,EAA9E,oBAKR,cAAC7nH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIxvB,QACIspH,EAFR,yBAYR,eAACnoH,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,qBACXlP,WAAS,EACTwG,KAAK,oBACL2I,YAAY,cACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMs5G,kBACbnsG,OAAQnN,EAAMmN,OAAOmsG,kBACrBjjE,WAAYr2C,EAAMojH,aAG1B,cAAClkH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,QACXwnC,WAAYr2C,EAAMojH,SAClBt0G,YAAY,QACZpQ,MAAOsB,EAAMw5G,YACbxwG,SAAUsT,EACVnP,OAAQnN,EAAMmN,OAAOqsG,YACrBrzG,KAAK,kBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,cACX1I,KAAK,aACL2I,YAAY,OACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMy5G,WACbtsG,OAAQnN,EAAMmN,OAAOssG,WACrBpjE,WAAYr2C,EAAM+kH,iBAAmB/kH,EAAMojH,aAGnD,cAAClkH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,aACX1I,KAAK,iBACLkwC,WAAYr2C,EAAMojH,SAClBt0G,YAAY,WACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM05G,mBAGrB,cAACx6G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,sBAAKrsB,UAAU,cAAf,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACO,UAAU,cAA7B,mBAGA,sBAAKA,UAAU,cAAf,wBAA+Bw7G,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAQt+E,QAAQ,GAAGC,QAAQ,0BAA2B,eAG7F,eAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAArD,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIsP,WAAW,gBACXyzG,YAAY,EACZjsE,WAAYr2C,EAAMojH,SAClB7lH,MAAO,CAAEyD,WAAY,GACrBga,QAAShb,EAAMkjH,SACfxkH,MAAOsB,EAAMyjH,kBACbz6G,SAAU69G,EAAmB,yBAGpC7mH,EAAM6iH,cACH,eAAC3jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,UAAa,WACb,cAAC,KAAD,CACIo6C,aAAc,GACd5lC,aAAa,2DACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBijH,aAAa,QAE5CvuG,KAAMwyG,UAIlB,cAAC3lH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO01G,kBAExC,eAAC3jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAAC,IAAD,CACI2N,WAAW,gBACXwnC,WAAYr2C,EAAMojH,SAClB7lH,MAAO,CAAEyD,WAAY,GACrBga,QAAShb,EAAMmjH,eACfzkH,MAAOsB,EAAMsjH,kBACbt6G,SAAU69G,EAAmB,uBAEjC,cAACllH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO21G,qBAG3CrkH,GACG,mCACI,eAACS,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,WAAYr2C,EAAMojH,SAClBv0G,WAAW,cACX1I,KAAK,aACL2I,YAAY,cACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMi6G,WACb9sG,OAAQnN,EAAMmN,OAAO8sG,eAG7B,cAAC/6G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,WAAYr2C,EAAMojH,SAClBv0G,WAAW,mBACX1I,KAAK,kBACL2I,YAAY,mBACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMk6G,gBACb/sG,OAAQnN,EAAMmN,OAAO+sG,oBAG7B,cAACh7G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,WAAYr2C,EAAMojH,SAClBv0G,WAAW,WACX1I,KAAK,eACL2I,YAAY,WACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM+7G,iBAGrB,cAAC78G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAjD,SACI,cAAC,IAAD,CACIm1C,WAAYr2C,EAAMojH,SAClBv0G,WAAW,aACX1I,KAAK,gBACL8C,KAAK,SACL6F,YAAY,QACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMg8G,kBAGrB,cAAC98G,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAApC,SACI,cAAC,IAAD,CACI8oB,WAAYr2C,EAAMojH,SAClBv0G,WAAW,aACX1I,KAAK,gBACL8C,KAAK,SACL6F,YAAY,WACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMgjH,kBAGrB,cAAC9jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAA7B,SACI,cAAC,IAAD,CACI+oB,WAAYr2C,EAAMojH,SAClBv0G,WAAW,QACX1I,KAAK,aACL40C,WAAY,CACRqoE,UAAU,GAEdt0G,YAAY,QACZ9F,SAAUsT,EACV5d,MAAO+Z,MAGf,cAACvZ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,aAAa3D,MAAO,CAAEyD,UAAW,IAA3E,SACI,cAAC,IAAD,CAAiBq1C,WAAYr2C,EAAMojH,SAAUrlH,QAhQ5C,WAUrB,GAT8B,KAA1BiC,EAAMk6G,iBACNryG,EAAe,2BAEM,KAArB7H,EAAMi6G,YACNpyG,EAAe,wBAEQ,OAAvB7H,EAAM+7G,cAAgD,KAAvB/7G,EAAM+7G,cACrCl0G,EAAe,wBAES,OAAxB7H,EAAMg8G,eAAkD,KAAxBh8G,EAAMg8G,cACtCn0G,EAAe,yBACZ,CACH,IAAI0/G,EAAe,CACfzD,qBAAsB9jH,EAAMi6G,WAC5B8J,uBAAwB/jH,EAAM+7G,aAC9BwG,uBAAwBviH,EAAMgjH,cAC9BgB,wBAAyBhkH,EAAMg8G,cAC/BmI,0BAA2BnkH,EAAMk6G,gBACjCsK,WAAW,EACXvB,WAAYxqG,GAEhBja,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL6d,KAAMje,EAAMie,KAAKwc,QAAO,SAACn7B,GAAD,OAAUA,EAAK1B,KAAOoC,EAAMokH,eAGxD5lH,GAAS,SAAC4B,GAEN,OADAmnH,EAAa3pH,GAAwB,IAAnBwC,EAAG6d,KAAK1P,OAAe,EAAI+wE,KAAK5xD,IAAL,MAAA4xD,KAAI,aAAQl/E,EAAG6d,KAAKnY,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,QAAO,EAC9E,2BACAwC,GADP,IAEI6d,KAAK,GAAD,oBAAM7d,EAAG6d,MAAT,CAAespG,IACnBtN,WAAY,GACZ8B,aAAc,GACdiH,cAAe,GACfhH,cAAe,GACf9B,gBAAiB,GACjB+I,WAAY,GACZoB,UAAU,EACVD,YAAQvjH,SAyNA,SACKb,EAAMokH,OAAS,SAAW,eAM9CpkH,EAAM0jH,uBACH,cAAChnH,GAAA,EAAD,CAAYC,MAAO,GAAIG,QAASsqH,EAAYrqH,SAAS,KAArD,SACI,cAAC4oD,GAAD,CAAmBj9C,QAAS,oDAAqDk9C,aAAcwhE,EAAYj9F,aAAc5tB,EAAMO,YAEnI,KACJ,cAACoC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,qBAAK2B,UAAU,oBAAf,SACI,cAAC,KAAD,CACI4O,QAASA,EACT4P,OAAQ,IACRzB,KAAMje,EAAMie,KAAKwc,QAAO,SAACn7B,GAAD,OAA6B,IAAnBA,EAAKklH,aACvCllG,cAAc,EACdE,YAAaxf,EAAM6c,iBCtlBrC4sE,GAAoB,CACtB5qC,GAAI,UACJ6qC,GAAI,UACJC,GAAI,UACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJC,GAAI,QACJnrC,GAAI,QACJorC,GAAI,UACJC,GAAI,UACJC,GAAI,WA0XO++B,OAvXf,SAA6B1sH,GAAQ,IAAD,IAC5B6wB,EAAkB9sB,IAAW+sB,gBACjC,EAA0B9uB,mBAAS,CAC/Bw+G,aAAc,GACdlgG,QAAQ,EACRzf,MAAM,EACN6tF,YAAa,GACblT,cAAe,IAAItnE,KACnBy4G,eAAgB,GAChB/7G,OAAQ,GACR8vG,QAAQ,EACRyK,eAAe,EACfE,YAAY,IAVhB,mBAAO5nH,EAAP,KAAcxB,EAAd,KAYM4M,EAAU8b,eAEVgxD,EAAa,WACf15E,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+3E,cAAe,IAAItnE,WAGlDkM,EAAe,CACjB,CACIhS,IAAK,SACLxE,KAAM,SACN+D,MAAO,IAEX,CACIS,IAAK,qBACLxE,KAAM,cACN+K,UAAW,SAAC/E,GACR,OACI,eAACjN,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACK4M,EAAO8E,IAAIy0G,qBAEhB,cAACxmH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEqZ,SAAU,QAAtC,SACKzK,EAAO8E,IAAI42G,WAK5BC,UAAW,oCAEf,CAAEn9G,IAAK,oBAAqBxE,KAAM,QAAS+K,UAAW3E,IAAW2wE,gBAAiB1lE,eAAgBjL,IAAWkL,uBAAwBvN,MAAO,IAC5I,CAAES,IAAK,cAAexE,KAAM,SAAU+K,UAAW3E,IAAW2wE,gBAAiB1lE,eAAgBjL,IAAWkL,uBAAwBvN,MAAO,IACvI,CAAES,IAAK,QAASxE,KAAM,QAAS+K,UAAW3E,IAAW2wE,gBAAiB1lE,eAAgBjL,IAAWkL,uBAAwBvN,MAAO,KAGpI/J,oBAAS,sBAAC,sBAAAM,EAAA,sDACNsnH,IACAC,IAFM,2CAGP,CAAChoH,EAAM+3E,gBAEV,MAAoCx5E,mBAAS,CACzC+jD,eAAgB,GAChB05B,WAAY,GACZ1iC,kBAAmB,GACnB7I,YAAa,GACbD,aAAc,GACd45C,aAAc,GACd+pB,kBAAmB,GACnBlpB,YAAa,KARjB,mBAAOZ,EAAP,KAAmBC,EAAnB,KAWA,EAAsC/rF,mBAAS,CAC3Cia,KAAM,KADV,mBAAOw/D,EAAP,KAAoBC,EAApB,KAIM8vC,EAAc,uCAAG,oCAAAtnH,EAAA,sEACH+xD,GAAkBj2D,EAAMq7E,eADrB,OACf31E,EADe,OAEf0vD,EAAO1vD,EAAIW,KAAK4V,MAChB5V,GAAW,OAAJ+uD,QAAI,IAAJA,OAAA,EAAAA,EAAMpjD,QAAS,EAAf,UAAmBtM,EAAIW,YAAvB,aAAmB,EAAU4V,KAAK,GAAlC,UAAuCvW,EAAIW,YAA3C,aAAuC,EAAU4V,OAExD8xE,GAAc,SAAClqF,GAAD,mBAAC,eACRA,GADO,IAEV25C,MAAOn3C,EAAKm3C,MACZmvC,gBAAiBtmF,EAAKsmF,gBACtBqB,aAAch+E,IAAWgqD,kBAAkB3zD,EAAKymF,SAChDmB,cAAe5nF,EAAK6nF,WAEpBC,iBAAkB9nF,EAAK8nF,kBAAoB,GAE3CpxC,kBAAmB12C,EAAK02C,mBAAqB,GAC7CyxC,aAAcnoF,EAAKmoF,aACnBX,aAAcxnF,EAAKwnF,aACnB35C,YAAa7tC,EAAK6tC,YAClBD,aAAc5tC,EAAK4tC,aACnBw6C,iBAAkBpoF,EAAKooF,iBACvBC,YAAaroF,EAAKqoF,YAElB7B,mBAAoBxmF,EAAKwmF,mBAEzBstB,gBAAiB9zG,EAAK8zG,gBACtBltE,aAAc5mC,EAAKoQ,oBACnBsvC,eAAgB1/C,EAAK0/C,eACrBk1B,YAAa50E,EAAK40E,YAClB4mC,eAAgBx7G,EAAKw7G,eACrBD,eAAgBv7G,EAAKu7G,eACrBtzB,eAAgBjoF,EAAKioF,gBAAkB,GACvCC,WAAYloF,EAAKkoF,YAAc,GAC/BqpB,kBAAmB,IAAI1jG,KACvBw3G,sBAAuBrlH,EAAKqlH,uBAAyB,EACrD/8B,WAAYtoF,EAAKsoF,WACjBotB,cAAe11G,EAAK01G,cACpByM,gBAAoC,GAAnBniH,EAAK62G,WACtBA,WAAY72G,EAAK62G,WACjBpB,gBAAiBz1G,EAAKy1G,qBAtCX,2CAAH,qDA8CpBl4G,oBAAS,sBAAC,4BAAAM,EAAA,0DACF4pF,EAAWtwC,MADT,gCAEciZ,GAAwBq3B,EAAWtwC,OAFjD,OAEE93C,EAFF,OAGFg2E,GAAe,SAACj4E,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBwY,KAAMvW,EAAIW,KAAK4V,UAHpD,2CAKP,CAAC6xE,EAAWtwC,QAEf,IAAMiuE,EAAY,uCAAG,8BAAAvnH,EAAA,sEACDs2G,GAAex6G,EAAMq7E,eADpB,OACb31E,EADa,OAEb26D,EAAO36D,EAAIW,KAAKslH,gBAAgBpiH,KAAI,SAACgoB,GACrC,IAAIq6F,EAAUr6F,EAAEq4F,mBAAqBr4F,EAAEo4F,oBAAsB,IAAMp4F,EAAEw4F,uBAA0B,IAC/F,OAAO,aACH+B,YAAaF,EACb1vG,MAAO0vG,EAASr6F,EAAEw6F,mBACfx6F,MAGXtvB,GAAS,SAACwB,GACN,IAAMuoH,EAAG,eAAQvoH,GAGjB,OAFAuoH,EAAIxL,aAAengD,EACnB2rD,EAAI1rG,QAAS,EACN0rG,KAdM,2CAAH,qDAkBZE,EAAa,SAACt8G,GAChB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAM28G,UAAW5tG,EAAO4tG,UAAWh3G,UAAWoJ,EAAOpJ,UAAWgQ,iBAAkB5G,EAAO4G,uBAO9H20B,EAAgB,SAAC9kC,GACnB,OACI,qBAAKrF,MAAO,CAAEyZ,UAAW,OAAQ9E,WAAY,QAA7C,SACI,cAAC,IAAD,CAAYgD,aAAa,gBAAgBnX,QAAS,kBAAM0qH,EAAW7lH,EAAKqO,WAKhFxS,EAAc,CAAC,KAAM,KAAM,KAAM,KAAM,MAAMyV,SAA/B,OAAwCm2E,QAAxC,IAAwCA,OAAxC,EAAwCA,EAAYY,aAEhEn7E,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,GAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAwB9C,OAvBIgH,IACAA,EAAUT,UAAYw2B,EACtB/1B,EAAU6F,eAAiB,WACvB,OAAI/Y,EAEI,eAACS,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,SAA3B,UACI,cAAC,IAAD,CAAW4X,aAAa,eAAenX,QAAS0qH,KAChC,OAAfr7F,QAAe,IAAfA,OAAA,EAAAA,EAAiBu7F,2BACd,cAAC,KAAD,CACI7zG,KAAM8zG,KACN1nH,UAAU,oBACVnD,QAAS,kBA5BXoI,EA4BsC,0BA3BhE3H,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,GAAO,OADhB,IAACA,GA6BE+O,aAAa,oBAGrB,sBAAM3X,MAAO,CAAE0hC,aAAc,OAAQ/sB,WAAY,OAAjD,uBAID,OAIZ8K,IACR,CAACve,IAEEy4B,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAO28G,UAAW,KAAM8O,oBAAoB,OACnF5mH,GAAOg0G,KAGLA,EAAgB,WAClB3rB,GAAc,SAAClqF,GAAD,mBAAC,eAAaA,GAAd,IAAkB+zG,kBAAmB,IAAI1jG,UACvDu3G,IACAD,KAGE58B,EACFd,EAAW55C,aAAe45C,EAAW75C,aAArC,YACW65C,EAAW55C,YAAc45C,EAAW55C,YAAc,GAD7D,YACmE45C,EAAW75C,aAAe65C,EAAW75C,aAAe,GADvH,KAEM,GAOV,OACI,sBAAKtvC,UAAU,oBAAf,UAEI,qBAAKA,UAAU,oBAAf,SACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,QAAtC,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACyV,QAAQ,aAAarV,GAAI,GAAIhC,MAAO,CAAEmhC,gBAAiB,UAAWr/B,QAAS,SAAhG,WACe,OAAVgrF,QAAU,IAAVA,OAAA,EAAAA,EAAYa,YACT,eAAChsF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,6BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,WACe,OAAV2qF,QAAU,IAAVA,OAAA,EAAAA,EAAYa,aAAc,GAD/B,WACoCb,QADpC,IACoCA,OADpC,EACoCA,EAAYnB,gBADhD,UAKJ,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UAAwC,OAAV2qF,QAAU,IAAVA,OAAA,EAAAA,EAAYnB,kBAAmB,QAGrE,eAAChqF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAWE,kBAE7C,eAACrrF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B2qF,EAAW7gD,kBAE7C,eAACtqC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC3rB,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UACI,sBAAM3B,QArCX,SAACuK,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BtzB,EAAMwG,WAC3CqJ,OAAQ,MAkCmD7O,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA3F,SACKo1E,EAAWD,eACR,IACPe,QAOT,cAACjsF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAA/B,SACI,sBAAK/vB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,SAAxC,UACI,cAACrV,EAAA,EAAD,CAAgBpE,MAAO,CAAEyZ,UAAW,OAApC,mBACA,eAACtN,GAAA,EAAD,CAAYhK,QAAQ,SAASnC,MAAO,CAAEqZ,SAAU,GAAI3B,WAAY,OAAQxV,MAAO,SAA/E,2BACM4qF,EAAWG,qBADjB,aACM,EAA0BpsD,QAAQ,GAAGC,QAAQ,0BAA2B,oBAO9F,cAACn/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAIopE,EAAYx/D,KAAKjK,OAAS,EAAI,EAAI,GAAI+e,GAAI0qD,EAAYx/D,KAAKjK,OAAS,EAAI,EAAI,GAAIhR,MAAO,CAAEyD,UAAW,GAA3H,SACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,kBAAtC,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,eAACkB,GAAA,EAAD,CAAO1Z,MAAM,EAAO2Z,SAAUg7D,GAAkBY,EAAWY,aAAc/pF,UAAU,cAAnF,UACI,sBAAM3D,MAAO,CAAEF,QAAS,QAASuZ,SAAU,QAA3C,oBACA,sBAAMrZ,MAAO,CAAE0X,WAAY,QAA3B,SAAsCo1E,EAAWW,wBAGzD,cAAC9rF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,eAACkB,GAAA,EAAD,CAAO1Z,KAAM,cAAC,KAAD,CAAU8B,SAAS,YAAc6X,SAAS,UAAUvtB,UAAU,cAA3E,UACI,sBAAM3D,MAAO,CAAEF,QAAS,QAASuZ,SAAU,QAA3C,6BACA,sBAAMrZ,MAAO,CAAE0X,WAAY,QAA3B,SAAsCo1E,EAAW/nC,2BAKhE01B,EAAYx/D,KAAKjK,OAAS,GACvB,cAACrP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAG/vB,MAAO,CAAEyD,UAAW,GAArD,SACI,cAAC9B,EAAA,EAAD,CACIC,WAAS,EACT7B,WAAW,SACXC,MAAO,CACHN,OAAQ,MACRyhC,gBAAiB,UACjBr/B,QAAS,YANjB,SASK24E,EAAYx/D,KAAK1S,KAAI,SAACgoB,GACnB,OACI,cAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAAV,SASQ,sBAAK/B,MAAO,CAAEq9C,WAAY,OAA1B,UACK9sB,EAAEqqD,QACH,sBAAM56E,MAAO,CAAEC,SAAU,WAAY4uB,IAAK,OAAQ7V,KAAM,MAAOla,YAAa,QAA5E,SACI,cAAC,KAAD,CACIgU,SAAUyd,EAAEsqD,cACZ5nE,uBAAuB,4BACvBF,UAAWwd,EAAExd,UACb6B,WAAY+lE,EACZ7lE,aAAa,4BAepErS,EAAM5C,KACH,cAAC,GAAD,CACIN,QAASo6B,EACTn0B,UAAW/C,EAAM+C,UACjBg3G,UAAW/5G,EAAM+5G,UACjB8J,OAAQx5B,EAAWY,YACnBl4E,iBAAkB/S,EAAM+S,iBACxB4yG,aAAcppH,EAAMq7E,cACpBmtC,gBAAiB16B,EAAW06B,gBAC5BtL,WAAYpvB,EAAWovB,aAG3B,sBAAKl8G,MAAO,CAAEyD,UAAW,GAAzB,UACI,cAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAAC,GAAD,CACI02G,cAAeA,EACflzG,UAAWxG,EAAMwG,UACjBvF,SAAUjB,EAAMiB,SAChB08C,OAAQmwC,EAAWY,YACnBroF,KAAMynF,EACNtwC,MAAOx9C,EAAMq7E,cACb+9B,iBAzOC,WACrBvqG,EAAQ8qG,UAyOYG,QAAQ,OACRC,oBAAmB,UAAE/5G,EAAM6wB,uBAAR,aAAE,EAAuBi1F,kBAGpD,cAACnjH,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,EAA5C,SACI,cAAC,GAAD,CAAoBwsB,MAAOswC,EAAWtwC,MAAOswC,WAAYA,EAAY4rB,cAAeA,MAExF,eAAC/2G,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAA/B,SACI,cAAC,KAAD,CAAUxd,QAASA,EAASmO,KAAMje,EAAM+8G,aAAcz9F,cAAc,EAAMwpG,UAAW,GAAItpG,YAAaxf,EAAM6c,OAAQ5f,OAAQ,QAEhI,cAACiC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAG/vB,MAAO,CAAEswD,aAAc,QAAzD,SACI,cAAC,GAAD,CACI5kB,UAAW1sC,EAAM0sC,UACjB0Z,MAAOpmD,EAAMq7E,cACbj+B,SAAS,MACTw6D,kBAAmB9pB,EAAW8pB,yBAIzCn0G,EAAM6oH,mBACH,cAACnsH,GAAA,EAAD,CAAYC,MAAO,kBAAmBG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAAK4C,WAAS,EAA/F,SACI,cAAC,GAAD,CAAgBoD,UAAWsnF,EAAWU,aAAcpxC,SAAS,cAEjE,YC5OTwvE,OAtJf,SAAsB5sH,GAAQ,IAAD,UACrB6wB,EAAkB9sB,IAAW+sB,gBAC3BjiB,EAAU8b,eACVtpB,EAAKrB,EAAM2P,MAAMC,OAAOvO,GACxBmF,EAAS,UAAGxG,EAAM2P,MAAMC,cAAf,aAAG,EAAoBpJ,UAGhC/C,GAFQ,UAAGzD,EAAM2P,aAAT,iBAAG,EAAaC,cAAhB,OAAG,EAAqBgrF,SAEtB56F,EAAMgP,SAAhBvL,OACN,EAA0BzB,wBAASsC,GAAnC,mBAAOggD,EAAP,KAAcuoE,EAAd,KACA,EAA0B7qH,mBAAS,IAAnC,mBAAOG,EAAP,KAAcwf,EAAd,KACA,EAAkC3f,mBAAS,IAA3C,mBAAO8qH,EAAP,KAAkBC,EAAlB,KAMQp5E,EAAc3lC,eAAd2lC,UAEF6b,EAAiB7b,EAAUh8B,SAAS,gBAEpC+7B,EAAaC,EAAUh8B,SAAS,YAChC0pG,EAAa1tE,EAAUh8B,SAAS,YAEtC/T,qBAAU,WAAO,IAAD,IACZ,aAAI5D,EAAM2P,aAAV,iBAAI,EAAaC,cAAjB,aAAI,EAAqBgrF,SAAU,CAAC,IAAD,IAE3Bv9D,GADI,IAAInpB,MACF8mF,UACVr5E,GAAS,SAAC9d,GAAD,mBAAC,eAAaA,GAAd,IAAkBo3F,eAAgB59D,OAC3CwvF,IAAS,UAAC7sH,EAAM2P,aAAP,iBAAC,EAAaC,cAAd,aAAC,EAAqBgrF,gBAAYt2F,MAEhD,WAACtE,EAAM2P,aAAP,iBAAC,EAAaC,cAAd,aAAC,EAAqBgrF,WAEzB,IAAMG,EAAI,uBACFsmB,EAAU,wBAEe,OAAfxwF,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,aACf,CACI,CACIx4C,MAAO,cACPyqD,KAAM,cAAC+1D,GAAD,CAAmB3xC,cAAeh6E,EAAImF,UAAWA,KAE3D,CACIgG,MAAO,YACPyqD,KAAM,cAAC,GAAD,CAAiBokB,cAAeh6E,EAAIqrC,UAAWlmC,EAAWqqB,gBAAiBA,MAGzF,IAbF,cAce,OAAfA,QAAe,IAAfA,OAAA,EAAAA,EAAiBqqE,iBACf,CACI,CACI1uF,MAAO,oBACPyqD,KAAM,cAAC,GAAD,CAAevqB,UAAWlmC,EAAW4/C,MAAO/kD,EAAI+7C,SAAS,SAEnE,CACI5wC,MAAO,iBACPyqD,KAAM,cAAC,GAAD,CAAoBvqB,UAAWlmC,EAAW4/C,MAAO/kD,MAG/D,KAEV,IA5BA,cA8Ba,OAAfwvB,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,aAAjB,aAEUtR,EACE,CACI,CACIlnC,MAAO,YACPyqD,KAAM,cAAC,GAAD,CAAuBokB,cAAeh6E,EAAIqrC,UAAWlmC,EAAWqqB,gBAAiBA,MAG/F,IAEV,KAGJo8F,EAAWpxG,mBAAQ,WACrB,IAAI4E,EAAS,aAAOs6E,GA4BpB,OA3BKvrC,EAsBD/uC,EAAUib,OAAO,EAAG,EAAG,CACnBlvB,MAAO,YACPyqD,KAAM,cAAC,GAAD,CAAqBokB,cAAeh6E,EAAIqrC,UAAWlmC,EAAWqqB,gBAAiBA,MAvBzFpQ,EAAUib,OACN,EACA,EACA,CACIlvB,MAAO,YACPyqD,KACI,qCACI,cAAC,GAAD,CAAWokB,cAAeh6E,EAAIqrC,UAAWlmC,IAD7C,IAC2D,cAAC,GAAD,CAAUy/C,SAAS,OAAOupC,SAAS,EAAMppC,MAAO/kD,EAAIulD,eAAgBvlD,QAIvI,CACImL,MAAO,WACPyqD,KACI,qCACI,cAAC,GAAD,CAAWokB,cAAeh6E,EAAIqrC,UAAWlmC,IAD7C,IAC2D,cAAC,GAAD,CAAa60E,cAAeh6E,SAWhGof,IACR,IAMGkxC,EAAgB,SAACC,EAAMhoD,GACzBmjH,GAAa,SAAClpH,GAAD,mBAAC,eAAaA,GAAd,IAAkB4tD,SAAS,OACxCG,GAAQ/iD,EAAQizB,QAAQ,CAAEr+B,MAAM,2BAAMA,GAAP,IAAcqyC,aAAc,QAG/D,OACI,sBAAKnxC,UAAU,SAAf,UACI,sBAAK3D,MAAO,CAAE2M,MAAO,OAAQ7M,QAAS,OAAQC,WAAY,SAAU+wD,aAAc,SAAU7wD,SAAU,WAAY4uB,IAAK,GAAvH,UACI,qBAAK7uB,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,IAAD,CAAayN,OA7Gd,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,OAAQ0R,QAAQ,IA2GiBiW,EAAG,MAFxC,WAKI,qBAAKvwB,MAAO,CAAE2M,MAAO,QAArB,SACK0zG,IAAU,OAAI59G,QAAJ,IAAIA,OAAJ,EAAIA,EAAOqyC,eAClB,cAAC,IAAD,CAAY5yC,MAAM,YAAYyB,UAAU,QAAQ4T,KAAMmsB,KAAWl4B,MAAM,MAAMhL,QAlB1E,WACnBurH,GAAa,SAAClpH,GAAD,mBAAC,eAAaA,GAAd,IAAkB4tD,SAAS,eAyBpC,cAAC,IAAD,CAASoqC,cAAev3C,EAAO+2C,QAAS4xB,EAAU5rH,GAAG,eAAe45F,eAAgB94F,EAAM84F,iBACzF6xB,EAAUr7D,QACP,cAACtxD,GAAA,EAAD,CACIC,MAAK,WAAU,OAALqD,QAAK,IAALA,OAAA,EAAAA,EAAOqyC,cAAe,SAAW,MAAtC,SAELv1C,QAAS,kBAAMoxD,GAAc,IAC7BnxD,SAAS,KACTC,SAAS,OALb,SAOI,cAAC,GAAD,CAAQisC,UAAWlmC,EAAWkmD,OAAM,OAAEjpD,QAAF,IAAEA,OAAF,EAAEA,EAAOqyC,aAAcA,aAAY,OAAEryC,QAAF,IAAEA,OAAF,EAAEA,EAAOqyC,aAAcv1C,QAASoxD,MAE3G,SC7JHu7D,GAAsB3iG,0BAEtB4iG,GAAiB,SAACntH,GAAW,IAAD,EACrC,EAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpBooC,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YACrD,EAAkC3V,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KACA,EAA0Bzb,oBAAQ,GAC9BorH,oBAAqB,GACrBC,4BAA6B,GAC7BtsG,oBAAqB,GACrBusG,uBAAwB,GACxBC,qBAAsB,GACtBC,kBAAmB,GACnBC,oBAAqB,GACrB78G,OAAQ,GACRorD,SAAU,KACV33C,WAAY,KACZ6nB,SAAU,GACVzD,aAAc,GACdoB,aAAc,KACd6jF,UAAW,GACXC,cAAe,KACfC,cAAe,KACfC,WAAY,IAjBkB,0BAkBnB,IAlBmB,yBAmBpB,IAnBoB,yBAoBpB,IApBoB,4BAqBjB,IArBiB,6BAsBhB,IAtBgB,yBAuBpB,IAvBoB,yBAwBpB,IAxBoB,qBAyBxB,IAzBwB,uBA0BtB,IA1BsB,yBA2BpB,IA3BoB,0BA4BnB,IA5BmB,6BA6BhB,IA7BgB,gDA8BE,GA9BF,oCA+BV,GA/BU,IAAlC,mBAAOpqH,EAAP,KAAcxB,EAAd,KAkCA,EAAuCD,mBAAS,CAC5CkxB,aAAc,GACdma,kBAAmB,GACnBM,eAAgB,GAChBrS,WAAY,GACZwyF,gBAAiB,GACjBC,eAAgB,GAChBC,WAAY,GACZC,YAAa,GACbC,uBAAwB,GACxBC,sBAAuB,GACvBC,yBAA0B,GAC1BC,kBAAmB,KAZvB,mBAAOliG,EAAP,KAAqBC,EAArB,KAeA,EAAsCpqB,mBAAS,CAC3CuwC,gBAAiB,KACjBC,cAAe,KACf87E,kBAAmB,KACnBt7E,kBAAmB,KACnBu7E,mBAAoB,KACpBC,YAAa,KACbC,yBAA0B,KAC1BC,iCAAkC,KAClCC,4BAA6B,OATjC,mBAAO3wG,EAAP,KAAoBC,EAApB,KAYAra,oBAAS,sBAAC,gCAAAM,EAAA,sEACUolF,KADV,UACF5jF,EADE,OAEN0mB,GAAe,SAACvoB,GAAD,mBAAC,eACTA,GADQ,IAEXqvB,aAAcxtB,EAAIW,KAAKmZ,UACvBmuB,eAAgBjoC,EAAIW,KAAKywC,YACzBxb,WAAY51B,EAAIW,KAAKswC,OACrBm3E,gBAAiBpoH,EAAIW,KAAKuoH,mBAC1Bb,eAAgBroH,EAAIW,KAAKwoH,YACzBb,WAAYtoH,EAAIW,KAAKyoH,QACrBb,YAAavoH,EAAIW,KAAK0oH,sBAEtBb,uBAAwBxoH,EAAIW,KAAKuoH,mBACjCT,sBAAuBzoH,EAAIW,KAAK2oH,kBAChCZ,yBAA0B1oH,EAAIW,KAAKknH,qBACnCc,kBAAmB3oH,EAAIW,KAAK4oH,oBAG5BjvH,EAAMg8D,SAlBJ,iCAmBcqtB,GAAcrpF,EAAMg8D,UAnBlC,OAmBEt2D,EAnBF,OAoBIW,EAAOX,EAAIW,KACjBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELuwC,SAAU/tC,EAAK+tC,SACf/e,SAAUhvB,EAAK6oH,eACf55F,SAAUjvB,EAAK8oH,eACfC,SAAU/oH,EAAKgpH,eACfC,4BAA6BjpH,EAAKipH,4BAClCjrG,WAAYhe,EAAKkpH,iBACjBrjF,SAAU7lC,EAAKmpH,cACfC,gBAAiBppH,EAAKopH,gBACtBC,SAAUrpH,EAAKspH,eACfC,OAAQvpH,EAAKwpH,eAGbxC,4BAA6BhnH,EAAKgnH,4BAClCC,uBAAwBjnH,EAAKypH,sBAC7B1C,oBAAqB/mH,EAAK+mH,oBAC1BG,qBAAsBlnH,EAAKknH,qBAC3BC,kBAAmBnnH,EAAKmnH,kBACxBC,oBAAqBpnH,EAAKonH,oBAG1B5jF,aAAcxjC,EAAK0pH,mBACnBC,yBAA0B3pH,EAAK2pH,yBAC/BrC,cAAetnH,EAAK0a,oBACpBkvG,SAAU5pH,EAAK6pH,eACfrC,WAAYxnH,EAAK8pH,iBACjBC,YAAapgH,IAAW6jC,cAAcxtC,EAAKgqH,mBAC3CC,aAActgH,IAAWimC,cAAc5vC,EAAKgqH,mBAC5Cr0D,SAAU31D,EAAK21D,SACf0xD,UAAWrnH,EAAKkqH,gBAChBC,oBAAqBnqH,EAAKmqH,oBAC1B/hG,SAAUpoB,EAAKoqH,eACfliG,KAAMloB,EAAKqqH,WACXliG,OAAQnoB,EAAKsqH,aACbC,mBAAoBvqH,EAAKuqH,mBACzBC,aAAcxqH,EAAKwqH,aACnBC,+BAAgCzqH,EAAKyqH,+BACrCC,UAAW1qH,EAAK2qH,gBAChBvoF,aAAcpiC,EAAKoiC,aACnBwoF,iCAAkC5qH,EAAK4qH,iCACvCC,qBAAsB7qH,EAAK6qH,qBAC3Bn9G,UAAW1N,EAAK0N,eA/DlB,4CAkEP,IAEHnQ,qBAAU,WACN,IAAIi8B,EAAQ,GACRp8B,EAAM4gB,aACNwb,EAAM0S,gBAAkBpmB,EAAa+G,aAAa1f,MAAK,qBAAGnS,KAAgBoC,EAAM4gB,eAEhF5gB,EAAMyoC,WACNrM,EAAM2S,cAAgBrmB,EAAamP,WAAW9nB,MAAK,qBAAGnS,KAAgBoC,EAAMyoC,aAE5EzoC,EAAMglC,eACN5I,EAAMyuF,kBAAoBniG,EAAa4hG,eAAev6G,MAAK,qBAAGnS,KAAgBoC,EAAMglC,iBAEpFhlC,EAAMomC,eACNhK,EAAMmT,kBAAoB7mB,EAAawhB,eAAen6B,MAAK,qBAAGnS,KAAgBoC,EAAMomC,iBAEpFpmC,EAAMkqH,gBACN9tF,EAAM0uF,mBAAqBpiG,EAAa2hG,gBAAgBt6G,MAAK,qBAAGnS,KAAgBoC,EAAMkqH,kBAEtFlqH,EAAMmsH,SACN/vF,EAAM2uF,YAAcriG,EAAa6hG,WAAWx6G,MAAK,qBAAGnS,KAAgBoC,EAAMmsH,WAE1EnsH,EAAM2pH,sBACNvtF,EAAM4uF,yBAA2BtiG,EAAakiG,kBAAkB76G,MAAK,qBAAGnS,KAAgBoC,EAAM2pH,wBAE9F3pH,EAAM4pH,8BACNxtF,EAAM6uF,iCAAmCviG,EAAa8hG,YAAYz6G,MAAK,qBAAGnS,KAAgBoC,EAAM4pH,gCAEhG5pH,EAAM6pH,yBACNztF,EAAM8uF,4BAA8BxiG,EAAagiG,sBAAsB36G,MAAK,qBAAGnS,KAAgBoC,EAAM6pH,2BAEzGrvG,GAAe,SAACpa,GAAD,mBAAC,eACTA,GACAg8B,QAER,CACCp8B,EAAM4gB,WACN5gB,EAAMyoC,SACNzoC,EAAMglC,aACNhlC,EAAMomC,aACNpmC,EAAMkqH,cACNlqH,EAAMmsH,OACNnsH,EAAM2pH,oBACN3pH,EAAM4pH,4BACN5pH,EAAM6pH,yBAGV1pH,oBAAS,sBAAC,4BAAAM,EAAA,sDACF6zC,EAAS,GACTrE,EACAtnB,GAAe,SAACvoB,GAAD,mBAAC,eAAaA,GAAd,IAAkBwpC,kBAAmBlhB,EAAamP,gBAE7Dtd,EAAYu0B,kBACZpmB,EAAamP,WAAW4C,QAAO,SAACx8B,GACxBsc,EAAYu0B,gBAAgBlxC,KAAOK,EAAIq3B,iBACvCgf,EAAOjpC,KAAKpN,MAGpB0qB,GAAe,SAACvoB,GAAD,mBAAC,eAAaA,GAAd,IAAkBwpC,kBAAmB0K,QAXtD,2CAeP,CAAC/5B,EAAYu0B,gBAAiBmB,EAAYvnB,EAAamP,aAE1D,IAAMzpB,EAAcwb,uBAAY,SAACvhB,GAC7B,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,UAOjC4rB,EAAiBV,uBAAY,SAACvhB,GAChC,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,UAgBlCrB,EAAc,WAC8FrO,EAAtG4gB,WAAsG5gB,EAA1FomC,aAA0FpmC,EAA5EkqH,cAAlC,IAAiDD,EAA6DjqH,EAA7DiqH,UAAmC0C,GAA0B3sH,EAAlDyoC,SAAkDzoC,EAAxCglC,aAAwChlC,EAA1B2sH,aAAa3hG,EAAahrB,EAAbgrB,SAG7F8jB,EASAv0B,EATAu0B,gBACAC,EAQAx0B,EARAw0B,cACA87E,EAOAtwG,EAPAswG,kBACAt7E,EAMAh1B,EANAg1B,kBACAu7E,EAKAvwG,EALAuwG,mBAOAx8G,GAFAiM,EAJAwwG,YAIAxwG,EAHAywG,yBAGAzwG,EAFA0wG,iCAEA1wG,EADA2wG,6BAGc,GACd/9G,EAAS,GAmCb,OAjCKugH,aAAiB1iG,KAAa,QAAQxc,KAAKwc,IAAcjB,kBAAOiB,KACjE7d,EAAO6d,SAAP,4CACA1c,GAAc,GAEbihC,IACDpiC,EAAOi5B,aAAe,2BACtB93B,GAAc,GAEbygC,IACD5hC,EAAOs7B,SAAW,sBAClBn6B,GAAc,GAEbq+G,IACDx/G,EAAOw/G,YAAc,oCACrBr+G,GAAc,GAEbu8G,IACD19G,EAAO63B,aAAe,2BACtB12B,GAAc,GAEbwgC,GAAoBmB,IACrB9iC,EAAOyT,WAAa,wBACpBtS,GAAc,GAEbw8G,IACD39G,EAAO+8G,cAAgB,2BACvB57G,GAAc,GAEb,QAAQE,KAAKy7G,KACd98G,EAAO88G,UAAY,yBACnB37G,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGL6b,EAAY,uCAAG,gDAAA1pB,EAAA,0DACb4N,IADa,oBAEPK,EAAW,CACb6pD,SAAUv4D,EAAMu4D,SAChBuzD,iBAAkB77E,EAAa,KAAH,UAAU11B,EAAYu0B,uBAAtB,aAAU,EAA6BlxC,GACnEmuH,cAAa,UAAExxG,EAAYw0B,qBAAd,aAAE,EAA2BnxC,GAC1ConC,aAAY,UAAEzqB,EAAYswG,yBAAd,aAAE,EAA+BjtH,GAC7CwuH,eAAc,UAAE7xG,EAAYwwG,mBAAd,aAAE,EAAyBntH,GACzCsuH,eAAgBlsH,EAAMisH,SACtBK,mBAAkB,UAAE/xG,EAAYg1B,yBAAd,aAAE,EAA+B3xC,GACnDkvH,gBAAiB9sH,EAAMiqH,UACvB3sG,oBAAmB,UAAE/C,EAAYuwG,0BAAd,aAAE,EAAgCltH,GACrDwvH,aAAcptH,EAAMotH,aACpBC,+BAAgCrtH,EAAMqtH,+BACtCF,mBAAoBntH,EAAMmtH,mBAC1BI,gBAAiBvtH,EAAMstH,UACvBb,eAAgBzsH,EAAMwsH,SACtBE,iBAAkB1sH,EAAMoqH,WACxBwC,kBAAmB5sH,EAAM2sH,YACzBlB,eAAgBzrH,EAAM4xB,SACtB85F,eAAgB1rH,EAAM6xB,SACtB+5F,eAAgB5rH,EAAM2rH,SACtBsB,WAAYjtH,EAAM8qB,KAClBoiG,aAAcltH,EAAM+qB,OACpBiiG,eAAgBhtH,EAAMgrB,SACtB+hG,oBAAqB/sH,EAAM+sH,oBAC3BnD,4BAA2B,UAAErvG,EAAY0wG,wCAAd,aAAE,EAA8CrtH,GAC3EyuH,sBAAqB,UAAE9xG,EAAY2wG,mCAAd,aAAE,EAAyCttH,GAChE+rH,oBAAmB,UAAEpvG,EAAYywG,gCAAd,aAAE,EAAsCptH,GAC3DksH,qBAAsB9pH,EAAM8pH,qBAC5BC,kBAAmB/pH,EAAM+pH,kBACzBC,oBAAqBhqH,EAAMgqH,qBAE/BhwG,GAAa,IAETzd,EAAMg8D,SAnCG,gCAoCGwtB,GAAaxpF,EAAMg8D,SAAU7pD,GApChC,OAoCTzM,EApCS,+CAsCG6jF,GAAUp3E,GAtCb,QAsCTzM,EAtCS,eAwCTA,EAAIoE,SACJyB,EAAiB,6BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAEvBsR,GAAa,GA9CA,4CAAH,qDAsDlB,OACI,cAACyvG,GAAoBp/F,SAArB,CACI3rB,MAAO,CACHsB,QACAmqB,eACA/b,cACAgiB,YAVQ,WAChB7zB,EAAM6tB,cAAa,IAUXE,iBACAI,OA/HG,SAACC,GACZnsB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwxB,SAAUjH,EAAEC,aACZiH,SAAUlH,EAAEE,aACZC,KAAMH,EAAEG,KACRC,OAAQJ,EAAEI,OACVC,SAAUL,EAAEK,eAyHRxO,mBA5Ie,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SA4I/BogB,eACAnO,cACAR,aAXR,SAcKxd,EAAMK,YClVb+a,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,UAAW0R,QAAQ,GAC3B,CAAE1R,KAAM,aAAc0R,QAAQ,IAE5B81G,GAAgB,SAACpxH,GACnB,MACI2B,qBAAWurH,IADPzpH,EAAR,EAAQA,MAAOmqB,EAAf,EAAeA,aAAc/b,EAA7B,EAA6BA,YAAagiB,EAA1C,EAA0CA,YAAa9F,EAAvD,EAAuDA,eAAgBI,EAAvE,EAAuEA,OAAQhC,EAA/E,EAA+EA,aAAclM,EAA7F,EAA6FA,mBAAoBjC,EAAjH,EAAiHA,YAAaR,EAA9H,EAA8HA,UAExHk2B,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YACjDkZ,EAAkB9sB,IAAW+sB,gBACjC,OACI,sBAAK9vB,MAAO,CAAEP,SAAU,UAAYkE,UAAU,oBAA9C,UACMlB,EAAMu4D,SAA2E,KAAhE,cAAC,IAAD,CAAa5gD,OAAQA,GAAQzW,UAAU,sBAC1D,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,WACM6wC,GACE,eAAC/wC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CACIqa,QAAS0N,EAAa+G,aACtB/wB,MAAO6b,EAAYu0B,gBACnB9lC,SAAUwT,EAAmB,qBAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOyT,gBAG5C,eAAC1hB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,mBAGA,cAAC,IAAD,CAAcqa,QAAS0N,EAAakhB,kBAAmBlrC,MAAO6b,EAAYw0B,cAAe/lC,SAAUwT,EAAmB,mBACtH,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOs7B,cAExC,eAACvpC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,yBAGA,cAAC,IAAD,CACIqa,QAAS0N,EAAa4hG,eACtB5rH,MAAO6b,EAAYswG,kBACnB7hH,SAAUwT,EAAmB,uBAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO63B,kBAExC,eAAC9lC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,yBAGA,cAAC,IAAD,CACIiM,QAAS0N,EAAawhB,eACtBxrC,MAAO6b,EAAYg1B,kBACnBvmC,SAAUwT,EAAmB,uBAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOi5B,kBAExC,eAAClnC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,0BAGA,cAAC,IAAD,CACIqa,QAAS0N,EAAa2hG,gBACtB3rH,MAAO6b,EAAYuwG,mBACnB9hH,SAAUwT,EAAmB,wBAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO+8G,mBAExC,cAAChrH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,SACI,cAAC,IAAD,CACI2N,WAAW,aACXC,YAAY,aACZpQ,MAAOsB,EAAMiqH,UACbjhH,SAAUoF,EACVjI,KAAK,YACLgH,OAAQnN,EAAMmN,OAAO88G,cAG7B,cAAC/qH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaze,WAAW,cAAcC,YAAY,cAAcpQ,MAAOsB,EAAMoqH,WAAYphH,SAAUoF,EAAajI,KAAK,iBAEzH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaze,WAAW,YAAYC,YAAY,YAAYpQ,MAAOsB,EAAMwsH,SAAUxjH,SAAUoF,EAAajI,KAAK,eAEnH,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,oBACA,cAAC,IAAD,CAAcqa,QAAS0N,EAAa6hG,WAAY7rH,MAAO6b,EAAYwwG,YAAa/hH,SAAUwT,EAAmB,oBAEjH,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,6BACA,cAAC,IAAD,CACIqa,QAAS0N,EAAakiG,kBACtBlsH,MAAO6b,EAAYywG,yBACnBhiH,SAAUwT,EAAmB,iCAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,qCACA,cAAC,IAAD,CACIqa,QAAS0N,EAAa8hG,YACtB9rH,MAAO6b,EAAY0wG,iCACnBjiH,SAAUwT,EAAmB,yCAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCACA,cAAC,IAAD,CACIqa,QAAS0N,EAAagiG,sBACtBhsH,MAAO6b,EAAY2wG,4BACnBliH,SAAUwT,EAAmB,oCAGrC,cAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIrkB,KAAK,SACL4F,WAAW,mBACXC,YAAY,mBACZpQ,MAAOsB,EAAM8pH,qBACb9gH,SAAUoF,EACVjI,KAAK,2BAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIrkB,KAAK,SACL4F,WAAW,gBACXC,YAAY,gBACZpQ,MAAOsB,EAAM+pH,kBACb/gH,SAAUoF,EACVjI,KAAK,wBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIrkB,KAAK,SACL4F,WAAW,iBACXC,YAAY,iBACZpQ,MAAOsB,EAAMgqH,oBACbhhH,SAAUoF,EACVjI,KAAK,0BAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaze,WAAW,WAAWC,YAAY,WAAWpQ,MAAOsB,EAAM4xB,SAAU5oB,SAAUoF,EAAajI,KAAK,eAEjH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaze,WAAW,WAAWC,YAAY,WAAWpQ,MAAOsB,EAAM6xB,SAAU7oB,SAAUoF,EAAajI,KAAK,eAEjH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaze,WAAW,WAAWC,YAAY,WAAWpQ,MAAOsB,EAAM2rH,SAAU3iH,SAAUoF,EAAajI,KAAK,eAEjH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaze,WAAW,OAAOC,YAAY,OAAOpQ,MAAOsB,EAAM8qB,KAAM9hB,SAAUoF,EAAajI,KAAK,WAErG,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaze,WAAW,SAASC,YAAY,SAASpQ,MAAOsB,EAAM+qB,OAAQ/hB,SAAUoF,EAAajI,KAAK,aAE3G,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SAGI,cAAC,IAAD,CAAU5uB,MAAOsB,EAAMgrB,SAAUhiB,SAAUoF,EAAajI,KAAK,WAAWukB,OAAQA,EAAQvd,OAAQnN,EAAMmN,OAAO6d,aAEjH,cAAC9rB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaze,WAAW,YAAYC,YAAY,YAAYpQ,MAAOsB,EAAMstH,UAAWtkH,SAAUoF,EAAajI,KAAK,gBAEpH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaze,WAAW,gBAAgBC,YAAY,gBAAgBpQ,MAAOsB,EAAMotH,aAAcpkH,SAAUoF,EAAajI,KAAK,mBAE/H,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaze,WAAW,YAAYC,YAAY,YAAYpQ,MAAOsB,EAAMisH,SAAUjjH,SAAUoF,EAAajI,KAAK,eAEnH,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CAAYmO,YAAY,gBAAgBpQ,MAAOsB,EAAM2sH,YAAa3jH,SAAUoF,EAAajI,KAAK,gBAC9F,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOw/G,iBAExC,cAACztH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,iBACXC,YAAY,iBACZpQ,MAAOsB,EAAM+sH,oBACb/jH,SAAUoF,EACVjI,KAAK,0BAGZ8pC,GAAc,cAAC/wC,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,IAC9B,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,gBAAgB4gF,GAAI,EAAxD,SACI,cAAC,IAAD,CACIpyE,QAAS1P,EAAMqtH,+BACflnH,KAAK,iCACL6C,SAAUshB,EACVvhB,MAAM,kCAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,gBAAgB4gF,GAAI,EAAxD,SACI,cAAC,IAAD,CAAmBpyE,QAAS1P,EAAMmtH,mBAAoBhnH,KAAK,qBAAqB6C,SAAUshB,EAAgBvhB,MAAM,sBAGpH,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACIxB,QAASosB,EACTxqB,WAAS,EACTuB,UAAU,aACV+Z,YAAalB,EACb/O,WAAU,OAACoiB,QAAD,IAACA,OAAD,EAACA,EAAiBwgG,2BALhC,oBAUJ,cAAC1uH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASqyB,EAAazwB,WAAS,EAACuB,UAAU,aAA3D,gCAiBTgtB,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAoBA,GAApB,aACI,cAAC,GAAD,QCpON8yB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,GACPiH,qBAAqB,GAEzB,CAAExG,IAAK,kBAAmBxE,KAAM,OAAQ+D,MAAO,KAC/C,CAAES,IAAK,eAAgBxE,KAAM,WAAY+D,MAAO,KAKhD,CAAES,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,KACrD,CACIS,IAAK,iBACLxE,KAAM,UACN+K,UAAW,SAACtO,GAAD,qBACP2J,IAAW2iB,iBAAX,UACItsB,EAAKqO,WADT,aACI,EAAUw6G,eADd,UAEI7oH,EAAKqO,WAFT,aAEI,EAAUy6G,eAFd,UAGI9oH,EAAKqO,WAHT,aAGI,EAAUg8G,WAHd,UAIIrqH,EAAKqO,WAJT,aAII,EAAUi8G,aAJd,UAKItqH,EAAKqO,WALT,aAKI,EAAU+7G,iBAElB17G,WAAY,OAIdqG,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,UAAW0R,QAAQ,IAkKhBg2G,GA/JM,SAACtxH,GAClB,IAAI6wB,EAAkB9sB,IAAW+sB,gBAEjC,GAD2BrvB,eAAnB6J,eACkBtJ,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZ+lH,WAAY,GACZrrE,SAAU,KACVhwC,SAAU,QALd,mBAAOzS,EAAP,KAAcxB,EAAd,KAQMuvH,EAAwB,uCAAG,sBAAAttH,EAAA,sDAC7BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHW,2CAAH,qDAmCxB0f,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIV8pB,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAIu4B,eAIb,OADAl3B,IAASC,OAAOgF,EAAKF,GACdA,GAGLmmE,EAAkB,SAAC,EAAc7qE,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,mBAAmB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAlH,SACKhE,EAAI+6G,kBAIb,OADA15G,IAASC,OAAOgF,EAAKF,GACdA,GAGL+Y,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNizB,mBAAmB,EACnB49B,gBAAgB,QAIlBr+B,EAAgB,SAACtnB,EAAK2I,GACxB,OACI,cAAC/R,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CAAY4V,aAAa,cAAcnX,QAAS,kBAnDpC,SAACuK,GACrB/L,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,0BAAD,OAA4BvnB,EAAIiwD,SAAhC,YAA4CjwD,EAAIwkH,iBACxD1gH,OAAQ,GACRpM,MAAO,GACPmG,KAAMmC,EAAIzE,aA8CgDisB,CAAgB7e,SAK5EnB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAC/C8lB,EAAkBpY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,iBAAhBA,EAAQ3N,OACrD8yE,EAAeplE,EAAStI,MAAK,SAACuI,GAAD,MAA6B,oBAAhBA,EAAQ3N,OAClDqjH,EAAgB31G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,oBAAhBA,EAAQ3N,OAuBvD,OAtBIgH,IACAA,EAAUT,UAAY0e,GAEtBa,IACAA,EAAgBvf,UAAY+e,GAE5BwtD,IACAA,EAAavsE,UAAYssE,GAEzBwwC,IACAA,EAAc98G,UAAY,SAACtO,GAAD,OAAUA,EAAKqO,IAAI67G,gBAAkB,IAAMlqH,EAAKqO,IAAIw7G,iBAY3Ep0G,IACR,IAEH,OACI,sBAAKnX,UAAU,SAAf,UACKlB,EAAMuvB,KACH,cAAC,GAAD,CAAekzB,SAAUziD,EAAMyiD,SAAUr4B,aAlG5B,SAACnoB,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,OAEVttB,GAAO8rH,OA+FC,qCACI,cAAC,IAAD,CAAap2G,OAAQA,KACrB,cAAC,GAAD,CACI9C,UAAyB,OAAfuY,QAAe,IAAfA,OAAA,EAAAA,EAAiB6gG,kBAAmB,aAAe,GAC7Dj5G,WA/GF,WACdxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,QA6GM7c,OAAM,UACN5C,QAASA,EACT2B,YAAY,WACZjB,uBAAuB,SACvBmD,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAKk2D,QAClBrgD,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,cAI3BzS,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgB47F,iBAAkB1hG,aAAcgG,MAEvF,KACHpwB,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMkwB,gBAAgB67F,cAAe3hG,aAAcgG,MAEjF,SC9LH89F,GAAkB,SAAC3xH,GAAW,IAAD,EAC9ByD,EAAU9B,qBAAWurH,IAArBzpH,MAER,EAAwBzB,mBAAS,CAC7BgxB,MAAM,EACNkzB,SAAU,OAFd,mBAAO7/C,EAAP,KAAaugE,EAAb,KAKMlzB,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YAErD/T,qBAAU,WACF5D,EAAMg8D,UACN4K,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJqiD,SAAUlmD,EAAMg8D,gBAGzB,IAiBH,OACI,qBAAKr3D,UAAU,oBAAf,SACK0B,EAAK2sB,KACF,cAAC,GAAD,CAAegpC,SAAU31D,EAAK6/C,SAAUr4B,aAV3B,WACrB+4C,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,UASF,sBAAKruB,UAAU,sBAAf,UACI,cAAC,IAAD,GAAashD,SAAS,WAAtB,yBAAyC,WAAzC,6BAAiEjmD,EAAMg8D,UAAvE,IACA,eAACr5D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,QAAQ3D,MAAO,CAAEmhC,gBAAiB,WAAxE,UACI,eAACx/B,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAAwB3D,MAAO,CAAEsxB,eAAgB,iBAA3E,UACI,cAAC3vB,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,QAArB,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,8BAIJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,iBAArB,SACI,sBAAKA,UAAU,4BAAf,UACI,cAAC,KAAD,CAAoBmP,SAAU9T,EAAMg8D,SAAUjoD,UAAWtQ,EAAMsQ,UAAWE,uBAAuB,WADrG,YAGM5N,EAAK2sB,MACH,cAAC,IAAD,CACIza,KAAM2uD,KACN16D,MAAM,OACNhL,QAAS,kBArC9B4X,EAqC8C/S,EAAK6/C,cApClE0gB,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,EACNkzB,SAAU9sC,OAJA,IAACA,GAsCqBT,aAAa,cACb3X,MAAO,CAAE0X,WAAY,kBAMzC,eAAC/V,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,WACM+uC,GACE,eAAC/wC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,wBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM2wC,UAAY,WAGxD,eAACzxC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,0BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMgsH,iBAAmB,WAE3D,eAAC9sH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,2BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM6rH,6BAA+B,cAG3E,eAAC3sH,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,4BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMusH,0BAA4B,WAEpE,eAACrtH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,0BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMiqH,WAAa,WAErD,eAAC/qH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,2BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMoqH,YAAc,cAG1D,eAAClrH,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,yBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMwsH,UAAY,WAEpD,eAACttH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,wBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM4xB,UAAY,WAEpD,eAAC1yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,wBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM6xB,UAAY,cAGxD,eAAC3yB,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,oBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM8qB,MAAQ,WACxC,IACR,eAAC5rB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,sBAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM+qB,QAAU,WAElD,eAAC7rB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,gCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBpvB,EAAMmuH,mBAG5E,eAACjvH,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,6BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBpvB,EAAMotH,mBAExE,eAACluH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,6BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM6sH,cAAgB,WAExD,eAAC3tH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,8BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM+sH,qBAAuB,cAGnE,eAAC7tH,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,wBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,uCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMwtH,kCAAoC,WAE5E,eAACtuH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,kCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMytH,sBAAwB,WAEhE,eAACvuH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,gCAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM8pH,sBAAwB,cAGpE,cAAC5qH,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,uBAA1B,SACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,qBAAK1N,UAAU,mBAAf,SACI,cAACwI,GAAA,EAAD,CAAYhK,QAAQ,UAApB,6BAEJ,cAACgK,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAM+pH,mBAAqB,sBAiB1E77F,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAqBA,Q,WCxNpB6xH,GAAwB,uCAAG,WAAOxwH,GAAP,eAAA6C,EAAA,sEACpB6B,aAAY,oCAAD,OAAqC1E,IAD5B,cAChCqE,EADgC,yBAE7BA,GAF6B,2CAAH,sDAKxBosH,GAAwB,uCAAG,WAAOzwH,GAAP,eAAA6C,EAAA,sEACpB6B,aAAY,qBAAD,OAAsB1E,IADb,cAChCqE,EADgC,yBAE7BA,GAF6B,2CAAH,sDAKxBqsH,GAAqB,uCAAG,WAAO1rH,GAAP,eAAAnC,EAAA,sEACjBsB,aAAa,oBAAqBa,GADjB,cAC7BX,EAD6B,yBAE1BA,GAF0B,2CAAH,sDAYrBssH,GAAmB,uCAAG,WAAO3wH,GAAP,eAAA6C,EAAA,sEACf6B,aAAY,gBAAD,OAAiB1E,IADb,cAC3BqE,EAD2B,yBAExBA,GAFwB,2CAAH,sDAKnBusH,GAAgB,uCAAG,WAAO5rH,GAAP,eAAAnC,EAAA,sEACZsB,aAAa,eAAgBa,GADjB,cACxBX,EADwB,yBAErBA,GAFqB,2CAAH,sDAKhBwsH,GAAoB,uCAAG,WAAO7rH,GAAP,eAAAnC,EAAA,sEAChB6B,aAAY,gCADI,cAC5BL,EAD4B,yBAEzBA,GAFyB,2CAAH,sDC3BpBysH,GAAkB,SAACnyH,GAC5B,IAAQyD,EAA4DzD,EAA5DyD,MAAO2uH,EAAqDpyH,EAArDoyH,sBAAuBC,EAA8BryH,EAA9BqyH,0BAEtC,EAA0BrwH,mBAAS,CAAEswH,oBAAqB,OAA1D,mBAAOzyF,EAAP,KAAc0yF,EAAd,KACA,EAA4BvwH,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpB26D,EAAe,SAACn6D,GAClB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdowH,GAAS,SAAC1uH,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGjCqwH,EAAgB/uH,EAAMgvH,yBAA2B,SAAW,MAClE7uH,oBAAS,sBAAC,4BAAAM,EAAA,0DACFT,EAAMgvH,yBADJ,gCAEcX,GAAyBruH,EAAMgvH,0BAF7C,OAEE/sH,EAFF,OAIF6sH,GAAS,SAAC/gH,GAAD,mBAAC,eACHA,GADE,IAEL8gH,oBAAqB5sH,EAAIW,KAAK2G,QAAQ,GAAGslH,oBACzCG,yBAA0B/sH,EAAIW,KAAK2G,QAAQ,GAAGylH,yBAC9CC,6BAA8BhtH,EAAIW,KAAK2G,QAAQ,GAAG0lH,6BAClDC,oCAAqCjtH,EAAIW,KAAK2G,QAAQ,GAAG2lH,oCACzDC,wBAAyBltH,EAAIW,KAAK2G,QAAQ,GAAG4lH,wBAC7CC,+BAAgC7iH,IAAW6jC,cAAcnuC,EAAIW,KAAK2G,QAAQ,GAAG6lH,gCAC7EC,oCAAqC9iH,IAAW6jC,cAAcnuC,EAAIW,KAAK2G,QAAQ,GAAG8lH,qCAClFC,iCAAkC/iH,IAAW6jC,cAAcnuC,EAAIW,KAAK2G,QAAQ,GAAG+lH,kCAC/EC,6BAA8BhjH,IAAW6jC,cAAcnuC,EAAIW,KAAK2G,QAAQ,GAAGgmH,8BAC3EC,+BAAgCvtH,EAAIW,KAAK2G,QAAQ,GAAGimH,+BACpDC,6BAA8BxtH,EAAIW,KAAK2G,QAAQ,GAAGkmH,6BAClDC,+BAAgCztH,EAAIW,KAAK2G,QAAQ,GAAGmmH,+BACpDC,6BAA8B1tH,EAAIW,KAAK2G,QAAQ,GAAGomH,6BAClDC,+BAAgC3tH,EAAIW,KAAK2G,QAAQ,GAAGqmH,oCAnBtD,2CAsBP,IAEH,IAAMxqC,EAAa,WACf,IAAIj4E,EAAS,GACTqrD,GAAU,EAEV02D,EAKA9yF,EALA8yF,oCACAD,EAIA7yF,EAJA6yF,6BACAE,EAGA/yF,EAHA+yF,wBACAC,EAEAhzF,EAFAgzF,+BACAC,EACAjzF,EADAizF,oCAuBJ,OArBKD,IACDjiH,EAAOiiH,+BAAiC,8BACxC52D,GAAU,GAET62D,IACDliH,EAAOkiH,oCAAsC,8BAC7C72D,GAAU,GAET22D,IACDhiH,EAAOgiH,wBAA0B,qBACjC32D,GAAU,GAETy2D,IACD9hH,EAAO8hH,6BAA+B,2BACtCz2D,GAAU,GAET02D,IACD/hH,EAAO+hH,oCAAsC,kCAC7C12D,GAAU,GAEd/C,GAAU,SAAC1nD,GAAD,mBAAC,eAAYA,GAAMZ,MACtBqrD,GAGLruC,EAAY,uCAAG,4BAAA1pB,EAAA,0DACb2kF,IADa,uBAETxiF,EAAO,CACPisH,oBAAqBzyF,EAAMyyF,qBAAuB,KAClDG,yBAA0BhvH,EAAM6vH,gBAAkB,KAClDZ,6BAA8B7yF,EAAM6yF,8BAAgC,KACpEC,oCAAqC9yF,EAAM8yF,qCAAuC,KAClFC,wBAAyB/yF,EAAM+yF,yBAA2B,KAC1DC,+BAAgChzF,EAAMgzF,gCAAkC,KACxEC,oCAAqCjzF,EAAMizF,qCAAuC,KAClFC,iCAAkClzF,EAAMkzF,kCAAoC,MAVnE,SAYGhB,GAAsB1rH,GAZzB,cAaLyD,SACJyB,EAAiB,cAAD,OAAeinH,EAAf,kBAChBJ,IACAC,KAEA/mH,EAAe,SAlBN,2CAAH,qDAuBlB,OACI,qCACI,eAAC3I,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,eAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,2BACmB,OAEnB,cAAC,IAAD,CAAYoH,SAAUw5D,EAAcr8D,KAAK,iCAAiCzH,MAAO09B,EAAMgzF,iCACvF,cAACztH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOiiH,oCAElC,eAAClwH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,6BAGA,cAAC,IAAD,CACIkN,YAAY,kBACZ9F,SAAUw5D,EACVr8D,KAAK,sCACLzH,MAAO09B,EAAMizF,sCAEjB,cAAC1tH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOkiH,yCAElC,eAACnwH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CACImO,YAAY,eACZ9F,SAAUw5D,EACVr8D,KAAK,mCACLzH,MAAO09B,EAAMkzF,sCAGrB,eAACpwH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,oBAGA,cAAC,IAAD,CACIqH,KAAK,SACL6F,YAAY,SACZ9F,SAAUw5D,EACVr8D,KAAK,0BACLzH,OAAQ09B,EAAM+yF,0BAElB,cAACxtH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOgiH,6BAElC,eAACjwH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,0BAGA,cAAC,IAAD,CACIkN,YAAY,eACZ9F,SAAUw5D,EACVr8D,KAAK,+BACLzH,MAAO09B,EAAM6yF,+BAEjB,cAACttH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO8hH,kCAElC,eAAC/vH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,iCAGA,cAAC,IAAD,CACIkN,YAAY,sBACZ9F,SAAUw5D,EACVr8D,KAAK,sCACLzH,MAAO09B,EAAM8yF,sCAEjB,cAACvtH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO+hH,4CAStC,uBACA,eAAChwH,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAjC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAASosB,EAA1B,SAAyC4kG,MAE7C,cAAC7vH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAAS4wH,EAA1B,6BCxJdt/F,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,iCAAkCxE,KAAM,oBAAqB+K,UAAW3E,IAAWujH,aAC1F,CAAEnlH,IAAK,+BAAgCxE,KAAM,gBAC7C,CAAEwE,IAAK,sCAAuCxE,KAAM,uBACpD,CAAEwE,IAAK,0BAA2BxE,KAAM,UACxC,CAAEwE,IAAK,sCAAuCxE,KAAM,kBAAmB+K,UAAW3E,IAAWujH,aAC7F,CAAEnlH,IAAK,mCAAoCxE,KAAM,eAAgB+K,UAAW3E,IAAWujH,cAGrFhkG,GAAS,CAAEgiE,KAAM,CAAE70B,eAAgB,OAAQx5D,MAAO,YAE3CswH,GAAiB,SAACxzH,GAC3B,MAA0BgC,mBAAS,CAC/BgxB,MAAM,EACNsgG,eAAgBtzH,EAAMszH,eACtBG,eAAgB,GAChBxxC,YAAa,GACbyxC,sBAAuB,GACvBC,0BAA2B,GAC3BC,sBAAuB,GACvBC,sBAAuB,GACvBpnF,KAAM5yB,OAASC,OAAO,cACtBg6G,8BAA+B,OAVnC,mBAAOrwH,EAAP,KAAcxB,EAAd,KAaA,EAAkDD,mBAAS,CACvD+xH,mCAAoC,KADxC,mBAAOC,EAAP,KAA0BC,EAA1B,KAIA,EAA4BjyH,mBAAS,IAArC,mBAAO4O,EAAP,KAAesjH,EAAf,KAEA,EAA6CzyH,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,kCAAAM,EAAA,sEACUguH,KADV,UACFxsH,EADE,OAENzD,GAAS,SAAC4B,GAAD,6BAAC,eACHA,GADE,IAELo+E,YAAav8E,EAAIW,KAAKk2D,QACtBm3D,sBAAqB,UAAEhuH,EAAIW,YAAN,aAAE,EAAU2tH,kBACjCL,0BAAyB,UAAEjuH,EAAIW,YAAN,aAAE,EAAU0oH,sBACrC6E,sBAAqB,UAAEluH,EAAIW,YAAN,aAAE,EAAU8tH,wBAGjC1wH,EAAM6vH,eAVJ,iCAWiBtB,GAAoBvuH,EAAM6vH,gBAX3C,OAWEvgH,EAXF,OAYE1M,EAZF,UAYS0M,EAAO1M,YAZhB,aAYS,EAAa2G,QAAQ,GAChC/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyvH,eAAgBjtH,EAAKitH,eACrBc,qBAAsB/tH,EAAK+tH,qBAC3BC,0BAA2BhuH,EAAKguH,0BAChCC,+BAAgCjuH,EAAKiuH,+BACrCC,oBAAqBluH,EAAKkuH,oBAC1BC,wBAAyBxkH,IAAW6jC,cAAcxtC,EAAKmuH,yBACvDC,6BAA8BzkH,IAAW6jC,cAAcxtC,EAAKouH,8BAC5DC,4BAA6B1kH,IAAW6jC,cAAcxtC,EAAKquH,6BAC3DC,8BAA+B3kH,IAAW6jC,cAAcxtC,EAAKsuH,+BAC7DC,wBAAyB5kH,IAAW6jC,cAAcxtC,EAAKuuH,yBACvDf,sBAAuBxtH,EAAKwtH,sBAC5BgB,mBAAoBxuH,EAAKwuH,mBACzBC,wBAAyBzuH,EAAKyuH,wBAC9BhB,8BAA+BztH,EAAKytH,8BAA8Bh5B,MAAM,MAAQ,GAChFi6B,sBAAuB1uH,EAAK0uH,2BAEhC1C,IA/BE,4CAiCP,IAEHzuH,qBAAU,WACN,GAAIH,EAAMqwH,8BAA+B,CAAC,IAAD,EAC/B5vH,EAAIT,EAAMqwH,8BAA8BvqH,KAAI,SAACm0B,GAAD,OAAOA,KACnDs3F,EAAc,UAAGvxH,EAAMiwH,6BAAT,aAAG,EAA6Bx1F,QAAO,SAAC1sB,GAAD,OAAOtN,EAAE0oD,QAAQp7C,EAAEnQ,KAAO,KACrF4yH,GAAqB,SAACpwH,GAAD,mBAAC,eAAaA,GAAd,IAAkBkwH,mCAAoCiB,UAEhF,CAACvxH,EAAMiwH,sBAAuBjwH,EAAMqwH,gCAkBvC,IAAMzB,EAAyB,uCAAG,4BAAAnuH,EAAA,sEACd2tH,GAAyBpuH,EAAM6vH,gBADjB,OAC1B5tH,EAD0B,OAE9BzD,GAAS,SAAC4B,GAAD,yBAAC,eAAaA,GAAd,IAAkB4vH,eAAc,UAAE/tH,EAAIW,YAAN,aAAE,EAAU4V,UAFvB,2CAAH,qDAYzBm2G,EAAwB,WAC1BnwH,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAOnvB,EAAGmvB,KAAMy/F,yBAA0B,WAGnExsD,EAAe54C,uBAAY,SAACvhB,GAC9B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACP,SAAVvK,GAA2C,UAAvBuK,EAAK4gB,cACzBrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAClB,UAAVzH,GAA4C,UAAvBuK,EAAK4gB,cACjCrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAEnC3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SAExC,IAUGkxB,EAAgB,SAAChtB,GACnB,OAAO,cAAC,IAAD,CAAY7E,QAAS,kBATbuK,EAS6B1F,EAAKqO,IAAI49G,yBARrDrwH,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL4uH,yBAA0B1mH,EAC1BinB,MAAOnvB,EAAGmvB,UAJA,IAACjnB,MAYbwH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAanD,OAZIgH,IACAA,EAAUT,UAAY0e,EAEtBje,EAAU6F,eAAiB,WACvB,OACI,+BACI,cAAC,IAAD,CAAWtC,aAAa,cAAcnX,QAAS,kBAAM4wH,WAM9Dt2G,IACR,IAEGm5G,EAAexxH,EAAM6vH,eAAiB,UAAY,MAElDzqC,EAAa,WACf,IACI2rC,EAMA/wH,EANA+wH,wBACAH,EAKA5wH,EALA4wH,0BACAM,EAIAlxH,EAJAkxH,8BACAD,EAGAjxH,EAHAixH,4BACAG,EAEApxH,EAFAoxH,mBACAf,EACArwH,EADAqwH,8BAEA73D,GAAU,EACVrrD,EAAS,GA4Bb,OA3BK4jH,IACD5jH,EAAO4jH,wBAA0B,4BACjCv4D,GAAU,GAETo4D,IACDzjH,EAAOyjH,0BAA4B,6BACnCp4D,GAAU,GAET04D,IACD/jH,EAAO+jH,8BAAgC,kCACvC14D,GAAU,GAETy4D,IACD9jH,EAAO8jH,4BAA8B,gCACrCz4D,GAAU,GAET44D,IACDjkH,EAAOikH,mBAAqB,uCAC5B54D,GAAU,GAET63D,IACDljH,EAAOkjH,8BAAgC,iCACvC73D,GAAU,GAGdi4D,GAAU,SAACrwH,GAAD,mBAAC,eAAaA,GAAO+M,MAExBqrD,GAGLruC,EAAY,uCAAG,4BAAA1pB,EAAA,0DACb2kF,IADa,uBAETxiF,EAAO,CACPitH,eAAgB7vH,EAAM6vH,eACtBc,qBAAsBp0H,EAAMg8D,SAC5Bw4D,wBAAyB/wH,EAAM+wH,wBAC/BC,6BAA8BhxH,EAAMgxH,8BAAgC,GACpEJ,0BAA2B5wH,EAAM4wH,0BACjCC,+BAAgC7wH,EAAM6wH,+BACtCC,oBAAqB9wH,EAAM8wH,oBAC3BG,4BAA6BjxH,EAAMixH,4BACnCC,8BAA+BlxH,EAAMkxH,8BACrCC,wBAAyBnxH,EAAMmxH,yBAA2B,KAC1Df,sBAAuBpwH,EAAMowH,sBAC7BgB,mBAAoBpxH,EAAMoxH,mBAC1BC,wBAAyBrxH,EAAMqxH,0BAA2B,EAC1DhB,8BAA+BrwH,EAAMqwH,8BAA8B9hH,OAAS,EAAIvO,EAAMqwH,8BAAgC,KACtHiB,sBAAuBtxH,EAAMsxH,uBAjBpB,SAoBG9C,GAAiB5rH,GApBpB,cAqBLyD,SACJyB,EAAiB,iBAAD,OAAkB0pH,EAAlB,kBAChBj1H,EAAMO,SAAQ,IAEd+K,EAAe,SAzBN,2CAAH,qDA8BlB,OACI,gCACI,eAAC3I,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,2BAGA,cAAC,IAAD,CACIoH,SAAUw5D,EACVr8D,KAAK,0BACLzH,MAAOsB,EAAM+wH,wBACbh2E,WAAY,CAAEttB,WAAY,CAAEC,IAAI,GAAD,OAAK1tB,EAAMgpC,UAE9C,cAACrnC,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO4jH,6BAGlC,eAAC7xH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,4BAGA,cAAC,IAAD,CAAWkN,YAAY,iBAAiB9F,SAAUw5D,EAAcr8D,KAAK,4BAA4BzH,MAAOsB,EAAM4wH,4BAC9G,cAACjvH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOyjH,+BAElC,eAAC1xH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CACImO,YAAY,eACZ9F,SAAUw5D,EACVr8D,KAAK,iCACLzH,MAAOsB,EAAM6wH,oCAGrB,eAAC3xH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCACA,cAAC8wH,GAAA,EAAD,CAAa/lH,UAAU,WAAvB,SACI,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACwtB,GAAA,EAAD,CACI9b,KAAG,EACH0F,aAAW,wBACXxQ,KAAK,wBACL6C,SAAUw5D,EACV9jE,MAAOsB,EAAMsxH,sBALjB,UAOI,cAACtkG,GAAA,EAAD,CAAkBtd,SAAyC,IAAhC1P,EAAMsxH,sBAAgC5yH,MAAO,OAAQuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QAC1G,cAACikB,GAAA,EAAD,CAAkBtd,SAAyC,IAAhC1P,EAAMsxH,sBAAiC5yH,MAAO,QAASuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAS5H,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CAAYqI,SAAUw5D,EAAcr8D,KAAK,0BAA0BzH,MAAOsB,EAAMmxH,6BAQpF,eAACjyH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CAAWmO,YAAY,UAAU9F,SAAUw5D,EAAcr8D,KAAK,sBAAsBzH,MAAOsB,EAAM8wH,yBAGrG,eAAC5xH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,iCAGA,cAAC,IAAD,CAAYoH,SAAUw5D,EAAcr8D,KAAK,gCAAgCzH,MAAOsB,EAAMkxH,gCACtF,cAACvvH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO+jH,mCAElC,eAAChyH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,mCAGA,cAAC,IAAD,CAAYoH,SAAUw5D,EAAcr8D,KAAK,8BAA8BzH,MAAOsB,EAAMixH,8BACpF,cAACtvH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO8jH,iCAElC,eAAC/xH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,eAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,qCAC6B,OAE7B,cAAC,IAAD,CAAWkN,YAAY,2BAA2B9F,SAAUw5D,EAAcr8D,KAAK,qBAAqBzH,MAAOsB,EAAMoxH,qBACjH,cAACzvH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOikH,wBAElC,eAAClyH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CAAWqO,KAAMhP,EAAMmwH,sBAAuBhqH,KAAK,wBAAwBzH,MAAOsB,EAAMowH,sBAAuBpnH,SAAUw5D,OAK7H,eAACtjE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAACiB,OAAK,EAAxB,8BASA,cAAC,IAAD,CACIoZ,QAAShb,EAAMiwH,uBAAyB,GACxCjnH,SAzOA,SAACX,EAAG3J,GACpB8xH,GAAqB,SAACpwH,GAAD,mBAAC,eAAaA,GAAd,IAAkBiwH,8BAA+B3xH,OACtEF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAYiwH,8BAA+B3xH,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,YAuO3DkR,YAAY,mBACZ3I,KAAK,gCACLzH,MAAO6xH,EAAkBD,oCAAsC,KAEnE,cAAC3uH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOkjH,mCAElC,eAACnxH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYnD,MAAO,CAAEqZ,SAAU,IAA/B,+LAIA,qBAAIrZ,MAAO,CAAEmK,OAAQ,EAAGkP,SAAU,IAAlC,UACI,6BACI,mBAAGrZ,MAAOuuB,GAAOgiE,KAAMC,KAAK,gDAAgDxlF,OAAO,SAAnF,yDAIJ,6BACI,mBAAGhL,MAAOuuB,GAAOgiE,KAAMC,KAAK,oDAAoDxlF,OAAO,SAAvF,8DAIJ,6BACI,mBAAGhL,MAAOuuB,GAAOgiE,KAAMC,KAAK,wCAAwCxlF,OAAO,SAA3E,mDAOhB,uBACA,eAACrJ,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAjC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAASosB,EAA1B,SAAyCqnG,MAE7C,cAACtyH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAAS,kBAAMxB,EAAMO,SAAQ,IAA9C,yBAIPkD,EAAM6vH,gBACH,qCACI,cAAC,IAAD,CACI5xG,KAAMje,EAAMgwH,eACZlgH,QAASA,EAOT4P,OAAQ,MAGX1f,EAAMuvB,KACH,cAAC7yB,GAAA,EAAD,CAAYC,MAAO,iBAAkBG,QAAS6xH,EAAuB5xH,SAAS,KAAKC,SAAS,OAA5F,SACI,cAAC,GAAD,CACIgD,MAAOA,EACPwiE,aAAcA,EACdmsD,sBAAuBA,EACvBC,0BAA2BA,MAGnC,YC/ZlBv/F,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,IAEX,CAAES,IAAK,0BAA2BxE,KAAM,gBAAiB+K,UAAW3E,IAAWujH,aAC/E,CAAEnlH,IAAK,gCAAiCxE,KAAM,eAAgB+K,UAAW3E,IAAWujH,aACpF,CAAEnlH,IAAK,qBAAsBxE,KAAM,qBACnC,CAAEwE,IAAK,8BAA+BxE,KAAM,mBAAoB+K,UAAW3E,IAAWujH,aACtF,CAAEnlH,IAAK,gCAAiCxE,KAAM,iBAAkB+K,UAAW3E,IAAWujH,aACtF,CAAEnlH,IAAK,wBAAyBxE,KAAM,eAG7BurH,GAAgB,SAACn1H,GAC1B,MAA0BgC,mBAAS,CAAEgxB,MAAM,EAAO/W,KAAM,GAAIq3G,eAAgB,KAAMp9G,SAAU,KAA5F,mBAAOzS,EAAP,KAAcxB,EAAd,KAIMqqG,EAAY,uCAAG,sBAAApoG,EAAA,sDACjBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHD,2CAAH,qDAeZmf,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,cAAC/R,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,SAAxB,SACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,UACI,cAAC,IAAD,CAAYvB,QAAS,kBAZlBuK,EAYkC2I,EAAI4+G,oBAXrDrxH,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyvH,eAAgBvnH,EAChBinB,MAAOnvB,EAAGmvB,UAJA,IAACjnB,KAWP,UAMNwH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAmBH,OACI,oCACU,OAALrY,QAAK,IAALA,OAAA,EAAAA,EAAOuvB,MACJ,cAAC,GAAD,CAAgBzyB,QAZT,SAACmF,GAChBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAOnvB,EAAGmvB,KACVsgG,eAAgB,UAEpB5tH,GAAO4mG,KAMsCgnB,eAAgB7vH,EAAM6vH,eAAgBt3D,SAAUh8D,EAAMg8D,WAa3F,cAAC,GAAD,CACIzoD,QAASA,EACT4C,OAAM,eACNiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBuC,WAAY,WAxCxBxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAOnvB,EAAGmvB,KACVsgG,eAAgB,WAsCRh7G,SA7EK,sBA8ELrE,uBAAuB,gBACvBkP,OAAQnjB,EAAMwvF,QAAU,IAAM,SCpGnC,SAAS4lC,GAAWp1H,GAC/B,IAAMqB,EAAKrB,EAAM2P,MAAMC,OAAOvO,GAGxB+Z,GAFOpb,EAAM2P,MAAMC,OAAOhG,KAEjB,CACX,CAAEA,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,UAAWyR,KAAM,sBACzB,CAAEzR,KAAK,GAAD,OAAK5J,EAAMgP,SAASpF,MAAQyR,KAAM,IAAKC,QAAQ,KAErDuV,EAAkB9sB,IAAW+sB,gBAC3BiqE,EAAI,CACN,CACIvuF,MAAO,YACPyqD,KAAM,cAAC,GAAD,CAAiB+E,SAAU36D,MAH/B,qBAKa,OAAfwvB,QAAe,IAAfA,OAAA,EAAAA,EAAiB0gC,cACf,CACI,CACI/kD,MAAO,QACPyqD,KAAM,cAAC,GAAD,CAAehR,SAAS,UAAU0J,aAActuD,EAAIqlD,WAAYrlD,MAG9E,IAZA,cAaa,OAAfwvB,QAAe,IAAfA,OAAA,EAAAA,EAAiBwkG,0BACf,CACI,CACI7oH,MAAO,kBACPyqD,KAAM,cAAC,GAAD,CAAehR,SAAS,UAAU+V,SAAU36D,EAAIqlD,WAAYrlD,MAG1E,KAGV,OACI,sBAAKsD,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,EAAQzW,UAAU,mBAAmB4sB,EAAG,IAC7D,cAAC,IAAD,CAAS8pE,QAASN,EAAM15F,GAAG,oBCpChC,IAIMi0H,GAAqB,uCAAG,WAAO1vH,GAAP,eAAA1B,EAAA,sEACnB6B,aAAY,kBAAD,OAAmBH,IADX,cAC/BF,EAD+B,yBAE5BA,GAF4B,2CAAH,sDAIrB6vH,GAAe,uCAAG,4BAAArxH,EAAA,sEACb6B,aAAY,kCADC,cACzBL,EADyB,yBAEtBA,GAFsB,2CAAH,qDAKf8vH,GAAkB,uCAAG,WAAOnvH,GAAP,eAAAnC,EAAA,sEAChBsB,aAAa,iBAAkBa,GADf,cAC5BX,EAD4B,yBAEzBA,GAFyB,2CAAH,sDCZzB+vH,GAAiB,CACnB,CAAEp0H,GAAI,EAAGuI,KAAM,gCACf,CAAEvI,GAAI,EAAGuI,KAAM,kCAGb8rH,GAAgB,CAClB,CAAEr0H,GAAI,EAAGuI,KAAM,kBACf,CAAEvI,GAAI,EAAGuI,KAAM,yBAwgBJ+rH,GArgBa,SAAC31H,GAAW,IAAD,MACnC,EAAwCgC,mBAAS,CAC7C4zH,MAAO,KADX,mBAAOvpE,EAAP,KAAqBC,EAArB,KAGA,EAA0BtqD,mBAAS,CAC/B6qB,kBAAmB,GACnBgpG,sBAAuB,GACvBC,yBAA0B,GAC1BC,sBAAuB,GACvBC,wBAAyB,GACzBC,uBAAwB,GACxBC,sBAAuB,GACvB53G,aAAc,GACd63G,gBAAiB,GACjBx2G,YAAa,KACby2G,0BAA2B,GAC3BC,aAAc,KACdv9D,SAAU,GACVw9D,gCAAiC,GACjCC,oCAAoC,EACpC17C,4BAA4B,EAC5B27C,oBAAqB,KAjBzB,mBAAO/yH,EAAP,KAAcxB,EAAd,KAmBA,EAA4BD,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B,EAAkCtJ,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEM07C,EAAY,uCAAG,4BAAAj1D,EAAA,sEACDqxH,KADC,OACb7vH,EADa,OAEjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELi1D,SAAUpzD,EAAIW,UAJD,2CAAH,qDAQlBzC,oBAAS,sBAAC,8BAAAM,EAAA,yDACDlE,EAAMqG,KAAKsiC,MADV,gCAEc2sF,GAAsBt1H,EAAMqG,KAAKstB,gBAAgB/G,iBAF/D,OAEElnB,EAFF,OAGE2+C,EAAO3+C,EAAIW,KACfpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+oB,gBAAiBy3B,EAAKz3B,gBACtBC,kBAAmBw3B,EAAKx3B,kBACxBgpG,sBAAuBxxE,EAAKwxE,sBAC5BC,yBAA0BzxE,EAAKyxE,yBAC/BC,sBAAuB1xE,EAAK0xE,sBAC5BC,wBAAyB3xE,EAAK2xE,wBAC9BC,uBAAwB5xE,EAAK4xE,uBAC7BC,sBAAuB7xE,EAAK6xE,sBAC5B53G,aAAc+lC,EAAK/lC,aACnB63G,gBAAiB9xE,EAAK8xE,gBACtBx2G,YAAa0kC,EAAK1kC,YAClBy2G,0BAA2B/xE,EAAK+xE,0BAChCC,aAAchyE,EAAKgyE,cAAgB,GACnCC,gCAAiCjyE,EAAKiyE,gCACtCC,mCAAoClyE,EAAKkyE,mCACzC17C,2BAA4Bx2B,EAAKw2B,2BACjC47C,8BAA+BpyE,EAAKoyE,8BACpCC,8BAA+BryE,EAAKqyE,8BACpCC,gCAAiCtyE,EAAKsyE,gCACtCC,4BAA6BvyE,EAAKuyE,iCAzBpC,OA4BNz9D,IA5BM,2CA6BP,IAEHv1D,qBAAU,WACN,GAAIH,EAAM4yH,aAAc,CAAC,IAAD,EACdnyH,EAAIT,EAAM4yH,aAAa9sH,KAAI,SAACm0B,GAAD,OAAOm5F,OAAOn5F,MACzCs3F,EAAc,UAAGvxH,EAAMq1D,SAASg+D,iBAAlB,aAAG,EAA0B54F,QAAO,SAAC1sB,GAAD,OAAOtN,EAAE0oD,QAAQp7C,EAAEnQ,KAAO,KAClFirD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkB+xH,MAAOZ,UAE9C,CAACvxH,EAAMq1D,SAASg+D,UAAWrzH,EAAM4yH,eAEpCzyH,qBAAU,WACN,GAAIH,EAAM6a,aAAc,CAAC,IAAD,EACdy4G,EAAS,UAAGtzH,EAAMq1D,SAASq9D,uBAAlB,aAAG,EAAgCj4F,QAAO,SAACvR,GAAD,OAAOA,EAAErO,cAAgB7a,EAAM6a,gBACxFrc,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmzH,oBAAqBD,UAG9B,CAACtzH,EAAMq1D,SAASq9D,gBAAiB1yH,EAAM6a,eAE1C1a,qBAAU,WAAO,IAAD,EACNmzH,EAAS,UAAGtzH,EAAMq1D,SAASm+D,uBAAlB,aAAG,EAAgC1tH,KAAI,SAACojB,GACnD,MAAO,CAAEtrB,GAAIsrB,EAAEuqG,kBAAmBttH,KAAM+iB,EAAEwqG,+BAE9Cl1H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2yH,oBAAqBO,GAAa,UAEvC,CAACtzH,EAAMq1D,SAASm+D,kBAEnB,IAOM39D,EAAW,WACb,IAAIC,GAAW,EACXC,EAAM,GAyDV,MAxDK,QAAQvnD,KAAKxO,EAAMopB,qBACpB2sC,EAAI3sC,mBAAoB,EACxB0sC,GAAW,IAGV91D,EAAMqyH,yBAA2B,GAClCt8D,EAAI49D,2BAA4B,EAChC79D,GAAW,GACH,QAAQtnD,KAAKxO,EAAMqyH,4BAC3Bt8D,EAAIs8D,0BAA2B,EAC/Bv8D,GAAW,GAGV,QAAQtnD,KAAKxO,EAAMyyH,yBACpB18D,EAAI08D,uBAAwB,EAC5B38D,GAAW,GAGT,QAAQtnD,KAAKxO,EAAMoyH,wBAA0B,QAAQ5jH,KAAKxO,EAAMsyH,yBAI7DtyH,EAAMoyH,sBAAwB,IAC/Br8D,EAAI69D,wBAAyB,EAC7B99D,GAAW,IAEV91D,EAAMsyH,sBAAwB,IAC/Bv8D,EAAI89D,wBAAyB,EAC7B/9D,GAAW,KATfC,EAAI+9D,YAAa,EACjBh+D,GAAW,GAWV,QAAQtnD,KAAKxO,EAAMuyH,2BACpBx8D,EAAIw8D,yBAA0B,EAC9Bz8D,GAAW,GAEV,QAAQtnD,KAAKxO,EAAMwyH,0BACpBz8D,EAAIy8D,wBAAyB,EAC7B18D,GAAW,GAEV,QAAQtnD,KAAKxO,EAAM6a,gBACpBk7C,EAAIl7C,cAAe,EACnBi7C,GAAW,GAEV,QAAQtnD,KAAKxO,EAAM0yH,mBACpB38D,EAAI28D,iBAAkB,EACtB58D,GAAW,GAEV,QAAQtnD,KAAKxO,EAAM2yH,6BACpB58D,EAAI48D,2BAA4B,EAChC78D,GAAW,GAEV,QAAQtnD,KAAKxO,EAAM6yH,mCACpB98D,EAAI88D,iCAAkC,EACtC/8D,GAAW,GAEfL,EAAUM,GACHD,GAGLt1D,EAAU,uCAAG,8BAAAC,EAAA,yDACfo1D,KACIA,IAFW,uBAGX77C,GAAa,GAHF,SAIU+3G,GAAmB,CACpC5oG,gBAAiBnpB,EAAMmpB,iBAAmB,KAC1CkpG,0BAA2BryH,EAAMqyH,yBACjCD,uBAAwBpyH,EAAMoyH,sBAC9BE,uBAAwBtyH,EAAMsyH,sBAC9BK,0BAA2B3yH,EAAM2yH,0BACjCJ,wBAAyBvyH,EAAMuyH,yBAA2B,KAC1DnpG,kBAAmBppB,EAAMopB,kBACzBopG,uBAAwBxyH,EAAMwyH,wBAA0B,KACxD33G,aAAc7a,EAAM6a,cAAgB,KACpC63G,gBAAiB1yH,EAAM0yH,iBAAmB,KAE1CD,uBAAwBzyH,EAAMyyH,sBAC9BG,cAAc,UAAA5yH,EAAM4yH,oBAAN,eAAoBrkH,QAAS,EAAIvO,EAAM4yH,aAAe,KACpEC,gCAAiC7yH,EAAM6yH,gCACvCC,mCAAoC9yH,EAAM8yH,mCAC1C17C,2BAA4Bp3E,EAAMo3E,2BAElC47C,8BAA+BhzH,EAAMgzH,8BACrCC,8BAA+BjzH,EAAMizH,8BACrCC,gCAAiClzH,EAAMkzH,gCACvCC,4BAA6BnzH,EAAMmzH,8BAzB5B,QAIPz/G,EAJO,QA4BPA,EAASrN,QACHyB,EAAiBvL,EAAMqG,KAAKsiC,MAAQ,qCAAuC,wCAC3Er9B,EAAe6L,EAAShL,SAAW,wBAEzCb,EAAe,wBAEnBmS,GAAa,GACbzd,EAAMO,UAnCK,2CAAH,qDAsCVm5D,EAAe,SAACl7C,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,KAGRs+D,EAAe,SAACzrH,GAAD,OAAS,SAACyS,GAC3B,IAAI6lC,EAAO7lC,EAAGxS,OACF,IAARD,IACoC,OAAhCs4C,EAAKozE,UAAUv/E,cACfj2C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL0yH,oCAAoC,OAED,MAAhClyE,EAAKozE,UAAUv/E,eACtBj2C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL0yH,oCAAoC,QAIpC,IAARxqH,IACoC,OAAhCs4C,EAAKozE,UAAUv/E,cACfj2C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELg3E,4BAA4B,OAEO,MAAhCx2B,EAAKozE,UAAUv/E,eACtBj2C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELg3E,4BAA4B,QAI5B,IAAR9uE,IACoC,OAAhCs4C,EAAKozE,UAAUv/E,cACfj2C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+yH,6BAA6B,OAEM,MAAhCvyE,EAAKozE,UAAUv/E,eACtBj2C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+yH,6BAA6B,UAM7C,OACI,mCACI,eAACj0H,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,wBAGA,cAAC,IAAD,CACI5I,KAAK,4BACLzH,MAAOsB,EAAM2yH,2BAA6B,GAC1C3pH,SAAUitD,EACVjnD,MAAM,UAAAhP,EAAMq1D,gBAAN,eAAgB4+D,qBAAsB,KAEhD,cAACtyH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOwlH,0BAA4B,yBAA2B,UAEzF,cAACzzH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,aACX1I,KAAK,oBACL2I,YAAY,aACZyO,aAAchhB,EAAMqG,KAAKstB,gBAAgB9G,mBAAqB,GAC9DpgB,SAAUitD,EACV9oD,OAAQA,EAAOic,kBAAoB,yBAA2B,SAGtE,eAAClqB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,yBAGA,cAAC,IAAD,CAAWwF,KAAK,0BAA0BzH,MAAOsB,EAAMuyH,yBAA2B,GAAIvpH,SAAUitD,EAAcjnD,KAAMgjH,KACpH,cAACrwH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOolH,wBAA0B,yBAA2B,UAEvF,cAACrzH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,sBACX5F,KAAK,SACL9C,KAAK,2BACL2I,YAAY,IACZyO,aAAchhB,EAAMqG,KAAKstB,gBAAgBmiG,0BAA4B,GACrErpH,SAAUitD,EACV9oD,OACIA,EAAOwmH,0BAA4B,6BAA+BxmH,EAAOklH,yBAA2B,yBAA2B,SAI3I,eAACnzH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,6BAGA,cAAC,IAAD,CACIwF,KAAK,kCACLzH,MAAOsB,EAAM6yH,iCAAmC,GAChD7pH,SAAUitD,EACVjnD,KAAMhP,EAAMq1D,SAAS6+D,sBAAwB,KAEjD,cAACvyH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO0lH,gCAAkC,yBAA2B,UAE/F,eAAC3zH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,wBAGA,cAAC,IAAD,CAAWwF,KAAK,yBAAyBzH,MAAOsB,EAAMwyH,wBAA0B,GAAIxpH,SAAUitD,EAAcjnD,KAAMijH,KAClH,cAACtwH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOqlH,uBAAyB,yBAA2B,UAEtF,cAACtzH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,iBACX5F,KAAK,SACL9C,KAAK,wBACL2I,YAAY,iBACZyO,aAAchhB,EAAMqG,KAAKstB,gBAAgBkiG,uBAAyB,GAClEppH,SAAUitD,EACV9oD,OACIA,EAAOymH,uBACD,6BACAzmH,EAAO2mH,WACP,wEACA,SAIlB,cAAC50H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,kBACX5F,KAAK,SACL9C,KAAK,wBACL2I,YAAY,kBACZpQ,MAAOsB,EAAMsyH,uBAAyB,GACtCtpH,SAAUitD,EACV9oD,OACIA,EAAO0mH,uBACD,6BACA1mH,EAAO2mH,WACP,wEACA,SAIlB,eAAC50H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,+BAGA,cAAC,IAAD,CACI0iF,aAAa,EACbl9E,KAAK,wBACLzH,MAAOsB,EAAMyyH,sBACbzpH,SAAUitD,EACVjnD,KAAMhP,EAAM+yH,sBAEhB,cAACpxH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOslH,sBAAwB,yBAA2B,UAErF,eAACvzH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CAAWwF,KAAK,eAAezH,MAAOsB,EAAM6a,cAAgB,GAAI7R,SAAUitD,EAAcjnD,MAAM,UAAAhP,EAAMq1D,gBAAN,eAAgBx6C,eAAgB,KAC9H,cAAClZ,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO0N,aAAe,yBAA2B,UAE5E,eAAC3b,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,+BAGA,cAAC,IAAD,CAAWwF,KAAK,kBAAkBzH,MAAOsB,EAAM0yH,iBAAmB,GAAI1pH,SAAUitD,EAAcjnD,KAAMhP,EAAMuzH,qBAAuB,KACjI,cAAC5xH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOulH,gBAAkB,yBAA2B,UAE/E,eAACxzH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,sCACA,eAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CACInnB,KAAK,qCACLnG,MAAOA,EAAM8yH,mCACblwH,MAAM,EACN7E,QAASg2H,EAAa,OAG9B,cAAC70H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CACInnB,KAAK,qCACLnG,MAAOA,EAAM8yH,mCACblwH,MAAM,EACN7E,QAASg2H,EAAa,UAIlC,cAACpyH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAOqlH,uBAAyB,yBAA2B,UAEtF,eAACtzH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,2CACA,eAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CACInnB,KAAK,6BACLnG,MAAOA,EAAMo3E,2BACbx0E,MAAM,EACN7E,QAASg2H,EAAa,OAK9B,cAAC70H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CACInnB,KAAK,6BACLnG,MAAOA,EAAMo3E,2BACbx0E,MAAM,EACN7E,QAASg2H,EAAa,aAMtC,eAAC70H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,6CACA,eAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CACInnB,KAAK,8BACLnG,MAAOA,EAAMmzH,4BACbvwH,MAAM,EACN7E,QAASg2H,EAAa,OAK9B,cAAC70H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CACInnB,KAAK,8BACLnG,MAAOA,EAAMmzH,4BACbvwH,MAAM,EACN7E,QAASg2H,EAAa,aAiBtC,cAAC70H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,wBAIJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,aACX1I,KAAK,gCACL2I,YAAY,aACZpQ,MAAOsB,EAAMgzH,+BAAiC,GAC9ChqH,SAAUitD,MAGlB,eAAC/2D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,oBACA,cAAC,IAAD,CACIwF,KAAK,kCACLzH,MAAOsB,EAAMkzH,iCAAmC,GAChDlqH,SAAUitD,EACVjnD,KAAMhP,EAAMq1D,SAAS6+D,sBAAwB,KAEjD,cAACvyH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO+lH,gCAAkC,yBAA2B,UAE/F,cAACh0H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,qBACX1I,KAAK,gCACL2I,YAAY,qBACZpQ,MAAOsB,EAAMizH,+BAAiC,GAC9CjqH,SAAUitD,WAM1B,eAAC/2D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCACA,cAAC,IAAD,CACIwF,KAAK,eACL2I,YAAY,qBACZkM,SAAS,UAAAhb,EAAMq1D,gBAAN,eAAgBg+D,YAAa,GACtC30H,MAAOkqD,EAAaupE,OAAS,GAC7BnpH,SA1ZA,SAACX,EAAG3J,GACpBmqD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkB+xH,MAAOzzH,OACzCF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAYwyH,aAAcl0H,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,iBA0ZlD,cAACsB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiB+Z,YAAalB,EAAWhc,QAASyC,EAAlD,SACKjE,EAAMqG,KAAKsiC,MAAQ,MAAQ,mBCrgB9CvtB,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,kBAAmB0R,QAAQ,IAEjCT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,oBAAqBxE,KAAM,QAClC,CAAEwE,IAAK,iCAAkCxE,KAAM,cAC/C,CAAEwE,IAAK,uBAAwBxE,KAAM,iBACrC,CAAEwE,IAAK,0BAA2BxE,KAAM,sBA0G7BguH,GAvGO,WAClB,MAA0B51H,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBgV,OAAO,IAJX,mBAAOllC,EAAP,KAAcxB,EAAd,KAOM2f,EAAW,uCAAG,4BAAA1d,EAAA,sEAEaqxH,KAFb,OAEZsC,EAFY,OAGhB51H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAGLo2E,SAAU49C,EAAiBxxH,KAC3B6P,SAAU,IAAIhC,UAPF,2CAAH,qDAWXyH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,qBACI1T,MAAO,CACHyZ,UAAW,UAFnB,SAKI,cAAC,IAAD,CACI9B,aAAa,uBACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiBjf,EACjBi0B,OAAO,aAQzBp1B,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAUG+X,EAAc,SAACnuB,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,OAEV6E,GAAOkc,KAIX,OACI,sBAAKjd,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OANK,iBAOLiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,sBACTG,WA7BU,WAClBxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8nC,OAAO,EACPhV,gBAAiB,WA0BhBlwB,EAAM5C,KACH,cAACV,GAAA,EAAD,CACIU,KAAM4C,EAAM5C,KACZN,QAAS,WACLszB,GAAY,IAEhBzzB,MAAOqD,EAAMklC,MAAQ,qBAAuB,sBAC5CnoC,SAAS,KACTC,SAAS,OAPb,SASI,cAAC,GAAD,CACI4F,KAAM5C,EACNlD,QAAS,WACLszB,GAAY,QAIxB,SCgFDikG,OAjLf,SAA8B93H,GAC1B,MAA0BgC,mBAAS,CAC/B8nB,kBAAmB,KACnBsS,2BAA4B,GAC5B27F,uBAAuB,EACvBnnH,OAAQ,GACRonH,SAAS,EACTC,gBAAiB,KANrB,mBAAOx0H,EAAP,KAAcxB,EAAd,KAQMi2H,EAAkB,WACpBj2H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELm0H,SAAUn0H,EAAGm0H,cAIrB,EAA6Cv2H,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B,EAA4BtJ,mBAAS,IAArC,mBAAO87D,EAAP,KAAeq6D,EAAf,KAaAv0H,oBAAS,sBAAC,4BAAAM,EAAA,0DACFlE,EAAM8pB,kBADJ,gCAEcyzE,GAAyBv9F,EAAM8pB,mBAF7C,QAEEpkB,EAFF,QAGMoE,UACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELqmB,kBAAmBpkB,EAAIW,KAAKyjB,kBAC5BsS,2BAA4B12B,EAAIW,KAAK+1B,2BACrC27F,sBAAuBryH,EAAIW,KAAK0xH,2BAGpCI,EAAUzyH,EAAIW,KAAK+xH,wBAXrB,2CAcP,IAEH,IAeMtmH,EAAc,WAChB,IAAQsqB,EAA+B34B,EAA/B24B,2BAEJrqB,GAAc,EACdnB,EAAS,GAMb,MARwB,QAGDqB,KAAKmqB,KACxBxrB,EAAOwrB,2BAA6B,4CACpCrqB,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAERg5B,EAAmB,CACrBhhB,kBAAmBrmB,EAAMqmB,kBACzBsS,2BAA4B34B,EAAM24B,2BAClC27F,sBAAuBt0H,EAAMs0H,sBAC7BK,sBAAuB30H,EAAMw0H,iBANnB,SASEz6B,GAA0B1yD,GAT5B,QASVplC,EATU,QAUNoE,SACJyB,EAAiB,uCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAdT,2CAAH,qDAmBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,+BACX1I,KAAK,6BACL2I,YAAY,+BACZ9F,SAtDU,SAACkG,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAmDAA,MAAOsB,EAAM24B,2BACbxrB,OAAQnN,EAAMmN,OAAOwrB,+BAG7B,cAACz5B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAmBmQ,QAAS1P,EAAMs0H,sBAAuBnuH,KAAK,wBAAwB6C,SArD3E,SAACX,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAkDoF3G,MAAM,kBAE1H,eAACvJ,EAAA,EAAD,CAAQE,QAAQ,YAAYD,MAAM,UAAU1B,QAAS02H,EAArD,UACI,cAAC,KAAD,IADJ,kBAIA,cAACv1H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACKS,EAAMu0H,QACH,cAAC73H,GAAA,EAAD,CAAYC,MAAO,eAAgBG,QAAS23H,EAAiB13H,SAAS,KAAtE,SACI,qBAAKQ,MAAO,CAAE2M,MAAO,IAAKjN,OAAQ,KAAlC,SACI,cAAC,KAAD,CAAgBy9D,UAAQ,EAACh8D,MAAO27D,EAAQrxD,SAhG/C,SAAC8xD,EAAWwE,GAEzBo1D,EAAU55D,GACV,IAAIyE,EAAmBzE,EAAUh1D,KAAI,SAACgoB,GAAD,OAAQA,EAAE0xC,SAAW1xC,EAAE0xC,SAAW1xC,KACvEtvB,GAAS,SAACsvB,GAAD,mBAAC,eACHA,GADE,IAEL0mG,gBAAiBj1D,QA0F2D3E,UAlGlE,GAkGwFC,WAAW,WAA7F,SACK,gBAAGC,EAAH,EAAGA,UAAWC,EAAd,EAAcA,cAAeC,EAA7B,EAA6BA,iBAAiCC,GAA9D,EAA+CC,cAA/C,EAA8DD,eAA9D,OAEG,cADA,CACA,OAAK/5D,UAAU,wBAAf,UACK,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACG,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAvB,SACI,eAAC9tB,EAAA,EAAD,CAAQE,QAAQ,YAAYD,MAAM,UAAU1B,QAASg9D,EAArD,UACI,cAAC,KAAD,IADJ,oBAIJ,cAAC77D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAvB,SACI,cAAC9tB,EAAA,EAAD,CAAQE,QAAQ,YAAYD,MAAM,YAAY1B,QAASi9D,EAAvD,oCAKR,cAAC97D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACK07D,EAAUh1D,KAAI,SAACy0D,EAAO1Z,GAAR,aACX,eAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAe2B,UAAU,aAAa3D,MAAO,CAAEyD,UAAW,IAAzE,UACI,qBAAKC,IAAKs5D,EAAK,UAAgBA,EAAOp5D,IAAI,YAAY+I,MAAM,OAAOjN,OAAO,UAC1E,qBAAKiE,UAAU,0BAAf,SASI,cAAC,KAAD,GAAiBnD,QAASi9D,GAA1B,yBAAqD,kBAAMC,EAAcpa,MAAzE,2CAXeA,kBAgCnD,OAGR,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAM8pB,kBAAoB,SAAW,cC1LzF1O,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,qBAAsB0R,QAAQ,IAEpC8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,6BAA8BxE,KAAM,eAC3C,CAAEwE,IAAK,wBAAyBxE,KAAM,cAAe+K,UAAW3E,IAAWC,MAAOtC,MAAO,QAyE9E0qH,OAtEf,SAAyBr4H,GACrB,MAA0BgC,mBAAS,CAC/BurC,oBAAqB,GACrBjtB,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNo0H,IADM,2CAEP,IAEH,IAAMA,EAAmB,uCAAG,sBAAAp0H,EAAA,sDACxBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHM,2CAAH,qDAOnBqkH,EAAyB,SAAC3oH,GAC5B3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAMipB,kBAAiB,OAAEla,QAAF,IAAEA,OAAF,EAAEA,EAAQka,wBAGtEqhB,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAM+2H,EAAuB7jH,IAAMiE,aAAa,6BAK3EpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,KAGLrgB,EAAQqD,EAAMqmB,kBAAoB,0BAA4B,uBAE9D6Q,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAO4yH,KAGX,OACI,sBAAK3zH,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KAErB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQ,oBACRmC,SAAS,uBACTG,WAAY,kBAAM8/G,EAAuB,OACzCriH,SAAUzS,EAAMyS,WAEnBzS,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAArE,SACI,cAAC,GAAD,CAAsBspB,kBAAmBrmB,EAAMqmB,kBAAmBvpB,QAAS,kBAAMo6B,GAAW,QAEhG,SCxEVva,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,UAAWxE,KAAM,OAAQ+K,UAAW3E,IAAWE,eACtD,CAAE9B,IAAK,kBAAmBxE,KAAM,WAChC,CAAEwE,IAAK,mBAAoBxE,KAAM,iBACjC,CAAEwE,IAAK,sBAAuBxE,KAAM,YACpC,CAAEwE,IAAK,YAAaxE,KAAM,UAC1B,CAAEwE,IAAK,gBAAiBxE,KAAM,QAAS+K,UAAW3E,IAAW2wE,gBAAiBvzE,MAAO,SACrF,CAAEgB,IAAK,iBAAkBxE,KAAM,SAAU+K,UAAW3E,IAAW2wE,gBAAiBvzE,MAAO,SACvF,CAAEgB,IAAK,gBAAiBxE,KAAM,QAAS+K,UAAW3E,IAAW2wE,gBAAiBvzE,MAAO,UAGnFgO,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,kBAAmB0R,QAAQ,IA2FxBk9G,OAxFf,SAAuBx4H,GACnB,IAAM6O,EAAU8b,eAChB,EAA0B3oB,mBAAS,CAC/B6+E,QAAS,GACTvgE,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAKI4uB,EAAkB9sB,IAAW+sB,gBAEjCltB,oBAAS,sBAAC,sBAAAM,EAAA,sDACN48E,IADM,2CAEP,IACH,IAAMA,EAAW,uCAAG,sBAAA58E,EAAA,sDAGhBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAGLyc,QAAQ,OANI,2CAAH,qDAqBX6qB,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,UACoB,OAAfoW,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,KAAD,CAAkBzsC,KAAM0sC,KAAUtgD,UAAU,6BAA6BgU,aAAa,WAAWnX,QAAS,kBAZjGuK,EAYuH2I,OAX5I7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKyxC,MAAnC,YAA4Cx9C,EAAM0sC,UAAY1sC,EAAM0sC,UAAxB,OAAoC3gC,QAApC,IAAoCA,OAApC,EAAoCA,EAAKvF,WAC7FqJ,OAAQ,GACRpM,MAAO,SAJS,IAACsI,QAkBnBwH,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,KAOLooD,EAAgB7oE,EAAM0sC,UAAiB,UAAL,GAExC,OACI,qBAAK/nC,UAAU,SAAf,SACI,qCACI,cAAC,IAAD,CAAayW,OAAQA,KAYrB,cAAC,GAAD,CACI7H,QAASA,EACT+E,SAAUuwD,EACVpwD,WAvDG,SAAC7I,GAChB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,QAuD3BuW,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBC,OAzBD,oCChFNsiH,GAAgB,uCAAG,WAAOp3H,GAAP,eAAA6C,EAAA,sEACZ6B,aAAY,aAAD,OAAc1E,IADb,cACxBqE,EADwB,yBAErBA,GAFqB,2CAAH,sDAKhBgzH,GAAiB,uCAAG,WAAOryH,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,YAAaa,GADb,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDCgHfizH,OAnHf,SAAwB34H,GACpB,MAA0BgC,mBAAS,CAC/B42H,WAAY,KACZC,oBAAqB,GACrBC,6BAA6B,EAC7BC,gBAAgB,EAChBnoH,OAAQ,KALZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAQA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B,EAAkCtJ,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA7Z,oBAAS,sBAAC,4BAAAM,EAAA,0DACFlE,EAAM44H,WADJ,gCAEcH,GAAiBz4H,EAAM44H,YAFrC,QAEElzH,EAFF,QAGMoE,SACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELm1H,WAAYlzH,EAAIW,KAAKuyH,WACrBC,oBAAqBnzH,EAAIW,KAAKwyH,oBAC9BC,4BAA6BpzH,EAAIW,KAAKyyH,4BACtCC,eAAgBrzH,EAAIW,KAAK0yH,oBAT/B,2CAaP,IAEH,IAeMz/E,EAAc,SAAC1vC,EAAMzH,GACvBF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,kBAAa+F,EAAOzH,QAK/B2P,EAAc,WAChB,IAAQ+mH,EAAwBp1H,EAAxBo1H,oBAEJ9mH,GAAc,EACdnB,EAAS,GAMb,MARwB,QAGDqB,KAAK4mH,KACxBjoH,EAAOioH,oBAAsB,oCAC7B9mH,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAEd2L,GAAa,GACPu7G,EAAU,CACZJ,WAAYn1H,EAAMm1H,WAClBC,oBAAqBp1H,EAAMo1H,oBAC3BC,4BAA6Br1H,EAAMq1H,4BACnCC,eAAgBt1H,EAAMs1H,gBAPZ,SASEL,GAAkBM,GATpB,QASVtzH,EATU,QAUNoE,SACJyB,EAAiB,iCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAhBC,2CAAH,qDAoBnB,OACI,eAAC9a,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,wBACX1I,KAAK,sBACL2I,YAAY,wBACZ9F,SA9DU,SAACkG,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QA2DAA,MAAOsB,EAAMo1H,oBACbjoH,OAAQnN,EAAMmN,OAAOioH,wBAG7B,cAACl2H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAGrR,MAAO,CAAEq9C,WAAY,QAA/C,oCAGA,cAAC17C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CAAW5O,MAAOA,EAAMq1H,4BAA6BlvH,KAAK,8BAA8BpI,QAAS,kBAAM83C,EAAY,+BAA+B,QAEtJ,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CAAU5O,MAAOA,EAAMq1H,4BAA6BlvH,KAAK,8BAA8BpI,QAAS,kBAAM83C,EAAY,+BAA+B,QAErJ,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAmBmQ,QAAS1P,EAAMs1H,eAAgBnvH,KAAK,iBAAiB6C,SAtE7D,SAACX,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAmEsE3G,MAAM,kBAG5G,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiB+Z,YAAalB,EAAWhc,QAAS0Q,EAAlD,SAAkElS,EAAM44H,WAAa,SAAW,cC7G1Gx9G,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,aAAc0R,QAAQ,IAE5B8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,sBAAuBxE,KAAM,eACpC,CAAEwE,IAAK,8BAA+BxE,KAAM,0BAA2B+D,MAAO,OAC9E,CAAES,IAAK,iBAAkBxE,KAAM,cAAe+D,MAAO,QAwE1CsrH,OArEf,SAAmBj5H,GACf,MAA0BgC,mBAAS,CAC/Bk3H,SAAU,GACV54G,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNi1H,IADM,2CAEP,IAEH,IAAMA,EAAW,uCAAG,sBAAAj1H,EAAA,sDAChBjC,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELyS,SAAU,IAAIhC,UAHF,2CAAH,qDAOXhC,EAAgB,SAACtC,GACnB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAM+3H,WAAU,OAAEhpH,QAAF,IAAEA,OAAF,EAAEA,EAAQgpH,iBAG/DztF,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAM0Q,EAAcwC,IAAMiE,aAAa,uBAKlEpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,KAGLrgB,EAAQqD,EAAMm1H,WAAa,oBAAsB,iBAEjDj+F,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOyzH,KAGX,OACI,sBAAKx0H,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAM,YACNiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,gBACTG,WAAY,kBAAMvG,EAAc,SAEnCzO,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAArE,SACI,cAAC,GAAD,CAAgBo4H,WAAYn1H,EAAMm1H,WAAYr4H,QAASo6B,MAE3D,SCnEVvf,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,YAAa0R,QAAQ,IAE3BT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IACxC,CAAES,IAAK,aAAcxE,KAAM,OAAQ+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,KAGrF,CAAES,IAAK,MAAOxE,KAAM,uBAAwB+D,MAAO,KACnD,CAAES,IAAK,UAAWxE,KAAM,UAAW+D,MAAO,KAC1C,CAAES,IAAK,YAAaxE,KAAM,aAAc+D,MAAO,KAC/C,CAAES,IAAK,iBAAkBxE,KAAM,kBAAmB+D,MAAO,KACzD,CAAES,IAAK,YAAaxE,KAAM,SAC1B,CAAEwE,IAAK,WAAYxE,KAAM,YACzB,CAAEwE,IAAK,YAAaxE,KAAM,iBAC1B,CAAEwE,IAAK,WAAYxE,KAAM,SA+NdwvH,GA5NK,SAACp5H,GACjB,IAAI6wB,EAAkB9sB,IAAW+sB,gBAEjC,EAA0B9uB,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBzd,SAAU,OAJd,mBAAOzS,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,IAEH,IAAMA,EAAW,uCAAG,sBAAA1d,EAAA,sDAEhBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,KACd1I,YAAY,OALA,2CAAH,qDASX6tH,EAAkB,SAACptD,GACrB,MAAM,GAAN,OAAUA,EAAMv3D,IAAItU,MAApB,aAA8B6rE,EAAMv3D,IAAIqqE,MAAxC,MAWEpjE,EAAa,SAAC6C,EAAI9J,GACpB,OACI,sBACI1T,MAAO,CACHyZ,UAAW,UAFnB,WAKoB,OAAfoW,QAAe,IAAfA,OAAA,EAAAA,EAAiB0gC,eACd,cAAC,KAAD,CACIh5C,KAAMiyC,KACN7xC,aAAa,YACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB8vB,gBAAiBjf,EAAK7T,MAAM,WAKnD,OAAfgwB,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cAAe,cAAC,KAAD,CAAkBzsC,KAAM0sC,KAAUtsC,aAAa,cAAcnX,QAAS,kBAzB1FuK,EAyBgH2I,OAxBrI1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,4BAAD,OAA8BvnB,EAAIyxC,MAAlC,YAA2CzxC,EAAIvF,WACvDqJ,OAAQ,GACRpM,MAAO,WAJS,IAACsI,SAiDnB6nB,EAAgB,SAAClf,EAAK9K,GAExB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIVggE,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,OAAQwV,WAAY,QAA9G,SACKhE,EAAI+1C,YAIb,OADA10C,IAASC,OAAOgF,EAAKF,GACdA,GAGLmmE,EAAkB,SAAC,EAAc7qE,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,mBAAmB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,OAAQwV,WAAY,QAAjH,SACKhE,EAAIgC,YAIb,OADAX,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,OAAQwV,WAAY,QAApH,SACKhE,EAAI0/B,WAIb,OADAr+B,IAASC,OAAOgF,EAAKF,GACdA,GAGL4uD,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBApDMuK,EAoDmB2I,OAnD3C1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,2BAAD,OAA6BvnB,EAAIvF,WACzCqJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAJL,IAAChI,GAoDyB/K,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAIs4B,YAIb,OADAj3B,IAASC,OAAOgF,EAAKF,GACdA,GAELvH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OACnCq6C,EAAY3sC,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,QAAVA,EAAEsC,OACnCy7D,EAAe/tD,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAClD8lB,EAAkBpY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,aAAhBA,EAAQ3N,OACrD8yE,EAAeplE,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAClDiuF,EAAevgF,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAmBtD,OAlBIiuF,IACAA,EAAa1nF,UAAY+0D,GAEzBt0D,IACAA,EAAUT,UAAYgH,GAEtB8sC,IACAA,EAAU9zC,UAAY0kH,GAEtBn4C,IACAA,EAAavsE,UAAYssE,GAEzB/sD,IACAA,EAAgBvf,UAAY+e,GAE5Bm2C,IACAA,EAAal1D,UAAYi1D,GAEtB9tD,IACR,IAEG+X,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNg9C,aAAa,EACb/pB,mBAAmB,EACnB49B,gBAAgB,QAIlB4nE,EAAmB,SAAC5zH,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,OAEV6E,GAAOkc,KAKX,OACI,sBAAKjd,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KAErB,cAAC,GAAD,CACI7H,QAASA,EACT6D,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBC,OAbF,4BAgBD1S,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,eAArD,SACI,cAAC,GAAD,CACIG,QAAS,kBAAM+4H,GAAiB,IAChCjxE,OAAQ5kD,EAAMkwB,gBAAgB4lG,WAC9BnzE,MAAO3iD,EAAMkwB,gBAAgB6pB,MAC7ByI,SAAS,OACTp4B,aAAcyrG,EACd/uE,WA3IZ,4CACc,IACV,uBAAMvpD,MAAO,CAAEkC,MAAO,OAAtB,UACKO,EAAMkwB,gBAAgB64D,QAD3B,IACqC/oF,EAAMkwB,gBAAgBqZ,oBA2I3D,KACHvpC,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,wBAArD,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBopB,kBAAmBlvB,aAAcgG,MAEhG,KACHpwB,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBogB,kBAAmBlmB,aAAcgG,MAExF,KACHpwB,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMkwB,gBAAgB8C,QAAS5I,aAAcgG,MAE3E,SCjOVhZ,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CAAExG,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,KACtD,CACIS,IAAK,kBACLxE,KAAM,MACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KASX,CAAES,IAAK,iBAAkBxE,KAAM,WAAY+D,MAAO,IAClD,CAAES,IAAK,oBAAqBxE,KAAM,SAClC,CACIwE,IAAK,YACLxE,KAAM,SAEV,CAAEwE,IAAK,sBAAuBxE,KAAM,WAAY+D,MAAO,MAyW5C6rH,GAvWc,SAACx5H,GAC1B,MAA0BgC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBgV,OAAO,EACPozC,YAAY,EACZC,gBAAgB,EAChBy9C,UAAU,EACVvjH,SAAU,OARd,mBAAOzS,EAAP,KAAcxB,EAAd,KAUI4uB,EAAkB9sB,IAAW+sB,gBAE3BjiB,EAAU8b,eAChB,EAAoC3oB,mBAAS,IAA7C,mBAAOk6E,EAAP,KAAmBC,EAAnB,KACMqe,EAAY,WACd,IAAIn2C,EAAO,GACPjpC,EAAS,CACT,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YAAa0R,QAAQ,IAYjC,MAVoB,KAAhBtb,EAAM29C,OACN0G,EAAO,CAAEz6C,KAAM,oBAAqB0R,QAAQ,GACrB,KAAhBtb,EAAM29C,OACb0G,EAAO,CAAEz6C,KAAM,qBAAsB0R,QAAQ,GACtB,KAAhBtb,EAAM29C,OACb0G,EAAO,CAAEz6C,KAAM,oBAAqB0R,QAAQ,GACrB,KAAhBtb,EAAM29C,SACb0G,EAAO,CAAEz6C,KAAM,qBAAsB0R,QAAQ,IAEjDF,EAAOtM,KAAKu1C,GACLjpC,GAEMo/E,IAEjB52F,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,IAEH,IAAM06D,EAAc,SAAC5nE,EAAK3I,GACtB9J,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GAWjB,MAVY,OAARkI,IACA8zB,EAAMk8C,YAAa,EACnBl8C,EAAMlM,gBAAkBjf,EACxBmrB,EAAM45F,UAAW,GAET,OAAR1tH,IACA8zB,EAAMm8C,gBAAiB,EACvBn8C,EAAMlM,gBAAkBjf,EACxBmrB,EAAM45F,UAAW,GAEd55F,MAITje,EAAW,uCAAG,sBAAA1d,EAAA,sDAOhBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UATF,2CAAH,qDAqBXyH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,sBAAK1T,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,UAC2B,OAAnB,OAAH5d,QAAG,IAAHA,OAAA,EAAAA,EAAK8oE,eACF,cAAC,KAAD,CACIjlE,KAAMy4E,KACN9tF,MAAM,UACN1B,QAAS,WACLs7E,EAAYpoE,EAAK,UAErBiE,aAAa,UAIW,OAA5B,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKgpE,wBACF,cAAC,KAAD,CACInlE,KAAM0iD,KACNz5D,QAAS,WACLs7E,EAAYpoE,EAAK,WAErBiE,aAAa,2BAII,OAArB,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKipE,iBACF,cAAC,KAAD,CACIplE,KAAM04E,KACN/tF,MAAM,UACN1B,QAAS,WACLs7E,EAAYpoE,EAAK,YAErBiE,aAAa,aAIO,OAAxB,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKqoE,qBAAL,OAAkClsD,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAiBm0B,cAChD,cAAC,KAAD,CACIzsC,KAAM0sC,KACN/hD,MAAM,YACNyB,UAAU,6BACVgU,aAAa,cACbnX,QAAS,kBAjDJuK,EAiD0B2I,OAhD/C7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKsvE,cAAnC,mBAAoDtvE,QAApD,IAAoDA,OAApD,EAAoDA,EAAKqwE,mBACjEvsE,OAAQ,GACRpM,MAAO,SAJS,IAACsI,KAqDqB,OAA9B,OAAH2I,QAAG,IAAHA,OAAA,EAAAA,EAAKmpE,0BACF,cAAC,KAAD,CACItlE,KAAM24E,KACNhuF,MAAM,UACN1B,QAAS,WACLs7E,EAAYpoE,EAAK,aAErBiE,aAAa,sBAIe,OAAhC,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKsoE,4BACF,cAAC,KAAD,CACIzkE,KAAMmsB,KACNxhC,MAAM,UACN1B,QAAS,WACL86E,EAAY5nE,EAAK,OAErBiE,aAAa,yBAIgB,OAAjC,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKwoE,6BACF,cAAC,KAAD,CACI3kE,KAAM2uD,KACNhkE,MAAM,YACN1B,QAAS,WACL86E,EAAY5nE,EAAK,OAErBiE,aAAa,8BAe3Bib,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAnBMuK,EAmBmB2I,OAlB3C7F,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIqwE,mBACzCvsE,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAJL,IAAChI,GAmByB/K,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAI8B,mBAIb,OADAT,IAASC,OAAOgF,EAAKF,GACdA,GAGL8uD,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA/G,SACKhE,EAAI+1C,YAIb,OADA10C,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI+B,sBAIb,OADAV,IAASC,OAAOgF,EAAKF,GACdA,GAGL4+G,EAAmB,WACrBz3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNg9C,aAAa,EACb/pB,mBAAmB,EACnB49B,gBAAgB,QAIlBn+C,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OACnCiuF,EAAevgF,EAAStI,MAAK,SAACuI,GAAD,MAA6B,qBAAhBA,EAAQ3N,OAClDswE,EAAW5iE,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAC9CurH,EAAU79G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,wBAAhBA,EAAQ3N,OA4BjD,OA3BIgH,IACAA,EAAUT,UAAYgH,GAEtB0gF,IACAA,EAAa1nF,UAAY+0D,GAEzBgV,IACAA,EAAS/pE,UAAYi1D,GAErB+vD,IACAA,EAAQhlH,UAAY+e,GAEJ,KAAhB1zB,EAAM29C,QAAiC,KAAhB39C,EAAM29C,QAAiC,KAAhB39C,EAAM29C,OACpD7hC,EAAS4f,OAAO,EAAG,EAAG,CAClBttB,IAAK,+BACLxE,KAAM,iBACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,MAGXmO,EAAS4f,OAAO,EAAG,EAAG,CAClBttB,IAAK,cACLxE,KAAM,cACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,MAGRmO,IACR,IAEG+X,EAAc,SAACnuB,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNk7E,YAAY,EACZC,gBAAgB,EAChBroD,gBAAiB,GACjB8lG,UAAU,OAEd/zH,GAAOkc,KAEL+8D,EAAiB,SAACj5E,GACpBy2E,EAAc,IACdz2E,GAAOkc,KAGLk7D,EAAc,SAACpoE,EAAKlI,GACtB2vE,EAAc,eAAG3vE,GAAQ,IACzBvK,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8vB,gBAAiBjf,QAIrByB,EAAM,sCAAkCnW,EAAM29C,QAElD,OACI,sBAAKh5C,UAAU,SAAf,UACKlB,EAAMg2H,SAAW,cAAC,IAAD,CAAar+G,OAAQo/E,MAAkB,KACxD/2F,EAAMs4E,WACH,cAAC,GAAD,CACInL,kBAAmBntE,EAAMkwB,gBAAgByoD,kBACzCnM,UAAWxsE,EAAMkwB,gBAAgB8kC,WACjCl4D,QAAS,kBAAMszB,GAAY,IAC3BoyB,UAAU,IAEdxiD,EAAMu4E,eACN,cAAC,GAAD,CAAwB3E,QAAS5zE,EAAMkwB,gBAAgBo8C,oBAAqBxvE,QAAS,kBAAMszB,GAAY,IAAOoyB,UAAU,IAYxH,cAAC,GAAD,CACI1yC,QAASA,EACT2B,YAAW,WAAoB,OAAf2b,QAAe,IAAfA,OAAA,EAAAA,EAAiB+oG,4BAA6B,aAAe,MAC7E3lH,uBAAsB,WAAoB,OAAf4c,QAAe,IAAfA,OAAA,EAAAA,EAAiB+oG,4BAA6B,4BAA8B,MACvGxiH,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAKykE,UAClB5uD,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBC,OAAQA,EACRyD,gBAAgB,gBAChBF,kBAAmB,kBACfy2F,GAAsB,CAClBxyD,OAAQ39C,EAAM29C,QAAU,GACxByyD,MAAW,OAAL3sG,QAAK,IAALA,OAAA,EAAAA,EAAO6nC,WAAY,GACzB6oB,WAAgB,OAAL1wD,QAAK,IAALA,OAAA,EAAAA,EAAOuoC,WAAY,GAC9BooB,SAAc,OAAL3wD,QAAK,IAALA,OAAA,EAAAA,EAAOwoC,SAAU,GAC1B6jE,QAAS,YAKxB5zB,EAAW+C,SACR,cAAC9+E,GAAA,EAAD,CAAYC,MAAM,oBAAoBI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAAlF,SACI,cAAC,GAAD,CAAuBlmB,WAAYh1D,EAAMg1D,WAAY0hB,QAAS12E,EAAMkwB,gBAAiBpzB,QAASo+E,MAElG,KACHzC,EAAW6C,MACR,cAAC5+E,GAAA,EAAD,CAAYC,MAAM,iBAAiBI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAA/E,SACI,cAAC,GAAD,CAAe3+D,UAAWhgB,EAAMo8E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAE9G,KACHzC,EAAWv+B,OACR,cAACx9C,GAAA,EAAD,CAAYC,MAAM,2BAA2BI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAAzF,SACI,cAAC,GAAD,CAAuB3+D,UAAWhgB,EAAMo8E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAEtH,KACHzC,EAAW8C,QACR,cAAC7+E,GAAA,EAAD,CAAYC,MAAM,kBAAkBI,SAAS,KAAKD,QAAS,kBAAMo+E,GAAe,IAAhF,SACI,cAAC,GAAD,CAAwB3+D,UAAWhgB,EAAMo8E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAEvH,KAEHl7E,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASm5H,EAAkBt5H,MAAO,wBAA1D,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBoC,eAAgBlI,aAAc6rG,MAE7F,KACHj2H,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASm5H,EAAkBt5H,MAAO,mBAA1D,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBtP,WAAYwJ,aAAc6rG,MAEjF,SC7YHG,GAAqBtvG,0BAE9B4C,GAAc,CACdwH,iCAAiC,EACjCC,qBAAsB,GACtBC,qBAAsB,GACtBC,wBAAyB,GACzBC,0BAA2B,GAC3BC,4BAA6B,GAC7BC,+BAAgC,KAChCC,yBAA0B,GAC1BC,oBAAoB,GAGX2kG,GAAgB,SAAC95H,GAC1B,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAAkCtJ,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KACA,EAAsCzb,mBAAS,CAC3C4H,KAAM,GACNyrB,SAAU,GACVC,SAAU,GACVC,UAAW,GACXC,YAAa,GACbqD,iBAAkB,GAClBnD,WAAY,GACZC,eAAgB,GAChBC,cAAe,GACfC,eAAe,EACfC,kBAAmB,GACnBC,eAAgB,GAChBC,eAAgB,GAChBC,wBAAyB,GACzBC,sBAAuB,GACvBC,aAAc,GACdC,oBAAqB,GACrBC,2BAA4B,GAC5BC,kBAAmB,GACnB1lB,OAAQ,GACRsiB,aAAc,GACduD,QAAS,KACTsC,gBAAiB,GACjBrC,gBAAgB,EAChBC,gBAAgB,EAChBC,sBAAsB,EACtBC,0BAA0B,EAC1B0C,WAAY,GACZvC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,WAAW,EACXC,UAAU,EACVC,QAAQ,EACRC,UAAU,EACVC,8BAA+B,GAC/BC,eAAgB,GAChBC,cAAe,GACfC,eAAgB,GAChBC,sBAAuB,GACvBC,cAAe,GACfC,iBAAkB,GAClBC,kBAAmB,GACnBC,mCAAoC,GACpCC,gCAAiC,GACjCC,mCAAoC,GACpCC,0BAA2B,GAC3BnB,6BAA8B,GAC9BoB,WAAY,GACZC,yBAA0B,GAC1B2hG,gCAAgC,EAChCC,0BAA0B,EAC1BC,qBAAqB,EACrBC,uBAAuB,EACvBC,kCAAkC,EAClCC,2BAA2B,EAC3BC,wBAAwB,IAzD5B,mBAAO9jG,EAAP,KAAoBC,EAApB,KA4DA,EAA0Cx0B,mBAAS,2BAC5CmrB,IAD2C,IAE9Cvc,OAAQ,MAFZ,mBAAOwc,EAAP,KAAsBJ,EAAtB,KAKA,EAAuChrB,mBAAS,CAC5Ci0B,wBAAyB,GACzBK,kBAAmB,GACnBpD,aAAc,KAHlB,mBAAO/G,EAAP,KAAqBC,EAArB,KAMA,EAAsCpqB,mBAAS,CAC3Cs4H,uBAAwB,KACxBC,8BAA+B,KAC/BC,mBAAoB,KACpBC,8BAA+B,OAJnC,mBAAOz8G,EAAP,KAAoBC,EAApB,KAkBAra,oBAAS,sBAAC,oCAAAM,EAAA,sEACUqwB,KADV,UACF7uB,EADE,OAEAuwB,EAA0BvwB,EAAIW,KAAKkyB,qBAAqBhvB,KAAI,SAACxG,GAAD,MAAW,CACzE1B,GAAI0B,EAAKy1B,wBACT5uB,KAAM7G,EAAK01B,mCAEThmB,EAAO/M,EAAIW,KAAKmZ,UAAUjW,KAAI,SAACxG,GAAD,MAAW,CAC3C1B,GAAI0B,EAAKshB,WACTza,KAAM7G,EAAK0T,wBAEf2V,GAAe,SAACvoB,GAAD,mBAAC,eACTA,GADQ,IAEXoyB,wBAAyBA,EACzBK,kBAAmB5wB,EAAIW,KAAKqyB,cAC5BxF,aAAczgB,QAEdzS,EAAMy2B,QAhBJ,iCAiBcnC,GAAat0B,EAAMy2B,SAjBjC,OAiBE/wB,EAjBF,OAkBIW,EAAOX,EAAIW,KAAK2G,QAAQ,GAC9BwpB,GAAe,SAAC3yB,GAAD,yBAAC,eACTA,GADQ,OAEX+F,KAAMvD,EAAKqQ,UACX2e,SAAUhvB,EAAKsyB,cACfrD,SAAUjvB,EAAKuyB,cACfpD,YAAanvB,EAAKmvB,YAClBD,UAAWlvB,EAAKkvB,UAChBsD,iBAAkBxyB,EAAKwyB,iBACvBnD,WAAYrvB,EAAKqvB,WACjBI,kBAAmBzvB,EAAKyvB,kBACxBgD,sBAAuBzyB,EAAKyyB,sBAC5BlD,cAAevvB,EAAKuvB,cACpBD,eAAgBtvB,EAAKsvB,eACrBQ,aAAc9vB,EAAK8vB,aACnBN,cAAexvB,EAAKwvB,cACpBG,eAAgB3vB,EAAK2yB,oBACrB9C,sBAAuB7vB,EAAK6vB,sBAC5BE,oBAAqB/vB,EAAK4yB,oBAC1B5C,2BAA4BhwB,EAAKgwB,2BACjCI,QAASpwB,EAAKowB,QACdsC,gBAAiB1yB,EAAK0yB,iBApBX,sCAqBY1yB,EAAKyyB,uBArBjB,+BAsBKzyB,EAAK8yB,4BAtBV,+BAuBK9yB,EAAK+yB,4BAvBV,qCAwBW/yB,EAAKgzB,kCAxBhB,yCAyBehzB,EAAKizB,sCAzBpB,2BA0BCjzB,EAAKmzB,wBA1BN,uBA2BHnzB,EAAKozB,8BA3BF,uBA4BHpzB,EAAKqzB,8BA5BF,wBA6BFrzB,EAAKszB,+BA7BH,0BA8BAtzB,EAAKuzB,iCA9BL,yBA+BDvzB,EAAKwzB,gCA/BJ,uBAgCHxzB,EAAKyzB,8BAhCF,yBAiCDzzB,EAAK0zB,gCAjCJ,8CAkCoB1zB,EAAKkxB,+BAlCzB,+BAmCKlxB,EAAK2zB,qBAnCV,8BAoCI3zB,EAAK4zB,oBApCT,+BAqCK5zB,EAAK6zB,qBArCV,sCAsCY7zB,EAAKsxB,uBAtCjB,8BAuCItxB,EAAKuxB,eAvCT,iCAwCOvxB,EAAKwxB,kBAxCZ,kCAyCQxxB,EAAKyxB,mBAzCb,mCA0CSzxB,EAAK8zB,oBA1Cd,mDA2CyB9zB,EAAK0xB,oCA3C9B,yCA4Ce1xB,EAAK+xB,0BA5CpB,gDA6CsB/xB,EAAK2xB,iCA7C3B,mDA8CyB3xB,EAAK4xB,oCA9C9B,0CA+CgB5xB,EAAK6xB,2BA/CrB,6CAgDmB7xB,EAAK0wB,8BAhDxB,2BAiDC1wB,EAAK8xB,YAjDN,8CAkDoB9xB,EAAKk0B,+BAlDzB,+CAmDqBl0B,EAAK0zH,gCAnD1B,kDAoDwB1zH,EAAKq0H,mCApD7B,yCAqDer0H,EAAK2zH,0BArDpB,4CAsDkB3zH,EAAKs0H,6BAtDvB,oCAuDUt0H,EAAK4zH,qBAvDf,kCAwDQ5zH,EAAKu0H,mBAxDb,sCAyDYv0H,EAAK6zH,uBAzDjB,oCA0DU7zH,EAAKw0H,qBA1Df,iDA2DuBx0H,EAAK8zH,kCA3D5B,oDA4D0B9zH,EAAKy0H,qCA5D/B,0CA6DgBz0H,EAAK+zH,2BA7DrB,gDA8DsB/zH,EAAK2xB,iCA9D3B,uCA+Da3xB,EAAKg0H,wBA/DlB,6CAgEmBh0H,EAAK0wB,8BAhExB,yBAiED1wB,EAAK+tC,UAjEJ,0BAkEA/tC,EAAK0N,WAlEL,OAoEfiZ,GAAiB,SAACoN,GAAD,mBAAC,eACXA,GADU,IAEbzF,gCAAiCtuB,EAAKsuB,gCACtCC,qBAAsBvuB,EAAKuuB,qBAC3BC,qBAAsBxuB,EAAKwuB,qBAC3BC,wBAAyBzuB,EAAKyuB,wBAC9BC,0BAA2B1uB,EAAK0uB,0BAChCC,4BAA6B3uB,EAAK2uB,4BAClCC,+BAAgC5uB,EAAK4uB,+BACrCC,yBAA0B7uB,EAAK6uB,yBAC/BC,mBAAoB9uB,EAAK8uB,wBAjG3B,4CAoGP,IAEHvxB,qBAAU,WACN,IAAI02H,EAAyB,KACzBC,EAAgC,KAChCC,EAAqB,KACrBC,EAAgC,KAEhClkG,EAAYH,sBACZkkG,EAAyBnuG,EAAamK,kBAAkB9iB,MAAK,qBAAGnS,KAAgBk1B,EAAYH,wBAE5FG,EAAYF,6BACZkkG,EAAgCpuG,EAAamK,kBAAkB9iB,MAAK,qBAAGnS,KAAgBk1B,EAAYF,+BAEnGE,EAAYwC,kBACZyhG,EAAqBruG,EAAa+G,aAAa1f,MAAK,qBAAGnS,KAAgBk1B,EAAYwC,oBAEnFxC,EAAY6B,2BACZqiG,EAAgCtuG,EAAa8J,wBAAwBziB,MAAK,qBAAGnS,KAAgBk1B,EAAY6B,6BAG7Gna,GAAe,SAACpa,GAAD,mBAAC,eACTA,GADQ,IAEX22H,mBAAoBA,EACpBF,uBAAwBA,EACxBC,8BAA+BA,EAC/BE,8BAA+BA,SAEpC,CAAClkG,EAAYH,oBAAqBG,EAAYF,2BAA4BE,EAAYwC,gBAAiBxC,EAAYuC,wBAEtH,IAgBM/K,EAAiBV,uBAAY,SAACvhB,GAChC,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdqjB,GAAe,SAAC3yB,GAEZ,OADS,2BAAQA,GAAR,kBAAa+F,EAAOuJ,SAGlC,IAkCGrB,EAAc,WAChB,IACIlI,EA2BA2sB,EA3BA3sB,KACAyrB,EA0BAkB,EA1BAlB,SAEAG,GAwBAe,EAzBAjB,SAyBAiB,EAxBAf,aAEAI,GAsBAW,EAvBAhB,UAuBAgB,EAtBAX,eACAiD,EAqBAtC,EArBAsC,iBAOAkhG,GAcAxjG,EApBAH,oBAoBAG,EAnBAF,2BAmBAE,EAlBAb,WAkBAa,EAjBAZ,eAiBAY,EAhBAJ,aAgBAI,EAfAgE,8BAeAhE,EAdAwjG,gCACAW,EAaAnkG,EAbAmkG,kCACAV,EAYAzjG,EAZAyjG,yBACAW,EAWApkG,EAXAokG,4BACAV,EAUA1jG,EAVA0jG,oBACAW,EASArkG,EATAqkG,kBACAV,EAQA3jG,EARA2jG,sBACAW,EAOAtkG,EAPAskG,oBACAV,EAMA5jG,EANA4jG,iCACAW,EAKAvkG,EALAukG,oCACAV,EAIA7jG,EAJA6jG,0BACApiG,EAGAzB,EAHAyB,gCACAqiG,EAEA9jG,EAFA8jG,uBACAtjG,EACAR,EADAQ,6BAEIyjG,EAA6Gx8G,EAA7Gw8G,mBAAoBF,EAAyFt8G,EAAzFs8G,uBAAwBC,EAAiEv8G,EAAjEu8G,8BAC5CrlG,GAD6GlX,EAAlCy8G,8BAC1BrtG,EAAjD8H,0BAA0BC,EAAuB/H,EAAvB+H,mBAE9BpjB,GAAc,EACdnB,EAAS,GAqEb,MApEK,QAAQqB,KAAKrI,KACdgH,EAAOhH,KAAO,0BACdmI,GAAc,GAEb,QAAQE,KAAKojB,KACdzkB,EAAOykB,SAAW,8BAClBtjB,GAAc,GAEbuoH,IACD1pH,EAAOwlB,oBAAsB,qCAC7BrkB,GAAc,GAEbwoH,IACD3pH,EAAOylB,2BAA6B,uCACpCtkB,GAAc,GAEb,QAAQE,KAAKujB,KACd5kB,EAAO4kB,YAAc,4BACrBzjB,GAAc,GAEb8mB,IACDjoB,EAAOioB,iBAAmB,4BAC1B9mB,GAAc,GAEmB,OAAjCwkB,EAAYsC,kBACRA,IAAqBpL,aAAgCoL,EAAkBjD,KACvEhlB,EAAOglB,cAAP,8BACA7jB,GAAc,GAGjByoH,IACD5pH,EAAOmoB,gBAAkB,wBACzBhnB,GAAc,IAEdgoH,GAAmCpsG,aAAgB+sG,IAAuCltG,kBAAOktG,KACjG9pH,EAAO8pH,kCAAoC,gCAC3C3oH,GAAc,IAEdioH,GAA6BrsG,aAAgBgtG,IAAiCntG,kBAAOmtG,KACrF/pH,EAAO+pH,4BAA8B,gCACrC5oH,GAAc,IAGdkoH,GAAwBtsG,aAAgBitG,IAAuBptG,kBAAOotG,KACtEhqH,EAAOgqH,kBAAoB,gCAC3B7oH,GAAc,IAEdmoH,GAA0BvsG,aAAgBktG,IAAyBrtG,kBAAOqtG,KAC1EjqH,EAAOiqH,oBAAsB,gCAC7B9oH,GAAc,IAEdooH,GAAqCxsG,aAAgBmtG,IAAyCttG,kBAAOstG,KACrGlqH,EAAOkqH,oCAAsC,gCAC7C/oH,GAAc,IAEdqoH,GAA8BzsG,aAAgBqK,IAAqCxK,kBAAOwK,KAC1FpnB,EAAOonB,gCAAkC,gCACzCjmB,GAAc,IAEdsoH,GAA2B1sG,aAAgBoJ,IAAkCvJ,kBAAOuJ,KACpFnmB,EAAOmmB,6BAA+B,gCACtChlB,GAAc,IAEdojB,GAAwB,QAAQljB,KAAKijB,KAA6B1H,kBAAO0H,KACzEtkB,EAAOskB,yBAA2B,0CAClCnjB,GAAc,GAElBykB,GAAe,SAAC3yB,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAClCmB,GAGL6b,EAAY,uCAAG,wCAAA1pB,EAAA,0DACb4N,IADa,uBAGT2kB,QAASF,EAAYE,QACrBsC,gBAAe,UAAE/a,EAAYw8G,0BAAd,aAAE,EAAgCn5H,GACjDqV,UAAW6f,EAAY3sB,KACvB+uB,cAAepC,EAAYlB,SAC3BuD,cAAerC,EAAYjB,SAC3BE,YAAae,EAAYf,YACzBD,UAAWgB,EAAYhB,UACvBsD,iBAAkBtC,EAAYsC,iBAC9BnD,WAAYa,EAAYb,WACxBI,kBAAmBS,EAAYT,kBAC/BF,cAAeW,EAAYX,cAC3BD,eAAgBY,EAAYZ,eAC5BQ,aAAcI,EAAYJ,aAC1BN,cAAeU,EAAYV,cAC3BoD,oBAAmB,UAAEjb,EAAYs8G,8BAAd,aAAE,EAAoCj5H,GACzDg1B,2BAA0B,UAAErY,EAAYu8G,qCAAd,aAAE,EAA2Cl5H,GACvE60B,sBAAuBK,EAAYL,sBACnCiD,2BAA4B5C,EAAYG,eACxC0C,2BAA4B7C,EAAYI,eACxC0C,iCAAkC9C,EAAYK,qBAC9C0C,qCAAsC/C,EAAYM,yBAClD2C,uBAAwBjD,EAAYgD,WACpCE,6BAA8BlD,EAAYS,OAC1C0C,6BAA8BnD,EAAYU,OAC1C0C,8BAA+BpD,EAAYW,QAC3C0C,gCAAiCrD,EAAYY,UAC7C0C,+BAAgCtD,EAAYa,SAC5C0C,6BAA8BvD,EAAYc,OAC1C0C,+BAAgCxD,EAAYe,SAC5CC,8BAA+BhB,EAAYgB,8BAC3CyC,oBAAqBzD,EAAYiB,eACjCyC,mBAAoB1D,EAAYkB,cAChCyC,oBAAqB3D,EAAYmB,eACjCC,sBAAuBpB,EAAYoB,sBACnCC,cAAerB,EAAYqB,cAC3BC,iBAAkBtB,EAAYsB,iBAC9BsC,mBAAoB5D,EAAY4D,mBAChCrC,kBAAmBvB,EAAYuB,kBAC/BC,mCAAoCxB,EAAYwB,mCAChDK,yBAAwB,UAAEpa,EAAYy8G,qCAAd,aAAE,EAA2Cp5H,GACrE22B,gCAAiCzB,EAAYyB,gCAC7CC,mCAAoC1B,EAAY0B,mCAChDsC,8BAA+BhE,EAAYgE,8BAC3CrC,0BAA2B3B,EAAY2B,0BACvCnB,6BAA8BR,EAAYQ,6BAC1CyD,oBAAqBjE,EAAYyC,oBACjCb,WAAY5B,EAAY4B,WACxB4hG,+BAAgCxjG,EAAYwjG,+BAC5CW,kCAAmCnkG,EAAYmkG,kCAC/CV,yBAA0BzjG,EAAYyjG,yBACtCW,4BAA6BpkG,EAAYokG,4BACzCV,oBAAqB1jG,EAAY0jG,oBACjCW,kBAAmBrkG,EAAYqkG,kBAC/BV,sBAAuB3jG,EAAY2jG,sBACnCW,oBAAqBtkG,EAAYskG,oBACjCV,iCAAkC5jG,EAAY4jG,iCAC9CW,oCAAqCvkG,EAAYukG,oCACjDV,0BAA2B7jG,EAAY6jG,2BA5D9B,gDA6DwB7jG,EAAYyB,iCA7DpC,uCA8DezB,EAAY8jG,wBA9D3B,6CA+DqB9jG,EAAYQ,8BA/DjC,gDAgEwB3J,EAAcuH,iCAhEtC,qCAiEavH,EAAcwH,sBAAwB,IAjEnD,qCAkEaxH,EAAcyH,sBAAwB,IAlEnD,wCAmEgBzH,EAAc0H,yBAA2B,IAnEzD,0CAoEkB1H,EAAc2H,2BAA6B,IApE7D,4CAqEoB3H,EAAc4H,6BAA+B,IArEjE,+CAsEuB5H,EAAc6H,gCAAkC,IAtEvE,yCAuEiB7H,EAAc8H,0BAA4B,IAvE3D,mCAwEW9H,EAAc+H,oBAtEhCmF,EAFO,EA0Eb7c,GAAa,IAETzd,EAAMy2B,QA5EG,gCA6EGhC,GAAY6F,EAAWt6B,EAAMy2B,SA7EhC,OA6ET/wB,EA7ES,+CA+EG8uB,GAAS8F,GA/EZ,QA+ET50B,EA/ES,eAiFTA,EAAIoE,SACJyB,EAAiB,6BACjBvL,EAAMy6B,aAAY,IAElBnvB,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAvFA,4CAAH,qDA0FlB,OACI,cAACo8G,GAAmB/rG,SAApB,CACI3rB,MAAO,CACHyrB,eACAG,iBACA6M,kBA7Pc,SAAC9uB,GACvB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdq0B,GAAe,SAAC3yB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QA4PjCo0B,cACAsE,aA1PS,SAAC9uB,GAClByqB,GAAe,SAAChiB,GAAD,mBAAC,eACTA,GADQ,IAEXqhB,cAAe9pB,QAwPXiiB,WA7OO,SAACpkB,GAChB4sB,GAAe,SAAC3yB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SA6OjCukB,OAlZG,SAACC,GACZoI,GAAe,SAAC3yB,GAAD,mBAAC,eACTA,GADQ,IAEXwxB,SAAUjH,EAAEC,aACZiH,SAAUlH,EAAEE,aACZiH,UAAWnH,EAAEG,KACbiH,YAAapH,EAAEI,OACfoH,cAAexH,EAAEK,eA4YbtC,eACAnO,cACAiC,mBAxQe,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SAwQ/ByR,YACAwR,oBArOgB,SAACljB,GACzB,MAAuCA,EAAEE,OAAjCpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KAArB,EAA2ByG,QACb,SAAVhR,GAA2C,UAAvBuK,EAAK4gB,cACzBN,GAAiB,SAACnpB,GAAD,mBAAC,2BAAaA,GAAOspB,IAArB,kBAAmCvjB,GAAO,OAC1C,UAAVzH,GAA6C,WAApB,OAAJuK,QAAI,IAAJA,OAAA,EAAAA,EAAM4gB,eAClCN,GAAiB,SAACnpB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAE3CojB,GAAiB,SAACnpB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QA+NvCirB,gBACA2B,cAjPU,SAACX,GACnBpB,GAAiB,SAACnpB,GAAD,mBAAC,eACXA,GADU,IAEb+wB,qBAAsBxG,EAAEC,aACxBwG,qBAAsBzG,EAAEE,aACxBwG,wBAAyB1G,EAAEG,KAC3BwG,0BAA2B3G,EAAEI,OAC7BwG,4BAA6B5G,EAAEK,eA2O3BssG,kBAzNc,SAACnxH,GACvBojB,GAAiB,SAACnpB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SAyNnCqlB,gBA/NY,SAACnjB,GACrB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACd6Z,GAAiB,SAACnpB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOuJ,SA4M3C,SAoBKnT,EAAMK,YC9eb4vB,GAAa,SAACjwB,GAIhB,OAHA4D,qBAAU,YACL5D,EAAMkwB,UAAYlwB,EAAMguB,WAAWhuB,EAAMmwB,WAC3C,CAACnwB,EAAMkwB,WAEN,qCACI,cAAC/rB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,QAC1B,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,WAA3B,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAASnT,EAAMkwB,SAAUzjB,SAAUzM,EAAMowB,cAAexmB,KAAM5J,EAAMqwB,QAAS5hB,SAAUzO,EAAMyO,aAEpH,cAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIuP,YAAavS,EAAMwM,MACnBrK,MAAOnC,EAAMswB,SACb7jB,SAAUzM,EAAM6R,YAChBjI,KAAM5J,EAAMmwB,QACZ1hB,SAAUzO,EAAMyO,WAAazO,EAAMkwB,oBAQrD8K,GAAkB,SAACh7B,GACrB,IAAIm7B,EAAiBp3B,IAAW+sB,gBAChC,EAqBInvB,qBAAWk4H,IAnBXjsG,GAFJ,EACIyK,eADJ,EAEIzK,cAEAG,GAJJ,EAGI2M,sBAHJ,EAII3M,gBAEA6M,GANJ,EAKID,WALJ,EAMIC,mBAEArE,GARJ,EAOI8D,oBAPJ,EAQI9D,aACAsE,EATJ,EASIA,aACA7M,EAVJ,EAUIA,WACAG,EAXJ,EAWIA,OACAhC,EAZJ,EAYIA,aACAnO,EAbJ,EAaIA,YACAiC,EAdJ,EAcIA,mBACAzC,EAfJ,EAeIA,UACAwR,EAhBJ,EAgBIA,oBACA5B,EAjBJ,EAiBIA,cACA2B,EAlBJ,EAkBIA,cACAgsG,EAnBJ,EAmBIA,kBACA9rG,EApBJ,EAoBIA,gBAEJ,EAA6CxtB,eAA7C,EAAQ8J,iBAAR,EAA0BD,eAa1B,OACI,sBAAK3G,UAAU,oBAAoB3D,MAAO,CAAEyD,UAAW,GAAvD,WACMzE,EAAMy2B,SAAW,cAAC,IAAD,CAAarb,OAbzB,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,SAAU0R,QAAQ,MAWtB,uBACA,eAAC3Y,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SAEI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,uBAGA,cAAC,IAAD,CACIqa,QAAS0N,EAAa+G,aACtB/wB,MAAO6b,EAAYw8G,mBACnB/tH,SAAUwT,EAAmB,wBAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOmoB,qBAE9C,cAACp2B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,SACI,cAAC,IAAD,CACI2N,WAAW,QACXC,YAAY,aACZpQ,MAAOo0B,EAAY3sB,KACnB6C,SAAUmuB,EACVhxB,KAAK,OACLgH,OAAQ2lB,EAAY3lB,OAAOhH,SAInC,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,0BAGA,cAAC,IAAD,CAAWwF,KAAK,mBAAmBzH,MAAOo0B,EAAYsC,iBAAkBpsB,SAAUmuB,EAAmBnoB,KAvCzG,CAChB,CAAEpR,GAAI,KAAMuI,KAAM,MAClB,CAAEvI,GAAI,KAAMuI,KAAM,SAsCE,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOioB,sBAE9C,cAACl2B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,SACI,cAAC,IAAD,CACI2N,WAAW,WACXC,YAAY,WACZpQ,MAAOo0B,EAAYlB,SACnB5oB,SAAUmuB,EACVhxB,KAAK,WACLgH,OAAQ2lB,EAAY3lB,OAAOykB,aAGnC,cAAC1yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,WACXC,YAAY,WACZpQ,MAAOo0B,EAAYjB,SACnB7oB,SAAUmuB,EACVhxB,KAAK,WACLgH,OAAQ2lB,EAAY3lB,OAAO0kB,aAGnC,cAAC3yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,OACXC,YAAY,OACZpQ,MAAOo0B,EAAYhB,UACnB9oB,SAAUmuB,EACVhxB,KAAK,YACLgH,OAAQ2lB,EAAY3lB,OAAO2kB,cAGnC,cAAC5yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SAUI,cAAC,IAAD,CACI5uB,MAAOo0B,EAAYX,cACnBnpB,SAAUmuB,EACVhxB,KAAK,gBACLukB,OAAQA,EACRvd,OAAQ2lB,EAAY3lB,OAAOglB,kBAGnC,eAACjzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAAC,IAAD,CACI2N,WAAW,SACXC,YAAY,SACZpQ,MAAOo0B,EAAYf,aAAe,GAClC/oB,SAAUmuB,EACVhxB,KAAK,cACLgH,OAAQ2lB,EAAY3lB,OAAO4kB,cAC5B,OAEP,cAAC7yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,QACXC,YAAY,QACZ7F,KAAK,QACLvK,MAAOo0B,EAAYb,YAAc,GACjCjpB,SAAUmuB,EACVhxB,KAAK,aACLgH,OAAQ2lB,EAAY3lB,OAAO8kB,eAGnC,cAAC/yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,gBACXC,YAAY,iBACZpQ,MAAOo0B,EAAYT,kBACnBrpB,SAAUmuB,EACVhxB,KAAK,wBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,YACXC,YAAY,YACZ7F,KAAK,MACLvK,MAAOo0B,EAAYZ,eACnBlpB,SAAUmuB,EACVhxB,KAAK,iBACLgH,OAAQ2lB,EAAY3lB,OAAO+kB,mBAGnC,cAAChzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,iBACXC,YAAY,iBACZpQ,MAAOo0B,EAAYJ,aACnB1pB,SAAUmuB,EACVhxB,KAAK,eACLgH,OAAQ2lB,EAAY3lB,OAAOulB,iBAGnC,eAACxzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,mCAGA,cAAC,IAAD,CACIiM,QAAS0N,EAAamK,kBACtBn0B,MAAO6b,EAAYs8G,uBACnB7tH,SAAUwT,EAAmB,4BAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOwlB,yBAE9C,eAACzzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,qCAGA,cAAC,IAAD,CACIiM,QAAS0N,EAAamK,kBACtBn0B,MAAO6b,EAAYu8G,8BACnB9tH,SAAUwT,EAAmB,mCAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOylB,gCAE9C,eAAC1zB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAAC,IAAD,CAAWjC,MAAOo0B,EAAYP,eAAgBvpB,SAAUmuB,EAAmBhxB,KAAK,iBAAiB6I,KAAM,aAKnH,cAAC,GAAD,CACIwc,gBAAiBA,EACjBD,oBAAqBA,EACrB5B,cAAeA,EACfe,OAAQY,EACRwH,YAAaA,EACbvI,WAAY+sG,IAGhB,eAACp4H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,sCAGA,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SAEI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,gBAA3C,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYG,eAAgB9sB,KAAK,iBAAiB6C,SAAUshB,EAAgBvhB,MAAM,sBAElH,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,gBAA3C,SACI,cAAC,IAAD,CACIwO,QAASojB,EAAYI,eACrB/sB,KAAK,iBACL6C,SAAUshB,EACVvhB,MAAM,+BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,gBAA3C,SACI,cAAC,IAAD,CACIwO,QAASojB,EAAYK,qBACrBhtB,KAAK,uBACL6C,SAAUshB,EACVvhB,MAAM,8BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,gBAA3C,SACI,cAAC,IAAD,CACIwO,QAASojB,EAAYM,yBACrBjtB,KAAK,2BACL6C,SAAUshB,EACVvhB,MAAM,oCAGd,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,sCACA,cAAC,IAAD,CAAamO,YAAY,QAAQ7F,KAAK,SAASvK,MAAOo0B,EAAYgD,WAAY9sB,SAAUmuB,EAAmBhxB,KAAK,kBAEpH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,yBACXC,YAAY,gBACZ7F,KAAK,QACLvK,MAAOo0B,EAAY2B,2BAA6B,GAChDzrB,SAAUmuB,EACVhxB,KAAK,4BACLgH,OAAQ2lB,EAAY3lB,OAAOsnB,8BAYnC,eAACv1B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,mCACA,cAAC,IAAD,CACIqa,QAAS0N,EAAa8J,wBACtB9zB,MAAO6b,EAAYy8G,8BACnBhuH,SAAUwT,EAAmB,sCAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,+CACA,cAAC,IAAD,CACImO,YAAY,oCACZ3I,KAAK,qCACLzH,MAAOo0B,EAAYwB,mCACnBtrB,SAAUmuB,YAM1B,eAACj4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,gCAGA,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SAEI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGE,MAAI,EAAhC,UACI,cAACJ,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYS,OAAQptB,KAAK,SAAS6C,SAAUshB,EAAgBvhB,MAAM,aAElG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYU,OAAQrtB,KAAK,SAAS6C,SAAUshB,EAAgBvhB,MAAM,aAElG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYW,QAASttB,KAAK,UAAU6C,SAAUshB,EAAgBvhB,MAAM,cAEpG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYY,UAAWvtB,KAAK,YAAY6C,SAAUshB,EAAgBvhB,MAAM,gBAExG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYa,SAAUxtB,KAAK,WAAW6C,SAAUshB,EAAgBvhB,MAAM,eAEtG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYc,OAAQztB,KAAK,SAAS6C,SAAUshB,EAAgBvhB,MAAM,aAElG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYe,SAAU1tB,KAAK,WAAW6C,SAAUshB,EAAgBvhB,MAAM,oBAK9G,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,6BAGA,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SAEI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,kBACXC,YAAY,kBACZpQ,MAAOo0B,EAAYkB,cACnBhrB,SAAUmuB,EACVhxB,KAAK,gBACLgH,OAAQ2lB,EAAY3lB,OAAO6mB,kBAGnC,cAAC90B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,mBACXC,YAAY,mBACZ7F,KAAK,QACLvK,MAAOo0B,EAAYiB,eACnB/qB,SAAUmuB,EACVhxB,KAAK,iBACLgH,OAAQ2lB,EAAY3lB,OAAO4mB,mBAGnC,eAAC70B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,IAClB,cAAC,IAAD,CACIkO,WAAW,6BACXC,YAAY,6BACZ7F,KAAK,QACLvK,MAAOo0B,EAAYgB,8BACnB9qB,SAAUmuB,EACVhxB,KAAK,qCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,kBACXC,YAAY,kBACZ7F,KAAK,QACLvK,MAAOo0B,EAAYmB,eACnBjrB,SAAUmuB,EACVhxB,KAAK,iBACLgH,OAAQ2lB,EAAY3lB,OAAO8mB,mBAGnC,cAAC/0B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,eACXC,YAAY,eACZpQ,MAAOo0B,EAAYykG,YACnBvuH,SAAUmuB,EACVhxB,KAAK,cACLgH,OAAQ2lB,EAAYykG,gBAG5B,cAACr4H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,iBACXC,YAAY,iBACZpQ,MAAOo0B,EAAY4D,mBACnB1tB,SAAUmuB,EACVhxB,KAAK,qBACLgH,OAAQ2lB,EAAY3lB,OAAOupB,uBAGnC,cAACx3B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,2BACXC,YAAY,2BACZpQ,MAAOo0B,EAAYoB,sBACnBlrB,SAAUmuB,EACVhxB,KAAK,wBACLgH,OAAQ2lB,EAAY3lB,OAAO+mB,0BAGnC,cAACh1B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,eACXC,YAAY,eACZpQ,MAAOo0B,EAAYsB,iBACnBprB,SAAUmuB,EACVhxB,KAAK,mBACLgH,OAAQ2lB,EAAY3lB,OAAOinB,qBAGnC,cAACl1B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,gBACXC,YAAY,gBACZ7F,KAAK,QACLvK,MAAOo0B,EAAYuB,kBACnBrrB,SAAUmuB,EACVhxB,KAAK,oBACLgH,OAAQ2lB,EAAY3lB,OAAOknB,2BAM3C,eAACn1B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,kCAGA,0BAEJ,eAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,UAEI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,2BACN6jB,QAAQ,2BACRH,SAAUqG,EAAYyjG,yBACtB5pG,cAAerC,EACfoC,QAAQ,8BACRG,SAAUiG,EAAYokG,4BACtB9oH,YAAa+oB,EACb5M,WAAYA,EACZvf,SAAU8nB,EAAY4yB,YAE1B,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAO+pH,iCAE9C,eAACh4H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,gBACN6jB,QAAQ,sBACRH,SAAUqG,EAAY0jG,oBACtB7pG,cAAerC,EACfoC,QAAQ,oBACRG,SAAUiG,EAAYqkG,kBACtB/oH,YAAa+oB,EACb5M,WAAYA,EACZvf,SAAU8nB,EAAY4yB,YAE1B,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOgqH,uBAE9C,eAACj4H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,6BACN6jB,QAAQ,iCACRH,SAAUqG,EAAYwjG,+BACtB3pG,cAAerC,EACfoC,QAAQ,oCACRG,SAAUiG,EAAYmkG,kCACtB7oH,YAAa+oB,EACb5M,WAAYA,EACZvf,SAAU8nB,EAAY4yB,YAE1B,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAO8pH,uCAE9C,eAAC/3H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,mBACN6jB,QAAQ,wBACRH,SAAUqG,EAAY2jG,sBACtB9pG,cAAerC,EACfoC,QAAQ,sBACRG,SAAUiG,EAAYskG,oBACtBhpH,YAAa+oB,EACb5M,WAAYA,EACZvf,SAAU8nB,EAAY4yB,YAE1B,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOiqH,yBAE9C,eAACl4H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,+BACN6jB,QAAQ,mCACRH,SAAUqG,EAAY4jG,iCACtB/pG,cAAerC,EACfoC,QAAQ,sCACRG,SAAUiG,EAAYukG,oCACtBjpH,YAAa+oB,EACb5M,WAAYA,EACZvf,SAAU8nB,EAAY4yB,YAE1B,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOkqH,yCAE9C,eAACn4H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,+BACN6jB,QAAQ,4BACRH,SAAUqG,EAAY6jG,0BACtBhqG,cAAerC,EACfoC,QAAQ,kCACRG,SAAUiG,EAAYyB,gCACtBnmB,YAAa+oB,EACb5M,WAAYA,EACZvf,SAAU8nB,EAAY4yB,YAE1B,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOonB,qCAE9C,eAACr1B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,4BACN6jB,QAAQ,yBACRH,SAAUqG,EAAY8jG,uBACtBjqG,cAAerC,EACfoC,QAAQ,+BACRG,SAAUiG,EAAYQ,6BACtBllB,YAAa+oB,EACb5M,WAAYA,EACZvf,SAAU8nB,EAAY4yB,YAE1B,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOmmB,kCAE9C,eAACp0B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,yBACN6jB,QAAQ,gCACRH,SAAUqG,EAAY0kG,8BACtB7qG,cAAerC,EACfoC,QAAQ,4BACRG,SAAUiG,EAAY2kG,0BACtBrpH,YAAa+oB,EACb5M,WAAYA,EACZvf,SAAU8nB,EAAY4yB,YAE1B,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOsqH,+BAa9C,cAACv4H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIC,WAAW,8BACXC,YAAY,8BACZ7F,KAAK,QACLvK,MAAOo0B,EAAYgE,8BACnB9tB,SAAUmuB,EACVhxB,KAAK,gCACLgH,OAAQ2lB,EAAY3lB,OAAO2pB,kCAGnC,cAAC53B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIC,WAAW,gCACXC,YAAY,iCACZ7F,KAAK,QACLvK,MAAOo0B,EAAY0B,mCACnBxrB,SAAUmuB,EACVhxB,KAAK,yCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIze,WAAW,YACXC,YAAY,YACZ7F,KAAK,QACLvK,MAAOo0B,EAAYqB,cACnBnrB,SAAUmuB,EACVhxB,KAAK,oBAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,gCACA,cAAC,IAAD,CACImO,YAAY,qBACZpQ,MAAOo0B,EAAYL,sBACnBzpB,SAAUmuB,EACVhxB,KAAK,gCAIjB,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,oBAGA,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACF,QAAS,EAAGG,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAAzD,SAOI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAArC,UACI,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CAAWttB,MAAO8yB,EAAYV,cAAer0B,QAAS,kBAAMq5B,GAAa,QAE7E,cAACl4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAtB,SACI,cAAC,IAAD,CAAUttB,MAAO8yB,EAAYV,cAAer0B,QAAS,kBAAMq5B,GAAa,aAMpF,eAACl4B,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAGwV,QAAQ,gBAAgBrX,MAAO,CAAEyD,UAAW,GAArF,UACI,cAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACIxB,QAASosB,EACTjpB,UAAU,aACV+Z,YAAalB,EACb/O,UAAW0sB,EAAc,gBAJ7B,oBASJ,cAACx4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiB2B,UAAU,aAAanD,QAAS,kBAAMxB,EAAMy6B,eAA7D,mCAkBb9I,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAqBA,QCnrB3Bm7H,GAAgB,SAACn7H,GACE+D,IAAW+sB,gBAAhC,IACA,EAUInvB,qBAAWk4H,IAFXtjG,GARJ,EACI8B,eADJ,EAEIzK,aAFJ,EAGI8M,sBAHJ,EAII3M,eAJJ,EAKI4M,WALJ,EAMIC,kBANJ,EAOIP,oBAPJ,EAQI9D,aAIJ,GAZA,EASIsE,aAGsB74B,mBAAS,KAAnC,mBAAOyB,EAAP,KAAc23H,EAAd,KAKM99E,EAAU,SAACvxC,GACb,OAAOA,GAAY,OAEjBsvH,EAAU,SAACtvH,GACb,OAAOA,EAAM,MAAQ,MAEnB8rD,EAAY,CACd,CACIC,MAAO,WACPC,OAAQza,EAAQ/mB,EAAY6d,UAC5B4jB,MAAO,YACPC,OAAQjoD,IAAW6iB,qBAAqB0D,EAAYZ,gBACpDuiC,MAAO,iBACPC,OAAQnoD,IAAW6iB,qBAAqB0D,EAAYJ,cACpDiiC,MAAO,QACPC,OAAQroD,IAAW4iB,cAAc2D,EAAYb,aAEjD,CACIoiC,MAAO,UACPC,OAAQ/nD,IAAW2iB,iBACf4D,EAAYlB,SACZkB,EAAYjB,SACZiB,EAAYhB,UACZgB,EAAYX,cACZW,EAAYf,aAGhBwiC,MAAO,gBACPC,OAAQ3a,EAAQ/mB,EAAYT,mBAC5BoiC,MAAO,wBACPC,OAAQ7a,EAAQ/mB,EAAY+kG,qBAC5BljE,MAAO,2BACPC,OAAQgjE,EAAQ9kG,EAAYI,iBAEhC,CACImhC,MAAO,2BACPC,OAAQza,EAAQ/mB,EAAYgD,YAC5By+B,MAAO,yBACPC,OAAQjoD,IAAW4iB,cAAc2D,EAAY2B,2BAC7CggC,MAAO,wBACPC,OAAQ7a,EAAQ/mB,EAAY6B,0BAC5BggC,MAAO,kBACPC,OAAQgjE,EAAQ9kG,EAAYG,iBAkBhC,CACIohC,MAAO,oCACPC,OAAQ/nD,IAAW4iB,cAAc2D,EAAYwB,oCAC7CigC,MAAO,6BACPC,OAAQjoD,IAAW4iB,cAAc2D,EAAYgB,+BAC7C2gC,MAAO,mBACPC,OAAQnoD,IAAW4iB,cAAc2D,EAAYiB,gBAC7C4gC,MAAO,kBACPC,OAAQ/a,EAAQ/mB,EAAYkB,gBAEhC,CACIqgC,MAAO,kBACPC,OAAQ/nD,IAAW4iB,cAAc2D,EAAYmB,gBAC7CsgC,MAAO,iBACPC,OAAQjoD,IAAW6iB,qBAAqB0D,EAAY4D,oBACpD+9B,MAAO,2BACPC,OAAQnoD,IAAW6iB,qBAAqB0D,EAAYoB,uBACpDygC,MAAO,YACPC,OAAQroD,IAAW4iB,cAAc2D,EAAYqB,gBAEjD,CACIkgC,MAAO,eACPC,OAAQza,EAAQ/mB,EAAYsB,kBAC5BmgC,MAAO,gBACPC,OAAQjoD,IAAW4iB,cAAc2D,EAAYuB,mBAC7CogC,MAAO,0BACPC,OAAQkjE,EAAQ9kG,EAAYK,sBAC5BwhC,MAAO,+BACPC,OAAQgjE,EAAQ9kG,EAAYM,4BA2BpC,OACI,cAACl0B,EAAA,EAAD,CAAMgC,UAAU,oBAAoB3D,MAAO,CAAEyD,UAAW,QAAxD,SACKhB,EAAM83H,gBACH,cAAC,GAAD,CAAe9kG,QAASz2B,EAAMy2B,QAASgE,YAAaz6B,EAAMy6B,cAE1D,cAAC88B,GAAD,CAAkBG,YA3BtB,eAAC/0D,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAED,WAAY,SAAU+B,QAAS,WAAxD,UACI,cAACH,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGhuB,MAAI,EAA/B,SACI,eAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,4BACoBqzB,EAAY3sB,UAGpC,cAACjH,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAG0e,GAAI,EAAGhuB,MAAI,EAA/B,SACI,sBAAK4B,UAAU,sBAAsB3D,MAAO,CAAEsuD,MAAO,SAArD,UACI,cAAC,KAAD,CAAoBx7C,SAAU9T,EAAMy2B,QAAS1iB,UAAWwiB,EAAYxiB,UAAWE,uBAAuB,gBAD1G,WAGI,cAAC,IAAD,CACItP,UAAU,QACV4T,KAAMC,KACNhM,MAAM,aACNhL,QAAS,kBA/GTH,EA+G8B,KA/G1BuI,EA+GgC,uBA9GxDwxH,GAAS,SAACv3H,GAAD,yBAAC,eAAaA,GAAd,uBAAmB+F,GAAO,GAA1B,0BAA2CvI,GAA3C,OADU,IAACA,EAAIuI,aA4HyBiuD,UAAWA,OAarDlmC,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAmBA,QCpJlBw7H,GAAmB,uCAAG,WAAOn1H,GAAP,eAAAnC,EAAA,sEACfsB,aAAa,cAAea,GADb,cAC3BX,EAD2B,yBAExBA,GAFwB,2CAAH,sDCVnB+1H,GAAiB,uCAAG,WAAOv3G,GAAP,eAAAhgB,EAAA,sEACb6B,aAAY,eAAD,OAAgBme,IADd,cACzBxe,EADyB,yBAEtBA,GAFsB,2CAAH,sDAKjBg2H,GAAc,uCAAG,WAAOr1H,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,eAAgBa,GADnB,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDCwLZi2H,GA5KW,SAAC37H,GACvB,MAA0BgC,mBAAS,CAAE45H,aAAc,OAAnD,mBAAOn4H,EAAP,KAAcxB,EAAd,KACA,EAA0BD,mBAAS,IAAnC,mBAAOqD,EAAP,KAAcy2D,EAAd,KACA,EAA6Cr6D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACtBulB,EAAkB9sB,IAAW+sB,gBAC3B8J,EAAoB,SAAC9uB,GACvB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGvCyB,oBAAS,sBAAC,gCAAAM,EAAA,0DACFlE,EAAM47H,aADJ,gCAEcH,GAAkBz7H,EAAM47H,cAFtC,OAEEl2H,EAFF,OAGEW,EAHF,UAGSX,EAAIW,YAHb,aAGS,EAAU2G,QAAQ,GAEzBtH,EAAIoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+3H,aAAcv1H,EAAKu1H,aACnBC,kBAAmBx1H,EAAKw1H,kBACxBn1B,eAAgBrgG,EAAKqgG,eACrBo1B,mBAAoBz1H,EAAKy1H,mBACzBC,mBAAoB11H,EAAK01H,mBACzBC,eAAgB31H,EAAK21H,eACrBC,iBAAkB51H,EAAK41H,iBACvBC,mBAAoB71H,EAAK61H,mBACzBC,gBAAiB91H,EAAK81H,gBACtBC,sBAAuB/1H,EAAK+1H,sBAC5BC,uBAAwBh2H,EAAKg2H,4BAlBnC,2CAsBP,IAEH,IAWMxzC,EAAa,WACf,IAAI5sB,GAAU,EACVrrD,EAAS,GAMb,OALKnN,EAAMijG,iBACP91F,EAAOhH,KAAO,yBACdqyD,GAAU,GAEdH,EAASlrD,GACFqrD,GAGLruC,EAAY,uCAAG,4BAAA1pB,EAAA,0DACb2kF,IADa,uBAETxiF,EAAO,CACPu1H,aAAc57H,EAAM47H,aAAe57H,EAAM47H,aAAe,KACxDC,kBAAmB77H,EAAMy2B,QACzBiwE,eAAgBjjG,EAAMijG,eACtBo1B,mBAAoBr4H,EAAMq4H,mBAC1BC,mBAAoBt4H,EAAMs4H,mBAC1BC,eAAgBv4H,EAAMu4H,eACtBC,iBAAkBx4H,EAAMw4H,iBACxBC,mBAAoBz4H,EAAMy4H,mBAC1BC,gBAAiB14H,EAAM04H,gBACvBC,sBAAuB34H,EAAM24H,sBAC7BC,uBAAwB54H,EAAM44H,wBAbrB,SAeGX,GAAer1H,GAflB,cAgBLi2H,mBAAmBxyH,SACvByB,EAAiB,cAAD,OAAevL,EAAM47H,aAAe,UAAY,QAAhD,kBAChB57H,EAAMO,SAAQ,IAEd+K,EAAe,2BApBN,2CAAH,qDAyBlB,OACI,eAAC3I,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,OACXC,YAAY,kBACZpQ,MAAOsB,EAAMijG,eACbj6F,SAAUmuB,EACVhxB,KAAK,iBACLgH,OAAQvL,EAAMuE,KACd2C,WAAW,MAGnB,cAAC5J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,eACXC,YAAY,eACZpQ,MAAOsB,EAAM24H,sBACb3vH,SAAUmuB,EACVhxB,KAAK,4BAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACItkB,KAAK,MACL4F,WAAW,QACXC,YAAY,QACZpQ,MAAOsB,EAAM04H,gBACb1vH,SAAUmuB,EACVhxB,KAAK,sBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACItkB,KAAK,OACL4F,WAAW,QACXC,YAAY,QACZpQ,MAAOsB,EAAM44H,uBACb5vH,SAAUmuB,EACVhxB,KAAK,6BAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CAAU7uB,MAAOsB,EAAMy4H,mBAAoBzvH,SAAUmuB,EAAmBhxB,KAAK,qBAAqBukB,OA1F/F,SAACC,GACZnsB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELi4H,mBAAoB1tG,EAAEC,aACtB0tG,mBAAoB3tG,EAAEE,aACtB0tG,eAAgB5tG,EAAEG,KAClB0tG,iBAAkB7tG,EAAEI,OACpB0tG,mBAAoB9tG,EAAEK,mBAqFtB,cAAC9rB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,WACXC,YAAY,WACZpQ,MAAOsB,EAAMq4H,oBAAsB,GACnCrvH,SAAUmuB,EACVhxB,KAAK,yBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,WACXC,YAAY,WACZpQ,MAAOsB,EAAMs4H,oBAAsB,GACnCtvH,SAAUmuB,EACVhxB,KAAK,yBAIb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,OAAOC,YAAY,OAAOpQ,MAAOsB,EAAMu4H,gBAAkB,GAAIvvH,SAAUmuB,EAAmBhxB,KAAK,qBAE3H,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,SACXC,YAAY,SACZpQ,MAAOsB,EAAMw4H,kBAAoB,GACjCxvH,SAAUmuB,EACVhxB,KAAK,uBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,eAAC,IAAD,CAAiBnD,QAASosB,EAAcnf,WAAU,OAACoiB,QAAD,IAACA,OAAD,EAACA,EAAiBwgG,2BAApE,UACK,IACArxH,EAAM47H,aAAe,SAAW,WAGzC,cAACj5H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB+sB,cAAc,EAAMlwB,QAASxB,EAAMO,QAApD,0BC7KV6f,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,iBAAkBxE,KAAM,QAAS+D,MAAO,OAC/C,CAAES,IAAK,wBAAyBxE,KAAM,gBAAiB+D,MAAO,OAC9D,CAAES,IAAK,kBAAmBxE,KAAM,eAAgB+D,MAAO,OACvD,CAAES,IAAK,yBAA0BxE,KAAM,QAAS+D,MAAO,OACvD,CAAES,IAAK,UAAWxE,KAAM,WAAY+D,MAAO,QAuEhC4uH,GApEI,SAACv8H,GAChB,IAAIm7B,EAAiBp3B,IAAW+sB,gBAChC,EAA0B9uB,mBAAS,CAC/B45H,aAAc,KACd/6H,MAAM,EACNwF,KAAM,OAHV,mBAAO5C,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN04B,IADM,2CAEP,IAEH,IAAMA,EAAQ,uCAAG,sBAAA14B,EAAA,sDACbjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHL,2CAAH,qDAORsnB,EAAY,SAAC5rB,GACf3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAM+6H,aAAY,OAAEhsH,QAAF,IAAEA,OAAF,EAAEA,EAAQgsH,mBAGjEzwF,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMg6B,EAAU9mB,IAAMiE,aAAa,uBAK9DpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,IACR,IAEGrgB,EAAQqD,EAAM4C,KAAO,oBAAsB,iBAC3Cs0B,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOk3B,KAGX,OACI,gCACI,cAAC,GAAD,CACIxlB,cAAe,SAAC1R,GAAD,cAAU,CACrBuS,QAAO,OAAEvS,QAAF,IAAEA,GAAF,UAAEA,EAAKW,YAAP,aAAE,EAAW4V,KACpBC,MAAK,OAAExW,QAAF,IAAEA,GAAF,UAAEA,EAAKW,YAAP,aAAE,EAAW6V,QAEtB3I,QAASA,EACT4C,OAAM,+BAA0BnW,EAAMy2B,QAAhC,KACNhe,WAAY,kBAAM+iB,EAAU,OAC5BljB,SAAU6iB,EAAc,0BAAgC/6B,EAAQ,GAChE8V,SAAUzS,EAAMyS,WAGnBzS,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAArE,SACI,cAAC,GAAD,CAAmB6F,KAAM5C,EAAM4C,KAAM9F,QAAS,kBAAMo6B,GAAW,IAAOihG,aAAcn4H,EAAMm4H,aAAcnlG,QAASz2B,EAAMy2B,YAE3H,SCrEhB,IAAM3D,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIiH,qBAAqB,GACjE,CAAExG,IAAK,YAAaxE,KAAM,QAC1B,CAAEwE,IAAK,WAAYxE,KAAM,WAAY+D,MAAO,KAK5C,CAAES,IAAK,aAAcxE,KAAM,QAAS+D,MAAO,KAC3C,CACIS,IAAK,eACLxE,KAAM,YAIRwR,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KAEtB,CAAEzR,KAAM,SAAU0R,QAAQ,IA8JfkhH,GA3JO,SAACx8H,GACQyB,eAAnB6J,eAAR,IACI6vB,EAAiBp3B,IAAW+sB,gBAChC,EAA0B9uB,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZ8vB,WAAY,GACZ7E,QAAS,KACTvgB,SAAU,OALd,mBAAOzS,EAAP,KAAcxB,EAAd,KAgBMs5B,EAAwB,uCAAG,sBAAAr3B,EAAA,sDAC7BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHW,2CAAH,qDAmBxBmf,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBACI1T,MAAO,CACHyZ,UAAW,UAFnB,SAKI,cAAC,IAAD,CAAY9B,aAAa,aAAanX,QAAS,kBAflCuK,EAewD2I,OAd7E1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,sBAAD,OAAwBvnB,EAAI0qB,SACpC5mB,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAJR,IAAChI,QA4BnBynB,EAAc,SAAC,EAAcpd,GAAU,IAAtB1B,EAAqB,EAArBA,IACboG,GADkC,EAAhB2Y,IACZje,SAASC,cAAc,SAC7BuF,EAAM,qBAAKha,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,WAAxC,SAAsD8M,IAAW4iB,cAAcle,EAAIghB,cAE/F,OADA3f,IAASC,OAAOgF,EAAKF,GACdA,GAWL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAXA,SAACkT,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,OAOYgqB,CAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI0/B,WAIb,OADAr+B,IAASC,OAAOgF,EAAKF,GACdA,GAGL+Y,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNizB,mBAAmB,QAIrBvgB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAC/C4lB,EAAWlY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,eAAhBA,EAAQ3N,OAC9C8lB,EAAkBpY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,aAAhBA,EAAQ3N,OAqBzD,OApBI4lB,IACAA,EAASrf,UAAY6e,GAErBpe,IACAA,EAAUT,UAAY0e,GAEtBa,IACAA,EAAgBvf,UAAY+e,GAazB5X,IACR,IAIH,OACI,sBAAKnX,UAAU,SAAf,UAGKlB,EAAMuvB,KACH,cAAC,GAAD,CAAeyD,QAAShzB,EAAMgzB,QAASgE,YA7E1B,SAAC/0B,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,OAEVttB,GAAO61B,OA0EC,qCACI,cAAC,IAAD,CAAangB,OAAQA,KACrB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAjBV,SAkBUsC,WAAY,kBA/HbW,EA+H6B,UA9H5CnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACNyD,QAASrd,OAJC,IAACA,GAgICd,SAAU6iB,EAAc,gBAAsB,aAAe,GAC7DjlB,SAAUzS,EAAMyS,SAChBhB,YAAY,UACZjB,uBAAuB,mBAIlCxQ,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBtP,WAAYwJ,aAAcgG,MAEjF,SCnED4oG,OA9Gf,SAAyBz8H,GACrB,MAA0BgC,mBAAS,CAC/B06H,aAAc,KACdj2H,eAAgB,GAChBk2H,sBAAuB,GACvBC,qBAAqB,EACrBC,OAAO,EACPjsH,OAAQ,KANZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAQA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,sDACFlE,EAAMqG,OACAA,EAAOrG,EAAMqG,KACnBpE,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELgD,eAAgBJ,EAAKI,eACrBk2H,sBAAuBt2H,EAAKs2H,sBAC5BC,oBAAqBv2H,EAAKu2H,oBAC1BriC,KAAMl0F,EAAKI,eACXo2H,MAAOx2H,EAAKw2H,YATd,2CAYP,IAEH,IAAM98G,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAWV2P,EAAc,WAChB,IAAQ6qH,EAA0Cl5H,EAA1Ck5H,sBAAuBl2H,EAAmBhD,EAAnBgD,eAG3BsL,GAAc,EACdnB,EAAS,GAUb,OATK+rH,IACD/rH,EAAO+rH,sBAAwB,wCAC/B5qH,GAAc,GANJ,WAQDE,KAAKxL,KACdmK,EAAOnK,eAAiB,qDACxBsL,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAERgrH,EAAiB,CACnBr2H,eAAgBhD,EAAMgD,eACtBk2H,sBAAuBl5H,EAAMk5H,sBAC7BC,oBAAqBn5H,EAAMm5H,oBAC3BC,OAAOp5H,EAAM82F,MANH,SAQEihC,GAAoBsB,GARtB,QAQVp3H,EARU,QASNoE,SACJyB,EAAiB,oCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAbT,2CAAH,qDAkBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,cACX1I,KAAK,wBACL2I,YAAY,cACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMk5H,sBACb/rH,OAAQnN,EAAMmN,OAAO+rH,0BAG7B,cAACh6H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,mBACX1I,KAAK,iBACL2I,YAAY,mBACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMgD,eACbmK,OAAQnN,EAAMmN,OAAOnK,eACrBgI,WAAUhL,EAAM82F,SAGxB,cAAC53F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAmBmQ,QAAS1P,EAAMm5H,oBAAqBhzH,KAAK,sBAAsB6C,SApEvE,SAACX,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAiEgF3G,MAAM,6BAGtH,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMqG,KAAO,SAAW,cCvG5E+U,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,gBAAiB0R,QAAQ,IAG/B8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,iBAAkBxE,KAAM,mBAAoB+D,MAAO,OAC1D,CAAES,IAAK,wBAAyBxE,KAAM,cAAe+D,MAAO,MAC5D,CAAES,IAAK,sBAAuBxE,KAAM,mBAAoB+K,UAAW3E,IAAWC,MAAOtC,MAAO,QAyFjFovH,OAtFf,SAAoB/8H,GAChB,MAA0BgC,mBAAS,CAC/Bg7H,eAAgB,GAChB18G,QAAQ,EACRzf,MAAM,EACNwF,KAAM,OAJV,mBAAO5C,EAAP,KAAcxB,EAAd,KAOA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN04B,IADM,2CAEP,IAEH,IAAMA,EAAQ,uCAAG,sBAAA14B,EAAA,sDAObjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UATL,2CAAH,qDAaRhC,EAAgB,SAACtC,GACnB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAMwF,KAAMuJ,QAGjDu7B,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAM0Q,EAAcwC,IAAMiE,aAAa,wBAKlEpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,KAGLrgB,EAAQqD,EAAM4C,KAAO,qBAAuB,kBAC5Cs0B,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOk3B,KAGX,OACI,sBAAKj4B,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KAarB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAO,cACPiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,kBACTG,WAAY,kBAAMvG,EAAc,SAEnCzO,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAArE,SACI,cAAC,GAAD,CAAiB6F,KAAM5C,EAAM4C,KAAM9F,QAAS,kBAAMo6B,GAAW,QAEjE,SCzBDsiG,GAvEkB,SAACj9H,GAAW,IAAD,EACxC,EAA0BgC,mBAAS,CAC/Bk7H,aAAc,KADlB,mBAAOz5H,EAAP,KAAcxB,EAAd,KAGA,EAA0BD,mBAAS,IAAnC,mBAAOqD,EAAP,KAAcy2D,EAAd,KACA,EAA6Cr6D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBguD,EAAW,WACb,IAAI1oD,EAAS,GACTqrD,GAAU,EACNihE,EAAiBz5H,EAAjBy5H,aAMR,MALK,QAAQjrH,KAAKirH,KACdtsH,EAAOssH,aAAe,4BACtBjhE,GAAU,GAEdH,EAASlrD,GACFqrD,GAGLh4D,EAAU,uCAAG,8BAAAC,EAAA,0DACXo1D,IADW,gCAEK/d,GAAqB,CACjC2hF,aAAcz5H,EAAMy5H,aACpBrhD,cAAa,OAAE77E,QAAF,IAAEA,GAAF,UAAEA,EAAO+L,WAAT,aAAE,EAAY8vE,gBAJpB,QAEPn2E,EAFO,QAMHoE,QACJyB,EAAiB7F,EAAIyG,SAErBb,EAAe5F,EAAIyG,SAEvBnM,EAAM6tB,cAAa,GAXR,2CAAH,qDAuBhB,OACI,mCACI,eAAClrB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAvB,UACI,cAAC5sB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CAAYqK,UAAU,EAAM7E,KAAK,eAAezH,MAAO6N,IAAW6jC,cAAX,OAAyB7zC,QAAzB,IAAyBA,GAAzB,UAAyBA,EAAO+L,WAAhC,aAAyB,EAAYoxH,gBAC5F,cAAC/3H,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBA,EAAM63H,kBAEjC,eAACv6H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAGpsB,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,2BAGA,cAAC,IAAD,CAAYwF,KAAK,eAAezH,MAAOsB,EAAMy5H,aAAczwH,SAtBvD,SAACkG,GACjB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,UAmBA,cAACiD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBA,EAAM63H,kBAGjC,cAACv6H,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAC4B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASyC,EAA1B,gCAEJ,cAACtB,EAAA,EAAD,CAAMK,GAAI,EAAGD,MAAI,EAAC4B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS,kBAAMxB,EAAM6tB,cAAa,IAAnD,4B,qBClDdzS,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,wBAAyByR,KAAM,IAAKC,QAAQ,IAElDwX,GAAc,CAChB,CAAE1kB,IAAK,eAAgBxE,KAAM,WAAY+K,UAAW3E,IAAWE,cAAevC,MAAO,KACrF,CAAES,IAAK,aAAcxE,KAAM,SAAU+K,UAAW3E,IAAWE,cAAevC,MAAO,KACjF,CAAES,IAAK,YAAaxE,KAAM,aAAc+D,MAAO,KAC/C,CAAES,IAAK,QAASxE,KAAM,SAAU+D,MAAO,KACvC,CAAES,IAAK,WAAYxE,KAAM,WAAY+D,MAAO,KAC5C,CAAES,IAAK,QAASxE,KAAM,SACtB,CAAEwE,IAAK,WAAYxE,KAAM,YACzB,CAAEwE,IAAK,QAASxE,KAAM,SACtB,CAAEwE,IAAK,OAAQxE,KAAM,QACrB,CAAEwE,IAAK,cAAexE,KAAM,eAAgB+D,MAAO,KACnD,CAAES,IAAK,eAAgBxE,KAAM,gBAAiB+D,MAAO,MAuP1CyvH,GApPc,SAACp9H,GAAW,IAAD,EAChC6O,EAAU8b,eACR+oB,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YAGjDkZ,GADuBpvB,eAAnB6J,eACcvH,IAAW+sB,iBAEjC,EAA0B9uB,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZ6xH,oBAAqB,GACrB5mG,QAAS,KACT6mG,YAAY,EACZC,iBAAiB,IANrB,mBAAO95H,EAAP,KAAcxB,EAAd,KAmCMoxB,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,sBACI1T,MAAO,CACHyZ,UAAW,UAFnB,WAKoB,OAAfoW,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,eAAgBtR,GAC9B,cAAC,KAAD,CACIn7B,KAAM0sC,KACN/hD,MAAM,YACNyB,UAAU,6BACVgU,aAAa,cACbnX,QAAS,kBAvBJuK,EAuB0B2I,OAtB/C7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKyxC,MAAnC,mBAA4CzxC,QAA5C,IAA4CA,OAA5C,EAA4CA,EAAKvF,WACzD/C,MAAO,cAHS,IAACsI,KA0BQ,GAApBtI,EAAM65H,YACH,cAAC,KAAD,CACI/kH,KAAMilH,KACNt6H,MAAM,YACNyB,UAAU,6BACVgU,aAAa,yBACbnX,QAAS,kBA1BEuK,EA0B0B2I,OAzBrDzS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBwC,KAAM0F,EAAKwxH,iBAAiB,OAD7B,IAACxxH,SAyCzB6nB,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAnBMuK,EAmBmB2I,OAlB3C7F,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIvF,WACzCqJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAJL,IAAChI,GAmByB/K,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAIs4B,YAIb,OADAj3B,IAASC,OAAOgF,EAAKF,GACdA,GAGL8uD,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA/G,SACKhE,EAAIsvC,QAIb,OADAjuC,IAASC,OAAOgF,EAAKF,GACdA,GAGLmmE,EAAkB,SAAC,EAAc7qE,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,mBAAmB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAlH,SACKhE,EAAI68F,QAIb,OADAx7F,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI0/B,WAIb,OADAr+B,IAASC,OAAOgF,EAAKF,GACdA,GAGL+Y,EAAc,SAACnuB,GACjB,IAAI0tG,EAAQ,CACZA,MAAa,EACbA,aAAoB,EACpBA,mBAA0B,EAC1BA,gBAAuB,EACvBA,iBAAwB,GACpB1tG,IAAK0tG,EAAMl9F,SAAW,IAAIhC,MAC9BjS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GACAuvG,OAKL7/F,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjBupE,EAAevgF,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAClDswE,EAAW5iE,EAAStI,MAAK,SAACuI,GAAD,MAA6B,UAAhBA,EAAQ3N,OAC9Cq1G,EAAc3nG,EAAStI,MAAK,SAACuI,GAAD,MAA6B,aAAhBA,EAAQ3N,OACjDqvH,EAAW3hH,EAAStI,MAAK,SAACuI,GAAD,MAA6B,UAAhBA,EAAQ3N,OAsBlD,QArBmB,OAAfyiB,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,eAAjB,OAAgCn0B,QAAhC,IAAgCA,OAAhC,EAAgCA,EAAiB+oG,8BACjD99G,EAAS4f,OAAO,EAAG,EAAG,CAClBttB,IAAK,SACLxE,KAAM,SACN+D,MAAO,IACPiH,qBAAqB,EACrBD,UAAW0e,IAGfgpE,IACAA,EAAa1nF,UAAY+0D,GAEzBgV,IACAA,EAAS/pE,UAAYi1D,GAErB65C,IACAA,EAAY9uG,UAAY+e,GAExB+pG,IACAA,EAAS9oH,UAAYssE,GAElBnlE,IACR,CAACrY,EAAM65H,aAEJzrH,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACP,SAAVvK,GAA2C,UAAvBuK,EAAK4gB,cACzBrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAClB,UAAVzH,GAA4C,UAAvBuK,EAAK4gB,cACjCrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAEnC3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SAExC,IACC+S,EAAkC,GAApBzR,EAAM65H,WAAqB,aAAe,gBAG5D,OACI,sBAAK34H,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,qCACI,cAACzY,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,WAAxB,SACI,eAACmY,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,wBAAwBxQ,KAAK,aAAazH,MAAOsB,EAAM65H,WAAY97H,QAASqQ,EAAvG,UACI,cAAC4e,GAAA,EAAD,CAAkBtuB,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,gBAC1D,cAACikB,GAAA,EAAD,CAAkBtuB,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,iBAGjE,cAAC,GAAD,CACI2J,OAAM,0DAAqD1S,EAAM65H,YACjE/pH,QAASA,EACT2B,aAA4B,OAAf2b,QAAe,IAAfA,OAAA,EAAAA,EAAiB+oG,4BAA6B1kH,EAAc,GACzEjB,uBAhBa,4BAiBbmD,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBL,wBAAwB,EACxB+D,gBAAgB,gBAChBF,kBAAmB,SAAC9J,GAAD,OACfygG,GAAoC,CAChCK,SAAUjtG,EAAM65H,WAChBxtB,QAAS,OACTU,aAAc5gG,GAAU,WAMvCnM,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,wBAArD,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBoC,eAAgBlI,aAAcgG,MAE7F,KACHpwB,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBtP,WAAYwJ,aAAcgG,MAEjF,KACHpwB,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMkwB,gBAAgB8C,QAAS5I,aAAcgG,MAE3E,KACHpwB,EAAM85H,gBACH,cAACp9H,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAIszB,GAAY,IAAQzzB,MAAK,kCAAmBqD,EAAM4C,YAAzB,aAAmB,EAAY2mC,UAA/B,KAA9D,SACI,cAAC0wF,GAAD,CAA0B3xH,IAAKtI,EAAM4C,KAAMwnB,aAAcgG,MAE7D,SCrQVzT,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MAAOiH,qBAAqB,GACpE,CAAExG,IAAK,UAAWxE,KAAM,OAAQ+K,UAAW3E,IAAWE,cAAevC,MAAO,KAE5E,CAAES,IAAK,mBAAoBxE,KAAM,SAAU+D,MAAO,KAClD,CAAES,IAAK,iBAAkBxE,KAAM,kBAAmB+D,MAAO,KACzD,CAAES,IAAK,aAAcxE,KAAM,QAAS+K,UAAW3E,IAAW2wE,gBAAiBvzE,MAAO,QAASO,MAAO,KAClG,CAAES,IAAK,cAAexE,KAAM,SAAU+K,UAAW3E,IAAW2wE,gBAAiBvzE,MAAO,QAASO,MAAO,KACpG,CAAES,IAAK,aAAcxE,KAAM,QAAS+K,UAAW3E,IAAW2wE,gBAAiBvzE,MAAO,QAASO,MAAO,KAClG,CAAES,IAAK,mBAAoBxE,KAAM,gBAAiB+D,MAAO,KAEzD,CAAES,IAAK,YAAaxE,KAAM,SAAU+D,MAAO,MAiQhCgwH,GArNgB,SAAC39H,GAC5B,MAA0BgC,mBAAS,CAAEwJ,YAAY,EAAM3K,MAAM,EAAO6gB,KAAM,GAAIxL,SAAU,OAAxF,mBAAOzS,EAAP,KAAcxB,EAAd,KACM4M,EAAU8b,eACZkG,EAAkB9sB,IAAW+sB,gBAsB3B6tD,EAAiB,SAAC5yE,GACpB9J,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBs9E,cAAc,EAAOvjC,MAAO,SAG3DrS,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,sBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,UAEI,cAAC,KAAD,CACIlC,KAAMyoE,KACNr8E,UAAU,6BACVgU,aAAa,eACbnX,QAAS,kBAhBEuK,EAgBsB2I,OAf7CzS,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBs9E,cAAc,EAAMvjC,MAAK,OAAEzxC,QAAF,IAAEA,OAAF,EAAEA,EAAKyxC,WAD3C,IAACzxC,MAkBC,OAAf8kB,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,KAAD,CAAkBzsC,KAAM0sC,KAAUtgD,UAAU,6BAA6BgU,aAAa,WAAWnX,QAAS,kBA3BjGuK,EA2BuH2I,OA1B5I7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKyxC,MAAnC,mBAA4CzxC,QAA5C,IAA4CA,OAA5C,EAA4CA,EAAKvF,WACzDqJ,OAAQ,GACRpM,MAAO,SAJS,IAACsI,SAiCnB2nC,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YAE/Cic,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMmoE,EAAmBj1D,IAAM1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAI8B,mBAIb,OADAT,IAASC,OAAOgF,EAAKF,GACdA,GAGL8uD,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA/G,SACKhE,EAAI0nC,mBAIb,OADArmC,IAASC,OAAOgF,EAAKF,GACdA,GAGLmmE,EAAkB,SAAC,EAAc7qE,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,mBAAmB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAlH,SACKhE,EAAIgC,YAIb,OADAX,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI+B,sBAIb,OADAV,IAASC,OAAOgF,EAAKF,GACdA,GAGL6uD,EAAqB,SAAC59D,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIvF,WACzCqJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,cAI1B8f,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNg9C,aAAa,EACb/pB,mBAAmB,EACnB49B,gBAAgB,QASlBn+C,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAC1CwvH,EAAmBn9G,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,YAAbA,EAAKqL,OACjDy7D,EAAeppD,EAAUjN,MAAK,SAACuI,GAAD,MAA6B,qBAAhBA,EAAQ3N,OACnD8yE,EAAezgE,EAAUjN,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OACnDiuF,EAAe57E,EAAUjN,MAAK,SAACuI,GAAD,MAA6B,qBAAhBA,EAAQ3N,OA0CvD,OAxCIwvH,EAAiBjpH,UAAY,WAAeyB,GAAU,IAAtB1B,EAAqB,EAArBA,IACtBoG,GAD2C,EAAhB2Y,IACrBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKha,MAAO,CAAEyZ,UAAW,UAAzB,SACK/F,EAAIumE,YAAcjrE,IAAWimC,cAAcvhC,EAAIumE,aAAejrE,IAAWimC,cAAcvhC,EAAIo4E,WAIpG,OADA/2E,IAASC,OAAOgF,EAAKF,GACdA,GAGXuhF,IACAA,EAAa1nF,UAAY+0D,GAEzBwX,IACAA,EAAavsE,UAAYssE,GAExBvtC,GACDjzB,EAAUib,OAAO,EAAG,EAAG,CAAEttB,IAAK,sBAAuBxE,KAAM,WAAY+K,UAAW+e,EAAoB/lB,MAAO,MAE7G+lC,GAAkC,MAApB1zC,EAAM69H,WACpBp9G,EAAUib,OAAO,EAAG,EAAG,CAAEttB,IAAK,aAAcxE,KAAM,WAAY+D,MAAO,MAErE8S,EAAUib,OAAO,EAAG,EAAG,CAAEttB,IAAK,eAAgBxE,KAAM,UAAW+D,MAAO,MAEtEk8D,IACAA,EAAal1D,UAAYi1D,GAEzBx0D,IACAA,EAAUT,UAAYw2B,GAWnB1qB,IACR,CAAChd,IAEE2X,EAvNQ,SAACm/E,GACf,IAAIl2C,EAAO,GACPg2C,EAAQ,CACR,CAAEzwF,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,OAAQ0R,QAAQ,IAkC5B,OA/BI+oC,EADQ,MAARk2C,EACO,CAAE3wF,KAAM,qBAAsB0R,QAAQ,GAC9B,MAARi/E,EACA,CAAE3wF,KAAM,iBAAkB0R,QAAQ,GAC1B,MAARi/E,EACA,CAAE3wF,KAAM,oBAAqB0R,QAAQ,GAC7B,MAARi/E,EACA,CAAE3wF,KAAM,oBAAqB0R,QAAQ,GAC7B,MAARi/E,EACA,CAAE3wF,KAAM,iBAAkB0R,QAAQ,GAC1B,MAARi/E,EACA,CAAE3wF,KAAM,YAAa0R,QAAQ,GACrB,MAARi/E,EACA,CAAE3wF,KAAM,iBAAkB0R,QAAQ,GAC1B,MAARi/E,EACA,CAAE3wF,KAAM,cAAe0R,QAAQ,GACvB,MAARi/E,EACA,CAAE3wF,KAAM,gBAAiB0R,QAAQ,GACzB,MAARi/E,EACA,CAAE3wF,KAAM,kBAAmB0R,QAAQ,GAC3B,MAARi/E,EACA,CAAE3wF,KAAM,WAAY0R,QAAQ,GACpB,MAARi/E,EACA,CAAE3wF,KAAM,iCAAkC0R,QAAQ,GAC1C,MAARi/E,EACA,CAAE3wF,KAAM,qBAAsB0R,QAAQ,GAC9B,MAARi/E,EACA,CAAE3wF,KAAM,oBAAqB0R,QAAQ,GAErC,CAAE1R,KAAM,YAAa0R,QAAQ,GAExC++E,EAAMvrF,KAAKu1C,GACJg2C,EAiLQG,CAAUx6F,EAAM69H,YAC3B1nH,EAAM,kCAA8BnW,EAAM69H,WAAa79H,EAAM69H,WAAa,IAC9E,OACI,sBAAKl5H,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,IACrB,cAAC,GAAD,CACI7H,QAASA,EACT6D,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBC,OAAQA,EACRjB,YAAW,WAAoB,OAAf2b,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,eAAjB,OAAgCn0B,QAAhC,IAAgCA,OAAhC,EAAgCA,EAAiBiuD,kBAAmB,QAAU,MAC9F7qE,uBAAsB,WAAoB,OAAf4c,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,eAAjB,OAAgCn0B,QAAhC,IAAgCA,OAAhC,EAAgCA,EAAiBiuD,kBAAmB,YAAc,QAEhHr7E,EAAMs9E,cACH,cAAC5gF,GAAA,EAAD,CAAYC,MAAM,cAAcI,SAAS,KAAKD,QAASo+E,EAAvD,SACI,cAACyC,GAAD,CAAehhF,MAAM,GAAGogF,cAAe/8E,EAAM+5C,MAAOj9C,QAASo+E,MAGpEl7E,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,wBAArD,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBopB,kBAAmBlvB,aAAcgG,MAEhG,KACHpwB,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBtP,WAAYwJ,aAAcgG,MAEjF,KACHpwB,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMkwB,gBAAgB8rD,WAAY5xD,aAAcgG,MAE9E,SCrRHiqG,GAAqB,uCAAG,WAAOz8H,GAAP,eAAA6C,EAAA,sEACjB6B,aAAY,kBAAD,OAAmB1E,IADb,cAC7BqE,EAD6B,yBAE1BA,GAF0B,2CAAH,sDAKrBq4H,GAAsB,uCAAG,WAAO13H,GAAP,eAAAnC,EAAA,sEAClBsB,aAAa,iBAAkBa,GADb,cAC9BX,EAD8B,yBAE3BA,GAF2B,2CAAH,sDCqGpBs4H,OAzGf,SAA6Bh+H,GACzB,MAA0BgC,mBAAS,CAC/Bi8H,eAAgB,KAChB1X,aAAc,GACd2X,uBAAwB,GACxB5iH,QAAQ,EACR1K,OAAQ,KALZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAQA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,0DACFlE,EAAMi+H,eADJ,gCAEcH,GAAsB99H,EAAMi+H,gBAF1C,QAEEv4H,EAFF,QAGMoE,SACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELw6H,eAAgBv4H,EAAIW,KAAK4V,KAAK,GAAGgiH,eACjC1X,aAAc7gH,EAAIW,KAAK4V,KAAK,GAAGsqG,aAC/B2X,uBAAwBx4H,EAAIW,KAAK4V,KAAK,GAAGiiH,uBACzC5iH,OAAQ5V,EAAIW,KAAK4V,KAAK,GAAGX,OACzBi/E,KAAM70F,EAAIW,KAAK4V,KAAK,GAAGgiH,oBAV7B,2CAcP,IAEH,IAAMl+G,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAUV2P,EAAc,WAChB,IAAQy0G,EAAiB9iH,EAAjB8iH,aAEJx0G,GAAc,EACdnB,EAAS,GAMb,MARwB,QAGDqB,KAAKs0G,KACxB31G,EAAO21G,aAAe,4BACtBx0G,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAERknH,EAAU,CACZiF,eAAgBx6H,EAAMw6H,eACtB1X,aAAc9iH,EAAM8iH,aACpB2X,uBAAwBz6H,EAAMy6H,uBAC9B5iH,OAAQ7X,EAAM6X,QANJ,SAQEyiH,GAAuB/E,GARzB,QAQVtzH,EARU,QASNoE,SACJyB,EAAiB,sCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAbT,2CAAH,qDAkBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,gBACX1I,KAAK,eACL2I,YAAY,gBACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM8iH,aACb31G,OAAQnN,EAAMmN,OAAO21G,iBAG7B,cAAC5jH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIsP,WAAW,UACX1I,KAAK,yBACL2I,YAAY,UACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMy6H,uBACbzvH,WAAUhL,EAAM82F,SAGxB,cAAC53F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAmBmQ,QAAS1P,EAAM6X,OAAQ1R,KAAK,SAAS6C,SA7D7C,SAACX,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QA0DsD3G,MAAM,kBAG5F,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMi+H,eAAiB,SAAW,cClGtF7iH,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,OAAQ0R,QAAQ,GACxB,CAAE1R,KAAM,kBAAmB0R,QAAQ,IAEjC8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,eAAgBxE,KAAM,iBAC7B,CAAEwE,IAAK,yBAA0BxE,KAAM,WACvC,CAAEwE,IAAK,SAAUxE,KAAM,cAAe+K,UAAW3E,IAAWC,QAwEjDkuH,OArEf,SAAwBn+H,GACpB,MAA0BgC,mBAAS,CAC/Bo8H,mBAAoB,GACpB99G,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNi1H,IADM,2CAEP,IAEH,IAAMA,EAAW,uCAAG,sBAAAj1H,EAAA,sDAChBjC,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELyS,SAAU,IAAIhC,UAHF,2CAAH,qDAOXhC,EAAgB,SAACtC,GACnB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAMo9H,eAAc,OAAEruH,QAAF,IAAEA,OAAF,EAAEA,EAAQquH,qBAGnE9yF,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAM0Q,EAAcwC,IAAMiE,aAAa,0BAKlEpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,KAGLrgB,EAAQqD,EAAMw6H,eAAiB,yBAA2B,sBAE1DtjG,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOyzH,KAGX,OACI,sBAAKx0H,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAM,iBACNiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,oBACTG,WAAY,kBAAMvG,EAAc,SAEnCzO,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAArE,SACI,cAAC,GAAD,CAAqBy9H,eAAgBx6H,EAAMw6H,eAAgB19H,QAAS,kBAAMo6B,GAAW,QAEzF,SC9EH0jG,GAAgB,uCAAG,WAAOh9H,GAAP,eAAA6C,EAAA,sEACZ6B,aAAY,aAAD,OAAc1E,IADb,cACxBqE,EADwB,yBAErBA,GAFqB,2CAAH,sDAKhB44H,GAAiB,uCAAG,WAAOj4H,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,YAAaa,GADb,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDC8Hf64H,OAlIf,SAAwBv+H,GACpB,MAA0BgC,mBAAS,CAC/Bw8H,aAAc,GACdC,oBAAqB,GACrBC,gBAAgB,EAChBC,4BAA4B,EAC5BC,qBAAqB,EACrB/B,OAAO,EACPjsH,OAAQ,KAPZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAUA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B,EAAkCtJ,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA7Z,oBAAS,sBAAC,gCAAAM,EAAA,0DACFlE,EAAMqG,KADJ,gCAEcg4H,GAAiBr+H,EAAMqG,KAAKm4H,cAF1C,OAEE94H,EAFF,OAGIW,EAHJ,UAGWX,EAAIW,YAHf,aAGW,EAAU4V,KAAK,GAC5Bha,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAGL+6H,aAAcn4H,EAAKm4H,aACnBC,oBAAqBp4H,EAAKo4H,oBAC1BC,eAAgBr4H,EAAKq4H,eACrBC,2BAA4Bt4H,EAAKs4H,2BACjCC,oBAAqBv4H,EAAKu4H,oBAC1BrkC,KAAMl0F,EAAKm4H,aACX3B,MAAOx2H,EAAKw2H,WAbd,2CAgBP,IAEH,IAAM98G,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAGV4rB,EAAiB,SAACjiB,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAKlCrB,EAAc,WAChB,IAAQ2sH,EAAwBh7H,EAAxBg7H,oBAEJ1sH,GAAc,EACdnB,EAAS,GAMb,MARwB,QAGDqB,KAAKwsH,KACxB7tH,EAAO6tH,oBAAsB,oCAC7B1sH,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAERknH,EAAU,CACZwF,aAAc/6H,EAAM+6H,aACpBC,oBAAqBh7H,EAAMg7H,oBAC3BC,eAAgBj7H,EAAMi7H,eACtBC,2BAA4Bl7H,EAAMk7H,2BAClCC,oBAAqBn7H,EAAMm7H,oBAC3Bj2F,OAAOllC,EAAM82F,MAEjB98E,GAAa,GAVC,SAWE6gH,GAAkBtF,GAXpB,QAWVtzH,EAXU,QAYNoE,SACJyB,EAAiB,gCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAlBC,2CAAH,qDAsBnB,OACI,eAAC9a,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,cACX1I,KAAK,sBACL2I,YAAY,cACZ9F,SAAUsT,EACV5d,MAAOsB,EAAMg7H,oBACb7tH,OAAQnN,EAAMmN,OAAO6tH,wBAG7B,cAAC97H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIsP,WAAW,YACX1I,KAAK,eACL2I,YAAY,YACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM+6H,aACb5tH,OAAQnN,EAAMmN,OAAO4tH,aACrB/vH,WAAYhL,EAAM82F,SAG1B,cAAC53F,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAvB,SACI,cAAC,IAAD,CACI5d,QAAS1P,EAAMk7H,2BACf/0H,KAAK,6BACL6C,SAAUshB,EACVvhB,MAAM,4BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAvB,SACI,cAAC,IAAD,CAAmB5d,QAAS1P,EAAMm7H,oBAAqBh1H,KAAK,sBAAsB6C,SAAUshB,EAAgBvhB,MAAM,uBAEtH,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAvB,SACI,cAAC,IAAD,CAAmB5d,QAAS1P,EAAMi7H,eAAgB90H,KAAK,iBAAiB6C,SAAUshB,EAAgBvhB,MAAM,iBAG5G,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiB+Z,YAAalB,EAAWhc,QAAS0Q,EAAlD,SACKlS,EAAMqG,KAAO,SAAW,cC1HvC+U,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,OAAQ0R,QAAQ,GACxB,CAAE1R,KAAM,aAAc0R,QAAQ,IAE5B8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,eAAgBxE,KAAM,OAAQ+D,MAAO,MAC5C,CAAES,IAAK,sBAAuBxE,KAAM,eACpC,CAAEwE,IAAK,6BAA8BxE,KAAM,wBAAyB+D,MAAO,OAC3E,CAAES,IAAK,sBAAuBxE,KAAM,mBAAoB+D,MAAO,OAC/D,CAAES,IAAK,iBAAkBxE,KAAM,cAAe+D,MAAO,OAoE1CkxH,OAjEf,SAAmB7+H,GACf,MAA0BgC,mBAAS,CAC/B88H,cAAe,GACfx+G,QAAQ,EACRzf,MAAM,EACNwF,KAAM,OAJV,mBAAO5C,EAAP,KAAcxB,EAAd,KAOMk3H,EAAW,uCAAG,sBAAAj1H,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAOXhC,EAAgB,SAACtC,GACnB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAMwF,KAAMuJ,QAGjDu7B,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAM0Q,EAAcwC,IAAMiE,aAAa,uBAKlEpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,KAGLrgB,EAAQqD,EAAM4C,KAAO,mBAAqB,gBAC1Cs0B,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAOwF,KAAM,UACpDX,GAAOyzH,KAGX,OACI,sBAAKx0H,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KAErB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAO,YACPiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,gBACTG,WAAY,kBAAMvG,EAAc,SAEnCzO,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAArE,SACI,cAAC,GAAD,CAAgB6F,KAAM5C,EAAM4C,KAAM9F,QAAS,kBAAMo6B,GAAW,QAEhE,SCpDVi8B,GAAkBpV,cAAW,SAACv2C,GAAD,MAAY,CAC3C4rD,KAAM,CACFx8C,SAAU,GACVvX,QAAS,WACTI,MAAO,WAEX+zD,KAAM,CACF58C,SAAU,GACVvX,QAAS,eARO0+C,CAUpB0V,MAEEC,GAAiB3V,cAAW,SAACv2C,GAAD,MAAY,CAC1CC,KAAM,CACF,qBAAsB,CAClBi3B,gBAAiB,eAHNqf,CAMnB6V,MACEtsD,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrC7K,MAAO,CACHia,SAAU,OACVnX,MAAO,UACPwV,WAAY,IACZ4Y,YAAa,GAEjBhR,OAAQ,CACJ3S,MAAO,OACPjN,OAAQ,OACRI,QAAS,OACTwxB,eAAgB,SAChBvxB,WAAY,UAEhBwE,KAAM,CACFy7B,OAAQ,iBACRtgC,OAAQ,SAIVy+D,GAAe,CACjB3+B,EAAG4+B,IACH9+B,EAAG++B,IACHj/B,EAAGk/B,IACH35B,EAAG45B,KAkbQw/D,GA/aM,SAAC/+H,GAAW,IAAD,UAC5B,EAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAClBszC,EAAgB5wC,eAAhB4wC,YACFjzC,EAAUZ,KAChB,EAA0B/I,mBAAS,CAC/B6+D,UAAW,GACXN,UAAW,GACXI,aAAc,GACdn6D,UAAWxG,EAAMwpE,gBACjB/8B,KAAM5yB,OAASC,OAAO,cACtB6lD,6BAA8B,EAC9BC,0BAA2B,KAC3BC,4BAA6B,KAC7BC,+BAAgC,GAChCC,0BAA2B,KAC3BC,oBAAqB,KACrBC,WAAW,EACXz8D,cAA6C,WAA9BO,IAAWC,eAC1Bk8D,6BAA8BthB,EAC9B8iB,4BAA6B9iB,EAC7BuhB,KAAM,KAhBV,mBAAO18D,EAAP,KAAcxB,EAAd,KAmBsB+L,eAAd2lC,UACmBh8B,SAAS,UAEpC/T,oBAAS,sBAAC,wCAAAM,EAAA,0DACFlE,EAAMwpE,gBADJ,gCAEej+B,GAAevrC,EAAMwpE,iBAFpC,cAEEnJ,EAFF,QAGOv2D,UACCzD,EAAOg6D,EAAKh6D,KAClBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmpC,UAAW3mC,EAAKmQ,iBAChBjG,QAASlK,EAAK4tC,aACdxiC,OAAQpL,EAAK6tC,kBATnB,SAYcmpB,GAA0Br9D,EAAMwpE,iBAZ9C,QAYE9jE,EAZF,QAaMoE,UACEw2D,EAAe56D,EAAIW,KAAKi6D,aAAa/2D,KAAI,SAACojB,GAAD,MAAQ,CACnDtrB,GAAIsrB,EAAEtrB,GACNuI,KAAM+iB,EAAE/iB,SAEN22D,EAAY76D,EAAIW,KAAKm6D,gBAAgBj3D,KAAI,SAACgoB,GAAD,MAAQ,CACnDlwB,GAAIkwB,EAAElwB,GACNuI,KAAM2nB,EAAE3nB,SAEN62D,EAAe/6D,EAAIW,KAAKq6D,8BACxBC,EAAej7D,EAAIW,KAAKu6D,wBAE9B3+D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELg9D,UAAWJ,EACXE,aAAcA,EACdJ,UAAWA,EACXD,aAAcA,QA9BpB,OAkCNQ,IAlCM,4CAmCP,IAEH,IAAMA,EAAW,uCAAG,8BAAA58D,EAAA,sEACA4nC,GAAa9rC,EAAMwpE,iBADnB,QACZ9jE,EADY,QAERoE,UACAzD,EAAOX,EAAIW,KAAK2G,QAAQ,GAC5B/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELs8D,KAAI,OAAE95D,QAAF,IAAEA,OAAF,EAAEA,EAAM6uC,yBANJ,2CAAH,qDAqBXxxC,EAAaC,iBAAO,IAyBpBo9D,EAAe,SAACj1D,GAClB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJ+F,EAAOzH,QAqCV2P,EAAc,WAChB,IAAIC,GAAc,EACdnB,EAAS,GAqBb,OAhBKnN,EAAMg+D,2BACP7wD,EAAO6wD,yBAAP,qCACA1vD,GAAc,GAEbtO,EAAMi+D,8BACP9wD,EAAO8wD,4BAA8B,0BACrC3vD,GAAc,GAEbtO,EAAMF,iBACPqN,EAAOrN,eAAiB,uCACxBwO,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,OAELmB,GAGL6b,EAAY,uCAAG,gCAAA1pB,EAAA,yDACby9D,EAA4Bl+D,EAAMo9D,UAAUt3D,KAAI,SAACgoB,GAAD,MAAQ,CACxDqwC,2BAA4BrwC,EAAE+vC,oBAAsB/vC,EAAE+vC,oBAAsB,KAC5EJ,kDAAmD3vC,EAAE2vC,kDAC/C3vC,EAAE2vC,kDACF,KACNW,8BAA+BtwC,EAAEswC,8BAAgCtwC,EAAEswC,8BAAgC,KACnGC,wCAAyCvwC,EAAEuwC,wCAA0CvwC,EAAEuwC,wCAA0C,KACjIC,iCAAkCxwC,EAAEwwC,iCAAmCxwC,EAAEwwC,iCAAmC,KAC5GC,iCAAkCzwC,EAAEywC,iCAAmCzwC,EAAEywC,iCAAmC,UAE5GlwD,IAXa,uBAYTK,EAAW,CACX3L,UAAW/C,EAAM+C,UACjBw5D,oBAAqBv8D,EAAMu8D,oBAC3BJ,0BAA2Bn8D,EAAMm8D,0BACjCD,6BAA8Bl8D,EAAMk8D,6BACpCD,6BAA8Bj8D,EAAMgpC,KACpCozB,4BAA6Bp8D,EAAMo8D,4BACnC2B,gCAAiC/9D,EAAM+9D,gCACvCE,4BAA6Bj+D,EAAMi+D,4BACnC3B,0BAA2Bt8D,EAAMs8D,0BACjC0B,yBAA0Bh+D,EAAMg+D,yBAChC3B,+BAAgCr8D,EAAMq8D,+BACtCI,6BAA8Bz8D,EAAMy8D,6BACpCyB,0BAA2BA,EAC3BM,kCAAmCx+D,EAAMF,gBA1BhC,SA4BGg6D,GAA2BprD,GA5B9B,QA4BTzM,EA5BS,QA6BLoE,SACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAjCV,2CAAH,qDAuClB,OACI,sBAAKxH,UAA6B,WAAlB3E,EAAMo9C,SAAwB,SAAW,GAAzD,UACuB,WAAlBp9C,EAAMo9C,UACH,cAACjwC,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAO,CAAE0hC,aAAc,IAAlE,UACK,UAAAj/B,EAAM08D,YAAN,eAAYjoB,gBAAiB,KAGtC,8BACKz0C,EAAM08D,KACH,eAACx9D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAvB,SACI,eAACymC,GAAA,EAAD,CAAgBroD,UAAW4rB,KAA3B,UACI,sBACI/5B,MAAO,CACHggC,OAAQ,4BACRl+B,QAAS,aAHjB,UAMI,sBAAM6B,UAAWgH,EAAQvL,MAAzB,wBACCqD,EAAM88D,UAAUh3D,KAAI,SAACgoB,GAClB,OACI,cAACtuB,EAAA,EAAD,CACIjC,MAAO,CAAE2M,MAAO,OAAQgI,WAAoB,GAAR4b,EAAElwB,GAAU,GAAK,GAAIqhC,aAAc,GACvEv/B,QAASM,EAAMk8D,+BAAiCpuC,EAAElwB,GAAK,YAAc,WACrE6B,MAAM,YACN1B,QAAS,kBAnK/BH,EAmKkDkwB,EAAElwB,QAlKtEY,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL87D,6BAA8Bt+D,OAHjB,IAACA,GA+JkB,SAMKkwB,EAAE3nB,UAIf,sBAAMjF,UAAWgH,EAAQvL,MAAOY,MAAO,CAAEC,SAAU,WAAYC,MAAO,QAAtE,SACKuC,EAAMgpC,UAGf,eAACkrB,GAAA,EAAD,CAAOv9C,aAAW,eAAezV,UAAWgH,EAAQ22D,MAApD,UACI,cAAC9F,GAAA,EAAD,UACI,eAACnF,GAAA,EAAD,WACI,cAAC,GAAD,CAAiB1pD,MAAM,MAAvB,mBACClK,EAAMk9D,aAAap3D,KAAI,SAACgoB,GACrB,OACI,eAAC,GAAD,CACInkB,MAAM,SACNO,MAA8D,SAAvD4jB,EAAEgxC,mCAAmCj1C,cAA2B,KAAO,KAFlF,UAI4D,SAAvDiE,EAAEgxC,mCAAmCj1C,cAClC,uBAAO5gB,KAAK,WAAWlL,SAhJ7Dy/D,EAgJ+E1vC,EAAEixC,0BAhJtE,SAAC12D,GAC1B,IAAM2H,EAAI3H,EAAEE,OAAOmH,QACnBlR,GAAS,SAAC4B,GACN,IAAMg8B,EAAK,eAAQh8B,GAOnB,OANAg8B,EAAMogC,WAAY,EAClBpgC,EAAMghC,UAAUt3D,KAAI,SAACojB,GACjBA,EAAEu0C,kDAAoDztD,EAAIwtD,OAAS38D,KAGvEu7B,EAAMghC,UAAN,aAAsBhhC,EAAMghC,WACrBhhC,SAwIyC,GAEHtO,EAAEgxC,sCApJtC,IAACtB,KAyJsB,cAAC,GAAD,CAAiB7zD,MAAM,OAAOO,MAAM,MAApC,+BAMR,cAACiqD,GAAA,EAAD,oBACKn0D,EAAMo9D,iBADX,aACK,EAAiBt3D,KAAI,SAACojB,GACnB,OACI,eAAC,GAAD,WACI,cAAC,GAAD,CAAiBxd,UAAU,KAA3B,SAAiCwd,EAAE81C,+BAClCh/D,EAAMk9D,aAAap3D,KAAI,SAACgoB,GACrB,IAAMmxC,EAAOvD,GAAa5tC,EAAEixC,4BAA8Bv/D,IAC1D,OACI,cAAC,GAAD,CAAiBmK,MAAM,SAAvB,SACI,cAACs1D,EAAD,CACIlhE,QAAS,kBA3J9C,SAAC4/D,EAAWC,GACnC,IAAI1jC,EAAY,aAAOl6B,EAAMo9D,WACzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAE20C,sBAAwBD,KAC1E1jC,EAAaC,GAAUsjC,kDAAoDE,EAC3E,IAAIr1D,EAAuG,IAAjG4xB,EAAaO,QAAO,SAACzqB,GAAD,OAA+D,IAAxDA,EAAEytD,qDAAyDlvD,OAChG/P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBg9D,UAAWljC,EAAcsiC,UAAWl0D,OAsJYo1D,CAAmB5vC,EAAEixC,0BAA2B71C,EAAE20C,sBACjE79D,MAAOkpB,EAAEu0C,oDAAsD3vC,EAAEixC,0BAFrE,SAII,cAACG,GAAA,EAAD,UAAQpxC,EAAEgxC,mCAAmC,YAK7D,cAAC,GAAD,CAAiBn1D,MAAM,OAAvB,SACI,cAAC,IAAD,CACI/H,MAC4D,IAAxDsnB,EAAEu0C,mDACsD,IAAxDv0C,EAAEu0C,kDAEN3uD,YAAY,eACZ3I,KAAK,gCACL6C,UAnKpCpL,EAmKyDsrB,EAAE20C,oBAnKpD,SAACx1D,GACxB,IAAI6xB,EAAY,aAAOl6B,EAAMo9D,WACzBjjC,EAAWn6B,EAAMo9D,UAAUhjC,WAAU,SAAClR,GAAD,OAAOA,EAAE20C,sBAAwBjgE,KAC1Es8B,EAAaC,GAAU9xB,EAAEE,OAAOpC,MAAQkC,EAAEE,OAAO7J,MACjDF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBg9D,UAAWljC,SAgKcx7B,MAAOwqB,EAAEk1C,qCApK9C,IAACxgE,eA+KA,cAACsB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEyD,UAAW,IAAvC,SACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAI+tB,GAAI,EAA7C,UACI,eAACpuB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAI+xC,SAAS,KAA5C,UACI,cAAC3+D,EAAA,EAAD,CAAYC,QAAM,EAAlB,kCACA,cAAC,IAAD,CACIqI,SAAUs0D,EACV5+D,MAAOsB,EAAM+9D,gCACb53D,KAAK,kCACL6I,KAAMhP,EAAM68D,kBAIpB,cAAC39D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAI+xC,SAAS,KAAKn+D,UAAU,mBAA3D,SACI,cAAC,IAAD,CACI2N,WAAW,mBACXC,YAAY,mBACZ3I,KAAK,2BACLzH,MAAOsB,EAAMg+D,yBACbh1D,SAAUs0D,EACVnwD,OAAM,UAAEnN,EAAMmN,cAAR,aAAE,EAAc6wD,6BAI9B,cAAC9+D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAI+xC,SAAS,KAAKn+D,UAAU,mBAA3D,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZ3I,KAAK,8BACLzH,MAAOsB,EAAMi+D,4BACbj1D,SAAUs0D,EACVnwD,OAAM,UAAEnN,EAAMmN,cAAR,aAAE,EAAc8wD,4BACtBjzD,UAAU,MAGlB,eAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAI+xC,SAAS,KAA5C,UACI,cAAC3+D,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CACImO,YAAY,eACZ3I,KAAK,+BACLzH,MAAOsB,EAAMy8D,6BACbzzD,SAAUs0D,UAKtB,cAACp+D,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAI+tB,GAAI,EAAjC,SACI,cAACpuB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIpsB,UAAU,mBAA7C,SACI,gCACI,sBAAK3D,MAAO,CAAEC,SAAU,YAAxB,UACI,eAACkD,EAAA,EAAD,CAAYC,QAAM,EAAlB,qCAEKX,EAAMD,cACH,cAACa,EAAA,EAAD,CAASjE,MAAM,wBAAf,SACI,cAAC,IAAD,CACIoB,QA/NtC,WAClBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBk7C,mBAAmB,EAAMx7C,eAAgBQ,IAAWC,qBA+NvBhD,MAAO,CAAEI,OAAQ,UAAW+J,OAAQ,wBAG5C,QAER,qBACInK,MAAO,CACHC,SAAU,WACVC,MAAO,GAHf,SAMI,cAACmD,EAAA,EAAD,CAASjE,MAAM,kBAAf,SACI,cAAC,IAAD,CACIoB,QA1S1C,WACNiC,EAAMs7C,kBACN98C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk7C,mBAAmB,EACnBx7C,eAAgB,UAGpBG,EAAWa,QAAQC,SAmS6BxD,MAAO,CACHI,OAAQ,UACRqD,UAAW,SAK1BhB,EAAMs7C,kBACH,qBAAKp6C,UAAWgH,EAAQpG,KAAxB,SACI,qBAAKb,IAAKjB,EAAMF,eAAgBqB,IAAI,eAAeD,UAAU,aAGjE,qBAAKA,UAAWgH,EAAQpG,KAAxB,SACI,cAAC,IAAD,CACIV,IAAKnB,EACLoB,YAAa,CAAEH,UAAW,UAC1BI,MAAO,YA/SrC,WACtB,IAAIC,EAASvB,EAAMuB,OACnB/C,GAAS,SAAC4B,GAMN,OALS,2BACFA,GADE,IAELN,eAAgBG,EAAWa,QAAQU,YACnCD,OAAQA,OA0SwCE,WAMpB,cAACE,EAAA,EAAD,CAAgBC,OAAK,EAArB,mBAAuB5B,EAAMmN,cAA7B,aAAuB,EAAcrN,6BAOzD,cAACZ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAASosB,EAA1B,sBAEJ,cAACjrB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAASxB,EAAMO,QAAhC,yBAIR,qBAAKoE,UAAWgH,EAAQ2U,OAAxB,SACI,cAACiS,GAAA,EAAD,CAAkBrvB,MAAM,sBCte1C2X,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IACxC,CAAES,IAAK,UAAWxE,KAAM,UAAW+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,KACrF,CAAES,IAAK,YAAaxE,KAAM,aAAc+D,MAAO,IAC/C,CAAES,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAExC,CAAES,IAAK,SAAUxE,KAAM,UACvB,CAAEwE,IAAK,aAAcxE,KAAM,eAE3B,CAAEwE,IAAK,cAAexE,KAAM,gBAC5B,CAAEwE,IAAK,iBAAkBxE,KAAM,kBAAmB+D,MAAO,KACzD,CAAES,IAAK,WAAYxE,KAAM,WAAY+D,MAAO,KAC5C,CAAES,IAAK,YAAaxE,KAAM,SAC1B,CAAEwE,IAAK,cAAexE,KAAM,eAC9BL,KAAI,SAACojB,GACH,OAAO,2BAAKA,GAAZ,IAAeqyG,WAAW,OAyOfC,GAtOgB,SAACj/H,GAC5B,MAA0BgC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBvzB,MAAO,GACPylE,QAAS,GACTnkD,KAAM,GACNulE,gBAAgB,EAChBj0D,MAAM,EACNksG,cAAc,EACd5oH,UAAW,KAVf,mBAAO7S,EAAP,KAAcxB,EAAd,KAaI4M,EAAU8b,eAEd/mB,oBAAS,sBAAC,4BAAAM,EAAA,2DACFT,EAAM6S,UAAUtE,OAAS,GADvB,gCAEsB7L,GAAqB1C,EAAM6S,WAFjD,OAEEizD,EAFF,OAGFtnE,GAAS,SAAC4B,GAAQ,IAAD,EAEe,EADxBg8B,EAAK,eAAQh8B,IACjB,UAAI0lE,EAAYljE,YAAhB,aAAI,EAAkB4V,OAClB4jB,EAAM7M,KAAOu2C,EAAYz/D,QACzB+1B,EAAM2pC,gBAAN,UAAwBD,EAAYljE,YAApC,aAAwB,EAAkB4V,KAAK,GAAGzV,UAClDq5B,EAAMmN,UAAYvpC,EAAM6S,WAExBupB,EAAM7M,MAAO,EAEjB,OAAO6M,KAZT,sBAeF59B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAM,OAf/B,OAiBNpR,IAjBM,2CAkBP,CAACne,EAAM6S,YAEV,IAQM6oH,EAAY,WACdl9H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELojF,gBAAgB,EAChBi4C,cAAc,EACdlsG,MAAM,EACN1c,UAAW,QAEfsL,KAGE3E,EAAe,SAAC5W,EAAMqO,GACxB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAtBPH,EAsB8BqT,OArBpDzS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELojF,gBAAgB,EAChBI,SAAUhmF,EAAGg2E,aAJI,IAACh2E,GAsBoCsX,aAAa,kBAKrEib,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMmoE,EAAmBj1D,IAAM1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAIs4B,YAIb,OADAj3B,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI0/B,WAIb,OADAr+B,IAASC,OAAOgF,EAAKF,GACdA,GAGLmmE,EAAkB,SAAC,EAAc7qE,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,mBAAmB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAlH,SACKhE,EAAIgC,YAIb,OADAX,IAASC,OAAOgF,EAAKF,GACdA,GAGL6uD,EAAqB,SAAC59D,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIvF,WACzCqJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,cAI1B8f,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNizB,mBAAmB,EACnB49B,gBAAgB,QAIlBn+C,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,aAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OACnC8lB,EAAkBpY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,aAAhBA,EAAQ3N,OACrD8yE,EAAeplE,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAClDiuF,EAAevgF,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAatD,OAZIiuF,IACAA,EAAa1nF,UAAY+0D,GAEzBx1C,IACAA,EAAgBvf,UAAY+e,GAE5BwtD,IACAA,EAAavsE,UAAYssE,GAEzB7rE,IACAA,EAAUT,UAAYsI,GAEnBnB,IACR,IAEG8F,EAAW,uCAAG,sBAAA1d,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAcbkrH,EAAO,yDAAqDp/H,EAAMq/H,WAA3D,mBAAgFr/H,EAAM+uF,YAE3F3zE,EAASS,mBAAQ,WACnB,MAAO,CACH,CAAEjS,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,eAAgB0R,QAAQ,GAChC,CAAE1R,KAAM5J,EAAMo9C,SAAU9hC,QAAQ,EAAM9Z,QAAS29H,MAEpD,CAACn/H,EAAMo9C,WAUVx5C,oBAAS,sBAAC,sBAAAM,EAAA,0FAAgB,IAE1B,IAAM2kE,EAAeplE,EAAMuvB,KAAO,aAAe,GAEjD,OACI,8BACKvvB,EAAMy7H,aACH,8BACI,cAAC,GAAD,CAAc11D,gBAAiB/lE,EAAM+lE,gBAAiBx8B,UAAWvpC,EAAMupC,UAAWzsC,QAAS4+H,MAG/F,sBAAKx6H,UAAU,SAAf,UACoB,cAAf3E,EAAMs/H,KACH,sBAAKt+H,MAAO,CAAE2M,MAAO,OAAQ7M,QAAS,OAAQC,WAAY,SAAU+wD,aAAc,SAAU7wD,SAAU,WAAY4uB,IAAK,GAAvH,UACI,qBAAK7uB,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,IAAD,CAAayN,OAAQA,MAF7B,WAKI,qBAAKpa,MAAO,CAAE2M,MAAO,QAArB,SACI,uBAAOjB,KAAK,OAAOD,SA3B3B,SAACX,GACjB,IAAM3J,EAAQ2J,EAAEE,OAAO7J,MACvBF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyS,UAAWnU,QAuBmDoQ,YAAY,mBAAmBpQ,MAAOsB,EAAM6S,UAAWtV,MAAO,CAAE8B,QAAS,UAI3H,cAAC,IAAD,CAAasY,OAAQA,IAExB3X,EAAMwjF,eACH,cAAC,GAAD,CAAuB1mF,QAAS4+H,EAAWt5C,SAAUpiF,EAAM4jF,WAE3D,cAAC,GAAD,CACIjwE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQipH,EACR9mH,SAAUuwD,EACVpwD,WA7DP,SAAC1M,GACd9J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELq7H,cAAc,QA2DEhpH,SAAUzS,EAAMyS,WAGvBzS,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBtP,WAAYwJ,aAAcgG,MAEjF,KACHpwB,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMkwB,gBAAgBqgB,eAAgBnmB,aAAcgG,MAElF,WCpPX0rG,GAAsB,uCAAG,WAAOl5H,GAAP,eAAAnC,EAAA,sEAClBsB,aAAa,iBAAkBa,GADb,cAC9BX,EAD8B,yBAE3BA,GAF2B,2CAAH,sDCoGpB85H,OAzGf,SAA6Bx/H,GACzB,MAA0BgC,mBAAS,CAC/Bu4F,KAAM,GACNklC,QAAS,GACTxoE,KAAM,GACNm5C,KAAM,IACN90F,QAAQ,EACR1K,OAAQ,KANZ,mBAAOnN,EAAP,KAAcxB,EAAd,KASA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,sDACFlE,EAAMqG,OACAA,EAAOrG,EAAMqG,KACnBpE,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL82F,KAAMl0F,EAAKk0F,KACXklC,QAASp5H,EAAKo5H,QACdxoE,KAAM5wD,EAAK4wD,KACXm5C,KAAM,IACN90F,OAAQjV,EAAKiV,OACbokH,MAAOr5H,EAAKk0F,WAVd,2CAaP,IAEH,IAAMx6E,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAWV2P,EAAc,WAChB,IAAQyoF,EAAS92F,EAAT82F,KAGJxoF,GAFoB4tH,OAAO,2BAEb,GACd/uH,EAAS,GAMb,OALK2pF,IACD3pF,EAAO2pF,KAAP,mCACAxoF,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAELG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAER8tH,EAAqB,CACvBC,kBAAmBp8H,EAAM82F,KACzBulC,qBAAsBr8H,EAAMg8H,QAC5BM,kBAAmBt8H,EAAMwzD,KACzBm5C,KAAM3sG,EAAM2sG,KACZ4vB,oBAAqC,OAAhBv8H,EAAM6X,QAPjB,SASEikH,GAAuBK,GATzB,QASVl6H,EATU,QAUNoE,SACJyB,EAAiB,uCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAdT,2CAAH,qDAmBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,OACX1I,KAAK,OACL2I,YAAY,OACZ9F,SAAUsT,EACV5d,MAAOsB,EAAM82F,KACb3pF,OAAQnN,EAAMmN,OAAO2pF,KACrB0lC,UAAU,IACVxxH,WAAYhL,EAAMi8H,UAG1B,cAAC/8H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAasP,WAAW,UAAU1I,KAAK,UAAU2I,YAAY,UAAU9F,SAAUsT,EAAmB5d,MAAOsB,EAAMg8H,YAErH,cAAC98H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAasP,WAAW,OAAO6f,WAAS,EAACzQ,KAAM,EAAG9X,KAAK,OAAO2I,YAAY,OAAO9F,SAAUsT,EAAmB5d,MAAOsB,EAAMwzD,SAE/H,cAACt0D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAmBmQ,QAAS1P,EAAM6X,OAAQ1R,KAAK,SAAS6C,SA7D7C,SAACX,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QA0DsD3G,MAAM,kBAG5F,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMqG,KAAO,SAAW,cCjG5E+U,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,mBAAoB0R,QAAQ,IAGlC8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,OAAQxE,KAAM,OAAQ+D,MAAO,MACpC,CAAES,IAAK,UAAWxE,KAAM,WACxB,CAAEwE,IAAK,OAAQxE,KAAM,QACrB,CAAEwE,IAAK,YAAaxE,KAAM,aAAc+D,MAAO,OAC/C,CAAES,IAAK,cAAexE,KAAM,eAAgB+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,OAC9F,CAAES,IAAK,YAAaxE,KAAM,aAAc+D,MAAO,OAC/C,CAAES,IAAK,cAAexE,KAAM,eAAgB+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,QAyEnFuyH,OAtEf,SAAwBlgI,GACpB,MAA0BgC,mBAAS,CAC/Bm+H,kBAAmB,GACnB7/G,QAAQ,EACRja,KAAM,KACNxF,MAAM,IAJV,mBAAO4C,EAAP,KAAcxB,EAAd,KAOA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNk8H,IADM,2CAEP,IAEH,IAAMA,EAAkB,uCAAG,sBAAAl8H,EAAA,sDACvBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHK,2CAAH,qDAOlBhC,EAAgB,SAACtC,GACnB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAMwF,KAAMuJ,QAGjDu7B,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAM0Q,EAAcwC,IAAMiE,aAAa,4BAKlEpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,KAGLrgB,EAAQqD,EAAM4C,KAAO,yBAA2B,sBAEhDs0B,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAOwF,KAAM,UACpDX,GAAO06H,KAGX,OACI,sBAAKz7H,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KAErB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAM,iBACNiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,qBACTG,WAAY,kBAAMvG,EAAc,SAEnCzO,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAArE,SACI,cAAC,GAAD,CAAqB6F,KAAM5C,EAAM4C,KAAM9F,QAAS,kBAAMo6B,GAAW,QAErE,SC1FH0lG,GAAmB,uCAAG,WAAOl+H,GAAP,eAAA+B,EAAA,sEACf6B,aAAY,+BAAD,OAAgC5D,IAD5B,cAC3BuD,EAD2B,yBAExBA,GAFwB,2CAAH,sDAKnB46H,GAAuB,uCAAG,4BAAAp8H,EAAA,sEACnB6B,aAAY,oCADO,cAC/BL,EAD+B,yBAE5BA,GAF4B,2CAAH,qDAKvB+hF,GAAW,uCAAG,WAAOphF,GAAP,eAAAnC,EAAA,sEACPsB,aAAa,+BAAgCa,GADtC,cACnBX,EADmB,yBAEhBA,GAFgB,2CAAH,sDCOlBqF,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCq3D,MAAO,CACH30D,MAAO,MACPgI,WAAY,OACZxK,OAAQ,GACRg3B,gBAAiB,UACjBr/B,QAAS,IAEb4kF,UAAW,CACP/5E,MAAO,MACPxC,OAAQ,GACRg3B,gBAAiB,UACjBr/B,QAAS,IAEb6kF,MAAO,CACHltE,UAAW,SACXtP,OAAQ,GACRrI,QAAS,IAEb8kF,aAAc,CAEVnnF,SAAU,OACV,uBAAwB,CACpBkN,MAAO,SAEX,6BAA8B,CAC1BoiB,UAAW,iCACX83D,gBAAiB,kCAErB,6BAA8B,CAC1B1lD,gBAAiB,UACjBuoB,QAAS,EACTo9B,QAAS,wBAGjBC,aAAc,CACVC,WAAY,0BAIdC,GAAc,CAChBC,GAAI,CACAC,YAAa,qBAEjBC,GAAI,CACAJ,WAAY,sBAId90D,GAAe,CACjBvlB,MAAO,OACPjN,OAAQ,uBAGN0a,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,UAAW0R,QAAQ,IAkQhBilH,GA/Pc,WACzB,IAAQ3hF,EAAgB5wC,eAAhB4wC,YACFlL,EAAa1lC,eAAe2lC,UAAUh8B,SAAS,YACrD,EAA0B3V,mBAAS,CAC/BmK,QAAS,KACTgxB,SAAU,GACV9Y,WAAY,GACZ4oB,aAAc,KACdq7C,YAAa,GACbx2D,aAAa,EACbtmB,YAAY,EACZg1H,eAAgB,KARpB,mBAAO/8H,EAAP,KAAcxB,EAAd,KAWA2B,oBAAS,sBAAC,4BAAAM,EAAA,sEACUo8H,KADV,QACF56H,EADE,QAEEoE,SACJ7H,GAAS,SAAC4B,GACN,IACiB,EADbg8B,EAAK,eAAQh8B,GACZ6vC,IACD7T,EAAM1C,SAAWz3B,EAAIW,KAAK4V,KAC1B4jB,EAAM2gG,eAAiB96H,EAAIW,KAAK4V,KAChC4jB,EAAMxb,WAAN,UAAmB3e,EAAIW,KAAK4V,KAAK,UAAjC,aAAmB,EAAkBoI,YAEzC,OAAOwb,KAVT,2CAaP,IAEH,IAAM0oD,EAAuB,WACzB,IAAMC,EAAa7kF,mBAEnB,OADAC,qBAAU,kBAAM4kF,EAAWjkF,QAAQkkF,oBAC5B,qBAAK5jF,IAAK2jF,KAGfE,EAAW,uCAAG,4BAAAxkF,EAAA,sEACAm8H,GAAoB58H,EAAM4gB,YAD1B,QACZ3e,EADY,QAERoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELykF,YAAa5iF,EAAIW,KAAK4V,KAAK0sE,MAAK,SAACzkF,EAAGorB,GAAJ,OAAWprB,EAAE0kF,MAAQt5D,EAAEs5D,MAAQ,EAAIt5D,EAAEs5D,MAAQ1kF,EAAE0kF,OAAS,EAAI,KAC5Fp9E,YAAY,OANJ,2CAAH,qDAUjB5H,oBAAS,sBAAC,sBAAAM,EAAA,sDACNwkF,IADM,2CAEP,CAACjlF,EAAM4gB,aAuBV,IAQMwkE,EAAa,WACf,IAAI5sB,GAAU,EAOd,OANKx4D,EAAM0I,UACP8vD,GAAU,GAET,QAAQhqD,KAAKxO,EAAM0I,WACpB8vD,GAAU,GAEPA,GAGL6sB,EAAa,uCAAG,4BAAA5kF,EAAA,0DACd2kF,IADc,uBAEVxiF,EAAO,CACPge,WAAY5gB,EAAM4gB,WAClBlY,QAAS1I,EAAM0I,SAJL,SAOEs7E,GAAYphF,GAPd,cAQNyD,UACJ4+E,IACAzmF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELsI,QAAS,SAZH,2CAAH,qDAkBbR,EAAUZ,KAEhB,OACI,sBAAKpG,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,eAACzY,EAAA,EAAD,CACIC,WAAS,EACT5B,MAAO,CACHN,OAAQ,sBACRD,SAAU,OACVgE,UAAW,OACXsrB,UAAW,2BANnB,UASK,KACC2jB,GACE,eAAC/wC,EAAA,EAAD,CACII,MAAI,EACJC,GAAI,EACJ+tB,GAAI,EACJC,GAAI,EACJgR,GAAI,EACJhhC,MAAO,CACH+uB,UAAW,2BACXjtB,QAAS,sBARjB,UAWI,cAACqK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAO,CAAEyZ,UAAW,SAAU3X,QAAS,IAAlF,uBAIA,cAAC,IAAD,CAAayP,YAAY,SAAS3I,KAAK,YAAY6C,SAzFhD,SAACX,GACpB7J,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GAEjB,OADAg8B,EAAM2gG,eAAiB38H,EAAGs5B,SAASe,QAAO,SAAC3M,GAAD,OAAOA,EAAE6iB,SAAS9mB,cAAc3V,SAAS7L,EAAEE,OAAO7J,UACrF09B,QAsFK,cAAC,KAAD,CAAM4gG,OAAK,EAAC97H,UAAWgH,EAAQi8E,aAAc5mF,MAAOkyB,GAApD,SACKzvB,EAAM+8H,eAAej3H,KAAI,SAACxG,EAAMuhD,GAC7B,IAAMo8E,EAAO,wCAAoC39H,EAAKshB,YACtD,OACI,cAACphB,EAAA,EAAD,CACI0B,UAAW5B,EAAKshB,aAAe5gB,EAAM4gB,WAAa1Y,EAAQo8E,aAAe,GACzE/mF,MAAO,CAAEmK,OAAQ,MAAOwC,MAAO,OAC/BnM,QAAS,kBAzFzBH,EAyF0C0B,EAAKshB,gBAxF/DpiB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwgB,WAAYhjB,EACZmK,YAAY,OAJD,IAACnK,GAsFY,SAKI,eAACs/H,GAAA,EAAD,WACI,cAACC,GAAA,EAAD,CAAc5/H,MAAO,CAAE2U,WAAY,OAAStU,GAAIq/H,EAASG,QAAS99H,EAAKqxC,WACvE,cAACuuB,GAAA,EAAD,CAAOomC,aAAchmG,EAAK+9H,mBAAoB59H,MAAM,UAAUlC,MAAO,CAAE8B,QAAS,OAFrEwhD,aAUvC,eAAC3hD,EAAA,EAAD,CACII,MAAI,EACJC,GAAK0wC,EAAiB,GAAJ,EAClB3iB,GAAK2iB,EAAiB,GAAJ,EAClB1iB,GAAK0iB,EAAiB,GAAJ,EAClB1R,GAAK0R,EAAkB,GAAL,GAClB1yC,MAAO,CAAE8B,QAAS,sBANtB,UAQI,cAACqK,GAAA,EAAD,CAAYhK,QAAQ,KAApB,kBACCM,EAAM+H,WACH,qBACIxK,MAAO,CACHN,OAAQ,sBACRI,QAAS,OACTuxB,cAAe,SACfC,eAAgB,UALxB,SAQI,cAACC,GAAA,EAAD,CAAkBvxB,MAAO,CAAE2U,WAAY,OAAQ7V,YAAa,YAGhE,qBAAK6E,UAAWgH,EAAQi8E,aAAc5mF,MAAO,CAAEN,OAAQ,uBAAvD,SACkC,IAA7B+C,EAAM6kF,YAAYt2E,OACf,qCACKvO,EAAM6kF,YAAY/+E,KAAI,SAACgoB,EAAGmM,GACvB,IAAIqrD,EAAYx3D,EAAE3nB,OAASg1C,EAAcjzC,EAAQ+7E,UAAY/7E,EAAQ22D,MAErE,OACI,8BACI,cAACvnC,GAAA,EAAD,CACIp2B,UAAWokF,EACX/nF,MAAOuwB,EAAEy3D,MAASz3D,EAAE3nB,OAASg1C,EAAcqpC,GAAYG,GAAKH,GAAYC,GAAM,KAFlF,SAII,eAACvlF,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,qBAAK7B,MAAO,CAAE2M,MAAO,QAArB,SACI,cAACR,GAAA,EAAD,UAAaokB,EAAEwtD,UAEnB,qBAAK/9E,MAAO,CAAE2M,MAAO,OAArB,SACI,kCACK4jB,EAAE3nB,KADP,MACgBiQ,KAAO0X,EAAEq3D,OAAO9uE,OAAO,4BAI1CyX,EAAEy3D,OACC,qBAAKhoF,MAAO,CAAE2M,MAAO,MAAO8M,UAAW,SAAvC,SACI,2CAAcZ,KAAO0X,EAAEy3D,OAAOlvE,OAAO,sCAQjE,cAACyuE,EAAD,OAGJ,8BACI,qBAAK5jF,UAAWgH,EAAQg8E,MAAxB,SACI,eAAChlF,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,qBAAK7B,MAAO,CAAE2M,MAAO,QAArB,SACI,cAACR,GAAA,EAAD,oDAEJ,qBAAKnM,MAAO,CAAE2M,MAAO,QAArB,SACI,gCAAQkM,OAASC,OAAO,oCASpD,cAACnX,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAAQ,gBAApC,SACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACimF,GAAA,EAAD,CACI7lF,WAAS,EACTmP,YAAY,qBACZ3I,KAAK,UACLzH,MAAOsB,EAAM0I,QACbM,SAvKR,SAACX,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJ+F,EAAOzH,QAoKYoM,UA7K5B,SAAqBzC,GACH,UAAVA,EAAEsC,KAA6B,gBAAVtC,EAAEsC,KACvB06E,KA4KoBn1B,aACI,cAACC,GAAA,EAAD,CAAgB3yD,SAAS,MAAzB,SACI,cAACkZ,EAAA,EAAD,CAAY+uE,KAAK,MAAjB,SACI,cAAC,KAAD,CAAU1nF,QAASsnF,EAAe9nF,MAAO,CAAEI,OAAQ,WAAa8B,MAAM,kCC9TrG69H,GAAa,uCAAG,4BAAA78H,EAAA,sEACT6B,aAAY,SADH,cACrBL,EADqB,yBAElBA,GAFkB,2CAAH,qDAKbs7H,GAAyB,uCAAG,4BAAA98H,EAAA,sEACrB6B,aAAY,yBADS,cACjCL,EADiC,yBAE9BA,GAF8B,2CAAH,qDAKzBu7H,GAAa,uCAAG,WAAO56H,GAAP,eAAAnC,EAAA,sEACTsB,aAAa,QAASa,GADb,cACrBX,EADqB,yBAElBA,GAFkB,2CAAH,sDAKbw7H,GAAc,uCAAG,WAAOh9G,GAAP,eAAAhgB,EAAA,sEACV6B,aAAY,SAAD,OAAUme,IADX,cACtBxe,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKdy7H,GAAe,uCAAG,WAAOC,GAAP,eAAAl9H,EAAA,sEACX6B,aAAY,aAAD,OAAcq7H,IADd,cACvB17H,EADuB,yBAEpBA,GAFoB,2CAAH,sDAKf27H,GAAY,uCAAG,WAAOh7H,GAAP,eAAAnC,EAAA,sEACRsB,aAAa,YAAaa,GADlB,cACpBX,EADoB,yBAEjBA,GAFiB,2CAAH,sDAKZ47H,GAAc,uCAAG,WAAOj7H,GAAP,eAAAnC,EAAA,sEACVsB,aAAa,oBAAqBa,GADxB,cACtBX,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKd67H,GAAe,uCAAG,WAAOl7H,GAAP,eAAAnC,EAAA,sEACXsB,aAAa,qBAAsBa,GADxB,cACvBX,EADuB,yBAEpBA,GAFoB,2CAAH,sDC1Bf87H,GAAyBj3G,0BAEzBk3G,GAAoB,SAACzhI,GAAW,IAAD,IACxC,EAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEtBuD,EAAU8b,eAEd,EAA0B3oB,mBAAS,CAC/B4O,OAAQ,GACR8wH,OAAQ,KACRC,gBAAiB,GACjBC,qBAAsB,GACtBC,cAAe,KACfC,0BAA2B,GAC3BC,aAAc,GACdC,aAAc,GACdC,qBAAsB,GACtBC,oBAAqB,GACrBC,aAAc,GACdC,WAAY,GACZC,gBAAiB,GACjBC,SAAU,GACVC,iBAAkB,GAClBC,kBAAmB,GACnBC,aAAc,KACdC,WAAY,GACZC,UAAW,GACXC,sBAAuB,KACvBC,iBAAkB,KAClBC,gBAAiB,KACjBC,gBAAiB,OAvBrB,mBAAOt/H,EAAP,KAAcxB,EAAd,KA0BM6P,EAAc,WAChB,IAAQ8vH,EAAuGn+H,EAAvGm+H,qBAAsBK,EAAiFx+H,EAAjFw+H,qBAAsBN,EAA2Dl+H,EAA3Dk+H,gBAAiBY,EAA0C9+H,EAA1C8+H,iBAAkBL,EAAwBz+H,EAAxBy+H,oBACnFnwH,GAAc,EACdnB,EAAS,GACR,QAAQqB,KAAKswH,KACd3xH,EAAO2xH,iBAAmB,mBAC1BxwH,GAAc,GAEb,QAAQE,KAAK0vH,KACd/wH,EAAO+wH,gBAAkB,2BACzB5vH,GAAc,GAEb,QAAQE,KAAKiwH,KACdtxH,EAAOsxH,oBAAsB,2BAC7BnwH,GAAc,GAgBlB,OAbK4b,aAAgBi0G,KAAyB,QAAQ3vH,KAAK2vH,IAA0Bp0G,kBAAOo0G,KACxFhxH,EAAOgxH,qBAAuB,mBAC9B7vH,GAAc,GAHH,4DAKDE,KAAKgwH,KACfrxH,EAAOqxH,qBAAuB,uBAC9BlwH,GAAc,GAEbiM,EAAYglH,uBACbpyH,EAAOoyH,qBAAuB,qBAC9BjxH,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGX,EAAuC/P,mBAAS,CAC5CihI,uBAAwB,GACxBC,WAAY,GACZC,oBAAqB,GACrBC,oBAAqB,GACrBC,eAAgB,KALpB,mBAAOl3G,EAAP,KAAqBC,EAArB,KAQA,EAAsCpqB,mBAAS,CAC3CshI,mBAAoB,KACpBN,qBAAsB,KACtBG,oBAAqB,GACrBI,mBAAoB,KAJxB,mBAAOvlH,EAAP,KAAoBC,EAApB,KAOAra,oBAAS,sBAAC,gCAAAM,EAAA,sEACU88H,KADV,OACFt7H,EADE,OAEA89H,EAFA,OAEgB99H,QAFhB,IAEgBA,GAFhB,UAEgBA,EAAKW,YAFrB,aAEgB,EAAWo9H,iBAAiBl6H,KAAI,SAACgoB,GAAD,MAAQ,CAAElwB,GAAIkwB,EAAElwB,GAAIuI,KAAM2nB,EAAEmyG,QAClFt3G,GAAe,SAACvoB,GAAD,+BAAC,eACTA,GADQ,IAEXo/H,uBAAsB,OAAEv9H,QAAF,IAAEA,GAAF,UAAEA,EAAKW,YAAP,aAAE,EAAWs9H,cACnCT,WAAU,OAAEx9H,QAAF,IAAEA,GAAF,UAAEA,EAAKW,YAAP,aAAE,EAAWu9H,SACvBR,oBAAmB,OAAE19H,QAAF,IAAEA,GAAF,UAAEA,EAAKW,YAAP,aAAE,EAAWw9H,gBAChCR,eAAc,OAAE39H,QAAF,IAAEA,GAAF,UAAEA,EAAKW,YAAP,aAAE,EAAWy9H,WAC3BX,oBAAqBK,OAEzBO,IACAr0E,IAZM,2CAaP,IAEH,IAAM9pD,EAAE,OAAG5F,QAAH,IAAGA,GAAH,UAAGA,EAAO2P,aAAV,iBAAG,EAAcC,cAAjB,aAAG,EAAsBvO,GAC3B0iI,EAAe,uCAAG,gCAAA7/H,EAAA,yDACT,MAAP0B,EADgB,gCAEAs7H,GAAet7H,GAFf,OAEZF,EAFY,OAGVW,EAHU,OAGHX,QAHG,IAGHA,GAHG,UAGHA,EAAKW,YAHF,aAGH,EAAW2G,QAAQ,GAChC/K,GAAS,SAAC4B,GAAD,2BAAC,eACHA,GADE,IAEL6+H,WAAU,OAAEr8H,QAAF,IAAEA,OAAF,EAAEA,EAAMq8H,WAClBsB,aAAY,OAAE39H,QAAF,IAAEA,OAAF,EAAEA,EAAM29H,aACpBlC,0BAAyB,OAAEz7H,QAAF,IAAEA,OAAF,EAAEA,EAAMy7H,0BACjCC,aAAY,OAAE17H,QAAF,IAAEA,OAAF,EAAEA,EAAM07H,aACpBC,aAAY,OAAE37H,QAAF,IAAEA,OAAF,EAAEA,EAAM27H,aACpBM,SAAQ,OAAEj8H,QAAF,IAAEA,OAAF,EAAEA,EAAMi8H,SAChBX,gBAAe,OAAEt7H,QAAF,IAAEA,OAAF,EAAEA,EAAMs7H,gBACvBmB,gBAAe,OAAEz8H,QAAF,IAAEA,OAAF,EAAEA,EAAMy8H,gBACvBT,gBAAe,OAAEh8H,QAAF,IAAEA,OAAF,EAAEA,EAAMg8H,gBACvBD,WAAU,OAAE/7H,QAAF,IAAEA,OAAF,EAAEA,EAAM+7H,WAClBP,cAAa,OAAEx7H,QAAF,IAAEA,OAAF,EAAEA,EAAMw7H,cACrBY,aAAY,OAAEp8H,QAAF,IAAEA,OAAF,EAAEA,EAAMo8H,aACpBO,qBAAoB,OAAE38H,QAAF,IAAEA,OAAF,EAAEA,EAAM28H,qBAC5BR,kBAAiB,OAAEn8H,QAAF,IAAEA,OAAF,EAAEA,EAAMm8H,kBACzBD,iBAAgB,OAAEl8H,QAAF,IAAEA,OAAF,EAAEA,EAAMk8H,iBACxBM,iBAAgB,OAAEx8H,QAAF,IAAEA,OAAF,EAAEA,EAAMw8H,iBACxBjB,qBAAoB,OAAEv7H,QAAF,IAAEA,OAAF,EAAEA,EAAMu7H,qBAC5BM,oBAAmB,OAAE77H,QAAF,IAAEA,OAAF,EAAEA,EAAM67H,oBAC3BD,qBAAoB,OAAE57H,QAAF,IAAEA,OAAF,EAAEA,EAAM47H,qBAC5BE,aAAY,OAAE97H,QAAF,IAAEA,OAAF,EAAEA,EAAM87H,aACpBT,OAAM,OAAEr7H,QAAF,IAAEA,OAAF,EAAEA,EAAMq7H,OACd4B,mBAAkB,OAAEj9H,QAAF,IAAEA,OAAF,EAAEA,EAAMi9H,mBAC1BP,gBAAe,OAAE18H,QAAF,IAAEA,OAAF,EAAEA,EAAM08H,gBACvBI,oBAAmB,UAAEz9H,EAAIW,YAAN,aAAE,EAAU49H,yBAAyB16H,KAAI,SAACgoB,GAAD,OAAOA,EAAE2yG,6BACrED,0BAA0B,UAAAv+H,EAAIW,YAAJ,eAAU49H,2BAA4B,QA9BpD,2CAAH,qDAmCrBrgI,qBAAU,WACN,IAAIi8B,EAAQ,GACRp8B,EAAM6/H,qBACNzjG,EAAMyjG,mBAAqBn3G,EAAa82G,uBAAuBzvH,MAAK,qBAAGnS,KAAgBoC,EAAM6/H,uBAE7F7/H,EAAMu/H,uBACNnjG,EAAMmjG,qBAAuB72G,EAAa+2G,WAAW1vH,MAAK,qBAAGnS,KAAgBoC,EAAMu/H,yBAEnFv/H,EAAM0/H,sBACNtjG,EAAM0jG,mBAAqBp3G,EAAag3G,oBAAoBjlG,QAAO,SAAC1sB,GAAD,OAAO/N,EAAM0/H,oBAAoBv2E,QAAQp7C,EAAEnQ,KAAO,MAEzH4c,GAAe,SAACpa,GAAD,mBAAC,eACTA,GACAg8B,QAER,CAAC1T,EAAc1oB,EAAM6/H,mBAAoB7/H,EAAMu/H,qBAAsBv/H,EAAM0/H,sBAE9E,IAAMzzE,EAAS,uCAAG,4BAAAxrD,EAAA,yDACH,MAAP0B,EADU,gCAEMu7H,GAAgBv7H,GAFtB,OAENF,EAFM,OAGVzD,GAAS,SAAC4B,GAAD,yBAAC,eAAaA,GAAd,IAAkB8+H,UAAS,OAAEj9H,QAAF,IAAEA,GAAF,UAAEA,EAAKW,YAAP,aAAE,EAAW4V,UAHvC,2CAAH,qDA8BT2R,EAAY,uCAAG,oCAAA1pB,EAAA,0DACb4N,IADa,uBAETzL,EAAO,CACPq7H,OAAQj+H,EAAMi+H,OACdC,gBAAiBl+H,EAAMk+H,gBACvBC,qBAAsBn+H,EAAMm+H,qBAC5BC,cAAep+H,EAAMo+H,cACrBC,0BAA2Br+H,EAAMq+H,0BACjCO,gBAAiB5+H,EAAM4+H,gBACvBiB,oBAAoB,UAAAtlH,EAAYslH,0BAAZ,eAAgCjiI,KAAM,KAC1D4gI,qBAAsBx+H,EAAMw+H,qBAC5BC,oBAAqBz+H,EAAMy+H,oBAC3BF,aAAcv+H,EAAMu+H,aACpBD,aAAct+H,EAAMs+H,aACpBI,aAAc1+H,EAAM0+H,aACpBC,WAAY3+H,EAAM2+H,WAClBE,SAAU7+H,EAAM6+H,SAChBC,iBAAkB9+H,EAAM8+H,iBACxBC,kBAAmB/+H,EAAM++H,kBACzBQ,sBAAsB,UAAAhlH,EAAYglH,4BAAZ,eAAkC3hI,KAAM,KAC9D8iI,4BACI,UAAAnmH,EAAYulH,0BAAZ,eAAgCh6H,KAAI,SAACgoB,GAAD,MAAQ,CACxClwB,GAAIkwB,EAAElwB,SACH,IAvBF,SAyBG4/H,GAAc56H,GAzBjB,QAyBTX,EAzBS,QA0BLoE,SACJyB,EAAiB7F,EAAIyG,SAAW,2BAChC0C,EAAQ8qG,UAERruG,EAAe5F,EAAIyG,SA9BV,2CAAH,qDAkDlB,OACI,cAACq1H,GAAuB1zG,SAAxB,CACI3rB,MAAO,CACHsB,QACAmqB,eACA/b,YAtEQ,SAAC/F,GACjB,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACP,SAAVvK,GAA2C,UAAvBuK,EAAK4gB,cACzBrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAClB,UAAVzH,GAA4C,UAAvBuK,EAAK4gB,cACjCrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAEnC3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAgE/B8d,mBA5De,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SA4D/BogB,eACAnO,cACAmQ,OApBG,SAACC,GACZnsB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk+H,aAAc3zG,EAAEC,aAChB2zG,aAAc5zG,EAAEE,aAChB8zG,WAAYh0G,EAAEI,OACd8zG,SAAUl0G,EAAEG,KACZ4zG,aAAc/zG,EAAEK,eAcZ21G,oBAnFgB,SAACt4H,EAAG3J,GAC5B8b,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,IAAkB0/H,mBAAoBphI,OACrDF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAY++H,sBAAuBzgI,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,YAiF3DgjI,aA1BS,WACjBx1H,EAAQC,KAAR,yBAA+BrL,EAAMi+H,UA0B7BqC,kBACAr0E,aAZR,SAeK1vD,EAAMK,YC9IJikI,GA3GK,SAACtkI,GACjB,IAY4Bue,EAZ5B,EAA0Bvc,mBAAS,CAC/B4O,OAAQ,GACR6xH,aAAc,GACd8B,aAAc,GACdC,QAAS,GACTnB,eAAgB,CACZ,CAAEhiI,GAAI,EAAGuI,KAAM,cACf,CAAEvI,GAAI,EAAGuI,KAAM,WAPvB,mBAAOnG,EAAP,KAAcxB,EAAd,KAUA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAMpBwG,EAAc,WAChB,IAAIC,GAAc,EACdnB,EAAS,GAcb,MAbK,QAAQqB,KAAKxO,EAAM+gI,WACpB5zH,EAAO4zH,QAAU,sBACjBzyH,GAAc,GAEb,QAAQE,KAAKxO,EAAMg/H,gBACpB7xH,EAAO6zH,SAAW,qBAClB1yH,GAAc,GAEQ,GAAtBtO,EAAMg/H,cAAsB,QAAQxwH,KAAKxO,EAAM8gI,gBAC/C3zH,EAAO8zH,SAAW,qBAClB3yH,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGLsrC,EAAa,uCAAG,gCAAAn5C,EAAA,0DACd4N,IADc,uBAEVyrC,EAAW,CACXmkF,OAAQ1hI,EAAM0hI,OACdiD,SAAUlhI,EAAMg/H,aAChBmC,YAAanhI,EAAM+gI,QACnBD,aAAY,UAAE9gI,EAAM8gI,oBAAR,aAAE,EAAoBljI,IANxB,SAQEkgI,GAAgBhkF,GARlB,QAQV73C,EARU,QASNoE,SACJyB,EAAiB,+BACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAbT,2CAAH,qDA4BnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,yBAGA,cAAC,IAAD,CACI7E,MAAM,MACN/D,KAAK,eACL6C,SAfM,SAACu8D,GACnB/mE,GAAS,SAACm4B,GAAD,mBAAC,eACHA,GACA4uC,OAaK7mE,MAAOsB,EAAMg/H,aACbhkH,QAAShb,EAAM4/H,eACf9sD,kBAAkB,KAClBC,iBAAiB,SAErB,cAACpxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO6zH,cAExC,eAAC9hI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAS,UAA2B,GAAtBlB,EAAMg/H,aAAoB,GAAK,oBAAhE,UACI,cAACt+H,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,yBAGA,cAAC,IAAD,CACI/D,SAAiC,IAAtBhL,EAAMg/H,aACjBhkH,QAASze,EAAMojI,qBAAuB,GACtCjhI,MAAOsB,EAAM8gI,aACb93H,UA5EY8R,EA4EiB,eA5EV,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,WA6EzB,cAAC3G,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO8zH,cAExC,eAAC/hI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CAAW+tB,WAAS,EAACzQ,KAAM,EAAGjV,SAzCf,SAACX,GACxB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAuCiCoQ,YAAY,UAAU3I,KAAK,YACvF,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO4zH,aAExC,cAAC7hI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBI,WAAS,EAACuB,UAAU,aAAanD,QAAS67C,EAA3D,wBC1DDwnF,GAzCS,SAAC7kI,GACrB,MAA0BgC,mBAAS,CAC/B4O,OAAQ,GACR49B,YAAa,KAFjB,mBAAO/qC,EAAP,KAAcxB,EAAd,KAIA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpB+xC,EAAa,uCAAG,8BAAAn5C,EAAA,6DACdq5C,EAAW,CACXmkF,OAAQ1hI,EAAM0hI,OACdlzF,YAAa/qC,EAAM+qC,aAHL,SAKF8yF,GAAe/jF,GALb,QAKd73C,EALc,QAMVoE,SACJyB,EAAiB,mCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAVL,2CAAH,qDAmBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAE2M,MAAO,SAA5C,UACI,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,IAAD,CAAW+tB,WAAS,EAACzQ,KAAM,EAAGjV,SATf,SAACX,GACxB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAOiCoQ,YAAY,OAAO3I,KAAK,mBAExF,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBI,WAAS,EAACqL,UAAWhL,EAAM+qC,YAAa7pC,UAAU,aAAanD,QAAS67C,EAAzF,wBCpBVkE,GAAoBC,aAAW,CACjCC,iBAAkB,CACd5xB,IAAK,IAETvU,OAAQ,CACJ,UAAW,CACPomC,gBAAiB,uFAGzBC,UAAW,CACP,UAAW,CACPD,gBAAiB,uFAGzBE,KAAM,CACFlhD,OAAQ,EACRsgC,OAAQ,EACRmB,gBAAiB,UACjBzS,aAAc,IAlBI8xB,CAoBvBK,MAEGC,GAA4B92C,YAAW,CACzCE,KAAK,aACDi3B,gBAAiB,OACjBloB,OAAQ,EACR/W,MAAO,OACPyK,MAAO,GACPjN,OAAQ,GACRI,QAAS,OACT4uB,aAAc,MACd4C,eAAgB,SAChBvxB,WAAY,UACX,2BAA6B,CAC1B4M,MAAO,SAAC2N,GAAD,OAAaA,EAAS,GAAK,IAClC5a,OAAQ,SAAC4a,GAAD,OAAaA,EAAS,GAAK,IACnC7W,UAAW,SAAC6W,GAAD,OAAaA,EAAS,MAAQ,SAGjDA,OAAQ,CACJomC,gBAAiB,yFACjB3xB,UAAW,gCAEf4xB,UAAW,CACPD,gBAAiB,0FAErBK,MAAM,aACF1nC,SAAU,UACT,2BAA6B,CAC1BA,SAAU,SAACiB,GAAD,OAAaA,EAAS,SAAW,cAKjD0mC,GAAmB,SAAChiD,GAAW,IAAD,EACxBsb,EAAiCtb,EAAjCsb,OAAQqmC,EAAyB3hD,EAAzB2hD,UAAWM,EAAcjiD,EAAdiiD,UACrBt2C,EAAUm2C,GAA0BxmC,GAEpCymC,EAAQ,CAAC,cAAC,KAAD,CAASp9C,UAAWgH,EAAQo2C,QAAW,cAAC,KAAD,CAAcp9C,UAAWgH,EAAQo2C,QAAW,cAAC,KAAD,CAAep9C,UAAWgH,EAAQo2C,SAKpI,OAHkB,IAAdE,GACAF,EAAMrmB,OAAO,EAAG,EAAG,cAAC,KAAD,CAAgB/2B,UAAWgH,EAAQo2C,SAGtD,qBACIp9C,UAAWu9C,kBAAKv2C,EAAQT,MAAT,mBACVS,EAAQ2P,OAASA,GADP,cAEV3P,EAAQg2C,UAAYA,GAFV,IADnB,SAMKI,EAAM/hD,EAAMuY,KAAO,MAS1BxN,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFyC,MAAO,QAEXa,OAAQ,CACJ1O,YAAamL,EAAMpI,QAAQ,IAE/Bs/C,aAAc,CACV19C,UAAWwG,EAAMpI,QAAQ,GACzB6/B,aAAcz3B,EAAMpI,QAAQ,QAIrB,SAASiiI,GAAe9kI,GAAQ,IAAD,QACpC2L,EAAUZ,KAEhB,EAAoC44B,IAAM3hC,SAAS,GAAnD,mBAAOmhD,EAAP,KAAmBC,EAAnB,KAEA,EAAwBzf,IAAM3hC,SAAS,CAAE+iI,YAAY,EAAO/xG,MAAM,EAAOuwB,MAAO,KAAhF,mBAAOE,EAAP,KAAaC,EAAb,KAEA9/C,oBAAS,sBAAC,4CAAAM,EAAA,sDACF0/C,EAAW,CACX,CACIxjD,MAAO,cACP0jD,OAAO,EACP3hD,MAAO6N,IAAWouC,kBAAX,UAA6Bp+C,EAAMqG,YAAnC,aAA6B,EAAYy8H,kBAEpD,CACI1iI,MAAO,eACP0jD,OAAO,UAAA9jD,EAAMqG,YAAN,eAAY29H,cAAe,KAAO,cAAC,KAAD,CAAS3pH,SAAS,UAC3DlY,MAAO6N,IAAWouC,kBAAX,UAA6Bp+C,EAAMqG,YAAnC,aAA6B,EAAY29H,eATzC,2BAYJ,CAAE5jI,MAAoC,KAA7B,UAACJ,EAAMqG,YAAP,aAAC,EAAYo8H,cAAoB,OAAsC,KAA7B,UAACziI,EAAMqG,YAAP,aAAC,EAAYo8H,cAAoB,aAAe,WAZ/F,IAaP3+E,OAAO,UAAA9jD,EAAMqG,YAAN,eAAY08H,iBAAkB,KAAO,cAAC,KAAD,CAAS1oH,SAAS,UAC9DlY,MAAO6N,IAAWouC,kBAAX,UAA6Bp+C,EAAMqG,YAAnC,aAA6B,EAAY08H,oBAGxD3/E,GAAc,UAAApjD,EAAMqG,YAAN,eAAYo8H,eAAgB,GAE1C/+E,GAAQ,SAAC7/C,GAAD,mBAAC,eAAaA,GAAd,IAAkB0/C,MAAOK,OApB3B,2CAqBP,WAAC5jD,EAAMqG,YAAP,aAAC,EAAYo8H,aAAb,UAA2BziI,EAAMqG,YAAjC,aAA2B,EAAYw8H,mBAE1C,IAAMloG,EAAa,SAACj1B,GAChBg+C,GAAQ,SAAC7/C,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,EACN+xG,YAAY,OAEhBr/H,GAAO1F,EAAMO,QAAQmF,IAkBzB,OACI,sBAAKf,UAAWgH,EAAQT,KAAxB,UACI,cAACi6C,GAAA,EAAD,CACIxgD,UAAU,WACV88C,kBAAgB,EAChB0B,WAAYA,EACZiC,UAAW,cAAC,GAAD,CAAmB9pC,OAAQ6nC,IACtCniD,MAAO,CACH8B,QAAS,kBACTqI,OAAQ,qBAPhB,SAUKs4C,EAAKF,MAAMh6C,KAAI,SAACiD,EAAOkxB,GAAR,OACZ,cAACr5B,EAAA,EAAD,CAASihD,sBAAoB,EAACllD,MAAK,UAAKoM,EAAMpM,MAAX,YAAoBoM,EAAMrK,MAAQqK,EAAMrK,MAAQ,IAAnF,SACI,cAACojD,GAAA,EAAD,UACI,cAACC,GAAA,EAAD,CAAW7gD,UAAU,gBAAgB8gD,mBAtFhCxD,EAsF2EwB,EAAKF,MAAMvxC,OArF5G,SAAChS,GAAD,OAAW,cAAC,GAAD,aAAkBiiD,UAAWA,GAAejiD,MAqFtC,SACI,sBAAK2E,UAAS,UAAKw+C,IAAezlB,EAAI,GAAK,yBAA3C,UACI,gCACKlxB,EAAMpM,OACLoM,EAAMrK,OAASqK,EAAMs3C,MACnB,cAAC3pC,EAAA,EAAD,CACIC,aAAW,SACX5Y,QAAS,YArChC,SAACgL,GACJ,iBAAVA,GACAk3C,GAAQ,SAAC7/C,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,OAGA,WAAVxmB,GACAk3C,GAAQ,SAAC7/C,GAAD,mBAAC,eACFA,GADC,IAEJkhI,YAAY,OA4BwBr/E,CAAal5C,EAAMpM,QAEvBqO,SAAU00C,IAAezlB,EAL7B,SAOKlxB,EAAMs3C,QAEX,QAER,cAAC32C,GAAA,EAAD,CAAYhK,QAAQ,UAAUrC,QAAQ,QAAtC,SACK0L,EAAMrK,gBAnBmEu7B,GApFlF,IAACukB,OA+GpBwB,EAAKzwB,KACF,cAAC7yB,GAAA,EAAD,CAAYC,MAAM,eAAeG,QAAS,kBAAMo6B,GAAW,IAAQl6B,SAAS,OAAOD,SAAS,KAA5F,SACI,cAAC,GAAD,CAAiBkhI,OAAM,UAAE1hI,EAAMqG,YAAR,aAAE,EAAYq7H,OAAQnhI,QAAS,kBAAMo6B,GAAW,QAE3E,KACH8oB,EAAKshF,WACF,cAAC5kI,GAAA,EAAD,CAAYC,MAAM,eAAeG,QAAS,kBAAMo6B,GAAW,IAAQl6B,SAAS,OAAOD,SAAS,KAA5F,SACI,cAAC,GAAD,CAAakhI,OAAM,UAAE1hI,EAAMqG,YAAR,aAAE,EAAYq7H,OAAQnhI,QAAS,kBAAMo6B,GAAW,IAAOyoG,oBAAqBpjI,EAAMojI,wBAEzG,QC9MhB,IAAMhoH,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YAAayR,KAAM,cAC3B,CAAEzR,KAAM,kBAAmB0R,QAAQ,IAGjC0pH,GAAe,SAAChlI,GAClB,MACI2B,qBAAW6/H,IADP/9H,EAAR,EAAQA,MAAOmqB,EAAf,EAAeA,aAAc/b,EAA7B,EAA6BA,YAAakyH,EAA1C,EAA0CA,gBAAiBr0E,EAA3D,EAA2DA,UAAWvhC,EAAtE,EAAsEA,OAAQlO,EAA9E,EAA8EA,mBAAoBkM,EAAlG,EAAkGA,aAAcnO,EAAhH,EAAgHA,YAAaomH,EAA7H,EAA6HA,oBAE7H,EAAwBpiI,mBAAS,IAAjC,mBAAa4kE,GAAb,WAEM/3D,EAAU8b,eAUhB,OACI,sBAAKhmB,UAAW,WAAIlB,EAAM4gB,YAAc,UAAa,qBAArD,UACMrkB,EAAMqkB,WAA6E,KAAhE,cAAC,IAAD,CAAajJ,OAAQA,GAAQzW,UAAU,sBAC5D,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC8hI,GAAD,CACIz+H,KAAM5C,EACNg/H,aAAch/H,EAAMg/H,aACpBW,oBAAqBj3G,EAAai3G,oBAClC7iI,QAjBG,SAACmF,GACpBkhE,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,OAEVttB,GAAOq+H,IACPr+H,GAAOgqD,SAcC,cAAC/sD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAA9B,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,6BAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAAC,IAAD,CACI2N,WAAW,eACXC,YAAY,eACZpQ,MAAOsB,EAAMk+H,gBACbl1H,SAAUoF,EACVjI,KAAK,oBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO+wH,qBAExC,cAACh/H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI7uB,MAAOsB,EAAM0+H,cAAgB,GAC7B11H,SAAUoF,EACVjI,KAAK,eACLukB,OAAQA,EACRvd,OAAQnN,EAAMmN,OAAOuxH,iBAG7B,eAACx/H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,UACXC,YAAY,UACZpQ,MAAOsB,EAAMs+H,cAAgB,GAC7Bt1H,SAAUoF,EACVjI,KAAK,iBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOmxH,kBAExC,cAACp/H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,WACXC,YAAY,WACZpQ,MAAOsB,EAAMu+H,cAAgB,GAC7Bv1H,SAAUoF,EACVjI,KAAK,mBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,OAAOC,YAAY,OAAOpQ,MAAOsB,EAAM6+H,UAAY,GAAI71H,SAAUoF,EAAajI,KAAK,eAE/G,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CAAa1e,WAAW,SAASC,YAAY,SAASpQ,MAAOsB,EAAM2+H,YAAc,GAAI31H,SAAUoF,EAAajI,KAAK,iBAErH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,eACXC,YAAY,eACZpQ,MAAOsB,EAAM4+H,iBAAmB,GAChC51H,SAAUoF,EACVjI,KAAK,8BAOzB,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAA9B,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,0BAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,OACXC,YAAY,OACZpQ,MAAOsB,EAAMy+H,qBAAuB,GACpCz1H,SAAUoF,EACVjI,KAAK,sBACLgH,OAAQnN,EAAMmN,OAAOsxH,wBAG7B,cAACv/H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,eACXC,YAAY,eACZpQ,MAAOsB,EAAMw+H,sBAAwB,GACrCx1H,SAAUoF,EACVjI,KAAK,uBACLgH,OAAQnN,EAAMmN,OAAOqxH,yBAG7B,cAACt/H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,QACXC,YAAY,QACZpQ,MAAOsB,EAAMm+H,sBAAwB,GACrCn1H,SAAUoF,EACVjI,KAAK,uBACLgH,OAAQnN,EAAMmN,OAAOgxH,iCAOzC,cAACj/H,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAA9B,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,wBAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,aACXC,YAAY,aACZ7F,KAAK,SACLvK,MAAOsB,EAAMo+H,eAAiB,GAC9Bp1H,SAAUoF,EACVjI,KAAK,oBAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BACA,cAAC,IAAD,CACIqa,QAAS0N,EAAa82G,uBACtB9gI,MAAO6b,EAAYslH,mBACnB72H,SAAUwT,EAAmB,wBAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO0yH,wBAExC,eAAC3gI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BACA,cAAC,IAAD,CACIpD,MAAO,CAAEyD,WAAY,GACrBga,QAAS0N,EAAag3G,oBACtBhhI,MAAO6b,EAAYulH,mBACnB92H,SAAU23H,eAO9B,cAACzhI,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAA9B,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,oCAGA,uBACA,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAI1e,GAAI,GAAI2e,GAAI,GAAvC,SACI,cAAC,IAAD,CACImB,WAAS,EACTzQ,KAAM,EACNpP,WAAW,yBACXC,YAAY,yBACZpQ,MAAOsB,EAAMq+H,2BAA6B,GAC1Cr1H,SAAUoF,EACVjI,KAAK,qCAMrB,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAA9B,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,0BAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,OACXC,YAAY,OACZpQ,MAAOsB,EAAM8+H,iBACb91H,SAAUoF,EACVjI,KAAK,mBACLgH,OAAQnN,EAAMmN,OAAO2xH,qBAG7B,eAAC5/H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,oBACA,cAAC,IAAD,CACIqa,QAAS0N,EAAa+2G,WACtB/gI,MAAO6b,EAAYglH,qBACnBv2H,SAAUwT,EAAmB,0BAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOoyH,0BAExC,cAACrgI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,QACXC,YAAY,QACZpQ,MAAOsB,EAAM++H,mBAAqB,GAClC/1H,SAAUoF,EACVjI,KAAK,gCAMzB,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASosB,EAA1B,SAAyCnqB,EAAMi+H,OAAS,SAAW,UAEvE,cAAC/+H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CACI+sB,cAAc,EACdlwB,QAAS,WAELqN,EAAQ8qG,UAJhB,6BAsBLhoF,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAuBA,GAAvB,aACI,cAAC,GAAD,eAAkBA,QCjQxBilI,GAAY,CAAEzkG,EAAG,gBAAiBF,EAAG,iBAAkBF,EAAG,uBAAwBiF,EAAG,kBACrF6/F,GAAa,CAAE1kG,EAAG,cAAeF,EAAG,eAAgBF,EAAG,qBAAsBiF,EAAG,gBAChFxqB,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,KAAMiH,qBAAqB,GACnE,CAAExG,IAAK,kBAAmBxE,KAAM,gBAChC,CAAEwE,IAAK,sBAAuBxE,KAAM,gBACpC,CAAEwE,IAAK,uBAAwBxE,KAAM,iBACrC,CAAEwE,IAAK,uBAAwBxE,KAAM,iBACrC,CAAEwE,IAAK,WAAYxE,KAAM,QACzB,CAAEwE,IAAK,mBAAoBxE,KAAM,kBAqFtBu7H,GAlFS,SAACnlI,GACrB,MAA0BgC,mBAAS,CAC/BwZ,aAAa,EACb4pH,YAAa,KACbC,cAAe,GACf75H,YAAY,EACZ0K,SAAU,OALd,mBAAOzS,EAAP,KAAcxB,EAAd,KAQMmZ,EAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAMq7H,GAAUjlI,EAAMqB,IAAKia,QAAQ,IAGrCzM,EAAU8b,eAER26G,EAAiB,uCAAG,sBAAAphI,EAAA,sDACtBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHI,2CAAH,qDAOjB+I,EAAe,SAAC5W,EAAMqO,GACxB,OACI,qBAAK/P,UAAU,uBAAuB3D,MAAO,CAAEyZ,UAAW,UAA1D,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAM+jI,EAAqB,OAAC7wH,QAAD,IAACA,OAAD,EAACA,EAAKgtH,SAAS/oH,aAAa,sBAKlFpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYsI,GAEnBnB,IACR,IAEGypH,EAAwB,SAAC31H,GAC3Bf,EAAQC,KAAR,eAAqBc,EAArB,YAA+Bs1H,GAAWllI,EAAMqB,OAYhD8U,EAAM,6BAAyBnW,EAAMqB,IAEzC,OACI,qBAAKsD,UAAU,SAAf,SACKlB,EAAM+X,YACH,cAACgqH,GAAD,CAAiBjlI,QAVN,SAACmF,GACpBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,OAC9C9V,GAAO4/H,OAUC,sCACMtlI,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,IAE1C,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQA,EACRlC,uBAAuB,YACvBiB,YAAY,cACZoD,SAAU,cACVG,WA7BO,WACvB5J,EAAQC,KAAR,UA6BgBoH,SAAUzS,EAAMyS,iBCtCzBuvH,GAlDU,SAACzlI,GACtB,MAA0BgC,mBAAS,CAC/B0jI,WAAY1lI,EAAM0lI,YAAc,KAChCC,eAAgB3lI,EAAM2lI,gBAAkB,KACxCC,oBAAqB,KAHzB,mBAAOniI,EAAP,KAAcxB,EAAd,KAMA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAOpBsiB,EAAY,uCAAG,8BAAA1pB,EAAA,6DACXmC,EAAO,CACTq/H,WAAYjiI,EAAMiiI,WAClBC,eAAgBliI,EAAMkiI,eACtBC,oBAAqBniI,EAAMmiI,qBAJd,SAMDvE,GAAah7H,GANZ,QAMbX,EANa,QAOToE,SACJyB,EAAiB,2BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAXN,2CAAH,qDAclB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAE2M,MAAO,SAA5C,UACI,eAAChL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,yBACA,cAAC,IAAD,CACI+tB,WAAS,EACTzQ,KAAM,EACNnP,YAAY,cACZpQ,MAAOsB,EAAMmiI,oBACbn5H,SA5BI,SAACX,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QA2BvByH,KAAK,sBACL2C,WAAW,OAGnB,cAAC5J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBxB,QAASosB,EAAcnf,UAAWhL,EAAMmiI,oBAAqBxiI,WAAS,EAACuB,UAAU,aAAlG,wBCpCV4O,GAAU,CACZ,CAAEnF,IAAK,sBAAuBxE,KAAM,UAAW+D,MAAO,IAAKgH,UAAW3E,IAAW62C,qBACjF,CAAEz4C,IAAK,sBAAuBxE,KAAM,UAGlCq7H,GAAY,CAAEY,YAAa,gBAAiBC,aAAc,iBAAkBC,mBAAoB,uBAAwBC,aAAc,kBAEtIC,GAAmB,SAACjmI,GAAW,IAAD,IAC5BmuB,EAAM,OAAGnuB,QAAH,IAAGA,GAAH,UAAGA,EAAOgP,gBAAV,aAAG,EAAiBa,OAAOiyB,QAAQ,IAAK,IAAI+I,OAChDzvB,EAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAMq7H,GAAU92G,GAAS9S,KAAK,cAAD,OAAgB8S,IAC/C,CAAEvkB,KAAM,eAAgB0R,QAAQ,IAEpC,EAA0E3Z,qBAAW6/H,IAA7E/9H,EAAR,EAAQA,MAAOsgI,EAAf,EAAeA,gBAAiBr0E,EAAhC,EAAgCA,UAAW20E,EAA3C,EAA2CA,aAAcl4G,EAAzD,EAAyDA,aACzD,EAAwBnqB,mBAAS,IAAjC,mBAAOqE,EAAP,KAAaugE,EAAb,KAEM9W,EAAiB,SAACpqD,GACpBkhE,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,OAEVttB,GAAOq+H,IACPr+H,GAAOgqD,KAUX,OACI,sBAAK/qD,UAAU,SAAf,UACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAAC,IAAD,CAAauY,OAAQA,EAAQzW,UAAU,sBAEvC,cAACmgI,GAAD,CACIz+H,KAAM5C,EACNg/H,aAAch/H,EAAMg/H,aACpBW,oBAAqBj3G,EAAai3G,oBAClC7iI,QAASuvD,IAGb,eAACntD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIH,QAAS,EAAG8B,UAAU,sBAAnD,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,EAA/B,UACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqV,QAAQ,gBAAgBrX,MAAO,CAAEq9C,WAAY,OAAS15C,UAAU,aAA7F,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,+BAKJ,eAACP,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEq9C,WAAY,EAAG2S,cAAe,EAAGM,aAAc,GAAnE,UACI,cAAC,KAAD,CAAoBx9C,SAAU9T,EAAMolI,YAAarxH,UAAWtQ,EAAMsQ,UAAWE,uBAAuB,cADxG,WAGI,cAAC,IAAD,CAAYsE,KAAMC,KAAShM,MAAM,OAAOhL,QAAS6iI,EAAcrjI,MAAO,CAAE0X,WAAY,gBAG5F,eAAC/V,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,UACI,eAACL,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,aAAa3D,MAAO,CAAEmhC,gBAAiB,WAAtE,UACI,eAACx/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,0BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMk+H,iBAAmB,YAE3D,eAACh/H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,qBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SACK6M,IAAW2iB,iBAAiBlvB,EAAMs+H,aAAct+H,EAAMu+H,aAAcv+H,EAAM6+H,SAAU7+H,EAAM0+H,sBAIvG,eAACx/H,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,wBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMy+H,qBAAuB,YAE/D,eAACv/H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,mBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW4iB,cAAcnvB,EAAMm+H,2BAEjE,eAACj/H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,0BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8B6M,IAAW6iB,qBAAqBpvB,EAAMw+H,8BAG5E,eAACt/H,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,aAAa3D,MAAO,CAAEmhC,gBAAiB,WAAtE,UACI,eAACx/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMo+H,eAAiB,YAEzD,eAACl/H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,8BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,UACU,OAALM,QAAK,IAALA,GAAA,UAAAA,EAAOwgI,gCAAP,eAAiC16H,KAAI,SAACgoB,GACnC,OAAQ,OAADA,QAAC,IAADA,OAAA,EAAAA,EAAG20G,4BAA6B,SACrC,eAIlB,eAACvjI,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAC4B,UAAU,wBAA/B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,2BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAAsC,YAE1C,eAACR,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,cAA+B6M,IAAW4iB,cAAcnvB,EAAM++H,yBAElE,eAAC7/H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,SAApB,SAA8BM,EAAMi/H,YAAc,qBAKlE,eAAC//H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,EAA/B,UACI,eAACruB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqV,QAAQ,gBAAgBrX,MAAO,CAAEq9C,WAAY,OAAS15C,UAAU,uBAA7F,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACoK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,6BAIJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAAC/B,MAAO,CAAEq9C,WAAY,EAAG2S,cAAe,EAAGM,aAAc,GAAnE,SACI,cAAC,IAAD,CAAY/4C,KAAMC,KAAShM,MAAM,WAAWhL,QAnGvD,SAACkE,GACdkhE,GAAQ,SAAC/iE,GAAD,mBAAC,eACFA,GADC,IAEJmvB,MAAM,QAgG6EhyB,MAAO,CAAE0X,WAAY,eAG5F,cAAC/V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAUuQ,QAASA,GAASmO,KAAMje,EAAMk/H,UAAWx/G,OAAQ,iBAK1E9c,EAAK2sB,KACF,cAAC7yB,GAAA,EAAD,CAAYC,MAAM,gBAAgBG,QAAS,kBAAMuvD,GAAe,IAAQtvD,SAAS,KAAjF,SACI,cAAC,GAAD,aAAkBklI,WAAYjiI,EAAMiiI,WAAYC,eAAgBliI,EAAMi+H,OAAQ7zG,aAAc,kBAAMiiC,GAAe,KAAW9vD,MAEhI,SAYD2xB,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAuBA,GAAvB,aACI,cAAC,GAAD,eAAsBA,QC1H5B6a,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,KACxC,CAAES,IAAK,aAAcxE,KAAM,OAAQ+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,KACrF,CAAES,IAAK,QAASxE,KAAM,uBAAwB+D,MAAO,KACrD,CAAES,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,KACxC,CACIS,IAAK,OACLxE,KAAM,OACN+D,MAAO,KAEX,CAAES,IAAK,YAAaxE,KAAM,aAAc+D,MAAO,KAC/C,CAAES,IAAK,YAAaxE,KAAM,SAC1B,CAAEwE,IAAK,WAAYxE,KAAM,YACzB,CAAEwE,IAAK,YAAaxE,KAAM,iBAC1B,CAAEwE,IAAK,WAAYxE,KAAM,SAoRdu8H,GAjRK,SAACnmI,GACjB,IAAI6wB,EAAkB9sB,IAAW+sB,gBACjC,EAA0B9uB,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBzd,SAAU,KACV0zE,YAAY,IALhB,mBAAOnmF,EAAP,KAAcxB,EAAd,KAOI4M,EAAU8b,eAER/I,EAAW,uCAAG,sBAAA1d,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,KACd1I,YAAY,OAJA,2CAAH,qDA6CXmQ,EAAa,SAAC6C,EAAI9J,GACpB,OACI,sBACI1T,MACI,GAFR,WAOoB,OAAf6vB,QAAe,IAAfA,OAAA,EAAAA,EAAiB0gC,eACd,cAAC,KAAD,CACIh5C,KAAMiyC,KACN7xC,aAA0B,OAAZjE,EAAIhI,KAAgB,WAAa,YAC/ClL,QAAS,YAvBN,SAACkT,GACpB,IAAImrB,EAAQ,GACI,OAAZnrB,EAAIhI,KAAemzB,EAAMumG,cAAe,EACvCvmG,EAAMh/B,MAAO,EAClBg/B,EAAMlM,gBAAkBjf,EACxBzS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GACAg8B,MAiBawmG,CAAe3xH,OAIX,OAAfmc,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cAAe,cAAC,KAAD,CAAkBzsC,KAAM0sC,KAAUtsC,aAAa,cAAcnX,QAAS,kBAvD1FuK,EAuDgH2I,OAtDrI7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,OAA8BvnB,EAAIyxC,MAAlC,YAA2CzxC,EAAIvF,WACvD/C,MAAO,WAHS,IAACsI,KAwDZ2I,EAAIpO,UACD,cAAC,KAAD,CACIiS,KAAMmsB,KACNxhC,MAAM,YACNyB,UAAU,6BAEVnD,QAAS,iBAAoB,MAAbkT,EAAIhI,MAxDdX,EAwD8C2I,OAvDpE7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKzF,SAAnC,mBAA+CyF,QAA/C,IAA+CA,OAA/C,EAA+CA,EAAKvF,WAC5D/C,MAAO,UAIa,SAACsI,GACzB8C,EAAQC,KAAK,CACTwkB,SAAS,gCAAD,cAAkCvnB,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAKzF,SAAvC,mBAAmDyF,QAAnD,IAAmDA,OAAnD,EAAmDA,EAAKvF,WAChE/C,MAAO,SA8CgE6iI,CAAoB5xH,GAxD1E,IAAC3I,GAyDN4M,aAAY,UAAkB,MAAbjE,EAAIhI,KAAe,cAAgB,iBAAxC,WAkB1BknB,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAxEMuK,EAwEmB2I,OAvE3C7F,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIvF,WACzCqJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAJL,IAAChI,GAwEyB/K,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAIs4B,YAIb,OADAj3B,IAASC,OAAOgF,EAAKF,GACdA,GAGL8uD,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA/G,SACKhE,EAAI+1C,YAIb,OADA10C,IAASC,OAAOgF,EAAKF,GACdA,GAGLmmE,EAAkB,SAAC,EAAc7qE,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,mBAAmB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAlH,SACKhE,EAAIgC,YAIb,OADAX,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI0/B,WAIb,OADAr+B,IAASC,OAAOgF,EAAKF,GACdA,GAGLvH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OACnCy7D,EAAe/tD,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAClD8lB,EAAkBpY,EAAStI,MAAK,SAACuI,GAAD,MAA6B,aAAhBA,EAAQ3N,OACrD8yE,EAAeplE,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAClDiuF,EAAevgF,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAgBtD,OAfIiuF,IACAA,EAAa1nF,UAAY+0D,GAEzBt0D,IACAA,EAAUT,UAAYgH,GAEtBulE,IACAA,EAAavsE,UAAYssE,GAEzB/sD,IACAA,EAAgBvf,UAAY+e,GAE5Bm2C,IACAA,EAAal1D,UAAYi1D,GAEtB9tD,IACR,IAEG+X,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNg9C,aAAa,EACb/pB,mBAAmB,EACnB49B,gBAAgB,EAChB00E,cAAc,QAIhB9M,EAAmB,SAAC5zH,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNulI,cAAc,OAElB1gI,GAAOkc,KAEPxG,EAzOU,SAACm/E,GACf,IAAIl2C,EAAO,GACPg2C,EAAQ,CAAC,CAAEzwF,KAAM,OAAQyR,KAAM,MACnC,OAAQk/E,GACJ,IAAK,KACDl2C,EAAO,CAAEz6C,KAAM,qBAAsB0R,QAAQ,GAC7C,MACJ,IAAK,KACD+oC,EAAO,CAAEz6C,KAAM,cAAe0R,QAAQ,GACtC,MACJ,IAAK,KACD+oC,EAAO,CAAEz6C,KAAM,mBAAoB0R,QAAQ,GAC3C,MACJ,QACI+oC,EAAO,CAAEz6C,KAAM,eAAgB0R,QAAQ,GAI/C,OADA++E,EAAMvrF,KAAKu1C,GACJg2C,EAuNMG,CAAUx6F,EAAMqB,IACzB8U,EAAM,gDAA4CnW,EAAMqB,IAAM,GAAxD,gBAAkEoC,EAAMmmF,YAclF,OACI,sBAAKjlF,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,IACrB,eAACzY,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAAChC,WAAW,SAASsX,QAAQ,WAAjD,UACI,cAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,0BACA,cAACJ,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACknF,GAAA,EAAD,CAAQ92E,QAAS1P,EAAMmmF,WAAYn9E,SAlB9B,SAACkG,GAClB,MAA0BA,EAAM3G,OAAxBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACV42E,EAAS,GACA,eAATngF,IACAmgF,EAAS,CACLH,WAAYz2E,IAIpBlR,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAOkmF,OASyC5nF,MAAM,UAAUyH,KAAK,iBAEpF,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAAV,oBAEJ,cAAC,GAAD,CACIwQ,QAASA,EACT6D,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBC,OAAQA,IAEX1S,EAAM5C,KACH,cAAC,GAAD,CACIN,QAAS,kBAAM+4H,GAAiB,IAChCjxE,OAAQ5kD,EAAMkwB,gBAAgB2yB,OAC9BhgD,SAAU7C,EAAMkwB,gBAAgBrtB,SAChCsgD,eAAgBnjD,EAAMkwB,gBAAgBrtB,SACtC2/C,SAAS,UACTp4B,aAAcyrG,EACd/uE,WAnJR,6CACc,IACV,uBAAMvpD,MAAO,CAAEkC,MAAO,OAAtB,UACKO,EAAMkwB,gBAAgB64D,QAD3B,IACqC/oF,EAAMkwB,gBAAgBqZ,gBAiJvDsa,WAAW,UACXmD,UAAWhnD,EAAMkwB,gBAAgB82B,UACjChB,YAAahmD,EAAMkwB,gBAAgBopB,oBAEvC,KACHt5C,EAAM2iI,aACH,cAAC,GAAD,CACIppE,aAAa,EACbwvB,QAAS/oF,EAAMkwB,gBAAgB64D,QAC/B1yB,MAAOr2D,EAAMkwB,gBAAgBqZ,UAC7B3rC,GAAIoC,EAAMkwB,gBAAgB2yB,OAC1B/lD,QAAS,kBAAM+4H,GAAiB,IAChC97E,MAAO/5C,EAAMkwB,gBAAgB6pB,MAC7B3vB,aAAcyrG,IAElB,KACH71H,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,wBAArD,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBopB,kBAAmBlvB,aAAcgG,MAEhG,KACHpwB,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBogB,kBAAmBlmB,aAAcgG,MAExF,KACHpwB,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMkwB,gBAAgB8C,QAAS5I,aAAcgG,MAE3E,SCxTV0yG,GAAe1sH,OAAS82F,QAAQ,SAAS72F,OAAO,cAChD0sH,GAAa3sH,OAAS0pG,MAAM,SAASzpG,OAAO,cAqMnC2sH,GAnMe,WAAO,IAAD,EAChC,EAA0BzkI,mBAAS,CAC/BkxB,aAAc,GACdma,kBAAmB,GACnBujD,oBAAqB,GACrB81C,0BAA2B,GAC3BC,QAAS,GACT36F,SAAUu6F,GACVt6F,OAAQu6F,GACRt6F,SAAU,GACV7nB,WAAY,GACZwsE,uBAAwB,GACxBT,sBAAuB,GACvBD,wBAAyB,GACzBp3B,4BAA6B,GAC7Bjf,YAAY,EACZzN,gBAAiB,KAfrB,mBAAO5oC,EAAP,KAAcxB,EAAd,KAiBA,EAA4BD,mBAAS,IAArC,mBACA,GADA,UAC6CP,gBAA7C,EAAQ8J,iBAAR,EAA0BD,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,sEACcunC,KADd,OACF4kD,EADE,OAENpuF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvB,aAAcm9D,EAAQhqF,KAAK+tC,SAAS46B,WAJlC,2CAMP,IAEHprE,oBAAS,sBAAC,sCAAAM,EAAA,yDACF6zC,EAAS,GACTd,EAAW,GACXve,EAAgB,KAHd,UAIFj1B,EAAM0sF,+BAJJ,aAIF,EAA+B9uF,IAJ7B,iCAKkBqqC,GAA2B,UAACjoC,EAAM0sF,+BAAP,aAAC,EAA+B9uF,IAL7E,OAKEgvF,EALF,OAMFt4C,EAASs4C,EAAQhqF,KAAKswC,OACtBM,EAAWo5C,EAAQhqF,KAAK4wC,SACxBve,EAAgB23D,EAAQhqF,KAAKqyB,cAC7Bz2B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwpC,kBAAmB0K,EACnBq4C,sBAAuB,GACvBQ,oBAAqB35C,EACrByvF,0BAA2BhuG,OAd7B,wBAiBFz2B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwpC,kBAAmB,GACnB+iD,sBAAuB,GACvBQ,oBAAqB35C,EACrB45C,uBAAwB,GACxB61C,0BAA2BhuG,EAC3BqgC,4BAA6B,QAxB/B,4CA2BP,WAACt1D,EAAM0sF,+BAAP,aAAC,EAA+B9uF,KAEnC,IAAM8vF,EAAW,uCAAG,WAAO/kD,GAAP,2BAAAloC,EAAA,sEACA6nC,GACZtoC,EAAMuoC,SACNvoC,EAAMwoC,QACN,UAAAxoC,EAAM0sF,+BAAN,eAA+B9uF,KAAM,IACrC,UAAAoC,EAAM2sF,6BAAN,eAA6B/uF,KAAM,IACnC,UAAAoC,EAAMs1D,mCAAN,eAAmC13D,KAAM,IACzC,UAAAoC,EAAMotF,8BAAN,eAA8BxvF,KAAM,GACpC+qC,EACA3oC,EAAM4oC,iBATM,YACZ3mC,EADY,gCAYN4R,EAAMvI,OAAOqiF,IAAIC,gBAAgB,IAAIC,KAAK,CAAC5rF,EAAIW,SAC/CkrF,EAAO/7E,SAASupD,eAAe,wBAA0BvpD,SAASC,cAAc,MACjFpU,GAAK,sBACVkwF,EAAKC,KAAOl6E,EACZi6E,EAAKE,aAAa,WAAlB,yBAAgD53E,OAASC,OAAO,qBAAhE,YAAwFsyB,IACxF52B,SAASyhD,KAAKy6B,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKK,SAnBO,mBAoBL,GApBK,4CAAH,sDAwBX//E,EAAc,SAAC/F,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAGN,OAFS,2BAAQA,GAAR,kBAAa+F,EAAOzH,QAM/B8d,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GAOjB,MANU,0BAAN0a,GAAgD,iBAAPxS,EACzC8zB,EAAMwM,gBAAkBtgC,EAExB8zB,EAAMthB,GAAMxS,EAEhB8zB,EAAMia,WAAaja,EAAMswD,0BAA2B,EAC7CtwD,OAIf,OACI,qBAAKl7B,UAAU,SAAf,SACI,cAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,GAAIC,GAAI,EAAGgR,GAAI,EAA9C,UACI,eAACr/B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGpsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,6BAGA,cAAC,IAAD,CACIqa,QAAShb,EAAMyvB,aACf/wB,MAAOsB,EAAM0sF,wBACb1jF,SAAUwT,EAAmB,gCAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIqa,QAAShb,EAAM4pC,kBACflrC,MAAOsB,EAAM2sF,sBACb3jF,SAAUwT,EAAmB,8BAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CACIqa,QAAShb,EAAMijI,0BACfvkI,MAAOsB,EAAMs1D,4BACbtsD,SAAUwT,EAAmB,oCAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CACIqa,QAAShb,EAAMmtF,oBACfzuF,MAAOsB,EAAMotF,uBACb+1C,UAAU,EACVn6H,SAAUwT,EAAmB,+BAGrC,eAACtd,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,aAAa3B,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAArD,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,IAAD,CACImO,YAAY,OACZpQ,MAAOsB,EAAMuoC,SACbv/B,SAAUoF,EACVjI,KAAK,WAELgvG,UAASn1G,EAAMuoC,cAGvB,eAACrpC,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,aAAa3B,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAArD,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,gBACA,cAAC,IAAD,CACImO,YAAY,KACZpQ,MAAOsB,EAAMwoC,OACbx/B,SAAUoF,EACVjI,KAAK,SACL40C,WAAY,CAAEttB,WAAY,CAAE6oB,IAAI,GAAD,OAAKt2C,EAAMuoC,YAC1C4sE,UAASn1G,EAAMwoC,eAI3B,cAACtpC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEyD,UAAW,QAAvC,SACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAAS,kBAAM2vF,EAAY,QAAQ1iF,UAAWhL,EAAMq2C,WAArE,wCAIJ,cAACn3C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAiB7Q,QAAS,kBAAM2vF,EAAY,SAAS1iF,UAAWhL,EAAMq2C,WAAtE,uDC7LnB+sF,GAAc,cACdC,GAAc,cCDdC,GAAY,CACrBlmI,MAAM,EACN8yB,gBAAiB,GACjBgV,OAAO,EACP8wF,UAAU,EACVvjH,SAAU,MAEH8wH,GAAU,SAAUvjI,EAAO2zD,GAClC,OAAQA,EAAO1qD,MACX,IDV6B,wBCWzB,OAAO,2BAAKjJ,GAAZ,IAAmByS,SAAU,IAAIhC,OACrC,KAAK2yH,GACD,OAAO,2BAAKpjI,GAAZ,IAAmBu4E,gBAAgB,EAAMroD,gBAAiByjC,EAAO6vE,QAASxN,UAAU,IACxF,KAAKqN,GACD,OAAO,2BAAKrjI,GAAZ,IAAmBu4E,gBAAgB,EAAOroD,gBAAiB,GAAI8lG,UAAU,IAC7E,QACI,MAAO,CAACh2H,WCRdoX,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIiH,qBAAqB,GACjE,CAAExG,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,KACtD,CAAES,IAAK,oBAAqBxE,KAAM,QAAS+D,MAAO,KAClD,CAAES,IAAK,iBAAkBxE,KAAM,WAAY+D,MAAO,IAClD,CACIS,IAAK,kBACLxE,KAAM,MACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,IAEX,CACIS,IAAK,cACLxE,KAAM,SACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAEX,CAAES,IAAK,WAAYxE,KAAM,WAAY+D,MAAO,KAC5C,CAAES,IAAK,QAASxE,KAAM,QAAS+D,MAAO,KACtC,CACIS,IAAK,QACLxE,KAAM,QACN+D,MAAO,MAGA,SAASu5H,GAAkBlnI,GACtC,MAA0BmnI,qBAAWH,GAASD,IAA9C,mBAAOtjI,EAAP,KAAc2jI,EAAd,KAEMzrH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,KAAD,CACIlC,KAAM2uD,KACNhkE,MAAM,UACN1B,QAAS,WACL4lI,EAAS,CAAE16H,KAAMm6H,GAAaI,QAASvyH,KAE3CiE,aAAa,6BAMvBpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAqBH,OACI,sBAAKnX,UAAU,SAAf,UACKlB,EAAMg2H,SAAW,cAAC,IAAD,CAAar+G,OArBrB,WACd,IAAIipC,EAAO,GACPjpC,EAAS,CACT,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,cAAe0R,QAAQ,IAYnC,MAVoB,KAAhBtb,EAAM29C,OACN0G,EAAO,CAAEz6C,KAAM,kBAAmB0R,QAAQ,GACnB,KAAhBtb,EAAM29C,OACb0G,EAAO,CAAEz6C,KAAM,sBAAuB0R,QAAQ,GACvB,KAAhBtb,EAAM29C,OACb0G,EAAO,CAAEz6C,KAAM,oBAAqB0R,QAAQ,GACrB,KAAhBtb,EAAM29C,SACb0G,EAAO,CAAEz6C,KAAM,aAAc0R,QAAQ,IAEzCF,EAAOtM,KAAKu1C,GACLjpC,EAKoCo/E,KAAkB,KACxD/2F,EAAMu4E,eACH,cAAC,GAAD,CAAwB3E,QAAS5zE,EAAMkwB,gBAAgBo8C,oBAAqBxvE,QAAS,kBAAM6mI,EAAS,CAAE16H,KAAMo6H,MAAgB7gF,UAAU,IAEtI,cAAC,GAAD,CACI1yC,QAASA,EACT6D,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBC,OAAM,kDAA6CnW,EAAM29C,aC7E7E,IAAMv9B,GAAe,CAEjB,CAAEhS,IAAK,UAAWxE,KAAM,OAAQ+K,UAAW3E,IAAWE,cAAevC,MAAO,KAC5E,CAAES,IAAK,UAAWxE,KAAM,WAAY+D,MAAO,KAC3C,CAAES,IAAK,YAAaxE,KAAM,gBAAiB+D,MAAO,KAClD,CAAES,IAAK,YAAaxE,KAAM,SAC1B,CACIwE,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAW2wE,gBACtBvzE,MAAO,QACPO,MAAO,KAEX,CACIS,IAAK,cACLxE,KAAM,SACN+K,UAAW3E,IAAW2wE,gBACtBvzE,MAAO,QACPO,MAAO,KAEX,CACIS,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAW2wE,gBACtBvzE,MAAO,QACPO,MAAO,MAITyN,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,kBAAmB0R,QAAQ,GACnC,CAAE1R,KAAM,eAAgB0R,QAAQ,IAwMrB+rH,OArMf,SAAqBrnI,GACjB,IAAI6wB,EAAkB9sB,IAAW+sB,gBAE3BjiB,EAAU8b,eAEhB,EAA0B3oB,mBAAS,CAC/B6+E,QAAS,GACTvgE,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAKA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN48E,IADM,2CAEP,IAEH,IAAMA,EAAW,uCAAG,sBAAA58E,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAuBXyqE,EAAiB,SAAC5yE,GACpB9J,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBs9E,cAAc,EAAOvjC,MAAO,SAG3DrS,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,sBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,UACI,cAAC,KAAD,CACIlC,KAAMyoE,KACNr8E,UAAU,6BACVgU,aAAa,eACbnX,QAAS,kBAfEuK,EAesB2I,OAd7CzS,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBs9E,cAAc,EAAMvjC,MAAK,OAAEzxC,QAAF,IAAEA,OAAF,EAAEA,EAAKyxC,WAD3C,IAACzxC,MAiBC,OAAf8kB,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,KAAD,CAAkBzsC,KAAM0sC,KAAUtgD,UAAU,6BAA6BgU,aAAa,WAAWnX,QAAS,kBA1BjGuK,EA0BuH2I,OAzB5I7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKyxC,MAAnC,mBAA4CzxC,QAA5C,IAA4CA,OAA5C,EAA4CA,EAAKvF,WACzDqJ,OAAQ,GACRpM,MAAO,SAJS,IAACsI,SAgCnB6nB,EAAgB,SAAClf,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,QAIV8/D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMmoE,EAAmBj1D,IAAM1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAIolD,QAIb,OADA/jD,IAASC,OAAOgF,EAAKF,GACdA,GAGL8uD,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA/G,SACKhE,EAAI+1C,YAIb,OADA10C,IAASC,OAAOgF,EAAKF,GACdA,GAGLmmE,EAAkB,SAAC,EAAc7qE,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,mBAAmB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAlH,SACKhE,EAAIgC,YAIb,OADAX,IAASC,OAAOgF,EAAKF,GACdA,GAGL4Y,EAAqB,SAAC,EAActd,GAAU,IAAtB1B,EAAqB,EAArBA,IACpBoG,GADyC,EAAhB2Y,IACnBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMoyB,EAAclf,EAAK,sBAAsB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArH,SACKhE,EAAI4yH,KAIb,OADAvxH,IAASC,OAAOgF,EAAKF,GACdA,GAGL6uD,EAAqB,SAAC59D,GACxB8C,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIvF,WACzCqJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,cAI1B8f,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNg9C,aAAa,EACb/pB,mBAAmB,EACnB49B,gBAAgB,QAIlBn+C,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAC1Cy7D,EAAeppD,EAAUjN,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OACnD8yE,EAAezgE,EAAUjN,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAcvD,OAbIgH,IACAA,EAAUT,UAAYw2B,GAEtB+1C,IACAA,EAAavsE,UAAYssE,GAEzBpX,IACAA,EAAal1D,UAAYi1D,GAE7BnpD,EAAUib,OAAO,EAAG,EAAG,CAAEttB,IAAK,QAASxE,KAAM,aAAc+D,MAAO,IAAKgH,UAAW+0D,IAElFjpD,EAAUib,OAAO,EAAG,EAAG,CAAEttB,IAAK,KAAMxE,KAAM,WAAY+K,UAAW+e,IAE1DjT,IACR,IAEGka,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOo7E,KAGX,OACI,sBAAKn8E,UAAW,2BAAiC3D,MAAO,CAAEyD,UAAW,GAArE,UACKhB,EAAM5C,MACH,cAACV,GAAA,EAAD,CAAYU,KAAM4C,EAAM5C,KAAMN,QAAS,kBAAMo6B,GAAW,IAAQv6B,MAAM,UAAUI,SAAS,KAAzF,SACI,cAAC,GAAD,CAAgBksC,UAAW1sC,EAAM0sC,UAAWnsC,QAAS,kBAAMo6B,GAAW,QAG9E,cAAC,IAAD,CAAavf,OAAQA,KACpB3X,EAAMs9E,cACH,cAAC5gF,GAAA,EAAD,CAAYC,MAAM,cAAcI,SAAS,KAAKD,QAAS,kBAAMo+E,KAA7D,SACI,cAACyC,GAAD,CAAehhF,MAAM,GAAGogF,cAAe/8E,EAAM+5C,MAAOj9C,QAASo+E,MAGrE,cAAC,GAAD,CACIprE,QAASA,EACT+E,SAhBS,UAiBTG,WApJO,SAAC7I,GAChB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,QAoJ/BqU,YAAW,WAAoB,OAAf2b,QAAe,IAAfA,OAAA,EAAAA,EAAiBwwD,uBAAwB,QAAU,MACnEptE,uBAAsB,WAAoB,OAAf4c,QAAe,IAAfA,OAAA,EAAAA,EAAiBwwD,uBAAwB,YAAc,MAClFjqE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBC,OA7KF,0BA+KD1S,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,wBAArD,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBopB,kBAAmBlvB,aAAcgG,MAEhG,KACHpwB,EAAMqwB,kBACH,cAAC3zB,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,mBAArD,SACI,cAAC,GAAD,CAAiBikB,WAAY5gB,EAAMkwB,gBAAgBtP,WAAYwJ,aAAcgG,MAEjF,KACHpwB,EAAMiuD,eACH,cAACvxD,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASszB,EAAazzB,MAAO,gBAArD,SACI,cAAC,GAAD,CAAcikB,WAAY5gB,EAAMkwB,gBAAgB8rD,WAAY5xD,aAAcgG,MAE9E,SCnOVq1C,GAAa,CACf,CAAEt/D,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,kBAAmB0R,QAAQ,GACnC,CAAE1R,KAAM,kBAAmByR,KAAM,IAAKC,QAAQ,IAG5CwX,GAAc,CAChB,CACI1kB,IAAK,YACLxE,KAAM,YACNqR,eAAgBjL,IAAWm5D,sBAC3Bx0D,UAAW3E,IAAWo5D,oBACtBz7D,MAAO,MAEX,CACIS,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,MAGX,CAAES,IAAK,cAAexE,KAAM,WAC5B,CAAEwE,IAAK,cAAexE,KAAM,cAAe+D,MAAO,MAClD,CAAES,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,QAiH7B45H,GA9GO,SAACvnI,GACnB,MAA0BgC,mBAAS,CAC/BwZ,aAAa,EACb8tD,aAAc,KACdhjE,SAAU,KACVmM,KAAM,GACNjH,YAAY,EACZ4xC,SAAU,UACVpqB,MAAM,EACN1c,UAAW,KARf,mBAAO7S,EAAP,KAAcxB,EAAd,KAUI4M,EAAU8b,eAEd/mB,oBAAS,sBAAC,4BAAAM,EAAA,yDACDlE,EAAM0sC,UADL,qBAEEjpC,EAAM6S,UAAUtE,OAAS,GAF3B,gCAG0B7L,GAAqB1C,EAAM6S,WAHrD,OAGMizD,EAHN,OAIEtnE,GAAS,SAAC4B,GAAQ,IAAD,EAEe,EADxBg8B,EAAK,eAAQh8B,IACjB,UAAI0lE,EAAYljE,YAAhB,aAAI,EAAkB4V,OAClB4jB,EAAM7M,KAAOu2C,EAAYz/D,QACzB+1B,EAAM2pC,gBAAN,UAAwBD,EAAYljE,YAApC,aAAwB,EAAkB4V,KAAK,GAAGzV,WAElDq5B,EAAM7M,MAAO,EAGjB,OAAO6M,KAbb,sBAgBE59B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAM,OAhBnC,OAmBiB,aAAnBhzB,EAAMimD,UACNhkD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELu5C,SAAUp9C,EAAMimD,cAGxBwjB,IAzBM,4CA0BP,CAACzpE,EAAM0sC,UAAWjpC,EAAM6S,YAE3B,IAAMmzD,EAAW,uCAAG,sBAAAvlE,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAeXw1D,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAXMuK,EAWmB2I,OAV3C7F,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIxF,iBACzCsJ,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAJL,IAAChI,GAWyB/K,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAArG,SACKhE,EAAIolD,QAIb,OADA/jD,IAASC,OAAOgF,EAAKF,GACdA,GAGLvH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IAErB,OADAhX,EAAS4f,OAAQ17B,EAAMy7B,OAAa,EAAJ,EAAO,EAAG,CAAErtB,IAAK,QAASxE,KAAM,aAAc+D,MAAO,KAAMgH,UAAW+0D,IAC/F5tD,IACR,IAEGV,EAASS,mBAAQ,WACnB,IAAMiuD,EAAU,UAAOZ,IAIvB,OAHIzlE,EAAMsmE,iBACND,EAAWpuC,OAAO,EAAG,EAAG,CAAE9xB,KAAK,iBAAD,OAAmBnG,EAAM+jI,UAAzB,aAAuCx3H,IAAWouC,kBAAkB36C,EAAMumE,YAA1E,KAA0F1uD,QAAQ,IAE7HwuD,IACR,CAACrmE,EAAM+X,cAEJqtD,EAAeplE,EAAMuvB,MAAQhzB,EAAM0sC,UAAY,aAAe,KAC9Dw9B,KAAYlqE,EAAM0sC,YAAa1sC,EAAMqkB,YAC3C,OACI,qBAAK1f,UAAYulE,EAAoB,GAArB,SAAyBlpE,MAAO,CAAEyD,UAAW,GAA7D,SACI,sCACMylE,GACE,qBAAKlpE,MAAO,CAAE2M,MAAO,OAAQ7M,QAAS,OAAQC,WAAY,SAAU+wD,aAAc,SAAU7wD,SAAU,WAAY4uB,IAAK,GAAvH,SACI,qBAAK7uB,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,IAAD,CAAayN,OAAQA,EAAQzW,UAAU,+BAInD,cAAC,GAAD,CACIyS,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQ,+BACRmC,SAAUuwD,EACV3zD,YAAY,WACZjB,uBAAuB,eACvBiC,SAAUzS,EAAMyS,iBChJvBuxH,GAAiB,uCAAG,4BAAAvjI,EAAA,sEACb6B,aAAY,YADC,cACzBL,EADyB,yBAEtBA,GAFsB,2CAAH,qDAKjBgiI,GAAkB,uCAAG,WAAOrhI,GAAP,eAAAnC,EAAA,sEACdsB,aAAa,WAAYa,GADX,cAC1BX,EAD0B,yBAEvBA,GAFuB,2CAAH,sDCHlBiiI,GAAuBp9G,0BAE9BE,GAAc,CAChB,CAAEppB,GAAI,KAAMuI,KAAM,MAClB,CAAEvI,GAAI,KAAMuI,KAAM,OAGTg+H,GAAkB,SAAC5nI,GAC5B,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B,EAA0BtJ,mBAAS,CAC/B4O,OAAQ,GACRi3H,UAAW,KACXC,YAAa,GACbC,0BAA2B,GAC3BC,iBAAkB,GAClBC,YAAa,GACbC,aAAc,GACdC,aAAc,GACdC,eAAgB,GAChBC,gBAAiB,GACjBC,gBAAiB,GACjBC,YAAa,GACbC,cAAe,GACfC,gBAAiB,GACjBC,mBAAoB,KACpBC,8CAA8C,EAC9CC,0BAA2B,GAC3BC,0BAA2B,GAC3BC,sBAAuB,GACvBC,0BAA2B,GAC3BC,wBAAyB,GACzBC,uBAAwB,GACxBC,6BAA8B,KAC9BC,oBAAqB,GACrBC,yBAA0B,GAC1BC,gBAAiB,KA1BrB,mBAAO5lI,EAAP,KAAcxB,EAAd,KA6BA,EAAkCD,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA7Z,oBAAS,sBAAC,sBAAAM,EAAA,sDACNmoB,IADM,2CAEP,IAEH,IAAMA,EAAgB,uCAAG,kCAAAnoB,EAAA,sEACLujI,KADK,OACjB/hI,EADiB,QAGrB,UAAIA,EAAIW,YAAR,aAAI,EAAU4V,QACJ5V,EADU,UACHX,EAAIW,YADD,aACH,EAAU4V,KAAK,GAC5Bha,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELgkI,UAAWxhI,EAAKwhI,UAChBC,YAAazhI,EAAKyhI,YAClBC,0BAA2B1hI,EAAK0hI,0BAChCC,iBAAkB3hI,EAAK2hI,iBACvBC,YAAa5hI,EAAK4hI,YAClBC,aAAc7hI,EAAK6hI,aACnBC,aAAc9hI,EAAK8hI,aACnBC,eAAgB/hI,EAAK+hI,eACrBC,gBAAiBhiI,EAAKgiI,gBACtBC,gBAAiBjiI,EAAKiiI,gBACtBC,YAAaliI,EAAKkiI,YAClBC,cAAeniI,EAAKmiI,cACpBC,gBAAiBpiI,EAAKoiI,gBACtBC,mBAAoBriI,EAAKqiI,mBACzBC,6CAA8CtiI,EAAKsiI,6CACnDC,0BAA2BviI,EAAKuiI,0BAChCC,0BAA2BxiI,EAAKwiI,0BAChCC,sBAAuBziI,EAAKyiI,sBAC5BC,0BAA2B1iI,EAAK0iI,0BAChCC,wBAAyB3iI,EAAK2iI,wBAC9BC,uBAAwB5iI,EAAK4iI,uBAC7BC,6BAA8B7iI,EAAK6iI,6BACnCC,oBAAqB9iI,EAAK8iI,oBAC1BC,yBAA0B/iI,EAAK+iI,yBAC/BC,gBAAiBhjI,EAAKgjI,sBA/BT,2CAAH,qDAwDhBx3H,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACjBmzB,EAAQ,GACE,SAAV19B,GAA2C,UAAvBuK,EAAK4gB,eACzBuS,EAAMj2B,IAAQ,EACdi2B,EAAM+oG,0BAA4B,GAClC/oG,EAAMgpG,0BAA4B,GAClChpG,EAAMipG,sBAAwB,GAC9BjpG,EAAMmpG,wBAA0B,GAChCnpG,EAAMkpG,0BAA4B,GAClClpG,EAAMqpG,6BAA+B,IACpB,UAAV/mI,GAA4C,UAAvBuK,EAAK4gB,cACjCuS,EAAMj2B,IAAQ,EAEdi2B,EAAMj2B,GAAQzH,EAElBF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GACAg8B,QAER,IAiBG/tB,EAAc,WAChB,IAAQg2H,EAAuFrkI,EAAvFqkI,YAAaI,EAA0EzkI,EAA1EykI,aAAcH,EAA4DtkI,EAA5DskI,0BAA2BI,EAAiC1kI,EAAjC0kI,aAAcC,EAAmB3kI,EAAnB2kI,eACxEr2H,GAAc,EACdnB,EAAS,GAER,QAAQqB,KAAK61H,KACdl3H,EAAOk3H,YAAc,2BACrB/1H,GAAc,GAEb,QAAQE,KAAKi2H,KACdt3H,EAAOs3H,aAAe,6BACtBn2H,GAAc,GAiBlB,OAdIo2H,IADW,4DACel2H,KAAKk2H,KAC/Bv3H,EAAOu3H,aAAe,uBACtBp2H,GAAc,GAEb,QAAQE,KAAK81H,KACdn3H,EAAOm3H,0BAA4B,kCACnCh2H,GAAc,GAEdq2H,IAlBW,iFAkBiBn2H,KAAKm2H,KACjCx3H,EAAOw3H,eAAiB,cACxBr2H,GAAc,GAGlB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGL6b,EAAY,uCAAG,8BAAA1pB,EAAA,0DACb4N,IADa,uBAEb2L,GAAa,GACTpX,EAAO,CACPwhI,UAAWpkI,EAAMokI,UACjBC,YAAarkI,EAAMqkI,YACnBC,0BAA2BtkI,EAAMskI,0BACjCC,iBAAkBvkI,EAAMukI,iBACxBC,YAAaxkI,EAAMwkI,YACnBC,aAAczkI,EAAMykI,aACpBC,aAAc1kI,EAAM0kI,aACpBC,eAAgB3kI,EAAM2kI,eACtBC,gBAAiB5kI,EAAM4kI,gBACvBC,gBAAiB7kI,EAAM6kI,gBACvBC,YAAa9kI,EAAM8kI,YACnBC,cAAe/kI,EAAM+kI,cACrBC,gBAAiBhlI,EAAMglI,gBACvBC,mBAAoBjlI,EAAMilI,mBAC1BC,6CAA8CllI,EAAMklI,6CACpDC,0BAA2BnlI,EAAMmlI,0BACjCC,0BAA2BplI,EAAMolI,0BACjCC,sBAAuBrlI,EAAMqlI,sBAC7BC,0BAA2BtlI,EAAMslI,0BACjCC,wBAAyBvlI,EAAMulI,wBAC/BC,uBAAwBxlI,EAAMwlI,uBAC9BC,6BAA8BzlI,EAAMylI,6BACpCC,oBAAqB1lI,EAAM0lI,oBAC3BC,yBAA0B3lI,EAAM2lI,yBAChCC,gBAAiB5lI,EAAM4lI,iBA5Bd,SA8BG3B,GAAmBrhI,GA9BtB,QA8BTX,EA9BS,QA+BLoE,QACJyB,EAAiB,2BAEjBD,EAAe5F,EAAIyG,SAEvBsR,GAAa,GApCA,2CAAH,qDAwClB,OACI,cAACkqH,GAAqB75G,SAAtB,CACI3rB,MAAO,CACHsB,QACA+Z,YACAoQ,eACA/b,cACAqc,aAvFO,SAACvb,GAChB,IAAIC,EAAS,IAAIC,WACjBD,EAAOE,OAAS,SAAChH,GACb,IAAQiH,EAAWjH,EAAEE,OAAb+G,OACR9Q,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBokI,YAAal1H,QAE5CH,EAAOI,cAAcL,EAAM3G,OAAOiH,MAAM,KAkFhCgb,WA9FO,WACXxqB,EAAMwkI,aACNhmI,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBokI,YAAa,WA6FpC95G,OAzIG,SAACC,GACZnsB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwkI,gBAAiBj6G,EAAEC,aACnBi6G,gBAAiBl6G,EAAEE,aACnBi6G,YAAan6G,EAAEG,KACfi6G,cAAep6G,EAAEI,OACjBi6G,gBAAiBr6G,EAAEK,eAmIf66G,iBAhIa,SAACl7G,GACtBnsB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+kI,0BAA2Bx6G,EAAEC,aAC7Bw6G,0BAA2Bz6G,EAAEE,aAC7Bw6G,sBAAuB16G,EAAEG,KACzBy6G,wBAAyB56G,EAAEI,OAC3Bu6G,0BAA2B36G,EAAEK,eA0HzBhE,gBAVR,SAaKzqB,EAAMK,YCvNb+a,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,UAAW0R,QAAQ,GAC3B,CAAE1R,KAAM,qBAAsB0R,QAAQ,IAGpChB,GAAiB,CACnBC,cAAe,CAAE7Z,OAAQ,SACzB8Z,wBAAyB,CAAE7M,MAAO,OAAQ8M,UAAW,UACrDC,eAAgB,CAAE/M,MAAO,IAAKqiB,UAAW,GAAIrV,eAAgB,SAC7DC,iBAAkB,CAAEH,UAAW,WAE7B8V,GAAa,SAACvwB,GAChB,OACI,eAAC2C,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAzB,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,UAE9B,cAAC7J,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAAG7B,MAAO,CAAE2U,WAAY,OAAtD,SACI,eAAC6a,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAYpa,EAAM4J,KAAMA,KAAM5J,EAAM4J,KAAMzH,MAAOnC,EAAMmC,MAAOsK,SAAUzM,EAAMyM,SAA9F,UACI,cAACgkB,GAAA,EAAD,CAAkBtd,SAAyB,IAAhBnT,EAAMmC,MAAgBA,OAAO,EAAMuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,QACxF,cAACikB,GAAA,EAAD,CAAkBtd,SAAyB,IAAhBnT,EAAMmC,MAAiBA,OAAO,EAAOuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,gBAMxG+8H,GAAiB,SAACvpI,GAAW,IAAD,EAC9B,EAAyH2B,qBAAWgmI,IAA5HlkI,EAAR,EAAQA,MAAO+Z,EAAf,EAAeA,UAAWoQ,EAA1B,EAA0BA,aAAc/b,EAAxC,EAAwCA,YAAaqc,EAArD,EAAqDA,aAAcD,EAAnE,EAAmEA,WAAYE,EAA/E,EAA+EA,OAAQm7G,EAAvF,EAAuFA,iBAAkB7+G,EAAzG,EAAyGA,YACrG5b,EAAU8b,eACVwQ,EAAiBp3B,IAAW+sB,gBAEhC,OACI,sBAAK9vB,MAAO,CAAEP,SAAU,UAAYkE,UAAW,2BAA/C,UACI,cAAC,IAAD,CAAayW,OAAQA,GAAQzW,UAAU,sBACvC,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,SACI,cAACruB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,6BAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAAC,IAAD,CACI2N,WAAW,eACXC,YAAY,eACZpQ,MAAOsB,EAAMqkI,YACbr7H,SAAUoF,EACVjI,KAAK,gBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOk3H,iBAExC,eAACnlI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAAC,IAAD,CACI2N,WAAW,sCACXC,YAAY,sCACZpQ,MAAOsB,EAAMskI,0BACbt7H,SAAUoF,EACVjI,KAAK,8BAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOm3H,+BAExC,cAACplI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,aACXC,YAAY,aACZpQ,MAAOsB,EAAMukI,iBACbv7H,SAAUoF,EACVnF,KAAK,SACL9C,KAAK,uBAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CAAWwF,KAAK,qBAAqBzH,MAAOsB,EAAMilI,mBAAoBj8H,SAAUoF,EAAaY,KAAMgY,IACnG,cAACrlB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO2c,iBAExC,cAAC5qB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI7uB,MAAOsB,EAAMglI,iBAAmB,GAChCh8H,SAAUoF,EACVjI,KAAK,kBACLukB,OAAQA,EACRvd,OAAQnN,EAAMmN,OAAO63H,oBAG7B,cAAC9lI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,YACXC,YAAY,YACZpQ,MAAOsB,EAAM4kI,iBAAmB,GAChC57H,SAAUoF,EACVjI,KAAK,sBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,YACXC,YAAY,YACZpQ,MAAOsB,EAAM6kI,iBAAmB,GAChC77H,SAAUoF,EACVjI,KAAK,sBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,OACXC,YAAY,OACZpQ,MAAOsB,EAAM8kI,aAAe,GAC5B97H,SAAUoF,EACVjI,KAAK,kBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,SACXC,YAAY,SACZpQ,MAAOsB,EAAM+kI,eAAiB,GAC9B/7H,SAAUoF,EACVjI,KAAK,oBAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,QACXC,YAAY,QACZpQ,MAAOsB,EAAM0kI,cAAgB,GAC7B17H,SAAUoF,EACVjI,KAAK,iBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOu3H,kBAExC,eAACxlI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAAC,IAAD,CACI2N,WAAW,QACXC,YAAY,QACZpQ,MAAOsB,EAAMykI,cAAgB,GAC7Bz7H,SAAUoF,EACVjI,KAAK,iBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOs3H,kBAExC,eAACvlI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,WACXC,YAAY,WACZpQ,MAAOsB,EAAM2kI,eACb37H,SAAUoF,EACVjI,KAAK,mBAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOw3H,8BAMxD,cAACzlI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,gCAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,GAAD,CACIpnB,KAAK,+CACLzH,MAAOsB,EAAMklI,6CACbl8H,SAAUoF,EACVrF,MAAM,uCAGd,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACA,cAAC,IAAD,CACIwF,KAAK,+BACLzH,MAAOsB,EAAMylI,6BACbz8H,SAAUoF,EACVY,KAAMgY,EACNhc,SAAUhL,EAAMklI,kDAGxB,cAAChmI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI7uB,MAAOsB,EAAMslI,2BAA6B,GAC1Ct8H,SAAUoF,EACVjI,KAAK,4BACLukB,OAAQm7G,EACR14H,OAAQnN,EAAMmN,OAAOm4H,8BAG7B,cAACpmI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,WACXC,YAAY,WACZpQ,MAAOsB,EAAMmlI,2BAA6B,GAC1Cn8H,SAAUoF,EACVjI,KAAK,4BACL6E,SAAUhL,EAAMklI,iDAGxB,cAAChmI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,WACXC,YAAY,WACZpQ,MAAOsB,EAAMolI,2BAA6B,GAC1Cp8H,SAAUoF,EACVpD,SAAUhL,EAAMklI,6CAChB/+H,KAAK,gCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,OACXC,YAAY,OACZpQ,MAAOsB,EAAMqlI,uBAAyB,GACtCr8H,SAAUoF,EACVjI,KAAK,wBACL6E,SAAUhL,EAAMklI,iDAGxB,cAAChmI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,SACXC,YAAY,SACZpQ,MAAOsB,EAAMulI,yBAA2B,GACxCv8H,SAAUoF,EACVjI,KAAK,0BACL6E,SAAUhL,EAAMklI,2DAQxC,cAAChmI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,0BAGA,uBACA,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,YACXC,YAAY,YACZ3I,KAAK,kBACLzH,MAAOsB,EAAM4lI,gBACb58H,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOy4H,qBAExC,cAAC1mI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,SACI,cAAC,IAAD,CACI1e,WAAW,oBACXC,YAAY,oBACZ3I,KAAK,yBACLzH,MAAOsB,EAAMwlI,uBACbx8H,SAAUoF,MAGlB,eAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,iBACXC,YAAY,iBACZ3I,KAAK,sBACLzH,MAAOsB,EAAM0lI,oBACb18H,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOu4H,yBAExC,eAACxmI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC,IAAD,CACI1e,WAAW,sBACXC,YAAY,sBACZ3I,KAAK,2BACLzH,MAAOsB,EAAM2lI,yBACb38H,SAAUoF,IAEd,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOw4H,wCAMxD,cAACzmI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACL,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,0BAGA,uBACA,cAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGhwB,MAAO,CAAEC,SAAU,YAA3D,UACI,cAACkD,EAAA,EAAD,CAAYC,QAAM,EAACotB,SAAO,EAA1B,0BAGC/tB,EAAMwkI,aACH,sBACIjnI,MAAO,CACHC,SAAU,WACVC,MAAO,EACP2uB,IAAK,GAJb,SAOI,cAACxrB,EAAA,EAAD,CAASjE,MAAM,cAAf,SACI,cAAC,KAAD,CAAWia,SAAS,QAAQ7Y,QAASysB,QAIjD,eAACtrB,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAO,CAAEyD,UAAW,OAAtC,SACI,uBAAOiI,KAAK,OAAO9C,KAAK,cAAc6C,SAAUyhB,EAAchb,OAAO,cAEzE,cAACvQ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGhC,MAAOsZ,GAAeE,wBAAxC,SACI,qBACI9V,KAAK,UAAAjB,EAAMwkI,mBAAN,eAAmBtwH,SAAS,WAAYlU,EAAMwkI,YAAc,yBAA2BxkI,EAAMwkI,YAClGrjI,IAAK,OACL5D,MAAOsZ,GAAeI,kCAUlD,cAAC/X,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB+Z,YAAalB,EAAWhc,QAASosB,EAAcnf,WAAU,OAAC0sB,QAAD,IAACA,OAAD,EAACA,EAAgBquG,yBAA3F,SACK/lI,EAAMokI,UAAY,OAAS,UAIxC,cAACllI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB+sB,cAAc,EAAMlwB,QAAS,kBAAMqN,EAAQC,KAAK,MAAjE,6BAgBL26H,GAPO,SAACzpI,GACnB,OACI,cAAC,GAAD,2BAAqBA,GAArB,aACI,cAAC,GAAD,eAAoBA,QCvV1Bob,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,gBAAiB0R,QAAQ,IAE/BvQ,GAAYC,cAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACF81B,OAAQ,oBACRC,QAAS,GACTrpB,SAAU,IACV8X,aAAc,GACdK,UAAW,OACX1sB,WAAY,YACZ3C,OAAQ,OACRiN,MAAO,YAITmlB,GAAc,CAEhB,CAAE1kB,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,KACtD,CAAES,IAAK,wBAAyBxE,KAAM,aAAc+D,MAAO,MAAOgH,UAAW3E,IAAW62C,qBACxF,CAAEz4C,IAAK,sBAAuBxE,KAAM,WAAY+D,MAAO,MAAOgH,UAAW3E,IAAW62C,qBAEpF,CAAEz4C,IAAK,UAAWxE,KAAM,WAAY+D,MAAO,OAC3C,CAAES,IAAK,qBAAsBxE,KAAM,OAAQ+D,MAAO,OAClD,CAAES,IAAK,2BAA4BxE,KAAM,UACzC,CAAEwE,IAAK,6BAA8BxE,KAAM,eAAgB+D,MAAO,QAGlEwmD,GAAYt6C,OAAS82F,QAAQ,SAAS72F,OAAO,cAC7Cs6C,GAAUv6C,OAASC,OAAO,cAynBf4vH,OAxnBf,SAA8B1pI,GAAQ,IAAD,EAC7B6O,EAAU8b,eACd,EAA0B3oB,mBAAS,CAC/BkxB,aAAc,GACdtiB,OAAQ,GACRy8B,kBAAmB,GACnB/R,WAAY,GACZjX,aAAY,OAACrkB,QAAD,IAACA,GAAD,UAACA,EAAO2P,aAAR,aAAC,EAAcC,OAAOvO,KAAMrB,EAAMqkB,YAAc,KAC5D6nB,SAAU,KACVioB,UAAWA,GACXC,QAASA,GACTy8C,cAAe,GACfnnB,QAAS,GACTonB,cAAe,GACfC,cAAe,EACf8B,SAAU,GACVC,SAAU,GACVC,UAAW,GACX/B,UAAW,EACXC,WAAY,EACZC,SAAU,EACVC,UAAW,EACX5jE,oBAAqB,GACrB8jE,kBAAmB,GACnBr+E,MAAM,EACNs+E,MAAO,GACPC,MAAO,GACPC,UAAW,GACX94D,KAAM,GACNzqC,MAAO,GACPyyC,OAAQ,GACRh0C,KAAM,GACN+kG,aAAc,KACdhxD,WAAY,GACZysD,WAAY,GACZwE,4BAA6B,GAC7BjhG,SAAU,KAlCd,mBAAOhN,EAAP,KAAcxB,EAAd,KAqCM0nE,EAAqB,SAAC59D,EAAK4lG,GAC7B,OAAQA,GACJ,IAAK,WACD9iG,EAAQC,KAAK,CACTwkB,SAAS,kBACT7vB,MAAO,CAAE+S,iBAAkBzK,EAAIswE,KAC/BloB,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,QACf/vC,WAAYtY,EAAIqoC,WAEpB,MACJ,IAAK,SACDvlC,EAAQC,KAAK,CACTwkB,SAAS,kBAET6gC,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,QACf/vC,WAAYtY,EAAIqoC,SAChBnmC,MAAOlC,EAAIkC,QAEf,MACJ,IAAK,QACDY,EAAQC,KAAK,CACTwkB,SAAS,kBAET6gC,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,QACf/vC,WAAYtY,EAAIqoC,SAChBsE,KAAM3sC,EAAI2sC,OAEd,MACJ,IAAK,WACD7pC,EAAQC,KAAK,CACTwkB,SAAS,kBACT7vB,MAAO,CAAEkT,mBAAoB5K,EAAI6lG,SACjCz9C,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,QACf/vC,WAAYtY,EAAIqoC,WAEpB,MACJ,IAAK,SACDvlC,EAAQC,KAAK,CACTwkB,SAAS,kBACT7vB,MAAO,CAAEiT,UAAW3K,EAAInC,MACxBuqD,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,QACf/vC,WAAYtY,EAAIqoC,WAEpB,MACJ,IAAK,MACDvlC,EAAQC,KAAK,CACTwkB,SAAS,kBACT7vB,MAAOsI,EACPooD,UAAW1wD,EAAM0wD,UACjBC,QAAS3wD,EAAM2wD,YAMzBsV,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAAMwoF,EAAct1E,IAAM1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAhG,SACKhE,EAAI8B,mBAIb,OADAT,IAASC,OAAOgF,EAAKF,GACdA,GAGLnP,EAAUZ,KAEV8mG,EAAgB,SAAC9lG,GACnB9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqtG,SAAUnlG,QAGnC+lG,EAAiB,SAAC/lG,GACpB9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBstG,UAAWplG,QAG1C,EAAsC/J,mBAAS,CAC3CuwC,gBAAiB,KACjBC,cAAe,KACfO,uBAAwB,KACxBN,YAAa,OAJjB,mBAAOz0B,EAAP,KAAoBC,EAApB,KAOMpM,EAAcwb,uBAAY,SAACvhB,GAC7B,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAMGoR,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOqS,IAChB1d,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,qBAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAY+0D,GAEnBjpD,IACR,IAEWhd,EAAMuuG,iBAEpBpuG,oBAAS,sBAAC,4BAAAM,EAAA,sEACUsnC,KADV,OACF9lC,EADE,OAENzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvB,aAAcxtB,EAAIW,KAAKmZ,UACvB8b,WAAY51B,EAAIW,KAAKswC,OACrBlmC,SAAU/K,EAAIW,KAAKkL,OAAS,GAC5BmgG,4BAA6BhsG,EAAIW,KAAK2wC,mBAAqB,QAPzD,2CASP,IAEHpzC,qBAAU,WAAO,IAAD,EACRi8B,EAAQ,GACRp8B,EAAM4gB,aAAc,UAAA5gB,EAAMyvB,oBAAN,eAAoBlhB,QAAS,EACjD6tB,EAAM0S,gBAAkB9uC,EAAMyvB,aAAa1f,MAAK,qBAAGnS,MAAiBoC,EAAM4gB,cAE1Ewb,EAAM0S,gBAAkB9uC,EAAMyvB,aAAa,GAE/CjV,GAAe,SAACpa,GAAD,mBAAC,eACTA,GACAg8B,QAER,CAACp8B,EAAM4gB,WAAY5gB,EAAMyvB,eAE5BtvB,qBAAU,WACN,IAAI2pC,EAAsB,GACtB8jE,EAAoB,GACpB5wD,EAAa,GACbysD,EAAa,GACjB,OAAQzpG,EAAM0tG,WACV,KAAK,EACD5jE,EACI9pC,EAAMiJ,MACNjJ,EAAMiJ,KAAKnD,KAAI,SAACgoB,GAAD,yBAAC,eACTA,GADQ,OAEX3nB,KAAM2nB,EAAEqgF,SAFG,cAGV,aAAergF,EAAE0gF,WAHP,yBAIDj0F,EAAYu0B,gBAAgBlxC,IAJ3B,OAMnBgwG,EACI5tG,EAAM8tG,OACN9tG,EAAM8tG,MAAMhoG,KAAI,SAACgoB,GAAD,yBAAC,eACVA,GADS,OAEZ3nB,KAAM2nB,EAAEggF,OAFI,cAGX,aAAehgF,EAAE0gF,WAHN,yBAIFj0F,EAAYu0B,gBAAgBlxC,IAJ1B,OAMpBo/C,EACIh9C,EAAMi9C,QACNj9C,EAAMi9C,OAAOn3C,KAAI,SAACgoB,GAAD,yBAAC,eACXA,GADU,OAEb3nB,KAAM2nB,EAAE28B,0BAFK,cAGZ,aAAe38B,EAAE0gF,WAHL,yBAIHj0F,EAAYu0B,gBAAgBlxC,IAJzB,OAMrB6rG,EACIzpG,EAAM+tG,WACN/tG,EAAM+tG,UAAUjoG,KAAI,SAACgoB,GAAD,yBAAC,eACdA,GADa,OAEhB3nB,KAAM2nB,EAAE07E,sBAFQ,cAGf,aAAe17E,EAAE0gF,WAHF,yBAINj0F,EAAYu0B,gBAAgBlxC,IAJtB,OAMxB,MACJ,KAAK,EACDksC,EACI9pC,EAAMiJ,MACNjJ,EAAMiJ,KAAKnD,KAAI,SAACgoB,GAAD,yBAAC,eACTA,GADQ,OAEX3nB,KAAM2nB,EAAEqgF,SAFG,cAGV,aAAergF,EAAErV,OAHP,yBAID8B,EAAYu0B,gBAAgBlxC,IAJ3B,OAMnBgwG,EACI5tG,EAAM8tG,OACN9tG,EAAM8tG,MAAMhoG,KAAI,SAACgoB,GAAD,yBAAC,eACVA,GADS,OAEZ3nB,KAAM2nB,EAAEggF,OAFI,cAGX,aAAehgF,EAAErV,OAHN,yBAIF8B,EAAYu0B,gBAAgBlxC,IAJ1B,OAMpBo/C,EACIh9C,EAAMi9C,QACNj9C,EAAMi9C,OAAOn3C,KAAI,SAACgoB,GAAD,yBAAC,eACXA,GADU,OAEb3nB,KAAM2nB,EAAE28B,0BAFK,cAGZ,aAAe38B,EAAErV,OAHL,yBAIH8B,EAAYu0B,gBAAgBlxC,IAJzB,OAMrB6rG,EACIzpG,EAAM+tG,WACN/tG,EAAM+tG,UAAUjoG,KAAI,SAACgoB,GAAD,yBAAC,eACdA,GADa,OAEhB3nB,KAAM2nB,EAAE07E,sBAFQ,cAGf,aAAe17E,EAAErV,OAHF,yBAIN8B,EAAYu0B,gBAAgBlxC,IAJtB,OAQhCY,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL0pC,oBAAqBA,EACrB8jE,kBAAmBA,EACnB5wD,WAAYA,EACZysD,WAAYA,SAEjB,CAACzpG,EAAM0tG,UAAW1tG,EAAMguG,eAI3B7tG,qBAAU,WAAO,IAAD,QACRsuG,EAAU,GACVC,EAAY,GACZC,EAAa,GACjB,OAAQ3uG,EAAMytG,UACV,KAAK,EACDgB,EAAUzuG,EAAM6tG,OAAS7tG,EAAM6tG,MAAM/nG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAE8qD,IAAKmxB,IAAKj8E,EAAE0gF,UAAW79D,SAAUp2B,EAAYu0B,gBAAgBlxC,QAC7H8wG,EAAY1uG,EAAMi1C,OAAN,UAAcj1C,EAAMi1C,YAApB,aAAc,EAAYnvC,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAEmnB,KAAM80D,IAAKj8E,EAAE0gF,UAAW79D,SAAUp2B,EAAYu0B,gBAAgBlxC,SAC/H+wG,EAAa3uG,EAAMwK,QAAN,UAAexK,EAAMwK,aAArB,aAAe,EAAa1E,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAEtjB,MAAOu/F,IAAKj8E,EAAE0gF,UAAW79D,SAAUp2B,EAAYu0B,gBAAgBlxC,SACnI,MAEJ,KAAK,EACD6wG,EAAUzuG,EAAM6tG,OAAS7tG,EAAM6tG,MAAM/nG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAE8qD,IAAKmxB,IAAKj8E,EAAErV,MAAOk4B,SAAUp2B,EAAYu0B,gBAAgBlxC,QACzH8wG,EAAY1uG,EAAMi1C,OAAN,UAAcj1C,EAAMi1C,YAApB,aAAc,EAAYnvC,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAEmnB,KAAM80D,IAAKj8E,EAAErV,MAAOk4B,SAAUp2B,EAAYu0B,gBAAgBlxC,SAC3H+wG,EAAa3uG,EAAMwK,QAAN,UAAexK,EAAMwK,aAArB,aAAe,EAAa1E,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBxlB,IAAKwlB,EAAEtjB,MAAOu/F,IAAKj8E,EAAErV,MAAOk4B,SAAUp2B,EAAYu0B,gBAAgBlxC,SAIvIY,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBquG,QAASA,EAASC,UAAWA,EAAWC,WAAYA,SAChF,CAAC3uG,EAAMytG,SAAUztG,EAAMguG,eAE1B7tG,oBAAS,sBAAC,wCAAAM,EAAA,4DACF,UAAAT,EAAMyvB,oBAAN,eAAoBlhB,QAAS,GAD3B,gCAEc2X,IACZ,UAAA3L,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GACnCoC,EAAM0wD,UACN1wD,EAAM2wD,SACN,UAAAp2C,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,IAC1C,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,IAPjC,OAEEqE,EAFF,OASEm6B,EAAQ,GACRx5B,EAVF,OAUSX,QAVT,IAUSA,OAVT,EAUSA,EAAKW,KACZX,EAAIoE,UACJ+1B,EAAM4xE,aAAe,IAAIv9F,KACzB2rB,EAAMyxE,MAAQjrG,EAAKirG,MACnBzxE,EAAM0xE,MAAQlrG,EAAKkrG,MACnB1xE,EAAM2xE,UAAYnrG,EAAKmrG,UACvB3xE,EAAM6Y,KAAOryC,EAAKqyC,KAClB7Y,EAAM5xB,MAAQ5H,EAAK4H,MACnB4xB,EAAM6gB,OAASr6C,EAAKq6C,OACpB7gB,EAAMnzB,KAAOrG,EAAKqG,MAEtBzK,GAAS,SAAC4B,GAAD,mBAAC,2BACHA,GACAg8B,GAFE,IAGLvoB,IAAKy6F,SAxBP,2CA2BP,CAACtuG,EAAM0wD,UAAW1wD,EAAM2wD,QAASp2C,EAAYu0B,gBAAiBv0B,EAAYy0B,YAAaz0B,EAAY+0B,yBAEtG,IAAM9yB,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GAEhCkS,EADAlS,EACe,SAAClI,GACZ,IAAIg8B,EAAK,2BAAQh8B,GAAR,kBAAa0a,EAAKxS,IAI3B,MAHW,oBAAPwS,IACAshB,EAAM2S,cAAgB,MAEnB3S,GAGI,SAACh8B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAK,WAG/C3a,qBAAU,WACN,IACIyuG,EAD0B,aAAO,IAAI5hB,IAAIhtF,EAAMimF,QAAQngF,KAAI,SAACxG,GAAD,OAAUA,EAAK2T,eACzCnN,KAAI,SAACgoB,GAAO,IAAD,EACxCrtB,EAAIT,EAAMimF,QAAQxrD,QAAO,SAAUnyB,GACnC,OAAOA,EAAI2K,YAAc6a,KAC1Bvf,OACH,OAAO,EAAP,CAASpI,KAAM2nB,GAAK,kBAApB,cAAuC,aAAertB,GAAtD,yBAAmE8Z,EAAYu0B,gBAAgB3oC,MAA/F,KAEAmnG,EAAgB,EACH,aAAIsB,GAAOz7F,SAAQ,SAAU7T,GAC1CguG,GAAiBhuG,EAAKmZ,SAE1Bja,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBitG,cAAeuB,EAAOtB,cAAeA,SACjE,CAACttG,EAAMimF,UAEV,IAOMtD,EAAe,SAACr6E,GAClB9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmtG,UAAWjlG,QAGpCumG,EAAY,SAACvmG,GACf9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBotG,WAAYllG,QAGvCwmG,EAAc,CACd/xE,EAAG/8B,EAAMyuG,QACT5xE,EAAG78B,EAAM2uG,WACThyE,EAAG38B,EAAM0uG,UACT9sE,EAAG5hC,EAAM8pC,oBACT5H,EAAGliC,EAAM4tG,kBACTnrE,EAAGziC,EAAMg9C,WACTla,EAAG9iC,EAAMypG,YAET1gG,EAAQ,CACRg0B,EAAG,WACHF,EAAG,SACHF,EAAG,QACHiF,EAAG,cACHM,EAAG,WACHO,EAAG,YACHK,EAAG,iBAGDyjD,EAAgB,SAACj+E,GACnB9J,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GAKjB,OAJAg8B,EAAM7M,MAAQnvB,EAAGmvB,KACjB6M,EAAMiW,aAAe/pC,EAAI+pC,cAAgB,GACzCjW,EAAM6M,UAAY3gC,EAAIyhD,qBAAuB,GAC7C3tB,EAAMi6B,MAAQ/tD,EAAIyK,iBACXqpB,MAGXkyE,EAAS,WAAO,IAAD,IACf,MAAM,yBAAN,OAAgCtuG,EAAM0wD,UAAtC,oBAA2D1wD,EAAM2wD,QAAjE,+BAA8F,UAAAp2C,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,GAAxI,oBACI,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,KAGvC,OACI,sBAAKsD,UAAU,sBAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KAErB,eAACzY,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,eAACD,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CAAYjC,MAAOsB,EAAM0wD,UAAW1nD,SAAUoF,EAAajI,KAAK,iBAEpE,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CAAYjC,MAAOsB,EAAM2wD,QAAS3nD,SAAUoF,EAAajI,KAAK,eAElE,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAAGr9B,UAAU,mBAAzD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,8BAGA,cAAC,IAAD,CACIqa,QAAShb,EAAMiuG,4BACfvvG,MAAO6b,EAAY+0B,uBACnBtmC,SAAUwT,EAAmB,4BAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkZ,uBAExC,eAACnnB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAA5C,UACI,cAAC79B,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,IAAD,CAAcqa,QAAShb,EAAMgN,SAAUtO,MAAO6b,EAAYy0B,YAAahmC,SAAUwT,EAAmB,uBAG5G,eAACtd,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,WAAY,EAAGi+B,cAAe,GAAnE,UACI,cAAC//B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACs+B,GAAA,EAAD,CAAM38B,UAAWgH,EAAQT,KAAzB,UACI,eAACvI,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,GAArC,SACI,sBAAKhwB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,OAAQvX,MAAO,UAAWwV,WAAY,IAAKvN,OAAQ,aAA3F,mBACWqB,EAAM/I,EAAMutG,WADvB,WAEI,eAACwB,GAAA,EAAD,CAAatvG,MAAM,YAAYuvG,YAAU,gCAAgChxE,KAAK,QAA9E,UACI,cAACx+B,EAAA,EAAD,CACIE,QAA4B,IAAnBM,EAAMytG,SAAiB,YAAc,WAC9C1vG,QAAS,kBAAMqwG,EAAc,IAC7B7wG,MAAO,CAAEqZ,SAAU,IAHvB,kBAOA,cAACpX,EAAA,EAAD,CACIE,QAA4B,IAAnBM,EAAMytG,SAAiB,YAAc,WAC9C1vG,QAAS,kBAAMqwG,EAAc,IAC7B7wG,MAAO,CAAEqZ,SAAU,IAHvB,+BAWZ,cAAC1X,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,qBAAKhwB,MAAO,CAAElB,YAAa,GAAI2E,UAAW,GAAI6qD,MAAO,SAArD,SACI,eAACkjD,GAAA,EAAD,CAAatvG,MAAM,UAAUkX,aAAW,gCAAgCqnB,KAAK,QAA7E,UACI,cAACx+B,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAM4kF,EAAa,IAC5BplF,MAAO,CAAEqZ,SAAU,IAHvB,sBAOA,cAACpX,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAM4kF,EAAa,IAC5BplF,MAAO,CAAEqZ,SAAU,IAHvB,oBAOA,eAACpX,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAM4kF,EAAa,IAC5BplF,MAAO,CAAEqZ,SAAU,IAHvB,UAKK,IALL,qBAchB,cAAC,GAAD,CACI4B,KAAMs2F,EAAY9uG,EAAMutG,WACxBvD,MAAK,0BAAqBjhG,EAAM/I,EAAMutG,YACtCrnC,mBAAoBA,EACpBn9D,MAAOA,EAAM/I,EAAMutG,kBAK/B,cAACruG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACsQ,GAAA,EAAD,CAAM38B,UAAWgH,EAAQT,KAAzB,UACI,eAACvI,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,sBAAKhwB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,OAAQvX,MAAO,UAAWwV,WAAY,IAAKvN,OAAQ,aAA3F,UACKqB,EAAM/I,EAAMwtG,YADjB,WAGI,eAACuB,GAAA,EAAD,CAAatvG,MAAM,YAAYkX,aAAW,gCAAgCqnB,KAAK,QAA/E,UACI,cAACx+B,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAM0tG,UAAkB,YAAc,WAC/C3vG,QAAS,kBAAMswG,EAAe,IAC9B9wG,MAAO,CAAEqZ,SAAU,IAHvB,kBAOA,cAACpX,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAM0tG,UAAkB,YAAc,WAC/C3vG,QAAS,kBAAMswG,EAAe,IAC9B9wG,MAAO,CAAEqZ,SAAU,IAHvB,+BAUZ,cAAC1X,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,qBAAKhwB,MAAO,CAAElB,YAAa,GAAI2E,UAAW,GAAI6qD,MAAO,SAArD,SACI,eAACkjD,GAAA,EAAD,CAAatvG,MAAM,UAAUkX,aAAW,gCAAgCqnB,KAAK,QAA7E,UACI,cAACx+B,EAAA,EAAD,CACIE,QAA8B,IAArBM,EAAMwtG,WAAmB,YAAc,WAChDzvG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,yBAOA,eAACpX,EAAA,EAAD,CACIE,QAA8B,IAArBM,EAAMwtG,WAAmB,YAAc,WAChDzvG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,UAKK,IALL,cAQA,cAACpX,EAAA,EAAD,CACIE,QAA8B,IAArBM,EAAMwtG,WAAmB,YAAc,WAChDzvG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,uBAOA,eAACpX,EAAA,EAAD,CACIE,QAA8B,IAArBM,EAAMwtG,WAAmB,YAAc,WAChDzvG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,UAKK,IALL,6BAYhB,cAAC,GAAD,CACI4B,KAAMs2F,EAAY9uG,EAAMwtG,aAAe,GACvCzkG,MAAOA,EAAM/I,EAAMwtG,YACnBzC,cAAc,EACd7kC,mBAAoBA,EACpBimC,OAA6B,IAArBnsG,EAAMwtG,WAAmB,WAAa,SAC9ChC,OAAO,YAMvB,cAACtsG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACKS,EAAM6T,KACH,cAAC,GAAD,CACIF,cAAe,SAAC1R,GAAD,OA9NnB,SAACA,GAEjB,OADAzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6lF,QAAShkF,EAAIW,KAAK4V,UACtC,CACHhE,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,OA0NwBw2F,CAAYhtG,IACpC6N,QAASA,EACT4C,OAAQ1S,EAAM6T,IACdpB,SAAUzS,EAAMyS,SAChBy8F,cAAc,EACd/4F,gBAAgB,gBAChBF,kBAAmB,4BACfq2F,GAAyB,CACrB/jE,SAAUvoC,EAAM0wD,UAChBloB,OAAQxoC,EAAM2wD,QACd/vC,YAAY,UAAArG,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GAC/CyoB,mBAAmB,UAAA9L,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,GAC7DoQ,QAAQ,UAAAuM,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,GACvCyuG,QAAS,iBAOhCrsG,EAAMuvB,KAEH,cAAC7yB,GAAA,EAAD,CAAYC,MAAK,uBAAkBqD,EAAMq2D,OAASv5D,QAASypF,EAAexpF,SAAS,KAAKC,SAAS,OAAjG,SACI,cAAC,GAAD,CAAQq1C,aAAcryC,EAAMqyC,aAAc4W,QAAQ,EAAMnsD,QAASypF,EAAet9C,UAAW1sC,EAAM0sC,WAAajpC,EAAMipC,cAExH,S,qBCtnBHi9F,GAAwB,uCAAG,WAAOtoI,GAAP,eAAA6C,EAAA,sEACpB6B,aAAY,+BAAD,OAAgC1E,IADvB,cAChCqE,EADgC,yBAE7BA,GAF6B,2CAAH,sDAIxBkkI,GAAkB,uCAAG,WAAOvjI,GAAP,eAAAnC,EAAA,sEACdsB,aAAa,uBAAwBa,GADvB,cAC1BX,EAD0B,yBAEvBA,GAFuB,2CAAH,sDAKlBmkI,GAAW,uCAAG,4BAAA3lI,EAAA,sEACP6B,aAAY,UADL,cACnBL,EADmB,yBAEhBA,GAFgB,2CAAH,qDAKXokI,GAAW,uCAAG,WAAO5lH,GAAP,eAAAhgB,EAAA,sEACP6B,aAAY,UAAD,OAAWme,IADf,cACnBxe,EADmB,yBAEhBA,GAFgB,2CAAH,sDAkBlBqkI,GAAa,SAAC1jI,GAEhB,MAAa,kBADEA,EACS,CAACA,GAAQA,GAGxB2jI,GAAO,uCAAG,WAAO3jI,GAAP,eAAAnC,EAAA,sEACHsB,aAAa,YAAa,CACtCo5C,YAAav4C,EAAKuD,KAClBqgI,aAAc5jI,EAAK4jI,aACnBpgI,SAAUxD,EAAKwD,SACfQ,gBAAiBhE,EAAK8D,QACtB+/H,QAAS7jI,EAAK8jI,MACd1wD,SAAUpzE,EAAKozE,SACf2wD,SAAU/jI,EAAK+jI,SACf1/H,MAAOrE,EAAKqE,MACZ2/H,SAAUhkI,EAAKikI,SACf5+E,UAAWrlD,EAAKqlD,UAChB6+E,YAAalkI,EAAKmkI,UAClBvsG,YAAa8rG,GAAW1jI,EAAK43B,aAC7B0tB,UAAWtlD,EAAKslD,UAChB8+E,UAAWV,GAAW1jI,EAAKqkI,UAC3B1+E,WAAY3lD,EAAK2lD,WACjB2+E,gBAAiBtkI,EAAKukI,eACtBC,SAAUxkI,EAAKwkI,WAlBA,cACfnlI,EADe,yBAoBZA,GApBY,2CAAH,sDAuBPolI,GAAU,uCAAG,WAAOzkI,GAAP,eAAAnC,EAAA,sEACN2B,aAAY,UAAD,OAAWQ,EAAKka,QAAhB,YAAC,eACpBla,EAAK0kI,eAAiB,CAAElhI,SAAUxD,EAAKwD,WADpB,IAEvB+0C,YAAav4C,EAAKuD,KAClBqgI,aAAc5jI,EAAK4jI,aACnBC,QAAS7jI,EAAK8jI,MACd1wD,SAAUpzE,EAAKozE,SACf2wD,SAAU/jI,EAAK+jI,SACf1/H,MAAOrE,EAAKqE,MACZ2/H,SAAUhkI,EAAKikI,SACf5+E,UAAWrlD,EAAKqlD,UAChB6+E,YAAalkI,EAAKmkI,UAClBvsG,YAAa8rG,GAAW1jI,EAAK43B,aAC7B0tB,UAAWtlD,EAAKslD,UAChB8+E,UAAWV,GAAW1jI,EAAKqkI,UAC3BM,YAAa3kI,EAAK4kI,UAClBj/E,WAAY3lD,EAAK2lD,WACjB2+E,gBAAiBtkI,EAAKukI,eACtBC,SAAUxkI,EAAKwkI,YAlBG,cAClBnlI,EADkB,yBAoBfA,GApBe,2CAAH,sDAuBVwlI,GAAkBjlI,mBAAO,sBAAC,4BAAA/B,EAAA,sEACnB6B,aAAY,yBADO,cAC/BL,EAD+B,yBAE5BA,GAF4B,4CAK1BylI,GAA2B,uCAAG,WAAOC,EAAM75B,GAAb,eAAArtG,EAAA,sEACvB6B,aAAY,2CAAD,OAA4CqlI,EAA5C,oBAA4D75B,IADhD,cACnC7rG,EADmC,yBAEhCA,GAFgC,2CAAH,wDAK3B2lI,GAAgB,uCAAG,WAAO5vH,EAAQ6vH,EAAanhI,GAA5B,eAAAjG,EAAA,sEACZsB,aAAa,sBAAD,OAAuBiW,GAAU,CACzDrR,YAAakhI,EACbjhI,gBAAiBF,IAHO,cACxBzE,EADwB,yBAKrBA,GALqB,2CAAH,0DC1FhB6lI,GAAoBhhH,0BAEpBihH,GAAe,SAACxrI,GACzB,MAA+DyB,eAAvD8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAAgBD,EAA1C,EAA0CA,iBAE1C,EAA0BrJ,mBAAS,CAC/BsoI,SAAU,GACV5/H,MAAO,GACPd,KAAM,GACNqgI,aAAc,GACdE,MAAO,GACPtgI,SAAU,GACVM,QAAS,GACTqgI,WAAW,EACXS,WAAW,EACXxxD,UAAU,EACV2wD,UAAU,EACV1+E,UAAW,GACXC,UAAW,GACX1tB,YAAa,GACbysG,SAAU,GACVe,gBAAiB,GACjBb,eAAgB,GAChBlpH,KAAM,GACN9Q,OAAQ,GACRm6H,eAAe,EACfxqH,OAAQ,GACRyrC,YAAY,EACZ0P,WAAY,GACZmvE,SAAU,OAxBd,mBAAOpnI,EAAP,KAAcxB,EAAd,KA2BA,EAAkCD,oBAAS,GAA3C,mBAAkByb,GAAlB,WAEMiuH,EAAmB,WACrB,IAAI96H,EAAS,GACTmB,GAAc,EA6BlB,MA5BK,QAAQE,KAAKxO,EAAMmG,QACpBmI,GAAc,EACdnB,EAAM,KAAW,6BAEhB,QAAQqB,KAAKxO,EAAMwmI,gBACpBl4H,GAAc,EACdnB,EAAM,aAAmB,iCAExB+6H,aAAsBloI,EAAMiH,SAC7BqH,GAAc,EACdnB,EAAM,MAAY,4BAEjB,QAAQqB,KAAKxO,EAAMoG,YACpBkI,GAAc,EACdnB,EAAM,SAAe,kCAEpB,QAAQqB,KAAKxO,EAAM0G,WACpB4H,GAAc,EACdnB,EAAM,QAAc,0CAEnBnN,EAAM6mI,WACPv4H,GAAc,EACdnB,EAAM,SAAe,6BAEzB3O,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,OAELmB,GAEL65H,EAAmB,WACrB,IAAIh7H,EAAS,GACTmB,GAAc,EA6BlB,MA5BK,QAAQE,KAAKxO,EAAMmG,QACpBmI,GAAc,EACdnB,EAAM,KAAW,6BAEhB,QAAQqB,KAAKxO,EAAMwmI,gBACpBl4H,GAAc,EACdnB,EAAM,aAAmB,iCAExB+6H,aAAsBloI,EAAMiH,SAC7BqH,GAAc,EACdnB,EAAM,MAAY,4BAEjBnN,EAAM6mI,WACPv4H,GAAc,EACdnB,EAAM,SAAe,6BAErBnN,EAAMsnI,gBAAkB,QAAQ94H,KAAKxO,EAAMoG,YAC3CkI,GAAc,EACdnB,EAAM,SAAe,kCAErBnN,EAAMsnI,gBAAkB,QAAQ94H,KAAKxO,EAAM0G,WAC3C4H,GAAc,EACdnB,EAAM,QAAc,0CAExB3O,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,OAELmB,GAGX,EAAoC/P,mBAAS,CACzC6pI,QAAS,GACTviI,QAAS,GACT8qC,SAAU,GACVm9D,MAAO,GACPjyB,iBAAkB,KALtB,mBAAOnzB,EAAP,KAAmBC,EAAnB,KAQA,EAAwCpqD,mBAAS,CAC7C6pI,QAAS,GACTviI,QAAS,GACTqtC,OAAQ,GACRijC,aAAc,KAJlB,mBAAOvtB,EAAP,KAAqBC,EAArB,KAkCMw/E,EAAU,uCAAG,WAAOhgI,GAAP,eAAA5H,EAAA,0DACX0nI,IADW,qBAEPnoI,EAAMsnI,eAAiBtnI,EAAMoG,WAAapG,EAAM0G,QAFzC,gBAGPkB,EAAiB,+CAHV,8BAKPoS,GAAa,GALN,SAMSqtH,GAAWrnI,GANpB,QAMHiC,EANG,QAOCoE,SACJyB,EAAiB,6BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAbN,4CAAH,sDAkBVmQ,EAAY,uCAAG,WAAO9hB,GAAP,eAAA5H,EAAA,0DACbwnI,IADa,oBAERx/H,aAAiBzI,EAAMoG,UAFf,gBAGTwB,EAAiB,mDAHR,0BAIF5H,EAAMoG,WAAapG,EAAM0G,QAJvB,gBAKTkB,EAAiB,+CALR,8BAOToS,GAAa,GAPJ,UAQOusH,GAAQvmI,GARf,SAQLiC,EARK,QASDoE,SACJyB,EAAiB,2BACjBvL,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAfJ,4CAAH,sDAmKlB,OArGA7Z,oBAAS,sBAAC,4BAAAM,EAAA,sDACF6nI,EAAqB,GACrBtoI,EAAMw6B,cACNkuB,EAAWolD,MAAMrzE,QAAO,SAACx8B,GACjB+B,EAAMw6B,cAAgBv8B,EAAI+d,YAC1BssH,EAAmBj9H,KAAKpN,MAGhCO,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4nI,gBAAiBM,QAR1C,2CAUP,CAACtoI,EAAMw6B,cAEVr6B,qBAAU,WACN,GAAI5D,EAAMugB,OAAQ,CACd,IAAMy0G,EAAiB7oE,EAAW7iD,QAAQ40B,QAAO,SAAC1sB,GAAD,OAAO/N,EAAMkoD,UAAUiB,QAAQp7C,EAAEnQ,KAAO,KACnF2qI,EAAiB7/E,EAAW0/E,QAAQ3tG,QAAO,SAAC1sB,GAAD,OAAO/N,EAAMioD,UAAUkB,QAAQp7C,EAAEnQ,KAAO,KAEnF4hG,EAAuB92C,EAAWmzB,iBAAiBphD,QAAO,SAAC1sB,GAAD,OAAO/N,EAAMmnI,eAAeh+E,QAAQp7C,EAAEnQ,KAAO,KAC7GirD,GAAgB,SAACzoD,GAAD,mBAAC,eACVA,GADS,IAEZyF,QAAS0rH,EACT6W,QAASG,EAETpyD,aAAcqpB,OAEd92C,EAAW0/E,QAAQ75H,OAAS,GAAKm6C,EAAW0/E,QAAQ75H,SAAWg6H,EAAeh6H,QAC9E/P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2mI,WAAW,UAG/C,CAEC/mI,EAAMioD,UACNjoD,EAAMkoD,UACNQ,EAAW0/E,QACX1/E,EAAW7iD,QACX6iD,EAAWolD,MACX9tG,EAAMmnI,eACNz+E,EAAWmzB,mBAGf17E,oBAAS,sBAAC,oCAAAM,EAAA,sEACagnI,KADb,WACFn4H,EADE,QAEKjJ,UACD0V,EAAYzM,EAAO1M,KAAKmZ,UAAUjW,KAAI,SAACiI,GAAD,MAAQ,CAChDnQ,GAAImQ,EAAE6S,WACNza,KAAM4H,EAAEiF,wBAENnN,EAAUyJ,EAAO1M,KAAKiD,QAAQC,KAAI,SAACiI,GAAD,MAAQ,CAC5CnQ,GAAImQ,EAAEy6H,SACNriI,KAAM4H,EAAE06H,eAENv1F,EAAS5jC,EAAO1M,KAAKswC,OAAOptC,KAAI,SAACiI,GAAD,MAAQ,CAC1CnQ,GAAImQ,EAAEilB,QACN7sB,KAAM4H,EAAEkF,UACR+I,WAAYjO,EAAEunB,oBAElBqzB,GAAc,SAACvoD,GAAD,mBAAC,eACRA,GADO,IAEVgoI,QAAS94H,EAAO1M,KAAKu9H,SAASr6H,KAAI,SAACiI,GAAD,MAAQ,CACtCnQ,GAAImQ,EAAE26H,SACNviI,KAAM4H,EAAE46H,yBAGhBhgF,GAAc,SAACvoD,GAAD,mBAAC,eAAaA,GAAd,IAAkBuwC,SAAU50B,EAAWlW,QAASA,EAASioG,MAAO56D,EAAQ2oC,iBAAkBvsE,EAAO1M,KAAKqyB,qBAEpH14B,EAAMugB,OAzBJ,gCA0BcupH,GAAY9pI,EAAMugB,QA1BhC,OA0BE7a,EA1BF,OA2BFzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL0c,OAAQ7a,EAAIW,KAAKhF,GACjBuI,KAAMlE,EAAIW,KAAKu4C,YACfqrF,aAAcvkI,EAAIW,KAAK4jI,aACvBE,MAAOzkI,EAAIW,KAAK6jI,QAChBx/H,MAAOhF,EAAIW,KAAKqE,MAChB4/H,SAAU5kI,EAAIW,KAAKgkI,SACnB5wD,SAAU/zE,EAAIW,KAAKozE,SACnB2wD,SAAU1kI,EAAIW,KAAK+jI,SACnB1+E,UAAWhmD,EAAIW,KAAKqlD,UACpBC,UAAWjmD,EAAIW,KAAKslD,UACpB1tB,YAAav4B,EAAIW,KAAK43B,YAAY,GAClC+tB,WAAYtmD,EAAIW,KAAK2lD,WACrB0+E,SAAUhlI,EAAIW,KAAKokI,UAAU,GAC7B4B,0BAA2B3mI,EAAIW,KAAKgmI,0BACpCzB,eAAgBllI,EAAIW,KAAKskI,gBACzBE,SAAUnlI,EAAIW,KAAKwkI,cA5CrB,2CA+CP,IAEHjnI,oBAAS,sBAAC,kCAAAM,EAAA,sEACUinI,GAA4B1nI,EAAMw6B,YAAax6B,EAAMinI,UAD/D,QACFhlI,EADE,QAEEoE,UACJ,UAAIpE,EAAIW,YAAR,aAAI,EAAU4V,QACJo4B,EADU,OACD3uC,QADC,IACDA,GADC,UACDA,EAAKW,YADJ,aACD,EAAW4V,KAAK1S,KAAI,SAACiI,GAAD,MAAQ,CACvCnQ,GAAImQ,EAAEwqD,SACNpyD,KAAM4H,EAAE6iC,WAEZpyC,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB63D,WAAYrnB,GAAU,SARnD,2CAWP,CAAC5wC,EAAMw6B,YAAax6B,EAAMinI,WAEzB,cAACa,GAAkBz9G,SAAnB,CACI3rB,MAAO,CACHsB,QACA6oI,YApNQ,SAAC5/E,GACjBzqD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAO6oD,OAoNtBP,aACAE,eACAkC,aAtJS,SAACziD,EAAG3J,GACrBmqD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkByF,QAASnH,OAC3CF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAY8nD,UAAWxpD,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,YAoJ/CkrI,aA/IS,SAACzgI,EAAG3J,GACrBmqD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkBgoI,QAAS1pI,OAC3CF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAY6nD,UAAWvpD,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,YA6I/CmrI,iBArNa,SAAC75H,GACtB,MAA0BA,EAAM3G,OAAxBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QAEVlR,EADAkR,EACS,SAACtP,GACN,IAAMmoH,EAAG,eAAQnoH,GASjB,OARAmoH,EAAIpiH,GAAQuJ,EACC,cAATvJ,EACAoiH,EAAIygB,OAAJ,aAAiBtgF,EAAW0/E,QAAQtiI,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,OACjC,cAATuI,EACPoiH,EAAI0e,SAAJ,aAAmBjnI,EAAMgoI,gBAAgBliI,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,OAEtD2qH,EAAIpiH,GAAQuJ,EAET64G,GAGF,SAACnoH,GAEN,OADS,2BAAQA,GAAR,kBAAa+F,EAAOuJ,OAqM7B0gB,YA1HQ,SAACnuB,GACjB1F,EAAM6tB,aAAanoB,IA0HX4zC,YAvHQ,SAAC1vC,EAAMzH,GACvBF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,kBAAa+F,EAAOzH,QAsHzBuqI,YApIQ,SAAC5gI,EAAG3J,GACpBmqD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkB8yC,OAAQx0C,OAC1CF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAY6mI,SAAUvoI,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,YAkI9CyqI,aACAl+G,eACA++G,cA9IU,SAAC7gI,EAAG3J,GACtBmqD,GAAgB,SAACzoD,GAAD,mBAAC,eAAaA,GAAd,IAAkB+1E,aAAcz3E,OAChDF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,IAAY+mI,eAAgBzoI,EAAMoH,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,aA6H5D,SAiBKrB,EAAMK,YCpOJusI,GA9GO,SAAC5sI,GACnB,IAAQyD,EAAwIzD,EAAxIyD,MAAO0oD,EAAiInsD,EAAjImsD,WAAYtgD,EAAqH7L,EAArH6L,YAAawgD,EAAwGrsD,EAAxGqsD,aAA4BkC,GAA4EvuD,EAA1FusI,aAA0FvsI,EAA5EuuD,cAA2BjV,GAAiDt5C,EAA9D0sI,YAA8D1sI,EAAjDs5C,aAA+BqzF,GAAkB3sI,EAApCwsI,iBAAoCxsI,EAAlB2sI,eAC9H,OACI,eAAChqI,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,uBAGA,eAAC8wH,GAAA,EAAD,CAAa/lH,UAAU,WAAvB,UACI,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACwtB,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,WAAWxQ,KAAK,WAAWzH,MAAOsB,EAAM6mI,SAAU79H,SAAUZ,EAAvF,UACI,cAAC4kB,GAAA,EAAD,CAAkBtuB,MAAM,QAAQuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,UAC1D,cAACikB,GAAA,EAAD,CAAkBtuB,MAAM,WAAWuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,aAC7D,cAACikB,GAAA,EAAD,CAAkBtuB,MAAM,WAAWuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,kBAC7D,cAACikB,GAAA,EAAD,CAAkBtuB,MAAM,eAAeuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,kBACjE,cAACikB,GAAA,EAAD,CAAkBtuB,MAAM,SAASuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,WAC3D,cAACikB,GAAA,EAAD,CAAkBtuB,MAAM,aAAauuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,eAC/D,cAACikB,GAAA,EAAD,CAAkBtuB,MAAM,gBAAgBuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,wBAG1E,cAACpH,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAN,iBAG/B,mCACI,eAACjO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,WACU,OAALS,QAAK,IAALA,OAAA,EAAAA,EAAOopI,cACJ,qCACI,cAAC1oI,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CAAaqa,QAAS0tC,EAAW7iD,QAASnH,MAAOkqD,EAAa/iD,QAASmD,SAAU8hD,OAiBrE,iBAAnB9qD,EAAM6mI,UAAkD,eAAnB7mI,EAAM6mI,SACxC,gCACI,cAACnmI,EAAA,EAAD,CAAYC,QAAM,EAAlB,2BACA,cAAC,IAAD,CAAaqa,QAAS0tC,EAAWmzB,iBAAkBn9E,MAAOkqD,EAAautB,aAAcntE,SAAUkgI,OAEnG,KAEgB,aAAnBlpI,EAAM6mI,UAA8C,WAAnB7mI,EAAM6mI,SACpC,gCACI,cAACnmI,EAAA,EAAD,CAAYC,QAAM,EAAlB,uBACA,cAAC,IAAD,CAAWjC,MAAOsB,EAAMw6B,aAAe,GAAIxxB,SAAUZ,EAAa4G,KAAM05C,EAAW/X,SAAUxqC,KAAK,gBAEhGnG,EAAMwnI,UAMJ,KALA,qCACI,cAAC9mI,EAAA,EAAD,CAAYC,QAAM,EAAlB,oBAEA,cAAC,IAAD,CAAWjC,MAAOsB,EAAMinI,UAAY,GAAIj+H,SAAUZ,EAAa4G,KAAMhP,EAAMgoI,gBAAiB7hI,KAAK,gBAGrF,WAAnBnG,EAAM6mI,UACH,qCACI,cAACnmI,EAAA,EAAD,CAAYC,QAAM,EAAlB,oBAEA,cAAC,IAAD,CAAWjC,MAAOsB,EAAMonI,UAAY,GAAIp+H,SAAUZ,EAAa4G,KAAMhP,EAAMi4D,WAAY9xD,KAAK,mBAIxG,UAIZ,cAACjH,EAAA,EAAD,CAAMK,GAAI,GAAIJ,WAAS,EAAC5B,MAAO,CAAEyD,UAAW,IAA5C,SACI,eAAC9B,EAAA,EAAD,CAAMK,GAAI,GAAIJ,WAAS,EAACC,QAAS,EAAjC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,yBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CAAW5O,MAAOA,EAAMg2E,SAAU7vE,KAAK,WAAWpI,QAAS,kBAAM83C,EAAY,YAAY,QAE7F,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CAAU5O,MAAOA,EAAMg2E,SAAU7vE,KAAK,WAAWpI,QAAS,kBAAM83C,EAAY,YAAY,QAE5F,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,yBAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CAAW5O,MAAOA,EAAM2mI,SAAUxgI,KAAK,WAAWpI,QAAS,kBAAM83C,EAAY,YAAY,QAE7F,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CAAU5O,MAAOA,EAAM2mI,SAAUxgI,KAAK,WAAWpI,QAAS,kBAAM83C,EAAY,YAAY,QAE5F,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,4BAGA,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CAAW5O,MAAOA,EAAMuoD,WAAYpiD,KAAK,aAAapI,QAAS,kBAAM83C,EAAY,cAAc,QAEnG,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CAAU5O,MAAOA,EAAMuoD,WAAYpiD,KAAK,aAAapI,QAAS,kBAAM83C,EAAY,cAAc,iBCvGhHwzF,I,OAAe,SAAC9sI,GAClB,MAgBI2B,qBAAW4pI,IAfX9nI,EADJ,EACIA,MACA6oI,EAFJ,EAEIA,YACAngF,EAHJ,EAGIA,WACAE,EAJJ,EAIIA,aACAkC,EALJ,EAKIA,aACAg+E,EANJ,EAMIA,aACAC,EAPJ,EAOIA,iBACA34G,EARJ,EAQIA,YACA64G,EATJ,EASIA,YACApzF,EAVJ,EAUIA,YACAwyF,EAXJ,EAWIA,WACAl+G,EAZJ,EAYIA,aAEA++G,GAdJ,EAaII,WAbJ,EAcIJ,eACAnvH,EAfJ,EAeIA,UAGE3R,EAAc,SAACC,GACjB,IACsC,EADtC,EAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACVsB,EAAM8c,QAAmB,UAAT3W,EAChB0iI,GAAW,mBAAI1iI,EAAOzH,GAAX,+BAAiC,GAAjC,IAEXmqI,EAAY,eAAG1iI,EAAOzH,KAIxB/B,EAAQqD,EAAM8c,OAAS,cAAgB,WAE7C,OACI,cAACpgB,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMszB,GAAY,IAAQnzB,OAAO,OAAOD,SAAS,OAAOD,SAAS,KAApG,SACI,eAACmC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,0BAAtC,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,YACX3N,UAAU,YACV4H,WAAW,EACX3C,KAAK,OACL2I,YAAY,YACZ9F,SAAUZ,EACV1J,MAAOsB,EAAMmG,KACbgH,OAAQnN,EAAMmN,OAAN,SAGhB,cAACjO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,gBACXC,YAAY,gBACZ3I,KAAK,eACLsnB,WAAY,CAAE87G,UAAW,GACzBroI,UAAU,YACV4H,WAAW,EACXE,SAAUZ,EACV1J,MAAOsB,EAAMwmI,aACbr5H,OAAQnN,EAAMmN,OAAN,iBAGhB,cAACjO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,QACXC,YAAY,QACZnP,WAAS,EACTwG,KAAK,QACL8C,KAAK,QACLD,SAAUZ,EACV1J,MAAOsB,EAAMiH,MACbkG,OAAQnN,EAAMmN,OAAN,UAGhB,cAACjO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,eACXC,YAAY,eACZ3I,KAAK,QACLxG,WAAS,EACTqJ,SAAUZ,EACV1J,MAAOsB,EAAM0mI,WAGnB1mI,EAAM8c,QAAU9c,EAAMsnI,cACpB,qCACI,eAACpoI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CAAehB,WAAS,EAACkJ,aAAa,eAAeiG,YAAY,WAAW3I,KAAK,WAAW6C,SAAUZ,IACtG,cAACzG,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAN,cAE3B,eAACjO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,8BAGA,cAAC,IAAD,CAAehB,WAAS,EAACkJ,aAAa,eAAeiG,YAAY,mBAAmB3I,KAAK,UAAU6C,SAAUZ,IAC7G,cAACzG,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAN,gBAG/B,KACJ,cAACjO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAAC,GAAD,CACI5O,MAAOA,EACPoI,YAAaA,EACbsgD,WAAYA,EACZugF,YAAaA,EACbrgF,aAAcA,EACdkC,aAAcA,EACdg+E,aAAcA,EACdI,cAAeA,EACfH,iBAAkBA,EAClBlzF,YAAaA,MAGrB,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACM5O,EAAM8c,OAKJ,cAAC,IAAD,CAAiB7B,YAAalB,EAAWhc,QAASsqI,EAAYnnI,UAAU,aAAxE,oBAJA,cAAC,IAAD,CAAiB+Z,YAAalB,EAAWhc,QAASosB,EAAcjpB,UAAU,aAA1E,6BAoBTgtB,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,Q,WCmOGitI,GAjWgB,SAACjtI,GAC5B,MAAsCgC,mBAAS,IAA/C,mBAAOkrI,EAAP,KAAoBC,EAApB,KACA,EAA4BnrI,mBAAS,MAArC,mBAAeorI,GAAf,WACA,EAAkCprI,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAA6Chc,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAGpBooC,GADkB,OAAL1zC,QAAK,IAALA,KAAOqqI,SACY,aAAd,OAALrqI,QAAK,IAALA,OAAA,EAAAA,EAAOqqI,WACpB76E,EAAoC,iBAAd,OAALxvD,QAAK,IAALA,OAAA,EAAAA,EAAOqqI,UAE9BzmI,oBAAS,sBAAC,kCAAAM,EAAA,sEACUylI,GAAyB3pI,EAAMyb,QADzC,OAMN,IAAWrN,KALP1I,EADE,OAENonB,QAAQC,IAAIrnB,GAENwnI,EAAcxnI,EAAIW,KAAK2G,QAAQ,GAG3BqgI,EAAOj/H,EAAI0sF,MAAM,WAAW,GAC9B1sF,EAAIuJ,SAAS,aACTu1H,EAAY,YAAcG,IAASH,EAAY,YAAcG,IAASH,EAAY,eAAiBG,IAASH,EAAY,SAAWG,MACnIH,EAAY9+H,IAAO,GAK/B++H,GAAe,iCACRD,MAhBD,2CAkBP,CAACltI,EAAMyb,SAEV7X,oBAAS,sBAAC,8BAAAM,EAAA,sEACU4lI,GAAY9pI,EAAMyb,QAD5B,QACF/V,EADE,QAEEoE,SACJsjI,EAAS,OAAC1nI,QAAD,IAACA,GAAD,UAACA,EAAKW,YAAN,aAAC,EAAWgkI,UAHnB,2CAKP,IAEHzmI,qBAAU,cAEP,IAEH,IAAMgqB,EAAY,uCAAG,8BAAA1pB,EAAA,6DACjBuZ,GAAa,IAEPpX,EAHW,eAGC6mI,IACd,OAAaltI,EAAMyb,OAJN,SAMDmuH,GAAmBvjI,GANlB,QAMbX,EANa,QAQToE,SACJyB,EAAiB7F,EAAIW,KAAK8F,SAC1BnM,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAGvBsR,GAAa,GAfI,2CAAH,qDAsDZ6vH,EAAa,SAACttI,GAChB,IArCiB+L,EAsDjB,OACS,OAAL/L,QAAK,IAALA,OAAA,EAAAA,EAAOutI,QACH,KAEA,eAAC5qI,EAAA,EAAD,CAAMC,WAAS,EAACI,GAAI,EAAGorB,EAAG,EAAG2C,GAAI,EAAGC,GAAI,EAAGgR,GAAI,EAA/C,UACI,cAACr/B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACI4G,KAAM5J,EAAM4J,KACZ6C,UA9DHV,EA8DyB/L,EAAMwtI,aA9DvB,SAAC1hI,GAC1B,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACVs6H,EAAU7jI,EAAK+N,SAAS,aACtB,YACA/N,EAAK+N,SAAS,aACV,YACA/N,EAAK+N,SAAS,gBACV,eACA/N,EAAK+N,SAAS,UACV,SACA/N,EAAK+N,SAAS,WACV,UACA/N,EAAK+N,SAAS,aACV,YACA,KAE1B,GAAI/N,EAAK+N,SAAS81H,GAAU,CACxB,IAAMJ,EAAO,UAAYzjI,EAAKkxF,MAAM2yC,GAAS,GACzCJ,KAAQH,GACRC,GAAe,SAACtpI,GAAD,mBAAC,eACTA,GADQ,kBAEVwpI,GAAO,OAIpB,IAAIj6B,EAAQ,GACZA,EAAMxpG,GAAQuJ,EACVpH,GAAOoH,IACPigG,EAAMrnG,IAAO,GAEjBohI,GAAe,SAACtpI,GAAD,mBAAC,eACTA,GACAuvG,QA+BajgG,QAASnT,EAAMyD,MACfgL,SA3BK,SAACi/H,GACtB,IAAML,EAAOK,EAAM5yC,MAAM,WAAW,GACpC,SAAI4yC,EAAM/1H,SAAS,cAEXu1H,EAAY,YAAcG,IAC1BH,EAAY,YAAcG,IAC1BH,EAAY,eAAiBG,IAC7BH,EAAY,UAAYG,IACxBH,EAAY,YAAcG,IAC1BH,EAAY,SAAWG,KAkBLM,CAAiB3tI,EAAM4J,UAGzC,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEq9C,WAAY,QAAxC,SACI,cAACuvF,GAAA,EAAD,UAAY5tI,EAAM4+C,oBAMtC,OACI,eAACj8C,EAAA,EAAD,CAAMC,WAAS,EAAC+B,UAAU,yBAA1B,UACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAO,CAAEyD,UAAW,OAAQi+B,aAAc,QAArF,6CACkC1iC,EAAM4+C,YADxC,cACyD5+C,EAAMqqI,YAE/D,0BAKJ,eAAC1nI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIhwB,MAAO,CAAEq9C,WAAY,QAAxD,UACI,cAAClxC,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,kBAGA,0BAEJ,cAACoqI,EAAD,CAAY1jI,KAAM,mBAAoBg1C,YAAa,sBAAuBn7C,MAAOypI,EAAYW,mBAC7F,cAACP,EAAD,CAAY1jI,KAAM,qBAAsBg1C,YAAa,wBAAyBn7C,MAAOypI,EAAYY,qBACjG,cAACR,EAAD,CAAY1jI,KAAM,wBAAyBg1C,YAAa,4BAA6Bn7C,MAAOypI,EAAYa,sBAAuBR,OAAQ75F,GAAc8b,IACrJ,cAAC89E,EAAD,CAAY1jI,KAAM,0BAA2Bg1C,YAAa,8BAA+Bn7C,MAAOypI,EAAYc,wBAAyBT,OAAQ75F,GAAc8b,IAC3J,cAAC89E,EAAD,CAAY1jI,KAAM,kBAAmBg1C,YAAa,qBAAsBn7C,MAAOypI,EAAYe,gBAAiBV,OAAQ/9E,IACpH,cAAC89E,EAAD,CAAY1jI,KAAM,eAAgBg1C,YAAa,kBAAmBn7C,MAAOypI,EAAYgB,eACrF,cAACZ,EAAD,CAAY1jI,KAAM,kBAAmBg1C,YAAa,qBAAsBn7C,MAAOypI,EAAYiB,kBAC3F,cAACb,EAAD,CAAY1jI,KAAM,yBAA0Bg1C,YAAa,6BAA8Bn7C,MAAOypI,EAAYkB,uBAAwBb,OAAQ/9E,IAC1I,cAAC89E,EAAD,CAAY1jI,KAAM,oBAAqBg1C,YAAa,uBAAwBn7C,MAAOypI,EAAYmB,kBAAmBd,OAAQ/9E,IAC1H,cAAC89E,EAAD,CAAY1jI,KAAM,oBAAqBg1C,YAAa,uBAAwBn7C,MAAOypI,EAAYoB,kBAAmBf,OAAQ/9E,IAC1H,cAAC89E,EAAD,CAAY1jI,KAAM,kBAAmBg1C,YAAa,qBAAsBn7C,MAAOypI,EAAYqB,gBAAiBhB,OAAQ/9E,IACpH,cAAC89E,EAAD,CAAY1jI,KAAM,yBAA0Bg1C,YAAa,6BAA8Bn7C,MAAOypI,EAAYsB,uBAAwBjB,OAAQ75F,GAAc8b,IAIxJ,eAAC7sD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAO,CAAEq9C,WAAY,QAAhE,uBAGA,0BAEJ,cAACivF,EAAD,CAAY1jI,KAAM,mBAAoBg1C,YAAa,sBAAuBn7C,MAAOypI,EAAYuB,mBAC7F,cAACnB,EAAD,CAAY1jI,KAAM,qBAAsBg1C,YAAa,wBAAyBn7C,MAAOypI,EAAYwB,qBACjG,cAACpB,EAAD,CAAY1jI,KAAM,qBAAsBg1C,YAAa,wBAAyBn7C,MAAOypI,EAAYyB,mBAAoBpB,OAAQ75F,GAAc8b,IAC3I,cAAC89E,EAAD,CAAY1jI,KAAM,mBAAoBg1C,YAAa,sBAAuBn7C,MAAOypI,EAAY0B,mBAC7F,cAACtB,EAAD,CAAY1jI,KAAM,yBAA0Bg1C,YAAa,6BAA8Bn7C,MAAOypI,EAAY2B,uBAAwBrB,aAAa,qBAC/I,cAACF,EAAD,CAAY1jI,KAAM,6BAA8Bg1C,YAAa,iCAAkCn7C,MAAOypI,EAAY4B,2BAA4BtB,aAAa,qBAI3J,eAAC7qI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIhwB,MAAO,CAAEq9C,WAAY,QAAxD,UACI,cAAClxC,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,kBAGA,0BAEJ,cAACoqI,EAAD,CAAY1jI,KAAM,cAAeg1C,YAAa,iBAAkBn7C,MAAOypI,EAAY6B,cACnF,cAACzB,EAAD,CAAY1jI,KAAM,gBAAiBg1C,YAAa,mBAAoBn7C,MAAOypI,EAAY8B,gBACvF,cAAC1B,EAAD,CAAY1jI,KAAM,mBAAoBg1C,YAAa,sBAAuBn7C,MAAOypI,EAAY+B,iBAAkB1B,OAAQ75F,IACvH,cAAC45F,EAAD,CAAY1jI,KAAM,wBAAyBg1C,YAAa,4BAA6B4uF,aAAa,cAAc/pI,MAAOypI,EAAYgC,wBACnI,cAAC5B,EAAD,CAAY1jI,KAAM,oBAAqBg1C,YAAa,wBAAyB4uF,aAAa,cAAc/pI,MAAOypI,EAAYiC,kBAAmB5B,OAAQ75F,IACtJ,cAAC45F,EAAD,CAAY1jI,KAAM,yBAA0Bg1C,YAAa,8BAA+B4uF,aAAa,cAAc/pI,MAAOypI,EAAYkC,yBACtI,cAAC9B,EAAD,CAAY1jI,KAAM,oBAAqBg1C,YAAa,wBAAyB4uF,aAAa,cAAc/pI,MAAOypI,EAAYmC,kBAAmB9B,OAAQ75F,GAAc8b,IACpK,cAAC89E,EAAD,CAAY1jI,KAAM,2BAA4Bg1C,YAAa,iCAAkC4uF,aAAa,cAAc/pI,MAAOypI,EAAY9gB,4BAIzI58D,GACE,qCACI,eAAC7sD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIhwB,MAAO,CAAEq9C,WAAY,QAAxD,UACI,cAAClxC,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,oBAGA,0BAEJ,cAACoqI,EAAD,CAAY1jI,KAAM,gBAAiBg1C,YAAa,mBAAoBn7C,MAAOypI,EAAYoC,cAAe/B,OAAQ/9E,IAC9G,cAAC89E,EAAD,CAAY1jI,KAAM,kBAAmBg1C,YAAa,qBAAsBn7C,MAAOypI,EAAYqC,gBAAiBhC,OAAQ/9E,IACpH,cAAC89E,EAAD,CAAY1jI,KAAM,4BAA6Bg1C,YAAa,gCAAiC4uF,aAAa,gBAAgB/pI,MAAOypI,EAAYsC,0BAA2BjC,OAAQ/9E,IAChL,cAAC89E,EAAD,CAAY1jI,KAAM,sBAAuBg1C,YAAa,0BAA2B4uF,aAAa,gBAAgB/pI,MAAOypI,EAAYuC,oBAAqBlC,OAAQ/9E,QAKpKA,GACE,qCACI,eAAC7sD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIhwB,MAAO,CAAEq9C,WAAY,QAAxD,UACI,cAAClxC,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,sBAGA,0BAEJ,cAACoqI,EAAD,CAAY1jI,KAAM,kBAAmBg1C,YAAa,qBAAsBn7C,MAAOypI,EAAYwC,gBAAiBnC,OAAQ/9E,IACpH,cAAC89E,EAAD,CAAY1jI,KAAM,iBAAkBg1C,YAAa,oBAAqBn7C,MAAOypI,EAAYyC,eAAgBpC,OAAQ/9E,IACjH,cAAC89E,EAAD,CAAY1jI,KAAM,oBAAqBg1C,YAAa,uBAAwBn7C,MAAOypI,EAAY0C,oBAC/F,cAACtC,EAAD,CAAY1jI,KAAM,8BAA+Bg1C,YAAa,mCAAoC4uF,aAAa,kBAAkB/pI,MAAOypI,EAAY2C,4BAA6BtC,OAAQ/9E,IACzL,cAAC89E,EAAD,CAAY1jI,KAAM,4BAA6Bg1C,YAAa,gCAAiC4uF,aAAa,kBAAkB/pI,MAAOypI,EAAY4C,0BAA2BvC,OAAQ/9E,IAClL,cAAC89E,EAAD,CAAY1jI,KAAM,8BAA+Bg1C,YAAa,mCAAoC4uF,aAAa,kBAAkB/pI,MAAOypI,EAAY6C,4BAA6BxC,OAAQ/9E,IACzL,cAAC89E,EAAD,CAAY1jI,KAAM,2BAA4Bg1C,YAAa,+BAAgC4uF,aAAa,kBAAkB/pI,MAAOypI,EAAY8C,yBAA0BzC,OAAQ/9E,IAC/K,cAAC89E,EAAD,CAAY1jI,KAAM,2BAA4Bg1C,YAAa,+BAAgC4uF,aAAa,kBAAkB/pI,MAAOypI,EAAY+C,yBAA0B1C,OAAQ/9E,IAC/K,cAAC89E,EAAD,CAAY1jI,KAAM,wBAAyBg1C,YAAa,4BAA6B4uF,aAAa,kBAAkB/pI,MAAOypI,EAAYgD,sBAAuB3C,OAAQ/9E,IACtK,cAAC89E,EAAD,CAAY1jI,KAAM,0BAA2Bg1C,YAAa,8BAA+B4uF,aAAa,kBAAkB/pI,MAAOypI,EAAYiD,wBAAyB5C,OAAQ/9E,QAKlLA,GACE,qCACI,eAAC7sD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIhwB,MAAO,CAAEq9C,WAAY,QAAxD,UACI,cAAClxC,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,qBAGA,0BAEJ,cAACoqI,EAAD,CAAY1jI,KAAM,iBAAkBg1C,YAAa,oBAAqBn7C,MAAOypI,EAAYkD,eAAgB7C,OAAQ/9E,IACjH,cAAC89E,EAAD,CAAY1jI,KAAM,gBAAiBg1C,YAAa,mBAAoBn7C,MAAOypI,EAAYmD,cAAe9C,OAAQ/9E,IAC9G,cAAC89E,EAAD,CAAY1jI,KAAM,mBAAoBg1C,YAAa,sBAAuBn7C,MAAOypI,EAAYoD,iBAAkB/C,OAAQ/9E,IACvH,cAAC89E,EAAD,CAAY1jI,KAAM,uBAAwBg1C,YAAa,2BAA4B4uF,aAAa,iBAAiB/pI,MAAOypI,EAAYqD,qBAAsBhD,OAAQ/9E,IAClK,cAAC89E,EAAD,CAAY1jI,KAAM,2BAA4Bg1C,YAAa,gCAAiC4uF,aAAa,iBAAiB/pI,MAAOypI,EAAYsD,yBAA0BjD,OAAQ/9E,QAKrLA,GACE,qCACI,eAAC7sD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIhwB,MAAO,CAAEq9C,WAAY,QAAxD,UACI,cAAClxC,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,sBAGA,0BAEJ,cAACoqI,EAAD,CAAY1jI,KAAM,mBAAoBg1C,YAAa,sBAAuBn7C,MAAOypI,EAAYuD,iBAAkBlD,OAAQ/9E,IACvH,cAAC89E,EAAD,CAAY1jI,KAAM,qBAAsBg1C,YAAa,wBAAyBn7C,MAAOypI,EAAYwD,mBAAoBnD,OAAQ/9E,IAC7H,cAAC89E,EAAD,CAAY1jI,KAAM,6BAA8Bg1C,YAAa,iCAAkC4uF,aAAa,mBAAmB/pI,MAAOypI,EAAYyD,2BAA4BpD,OAAQ/9E,IACtL,cAAC89E,EAAD,CAAY1jI,KAAM,4BAA6Bg1C,YAAa,iCAAkC4uF,aAAa,mBAAmB/pI,MAAOypI,EAAY0D,0BAA2BrD,OAAQ/9E,IACpL,cAAC89E,EAAD,CAAY1jI,KAAM,+BAAgCg1C,YAAa,oCAAqC4uF,aAAa,mBAAmB/pI,MAAOypI,EAAY2D,6BAA8BtD,OAAQ/9E,IAC7L,cAAC89E,EAAD,CAAY1jI,KAAM,kCAAmCg1C,YAAa,uCAAwC4uF,aAAa,mBAAmB/pI,MAAOypI,EAAY4D,gCAAiCvD,OAAQ/9E,IACtM,cAAC89E,EAAD,CAAY1jI,KAAM,yBAA0Bg1C,YAAa,6BAA8B4uF,aAAa,mBAAmB/pI,MAAOypI,EAAY6D,uBAAwBxD,OAAQ/9E,QAK/KA,IAAmB9b,GAClB,qCACI,eAAC/wC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIhwB,MAAO,CAAEq9C,WAAY,QAAxD,UACI,cAAClxC,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,4BAGA,0BAEJ,cAACoqI,EAAD,CAAY1jI,KAAM,uBAAwBg1C,YAAa,2BAA4Bn7C,MAAOypI,EAAY8D,qBAAsBzD,OAAQ75F,GAAc8b,IAClJ,cAAC89E,EAAD,CAAY1jI,KAAM,sBAAuBg1C,YAAa,0BAA2Bn7C,MAAOypI,EAAY+D,oBAAqB1D,OAAQ75F,GAAc8b,IAC/I,cAAC89E,EAAD,CAAY1jI,KAAM,yBAA0Bg1C,YAAa,6BAA8Bn7C,MAAOypI,EAAYgE,uBAAwB3D,OAAQ75F,GAAc8b,IACxJ,cAAC89E,EAAD,CAAY1jI,KAAM,8BAA+Bg1C,YAAa,mCAAoC4uF,aAAa,uBAAuB/pI,MAAOypI,EAAYiE,4BAA6B5D,OAAQ75F,GAAc8b,IAC5M,cAAC89E,EAAD,CAAY1jI,KAAM,6BAA8Bg1C,YAAa,kCAAmC4uF,aAAa,uBAAuB/pI,MAAOypI,EAAYkE,2BAA4B7D,OAAQ75F,GAAc8b,OAKjN,eAAC7sD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIhwB,MAAO,CAAEq9C,WAAY,QAAxD,UACI,cAAClxC,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,wCAGA,0BAEJ,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACiuB,GAAI,GAAzB,UACI,cAACs8G,EAAD,CAAY1jI,KAAM,qBAAsBg1C,YAAa,yBAA0Bn7C,MAAOypI,EAAYmE,qBAClG,cAAC/D,EAAD,CAAY1jI,KAAM,oBAAqBg1C,YAAa,wBAAyBn7C,MAAOypI,EAAYoE,uBAEpG,eAAC3uI,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACiuB,GAAI,GAAzB,UACI,cAACs8G,EAAD,CAAY1jI,KAAM,qBAAsBg1C,YAAa,wBAAyBn7C,MAAOypI,EAAYqE,qBACjG,cAACjE,EAAD,CAAY1jI,KAAM,oBAAqBg1C,YAAa,uBAAwBn7C,MAAOypI,EAAYsE,oBAC/F,cAAClE,EAAD,CAAY1jI,KAAM,8BAA+Bg1C,YAAa,kCAAmC4uF,aAAa,qBAAqB/pI,MAAOypI,EAAYuE,iCAK1J,eAAC9uI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIhwB,MAAO,CAAEq9C,WAAY,QAAxD,UACI,cAAClxC,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,yCAGA,0BAEJ,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACiuB,GAAI,GAAzB,UACI,cAACs8G,EAAD,CAAY1jI,KAAM,oBAAqBg1C,YAAa,uBAAwBn7C,MAAOypI,EAAYwE,oBAC/F,cAACpE,EAAD,CAAY1jI,KAAM,mBAAoBg1C,YAAa,sBAAuBn7C,MAAOypI,EAAYyE,mBAC7F,cAACrE,EAAD,CAAYE,aAAa,oBAAoB5jI,KAAM,6BAA8Bg1C,YAAa,iCAAkCn7C,MAAOypI,EAAY0E,gCAEvJ,eAACjvI,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACiuB,GAAI,GAAzB,UACI,cAACs8G,EAAD,CAAY1jI,KAAM,iBAAkBg1C,YAAa,oBAAqBn7C,MAAOypI,EAAY2E,iBACzF,cAACvE,EAAD,CAAY1jI,KAAM,gBAAiBg1C,YAAa,mBAAoBn7C,MAAOypI,EAAY4E,gBACvF,cAACxE,EAAD,CAAYE,aAAa,iBAAiB5jI,KAAM,0BAA2Bg1C,YAAa,8BAA+Bn7C,MAAOypI,EAAY6E,6BAE9I,cAACzE,EAAD,CAAY1jI,KAAM,aAAcg1C,YAAa,gBAAiBn7C,MAAOypI,EAAY8E,aACjF,cAAC1E,EAAD,CAAY1jI,KAAM,YAAag1C,YAAa,eAAgBn7C,MAAOypI,EAAY+E,YAC/E,cAAC3E,EAAD,CAAY1jI,KAAM,eAAgBg1C,YAAa,0BAA2Bn7C,MAAOypI,EAAYgF,gBAG3F1iF,GACE,qCACI,eAAC7sD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIhwB,MAAO,CAAEq9C,WAAY,QAAxD,UACI,cAAClxC,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,sBAGA,0BAEJ,cAACoqI,EAAD,CAAY1jI,KAAM,0BAA2Bg1C,YAAa,8BAA+Bn7C,MAAOypI,EAAYiF,wBAAyB5E,OAAQ/9E,IAC7I,cAAC89E,EAAD,CAAY1jI,KAAM,yBAA0Bg1C,YAAa,6BAA8Bn7C,MAAOypI,EAAYkF,uBAAwB7E,OAAQ/9E,IAC1I,cAAC89E,EAAD,CAAY1jI,KAAM,4BAA6Bg1C,YAAa,gCAAiCn7C,MAAOypI,EAAYmF,0BAA2B9E,OAAQ75F,GAAc8b,IACjK,cAAC89E,EAAD,CAAY1jI,KAAM,uBAAwBg1C,YAAa,0BAA2B4uF,aAAa,0BAA0B/pI,MAAOypI,EAAYoF,qBAAsB/E,OAAQ75F,GAAc8b,IACxL,cAAC89E,EAAD,CAAY1jI,KAAM,yBAA0Bg1C,YAAa,6BAA8B4uF,aAAa,0BAA0B/pI,MAAOypI,EAAYqF,uBAAwBhF,OAAQ75F,GAAc8b,OAIvM,cAAC7sD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAAa3D,MAAO,CAAEq9C,WAAY,QAA/D,SACI,cAAC,IAAD,CAAiB78C,QAASosB,EAAclP,YAAalB,EAArD,0B,qBCxRDg1H,GAzEY,SAACxyI,GACxB,MAA0BgC,mBAAS,CAC/B4O,OAAQ,GACR6hI,cAAc,IAFlB,mBAAOhvI,EAAP,KAAcxB,EAAd,KAIA,EAA+DR,eAAvD8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBO,GAFN,EAA0CR,iBAEtB,SAACS,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GACN,IAAMmoH,EAAG,2BAAQnoH,GAAR,kBAAa+F,EAAOzH,IAE7B,OADA6pH,EAAIymB,aAAezmB,EAAIpkF,KAAOokF,EAAI7hH,SAAW6hH,EAAIpkF,MAAQokF,EAAI7hH,QACtD6hH,OAIT0mB,EAAe,uCAAG,WAAO5mI,GAAP,eAAA5H,EAAA,yDACpB4H,EAAEqe,kBACE1mB,EAAMmkC,MAAOnkC,EAAM0G,QAFH,oBAGF,2EACD8H,KAAKxO,EAAMmkC,KAJR,gBAKZt8B,EAAe,mDALH,uCAOM+/H,GAAiBrrI,EAAMyb,OAAQhY,EAAMmkC,IAAKnkC,EAAM0G,SAPtD,QAONzE,EAPM,QAQHoE,SAILyB,EAAiB7F,EAAIyG,SACrBnM,EAAM6tB,iBAJNf,QAAQznB,MAAR,qDAA4DrF,EAAMyb,OAAlE,KAA6E/V,GAC7E4F,EAAe5F,EAAI0G,WAVX,4CAAH,sDAsBrB,OACI,eAACzJ,EAAA,EAAD,WACI,cAACA,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAAC,IAAD,CACI2N,WAAW,eACXC,YAAY,eACZnP,WAAS,EACTwG,KAAK,MACL8C,KAAK,WACLD,SAAUZ,EAEV+E,OAAQnN,EAAMmN,OAAN,aAGhB,cAACjO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAAC,IAAD,CACI2N,WAAW,mBACXC,YAAY,mBACZnP,WAAS,EACTwG,KAAK,UACL8C,KAAK,WACLD,SAAUZ,EAEV+E,OAAQnN,EAAMmN,OAAN,aAGhB,cAACjO,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAASkxI,EAAiBjkI,UAAWhL,EAAMgvI,aAA5D,gCCvDV3/G,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,IAEX,CAAES,IAAK,cAAexE,KAAM,QAM5B,CACIwE,IAAK,WACLxE,KAAM,YACN+D,MAAO,KAEX,CACIS,IAAK,WACLxE,KAAM,cACN+K,UAAW3E,IAAWC,MACtBtC,MAAO,KAEX,CACIS,IAAK,WACLxE,KAAM,cACN+K,UAAW3E,IAAWC,MACtBtC,MAAO,MAuIAglI,GAjII,SAAC3yI,GAAW,IAAD,EAClBsL,EAAmB7J,eAAnB6J,eAER,EAA0BtJ,mBAAS,CAC/BgxB,MAAM,EACN4/G,cAAc,EACdC,eAAe,EACfrnI,YAAY,EACZsnI,SAAU,KALd,mBAAOrvI,EAAP,KAAcxB,EAAd,KAQMmZ,EAAS3X,EAAMmvI,aACjB,CACI,CAAEhpI,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,QAASyR,KAAM,IAAKC,QAAQ,GACpC,CAAE1R,KAAM,cAAeyR,KAAM,IAAKC,QAAQ,GAC1C,CAAE1R,KAAK,GAAD,OAAKnG,EAAMm7C,aAAevjC,KAAM,IAAKC,QAAQ,IAGvD,CACI,CAAE1R,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,QAASyR,KAAM,IAAKC,QAAQ,IAGtCy3H,EAAsB,uCAAG,gCAAA7uI,EAAA,sEACX2lI,KADW,OACvBnkI,EADuB,OAEvBstI,EAFuB,UAEVttI,EAAIW,YAFM,aAEV,EAAU63B,QAAO,SAAC5iB,GAAD,OAA+B,GAAnBA,EAAOm+D,YACjD/zE,EAAIoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvI,WAAYA,EAAYxnI,YAAY,EAAOsnI,SAAS,aAAKptI,EAAIW,WAEvFX,EAAIoE,SACLwB,EAAe5F,EAAIyG,SAPI,2CAAH,qDAW5BvI,oBAAS,sBAAC,sBAAAM,EAAA,sDACN6uI,IADM,2CAEP,IAEH,IAQMv3G,EAAY,SAACpiB,EAAQ65H,GACvBhxI,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,uBAEJovI,GAAS,GAFL,8BAGG75H,QAHH,IAGGA,OAHH,EAGGA,EAAQ/X,IAHX,gCAIK+X,QAJL,IAIKA,OAJL,EAIKA,EAAQixH,UAJb,mCAKQjxH,QALR,IAKQA,OALR,EAKQA,EAAQwlC,aALhB,QASPs0F,EAAiB,SAACxtI,GACpBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN4/G,cAAc,EACdC,eAAe,OAEnBntI,GAAOqtI,KAGL1/G,EAAgB,SAAChtB,GACnB,OACI,sBAAK1B,UAAU,cAAf,UACI,cAAC,IAAD,CAAYnD,QAAS,kBAAMg6B,EAAUn1B,EAAKqO,IAAK,SAASiE,aAAa,cACrE,sBAAMhU,UAAU,WAAhB,SACI,cAAC,KAAD,CACI4T,KAAM46H,KACNx6H,aAAa,qBACb+Y,cAAc,EACdlwB,QAAS,kBAAMg6B,EAAUn1B,EAAKqO,IAAK,qBAG3C,sBAAM/P,UAAU,WAAhB,SACI,cAAC,KAAD,CAAkB4T,KAAM66H,KAAgBz6H,aAAa,iBAAiBnX,QAAS,kBAAMg6B,EAAUn1B,EAAKqO,IAAK,0BAMnHnB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAUnD,OATIgH,IACAA,EAAUT,UAAY0e,GAEtBtkB,OAAOoyC,WAAa,KACpBrlC,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,UAAWxE,KAAM,YAAa+D,MAAO,MAElEoB,OAAOoyC,WAAa,KACpBrlC,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,QAASxE,KAAM,QAAS+D,MAAO,MAEzDmO,IACR,IAEH,OACI,sBAAKnX,UAAU,qBAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,IACpB3X,EAAMmvI,aAAe,cAAC,GAAD,CAAgB/kH,aAAcqlH,EAAgBz3H,OAAQhY,EAAMgY,OAAQ4uH,SAAU5mI,EAAM4mI,SAAUzrF,YAAan7C,EAAMm7C,cACnI,qCACI,cAAC,KAAD,CACIl9B,KAAiC,WAA3B,UAAA1hB,EAAM2P,MAAMC,cAAZ,eAAoB46D,KAAkB/mE,EAAMuvI,WAAavvI,EAAMqvI,SACrEv/H,QAASA,EACTyP,cAAc,EACdC,YAAaxf,EAAM+H,WACnB8M,SAAS,WACTG,WAAY,kBAAM+iB,EAAU,KAAM,SAClCtY,UAAQ,EACRmwH,WAAY,GACZlwH,OAAQ,MAEX1f,EAAMuvB,KAAO,cAAC,GAAD,CAAczS,OAAQ9c,EAAMgY,OAAQoS,aAAcqlH,IAAqB,KAEpFzvI,EAAMovI,cACH,cAAC1yI,GAAA,EAAD,CAAYC,MAAM,iBAAiBG,QAAS,kBAAM2yI,GAAe,IAAQ1yI,SAAS,KAAK4C,WAAS,EAAhG,SACI,cAAC,GAAD,CAAoByqB,aAAcqlH,EAAgBz3H,OAAQhY,EAAMgY,WAEpE,YCrKX63H,GAAa,uCAAG,WAAOpvH,GAAP,eAAAhgB,EAAA,sEACT6B,aAAY,YAAD,OAAame,IADf,cACrBxe,EADqB,yBAElBA,GAFkB,2CAAH,sDAIb6tI,GAAW,uCAAG,WAAOltI,GAAP,eAAAnC,EAAA,sEACPsB,aAAa,WAAY,CACrC6vB,SAAUhvB,EAAKgvB,SACfC,SAAUjvB,EAAKivB,SACf85F,SAAU/oH,EAAK+oH,SACfokB,WAAYntI,EAAKmtI,WACjBC,UAAWptI,EAAKqtI,IAChBC,QAASttI,EAAKstI,QACdnlH,OAAQnoB,EAAKmoB,OACbntB,GAAIgF,EAAK8lI,SACTviI,KAAMvD,EAAKq8H,WACXyH,MAAO9jI,EAAK8jI,MACZyJ,SAAUvtI,EAAKutI,SACfC,UAAWxtI,EAAKwtI,UAChBtlH,KAAMloB,EAAKkoB,OAdQ,cACnB7oB,EADmB,yBAgBhBA,GAhBgB,2CAAH,sDAkBXouI,GAAc,uCAAG,WAAOztI,GAAP,eAAAnC,EAAA,sEACV2B,aAAY,YAAD,OAAaQ,EAAK8lI,UAAY,CACrD92G,SAAUhvB,EAAKgvB,SACfC,SAAUjvB,EAAKivB,SACf85F,SAAU/oH,EAAK+oH,SACfokB,WAAYntI,EAAKmtI,WACjBC,UAAWptI,EAAKqtI,IAChBC,QAASttI,EAAKstI,QACdnlH,OAAQnoB,EAAKmoB,OACbntB,GAAIgF,EAAK8lI,SACTviI,KAAMvD,EAAKq8H,WACXyH,MAAO9jI,EAAK8jI,MACZyJ,SAAUvtI,EAAKutI,SACfC,UAAWxtI,EAAKwtI,UAChBtlH,KAAMloB,EAAKkoB,OAdW,cACtB7oB,EADsB,yBAgBnBA,GAhBmB,2CAAH,sDCgKZquI,GAlLO,SAAC/zI,GACnB,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B,EAA0BtJ,mBAAS,CAC/B4O,OAAQ,GACRijI,UAAW,GACXL,WAAY,GACZ9Q,WAAY,GACZyJ,SAAU,KACVuH,IAAK,KACLp+G,SAAU,GACVD,SAAU,GACV+5F,SAAU,GACV7gG,KAAM,GACNolH,QAAS,GACTnlH,OAAQ,GACRolH,SAAU,GACVzJ,MAAO,KAdX,mBAAO1mI,EAAP,KAAcxB,EAAd,KAiBA2B,oBAAS,sBAAC,gCAAAM,EAAA,qEACFlE,EAAMg0I,kBADJ,aACF,EAAkB7H,UADhB,gCAEcmH,GAActzI,EAAMg0I,WAAW7H,UAF7C,QAEEzmI,EAFF,QAGMoE,UACEzD,EAAOX,EAAIW,KACjBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELsoI,SAAU9lI,EAAKhF,GACfwyI,UAAWxtI,EAAKwtI,UAChBL,WAAYntI,EAAKmtI,WACjB9Q,WAAYr8H,EAAKuD,KACjByrB,SAAUhvB,EAAKgvB,SACfC,SAAUjvB,EAAKivB,SACf85F,SAAU/oH,EAAK+oH,SACf7gG,KAAMloB,EAAKkoB,KACXC,OAAQnoB,EAAKmoB,OACbmlH,QAASttI,EAAKstI,QACdxJ,MAAO9jI,EAAK8jI,MACZuJ,IAAKrtI,EAAKotI,UACVG,SAAUvtI,EAAKutI,eAnBrB,2CAuBP,IAEH,IAUM/hI,EAAc,SAAC/F,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGjC2P,EAAc,WAChB,IAAQ0hI,EAAqD/vI,EAArD+vI,WAAYK,EAAyCpwI,EAAzCowI,UAAWnR,EAA8Bj/H,EAA9Bi/H,WAAYgR,EAAkBjwI,EAAlBiwI,IAAKE,EAAanwI,EAAbmwI,SAE5C7hI,GAAc,EACdnB,EAAS,GAsBb,OArBK8xH,IACD9xH,EAAO8xH,WAAa,0BACpB3wH,GAAc,GAEbo/G,aAAiByiB,KAAa,QAAQ3hI,KAAK2hI,IAAcpmH,kBAAOomH,KACjEhjI,EAAO6d,SAAP,4CACA1c,GAAc,GAEbyhI,IACD5iI,EAAO4iI,WAAa,0BACpBzhI,GAAc,GAEb8hI,IACDjjI,EAAOijI,UAAY,0BACnB9hI,GAAc,GAEb,QAAQE,KAAKyhI,IAnBH,kBAmBqBzhI,KAAKyhI,KACrC9iI,EAAO8iI,IAAM,4BACb3hI,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGL6b,EAAY,uCAAG,4BAAA1pB,EAAA,0DACb4N,IADa,qBAGT9R,EAAMg0I,WAAW3yI,GAHR,gCAIGyyI,GAAerwI,GAJlB,OAITiC,EAJS,8CAMG6tI,GAAY9vI,GANf,OAMTiC,EANS,eAQTA,EAAIoE,SACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAM6tB,cAAa,IAEnBviB,EAAe5F,EAAIyG,SAZV,4CAAH,qDAiBlB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZpQ,MAAOsB,EAAM+vI,WACb/mI,SAAUoF,EACVjI,KAAK,aACLgH,OAAQnN,EAAMmN,OAAO4iI,eAG7B,cAAC7wI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,aACXC,YAAY,aACZpQ,MAAOsB,EAAMowI,UACbpnI,SAAUoF,EACVjI,KAAK,YACLgH,OAAQnN,EAAMmN,OAAOijI,cAG7B,cAAClxI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZpQ,MAAOsB,EAAMi/H,WACbj2H,SAAUoF,EACVjI,KAAK,aACLgH,OAAQnN,EAAMmN,OAAO8xH,eAG7B,cAAC//H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAaC,WAAW,WAAWC,YAAY,WAAWpQ,MAAOsB,EAAM4xB,SAAU5oB,SAAUoF,EAAajI,KAAK,eAEjH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAaC,WAAW,WAAWC,YAAY,WAAWpQ,MAAOsB,EAAM6xB,SAAU7oB,SAAUoF,EAAajI,KAAK,eAEjH,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAC,IAAD,CAAaC,WAAW,WAAWC,YAAY,WAAWpQ,MAAOsB,EAAM2rH,SAAU3iH,SAAUoF,EAAajI,KAAK,aAC7G,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOw+G,cAExC,cAACzsH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAaC,WAAW,OAAOC,YAAY,OAAOpQ,MAAOsB,EAAM8qB,KAAM9hB,SAAUoF,EAAajI,KAAK,WAErG,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAaC,WAAW,SAASC,YAAY,SAASpQ,MAAOsB,EAAM+qB,OAAQ/hB,SAAUoF,EAAajI,KAAK,aAE3G,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAaC,WAAW,UAAUC,YAAY,UAAUpQ,MAAOsB,EAAMkwI,QAASlnI,SAAUoF,EAAajI,KAAK,cAE9G,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAC,IAAD,CAAUlQ,MAAOsB,EAAMmwI,SAAUnnI,SAAUoF,EAAcsc,OAjHtD,SAACC,GACZnsB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwxB,SAAUjH,EAAEC,aACZiH,SAAUlH,EAAEE,aACZC,KAAMH,EAAEG,KACRC,OAAQJ,EAAEI,OACVolH,SAAUxlH,EAAEK,eA0GiE7kB,KAAK,WAAWgH,OAAQnN,EAAMmN,OAAOgjI,WAE9G,cAACxuI,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOgjI,cAExC,cAACjxI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAaC,WAAW,QAAQC,YAAY,QAAQpQ,MAAOsB,EAAM0mI,MAAO19H,SAAUoF,EAAajI,KAAK,YAExG,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAC,IAAD,CAAaC,WAAW,MAAMC,YAAY,MAAMpQ,MAAOsB,EAAMiwI,IAAKjnI,SAAUoF,EAAajI,KAAK,QAC9F,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAO8iI,SAExC,cAAC/wI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBxB,QAASosB,EAAcxqB,WAAS,EAACuB,UAAU,aAA5D,0BC5KVyW,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAYyR,KAAM,IAAKC,QAAQ,IAGrCwX,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,MAEX,CAAES,IAAK,aAAcxE,KAAM,OAAQ+D,MAAO,OAC1C,CAAES,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,OAKrD,CAAES,IAAK,YAAaxE,KAAM,aAAcqR,eAAgBjL,IAAWikI,sBAAuBt/H,UAAW3E,IAAWkkI,oBAAqBvmI,MAAO,OAC5I,CAAES,IAAK,cAAexE,KAAM,QAASqR,eAAgBjL,IAAWikI,sBAAuBt/H,UAAW3E,IAAWkkI,oBAAqBvmI,MAAO,MACzI,CACIS,IAAK,gBACLxE,KAAM,YAqFCuqI,GAhFM,SAACn0I,GACSyB,eAAnB6J,eAAR,IAEA,EAA0BtJ,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZ03H,WAAY,GACZ8Q,WAAY,KACZ99H,SAAU,OALd,mBAAOzS,EAAP,KAAcxB,EAAd,KAQMmyI,EAAwB,uCAAG,sBAAAlwI,EAAA,sDAC7BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHW,2CAAH,qDAO9BtQ,qBAAU,WACNwwI,MACD,IAEH,IAAM54G,EAAY,SAACpiB,GACfnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACNghH,WAAY56H,QAIdi7H,EAAmB,SAAC3uI,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN4/G,cAAc,OAElBltI,GAAO0uI,KAGL/gH,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMg6B,EAAU9mB,IAAMiE,aAAa,mBAK9DpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAEG1b,EAAQqD,EAAMuwI,WAAa,gBAAkB,aAEnD,OACI,sBAAKrvI,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAVA,WAWAmC,SAAS,aACTG,WAAY+iB,EACZtlB,SAAUzS,EAAMyS,WAEnBzS,EAAMuvB,KACH,cAAC7yB,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAM8zI,GAAiB,IAAQ7zI,SAAS,KAAKC,SAAS,OAAzF,SACI,cAAC,GAAD,CAAeuzI,WAAYvwI,EAAMuwI,WAAYnmH,aAAc,kBAAMwmH,GAAiB,QAEtF,S,uMCgCDC,I,QA5HQ,WACnB,MAA0BtyI,mBAAS,CAC/BohC,SAAU,GACVC,UAAW,KAFf,mBAAO5/B,EAAP,KAAcxB,EAAd,KAcA,OATA2B,oBAAS,sBAAC,8BAAAM,EAAA,sEACUqwI,eADV,OACF7uI,EADE,OAEA2hC,EAAQ3hC,EAAIW,KAAKihC,UACvBrlC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELw/B,UAAWgE,EAAM,QALf,2CAOP,IAGC,qBAAK1iC,UAAU,kBAAf,SACI,cAAC0H,GAAA,EAAD,CAAW1H,UAAU,WAAWnE,SAAS,KAAzC,SACI,eAACmC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,gBAA3D,UACI,cAAC,KAAD,CAAkB93D,UAAU,eAC5B,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,aAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAUmxG,aAAe,IACpE,cAACrnI,GAAA,EAAD,CAAYgC,UAAU,KAAtB,oCAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,qBAA3D,UACI,cAAC,KAAD,CAAkB93D,UAAU,kBAC5B,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,gBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAUoxG,gBAAkB,IACvE,cAACtnI,GAAA,EAAD,CAAYgC,UAAU,KAAtB,uCAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,8BAA3D,UACI,cAAC,KAAD,CAAoB93D,UAAU,kBAC9B,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,gBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAUqxG,uBAAyB,IAC9E,cAACvnI,GAAA,EAAD,CAAYgC,UAAU,KAAtB,+CAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,wBAA3D,UACI,cAAC,KAAD,CAAgC93D,UAAU,kBAC1C,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,gBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAUsxG,yBAA2B,IAChF,cAACxnI,GAAA,EAAD,CAAYgC,UAAU,KAAtB,iDAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,mCAA3D,UACI,cAAC,KAAD,CAAkB93D,UAAU,qBAC5B,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,mBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAUqU,sBAAwB,IAC7E,cAACvqC,GAAA,EAAD,CAAYgC,UAAU,KAAtB,6CAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,gBAA3D,UACI,cAAC,KAAD,CAAkB93D,UAAU,qBAC5B,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,mBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAU9xB,OAAS,IAC9D,cAACpE,GAAA,EAAD,CAAYgC,UAAU,KAAtB,6BAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,iBAA3D,UACI,cAAC,KAAD,CAAmB93D,UAAU,qBAC7B,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,mBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAUuT,QAAU,IAC/D,cAACzpC,GAAA,EAAD,CAAYgC,UAAU,KAAtB,8BAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,cAA3D,UACI,cAAC,KAAD,CAAsB93D,UAAU,eAChC,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,aAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAUuxG,YAAc,IACnE,cAACznI,GAAA,EAAD,CAAYgC,UAAU,KAAtB,mCAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,uBAA3D,UACI,cAAC,KAAD,CAAwB93D,UAAU,qBAClC,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,mBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAU1xB,cAAgB,IACrE,cAACxE,GAAA,EAAD,CAAYgC,UAAU,KAAtB,8CClIvB0lI,GAAwB,uCAAG,4BAAA3wI,EAAA,sEACpB6B,aAAY,sBADQ,cAChCL,EADgC,yBAE7BA,GAF6B,2CAAH,qDAKxBovI,GAAwB,uCAAG,WAAOzzI,GAAP,eAAA6C,EAAA,sEACpB6B,aAAY,sBAAD,OAAuB1E,IADd,cAChCqE,EADgC,yBAE7BA,GAF6B,2CAAH,sDAKxBqvI,GAAsB,uCAAG,WAAO1uI,GAAP,eAAAnC,EAAA,sEAClBsB,aAAa,qBAAsBa,GADjB,cAC9BX,EAD8B,yBAE3BA,GAF2B,2CAAH,sDAKtBo2B,GAAiC,uCAAG,4BAAA53B,EAAA,sEAC7B6B,aAAY,qBADiB,cACzCL,EADyC,yBAEtCA,GAFsC,2CAAH,qD,UCuL/Bq2B,GA3LW,SAAC/7B,GACvB,MAA0BgC,mBAAS,CAC/Bs/D,oBAAqB,KACrBmB,6BAA8B,GAC9BuyE,0BAA2B,GAC3BC,yBAAyB,EACzB74G,2BAA4B,GAC5B84G,mCAAmC,EACnCtkI,OAAQ,GACRyrB,aAAc,KARlB,mBAAO54B,EAAP,KAAcxB,EAAd,KAWA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAgC1B1H,qBAAU,WACN,IAAI8B,EAAM1F,EAAMs8B,gBAAkBw4G,GAAyB90I,EAAMs8B,gBAC7D64G,EAAUr5G,KAEdg7E,QAAQtsC,IAAI,CAAC9kE,EAAKyvI,IAAUC,MAAK,SAACjzI,GAC9B,mBAAwBA,GAAnBuD,EAAL,KAAayvI,EAAb,WACAA,EAAUA,EAAQ,GACdn1I,EAAMs8B,gBACF52B,EAAIoE,SACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL69D,oBAAqB57D,EAAIW,KAAKi7D,oBAC9BmB,6BAA8B/8D,EAAIW,KAAKo8D,6BACvCuyE,0BAA2BtvI,EAAIW,KAAK2uI,0BACpC54G,2BAA4B12B,EAAIW,KAAKgvI,mCACrCJ,wBAAyBvvI,EAAIW,KAAK4uI,wBAClCC,kCAAmCxvI,EAAIW,KAAK6uI,uCAKxDjzI,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAEL44B,aAAc84G,EAAQ9uI,KAAK4V,KAAK1S,KAAI,SAACxG,GAAD,MAAW,CAC3C1B,GAAI0B,EAAK+mB,kBACTlgB,KAAM7G,EAAKq5B,yCAIxB,IAEH,IAAMrc,EAAoB,SAACjU,GACvB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,EAAOzH,QAGvC4rB,EAAiB,SAACjiB,GACpB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAEN,OADS,2BAAQA,GAAR,kBAAgBmG,EAAOuJ,QAKlCrB,EAAc,WAChB,IAAQ2wD,EAAwFh/D,EAAxFg/D,6BAA8BuyE,EAA0DvxI,EAA1DuxI,0BAA2B54G,EAA+B34B,EAA/B24B,2BAC7D5Z,EAAoB,QACpBzQ,GAAc,EACdnB,EAAS,GAcb,OAbK4R,EAAkBvQ,KAAKwwD,KACxB7xD,EAAO6xD,6BAA+B,yBACtC1wD,GAAc,GAEbyQ,EAAkBvQ,KAAK+iI,KACxBpkI,EAAOokI,0BAA4B,yBACnCjjI,GAAc,GAEbyQ,EAAkBvQ,KAAKmqB,KACxBxrB,EAAOwrB,2BAA6B,yBACpCrqB,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAER0qB,EAAmB,CACrB8kC,oBAAqB79D,EAAM69D,oBAC3B0zE,0BAA2BvxI,EAAMuxI,0BACjCvyE,6BAA8Bh/D,EAAMg/D,6BACpCwyE,wBAAyBxxI,EAAMwxI,wBAC/BC,kCAAmCzxI,EAAMyxI,kCAEzCG,mCAAoC5xI,EAAM24B,4BAThC,SAWE24G,GAAuBv4G,GAXzB,QAWV92B,EAXU,QAYNoE,SACA9J,EAAMs8B,eACN/wB,EAAiB,4CAEjBA,EAAiB,0CAErBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SApBT,2CAAH,qDA0BnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACI,cAAC,GAAD,CACI2N,WAAW,mBAEX1I,KAAK,4BACL6C,SAAUsT,EACV5d,MAAOsB,EAAMuxI,0BACbpkI,OAAQnN,EAAMmN,OAAOokI,8BAG7B,eAACryI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CACIwF,KAAK,6BACLzH,MAAOsB,EAAM24B,4BAA8B,IAC3C3vB,SAAUsT,EACVtN,KAAMhP,EAAM44B,eAEhB,cAACj3B,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOwrB,gCAExC,cAACz5B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,cACX1I,KAAK,+BACL6C,SAAUsT,EACV5d,MAAOsB,EAAMg/D,6BACb7xD,OAAQnN,EAAMmN,OAAO6xD,iCAG7B,cAAC9/D,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAAS1P,EAAMwxI,wBAAyBrrI,KAAK,0BAA0B6C,SAAUshB,EAAgBvhB,MAAM,kBAE9H,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACImQ,QAAS1P,EAAMyxI,kCACftrI,KAAK,oCACL6C,SAAUshB,EACVvhB,MAAM,wBAId,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMs8B,eAAiB,SAAW,cC3LtFzhB,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,+BAAgCxE,KAAM,eAC7C,CACIwE,IAAK,4BACLxE,KAAM,WACN+D,MAAO,KACPgH,UAAW3E,IAAWmL,qBACtBF,eAAgBjL,IAAWkL,wBAE/B,CAAE9M,IAAK,0BAA2BxE,KAAM,cAAe+K,UAAW3E,IAAWC,MAAOtC,MAAO,MAC3F,CAAES,IAAK,oCAAqCxE,KAAM,oBAAqB+K,UAAW3E,IAAWC,MAAOtC,MAAO,QA+EhG2nI,GA7EiB,SAACt1I,GAC7B,MAA0BgC,mBAAS,CAC/B26B,iBAAkB,GAClBnxB,YAAY,EACZgQ,aAAa,IAHjB,mBAAO/X,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN04B,IADM,2CAEP,IAEH,IAAMA,EAAQ,uCAAG,4BAAA14B,EAAA,sEACG2wI,KADH,OACTnvI,EADS,OAGbzD,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELk5B,iBAAkBj3B,EAAIW,KAAK4V,KAAKiiB,QAAO,SAAC3M,GACpC,OAAOA,EAAE6K,6BAA+Bp8B,EAAMwhC,WAElDh2B,YAAY,OARH,2CAAH,qDAWRyR,EAAe,SAAC5W,GAClB,OACI,qBAAKrF,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CACIjZ,QAAS,WACLq7B,EAAax2B,EAAKqO,MAEtBiE,aAAa,gCAMvBkkB,EAAe,SAACjtB,GAClB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,EAAM+E,OAAQ3Q,EAAO0xD,0BAGjExkC,EAAc,SAACp3B,GACjBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,OAC9C9V,GAAOk3B,KAGLrpB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAK7C,OAJIgH,IACAA,EAAUT,UAAYsI,GAGnBnB,IACR,IAEG1b,EAAQqD,EAAM8c,OAAS,qBAAuB,kBAEpD,OACI,gCACI,cAAC,IAAD,CACIhN,QAASA,EACTmO,KAAMje,EAAMk5B,iBACZ5Z,cAAc,EACdE,YAAaxf,EAAM+H,WACnB8M,SAAS,uBACTG,WAAYokB,EACZ3Z,UAAQ,EACRC,OAAQ,MAEX1f,EAAM+X,YACH,cAACrb,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMu8B,GAAY,IAArD,SACI,cAAC,GAAD,CAAmBR,eAAgB74B,EAAM8c,OAAQhgB,QAAS,kBAAMu8B,GAAY,QAEhF,SCvFV1hB,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,iBAAkB0R,QAAQ,GAClC,CAAE1R,KAAM,eAAgB0R,QAAQ,IAoCrBi6H,GAjCe,WAAO,IAAD,IAChC,EAA0BvzI,mBAAS,CAC/Bw0G,UAAW,KADf,mBAAO/yG,EAAP,KAAcxB,EAAd,KAIA2B,oBAAS,sBAAC,4BAAAM,EAAA,sEACeixG,KADf,OACFqgC,EADE,OAENvzI,GAAS,iBAAO,CACZu0G,UAAS,OAAEg/B,QAAF,IAAEA,OAAF,EAAEA,EAAUnvI,KAAK4V,SAHxB,2CAKP,IAEH,IAAMulB,EAAO,UAAG/9B,EAAM+yG,iBAAT,aAAG,EAAiBjtG,KAAI,SAACy/D,GAAD,OAAOA,EAAE5sC,8BACxCq5G,EAAS,UAAGhyI,EAAM+yG,iBAAT,aAAG,EAAiBt4E,QAAO,SAAC8qC,EAAG1kB,GAAJ,OAAe9iB,EAAQ7pB,SAASqxD,EAAE5sC,2BAA4BkoB,EAAQ,MAC1G6yD,EAAW,OAAGs+B,QAAH,IAAGA,OAAH,EAAGA,EAAWlsI,KAAI,SAAC6tG,GAChC,MAAO,CACH5qG,MAAO4qG,EAAIh7E,2BACX66B,KACI,qBAAKtyD,UAAU,iBAAf,SACI,cAAC,GAAD,CAAyB68B,QAAS41E,EAAIh7E,mCAMtD,OACI,sBAAKz3B,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,IAAD,CAASigF,QAAS8b,EAAa91G,GAAG,oBChCjCk0H,GAAe,uCAAG,4BAAArxH,EAAA,sEACX6B,aAAY,mCADD,cACvBL,EADuB,yBAEpBA,GAFoB,2CAAH,qDAKfgwI,GAAuB,uCAAG,WAAOxxH,GAAP,eAAAhgB,EAAA,sEACnB6B,aAAY,mBAAD,OAAoBme,IADZ,cAC/Bxe,EAD+B,yBAE5BA,GAF4B,2CAAH,sDAKvBiwI,GAAmB,uCAAG,WAAOtvI,GAAP,eAAAnC,EAAA,sEACfsB,aAAa,kBAAmBa,GADjB,cAC3BX,EAD2B,yBAExBA,GAFwB,2CAAH,sDCR1BotB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,MAEX,CACIS,IAAK,mCACLxE,KAAM,eAEV,CACIwE,IAAK,oCACLxE,KAAM,mBAEV,CACIwE,IAAK,iCACLxE,KAAM,cAEV,CACIwE,IAAK,qCACLxE,KAAM,kBAEV,CACIwE,IAAK,8BACLxE,KAAM,gBAEV,CACIwE,IAAK,iCACLxE,KAAM,iBACN+K,UAAW3E,IAAWC,QAmWf2lI,GA/VgB,SAAC51I,GAC5B,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAER,GAFA,EAA0BD,eAEAtJ,mBAAS,CAC/B4O,OAAQ,GACRilI,YAAa,GACbC,oBAAqB,GACrBC,gBAAiB,GACjBC,mBAAoB,GACpBC,iCAAkC,GAClCC,kCAAmC,GACnCC,+BAAgC,GAChCC,mCAAoC,GACpCC,4BAA6B,GAC7BC,gCAAgC,EAChCC,mCAAoC,GACpCC,wCAAyC,GACzCC,oCAAqC,GACrCC,SAAU,KACVC,kBAAmB,KACnBC,cAAe,MAjBnB,mBAAOnzI,EAAP,KAAcxB,EAAd,KAoBA,EAAkCD,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEMi8C,EAAe,SAACl7C,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,YAI1ByB,oBAAS,sBAAC,gCAAAM,EAAA,sEACUqxH,KADV,WACF7vH,EADE,QAEEoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL0yI,mCAAoC,GACpCC,wCAAyC9wI,EAAIW,KAAKwwI,8BAClDJ,oCAAqC/wI,EAAIW,KAAKywI,gCAGlD92I,EAAM22I,kBAVJ,iCAWcjB,GAAwB11I,EAAM22I,mBAX5C,OAWEjxI,EAXF,OAYEW,EAAOX,EAAIW,KACfpE,GAAS,SAAC4B,GAAD,iCAAC,eACHA,GADE,IAELgyI,aAAiB,OAAJxvI,QAAI,IAAJA,GAAA,UAAAA,EAAM0wI,8BAAN,eAA8BxtI,KAAI,SAACgoB,EAAGmM,GAAJ,mBAAC,eAAenM,GAAhB,IAAmBlwB,GAAIq8B,EAAI,SAAS,GAEnFq4G,gBAAe,UAAErwI,EAAIW,KAAK2wI,sBAAsB,UAAjC,aAAE,EAAmCC,yBACpDN,kBAAiB,UAAEjxI,EAAIW,KAAK6wI,iBAAiB,UAA5B,aAAE,EAA8BP,kBACjDb,oBAAmB,UAAEpwI,EAAIW,KAAK6wI,iBAAiB,UAA5B,aAAE,EAA8BpB,oBACnDE,mBAAkB,UAAEtwI,EAAIW,KAAK6wI,iBAAiB,UAA5B,aAAE,EAA8BlB,wBApBpD,4CAuBP,IAEH,IAAMnkI,EAAc,SAAC/F,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGjC2P,EAAc,SAAC/F,GACjB,IACI+pI,EAQAryI,EARAqyI,oBACAC,EAOAtyI,EAPAsyI,gBACAC,EAMAvyI,EANAuyI,mBACAC,EAKAxyI,EALAwyI,iCACAC,EAIAzyI,EAJAyyI,kCACAC,EAGA1yI,EAHA0yI,+BACAC,EAEA3yI,EAFA2yI,mCACAC,EACA5yI,EADA4yI,4BAEAtkI,GAAc,EACdnB,EAAS,GAsCb,OArCK7E,IACI+pI,IACDllI,EAAOklI,oBAAsB,oCAC7B/jI,GAAc,GAEbgkI,IACDnlI,EAAOmlI,gBAAkB,4BACzBhkI,GAAc,GAEbikI,IACDplI,EAAOolI,mBAAqB,mCAC5BjkI,GAAc,IAGlBhG,IACKkqI,IACDrlI,EAAOqlI,iCAAmC,2BAC1ClkI,GAAc,GAEbmkI,IACDtlI,EAAOslI,kCAAoC,+BAC3CnkI,GAAc,GAEbokI,IACDvlI,EAAOulI,+BAAiC,0BACxCpkI,GAAc,GAEbqkI,IACDxlI,EAAOwlI,mCAAqC,8BAC5CrkI,GAAc,GAEbskI,IACDzlI,EAAOylI,4BAA8B,4BACrCtkI,GAAc,IAGtB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGL6b,EAAY,uCAAG,8BAAA1pB,EAAA,0DACb4N,GAAY,GADC,uBAEPzL,EAAO,CACTswI,kBAAmBlzI,EAAMkzI,kBACzBb,oBAAqBryI,EAAMqyI,oBAC3BE,mBAAoBvyI,EAAMuyI,mBAC1BmB,yBAA0B1zI,EAAMoyI,YAAYtsI,KAAI,SAACgoB,GAAD,MAAQ,CACpD0kH,iCAAkC1kH,EAAE0kH,iCACpCC,kCAAmC3kH,EAAE2kH,kCACrCC,+BAAgC5kH,EAAE4kH,+BAClCC,mCAAoC7kH,EAAE6kH,mCACtCC,4BAA6B9kH,EAAE8kH,4BAC/BC,+BAAgC/kH,EAAE+kH,mCAEtCc,wBAAyB,CACrB,CACIH,yBAA0BxzI,EAAMsyI,mBAI5Ct4H,GAAa,GApBA,SAqBGk4H,GAAoBtvI,GArBvB,QAqBTX,EArBS,QAsBLoE,UACJyB,EAAiB7F,EAAIyG,SACrBnM,EAAMO,SAAQ,IAElBkd,GAAa,GA1BA,2CAAH,qDA4FZ4V,EAAgB,SAAChtB,GACnB,OACI,8BACI,cAAC,IAAD,CAAY7E,QAAS,kBAzBPoO,EAyB8BvJ,EAAKqO,SAxBzDzS,GAAS,SAAC4B,GAaN,OAZS,2BACFA,GADE,IAELxC,GAAIuO,EAAOvO,GACX40I,iCAAkCrmI,EAAOqmI,iCACzCC,kCAAmCtmI,EAAOsmI,kCAC1CC,+BAAgCvmI,EAAOumI,+BACvCC,mCAAoCxmI,EAAOwmI,mCAC3CC,4BAA6BzmI,EAAOymI,4BACpCC,+BAAgC1mI,EAAO0mI,+BACvCI,SAAU9mI,EAAOvO,GACjBymH,UAAU,OAZG,IAACl4G,GAyByC+I,aAAa,mBAK1EpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAEH,OACI,sBAAKnX,UAAU,oBAAf,UACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACI,cAAC,IAAD,CACI2N,WAAW,wBACXC,YAAY,wBACZpQ,MAAOsB,EAAMqyI,oBACblsI,KAAK,sBACL6C,SAAUoF,EACVjB,OAAQnN,EAAMmN,OAAOklI,wBAG7B,cAACnzI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACI,cAAC,IAAD,CACI2N,WAAW,gBACXC,YAAY,gBACZpQ,MAAOsB,EAAMsyI,gBACbnsI,KAAK,kBACL6C,SAAUoF,EACVjB,OAAQnN,EAAMmN,OAAOmlI,oBAG7B,cAACpzI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAAC,IAAD,CACIwtB,WAAS,EACTzQ,KAAM,EACNpP,WAAW,MACXC,YAAY,MACZhG,WAAW,EACXpK,MAAOsB,EAAMuyI,mBACbpsI,KAAK,qBACL6C,SAAUoF,EACVjB,OAAQnN,EAAMmN,OAAOolI,uBAG7B,eAACrzI,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAA9B,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAGpsB,UAAU,aAAnC,SACI,cAAC,IAAD,CAAiB+Z,YAAalB,EAAWhc,QAASosB,EAAlD,sBAIJ,cAACjrB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG+tB,GAAI,EAAGpsB,UAAU,aAAnC,SACI,cAAC,IAAD,CAAiBnD,QAhEjB,WAChBxB,EAAMO,SAAQ,IA+DE,4BAIZ,eAACoC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZpQ,MAAOsB,EAAMwyI,iCACbrsI,KAAK,mCACL6C,SAAUoF,EACVjB,OAAQnN,EAAMmN,OAAOqlI,qCAG7B,cAACtzI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,kBACXC,YAAY,kBACZpQ,MAAOsB,EAAMyyI,kCACbtsI,KAAK,oCACL6C,SAAUoF,EACVjB,OAAQnN,EAAMmN,OAAOslI,sCAG7B,eAACvzI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,wBAGA,cAAC,IAAD,CACIwF,KAAK,iCACLzH,MAAOsB,EAAM0yI,gCAAkC,GAC/C1pI,SAAUitD,EACVjnD,KAAMhP,EAAMgzI,sCAEhB,cAACrxI,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOulI,oCAExC,eAACxzI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,4BAGA,cAAC,IAAD,CACIwF,KAAK,qCACLzH,MAAOsB,EAAM2yI,oCAAsC,GACnD3pI,SAAUitD,EACVjnD,KAAMhP,EAAM+yI,0CAEhB,cAACpxI,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOwlI,wCAExC,cAACzzI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,eACX5F,KAAK,SACL6F,YAAY,eACZpQ,MAAOsB,EAAM4yI,4BACbzsI,KAAK,8BACL6C,SAAUoF,EACVjB,OAAQnN,EAAMmN,OAAOylI,gCAG7B,cAAC1zI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,gBAAgB3D,MAAO,CAAEyD,UAAW,GAAtF,SACI,cAAC,IAAD,CACIgI,SAxLK,SAACkG,GACtB,MAA0BA,EAAM3G,OAAxBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,kBAAa+F,EAAOuJ,QAsLjBA,QAAS1P,EAAM6yI,+BACf1sI,KAAK,iCACLzH,MAAOsB,EAAM6yI,+BACb9pI,MAAM,oBAGd,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,aAAlD,UACI,cAACR,EAAA,EAAD,UAAa,WACb,cAAC,IAAD,CAAiB3C,QAzLf,WACd,GAAIsQ,GAAY,GAAO,CACnB,IAAIk5G,EAAe,CACfirB,iCAAkCxyI,EAAMwyI,iCACxCC,kCAAmCzyI,EAAMyyI,kCACzCC,+BAAgC1yI,EAAM0yI,+BACtCC,mCAAoC3yI,EAAM2yI,mCAC1CC,4BAA6B5yI,EAAM4yI,4BACnCC,+BAAgC7yI,EAAM6yI,gCAE1Cr0I,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELgyI,YAAapyI,EAAMoyI,YAAY33G,QAAO,SAACn7B,GAAD,OAAUA,EAAK1B,KAAOoC,EAAMizI,iBAEtEz0I,GAAS,SAAC4B,GAEN,OADAmnH,EAAa3pH,GAA+B,IAA1BwC,EAAGgyI,YAAY7jI,OAAe,EAAI+wE,KAAK5xD,IAAL,MAAA4xD,KAAI,aAAQl/E,EAAGgyI,YAAYtsI,KAAI,SAACkK,GAAD,OAAOA,EAAEpS,QAAO,EAC5F,2BACAwC,GADP,IAEIgyI,YAAY,GAAD,oBAAMhyI,EAAGgyI,aAAT,CAAsB7qB,IACjCirB,iCAAkC,GAClCC,kCAAmC,GACnCC,+BAAgC,GAChCC,mCAAoC,GACpCC,4BAA6B,GAC7BC,gCAAgC,EAChCxuB,UAAU,EACV4uB,cAAUpyI,SA+J2BlB,WAAS,EAACuB,UAAU,aAAzD,SACKlB,EAAMizI,SAAW,SAAW,WAGrC,cAAC/zI,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,GAAI0e,GAAI,GAAvB,SACI,cAAC,IAAD,CAAUrP,KAAMje,EAAMoyI,YAAa1yH,OAAQ,IAAK5P,QAASA,EAAS8/H,WAAY,EAAGnwH,UAAQ,EAACD,YAAaxf,EAAM+H,sBCxX3HsnB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,IAEX,CACI/D,KAAM,OACNwE,IAAK,QAET,CACIA,IAAK,cACLxE,KAAM,gBACN+K,UAAW3E,IAAW62C,qBAE1B,CACIz4C,IAAK,YACLxE,KAAM,cAEV,CACIwE,IAAK,cACLxE,KAAM,eACN+K,UAAW3E,IAAW62C,qBAE1B,CACIz4C,IAAK,YACLxE,KAAM,eAIRwR,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,oBAAqByR,KAAM,IAAKC,QAAQ,IA0FrC+7H,GAvFgB,SAACr3I,GACDyB,eAAnB6J,eAAR,IAEA,EAA0BtJ,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EAEZ8rI,qBAAsB,GACtBC,qBAAsB,KACtBZ,kBAAmB,KACnBzgI,SAAU,OAPd,mBAAOzS,EAAP,KAAcxB,EAAd,KAUMu1I,EAAkC,uCAAG,sBAAAtzI,EAAA,sDACvCjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHqB,2CAAH,qDAOlCsnB,EAAY,SAACpiB,GACfnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN2jH,kBAAmBv9H,QAIrBq+H,EAA6B,SAAC/xI,GAChCzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN4/G,cAAc,OAElBltI,GAAO8xI,KAGLnkH,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMg6B,EAAU9mB,EAAIiiI,oBAAoBh+H,aAAa,6BAKhFpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAEGm3F,EAASp3F,mBAAQ,WACnB,IAAMC,EAAQ,UAAOV,IACjBhG,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA8B,sBAAjBA,EAAQnS,QAInD,OAHIwL,IACAA,EAAU5T,QAAUi2I,KAEjB37H,IACR,IAEWrY,EAAM8zI,qBAEpB,OACI,sBAAK5yI,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQ63F,IAEpBxvG,EAAMuvB,KACH,cAAC,GAAD,CAAwB2jH,kBAAmBlzI,EAAMkzI,kBAAmBp2I,QAASk3I,IAE7E,cAAC,GAAD,CACIrgI,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAdN,kBAeMmC,SAAS,uBACTG,WAAY,kBAAM+iB,EAAU,OAC5BtlB,SAAUzS,EAAMyS,eCnHvBwhI,GAAU,uCAAG,4BAAAxzI,EAAA,sEACN6B,aAAY,2BADN,cAClBL,EADkB,yBAEfA,GAFe,2CAAH,qDAIViyI,GAAgB,uCAAG,WAAOt2I,GAAP,eAAA6C,EAAA,sEACZ6B,aAAY,kBAAD,OAAmB1E,IADlB,cACxBqE,EADwB,yBAErBA,GAFqB,2CAAH,sDAKhBkyI,GAAa,uCAAG,WAAOvxI,GAAP,eAAAnC,EAAA,sEACTsB,aAAa,iBAAkBa,GADtB,cACrBX,EADqB,yBAElBA,GAFkB,2CAAH,sDAKbmyI,GAAoB,uCAAG,WAAOx2I,EAAIy2I,GAAX,eAAA5zI,EAAA,yDAC5BwB,EAAM,IACNoyI,EAF4B,gCAGhB/xI,aAAY,yCAAD,OAA0C1E,EAA1C,mBAAuDy2I,IAHlD,OAG5BpyI,EAH4B,8CAKhBK,aAAY,yCAAD,OAA0C1E,IALrC,OAK5BqE,EAL4B,wCAOzBA,GAPyB,4CAAH,wDC0NlBqyI,OA3Of,SAAmB/3I,GACf,MAA0BgC,mBAAS,CAC/BgwG,iBAAkB,KAClBgmC,sBAAuB,GACvBC,4BAA6B,GAC7BC,2BAA4B,GAC5BC,uBAAwB,GACxBC,YAAa,KACbC,2BAA4B,GAC5BC,aAAc,GACdC,qBAAsB,KACtBC,aAAc,GACdC,WAAY,GACZC,eAAgB,GAChBC,2BAA4B,KAC5BC,eAAgB,GAChBC,oBAAqB,GACrBC,sBAAsB,EACtBC,mBAAoB,KACpBnoI,OAAQ,KAlBZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAqBA,EAAsCD,mBAAS,CAC3Cg3I,0BAA2B,OAD/B,mBAAOh7H,EAAP,KAAoBC,EAApB,KAIA,EAA6Cxc,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,oCAAAM,EAAA,6DACFlE,EAAMi5I,OACNh3I,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB00I,qBAAsBv4I,EAAMi5I,WAFrD,SAImBpB,GAAqB73I,EAAMi5I,MAAOj5I,EAAMgyG,kBAJ3D,WAIFknC,EAJE,QAKWpvI,UACPqvI,EAAkBD,EAAa7yI,KAAK+yI,gBAAgB7vI,KAAI,SAACxG,GAAD,MAAW,CACrE1B,GAAI0B,EAAKivG,iBACTpoG,KAAM7G,EAAK81I,wBAETQ,EAAcH,EAAa7yI,KAAKizI,QAAQ/vI,KAAI,SAACxG,GAAD,MAAW,CACzD1B,GAAI0B,EAAK1B,GACTuI,KAAM7G,EAAK6G,SAEf3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELy0I,aAAcY,EAAa7yI,KAAK07C,MAChCy2F,aAAcU,EAAa7yI,KAAKkzI,MAChCX,eAAgBO,EAChBV,WAAYY,EACZX,eAAgBQ,EAAa7yI,KAAKizI,eAGtCt5I,EAAMgyG,iBAvBJ,iCAwBc2lC,GAAiB33I,EAAMgyG,kBAxBrC,OAwBEtsG,EAxBF,OAyBEW,EAAOX,EAAIW,KAAK4V,KAAK,GACrBvW,EAAIoE,SACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELuuG,iBAAkB3rG,EAAK2rG,iBACvBumC,qBAAsBlyI,EAAKkyI,qBAC3BP,sBAAuB3xI,EAAK2xI,sBAC5BC,4BAA6B5xI,EAAK4xI,4BAClCC,2BAA4B7xI,EAAK6xI,2BACjCC,uBAAwB9xI,EAAK8xI,uBAC7BU,oBAAqBxyI,EAAKwyI,oBAC1BT,YAAa/xI,EAAKmzI,qBAClBV,qBAAsBzyI,EAAKyyI,qBAC3BT,2BAA4BhyI,EAAKgyI,2BACjCM,2BAA4BtyI,EAAKsyI,2BACjCI,mBAAoB1yI,EAAK0yI,wBAxC/B,4CA4CP,IAEHn1I,qBAAU,WACN,IAAI61I,EAAS,KACTh2I,EAAM20I,cACNqB,EAASh2I,EAAM60I,aAAa9kI,MAAK,qBAAGnS,MAAiBoC,EAAM20I,gBAE/Dn6H,GAAe,SAACpa,GAAD,mBAAC,eACTA,GADQ,IAEXm1I,0BAA2BS,SAEhC,CAACh2I,EAAM20I,cAEV,IAU4B75H,EAVtBm7H,EAAI,uCAAG,WAAOv3I,GAAP,eAAA+B,EAAA,sDACLxC,EAAM+B,EAAMi1I,eAAellI,MAAK,SAACmZ,GAAD,OAAOA,EAAEtrB,KAAOc,KACpDF,GAAS,SAAC4B,GACN,IAAMmoH,EAAG,eAAQnoH,GAGjB,OAFAmoH,EAAI6sB,oBAAJ,OAA0Bn3I,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAKkI,KAC/BoiH,EAAIwtB,qBAAJ,OAA2B93I,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAKi4I,aACzB3tB,KANF,2CAAH,sDA0BJjsG,EAAoB,SAACpN,GACvB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GACN,IAAMmoH,EAAG,eAAQnoH,GAGjB,OAFAmoH,EAAIpiH,GAAQzH,EAEL6pH,MAIT1yE,EAAc,SAAC1vC,EAAMzH,GACvBF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,kBAAa+F,EAAOzH,QAK/B2P,EAAc,WAChB,IAAQ+mI,EAAwBp1I,EAAxBo1I,oBAEJ9mI,GAAc,EACdnB,EAAS,GAMb,MARwB,QAGDqB,KAAK4mI,KACxBjoI,EAAOioI,oBAAsB,0BAC7B9mI,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,gCAAAhO,EAAA,0DACd4N,IADc,uBAERzL,EAAO,CACT2rG,iBAAkBvuG,EAAMuuG,iBACxBumC,qBAAsB90I,EAAM80I,qBAC5BJ,uBAAwB10I,EAAM00I,uBAC9BU,oBAAqBp1I,EAAMo1I,oBAC3BW,qBAAoB,UAAEx7H,EAAYg7H,iCAAd,aAAE,EAAuC33I,GAC7Dy3I,qBAAsBr1I,EAAMq1I,qBAC5BH,2BAA4Bl1I,EAAMk1I,2BAClCI,mBAAoBt1I,EAAMs1I,oBAVhB,SAYEnB,GAAcvxI,GAZhB,QAYVX,EAZU,QAaNoE,SACJyB,EAAiB,gCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAjBT,2CAAH,qDAsBnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAzC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACI,cAAC,IAAD,CAAgB2N,WAAW,OAAO1I,KAAK,sBAAsBzH,MAAOnC,EAAM45I,SAAUnrI,UAAQ,MAEhG,eAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,qBAGA,cAAC,IAAD,CAAWwF,KAAK,qBAAqBzH,MAAOsB,EAAMs1I,oBAAsB,IAAKtsI,SAzE9D,SAACkG,GACxB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GACN,IAAMmoH,EAAG,eAAQnoH,GAKjB,OAJAmoH,EAAIpiH,GAAQzH,EACZ6pH,EAAI6sB,oBAAsB,GAC1B7sB,EAAIwtB,qBAAuB,GAEpBxtB,KAEX0tB,EAAKv3I,IA+D8GsQ,KAAMhP,EAAMg1I,aACvH,cAACrzI,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOmoI,wBAExC,cAACp2I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACI,cAAC,IAAD,CACI2N,WAAW,QACX1I,KAAK,sBACLzH,MAAOsB,EAAMo1I,oBACbpsI,SAAUsT,EACVnP,OAAQnN,EAAMmN,OAAOioI,wBAG7B,eAACl2I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CACIjC,MAAO6b,EAAYg7H,0BACnBvsI,UA7FY8R,EA6FiB,4BA7FV,SAACC,EAAIzS,GACpCkS,GAAe,SAACpa,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SA6F3B0S,QAAShb,EAAM60I,eAEnB,cAAClzI,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOwnI,iBAGxC,eAACz1I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,yBACA,cAAC,IAAD,CACIwF,KAAK,6BACLzH,OAAQsB,EAAMk1I,4BAA8B,IAC5ClsI,SAAUsT,EACVtN,KAAMhP,EAAMm1I,oBAGpB,cAACj2I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CACIsP,WAAW,WACX5F,KAAK,SACL9C,KAAK,yBACL2I,YAAY,WACZpQ,MAAOsB,EAAM00I,uBACb1rI,SAAUsT,MAIlB,cAACpd,EAAA,EAAD,CAAMK,GAAI,GAAIJ,WAAS,EAAC5B,MAAO,CAAE2U,WAAY,EAAG+sB,aAAc,GAA9D,SACI,eAAC//B,EAAA,EAAD,CAAMK,GAAI,GAAIJ,WAAS,EAACC,QAAS,EAAjC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,yBAGA,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAWS,MAAOA,EAAMq1I,qBAAsBlvI,KAAK,uBAAuBpI,QAAS,kBAAM83C,EAAY,wBAAwB,QAEjI,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAUS,MAAOA,EAAMq1I,qBAAsBlvI,KAAK,uBAAuBpI,QAAS,kBAAM83C,EAAY,wBAAwB,aAKxI,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMgyG,iBAAmB,SAAW,cCpOxF5xF,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,sBAAuBxE,KAAM,cACpC,CAAEwE,IAAK,cAAexE,KAAM,gBAG5B,CAAEwE,IAAK,uBAAwBxE,KAAM,gBA2E1BiwI,OAxEf,SAAc75I,GACV,MAA0BgC,mBAAS,CAC/B83I,SAAU,GACVx5H,QAAQ,EACRzf,MAAM,EACNqV,SAAU,OAJd,mBAAOzS,EAAP,KAAcxB,EAAd,KAOM83I,EAAa,uCAAG,sBAAA71I,EAAA,sDAOlBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UATA,2CAAH,qDAabhC,EAAgB,SAACtC,GACnB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAMmxG,iBAAkBpiG,QAG7Du7B,EAAgB,SAAC9pC,EAAIqT,GACvB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAM0Q,EAAcwC,EAAIs9F,mBAAmBr5F,aAAa,kBAKnFpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,IACR,IAEGrgB,EAAQqD,EAAMuuG,iBAAmB,oBAAsB,iBAEvDr3E,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOq0I,KAGP5jI,EAAM,gCAA4BnW,EAAMi5I,OAE5C,OACI,gCACI,cAAC,GAAD,CACI7hI,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQA,EACRmC,SAAS,WACTG,WAAY,kBAAMvG,EAAc,OAChCgE,SAAUzS,EAAMyS,WAEnBzS,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAArE,SACI,cAAC,GAAD,CAAWwxG,iBAAkBvuG,EAAMuuG,iBAAkBinC,MAAOj5I,EAAMi5I,MAAOW,SAAU55I,EAAM45I,SAAUr5I,QAAS,kBAAMo6B,GAAW,QAEjI,SCnDDq/G,OA9Bf,SAAiBh6I,GACb,IAKA,EAA0BgC,mBAAS,CAAEi4I,uBAAwB,KAA7D,mBAAOx2I,EAAP,KAAcxB,EAAd,KAEA2B,oBAAS,sBAAC,4BAAAM,EAAA,sEACUwzI,KADV,QACFhyI,EADE,QAEEoE,SACJ7H,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELw2I,uBAAwBv0I,EAAIW,KAAKkzI,WALnC,2CAQP,IACH,IAAMx+C,EAAOt3F,EAAMw2I,uBAAuB1wI,KAAI,SAACgoB,GAAD,MAAQ,CAClD/kB,MAAO+kB,EAAE3nB,KACTqtD,KAAM,cAAC,GAAD,CAAWgiF,MAAO1nH,EAAElwB,GAAIu4I,SAAUroH,EAAE3nB,WAG9C,OACI,sBAAKjF,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAvBN,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,aAAc0R,QAAQ,GAC9B,CAAE1R,KAAM,aAAc0R,QAAQ,IAoBGiW,EAAG,IAChC,cAAC,IAAD,CAAS8pE,QAASN,EAAM15F,GAAG,qBCvB1B64I,I,6BAAqB,uCAAG,WAAO74I,GAAP,eAAA6C,EAAA,sEACnB6B,aAAY,qBAAD,OAAsB1E,IADd,cAC/BqE,EAD+B,yBAE5BA,GAF4B,2CAAH,uDAKrBy0I,GAAwB,uCAAG,WAAO9zI,GAAP,eAAAnC,EAAA,sEACtBsB,aAAa,oBAAqBa,GADZ,cAClCX,EADkC,yBAE/BA,GAF+B,2CAAH,sD,oFCsLrB,KAKA,KAKA,KAKA,K,mCC7LUsF,aAAW,SAACC,GAAD,MAAY,CAC7CC,KAAM,CACFhI,MAAO+H,EAAM6rD,QAAQ11C,KAAK6tD,UAC1B,qBAAsB,CAClB9sC,gBAAiBl3B,EAAM6rD,QAAQM,OAAOv4B,OAE1C,4CAA6C,CACzCsD,gBAAgB,6BAAD,OAA+Bl3B,EAAM6rD,QAAQsjF,KAAK,KAAlD,KACfl3I,MAAO,0BAEX,qFAAsF,CAClFi/B,gBAAiB,gBAGzBstE,QAAS,CACLvsG,MAAO+H,EAAM6rD,QAAQ11C,KAAK6tD,UAC1BorE,qBAAsBpvI,EAAMpI,QAAQ,GACpCy3I,wBAAyBrvI,EAAMpI,QAAQ,GACvCyuD,aAAcrmD,EAAMpI,QAAQ,GAC5B6V,WAAYzN,EAAMypE,WAAW6lE,iBAC7B,gBAAiB,CACb7hI,WAAYzN,EAAMypE,WAAW8lE,oBAGrCC,MAAO,CACH9kI,WAAY,EACZ,aAAc,CACV2b,YAAarmB,EAAMpI,QAAQ,KAGnC63I,SAAU,GACVrkC,SAAU,GACV7pG,MAAO,CACHkM,WAAY,UACZxV,MAAO,WAEXy3I,UAAW,CACP75I,QAAS,OACTC,WAAY,SACZ+B,QAASmI,EAAMpI,QAAQ,GAAK,IAEhC+3I,UAAW,CACP96I,YAAamL,EAAMpI,QAAQ,IAE/Bg4I,QAAS,CACL/6I,YAAamL,EAAMpI,QAAQ,IAE/Bi4I,UAAW,CACPpiI,WAAY,UACZvX,SAAU,OA2EA6J,YAAW,CACzBE,KAAM,CACFzG,UAAW,GACXkR,WAAY,GACZjV,OAAQ,IACRS,SAAU,EACVX,SAAU,OCjGHu6I,ICnDFC,GAAiB,uCAAG,WAAO30I,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,gBAAiBa,GADjB,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDAKjBu1I,GAAiB,uCAAG,4BAAA/2I,EAAA,sEACb6B,aAAY,iBADC,cACzBL,EADyB,yBAEtBA,GAFsB,2CAAH,qDCkBxB0V,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAYyR,KAAM,IAAKC,QAAQ,IAwZ5B4/H,GArZE,SAACl7I,GAAW,IAAD,UACxB,EAA6CyB,eAArC6J,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,iBAExB,EAA0BvJ,mBAAS,CAC/Bm5I,MAAO,GACPC,OAAQ,GACRC,aAAc,GACdC,QAAS,GACTC,WAAY,GACZ78F,QAAS,GACT88F,gBAAiB,GACjBC,OAAQ,GACRC,cAAe,GACfC,oBAAqB,GACrBC,0BAA2B,GAC3BC,qBAAsB,GACtBC,2BAA4B,GAC5BC,YAAa,GACbC,UAAW,GACXC,WAAY,GACZnD,qBAAsB,GACtBoD,YAAa,GACbC,YAAa,GACbC,cAAe,GACfl4H,GAAI,KArBR,mBAAOzgB,EAAP,KAAcxB,EAAd,KAwBM4M,EAAU8b,eAEV0xH,EAA0B,uCAAG,8BAAAn4I,EAAA,sEACf+2I,KADe,OAC3Bv1I,EAD2B,OAGzBW,EAAOX,EAAIW,KAAK2G,QAAQ,GAC1BtH,EAAIoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqgB,GAAI7d,EAAKi2I,gBACTnB,MAAO90I,EAAKk2I,mBACZnB,OAAQ/0I,EAAKm2I,oBACbnB,aAAch1I,EAAKo2I,yBACnBnB,QAASj1I,EAAKq2I,qBACdnB,WAAYl1I,EAAKu/C,mCACjBlH,QAASr4C,EAAKw/C,uCACd41F,OAAQp1I,EAAKs2I,+BACbjB,cAAer1I,EAAKu2I,sCACpBpB,gBAAiBn1I,EAAKgzE,wCACtBsiE,oBAAqBt1I,EAAKw2I,uBAC1BjB,0BAA2Bv1I,EAAKy2I,6BAChCjB,qBAAsBx1I,EAAK02I,wBAC3BjB,2BAA4Bz1I,EAAK22I,8BACjClE,qBAAsBzyI,EAAK42I,mCAC3Bf,YAAa71I,EAAKwhC,kCAClBk0G,YAAa11I,EAAK62I,sBAClBjB,WAAY51I,EAAKmH,oBACjBwuI,UAAW31I,EAAK82I,4BAChBhB,YAAa91I,EAAKqH,yBAClB0uI,cAAe/1I,EAAK+2I,gCAGvB13I,EAAIoE,SACLwB,EAAe5F,EAAIyG,SA/BQ,2CAAH,qDAmC5BkxI,EAAc,SAACpB,GAAD,OAAgB,SAACtpI,GAC/B,IAAIC,EAAS,IAAIC,WACjBD,EAAOE,OAAS,SAAChH,GACb,IAAQiH,EAAWjH,EAAEE,OAAb+G,OACR9Q,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJo4I,EAAalpI,QAGtBH,EAAOI,cAAcL,EAAM3G,OAAOiH,MAAM,MAGtCgb,EAAa,SAACrkB,GAAD,OAAU,SAACkC,GAC1B7J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,YAGjC0Q,EAAiB,CACnBE,wBAAyB,CAAE7M,MAAO,OAAQ8M,UAAW,QACrD6iI,gCAA8B,GAAIttH,UAAW,IAAf,0BAA8B,KAA9B,sBAA0C,QAA1C,0BAA6D,QAA7D,gCAAsFvsB,EAAMq4I,4BAA5F,GAE9BphI,eAAgB,CAAE/M,MAAO,IAAKqiB,UAAW,GAAIrV,eAAgB,UAG3D2+B,EAAc,SAAC1vC,EAAMzH,GACvBF,GAAS,SAAC4B,GAEN,OADS,2BAAQA,GAAR,kBAAa+F,EAAOzH,QAK/Bo7I,EAAoB,SAACzxI,GACvB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGjCyrB,EAAY,uCAAG,8BAAA1pB,EAAA,6DACXmC,EAAO,CACTi2I,gBAAiB74I,EAAMygB,GACvBs4H,oBAAqB/4I,EAAM23I,OAC3BqB,yBAA0Bh5I,EAAM43I,aAChCqB,qBAAsBj5I,EAAM63I,QAC5BiB,mBAAoB94I,EAAM03I,MAC1B2B,6BAA8Br5I,EAAMm4I,0BACpCiB,uBAAwBp5I,EAAMk4I,oBAC9BqB,8BAA+Bv5I,EAAMq4I,2BACrCiB,wBAAyBt5I,EAAMo4I,qBAC/BnuI,yBAA0BjK,EAAM04I,YAChCv2F,mCAAoCniD,EAAM83I,WAC1C11F,uCAAwCpiD,EAAMi7C,QAC9Ci+F,+BAAgCl5I,EAAMg4I,OACtCmB,sCAAuCn5I,EAAMi4I,cAC7CriE,wCAAyC51E,EAAM+3I,gBAC/CyB,mCAAoCx5I,EAAMq1I,qBAC1CoE,sBAAuBz5I,EAAMs4I,YAC7BvuI,oBAAqB/J,EAAMw4I,WAC3BkB,4BAA6B15I,EAAMu4I,UACnCoB,2BAA4B35I,EAAM24I,cAClCv0G,kCAAmCpkC,EAAMy4I,aAtB5B,SAyBDlB,GAAkB30I,GAzBjB,QAyBbX,EAzBa,QA0BToE,SACJyB,EAAiB,sCACjBsD,EAAQ8qG,UAERruG,EAAe5F,EAAIyG,SA9BN,2CAAH,qDAsClB,OAJAvI,qBAAU,WACNy4I,MACD,IAGC,sBAAK13I,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,eAACzY,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaC,WAAW,eAAeC,YAAY,eAAepQ,MAAOsB,EAAM03I,MAAO1uI,SAAU8wI,EAAmB3zI,KAAK,YAE5H,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaC,WAAW,UAAUC,YAAY,SAASpQ,MAAOsB,EAAM23I,OAAQ3uI,SAAU8wI,EAAmB3zI,KAAK,aAElH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,IAAD,CACIC,WAAW,gBACXC,YAAY,gBACZpQ,MAAOsB,EAAM43I,aACb5uI,SAAU8wI,EACV3zI,KAAK,mBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,IAAD,CAAaC,WAAW,WAAWC,YAAY,WAAWpQ,MAAOsB,EAAM63I,QAAS7uI,SAAU8wI,EAAmB3zI,KAAK,cAEtH,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,0BAGA,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAasP,WAAW,aAAaC,YAAY,aAAapQ,MAAOsB,EAAM83I,WAAY9uI,SAAU8wI,EAAmB3zI,KAAK,iBAE7H,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIsP,WAAW,mBACXC,YAAY,mBACZpQ,MAAOsB,EAAMi7C,QACbjyC,SAAU8wI,EACV3zI,KAAK,cAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAasP,WAAW,SAASC,YAAY,SAASpQ,MAAOsB,EAAMg4I,OAAQhvI,SAAU8wI,EAAmB3zI,KAAK,aAEjH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIsP,WAAW,iBACXC,YAAY,iBACZpQ,MAAOsB,EAAMi4I,cACbjvI,SAAU8wI,EACV3zI,KAAK,oBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIsP,WAAW,6CACXC,YAAY,6CACZpQ,MAAOsB,EAAM+3I,gBACb/uI,SAAU8wI,EACV3zI,KAAK,sBAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,qBAGA,0BAEJ,eAACP,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAAQ,eAApC,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAApD,UACI,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAACu7H,GAAA,EAAD,CAAWz+H,UAAU,SAArB,SACI,gDAGR,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,KAAD,CACInP,MAAOO,EAAMk4I,oBACblvI,SAAU,SAACoiB,GAAD,OACN5sB,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELk4I,oBAAqB9sH,EAAaC,iBAMtD,eAACnsB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAApD,UACI,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAACu7H,GAAA,EAAD,CAAWz+H,UAAU,SAArB,SACI,sDAGR,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,KAAD,CACInP,MAAOO,EAAMm4I,0BACbnvI,SAAU,SAACoiB,GAAD,OACN5sB,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELm4I,0BAA2B/sH,EAAaC,iBAM5D,eAACnsB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAApD,UACI,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAACu7H,GAAA,EAAD,CAAWz+H,UAAU,SAArB,SACI,kDAGR,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,KAAD,CACInP,MAAOO,EAAMo4I,qBACbpvI,SAAU,SAACoiB,GAAD,OACN5sB,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELo4I,qBAAsBhtH,EAAaC,iBAOvD,eAACnsB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACC,QAAS,EAAGG,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAApD,UACI,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAACu7H,GAAA,EAAD,CAAWz+H,UAAU,SAArB,SACI,wDAGR,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,SACI,cAAC,KAAD,CACInP,MAAOO,EAAMq4I,2BACbrvI,SAAU,SAACoiB,GAAD,OACN5sB,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELq4I,2BAA4BjtH,EAAaC,oBAOjE,eAACnsB,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG9B,WAAW,aAAaC,MAAO,CAAE8B,QAAS,QAAtE,UACI,eAACH,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGE,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAA5D,UACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAA/B,UACI,cAAC7jB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,mBAGA,0BAEJ,eAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,EAAG3e,GAAI,EAAGrR,MAAO,CAAEyZ,UAAW,QAArD,UACI,cAACtW,EAAA,EAAD,CAAYC,QAAM,EAAlB,0BACCX,EAAMs4I,YACH,cAAC,IAAD,CAAiBv6I,QAASysB,EAAW,eAArC,yBAEA,uBAAOvhB,KAAK,OAAO9C,KAAK,cAAc6C,SAAU4wI,EAAY,eAAgBnqI,OAAO,eAG3F,eAACvQ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAA9B,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoB,WACpB,qBACIM,KAAK,UAAAjB,EAAMs4I,mBAAN,eAAmBpkI,SAAS,WAAYlU,EAAMs4I,YAAc,yBAA2Bt4I,EAAMs4I,YAClGn3I,IAAK,eACL5D,MAAOsZ,EAAegjI,oCAG9B,eAAC36I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,EAAG3e,GAAI,EAAGrR,MAAO,CAAEyZ,UAAW,QAArD,UACI,cAACtW,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BACCX,EAAMu4I,UACH,cAAC,IAAD,CAAiBx6I,QAASysB,EAAW,aAArC,yBAEA,uBAAOvhB,KAAK,OAAO9C,KAAK,YAAY6C,SAAU4wI,EAAY,aAAcnqI,OAAO,eAGvF,eAACvQ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAAGhwB,MAAOsZ,EAAeE,wBAAvD,UACI,cAACrW,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoB,WACpB,qBACIM,KAAK,UAAAjB,EAAMu4I,iBAAN,eAAiBrkI,SAAS,WAAYlU,EAAMu4I,UAAY,yBAA2Bv4I,EAAMu4I,UAC9Fp3I,IAAK,OACL5D,MAAOsZ,EAAeI,oBAG9B,eAAC/X,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,EAAG3e,GAAI,EAAGrR,MAAO,CAAEyZ,UAAW,QAArD,UACI,cAACtW,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAEswD,aAAc,QAA1C,0BAGC7tD,EAAMw4I,WACH,cAAC,IAAD,CAAiBz6I,QAASysB,EAAW,cAArC,yBAEA,uBAAOvhB,KAAK,OAAO9C,KAAK,aAAa6C,SAAU4wI,EAAY,cAAenqI,OAAO,eAGzF,eAACvQ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAAGhwB,MAAOsZ,EAAeE,wBAAvD,UACI,cAACrW,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoB,WACpB,qBACIM,KAAK,UAAAjB,EAAMw4I,kBAAN,eAAkBtkI,SAAS,WAAYlU,EAAMw4I,WAAa,yBAA2Bx4I,EAAMw4I,WAChGr3I,IAAK,OACL5D,MAAOsZ,EAAeI,oBAG9B,eAAC/X,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,EAAG3e,GAAI,EAAGrR,MAAO,CAAEyZ,UAAW,QAArD,UACI,cAACtW,EAAA,EAAD,CAAYC,QAAM,EAACpD,MAAO,CAAEswD,aAAc,QAA1C,4BAGC7tD,EAAM24I,cACH,cAAC,IAAD,CAAiB56I,QAASysB,EAAW,iBAArC,yBAEA,uBAAOvhB,KAAK,OAAO9C,KAAK,gBAAgB6C,SAAU4wI,EAAY,iBAAkBnqI,OAAO,eAG/F,eAACvQ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAAGhwB,MAAOsZ,EAAeE,wBAAvD,UACI,cAACrW,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoB,WACpB,qBACIM,KAAK,UAAAjB,EAAM24I,qBAAN,eAAqBzkI,SAAS,WAAYlU,EAAM24I,cAAgB,yBAA2B34I,EAAM24I,cACtGx3I,IAAK,OACL5D,MAAOsZ,EAAeI,uBAKlC,eAAC/X,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAI,EAAGC,GAAI,EAAhD,UACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIhwB,MAAO,CAAE6uB,IAAK,GAAjD,UACI,cAAC1iB,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,sBAGA,0BAEJ,eAACP,EAAA,EAAD,CAAMK,GAAI,GAAIJ,WAAS,EAACC,QAAS,EAAjC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,6CAGA,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACI5O,MAAOA,EAAMq1I,qBACblvI,KAAK,uBACLpI,QAAS,kBAAM83C,EAAY,wBAAwB,QAG3D,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACI5O,MAAOA,EAAMq1I,qBACblvI,KAAK,uBACLpI,QAAS,kBAAM83C,EAAY,wBAAwB,QAG3D,cAAC32C,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,GAAIrP,GAAI,KACvB,cAACL,EAAA,EAAD,CAAM66I,MAAI,EAACx6I,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIC,WAAW,yBACXC,YAAY,yBACZpQ,MAAOsB,EAAMy4I,YACbzvI,SAAU8wI,EACV3zI,KAAK,cACL8C,KAAK,aAGb,eAAC/J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAG1N,UAAU,aAAa3D,MAAO,CAAEyD,WAAY,GAArE,UACI,cAACN,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoB,WACpB,eAAC,IAAD,CAAiB5C,QAASosB,EAA1B,eAA0C5tB,EAAMqkB,WAAa,8BClahFo5H,GAAU,uCAAG,WAAOp8I,GAAP,eAAA6C,EAAA,sEACR6B,aAAY,YAAD,OAAa1E,IADhB,cACpBqE,EADoB,yBAEjBA,GAFiB,2CAAH,sDAKVg4I,GAAW,uCAAG,WAAOr3I,GAAP,eAAAnC,EAAA,sEACTsB,aAAa,WAAYa,GADhB,cACrBX,EADqB,yBAElBA,GAFkB,2CAAH,sDC2ETi4I,OA/Ef,SAAkB39I,GAChB,MAA0BgC,mBAAS,CACjCgrD,UAAW,KACXr2C,mBAAoB,GACpB/F,OAAQ,KAHV,mBAAOnN,EAAP,KAAcxB,EAAd,KAMA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,0DACJlE,EAAMgtD,UADF,gCAEUywF,GAAWz9I,EAAMgtD,WAF3B,QAEFtnD,EAFE,QAGEoE,SACN7H,GAAS,SAACwB,GAAD,mBAAC,eACLA,GADI,IAEPupD,UAAWtnD,EAAIW,KAAK2mD,UACpBr2C,mBAAoBjR,EAAIW,KAAKsQ,wBAP3B,2CAWP,IAEH,IAQM7E,EAAc,WAClB,IAAQ6E,EAAuBlT,EAAvBkT,mBAEJ5E,GAAc,EACdnB,EAAS,GAMb,MARwB,QAGDqB,KAAK0E,KAC1B/F,EAAO+F,mBAAqB,wBAC5B5E,GAAc,GAEhB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGHG,EAAa,uCAAG,8BAAAhO,EAAA,0DAChB4N,IADgB,uBAEZ8rI,EAAU,CACd5wF,UAAWvpD,EAAMupD,UACjBr2C,mBAAoBlT,EAAMkT,oBAJV,SAMF+mI,GAAYE,GANV,QAMdl4I,EANc,QAOVoE,SACNyB,EAAiB,gCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAXH,2CAAH,qDAgBnB,OACE,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAGwV,QAAQ,SAAStX,WAAW,SAAxE,UACE,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,cACX1I,KAAK,qBACL2I,YAAY,cACZ9F,SA5CkB,SAACkG,GACzB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACLA,GADI,kBAENmG,EAAOzH,QAyCJA,MAAOsB,EAAMkT,mBACb/F,OAAQnN,EAAMmN,OAAO+F,uBAIzB,cAAChU,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMgtD,UAAY,SAAW,cC3ElE6wF,GAAiB,uCAAG,4BAAA35I,EAAA,sEACb6B,aAAY,YADC,cACzBL,EADyB,yBAEtBA,GAFsB,2CAAH,qDAKjBo4I,GAAiB,uCAAG,WAAOz3I,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,iBAAkBa,GADlB,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDCoGfq4I,GAxGO,SAAC/9I,GACrB,MAA0BgC,mBAAS,CACjCksD,yBAA0B,GAC1Bv3C,mBAAoB,GACpB83C,oBAAqB,GACrBqK,SAAU,KAJZ,mBAAOr1D,EAAP,KAAcxB,EAAd,KAMA,EAA4BD,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpB6tD,EAAY,uCAAG,8BAAAj1D,EAAA,sEACH25I,KADG,OACfn4I,EADe,OAGbs4I,EAAWt4I,EAAIW,KAAK4V,KAAK1S,KAAI,SAACxG,GAAD,MAAW,CAC5C1B,GAAI0B,EAAKiqD,UACTpjD,KAAM7G,EAAK4T,uBAGb1U,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEPi1D,SAAUklF,OAVO,2CAAH,qDAalBp6I,qBAAU,WACR,IAAK5D,EAAMqG,KAAKsiC,MAAO,CACrB,IAAI0b,EAAOrkD,EAAMqG,KAAKstB,gBACtB1xB,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,IAEPmqD,gBAAiB3J,EAAK2J,gBACtBS,oBAAqBpK,EAAKoK,oBAC1BP,yBAA0B7J,EAAK6J,yBAC/Bv3C,mBAAoB0tC,EAAK1tC,wBAG7BwiD,MACC,IAEH,IAAMG,EAAW,WACf,IAAIC,GAAW,EACXC,EAAM,GAUV,MATK,QAAQvnD,KAAKxO,EAAMgrD,uBACtB+K,EAAI/K,qBAAsB,EAC1B8K,GAAW,GAER,QAAQtnD,KAAKxO,EAAMyqD,4BACtBsL,EAAItL,0BAA2B,EAC/BqL,GAAW,GAEbL,EAAUM,GACHD,GAGHt1D,EAAU,uCAAG,4BAAAC,EAAA,0DACbo1D,IADa,gCAEMwkF,GAAkB,CACrC9vF,gBAAiBvqD,EAAMuqD,iBAAmB,KAC1CS,oBAAqBhrD,EAAMgrD,qBAAuB,GAClDP,yBAA0BzqD,EAAMyqD,2BALnB,QAEX/2C,EAFW,QAQbA,EAASrN,QACLyB,EAAiB9H,EAAMklC,MAAQ,qCAAuC,wCACtEr9B,EAAe6L,EAAShL,SAAW,wBAEvCb,EAAe,wBAEjBtL,EAAMO,UAdS,2CAAH,qDAiBVm5D,EAAe,SAACl7C,GACpB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACLA,GADI,kBAENwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEpB+2D,EAAU,KAGZ,OACE,mCACE,eAACv2D,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACE,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACE,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,sBAGA,cAAC,IAAD,CAAWwF,KAAK,sBAAsBzH,MAAOsB,EAAMgrD,qBAAuB,GAAIhiD,SAAUitD,EAAcjnD,KAAMhP,EAAMq1D,WAClH,cAAC1zD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO69C,oBAAsB,yBAA2B,UAEjF,cAAC9rD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,cACX1I,KAAK,2BACL2I,YAAY,cACZyO,aAAchhB,EAAMqG,KAAKstB,gBAAgBu6B,0BAA4B,GACrEzhD,SAAUitD,EACV9oD,OAAQA,EAAOs9C,yBAA2B,yBAA2B,SAGzE,cAACvrD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QAASyC,EAA1B,SAAuCjE,EAAMqG,KAAKsiC,MAAQ,MAAQ,mB,UCvG/Ds1G,GAAiB,uCAAG,WAAO53I,GAAP,eAAAnC,EAAA,sEACbsB,aAAa,mBAAoBa,GADpB,cACzBX,EADyB,yBAEtBA,GAFsB,2CAAH,sDCoFfw4I,GA9ES,SAACl+I,GACrB,MAA0BgC,mBAAS,CAC/B+rD,iBAAkB/tD,EAAM2zB,gBAAkB3zB,EAAM2zB,gBAAgBo6B,iBAAmB,KACnFY,yBAA0B3uD,EAAMm+I,WAAWnwF,gBAC3CG,0BAA2BnuD,EAAM2zB,gBAAkB3zB,EAAM2zB,gBAAgBw6B,0BAA4B,KAErGv9C,OAAQ,KALZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAQA,EAA4BD,mBAAS,IAArC,mBAAek3D,GAAf,WACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBwG,EAAc,WAChB,IAAQq8C,EAA8B1qD,EAA9B0qD,0BACJp8C,GAAc,EACdnB,EAAS,GASb,MAPiC,IAA7Bu9C,GAAgE,MAA7BA,IACnCv9C,EAAOu9C,0BAA4B,uCACnCp8C,GAAc,GAGlB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAElCmB,GAGL6b,EAAY,uCAAG,8BAAA1pB,EAAA,0DACb4N,IADa,uBAEPzL,EAAO,CACT+3I,yBAA0B36I,EAAMkrD,yBAChC0vF,0BAA2B56I,EAAM0qD,2BAGR,MAAzBnuD,EAAM2zB,kBACNttB,EAAKi4I,iBAAmB76I,EAAMsqD,kBARrB,SAWGkwF,GAAkB53I,GAXrB,QAWTX,EAXS,QAaLoE,SACJyB,EAAiB,wCACjBvL,EAAMO,WAEN+K,EAAe5F,EAAIyG,SAjBV,2CAAH,qDA+BlB,OACI,mCACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,cACX1I,KAAK,4BACL2I,YAAY,cACZ9F,SAjBC,SAAC+R,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,KAYMl4C,aAAcvd,EAAM0qD,0BACpBv9C,OAAQnN,EAAMmN,OAAOu9C,0BAA4B1qD,EAAMmN,OAAOu9C,0BAA4B,SAGlG,cAACxrD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACI,cAAC,IAAD,CAAiBnD,QAASosB,EAA1B,SAAkE,MAAzB5tB,EAAM2zB,gBAA0B,MAAQ,mBCtE/F9Y,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MAGxC,CAAES,IAAK,4BAA6BxE,KAAM,gBA0G/B20I,OAvGf,SAAmBv+I,GACf,MAA0BgC,mBAAS,CAC/BnB,MAAM,IADV,mBAAO4C,EAAP,KAAcxB,EAAd,KAIMmZ,EAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CACI1R,KACI,sBAAKpI,QAAS,WAAQxB,EAAMw+I,WAAU,EAAO,MAAOx+I,EAAMy+I,aAAY,EAAO,OAAUz9I,MAAO,CAAEI,OAAQ,WAAxG,wBACgBpB,EAAMm+I,WAAWxnI,mBADjC,QAIR,CACI/M,KACI,sBAAKpI,QAAS,kBAAMxB,EAAMy+I,aAAY,EAAO,OAAOz9I,MAAO,CAAEI,OAAQ,WAArE,0BACkBpB,EAAMm+I,WAAWjwF,yBADnC,QAIR,CAAEtkD,KAAM,qBAAsB0R,QAAQ,IAGpCK,EAAa,SAAC6C,EAAI9J,GACpB,OACI,qBACI1T,MAAO,CACHyZ,UAAW,UAFnB,SAKI,cAAC,IAAD,CACI9B,aAAa,OACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiBjf,aAQnCnB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAUG+X,EAAc,WAChB5xB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiB,KACjBzd,UAAWzS,EAAMyS,eAIzB,OACI,sBAAKvR,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,IAErB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAM,oDAA+CnW,EAAMm+I,WAAWnwF,iBACtE11C,SAAS,sBACTG,WA7BU,WAClBxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiB,WA0Bbzd,SAAUzS,EAAMyS,WAGnBzS,EAAM5C,MACH,mCACI,cAACV,GAAA,EAAD,CACIU,KAAM4C,EAAM5C,KACZN,QAAS,WACLszB,KAEJzzB,MAAgC,MAAzBqD,EAAMkwB,gBAA0B,uBAAyB,wBAChEnzB,SAAS,KANb,SAQI,cAAC,GAAD,CAAiB29I,WAAYn+I,EAAMm+I,WAAY59I,QAASszB,EAAaF,gBAAiBlwB,EAAMkwB,0BCrG9G9Y,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,qBAAsBxE,KAAM,WAAY+D,MAAO,OACtD,CAAES,IAAK,2BAA4BxE,KAAM,gBA+H9B80I,GA7HO,SAAC1+I,GACnB,MAA0BgC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBgV,OAAO,EAEPg2G,YAAY,IANhB,mBAAOl7I,EAAP,KAAcxB,EAAd,KASM28I,EAAgB,SAACC,EAAIlyH,GACvB1qB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB86I,WAAYE,EAAIV,WAAYxxH,QAGrDvR,EAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CACI1R,KACI,sBAAKpI,QAAS,kBAAMxB,EAAMw+I,WAAU,EAAO,OAAOx9I,MAAO,CAAEI,OAAQ,WAAnE,wBACgBpB,EAAM2W,mBADtB,QAIR,CAAE/M,KAAM,cAAe0R,QAAQ,IAGnC1X,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,IAEH,IAAMA,EAAW,uCAAG,sBAAA1d,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAOXyH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,sBAAK1T,MAAO,CAAEyZ,UAAW,SAAU6X,eAAgB,gBAAnD,UACI,cAAC,IAAD,CACI3Z,aAAa,uBACbnX,QAAS,WACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiBjf,EACjBi0B,OAAO,UAInB,cAAC,KAAD,CACIpwB,KAAMumI,KACNt9I,QAAS,kBAAMo9I,GAAc,EAAMlqI,IACnCiE,aAAa,2BAKvBpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAUG+X,EAAc,SAACnuB,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,OAEV6E,GAAOkc,KAGX,OACIne,EAAMk7I,WACF,mCACI,cAAC,GAAD,CAAWH,UAAWx+I,EAAMw+I,UAAWC,YAAaG,EAAejoI,mBAAoB3W,EAAM2W,mBAAoBwnI,WAAY16I,EAAM06I,eAGvI,sBAAKx5I,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,IAErB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAM,wBAAmB,uBAAyBnW,EAAM2W,oBACxD2B,SAAS,sBACTG,WAjCM,WAClBxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8nC,OAAO,EACPhV,gBAAiB,SA6BTzd,SAAUzS,EAAMyS,WAEnBzS,EAAM5C,KACH,cAACV,GAAA,EAAD,CACIU,KAAM4C,EAAM5C,KACZN,QAAS,WACLszB,GAAY,IAEhBzzB,MAAOqD,EAAMklC,MAAQ,sBAAwB,uBAC7CnoC,SAAS,KANb,SAQI,cAAC,GAAD,CACI6F,KAAM5C,EACNlD,QAAS,WACLszB,GAAY,QAIxB,SC5HdzY,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,YAAa0R,QAAQ,IAG3B8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,qBAAsBxE,KAAM,gBA6FxBm1I,OA1Ff,SAAa/+I,GACT,MAA0BgC,mBAAS,CAC/Bg9I,QAAS,GACT1+H,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN+6I,IADM,2CAEP,IAEH,IAAMA,EAAW,uCAAG,sBAAA/6I,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAOXgrI,EAAa,SAACtvI,GAChB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAMmsD,UAAS,OAAEp9C,QAAF,IAAEA,OAAF,EAAEA,EAAQo9C,gBAG9DmyF,EAAgB,SAACN,EAAIlyH,GACvB1qB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBu7I,YAAaP,EAAIQ,mBAAkB,OAAE1yH,QAAF,IAAEA,OAAF,EAAEA,EAAGhW,yBAGjEw0B,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,sBAAK1T,MAAO,CAAEyZ,UAAW,SAAU6X,eAAgB,gBAAnD,UACI,cAAC,IAAD,CACI9wB,QAAS,kBAAM09I,EAAWxqI,IAC1BiE,aAAa,kBAEjB,cAAC,KAAD,CACIJ,KAAMumI,KACNt9I,QAAS,kBAAM29I,GAAc,EAAMzqI,IACnCiE,aAAa,oBAMvBpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,KAGLrgB,EAAQqD,EAAMupD,UAAY,kBAAoB,eAE9Cg9B,EAAgB,SAACtkF,GACnBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOu5I,KAGX,OACIx7I,EAAM27I,YACF,mCACI,cAAC,GAAD,CAAeZ,UAAWW,EAAexoI,mBAAoBlT,EAAM47I,uBAGvE,mCACI,sBAAK16I,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQ,WACRmC,SAAS,eACTG,WAAY,WACRymI,EAAW,OAEfhpI,SAAUzS,EAAMyS,WAGnBzS,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMypF,GAAc,IAAQxpF,SAAS,KAAxE,SACI,cAAC8+I,GAAD,CAActyF,UAAWvpD,EAAMupD,UAAWzsD,QAAS,kBAAMypF,GAAc,QAE3E,WCtBTu1D,OA/Ef,SAAgCv/I,GAC9B,MAA0BgC,mBAAS,CACjCw9I,mBAAoB,KACpBC,4BAA6B,GAC7B7uI,OAAQ,KAHV,mBAAOnN,EAAP,KAAcxB,EAAd,KAMA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,4BAAAM,EAAA,0DACJlE,EAAMw/I,mBADF,gCAEUtF,GAAsBl6I,EAAMw/I,oBAFtC,QAEF95I,EAFE,QAGEoE,SACN7H,GAAS,SAACwB,GAAD,mBAAC,eACLA,GADI,IAEP+7I,mBAAoB95I,EAAIW,KAAKm5I,mBAC7BC,4BAA6B/5I,EAAIW,KAAKo5I,iCAPpC,2CAWP,IAEH,IAQM3tI,EAAc,WAClB,IAAQ2tI,EAAgCh8I,EAAhCg8I,4BAEJ1tI,GAAc,EACdnB,EAAS,GAMb,MARwB,QAGDqB,KAAKwtI,KAC1B7uI,EAAO6uI,4BAA8B,iCACrC1tI,GAAc,GAEhB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGHG,EAAa,uCAAG,8BAAAhO,EAAA,0DAChB4N,IADgB,uBAEZ4tI,EAAuB,CAC3BF,mBAAoB/7I,EAAM+7I,mBAC1BC,4BAA6Bh8I,EAAMg8I,6BAJnB,SAMFtF,GAAyBuF,GANvB,QAMdh6I,EANc,QAOVoE,SACNyB,EAAiB,yCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAXH,2CAAH,qDAgBnB,OACE,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAU,MAAMvP,QAAS,EAAGwV,QAAQ,SAAStX,WAAW,SAAxE,UACE,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACE,cAAC,IAAD,CACE2N,WAAW,cACX1I,KAAK,8BACL2I,YAAY,cACZ9F,SA5CkB,SAACkG,GACzB,MAAwBA,EAAM3G,OAAtBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAACwB,GAAD,mBAAC,eACLA,GADI,kBAENmG,EAAOzH,QAyCJA,MAAOsB,EAAMg8I,4BACb7uI,OAAQnN,EAAMmN,OAAO6uI,gCAIzB,cAAC98I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,aAA7B,SACE,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAMw/I,mBAAqB,SAAW,cCxElFpkI,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,sBAAuB0R,QAAQ,IAGrC8E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,8BAA+BxE,KAAM,gBAuEjC+1I,OApEf,SAA2B3/I,GACvB,MAA0BgC,mBAAS,CAC/B49I,sBAAuB,GACvBt/H,QAAQ,EACRzf,MAAM,IAHV,mBAAO4C,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN27I,IADM,2CAEP,IAEH,IAAMA,EAAqB,uCAAG,sBAAA37I,EAAA,sDAC1BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHQ,2CAAH,qDAOrB4rI,EAA0B,SAAClwI,GAC7B3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,EAAM2+I,mBAAkB,OAAE5vI,QAAF,IAAEA,OAAF,EAAEA,EAAQ4vI,yBAGvEr0G,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAAMs+I,EAAwBprI,IAAMiE,aAAa,8BAK5EpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAI9C,OAHIgH,IACAA,EAAUT,UAAYw2B,GAEnB1qB,KAGLrgB,EAAQqD,EAAM+7I,mBAAqB,2BAA6B,wBAEhE7kH,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOm6I,KAGX,OACI,sBAAKl7I,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQ,oBACRmC,SAAS,wBACTG,WAAY,kBAAMqnI,EAAwB,OAC1C5pI,SAAUzS,EAAMyS,WAEnBzS,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYC,MAAOA,EAAOG,QAAS,kBAAMo6B,GAAW,IAAQn6B,SAAS,KAArE,SACI,cAAC,GAAD,CAAwBg/I,mBAAoB/7I,EAAM+7I,mBAAoBj/I,QAAS,kBAAMo6B,GAAW,QAEpG,SClEoD3qB,IAAWC,MAgEhE8vI,I,qBClEX3kI,GAAS,CACT,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,GAC5B,CAAE1R,KAAM,uBAAwB0R,QAAQ,IA2S7B0kI,OAxSf,SAA4BhgJ,GAAQ,IAAD,UAC/B,EAA0BgC,mBAAS,CAC/Bw6G,QAAS,GACTkC,eAAgB,GAChBx5C,QAASrrD,OAASC,OAAO,cACzBmmI,SAAU,KACVtiG,OAAQ,GACR/sC,OAAQ,GACRsvI,YAAa,KACb5jC,aAAc,GACdC,aAAc,KATlB,mBAAO94G,EAAP,KAAcxB,EAAd,KAWQ0xC,EAAc3lC,eAAd2lC,UACF9kC,EAAU8b,eAEhB,EAA6ClpB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACpBooC,EAAaC,EAAUh8B,SAAS,YAEtC/T,oBAAS,sBAAC,gCAAAM,EAAA,sEACWm3G,GAAsB,UAACr7G,EAAM2P,aAAP,iBAAC,EAAaC,cAAd,aAAC,EAAqBvO,IADvD,QACF+zD,EADE,QAEGtrD,SACL7H,GAAS,SAAC4B,GAAD,qCAAC,eACHA,GADE,IAEL24G,QAASpnD,EAAK/uD,KAAKm2G,QACnBkC,gBAAgB,UAAAtpD,EAAK/uD,YAAL,eAAWq4G,iBAAkB,GAC7CpC,aAAclnD,EAAK/uD,KAAKi2G,aACxBC,aAAcnnD,EAAK/uD,KAAKk2G,aACxBr3C,QAASl1D,IAAW6jC,cAAX,UAAyBuhB,EAAK/uD,YAA9B,iBAAyB,EAAWq4G,eAAe,UAAnD,aAAyB,EAA8ByhC,YAChEF,SAAUjwI,IAAW6jC,cAAX,UAAyBuhB,EAAK/uD,YAA9B,iBAAyB,EAAWq4G,eAAe,UAAnD,aAAyB,EAA8B0hC,iBACjEzqE,WAAYvgB,EAAK/uD,KAAKsvE,WACtBh4B,OAAM,UAAEyX,EAAK/uD,YAAP,iBAAE,EAAWq4G,eAAe,UAA5B,aAAE,EAA8B2hC,iCAZxC,2CAeP,IACHz8I,qBAAU,WACN,IAAI08I,EACA78I,EAAMk6C,SACN2iG,EAAY78I,EAAMkyE,WAAWniE,MAAK,qBAAGnS,KAAgBoC,EAAMk6C,WAE/D17C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELq8I,YAAaI,SAElB,CAAC78I,EAAMk6C,SAEV,IAmD4Bp/B,EAnDtB1M,EAAc,SAAC/F,GACjB,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KACrBzK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGjC0mF,EAAa,WACf,IAAQ3jB,EAAsBzhE,EAAtByhE,QAAS+6E,EAAax8I,EAAbw8I,SACbrvI,EAAS,GACTqrD,GAAU,EAcd,OAZKiJ,IACDt0D,EAAOs0D,QAAU,mBACjBjJ,GAAU,GAETgkF,IACDrvI,EAAOqvI,SAAW,wBAClBhkF,GAAU,GAEdh6D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+M,OAAQA,OAELqrD,GAGLj+B,EAAY,uCAAG,oCAAA95B,EAAA,0DACb2kF,IADa,uBAET12E,EAAW,CACX+yD,QAASzhE,EAAMyhE,QACf+6E,SAAUx8I,EAAMw8I,SAChBtiG,OAAM,UAAEl6C,EAAMy8I,mBAAR,aAAE,EAAmB7+I,GAC3BkrF,UAAS,UAAEvsF,EAAM2P,aAAR,iBAAE,EAAaC,cAAf,aAAE,EAAqBvO,IANvB,SAQGi6G,GAA0BnpG,GAR7B,QAQTzM,EARS,QASLoE,SACJyB,EAAiB,gCACjBsD,EAAQ8qG,UAERruG,EAAe5F,EAAIyG,SAbV,2CAAH,qDAiBZo0I,EAAkB,uCAAG,gCAAAr8I,EAAA,sEACPs3G,GAA6B,UAACx7G,EAAM2P,aAAP,iBAAC,EAAaC,cAAd,aAAC,EAAqBvO,IAD5C,QACnBqE,EADmB,QAEfoE,SACJyB,EAAiB,sCACjBsD,EAAQ8qG,UAERruG,EAAe5F,EAAIyG,SANA,2CAAH,qDAYlBq0I,EAAc,SAACz0I,GACjB,OAAO,yCAASiE,IAAW2oG,aAAa5sG,OAE5C,OACI,sBAAKpH,UAAU,SAAf,UACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG8B,UAAU,QAAtC,UACI,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAaoY,OAAQA,OAEzB,cAACzY,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACruB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIhC,MAAO,CAAEmhC,gBAAiB,UAAWr/B,QAAS,SAA3E,UACI,eAACH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,UAAiC,UAAAM,EAAMi7G,eAAe,UAArB,eAAyB1xE,YAAa,WAE3E,eAACrqC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAGzP,WAAS,EAACyV,QAAQ,aAA3C,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAAV,UACI,cAACqC,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,4BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,UAAiC,UAAAM,EAAMi7G,eAAe,UAArB,eAAyB+hC,gBAAiB,WAE/E,eAAC99I,EAAA,EAAD,CAAMI,MAAI,EAAV,UACI,cAACoB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoB,WACpB,cAAC,KAAD,CAAkBmU,KAAMmoI,KAAkB/nI,aAAa,eAAe+Y,cAAc,EAAMlwB,QAAS++I,UAG3G,eAAC59I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,sBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,UAAiC,UAAAM,EAAMi7G,eAAe,UAArB,eAAyBtqE,WAAY,WAE1E,eAACzxC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAACjN,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,0BACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiC6M,IAAWgqD,kBAAX,UAA6Bv2D,EAAMi7G,eAAe,UAAlD,aAA6B,EAAyBiiC,0BAKvG,eAACh+I,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,8BAGA,cAAC,IAAD,CAAYsnC,WAAYpG,EAAYnhC,YAAY,mBAAmBpQ,MAAOsB,EAAMyhE,QAASz4D,SAAUoF,EAAajI,KAAK,YACrH,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOs0D,aAExC,eAACviE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAAGrsB,UAAU,mBAA3C,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACoO,UAAQ,EAA3B,+BAGA,cAAC,IAAD,CACIgsC,WAAY,CAAEttB,WAAY,CAAE6oB,IAAI,GAAD,OAAK/pC,IAAW6jC,cAAX,UAAyBpwC,EAAMi7G,eAAe,UAA9C,aAAyB,EAAyBiiC,gBACtF7mG,WAAYpG,EACZnhC,YAAY,YACZpQ,MAAOsB,EAAMw8I,SACbxzI,SAAUoF,EACVjI,KAAK,aAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOqvI,cAExC,eAACt9I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG2e,GAAI,EAAGhwB,MAAO,CAAEyD,WAAY,GAAtD,UACI,cAACW,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,oBACA,cAAC,IAAD,CACI01C,WAAYpG,EACZvxC,MAAOsB,EAAMy8I,YACbzzI,UAlEQ8R,EAkEqB,cAlEd,SAACC,EAAIzS,GACpC9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAKxS,SAkEjB0S,QAAShb,EAAMkyE,YAAc,SAGnCjiC,GACE,eAAC/wC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoB,WACpB,cAAC,IAAD,CAAiB5C,QAASw8B,EAA1B,uBAIR,cAACr7B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEN,OAAO,uBAA0BiE,UAAU,gBAAvE,SACI,cAAC6yD,GAAA,EAAD,CACIroD,UAAW4rB,KACX/5B,MAAO,CACHP,SAAU,UAHlB,SAMI,cAACk3D,GAAA,EAAD,CAAO32D,MAAO,CAAEN,OAAQ,QAAxB,SACI,cAACk3D,GAAA,EAAD,UACKn0D,EAAM64G,aAAa/yG,KAAI,SAACgoB,EAAGmM,GACxB,IAAI2mB,EAAO,EACX,OACI,eAAC,IAAMs4D,SAAP,WASI,eAAC,GAAD,WACI,eAAC,GAAD,CAAiBvvG,MAAM,OAAOO,MAAM,MAApC,UACI,cAACvI,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,gCACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiCouB,EAAEwrF,mBAAqB,WAM5D,eAAC,GAAD,CAAiB3vG,MAAM,OAAOO,MAAM,KAApC,UACI,cAACvI,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,mBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiCouB,EAAE0rF,aAAe,WAEtD,eAAC,GAAD,CAAiBtvG,MAAM,MAAvB,UACI,cAACvI,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,kBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiCq9I,EAAYjvH,EAAE+tF,iBAEnD,eAAC,GAAD,CAAiB3xG,MAAM,KAAvB,UACI,cAACvI,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiCouB,EAAE4rF,gBAAkB,SAEzD,eAAC,GAAD,CAAiBxvG,MAAM,MAAvB,UACI,cAACvI,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,oBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiCq9I,EAAYjvH,EAAEqvH,YAEnD,eAAC,GAAD,CAAiBjzI,MAAM,MAAvB,UACI,cAACvI,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACA,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,UACKq9I,EAAYjvH,EAAEsvH,WADnB,IACgCtvH,EAAE4tF,iBADlC,WAIJ,eAAC,GAAD,CAAiBxxG,MAAM,MAAvB,UACI,cAACvI,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,mBACA,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiCq9I,EAAYjvH,EAAEqvH,MAAQrvH,EAAEsvH,mBAGhEtjC,gBAAK95G,EAAM84G,cAAc,SAACntF,GAAD,OAAOA,EAAE0xH,UAAYvvH,EAAEuvH,aAC7C,cAAC,IAAMnkC,SAAP,UASKl5G,EAAM84G,aAAahzG,KAAI,SAAC0kD,EAAGimB,GACxB,GAAIjmB,EAAE6yF,UAAYvvH,EAAEuvH,SAEhB,OADAz8F,IAEI,eAAC,GAAD,WACI,eAAC,GAAD,CAAiB12C,MAAM,MAAM3M,MAAO,CAAEswB,YAAa,IAAnD,UACa,GAAR+yB,GAAa,cAACj/C,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,0BACd,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,UACK8qD,EAAEyvD,YAAc,MACjB,uBAFJ,gBAEwBzvD,EAAE0vD,iBAAmB,YAGjD,eAAC,GAAD,CAAiBhwG,MAAM,MAAvB,UACa,GAAR02C,GAAa,cAACj/C,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,uBACd,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiC8qD,EAAE2vD,KAAO,QAAoB,OAElE,eAAC,GAAD,CAAiBjwG,MAAM,MAAvB,UACa,GAAR02C,GAAa,cAACj/C,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACd,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiCq9I,EAAYvyF,EAAE4vD,gBAEnD,eAAC,GAAD,CAAiBlwG,MAAM,MAAvB,UACa,GAAR02C,GAAa,cAACj/C,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,yBACd,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiC8qD,EAAE6vD,UAAY,SAEnD,eAAC,GAAD,CAAiBnwG,MAAM,MAAvB,UACa,GAAR02C,GAAa,cAACj/C,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,oBACd,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiCq9I,EAAYvyF,EAAE2yF,YAEnD,eAAC,GAAD,CAAiBjzI,MAAM,MAAvB,UACa,GAAR02C,GAAa,cAACj/C,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,wBACd,eAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,UACKq9I,EAAYvyF,EAAE8yF,UADnB,IAC+B9yF,EAAE+yF,gBADjC,WAIJ,eAAC,GAAD,CAAiBrzI,MAAM,MAAvB,UACa,GAAR02C,GAAa,cAACj/C,EAAA,EAAD,CAAgBhB,QAAM,EAAtB,mBACd,cAAC+I,GAAA,EAAD,CAAYhK,QAAQ,YAApB,SAAiCq9I,EAAYvyF,EAAE2yF,MAAQ3yF,EAAE8yF,4CCnSpHE,GAA0B,uCAAG,WAAO5/I,GAAP,eAAA6C,EAAA,sEACtB6B,aAAY,uBAAD,OAAwB1E,IADb,cAClCqE,EADkC,yBAE/BA,GAF+B,2CAAH,sDAK1Bw7I,GAA2B,uCAAG,WAAO76I,GAAP,eAAAnC,EAAA,sEACvBsB,aAAa,sBAAuBa,GADb,cACnCX,EADmC,yBAEhCA,GAFgC,2CAAH,sDCmWzBy7I,GAtWgB,SAACnhJ,GAC5B,MAA0BgC,mBAAS,CAC/Bq0F,sBAAuB,KACvB+qD,gCAAgC,EAChCC,+BAA+B,EAC/BC,kCAAkC,EAClCC,mCAAmC,EACnCC,oCAAoC,EACpCC,sCAAsC,EACtCC,kCAAkC,EAClCC,mCAAmC,EACnC/wI,OAAQ,KAVZ,mBAAOnN,EAAP,KAAcxB,EAAd,KAaA,EAA6CR,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B1H,oBAAS,sBAAC,8BAAAM,EAAA,0DACFlE,EAAM4hJ,WADJ,gCAEcX,GAA2BjhJ,EAAM4hJ,YAF/C,OAEEl8I,EAFF,OAGEW,EAAOX,EAAIW,KACXX,EAAIoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwyF,sBAAuBhwF,EAAKgwF,sBAC5BC,wBAAyBjwF,EAAKiwF,wBAC9BurD,4BAA6Bx7I,EAAKw7I,4BAClCC,4BAA6Bz7I,EAAKy7I,4BAClCC,wBAAyB17I,EAAK07I,wBAC9BC,4BAA6B37I,EAAK27I,4BAClCC,0BAA2B57I,EAAK47I,0BAChCC,+BAAgC77I,EAAK67I,+BACrCC,yBAA0B97I,EAAK87I,yBAC/BC,uBAAwB/7I,EAAK+7I,uBAC7BC,yBAA0Bh8I,EAAKg8I,yBAC/BC,2BAA4Bj8I,EAAKi8I,2BACjCC,+BAAgCl8I,EAAKk8I,+BACrCC,gCAAiCn8I,EAAKm8I,gCACtCC,+BAAgCp8I,EAAKo8I,+BACrCC,qCAAsCr8I,EAAKq8I,qCACrC7oI,KAAOxT,EAAKq8I,sCAAsC5oI,OAAO,cACzD,KACN6oI,mCAAoCt8I,EAAKs8I,mCACnC9oI,KAAOxT,EAAKs8I,oCAAoC7oI,OAAO,cACvD,KACNsnI,+BAAgC/6I,EAAK+6I,+BACrCC,8BAA+Bh7I,EAAKg7I,8BACpCC,iCAAkCj7I,EAAKi7I,iCACvCC,kCAAmCl7I,EAAKk7I,kCACxCC,mCAAoCn7I,EAAKm7I,mCACzCC,qCAAsCp7I,EAAKo7I,qCAC3CC,iCAAkCr7I,EAAKq7I,iCACvCC,kCAAmCt7I,EAAKs7I,uCAnC9C,2CAuCP,IAEH,IAAM9vI,EAAc,SAAC/F,GACjB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGjCszD,EAAgB,SAAC3pD,GACnB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdlR,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyBmG,EAAOuJ,QAGvCrB,EAAc,WAChB,IAAQwkF,EAAyI7yF,EAAzI6yF,wBAAyBurD,EAAgHp+I,EAAhHo+I,4BAA6BE,EAAmFt+I,EAAnFs+I,wBAAyBC,EAA0Dv+I,EAA1Du+I,4BAA6BK,EAA6B5+I,EAA7B4+I,yBAChHtwI,GAAc,EACdnB,EAAS,GA0Bb,OAzBK0lF,IACD1lF,EAAO0lF,wBAA0B,mBACjCvkF,GAAc,GAEb8vI,IACDjxI,EAAOixI,4BAA8B,sBACrC9vI,GAAc,GAEbgwI,IACDnxI,EAAOmxI,wBAA0B,mBACjChwI,GAAc,GAEbo/G,aAAiB6wB,KAClBpxI,EAAOoxI,4BAAP,4CACAjwI,GAAc,GAEbiwI,IACDpxI,EAAOoxI,4BAA8B,wBACrCjwI,GAAc,GAEb4b,aAAgB00H,KACjBzxI,EAAOyxI,yBAA2B,2BAClCtwI,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,GAGLG,EAAa,uCAAG,8BAAAhO,EAAA,0DACd4N,IADc,uBAER8wI,EAAe,CACjBvsD,sBAAuB5yF,EAAM4yF,sBAC7BC,wBAAyB7yF,EAAM6yF,wBAC/BurD,4BAA6Bp+I,EAAMo+I,4BACnCC,4BAA6Br+I,EAAMq+I,4BACnCC,wBAAyBt+I,EAAMs+I,wBAC/BC,4BAA6Bv+I,EAAMu+I,4BACnCC,0BAA2Bx+I,EAAMw+I,0BACjCC,+BAAgCz+I,EAAMy+I,+BACtCC,yBAA0B1+I,EAAM0+I,yBAChCC,uBAAwB3+I,EAAM2+I,uBAC9BC,yBAA0B5+I,EAAM4+I,yBAChCC,2BAA4B7+I,EAAM6+I,2BAClCC,+BAAgC9+I,EAAM8+I,+BACtCC,gCAAiC/+I,EAAM++I,gCACvCC,+BAAgCh/I,EAAMg/I,+BACtCC,qCAAsCj/I,EAAMi/I,qCAC5CC,mCAAoCl/I,EAAMk/I,mCAC1CvB,+BAAgC39I,EAAM29I,+BACtCC,8BAA+B59I,EAAM49I,8BACrCC,iCAAkC79I,EAAM69I,iCACxCC,kCAAmC99I,EAAM89I,kCACzCC,mCAAoC/9I,EAAM+9I,mCAC1CC,qCAAsCh+I,EAAMg+I,qCAC5CC,iCAAkCj+I,EAAMi+I,iCACxCC,kCAAmCl+I,EAAMk+I,mCA3B/B,SA6BET,GAA4B0B,GA7B9B,QA6BVl9I,EA7BU,QA8BNoE,SACJyB,EAAiB,2CACjBvL,EAAMO,SAAQ,IAEd+K,EAAe5F,EAAIyG,SAlCT,2CAAH,qDAwCnB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAW,MAAOvP,QAAS,EAA3C,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,OACXC,YAAY,gBACZpQ,MAAOsB,EAAM6yF,wBACb7pF,SAAUoF,EACVjI,KAAK,0BACLgH,OAAQnN,EAAMmN,OAAO0lF,4BAG7B,cAAC3zF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,WACXC,YAAY,WACZpQ,MAAOsB,EAAMo+I,4BACbp1I,SAAUoF,EACVjI,KAAK,8BACLgH,OAAQnN,EAAMmN,OAAOixI,gCAG7B,cAACl/I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,WACXC,YAAY,WACZpQ,MAAOsB,EAAMq+I,4BACbr1I,SAAUoF,EACVjI,KAAK,kCAIb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,OACXC,YAAY,gBACZpQ,MAAOsB,EAAMs+I,wBACbt1I,SAAUoF,EACVjI,KAAK,0BACLgH,OAAQnN,EAAMmN,OAAOmxI,4BAG7B,cAACp/I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,YACXC,YAAY,YACZpQ,MAAOsB,EAAMu+I,4BACbv1I,SAAUoF,EACVjI,KAAK,8BACLi5I,UAAW,EACXjyI,OAAQnN,EAAMmN,OAAOoxI,gCAG7B,cAACr/I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,SACXC,YAAY,SACZpQ,MAAOsB,EAAMw+I,0BACbx1I,SAAUoF,EACVjI,KAAK,gCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,eACXC,YAAY,eACZ9F,SAAUoF,EACV1P,MAAOsB,EAAMy+I,+BACbt4I,KAAK,qCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,eACXC,YAAY,eACZpQ,MAAOsB,EAAM0+I,yBACb11I,SAAUoF,EACVjI,KAAK,+BAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAaC,WAAW,MAAMC,YAAY,MAAMpQ,MAAOsB,EAAM2+I,uBAAwB31I,SAAUoF,EAAajI,KAAK,6BAErH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,QACXC,YAAY,QACZpQ,MAAOsB,EAAM4+I,yBACb51I,SAAUoF,EACVjI,KAAK,2BACLgH,OAAQnN,EAAMmN,OAAOyxI,6BAG7B,cAAC1/I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,UACXC,YAAY,UACZpQ,MAAOsB,EAAM6+I,2BACb71I,SAAUoF,EACVjI,KAAK,iCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,eACXC,YAAY,eACZpQ,MAAOsB,EAAM8+I,+BACb91I,SAAUoF,EACVjI,KAAK,qCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,eACXC,YAAY,eACZpQ,MAAOsB,EAAMg/I,+BACbh2I,SAAUoF,EACVjI,KAAK,qCAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CACImO,YAAY,aACZpQ,MAAOsB,EAAMi/I,qCACbj2I,SAAUoF,EACVjI,KAAK,4CAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CACImO,YAAY,WACZisC,WAAY,CAAEttB,WAAY,CAAE6oB,IAAI,GAAD,OAAKt2C,EAAMi/I,wCAC1CvgJ,MAAOsB,EAAMk/I,mCACbl2I,SAAUoF,EACVjI,KAAK,0CAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,gBACXC,YAAY,gBACZpQ,MAAOsB,EAAM++I,gCACb/1I,SAAUoF,EACVjI,KAAK,sCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACsP,GAAI,KACf,cAAC1P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAmBzI,KAAK,iCAAiCuJ,QAAS1P,EAAM29I,+BAAgC30I,SAAUgpD,EAAejpD,MAAM,WAE3I,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CAAmBzI,KAAK,gCAAgCuJ,QAAS1P,EAAM49I,8BAA+B50I,SAAUgpD,EAAejpD,MAAM,UAEzI,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIzI,KAAK,mCACLuJ,QAAS1P,EAAM69I,iCACf70I,SAAUgpD,EACVjpD,MAAM,aAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIzI,KAAK,oCACLuJ,QAAS1P,EAAM89I,kCACf90I,SAAUgpD,EACVjpD,MAAM,cAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIzI,KAAK,qCACLuJ,QAAS1P,EAAM+9I,mCACf/0I,SAAUgpD,EACVjpD,MAAM,eAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIzI,KAAK,uCACLuJ,QAAS1P,EAAMg+I,qCACfh1I,SAAUgpD,EACVjpD,MAAM,kBAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIzI,KAAK,mCACLuJ,QAAS1P,EAAMi+I,iCACfj1I,SAAUgpD,EACVjpD,MAAM,aAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIzI,KAAK,oCACLuJ,QAAS1P,EAAMk+I,kCACfl1I,SAAUgpD,EACVjpD,MAAM,cACNiC,UAAUzO,EAAM4hJ,eAIxB,qCACI,cAACj/I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAA1B,SAA0ClS,EAAM4hJ,WAAa,OAAS,UAE1E,cAACj/I,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiB+sB,cAAc,EAAMvuB,QAAQ,YAAYD,MAAM,YAAY1B,QAASxB,EAAMO,QAA1F,6BChWd6a,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,QAAS0R,QAAQ,GACzB,CAAE1R,KAAM,wBAAyByR,KAAM,IAAKC,QAAQ,IAelDwX,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,0BAA2BxE,KAAM,QAExC,CAAEwE,IAAK,2BAA4BxE,KAAM,QAAS+D,MAAO,OACzD,CAAES,IAAK,iCAAkCxE,KAAM,eAAgB+D,MAAO,OACtE,CACIS,IAAK,kCACLxE,KAAM,gBACNqR,eAAgBjL,IAAWm5D,sBAC3Bx0D,UAAW3E,IAAWkkI,oBACtBvmI,MAAO,MAEX,CAAES,IAAK,uCAAwCxE,KAAM,aAAc+K,UAAW3E,IAAWE,cAAevC,MAAO,MAC/G,CAAES,IAAK,qCAAsCxE,KAAM,WAAY+K,UAAW3E,IAAWE,cAAevC,MAAO,MAC3G,CACIS,IAAK,UACLxE,KAAM,UASN+D,MAAO,QAoGAm1I,GAhGa,WACxB,MAA0B9gJ,mBAAS,CAC/BwZ,aAAa,EACbunI,aAAc,GACdv3I,YAAY,IAHhB,mBAAO/H,EAAP,KAAcxB,EAAd,KAMMoxB,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAY9B,aAAa,gBAAgBnX,QAAS,kBAAMwhJ,EAAetuI,EAAI2hF,6BAKvFzyF,oBAAS,sBAAC,sBAAAM,EAAA,sDACN++I,IADM,2CAEP,IAEH,IAAMA,EAAQ,uCAAG,sBAAA/+I,EAAA,sDASbjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAXL,2CAAH,qDAcR8uI,EAAiB,SAACpzI,GACpB3N,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,EACbomI,WAAYhyI,QAWd2D,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAGH,OACI,sBAAKnX,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,GAAQmW,EAAG,IAC/B9tB,EAAM+X,YACH,qCACI,uBACA,cAAC,GAAD,CAAwBomI,WAAYn+I,EAAMm+I,WAAYrhJ,QAvB3C,WACvB0B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,OAEjBynI,UAkCQ,cAAC,GAAD,CACI7rI,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OA7BN,sBA8BMmC,SA/BK,eAgCLG,WAAY,kBAAMuqI,EAAe,OACjC9sI,SAAUzS,EAAMyS,eChIhCvN,GAAaoG,OAAOC,SAAS0I,KAC3B66C,GAAa5pD,GAAWgP,SAAS,aAAe,YAAchP,GAqKrDu6I,GAnKW,SAACljJ,GAAW,IAAD,IACjC,EAAmCA,EAAM2P,MAAMC,OAAvCuzI,EAAR,EAAQA,YAAaz2G,EAArB,EAAqBA,UAErB,EAA0B1qC,oBAAQ,GAC9BsE,SAAU,KACVI,cAAe,KACfY,WAAY,GACZE,YAAa,KACbR,kBAAmB,GACnBU,gBAAiB,GACjBgB,4BAA4B,EAC5BU,iBAAiB,EACjBD,aAAc,EACdF,kBAAmB,EACnBgpD,eAAgB,KAChBrqD,iBAAiB,EACjBE,WAAW,EACXE,cAAe,EACfE,oBAAoB,EACpBI,WAAW,EACXO,eAAe,EACfuoD,eAAe,GAlBe,+BAmBf,GAnBe,mCAoBX,GApBW,8BAqBhB,GArBgB,qCAsBR,IAtBQ,2BAuBlB,IAvBkB,mCAwBV,IAxBU,uBAyBtB,IAzBsB,yBA0BrB,GA1BqB,yBA2BpB,GA3BoB,yBA4BrB,GA5BqB,8BA6Bf,IA7Be,0BA8BnB,IA9BmB,0BA+BpB,GA/BoB,IAAlC,mBAAO3tD,EAAP,KAAcxB,EAAd,KAmCMkuD,EAAkB,uCAAG,gCAAAjsD,EAAA,sEACPgC,GAAyBi9I,GADlB,OACnBz9I,EADmB,OAEnBW,EAAOX,EAAIW,KAAK2G,QAAQ,GAExB0lD,EAA0BhtD,EAAIW,KAAKqsD,wBAEnCzwD,EADAoE,EACS,SAACxC,GAAD,yBAAC,eACHA,GADE,OAELyC,SAAQ,OAAED,QAAF,IAAEA,OAAF,EAAEA,EAAMC,SAChBE,UAAS,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAME,gBACjBG,cAAa,OAAEL,QAAF,IAAEA,OAAF,EAAEA,EAAMI,eACrBG,QAAO,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAMM,cACfsrD,eAAc,OAAE5rD,QAAF,IAAEA,OAAF,EAAEA,EAAMQ,uBACtBG,kBAAiB,OAAEX,QAAF,IAAEA,OAAF,EAAEA,EAAMU,eACzBG,cAAa,OAAEb,QAAF,IAAEA,OAAF,EAAEA,EAAMY,oBACrBG,WAAU,OAAEf,QAAF,IAAEA,OAAF,EAAEA,EAAMc,kBAClBG,WAAU,OAAEjB,QAAF,IAAEA,OAAF,EAAEA,EAAMgB,iBAClBG,YAAW,OAAEnB,QAAF,IAAEA,OAAF,EAAEA,EAAMkB,sBACnBG,gBAAe,OAAErB,QAAF,IAAEA,OAAF,EAAEA,EAAMoB,kBACvBG,gBAAe,OAAEvB,QAAF,IAAEA,OAAF,EAAEA,EAAMsB,sBACvBypD,cAAa,OAAE/qD,QAAF,IAAEA,OAAF,EAAEA,EAAMwB,oBACrB8qD,SAAQ,OAAEtsD,QAAF,IAAEA,OAAF,EAAEA,EAAMyB,UAChBE,cAAa,OAAE3B,QAAF,IAAEA,OAAF,EAAEA,EAAM0B,oBACrBG,mBAAkB,OAAE7B,QAAF,IAAEA,OAAF,EAAEA,EAAM4B,yBAC1BG,kBAAiB,OAAE/B,QAAF,IAAEA,OAAF,EAAEA,EAAM8B,yBACzBG,UAAS,OAAEjC,QAAF,IAAEA,OAAF,EAAEA,EAAMgC,qBACjBG,OAAM,OAAEnC,QAAF,IAAEA,OAAF,EAAEA,EAAMkC,yBACdG,2BAA0B,OAAErC,QAAF,IAAEA,OAAF,EAAEA,EAAMoC,yBAClCE,WAAU,OAAEtC,QAAF,IAAEA,OAAF,EAAEA,EAAMsC,WAClBE,cAAa,OAAExC,QAAF,IAAEA,OAAF,EAAEA,EAAMuC,oBACrBgqD,SAAQ,OAAEvsD,QAAF,IAAEA,OAAF,EAAEA,EAAMyC,wBAChBG,kBAAiB,OAAE5C,QAAF,IAAEA,OAAF,EAAEA,EAAM2C,wBACzBG,aAAY,OAAE9C,QAAF,IAAEA,OAAF,EAAEA,EAAM6C,mBACpB2pD,UAAS,OAAExsD,QAAF,IAAEA,OAAF,EAAEA,EAAM+C,gBACjB6nD,sBAAqB,OAAE5qD,QAAF,IAAEA,OAAF,EAAEA,EAAM4qD,sBAC7BhS,oBAAmB,OAAE54C,QAAF,IAAEA,OAAF,EAAEA,EAAM44C,oBAC3BkS,mBAAkB,OAAE9qD,QAAF,IAAEA,OAAF,EAAEA,EAAM4rD,eAC1BZ,2BAA0B,OAAEhrD,QAAF,IAAEA,OAAF,EAAEA,EAAMgrD,2BAClCW,gBAAe,OAAE3rD,QAAF,IAAEA,OAAF,EAAEA,EAAM2rD,gBACvB5d,SAAQ,OAAE/tC,QAAF,IAAEA,OAAF,EAAEA,EAAM+tC,UAjCX,sCAkCW/tC,QAlCX,IAkCWA,OAlCX,EAkCWA,EAAM4rD,gBAlCjB,4BAmCC5rD,QAnCD,IAmCCA,OAnCD,EAmCCA,EAAMqyC,MAnCP,6BAoCEryC,QApCF,IAoCEA,OApCF,EAoCEA,EAAM4H,OApCR,oCAqCS5H,QArCT,IAqCSA,OArCT,EAqCSA,EAAMyvC,cArCf,2BAsCOzvC,EAAKge,YAtCZ,4BAuCQhe,EAAK6rD,aAvCb,uCAwCmB7rD,EAAKQ,wBAxCxB,mCA0Ce6rD,GA1Cf,kCA2Cc1iD,IAAWouC,kBAAX,OAA6B/3C,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAMysD,oBA3CjD,yCA4CqB9iD,IAAWouC,kBAAX,OAA6B/3C,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAM0sD,2BA5CxD,2CA6CuB/iD,IAAWouC,kBAAX,OAA6B/3C,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAMu3C,6BA7C1D,mCA8Ce5tC,IAAWouC,kBAAX,OAA6B/3C,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAM2sD,qBA9ClD,kCA+CchjD,IAAWouC,kBAAX,OAA6B/3C,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAM4sD,oBA/CjD,iCAgDM5sD,QAhDN,IAgDMA,OAhDN,EAgDMA,EAAM0N,WAhDZ,0BAiDM,IAAIG,MAjDV,0BAkDK,GAlDL,KAqDA,SAACrQ,GAAD,mBAAC,eACHA,GADE,IAEL+nB,UAAU,EACVw3H,aAAa,MA9DE,2CAAH,qDA6FxB,OA1BAx/I,oBAAS,sBAAC,8BAAAM,EAAA,yDACFi/I,GACAhzF,KAEAzjB,EAJE,gCAKc5mC,GAA6B4mC,GAAa1sC,EAAM0sC,WAL9D,OAKEhnC,EALF,OAMFzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvD,qBAAsBxtD,EAAIW,KAAK8sD,iBAC/BpqD,cAAerD,EAAIW,KAAK8sD,iBAAiB,GACzC73B,WAAY51B,EAAIW,KAAKswC,OACrBnwC,UAAWxG,EAAM0sC,WAAaA,EAC9B/jC,WAAY4pD,QAZd,wCAecvsD,KAfd,QAeEN,EAfF,OAgBFzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvD,qBAAsBxtD,EAAIW,KAAK8sD,iBAC/BpqD,cAAerD,EAAIW,KAAK8sD,iBAAiB,GACzC73B,WAAY51B,EAAIW,KAAKswC,OACrBhuC,WAAY4pD,QArBd,4CAwBP,IAGC,qBAAK5tD,UAAU,oBAAoB3D,MAAO,CAAEyD,UAAW,GAAI3B,QAAS,IAApE,SAIKW,EAAMmoB,SACH,cAAC,GAAD,IAEA,qCACI,cAAC,GAAD,CACIvlB,KAAM5C,EACNytD,gBAAiBlxD,EAAMkxD,gBACvBf,mBAAoBA,EACpB5vD,QAAS,kBAAMP,EAAMO,aAEzB,eAACoC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,oBACKY,EAAMiwD,0BADX,aACK,EAA0BnqD,KAAI,SAACrF,EAAGogD,GAAJ,OAC3B,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC8/C,GAAD,CAAoBz8C,KAAMnC,EAAGi5C,SAAU15C,EAAOohD,gBAAiBsL,EAAoB/S,UAAU,KADzEkH,MAK5B,cAAC3hD,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,cAAC,GAAD,CAAsByD,KAAM5C,EAAOlD,QAASP,EAAMO,QAAS4vD,mBAAoBA,e,wICpF5FkzF,I,QArEU,WACrB,MAA0BrhJ,mBAAS,CAC/BohC,SAAU,GACVC,UAAW,KAFf,mBAAO5/B,EAAP,KAAcxB,EAAd,KAcA,OATA2B,oBAAS,sBAAC,8BAAAM,EAAA,sEACUo/I,eADV,OACF59I,EADE,OAEA2hC,EAAQ3hC,EAAIW,KAAKihC,UACvBrlC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELw/B,UAAWgE,OALT,2CAOP,IAGC,qBAAK1iC,UAAU,qBAAf,SACI,cAAC0H,GAAA,EAAD,CAAW1H,UAAU,WAAWnE,SAAS,KAAzC,SACI,cAACmC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,SACKY,EAAM4/B,UAAU95B,KAAI,SAACgkG,EAAQjpD,GAAT,OACjB,cAAC3hD,EAAA,EAAD,CAAMI,MAAI,EAAiBC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlE,SACI,eAAC,IAAD,CACI3D,MAAO,CAAE07D,eAAgB,QACzBx5D,MAAM,UACNu5D,GACmB,MAAf8wC,EAAOhT,KACD,iCACe,MAAfgT,EAAOhT,KACP,iCACe,MAAfgT,EAAOhT,MAA+B,MAAfgT,EAAOhT,KAC9B,IADA,wBAEiBgT,EAAOhT,MAVtC,UAaqB,sBAAhBgT,EAAOntG,MACJ,cAAC,KAAD,CAAsBuE,UAAU,eAChB,oBAAhB4oG,EAAOntG,MACP,cAAC,KAAD,CAAkBuE,UAAU,kBACZ,sBAAhB4oG,EAAOntG,MACP,cAAC,KAAD,CAA0BuE,UAAU,kBACpB,kBAAhB4oG,EAAOntG,MACP,cAAC,KAAD,CAAkBuE,UAAU,eACZ,uBAAhB4oG,EAAOntG,MACP,cAAC,KAAD,CAAoBuE,UAAU,qBACd,aAAhB4oG,EAAOntG,MACP,cAAC,KAAD,CAAiBuE,UAAU,kBACX,gBAAhB4oG,EAAOntG,MACP,cAAC,KAAD,CAAgBuE,UAAU,qBACV,oBAAhB4oG,EAAOntG,MACP,cAAC,KAAD,CAAqBuE,UAAU,kBACf,WAAhB4oG,EAAOntG,MACP,cAAC,KAAD,CAAoBuE,UAAU,qBACd,UAAhB4oG,EAAOntG,MACP,cAAC,KAAD,CAAiBuE,UAAU,qBAC3B,KACJ,cAAC28B,GAAA,EAAD,CAAM38B,UAAS,WAAM2/C,GAArB,SACI,eAAC2tC,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,eAAtB,SAAsC4oG,EAAOg2C,MAC7C,cAACp2I,GAAA,EAAD,CAAYgC,UAAU,KAAtB,SAA4Bo+F,EAAOntG,iBAtCnCmtG,EAAOlsG,eC9BzC+Z,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,UAAWyR,KAAM,IAAKC,QAAQ,IAGpCwX,GAAc,CAChB,CACI1kB,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,MAEX,CAAES,IAAK,wBAAyBxE,KAAM,YAAa+D,MAAO,MAC1D,CAAES,IAAK,oBAAqBxE,KAAM,kBAClC,CAAEwE,IAAK,oBAAqBxE,KAAM,cAAe+D,MAAO,MACxD,CAAES,IAAK,6BAA8BxE,KAAM,SAAU+D,MAAO,QA4DjD61I,GAzDW,SAACxjJ,GACvB,MAA0BgC,mBAAS,CAAEwZ,aAAa,EAAOlV,SAAU,KAAMmM,KAAM,GAAIjH,YAAY,EAAM4xC,SAAU,YAA/G,mBAAO35C,EAAP,KAAcxB,EAAd,KAEA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACiB,aAAnBlE,EAAMimD,UACNhkD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELu5C,SAAUp9C,EAAMimD,cAGxBwjB,IAPM,2CAQP,IAEH,IAAMA,EAAW,uCAAG,8BAAAvlE,EAAA,0DACZlE,EAAM0sC,UADM,gCAEKqnB,GAAqB/zD,EAAM0sC,WAFhC,OAER2zB,EAFQ,OAGZp+D,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL4O,KAAK,aAAK4tD,EAAKh6D,KAAK4V,MACpBzQ,YAAY,OANJ,uCASIsoD,KATJ,OASRpuD,EATQ,OAUZzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL4O,KAAK,aAAK/M,EAAIW,KAAK4V,MACnBzQ,YAAY,OAbJ,4CAAH,qDAkBX+H,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IAKrB,OAHK9yB,EAAM0sC,WACP5wB,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,OAExEmO,IACR,IAEH,OACI,sBAAKnX,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,KACrB,cAAC,KAAD,CACI7H,QAASA,EACT5O,UAAU,gBACV+c,KAAMje,EAAMgP,KACZuQ,cAAc,EACdC,YAAaxf,EAAM+H,WACnBuX,cAAc,EACdG,UAAQ,EACRC,OAAQ,UClElB2P,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIiH,qBAAqB,GACjE,CACIxG,IAAK,aACLxE,KAAM,OACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,IAEX,CAAES,IAAK,iBAAkBxE,KAAM,WAAY+D,MAAO,KAClD,CAAES,IAAK,oBAAqBxE,KAAM,cAAe+D,MAAO,KACxD,CAAES,IAAK,sBAAuBxE,KAAM,iBAAkB+D,MAAO,KAC7D,CAAES,IAAK,6BAA8BxE,KAAM,SAAU+D,MAAO,KAC5D,CAAES,IAAK,iBAAkBxE,KAAM,OAAQ+D,MAAO,KAG9C81I,GAAW,CACX,OAAQ,iBACRC,OAAQ,mBACRC,OAAQ,sBAuJGC,GApJe,SAAC5jJ,GAAW,IAAD,IACjC6O,EAAU8b,eACVkG,EAAkB9sB,IAAW+sB,gBAC3B1V,EAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,aAAc0R,QAAQ,GAC9B,CAAE1R,KAAM65I,GAAQ,OAACzjJ,QAAD,IAACA,GAAD,UAACA,EAAO2P,aAAR,iBAAC,EAAcC,cAAf,aAAC,EAAsB46D,KAAMlvD,QAAQ,IAEzD,EAA0BtZ,mBAAS,CAC/BooE,cAAe,GACf9pD,QAAQ,EACR9E,aAAa,EACb6uD,QAAS,KACTf,aAAc,OALlB,mBAAO7lE,EAAP,KAAcxB,EAAd,KAyBA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNomE,IADM,2CAEP,CAACtqE,EAAM2P,QAEV,IAAM26D,EAA2B,uCAAG,wCAAApmE,EAAA,sDAC5BqmE,EAAiB,GACjBvqE,EAAM0sC,YACN69B,EAAiB,IAEY,WAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,MAEY,WAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,MAEY,SAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,IAGrBtoE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,KACdq2D,eAAgBA,OAlBY,2CAAH,qDAsB7BN,EAAe,6BAAyBjqE,EAAM0sC,UAAN,oBAA+B1sC,EAAM0sC,WAAc,GAA5E,0BAAgGjpC,EAAM8mE,gBAgBnHl3C,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,eAAC/R,EAAA,EAAD,CAAMI,MAAI,EAAV,UACI,cAAC,KAAD,CACIwV,KAAMmsB,KACNxhC,MAAM,YACNyB,UAAU,6BAEVnD,QAAS,kBAfIuK,EAesB2I,OAd/C7F,EAAQC,KAAK,CACTwkB,SAAS,gCAAD,cAAkCvnB,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAKzF,SAAvC,mBAAmDyF,QAAnD,IAAmDA,OAAnD,EAAmDA,EAAKxF,iBAChE9C,MAAO,SAHa,IAACsI,GAgBb4M,aAAa,oBAID,OAAfkY,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,KAAD,CACIzsC,KAAM0sC,KACN/hD,MAAM,YACNyB,UAAU,6BACVgU,aAAa,cACbnX,QAAS,kBAjCJuK,EAiC0B2I,OAhC/C7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKg+F,YAAnC,mBAAkDh+F,QAAlD,IAAkDA,OAAlD,EAAkDA,EAAKxF,iBAC/D9C,MAAO,cAHS,IAACsI,SAwCnBwH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAQnD,OAPIgH,IACAA,EAAUT,UAAY0e,GAErBrzB,EAAM0sC,WACP5wB,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,OAGxEmO,IACR,IACG+sD,EAAgB7oE,EAAM0sC,UAAiB,gBAAL,GAExC,OACI,sBAAK/nC,UAAY3E,EAAMimD,SAAsB,GAA7B,SAAhB,UACwB,aAAnBjmD,EAAMimD,SAA0B,cAAC,IAAD,CAAa7qC,OAAQA,EAAQyoI,SAAS,yBAAyBtyH,EAAG,IAAQ,KAC1G9tB,EAAM+X,YACH,qCACI,uBACA,cAAC,GAAD,CACIkxB,UAAW1sC,EAAM0sC,WAAajpC,EAAM6lE,aACpC/oE,QAAS,kBAlGTmF,GAkG0B,EAjG1CzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,YAEjB9V,GAAO4kE,KALQ,IAAC5kE,GAmGA+sD,YAAahvD,EAAM4mE,QACnBnZ,iBAAiB,EACjBV,UAAW/sD,EAAM+sD,eAIzB,cAAC,GAAD,CACIp5C,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT2B,YAAY,WACZjB,uBAAuB,kBACvBkC,OAAQ8zD,EACR3xD,SAAUuwD,EACVpwD,WAAY,kBA5HH7I,EA4HyB,KA5HjB88B,EA4HuB,KA5HZ8jB,EA4HkB,WA3H1DvuD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,EACb6uD,QAASz6D,EACT05D,aAAc58B,EACd8jB,UAAWA,OANK,IAAC5gD,EAAQ88B,EAAW8jB,GA6H5Bt6C,SAAUzS,EAAMyS,eCvKvB4tI,GAA8B,uCAAG,WAAOz9I,GAAP,eAAAnC,EAAA,sEAC1BsB,aAAa,kDAAmDa,GADtC,cACtCX,EADsC,yBAEnCA,GAFmC,2CAAH,sDCQvCiD,GAAaoG,OAAOC,SAAS0I,KAsMlBqsI,IArMEp7I,GAAWgP,SAAS,aACM,SAAC3X,GACxC,MAA0BgC,mBAAS,CAC/BsqE,oBAAqB,GACrB5T,gBAAiB,GACjB7rC,kBAAmB,GACnB4rC,WAAY,KACZ8T,iBAAkB,GAClBQ,wBAAyB,GACzBy3D,QAAS,GACT1rE,SAAU,KARd,mBAAOr1D,EAAP,KAAcxB,EAAd,KAUA,EAAoDD,mBAAS,CACzDqpE,6BAA8B,MAC9BC,iCAAkC,MAClCF,qBAAsB,MACtBU,+BAAgC,KAChCU,6BAA8B,MAC9BT,sBAAuB,MACvBF,qBAAsB,QAP1B,mBAAOY,EAAP,KAA2BC,EAA3B,KASA,EAA4B1qE,mBAAS,IAArC,mBAAO4O,EAAP,KAAesoD,EAAf,KACA,EAA6Cz3D,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBqhE,EAAa,SAACxqE,GAEhB,OADoBA,EAAQ0X,KAAO1X,EAAO,YAAY2X,OAAO,WAAa,OAIxE8yD,EAAsB,uCAAG,8BAAA1oE,EAAA,sEACXg3C,GAA8Bl7C,EAAMq5D,YADzB,OACvB3zD,EADuB,OAEvBkmE,EAAclmE,EAAIW,KACtBqmE,GAAsB,SAAC7oE,GAAD,mBAAC,eAChBA,GADe,IAElBgoE,qBAAsBc,EAAWf,EAAYC,sBAC7CC,+BAAgCF,EAAYE,gCAAkC,KAC9EC,sBAAuBY,EAAWf,EAAYG,uBAC9CX,qBAAsBQ,EAAYR,qBAAuB,MAA6C,OAArCQ,EAAYR,qBAAgC,MAAQ,KACrHC,6BAA8BO,EAAYP,6BACpCxxD,KAAO+xD,EAAYP,8BAA8BvxD,OAAO,cACxD,MACNwxD,iCAAkCqB,EAAWf,EAAYN,uCAZlC,2CAAH,qDAgBtBI,EAAe,uCAAG,gCAAAxnE,EAAA,sEACC22C,KADD,cAChB8wB,EADgB,OAEpB1pE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELi1D,SAAU6S,EAAStlE,UAJH,SAMJ20C,GAA8Bh7C,EAAMq5D,YANhC,OAMhB3zD,EANgB,OAOhBkmE,EAAclmE,EAAIW,KACtBpE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2C,UAAWolE,EAAYplE,WAAa,KACpC8lE,oBAAqBV,EAAYU,qBAAuB,GACxD5T,gBAAiB7+C,KAAO+xD,EAAYlT,iBAAiB5+C,OAAO,eAAiB,GAC7E+S,kBAAmB++C,EAAY/+C,kBAC/B4rC,WAAYmT,EAAYnT,WACxB8T,iBAAkBX,EAAYW,kBAAoB,GAClDQ,wBAAyBnB,EAAYmB,yBAA2B,QAhBhD,2CAAH,qDAmBrBnpE,qBAAU,WACN8nE,IACAkB,MACD,IACHhpE,qBAAU,WAAO,IAAD,EACRipE,EAAQ,UAAGppE,EAAMq1D,SAASsT,6BAAlB,aAAG,EAAsCluC,QAAO,SAACvR,GAAD,OAAOA,EAAEtrB,IAAMorE,EAAmBX,kCAAgCviE,KAAI,SAACujE,GAAD,OAAOA,EAAEljE,QAAM,GACjJ8iE,GAAsB,SAAC7oE,GAAD,mBAAC,eAChBA,GADe,IAElB2oE,6BAA8BK,GAAY,aAE/C,CAACppE,EAAMq1D,SAAU2T,EAAmBX,iCAEvC,IAAMxS,EAAW,SAAC0qF,GACd,IAAIzqF,GAAW,EACXC,EAAM,GAMV,OALKwqF,GAAc,QAAQ/xI,KAAKxO,EAAM+gI,WAClChrE,EAAIgrE,SAAU,EACdjrE,GAAW,GAEfL,EAAUM,GACHD,GAULt1D,EAAU,uCAAG,WAAO+/I,GAAP,eAAA9/I,EAAA,0DACXo1D,EAAS0qF,GADE,gCAEUF,GAA+B,CAChDtf,QAAS/gI,EAAM+gI,QACfyf,uBAAwBD,EACxBvrF,WAAYh1D,EAAMg1D,aALX,QAEPthD,EAFO,QASPA,EAASrN,QAAUyB,EAAiB,yCAA2CD,EAAe6L,EAAShL,SAAW,wBAElHb,EAAe,wBAEnBtL,EAAMO,SAAQ,GAbH,2CAAH,sDAsChB,OACI,gCACI,eAACoC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,oBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMopB,uBAEvB,eAAClqB,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,uBACA,cAAC+H,GAAA,EAAD,UAAa1J,EAAMi1D,iBAAmB,wBAE1C,eAAC/1D,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIhC,MAAO,CAAE8B,QAAS,GAA/C,UACI,eAACH,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,qCACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBpB,kCAEpC,eAAC1oE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,0CACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBnB,sCAEpC,eAAC3oE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,gCACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBrB,0BAEpC,eAACzoE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,sCACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBD,kCAEpC,eAAC7pE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,6BACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBV,2BAEpC,eAACppE,EAAA,EAAD,CAAMK,GAAI,EAAGqP,GAAI,EAAGtP,MAAI,EAAC4B,UAAU,OAAnC,UACI,cAACS,EAAA,EAAD,4BACA,cAAC+H,GAAA,EAAD,UAAas/D,EAAmBZ,gCAI5C,uBACA,eAAClpE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,UACI,cAAC,IAAD,CACIwtB,WAAS,EACTzQ,KAAM,EACNpP,WAAW,UACXC,YAAY,UACZpQ,MAAOsB,EAAM+gI,QACb/3H,SArEC,SAAC+R,GAClB,IAAI6lC,EAAO7lC,EAAGxS,OACd/J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJwgD,EAAKz6C,KAAOy6C,EAAKliD,WAEtB+2D,EAAU,KAgEMtvD,KAAK,YAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBuL,EAAO4zH,QAAU,yBAA2B,UAEvE,cAAC7hI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS,kBAAMyC,EAAW,IAA3C,sBAEJ,cAACtB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS,kBAAMyC,EAAW,IAA3C,sBAEJ,cAACtB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASxB,EAAMO,QAAhC,8BC9Ld6a,GAAS,CAAC,CAAExR,KAAM,OAAQyR,KAAM,KAAO,CAAEzR,KAAM,YAAc,CAAEA,KAAM,mBAAoByR,KAAM,IAAKC,QAAQ,IAE5GwX,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CAAExG,IAAK,+BAAgCxE,KAAM,YAAa+K,UAAW3E,IAAWE,eAChF,CAAE9B,IAAK,kBAAmBxE,KAAM,MAAO+K,UAAW3E,IAAWE,eAC7D,CAAE9B,IAAK,mCAAoCxE,KAAM,aACjD,CAAEwE,IAAK,oBAAqBxE,KAAM,SAClC,CAAEwE,IAAK,uBAAwBxE,KAAM,iBACrC,CAAEwE,IAAK,wBAAyBxE,KAAM,kBACtC,CAAEwE,IAAK,uBAAwBxE,KAAM,iBACrC,CAAEwE,IAAK,mBAAoBxE,KAAM,cACjC,CAAEwE,IAAK,sBAAuBxE,KAAM,YACpC,CAAEwE,IAAK,YAAaxE,KAAM,UA+Gfs6I,GA5GS,SAAClkJ,GACrB,MAA0BgC,mBAAS,CAAEwZ,aAAa,EAAO8tD,aAAc,KAAMhjE,SAAU,KAAMmM,KAAM,GAAIjH,YAAY,EAAM0K,SAAU,OAAnI,mBAAOzS,EAAP,KAAcxB,EAAd,KACA,EAAoCD,mBAAS,IAA7C,mBAAOk6E,EAAP,KAAmBC,EAAnB,KACItrD,EAAkB9sB,IAAW+sB,gBAEjCltB,oBAAS,sBAAC,sBAAAM,EAAA,sDACNigJ,IADM,2CAEP,IAEH,IAAMA,EAAsB,uCAAG,sBAAAjgJ,EAAA,sDAC3BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHS,2CAAH,qDAOtB4oE,EAAc,SAACt+D,EAAIhS,GACrB2vE,EAAc,eAAG3vE,GAAQ,IACzBvK,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8vB,gBAAiBnV,EACjB49D,kBAAmB59D,EAAG49D,wBAIxBuC,EAAiB,SAACj5E,GACpBy2E,EAAc,IACdz2E,GAAOy+I,KAGLxoI,EAAa,SAACtV,EAAMqO,GACtB,OACI,sBAAK1T,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,UAC2B,OAAnB,OAAH5d,QAAG,IAAHA,OAAA,EAAAA,EAAK8oE,eACF,cAAC,KAAD,CACIjlE,KAAMy4E,KACN9tF,MAAM,UACNyB,UAAU,oBACVnD,QAAS,WACLs7E,EAAYpoE,EAAK,UAErBiE,aAAa,UAGW,OAA5B,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKgpE,wBACF,cAAC,KAAD,CACInlE,KAAM04E,KACNtsF,UAAU,oBACVzB,MAAM,UACN1B,QAAS,WACLs7E,EAAYpoE,EAAK,YAErBiE,aAAa,wBAO3BpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAEC3F,EAAM,kDAA8C,GAExD,OACI,sBAAKxR,UAAY3E,EAAM0sC,UAAuB,GAA9B,SAAkC1rC,MAAO,CAAEyD,UAAW,GAAtE,WACMzE,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,KAEzC3X,EAAM+X,YACH,8CAEA,cAAC,GAAD,CACIpE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQA,EACRD,SAAUzS,EAAMyS,SAChBhB,YAAW,WAAoB,OAAf2b,QAAe,IAAfA,OAAA,EAAAA,EAAiB+oG,4BAA6B,aAAe,MAC7E3lH,uBAAsB,WAAoB,OAAf4c,QAAe,IAAfA,OAAA,EAAAA,EAAiB+oG,4BAA6B,4BAA8B,MACvGhgH,gBAAgB,qBAGvBsiE,EAAW8C,QACR,cAAC7+E,GAAA,EAAD,CAAYC,MAAM,kBAAkBI,SAAS,KAAKD,QAASo+E,EAA3D,SACI,cAAC,GAAD,CACI3+D,UAAWvc,EAAM24E,kBACjB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAClCl4D,QAAS,kBAAMo+E,GAAe,QAGtC,KACHzC,EAAW6C,MACR,cAAC5+E,GAAA,EAAD,CAAYC,MAAM,iBAAiBI,SAAS,KAAKD,QAASo+E,EAA1D,SACI,cAAC,GAAD,CAAe3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAE9G,SC7GVvjE,GAAS,CAAC,CAAExR,KAAM,OAAQyR,KAAM,KAAO,CAAEzR,KAAM,YAAc,CAAEA,KAAM,qBAAsByR,KAAM,IAAKC,QAAQ,IAE9GwX,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CAAExG,IAAK,mBAAoBxE,KAAM,cACjC,CAAEwE,IAAK,aAAcxE,KAAM,UAAW+K,UAAW3E,IAAWE,eAC5D,CAAE9B,IAAK,kBAAmBxE,KAAM,MAAO+K,UAAW3E,IAAWE,eAC7D,CAAE9B,IAAK,oBAAqBxE,KAAM,SAClC,CAAEwE,IAAK,sBAAuBxE,KAAM,YACpC,CAAEwE,IAAK,YAAaxE,KAAM,UAkLfw6I,GA/KW,SAACpkJ,GACvB,MAA0BgC,mBAAS,CAC/BwZ,aAAa,EACb8tD,aAAc,KACdhjE,SAAU,KACVmM,KAAM,GACNjH,YAAY,EACZuwE,YAAY,EACZC,gBAAgB,EAChBroD,gBAAiB,GACjBzd,SAAU,OATd,mBAAOzS,EAAP,KAAcxB,EAAd,KAWA,EAAoCD,mBAAS,IAA7C,mBAAOk6E,EAAP,KAAmBC,EAAnB,KACItrD,EAAkB9sB,IAAW+sB,gBAEjCltB,oBAAS,sBAAC,sBAAAM,EAAA,sDACNigJ,IADM,2CAEP,IAEH,IAAMA,EAAsB,uCAAG,sBAAAjgJ,EAAA,sDAC3BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHS,2CAAH,qDAMtBooE,EAAc,SAAC99D,EAAIzS,GACrB9J,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GASjB,MARY,OAARkI,IACA8zB,EAAMk8C,YAAa,EACnBl8C,EAAMlM,gBAAkBnV,GAEhB,OAARzS,IACA8zB,EAAMm8C,gBAAiB,EACvBn8C,EAAMlM,gBAAkBnV,GAErBqhB,MAITi9C,EAAc,SAACt+D,EAAIhS,GACrB2vE,EAAc,eAAG3vE,GAAQ,IACzBvK,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8vB,gBAAiBnV,EACjB49D,kBAAmB59D,EAAG49D,wBAIxBuC,EAAiB,SAACj5E,GACpBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELk4E,YAAY,EACZC,gBAAgB,OAEpBG,EAAc,IACdz2E,GAAOy+I,KAGLxoI,EAAa,SAACtV,EAAMqO,GACtB,OACI,sBAAK1T,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,UAI2B,OAAnB,OAAH5d,QAAG,IAAHA,OAAA,EAAAA,EAAK8oE,eACF,cAAC,KAAD,CACIjlE,KAAMy4E,KACN9tF,MAAM,UACNyB,UAAU,oBACVnD,QAAS,WACLs7E,EAAYpoE,EAAK,UAErBiE,aAAa,UAIrB,cAAC,KAAD,CACIJ,KAAM24E,KACNvsF,UAAU,oBACVzB,MAAM,UACN1B,QAAS,WACLs7E,EAAYpoE,EAAK,aAKrBiE,aAAa,sBAGmB,OAAhC,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKsoE,4BACF,cAAC,KAAD,CACIzkE,KAAMmsB,KACNxhC,MAAM,UACN1B,QAAS,WACL86E,EAAY5nE,EAAK,OAErBiE,aAAa,yBAGgB,OAAjC,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKwoE,6BACF,cAAC,KAAD,CACI3kE,KAAMmsB,KACNxhC,MAAM,YACN1B,QAAS,WACL86E,EAAY5nE,EAAK,OAErBiE,aAAa,8BAO3BpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAEC3F,EAAM,kDAA8C,GAExD,OACI,sBAAKxR,UAAY3E,EAAM0sC,UAAuB,GAA9B,SAAkC1rC,MAAO,CAAEyD,UAAW,GAAtE,WACMzE,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,KAEzC3X,EAAM+X,YACH,8CACA/X,EAAMs4E,WACN,cAAC,GAAD,CACInL,kBAAmBntE,EAAMkwB,gBAAgByoD,kBACzCnM,UAAWxsE,EAAMkwB,gBAAgB8kC,WACjCl4D,QAASo+E,EACT14B,UAAU,IAEdxiD,EAAMu4E,eACN,cAAC,GAAD,CAAwB3E,QAAS5zE,EAAMkwB,gBAAgBo8C,oBAAqBxvE,QAASo+E,EAAgB14B,UAAU,IAE/G,cAAC,GAAD,CACI7uC,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQA,EAGRD,SAAUzS,EAAMyS,SAChBhB,YAAW,WAAoB,OAAf2b,QAAe,IAAfA,OAAA,EAAAA,EAAiB+oG,4BAA6B,aAAe,MAC7E3lH,uBAAsB,WAAoB,OAAf4c,QAAe,IAAfA,OAAA,EAAAA,EAAiB+oG,4BAA6B,4BAA8B,MACvGhgH,gBAAgB,uBAQvBsiE,EAAW6C,MACR,cAAC5+E,GAAA,EAAD,CAAYC,MAAM,iBAAiBI,SAAS,KAAKD,QAASo+E,EAA1D,SACI,cAAC,GAAD,CAAe3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAE9G,KACHzC,EAAW+C,SACR,cAAC9+E,GAAA,EAAD,CAAYC,MAAM,oBAAoBI,SAAS,KAAKD,QAASo+E,EAA7D,SACI,cAAC,GAAD,CAAuBxE,QAAS12E,EAAMkwB,gBAAiBpzB,QAASo+E,MAEpE,SC7LVvjE,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,cAAe0R,QAAQ,GAC/B,CAAE1R,KAAM,UAAWyR,KAAM,IAAKC,QAAQ,IAGpCwX,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIiH,qBAAqB,GACjE,CACIxG,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAEX,CAAES,IAAK,wBAAyBxE,KAAM,YAAa+D,MAAO,IAC1D,CAAES,IAAK,oBAAqBxE,KAAM,kBAClC,CAAEwE,IAAK,oBAAqBxE,KAAM,cAAe+D,MAAO,KACxD,CAAES,IAAK,6BAA8BxE,KAAM,SAAU+D,MAAO,MAoIjD02I,GAjImB,SAACrkJ,GAC/B,IAAI6O,EAAU8b,eACd,EAA0B3oB,mBAAS,CAAEwZ,aAAa,EAAO8tD,aAAc,KAAMhjE,SAAU,KAAMmM,KAAM,GAAIjH,YAAY,EAAM4xC,SAAU,YAAnI,mBAAO35C,EAAP,KAAcxB,EAAd,KACI4uB,EAAkB9sB,IAAW+sB,gBAEjCltB,oBAAS,sBAAC,sBAAAM,EAAA,sDACiB,aAAnBlE,EAAMimD,UACNhkD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELu5C,SAAUp9C,EAAMimD,cAGxBwjB,IAPM,2CAQP,IAEH,IAAMA,EAAW,uCAAG,sBAAAvlE,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAoBXyH,EAAa,SAACtV,EAAMqO,GACtB,OACI,eAAC/R,EAAA,EAAD,CAAMI,MAAI,EAAV,UACI,cAAC,KAAD,CACIwV,KAAMmsB,KACNxhC,MAAM,YACNyB,UAAU,6BACVnD,QAAS,kBAdCuK,EAcsB2I,OAb5C1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKzF,SAAnC,mBAA+CyF,QAA/C,IAA+CA,OAA/C,EAA+CA,EAAKxF,iBAC5D9C,MAAO,SAHU,IAACsI,GAeV4M,aAAa,iBAID,OAAfkY,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,KAAD,CACIzsC,KAAM0sC,KACN/hD,MAAM,YACNyB,UAAU,6BACVnD,QAAS,kBA/BJuK,EA+B0B2I,OA9B/C7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKg+F,YAAnC,mBAAkDh+F,QAAlD,IAAkDA,OAAlD,EAAkDA,EAAKxF,iBAC/D9C,MAAO,YAHS,IAACsI,GAgCL4M,aAAa,oBAO3BpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAenD,OAdIgH,IACAA,EAAUT,UAAYgH,GAErB3b,EAAM0sC,WACP5wB,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,MAUxEmO,IACR,IAMG+C,EAAoB,SAACnZ,EAAK8qD,GAC5BvuD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyB+sD,GAAY,OAC9C9qD,GAAO+jE,KAGLZ,EAAgB7oE,EAAM0sC,UAAiB,aAAL,GAExC,OACI,sBAAK/nC,UAAY3E,EAAM0sC,UAAuB,GAA9B,SAAkC1rC,MAAO,CAAEyD,UAAW,GAAtE,WACMhB,EAAM6C,UAAY,cAAC,IAAD,CAAa8U,OAAQA,KAExC3X,EAAM+X,YACH,cAAC,GAAD,CACIlV,SAAU7C,EAAM6C,SAChBomC,UAAW1sC,EAAM0sC,WAAajpC,EAAM6lE,aACpC/oE,QAAS,kBAAMse,GAAkB,EAAM,gBACvCu+B,SAAU35C,EAAM25C,SAChB8T,iBAAiB,IAErBztD,EAAMsmE,gBACN,cAAC,GAAD,CACIzjE,SAAU7C,EAAM6C,SAChBomC,UAAW1sC,EAAM0sC,WAAajpC,EAAM6lE,aACpC/oE,QAAS,kBAAMse,GAAkB,EAAM,oBACvCu+B,SAAU35C,EAAM25C,WAGpB,cAAC,GAAD,CACIhmC,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAO,iBACPmC,SAAUuwD,EACV3zD,YAAY,WACZjB,uBAAuB,eACvBwE,WAAY,kBAzCNnS,EAyCyB,KAzCfomC,EAyCqBjpC,EAAM+lE,gBAzChBhZ,EAyCiC,mBAxCxEvuD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,gBAAwB6C,SAAUA,EAAUgjE,aAAc58B,GAAY8jB,GAAY,OAD1E,IAAClqD,EAAUomC,EAAW8jB,GA0C3Bt6C,SAAUzS,EAAMyS,eC9I9B4c,GAAc,CAQhB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIiH,qBAAqB,GACjE,CAAExG,IAAK,+BAAgCxE,KAAM,YAAa+K,UAAW3E,IAAWE,eAChF,CAAE9B,IAAK,kBAAmBxE,KAAM,MAAO+K,UAAW3E,IAAWE,eAC7D,CAAE9B,IAAK,mCAAoCxE,KAAM,aACjD,CAAEwE,IAAK,oBAAqBxE,KAAM,SAClC,CAAEwE,IAAK,uBAAwBxE,KAAM,iBACrC,CAAEwE,IAAK,wBAAyBxE,KAAM,kBACtC,CAAEwE,IAAK,uBAAwBxE,KAAM,iBACrC,CAAEwE,IAAK,mBAAoBxE,KAAM,cACjC,CAAEwE,IAAK,sBAAuBxE,KAAM,YACpC,CAAEwE,IAAK,YAAaxE,KAAM,UAgGf06I,GA7Fa,SAACtkJ,GACzB,MAA0BgC,mBAAS,CAAEwZ,aAAa,EAAO8tD,aAAc,KAAMhjE,SAAU,KAAMmM,KAAM,GAAIjH,YAAY,EAAM0K,SAAU,OAAnI,mBAAOzS,EAAP,KAAcxB,EAAd,KACA,EAAoCD,mBAAS,IAA7C,mBAAOk6E,EAAP,KAAmBC,EAAnB,KACMooE,EAAex1I,OAAOC,SAASskB,SAAS3b,SAAS,mBAAqB,EAAI,EAC1EyD,EAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YACR,CAAEA,KAAsB,GAAhB26I,EAAoB,mBAAqB,mBAAoBlpI,KAAM,IAAKC,QAAQ,IAG5F1X,oBAAS,sBAAC,sBAAAM,EAAA,sDACNigJ,IADM,2CAEP,CAACI,IAEJ,IAAMJ,EAAsB,uCAAG,sBAAAjgJ,EAAA,sDAC3BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHS,2CAAH,qDAgBtByqE,EAAiB,SAACj5E,GACpBy2E,EAAc,IACdz2E,GAAOy+I,KAGLxoI,EAAa,SAACtV,EAAMqO,GACtB,OACI,qBAAK1T,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,UAA/C,SAC2B,OAAnB,OAAH5d,QAAG,IAAHA,OAAA,EAAAA,EAAK8oE,eACF,cAAC,KAAD,CACIjlE,KAAMy4E,KACN9tF,MAAM,UACNyB,UAAU,oBACVnD,QAAS,WAtBT,IAACgd,EAAIhS,EAAJgS,EAuBe9J,EAvBXlI,EAuBgB,QAtBrC2vE,EAAc,eAAG3vE,GAAQ,IACzBvK,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8vB,gBAAiBnV,EACjB49D,kBAAmB59D,EAAG49D,wBAoBVzjE,aAAa,aAO3BpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IACC3F,EAAM,kDAA8CouI,GACxD,OACI,sBAAK5/I,UAAY3E,EAAM0sC,UAAuB,GAA9B,SAAkC1rC,MAAO,CAAEyD,UAAW,GAAtE,WACMzE,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,IAEzC3X,EAAM+X,YACH,8CAEA,cAAC,GAAD,CACIpE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQA,EAGRD,SAAUzS,EAAMyS,SAChBhB,YAAY,aACZjB,uBAAuB,4BACvB2F,gBAAiC,GAAhB2qI,EAAoB,mBAAqB,qBAGjEroE,EAAW6C,MACR,cAAC5+E,GAAA,EAAD,CAAYC,MAAM,iBAAiBI,SAAS,KAAKD,QAASo+E,EAA1D,SACI,cAAC,GAAD,CAAe3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAE9G,SCjHVv+D,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CAAExG,IAAK,UAAWxE,KAAM,OAAQ+K,UAAW3E,IAAWE,cAAevC,MAAO,KAC5E,CAAES,IAAK,eAAgBxE,KAAM,UAAW+D,MAAO,KAC/C,CAAES,IAAK,mBAAoBxE,KAAM,SAAU+D,MAAO,KAClD,CAAES,IAAK,iBAAkBxE,KAAM,mBAG/B,CACIwE,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAW2wE,gBACtBvzE,MAAO,QACPO,MAAO,KAEX,CACIS,IAAK,cACLxE,KAAM,SACN+K,UAAW3E,IAAW2wE,gBACtBvzE,MAAO,QACPO,MAAO,KAEX,CACIS,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAW2wE,gBACtBvzE,MAAO,QACPO,MAAO,KAEX,CAAES,IAAK,sBAAuBxE,KAAM,WAAY+D,MAAO,MAmJ5C62I,GA5GU,SAACxkJ,GACtB,MAA0BgC,mBAAS,CAAEwJ,YAAY,EAAM3K,MAAM,EAAO6gB,KAAM,GAAIxL,SAAU,OAAxF,mBAAOzS,EAAP,KAAcxB,EAAd,KACM4M,EAAU8b,eACRgpB,EAAc3lC,eAAd2lC,UACJ9iB,EAAkB9sB,IAAW+sB,gBAC3B0+B,EAAiB7b,EAAUh8B,SAAS,gBAE1C/T,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,IAEH,IAAMA,EAAW,uCAAG,sBAAA1d,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAiBXyqE,EAAiB,SAAC5yE,GACpB9J,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBs9E,cAAc,EAAOvjC,MAAO,SAG3DrS,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,sBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,UACI,cAAC,KAAD,CACIlC,KAAMyoE,KACNr8E,UAAU,6BACVgU,aAAa,eACbnX,QAAS,kBAfEuK,EAesB2I,OAd7CzS,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBs9E,cAAc,EAAMvjC,MAAK,OAAEzxC,QAAF,IAAEA,OAAF,EAAEA,EAAKyxC,WAD3C,IAACzxC,MAiBC,OAAf8kB,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,KAAD,CAAkBzsC,KAAM0sC,KAAUtgD,UAAU,6BAA6BnD,QAAS,kBAxBzEuK,EAwB+F2I,OAvBpH7F,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKyxC,MAAnC,mBAA4CzxC,QAA5C,IAA4CA,OAA5C,EAA4CA,EAAKyiF,gBAFzC,IAACziF,GAwBqG4M,aAAa,iBAMrIpF,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAC1CgH,IACAA,EAAUT,UAAYw2B,GAE1B,IAAIyyF,EAAmBn9G,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,YAAbA,EAAKqL,OAgBrD,OAdIwvH,EAAiBjpH,UAAY,WAAeyB,GAAU,IAAtB1B,EAAqB,EAArBA,IACtBoG,GAD2C,EAAhB2Y,IACrBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKha,MAAO,CAAEyZ,UAAW,UAAzB,SACK/F,EAAIumE,YAAcjrE,IAAWimC,cAAcvhC,EAAIumE,aAAejrE,IAAWimC,cAAcvhC,EAAIo4E,WAIpG,OADA/2E,IAASC,OAAOgF,EAAKF,GACdA,GAMR2F,IACR,IAEGrF,EA7GQ,SAACm/E,EAAM/qC,GACrB,IAAInL,EAAO,GACPg2C,EAAQ,CACR,CAAEzwF,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAc,MAAR2wF,EAAe,YAAc,OAAQj/E,QAAQ,IA8BzD,OA3BI+oC,EADQ,MAARk2C,GAAwB,MAARA,GAAwB,MAARA,EACzB,CAAE3wF,KAAM,qBAAsB0R,QAAQ,GAC9B,MAARi/E,EACA,CAAE3wF,KAAM,mBAAoB0R,QAAQ,GAC5B,MAARi/E,EACA,CAAE3wF,KAAM,qBAAsB0R,QAAQ,GAC9B,MAARi/E,EACA,CAAE3wF,KAAM,iBAAkB0R,QAAQ,GAC1B,MAARi/E,EACA,CAAE3wF,KAAK,GAAD,OAAK4lD,EAAiB,oBAAsB,qBAAuBl0C,QAAQ,GACzE,MAARi/E,EACA,CAAE3wF,KAAM,mBAAoB0R,QAAQ,GAC5B,MAARi/E,EACA,CAAE3wF,KAAM,mBAAoB0R,QAAQ,GAC5B,MAARi/E,EACA,CAAE3wF,KAAM,iCAAkC0R,QAAQ,GAC1C,MAARi/E,GAAwB,MAARA,EAChB,CAAE3wF,KAAM,eAAgB0R,QAAQ,GACxB,MAARi/E,EACA,CAAE3wF,KAAM,qBAAsB0R,QAAQ,GAC9B,MAARi/E,EACA,CAAE3wF,KAAM,oBAAqB0R,QAAQ,GAC7B,MAARi/E,EACA,CAAE3wF,KAAM,WAAY0R,QAAQ,GAE5B,CAAE1R,KAAM,YAAa0R,QAAQ,GAExC++E,EAAMvrF,KAAKu1C,GACJg2C,EA2EQG,CAAUx6F,EAAM69H,WAAYruE,GASvCr5C,EAAM,uCAAmCnW,EAAM69H,YACnD,OACI,sBAAKl5H,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,IAErB,cAAC,GAAD,CACIhE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAKykE,UAClB5uD,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT2B,YAAW,WAAoB,OAAf2b,QAAe,IAAfA,OAAA,EAAAA,EAAiBwwD,uBAAwB,QAAU,MACnEptE,uBAAsB,WAAoB,OAAf4c,QAAe,IAAfA,OAAA,EAAAA,EAAiBwwD,uBAAwB,YAAc,MAClFlrE,OAAQA,EAERsC,WAtBO,WACf46C,MAAM,UAsBEn9C,SAAUzS,EAAMyS,WAEnBzS,EAAMs9E,cACH,cAAC5gF,GAAA,EAAD,CAAYC,MAAM,cAAcI,SAAS,KAAKD,QAASo+E,EAAvD,SACI,cAACyC,GAAD,CAAehhF,MAAM,GAAGogF,cAAe/8E,EAAM+5C,MAAOj9C,QAASo+E,UCnLpE42C,GAAe,uCAAG,4BAAArxH,EAAA,sEACX6B,aAAY,sCADD,cACvBL,EADuB,yBAEpBA,GAFoB,2CAAH,qDAKf++I,GAAc,uCAAG,WAAOvgI,GAAP,eAAAhgB,EAAA,sEACV6B,aAAY,wCAAD,OAAyCme,IAD1C,cACtBxe,EADsB,yBAEnBA,GAFmB,2CAAH,sDAKdg/I,GAAkB,uCAAG,WAAOr+I,GAAP,eAAAnC,EAAA,sEACdsB,aAAa,iCAAkCa,GADjC,cAC1BX,EAD0B,yBAEvBA,GAFuB,2CAAH,sDAKlBi/I,GAAwB,uCAAG,WAAOtjJ,GAAP,eAAA6C,EAAA,sEACpB6B,aAAY,4CAAD,OAA6C1E,IADpC,cAChCqE,EADgC,yBAE7BA,GAF6B,2CAAH,sDAUxBk/I,GAA0B,uCAAG,WAAOvjJ,GAAP,eAAA6C,EAAA,sEACtB6B,aAAY,8CAAD,OAA+C1E,IADpC,cAClCqE,EADkC,yBAE/BA,GAF+B,2CAAH,sDAe1Bm/I,GAAiB,uCAAG,WAAOxjJ,GAAP,eAAA6C,EAAA,sEACb6B,aAAY,4CAAD,OAA6C1E,IAD3C,cACzBqE,EADyB,yBAEtBA,GAFsB,2CAAH,sDAKjBo/I,GAAkB,uCAAG,WAAOz+I,GAAP,eAAAnC,EAAA,sEACdsB,aAAa,qCAAsCa,GADrC,cAC1BX,EAD0B,yBAEvBA,GAFuB,2CAAH,sDAKlBq/I,GAAgB,uCAAG,WAAO1jJ,GAAP,eAAA6C,EAAA,sEACZ6B,aAAY,6BAAD,OAA8B1E,IAD7B,cACxBqE,EADwB,yBAErBA,GAFqB,2CAAH,sDAIhBs/I,GAAmB,uCAAG,WAAO3jJ,GAAP,eAAA6C,EAAA,sEACf6B,aAAY,8BAAD,OAA+B1E,GAAK,CAAEirC,aAAc,OAAQC,cAAc,IADtE,cAC3B7mC,EAD2B,yBAExBA,GAFwB,2CAAH,sD,+DChDDsF,YAAW,CACtCE,KAAM,CACFhI,MAAO,UACPpC,QAAS,OACTJ,OAAQ,GACRK,WAAY,UAEhBua,OAAQ,CACJpY,MAAO,WAEXi+G,OAAQ,CACJxzG,MAAO,EACPjN,OAAQ,EACRgvB,aAAc,MACdyS,gBAAiB,gBAErBwf,UAAW,CACPz+C,MAAO,UACP+W,OAAQ,EACRI,SAAU,MAwBlB,IAAMknC,GAAoBC,aAAW,CACjCC,iBAAkB,CACd5xB,IAAK,IAETvU,OAAQ,CACJ,UAAW,CACPomC,gBACI,uFAGZC,UAAW,CACP,UAAW,CACPD,gBACI,uFAGZE,KAAM,CACFlhD,OAAQ,EACRsgC,OAAQ,EACRmB,gBAAiB,UACjBzS,aAAc,IApBI8xB,CAsBvBK,MAEGC,GAA4B92C,YAAW,CACzCE,KAAM,CACFi3B,gBAAiB,OACjBloB,OAAQ,EACR/W,MAAO,OACPyK,MAAO,GACPjN,OAAQ,GACRI,QAAS,OACT4uB,aAAc,MACd4C,eAAgB,SAChBvxB,WAAY,UAEhBua,OAAQ,CACJomC,gBACI,yFACJ3xB,UAAW,gCAEf4xB,UAAW,CACPD,gBACI,4FAIZ,SAASM,GAAiBhiD,GAAQ,IAAD,EACvB2L,EAAUm2C,KACRxmC,EAAsBtb,EAAtBsb,OAAQqmC,EAAc3hD,EAAd2hD,UAEVI,EAAQ,CACVvhB,EAAG,cAAC,KAAD,IACHF,EAAG,cAAC,KAAD,IACHF,EAAG,cAAC,KAAD,IACHiF,EAAG,cAAC,KAAD,KAGP,OACI,qBACI1gC,UAAWu9C,kBAAKv2C,EAAQT,MAAT,mBACVS,EAAQ2P,OAASA,GADP,cAEV3P,EAAQg2C,UAAYA,GAFV,IADnB,SAMKI,EAAMw3C,OAAOv5F,EAAMuY,SAWhC,IAAMxN,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFyC,MAAO,QAEXa,OAAQ,CACJ1O,YAAamL,EAAMpI,QAAQ,IAE/Bs/C,aAAc,CACV19C,UAAWwG,EAAMpI,QAAQ,GACzB6/B,aAAcz3B,EAAMpI,QAAQ,QAQrB,SAASoiJ,GAAiBjlJ,GACrC,IAAM2L,EAAUZ,KACVw4C,EALC,CAAC,iBAAkB,UAAW,YAAa,YAOlD,EAAoCvhD,mBAAShC,EAAMmjD,YAAnD,mBAAOA,EAAP,KAAmBC,EAAnB,KAKA,OAJAx/C,qBAAU,WACNw/C,EAAcpjD,EAAMmjD,cACrB,CAACnjD,EAAMmjD,aAGN,qBAAKx+C,UAAWgH,EAAQT,KAAxB,SACI,cAACi6C,GAAA,EAAD,CAAS1D,kBAAgB,EAAC0B,WAAYA,EAAYiC,UAAW,cAAC,GAAD,IAA7D,SACK7B,EAAMh6C,KAAI,SAACiD,GAAD,OACP,cAAC+4C,GAAA,EAAD,UACI,cAACC,GAAA,EAAD,CAAWC,kBAAmBzD,GAA9B,SAAiDx1C,KAD1CA,UCnJxB,IAAM04I,GAAuB36H,0BAEvB46H,GAAkB,SAACnlJ,GAAW,IAAD,EACtC,EAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAE1B,EAA0BtJ,oBAAQ,GAC9BmhD,WAAY,EACZiiG,eAAgB,GAChBx0I,OAAQ,GACRy0I,qBAAqB,EACrBC,SAAU,CACN,CAAEjkJ,GAAI,IAAKuI,KAAM,KACjB,CAAEvI,GAAI,IAAKuI,KAAM,KACjB,CAAEvI,GAAI,KAAMuI,KAAM,MAClB,CAAEvI,GAAI,IAAKuI,KAAM,KACjB,CAAEvI,GAAI,KAAMuI,KAAM,OAEtB2rC,SAAU,GACVgwG,gBAAiB,GACjBC,aAAc,KACdC,cAAe,GACfC,WAAY,GACZC,eAAgB,GAChBC,aAAc,KACdC,gBAAiB,GACjBnkI,KAAM,GACNlW,YAAY,EACZs6I,oBAAqB,KACrBC,iBAAkB,GAClBC,kBAAmB,GACnBC,aAAc,CACV,CAAE5kJ,GAAI,MAAOuI,KAAM,aACnB,CAAEvI,GAAI,OAAQuI,KAAM,eAExBs8I,QAAQ,EACRC,WAAY,GACZC,wBAAyB,IA/BK,oCAgCT,MAhCS,gCAiCd,GAjCc,qCAkCR,IAlCQ,IAAlC,mBAAO3iJ,EAAP,KAAcxB,EAAd,KAqCA2B,oBAAS,sBAAC,oCAAAM,EAAA,sEACUqxH,KADV,UACF7vH,EADE,OAEFW,EAAOX,EAAIW,KACXX,EAAIoE,QACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAGL0hJ,gBAAiBl/I,EAAK6wI,iBAAiB3tI,KAAI,SAACgoB,GAAD,MAAQ,CAAElwB,GAAIkwB,EAAEolH,kBAAmB/sI,KAAM2nB,EAAEukH,wBACtFvgG,SAAUlvC,EAAKggJ,gBAAgB98I,KAAI,SAACgoB,GAAD,MAAQ,CAAElwB,GAAIkwB,EAAE+0H,iBAAkB18I,KAAM2nB,EAAEg1H,6BAGjFj7I,EAAe5F,EAAI0G,WAEnBpM,EAAMwlJ,aAbJ,iCAccf,GAAezkJ,EAAMwlJ,cAdnC,OAcE9/I,EAdF,OAeEW,EAfF,OAeSX,QAfT,IAeSA,GAfT,UAeSA,EAAKW,YAfd,aAeS,EAAW2G,QAAQ,GAC9B/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2iJ,iBAAgB,OAAEngJ,QAAF,IAAEA,OAAF,EAAEA,EAAMmgJ,iBACxBhB,aAAY,OAAEn/I,QAAF,IAAEA,OAAF,EAAEA,EAAMm/I,aACpBJ,eAAc,OAAE/+I,QAAF,IAAEA,OAAF,EAAEA,EAAM++I,eACtBqB,qBAAoB,OAAEpgJ,QAAF,IAAEA,OAAF,EAAEA,EAAMogJ,qBAC5BpB,oBAAmB,OAAEh/I,QAAF,IAAEA,OAAF,EAAEA,EAAMg/I,oBAC3BqB,sBAAqB,OAAErgJ,QAAF,IAAEA,OAAF,EAAEA,EAAMqgJ,2BAEjCC,EAAqB3mJ,EAAMwlJ,cAC3BoB,EAAkB5mJ,EAAMwlJ,cA1BtB,4CA4BP,IAEH,IAAMoB,EAAiB,uCAAG,WAAO76I,GAAP,qBAAA7H,EAAA,sEACNygJ,GAAyB54I,GADnB,OAClBrG,EADkB,OAEhBW,EAFgB,UAETX,EAAIW,YAFK,iBAET,EAAU0wI,8BAFD,aAET,EAAkCxtI,KAAI,SAACiI,GAAD,MAAQ,CACvDnQ,GAAImQ,EAAEq1I,wBACNj9I,KAAM4H,EAAEykI,qCAERvwI,EAAIoE,SACJ7H,GAAS,SAACsvB,GAAD,iCAAC,eACHA,GADE,IAELm0H,WAAYr/I,EACZs/I,eAAc,UAAEjgJ,EAAIW,YAAN,aAAE,EAAU0wI,uBAC1Br1H,MAAM,UAAAhc,EAAIW,YAAJ,mBAAU2G,eAAV,eAAmBzD,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBs1H,wBAAyBt1H,EAAEu1H,mCAAmC,GAC3GjB,iBAAiB,UAAAngJ,EAAIW,YAAJ,mBAAU2G,eAAV,eAAmBzD,KAAI,SAACiI,GAAD,OAAOA,EAAEs1I,iCAAgC,GACjFZ,QAAQ,OAbM,2CAAH,sDAsDjBt4H,EAAY,uCAAG,gCAAA1pB,EAAA,6DACXuhJ,EAAgBhiJ,EAAMgiJ,cAAcl8I,KAAI,SAACgoB,GAAD,MAAQ,CAClDu1H,4BAA2B,OAAEv1H,QAAF,IAAEA,OAAF,EAAEA,EAAGs1H,wBAChCE,4BAA2B,OAAEx1H,QAAF,IAAEA,OAAF,EAAEA,EAAGw1H,4BAChCC,oBAAmB,OAAEz1H,QAAF,IAAEA,OAAF,EAAEA,EAAGy1H,oBACxBC,kBAAiB,OAAE11H,QAAF,IAAEA,OAAF,EAAEA,EAAG01H,sBAGpBC,EAAe,CACjB1B,aAAc/hJ,EAAM+hJ,aACpBkB,sBAAuBjjJ,EAAMijJ,sBAC7BtB,eAAgB3hJ,EAAM2hJ,eACtBqB,qBAAsBhjJ,EAAMgjJ,qBAC5BpB,oBAAqB5hJ,EAAM4hJ,oBAC3B8B,kBAAmB1jJ,EAAMoiJ,gBACzBuB,uBAAwB3B,EAAcvnH,QAAO,SAAC8qC,GAC1C,GAAIA,EAAE+9E,4BAA6B,OAAO/9E,KAE9Cq+E,0CAAyC,UAAE5jJ,EAAM0iJ,kBAAR,aAAE,EAAkB58I,KAAI,SAACgoB,GAAD,MAAQ,CACrE81H,0CAA2C91H,EAAE81H,0CAC7CjB,wBAAyB70H,EAAE60H,6BApBlB,SAwBDtB,GAAmBoC,GAxBlB,cAyBTp9I,SACJyB,EAAiB,2BACjBvL,EAAMO,SAAQ,IAEd+K,EAAe,wBA7BF,2CAAH,qDAyCZg8I,EAAe,uCAAG,WAAO7jG,GAAP,SAAAv/C,EAAA,yDACI,GAApBT,EAAM0/C,WADU,gBAEZ0lC,KACA5mF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELs/C,WAAY1/C,EAAM0/C,WAAaM,OALvB,2BASZhgD,EAAM0/C,WAAaM,EAAO,GAAKhgD,EAAM0/C,WAAaM,EAAO,GAT7C,iDAUhBxhD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELs/C,WAAY1/C,EAAM0/C,WAAaM,OAZnB,OAeI,GAApBhgD,EAAM0/C,YAAmB1/C,EAAM8jJ,gBAC/BC,IAhBgB,2CAAH,sDAoBfA,EAAuB,uCAAG,8BAAAtjJ,EAAA,6DACtBmC,EAAO,CACTm/I,aAAc/hJ,EAAM+hJ,aACpBkB,sBAAuBjjJ,EAAMijJ,sBAC7BtB,eAAgB3hJ,EAAM2hJ,eACtBqB,qBAAsBhjJ,EAAMgjJ,qBAC5BpB,oBAAqB5hJ,EAAM4hJ,qBANH,SAQZX,GAAmBr+I,GARP,QAQxBX,EARwB,QASpBoE,SACJ7H,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAEL2hJ,aAAY,UAAE9/I,EAAIW,YAAN,aAAE,EAAUm/I,aACxB+B,gBAAgB,OAEpBZ,EAAqBjhJ,EAAIW,KAAKm/I,cAC9BoB,EAAkBlhJ,EAAIW,KAAKm/I,cAC3Bj6I,EAAiB,+BAEjBD,EAAe5F,EAAI0G,UAnBK,2CAAH,qDAuBvBq7I,EAAe,uCAAG,WAAO17I,GAAP,uBAAA7H,EAAA,sEACJ2gJ,GAAkB94I,GADd,QAChBrG,EADgB,QAEZoE,UACEu6C,EADO,OACA3+C,QADA,IACAA,GADA,UACAA,EAAKW,YADL,aACA,EAAW0wI,uBAClBhrI,EAFO,OAEDrG,QAFC,IAEDA,GAFC,UAEDA,EAAKW,YAFJ,aAED,EAAW2G,QAEvB/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELsiJ,WAAYp6I,GAAO,GACnB27I,qBAAsBrjG,QATV,2CAAH,sDAcrBzgD,qBAAU,WACN,IAGMyC,EAHU5C,EAAMikJ,qBAAqBxpH,QACvC,kBAA4BwlG,EAA5B,EAAGmjB,wBAAH,QAAsC,UAACpjJ,EAAM0iJ,kBAAP,aAAC,EAAkB5oC,MAAK,qBAAG8pC,4CAA6D3jB,SAE7Gn6H,KAAI,SAACiI,GAAD,MAAQ,CAC7BnQ,GAAImQ,EAAEq1I,wBACNj9I,KAAM4H,EAAEykI,qCAEZh0I,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmiJ,kBAAmB3/I,SAExB,CAAC5C,EAAM0iJ,aAEV,IAKMt9D,EAAa,WACf,IAAI92E,GAAc,EACdnB,EAAS,GACT+2I,EAAmBlkJ,EAAMgiJ,cAAcl8I,KAAI,SAACgoB,GA6B5C,MA5BqC,KAAjCA,EAAEw1H,8BACG,QAAQ90I,KAAKsf,EAAEy1H,sBAAyBz1H,EAAEy1H,sBAC3Cp2I,EAAO,YAAD,OAAa2gB,EAAEs1H,0BAA6B,yBAClD90I,GAAc,IAOe,KAAjCwf,EAAEw1H,6BAAuE,MAAjCx1H,EAAEw1H,6BACrCx1H,EAAEy1H,sBACHp2I,EAAO,YAAD,OAAa2gB,EAAEs1H,0BAA6B,yBAClD90I,GAAc,GAGe,KAAjCwf,EAAEw1H,6BAAuE,MAAjCx1H,EAAEw1H,6BACrCx1H,EAAE01H,oBACHr2I,EAAO,UAAD,OAAW2gB,EAAEs1H,0BAA6B,uBAChD90I,GAAc,GAGjBwf,EAAEw1H,8BACCx1H,EAAEy1H,qBAAuBz1H,EAAEy1H,uBAC3Bp2I,EAAO,YAAD,OAAa2gB,EAAEs1H,0BAA6B,4BAClD90I,GAAc,GAGfwf,KAOX,OALAtvB,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL4hJ,cAAekC,EACf/2I,OAAQA,OAELmB,GAGL40I,EAAoB,uCAAG,WAAO56I,GAAP,eAAA7H,EAAA,sEACT0gJ,GAA2B74I,GADlB,QACrBrG,EADqB,QAEjBoE,SAAU,WAId,IAJa,QACPu6C,EAAI,OAAG3+C,QAAH,IAAGA,GAAH,UAAGA,EAAKW,YAAR,aAAG,EAAW0wI,uBAClBhrI,EAAG,OAAGrG,QAAH,IAAGA,GAAH,UAAGA,EAAKW,YAAR,aAAG,EAAW2G,QACnB46I,EAAuB,GAHd,WAIJlqH,GACLkqH,EAAqB94I,KAArB,2BACOu1C,EAAK3mB,IADZ,OAEO3xB,QAFP,IAEOA,OAFP,EAEOA,EAAKyH,MAAK,SAACq0I,GAAD,OAAcA,EAASf,8BAAgCziG,EAAK3mB,GAAGmpH,8BAH3EnpH,EAAI,EAAGA,EAAI2mB,EAAKryC,OAAQ0rB,IAAM,EAA9BA,GAMTz7B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL4hJ,cAAemC,OAZL,GAFO,2CAAH,sDA6E1B,OANAhkJ,qBAAU,WACmB,IAArBH,EAAM0/C,YACNskG,EAAgBhkJ,EAAM+hJ,gBAE3B,CAAC/hJ,EAAM0/C,aAGN,cAAC+hG,GAAqBp3H,SAAtB,CACI3rB,MAAO,CACHsB,QACAmqB,eACA/b,YApQQ,SAAC/F,GACjB,MAAuCA,EAAEE,OAAjCpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOgR,EAArB,EAAqBA,QAASzG,EAA9B,EAA8BA,KAClB,gBAAR9C,GAA0BzH,EAnBV,SAACd,GACrB,IAAIgiH,EAAY,aAAO5/G,EAAMie,MAE7B,IADYje,EAAMoiJ,gBAAgBryI,MAAK,SAACixC,GAAD,OAAOA,GAAKpjD,KACvC,CAAC,IAAD,EACJgjD,EAAI,aAAO,IAAIosC,IAAJ,uBAAYhtF,EAAMoiJ,iBAAlB,CAAmCxkJ,MAC9CymJ,EAAI,UAAGrkJ,EAAMkiJ,sBAAT,aAAG,EAAsBznH,QAAO,SAACR,GAAD,OAAOA,EAAEmpH,yBAA2BxlJ,KAC5EgiH,EAAY,uBAAOA,GAAP,aAAwBykC,IACpC7lJ,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6d,KAAM2hG,EAAcwiC,gBAAiBxhG,EAAM74C,YAAY,QAalFu8I,CAAgB5lJ,GACe,cAApB,OAAJuK,QAAI,IAAJA,OAAA,EAAAA,EAAM4gB,eACbrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOuJ,OAEnClR,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QA8P/B6lJ,mBAjNe,SAACvkG,GACpBhgD,EAAM0/C,WAAaM,EAAO,GAAKhgD,EAAM0/C,WAAaM,EAAO,GAC7DxhD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELs/C,WAAY1/C,EAAM0/C,WAAaM,QA8M3B6jG,kBACAW,kBA7Bc,SAAC5mJ,GAAD,OAAQ,SAACyK,GAC/B,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACVkiD,EAAI,aAAO5gD,EAAMgiJ,eACjB7nH,EAAWn6B,EAAMgiJ,cAAc5nH,WAAU,SAAClR,GAAD,OAAOA,EAAEk6H,0BAA4BxlJ,KAClFgjD,EAAKzmB,GAAL,UAAkBh0B,IAAUzH,EAC5B,IAAM+lJ,EAAK7jG,EAAKzmB,GAAL,4BACD,KAANsqH,GAAmB,MAANA,IACb7jG,EAAKzmB,GAAL,kBAAsC,IAEhC,KAANsqH,GAAmB,MAANA,IACb7jG,EAAKzmB,GAAL,oBAAwC,IAE5C37B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4hJ,cAAephG,SAkBlC8jG,kBA9Cc,WACtB,GAtBmB,WACnB,IAAQrC,EAAiDriJ,EAAjDqiJ,oBAAqBM,EAA4B3iJ,EAA5B2iJ,wBAEzBr0I,GAAc,EACdnB,EAAS,GAcb,MAhBwB,QAGDqB,KAAK6zI,KACxBl1I,EAAOk1I,oBAAsB,qBAC7B/zI,GAAc,GAMbq0I,IACDx1I,EAAOw1I,wBAA0B,qBACjCr0I,GAAc,GAElB9P,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwBmN,OAAQA,OAClCmB,EAIHq2I,GAAkB,CAAC,IAAD,EAIZ/hJ,EAAO,CACT4vI,iCAJO,UAAGxyI,EAAMkiJ,sBAAT,aAAG,EAAsBnyI,MAChC,SAACq0I,GAAD,OAAcA,EAAShB,yBAA2BpjJ,EAAMqiJ,uBAC1D7P,iCAGEoR,0CAA2C5jJ,EAAMqiJ,oBACjDM,wBAAyB3iJ,EAAM2iJ,wBAC/BiC,eAAkD,QAAlC5kJ,EAAM2iJ,wBAAoC,YAAc,cAExE/hG,EAAI,uBAAO5gD,EAAM0iJ,YAAb,CAAyB9/I,IACjCpE,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBsiJ,WAAY9hG,EAAMyhG,oBAAqB,GAAIM,wBAAyB,YAmC3F59E,aA/QS,SAACnnE,GAClB,IAAM0mH,EAAUtkH,EAAMie,KAAKwc,QAAO,SAACn7B,GAAD,OAAUA,EAAK8jJ,0BAA4BxlJ,KACvEinJ,EAAqB7kJ,EAAMoiJ,gBAAgB3nH,QAAO,SAACn7B,GAAD,OAAUA,IAAS1B,KAC3EY,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6d,KAAMqmG,EAAS89B,gBAAiByC,QA6QnDC,kBAhQc,SAACz8I,GACvB,MAAuCA,EAAEE,OAAjCpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOgR,EAArB,EAAqBA,QAASzG,EAA9B,EAA8BA,KACF,cAApB,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAM4gB,eACNrrB,GAAS,SAAC4B,GAAD,yBAAC,eAAaA,GAAd,uBAAmB+F,EAAOuJ,GAA1B,gCAAmD,GAAnD,OAETlR,GAAS,SAAC4B,GAAD,yBAAC,eAAaA,GAAd,uBAAmB+F,EAAOzH,GAA1B,gCAAiD,GAAjD,QA4PLqmJ,eAxIW,SAACniJ,GAAU,IAAD,EACvB0hH,EAAO,UAAGtkH,EAAM0iJ,kBAAT,aAAG,EAAkBjoH,QAAO,SAACn7B,GAAD,OAAUA,EAAKskJ,4CAA8ChhJ,EAAKghJ,6CAC3GplJ,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBsiJ,WAAYp+B,SA2HvC,SAcK/nH,EAAMK,YCjYbyyB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,MAEX,CACIS,IAAK,mCACLxE,KAAM,QAEV,CACIwE,IAAK,iCACLxE,KAAM,eAGR6+I,GAAqB,CACvB,CACIr6I,IAAK,SACLxE,KAAM,SACN+D,MAAO,MAEX,CAAES,IAAK,mCAAoCxE,KAAM,eACjD,CAAEwE,IAAK,iBAAkBxE,KAAM,UAG7B8+I,GAAkB,WACpB,MAWI/mJ,qBAAWujJ,IAVXzhJ,EADJ,EACIA,MACAoO,EAFJ,EAEIA,YACAm2I,EAHJ,EAGIA,mBACAV,EAJJ,EAIIA,gBACAW,EALJ,EAKIA,kBACAE,EANJ,EAMIA,kBACAv6H,EAPJ,EAOIA,aACA46C,EARJ,EAQIA,aACAggF,EATJ,EASIA,eACAD,EAVJ,EAUIA,kBAGEl1H,EAAgB,SAAChtB,GACnB,OACI,qBAAKrF,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAcjZ,QAAS,kBAAMgnE,EAAaniE,EAAKqO,IAAImyI,0BAA0BluI,aAAa,uBAKhGgwI,EAA8B,SAACtiJ,GACjC,OACI,qBAAKrF,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAcjZ,QAAS,kBAAMgnJ,EAAeniJ,EAAKqO,MAAMiE,aAAa,uBAK1EpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,CAACrY,EAAMoiJ,kBAEJ+C,EAAiB/sI,mBAAQ,WAC3B,IAAMC,EAAQ,UAAO2sI,IACjBrzI,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAYg0I,GAEnB7sI,IACR,CAACrY,EAAM0iJ,aAiIV,OACI,qCACI,eAACxjJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAW,MAAOvP,QAAS,EAA3C,UACI,cAACoiJ,GAAD,CAAkB9hG,WAAY1/C,EAAM0/C,aAEpC,cAACxgD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,yBArIhB,WACI,OAAQ5O,EAAM0/C,YACV,KAAK,EACD,OACI,qCACI,cAACxgD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,SACI,cAAC,IAAD,CACInnB,KAAK,iBACLzH,MAAOsB,EAAM2hJ,eACb9yI,WAAW,cACXC,YAAY,cACZ9F,SAAU87I,MAGlB,eAAC5lJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,8BACA,cAAC,IAAD,CACIwF,KAAK,wBACLzH,OAAQsB,EAAMijJ,sBACdj0I,KAAMhP,EAAM8hJ,gBACZ94I,SAAU87I,OAGlB,eAAC5lJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAA9B,UACI,cAAC5sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CAAWwF,KAAK,uBAAuBzH,OAAQsB,EAAMgjJ,qBAAsBh0I,KAAMhP,EAAM8xC,SAAU9oC,SAAU87I,OAE/G,cAAC5lJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,SACI,cAAC,IAAD,CACIzI,KAAK,sBACLzH,MAAOsB,EAAM4hJ,oBACblyI,QAAS1P,EAAM4hJ,oBACf54I,SAAU87I,EACV/7I,MAAM,wBAK1B,KAAK,EACD,OACI,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAW,MAAOvP,QAAS,EAAGE,MAAI,EAACC,GAAI,GAAIqV,QAAQ,aAAnE,UACI,eAAC1V,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CAAWwF,KAAK,eAAezH,OAAQsB,EAAMmiJ,aAAcnzI,KAAMhP,EAAMiiJ,WAAYj5I,SAAUoF,OAEjG,cAAClP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAIrR,MAAO,CAAEyD,UAAW,GAA/C,SACI,cAAC,IAAD,CACIid,KAAMje,EAAMie,KACZnO,QAASA,EAET4P,OAAQ,WAK5B,KAAK,EACD,OAAO1f,EAAMgiJ,cAAcl8I,KAAI,SAACgoB,GAC5B,OACI,qCACI,cAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAGrR,MAAO,CAAEmK,OAAQ,QAA3C,SACI,cAAChH,EAAA,EAAD,CAAYC,QAAM,EAAlB,gBAAoBmtB,QAApB,IAAoBA,OAApB,EAAoBA,EAAG0kH,qCAE3B,eAACtzI,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CACIjC,MAAK,OAAEovB,QAAF,IAAEA,OAAF,EAAEA,EAAGw1H,4BACVn9I,KAAK,8BACL6I,KAAMhP,EAAM6hJ,SACZ74I,SAAUw7I,EAAiB,OAAC12H,QAAD,IAACA,OAAD,EAACA,EAAGs1H,2BAEnC,4BAAIpjJ,EAAMmN,OAAN,mBAAyB2gB,EAAEs1H,+BAEnC,cAAClkJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIC,WAAW,OACXnQ,MAAK,OAAEovB,QAAF,IAAEA,OAAF,EAAEA,EAAGy1H,oBACVp9I,KAAK,sBACL2I,YAAY,OACZ9F,SAAUw7I,EAAiB,OAAC12H,QAAD,IAACA,OAAD,EAACA,EAAGs1H,yBAC/Bj2I,OAAQnN,EAAMmN,OAAN,mBAAyB2gB,EAAEs1H,0BACnCp4I,SAA4C,MAAjC,OAAD8iB,QAAC,IAADA,OAAA,EAAAA,EAAGw1H,8BAAwE,OAAjC,OAADx1H,QAAC,IAADA,OAAA,EAAAA,EAAGw1H,iCAG9D,cAACpkJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,SACI,cAAC,IAAD,CACIlQ,MAAK,OAAEovB,QAAF,IAAEA,OAAF,EAAEA,EAAG01H,kBACVr9I,KAAK,oBACL0I,WAAW,KACXC,YAAY,KACZ9F,SAAUw7I,EAAiB,OAAC12H,QAAD,IAACA,OAAD,EAACA,EAAGs1H,yBAC/Bj2I,OAAQnN,EAAMmN,OAAN,iBAAuB2gB,EAAEs1H,0BACjCp4I,SAA4C,MAAjC,OAAD8iB,QAAC,IAADA,OAAA,EAAAA,EAAGw1H,8BAAwE,OAAjC,OAADx1H,QAAC,IAADA,OAAA,EAAAA,EAAGw1H,uCAM9E,KAAK,EACD,OACI,qCACI,eAACpkJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAGqP,GAAI,EAAtB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,qBACA,cAAC,IAAD,CAAWwF,KAAK,sBAAsBzH,MAAOsB,EAAMqiJ,oBAAqBrzI,KAAMhP,EAAMuiJ,kBAAmBv5I,SAAUoF,IACjH,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOk1I,yBAExC,eAACnjJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,mBACA,cAAC,IAAD,CAAWwF,KAAK,0BAA0BzH,MAAOsB,EAAM2iJ,wBAAyB3zI,KAAMhP,EAAMwiJ,aAAcx5I,SAAUoF,IACpH,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOw1I,6BAExC,eAACzjJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,SAA5B,UACI,cAACR,EAAA,EAAD,UAAa,WACb,cAAC,IAAD,CAAiB3C,QAAS2mJ,EAA1B,oBAEJ,cAACxlJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAIrR,MAAO,CAAEyD,UAAW,GAA/C,SACI,cAAC,IAAD,CACIid,KAAMje,EAAM0iJ,WACZ5yI,QAASq1I,EAETzlI,OAAQ,YAiBvB0lI,MAGL,cAAClmJ,EAAA,EAAD,CAAMC,WAAS,EAACwP,UAAW,MAAOvP,QAAS,EAAG8B,UAAU,oBAAxD,SACI,eAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,SAA7B,UACI,cAAC,IAAD,CAAiB8J,SAA+B,IAArBhL,EAAM0/C,WAAkB3hD,QAAS,kBAAMwmJ,GAAoB,IAAtF,2BAGqB,GAApBvkJ,EAAM0/C,WACH,cAAC,IAAD,CAAiB3hD,QAAS,kBAAM8lJ,EAAgB,IAAhD,uBAEA,cAAC,IAAD,CAAiB9lJ,QAASosB,EAA1B,qCAeT+D,GAPA,SAAC3xB,GACZ,OACI,cAAC,GAAD,2BAAmBA,GAAnB,aACI,cAAC,GAAD,eAAqBA,QClO3B8yB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,IAEX,CACIS,IAAK,iBACLxE,KAAM,eAEV,CACIwE,IAAK,sBACLxE,KAAM,kBAEV,CACIwE,IAAK,sBACLxE,KAAM,YAEV,CACIwE,IAAK,wBACLxE,KAAM,eACN+K,UAAW3E,IAAW62C,qBAE1B,CACIz4C,IAAK,sBACLxE,KAAM,eAIRwR,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,UAAWyR,KAAM,IAAKC,QAAQ,GACtC,CAAE1R,KAAM,aAAcyR,KAAM,IAAKC,QAAQ,IA2G9BwtI,GAxGW,SAAC9oJ,GACIyB,eAAnB6J,eAAR,IAEA,EAA0BtJ,mBAAS,CAC/BwZ,aAAa,EACbhQ,YAAY,EAEZqqI,YAAa,GACb2P,aAAc,KACdtvI,SAAU,OANd,mBAAOzS,EAAP,KAAcxB,EAAd,KASM8mJ,EAAyB,uCAAG,sBAAA7kJ,EAAA,sDAC9BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHY,2CAAH,qDAOzBsnB,EAAY,SAACpiB,GACfnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,EACbgqI,aAAcpsI,QAIhB4vI,EAAmB,SAACtjJ,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,OAEjB9V,GAAOqjJ,KASL11H,EAAgB,SAACtnB,EAAK2I,GACxB,OACI,eAAC/R,EAAA,EAAD,CAAMC,WAAS,EAACyV,QAAQ,eAAetX,WAAW,SAAlD,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CAAYvB,QAAS,kBAAMg6B,EAAU9mB,EAAI8wI,eAAe7sI,aAAa,kBAEzE,cAAChW,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,KAAD,CACIG,MAAM,YACNyV,aAAa,cACbnX,QAAS,kBAhBL,SAACuK,GACrB/L,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,uBAAD,OAAyBvnB,EAAIq5I,eAA7B,YAA+Cr5I,EAAIy5I,gBAchCjyH,CAAgB7e,IAC/B1T,MAAO,CAAEyD,UAAW,MAAOrD,OAAQ,mBAOjDmS,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAEGmtI,EAAYptI,mBAAQ,WACtB,IAAMC,EAAQ,UAAOV,IACjBhG,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA8B,iBAAjBA,EAAQnS,QAInD,OAHIwL,IACAA,EAAU5T,QAAUwnJ,GAEjBltI,IACR,IAEH,OACI,sBAAKnX,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQ6tI,IAEpBxlJ,EAAM+X,YACH,qCACI,uBACA,cAAC,GAAD,CAAiBjb,QAASyoJ,EAAkBxD,aAAc/hJ,EAAM+hJ,kBAGpE,mCACI,cAAC,GAAD,CACIpuI,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAO,cACPmC,SAAS,aACTG,WAAY,kBAAM+iB,EAAU,OAC5BtlB,SAAUzS,EAAMyS,iBCvIlCgzD,GAAa,CACf,CAAEt/D,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,UAAWyR,KAAM,IAAKC,QAAQ,GACtC,CAAE1R,KAAM,eAAgByR,KAAM,yBAkFnB6tI,GA/EmB,SAAClpJ,GAC/B,MAA6CyB,eAAnB6J,GAA1B,EAAQC,iBAAR,EAA0BD,gBAC1B,EAA0BtJ,mBAAS,CAC/B6S,OAAQ,GACR6M,KAAM,GACNlW,YAAY,IAHhB,mBAAO/H,EAAP,KAAcxB,EAAd,KAKM8mJ,EAAyB,uCAAG,gCAAA7kJ,EAAA,sEACd6gJ,GAAiB/kJ,EAAM2P,MAAMC,OAAOvO,IADtB,QAC1BqE,EAD0B,QAGtBoE,UACAq/I,EADS,UACCzjJ,EAAIW,KAAKkN,eADV,aACC,EAAkBhK,KAAI,SAACgoB,GAAD,MAAQ,CACxCnjB,IAAKmjB,EAAE2kH,kCAAkC/iC,OAAO,GAAG7lF,cAAgBiE,EAAE2kH,kCAAkC7kH,MAAM,GAC7GznB,KAAM2nB,EAAE0kH,qCAKZh0I,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELgR,OAAQs0I,GAAW,GACnBznI,KAAMhc,EAAIW,KAAKqb,MAAQ,GACvBlW,YAAY,QAGf9F,EAAIoE,SACLwB,EAAe5F,EAAIyG,SAnBO,2CAAH,qDAuB/BvI,qBAAU,WACNmlJ,MACD,CAAC/oJ,EAAM2P,MAAMC,OAAOvO,KAEvB,IAAM+Z,EAASS,mBAAQ,WACnB,IAAMiuD,EAAU,UAAOZ,IAEvB,OADAY,EAAWh7D,KAAK,CAAElF,KAAK,GAAD,OAAK5J,EAAM2P,MAAMC,OAAOhG,MAAQyR,KAAM,IAAKC,QAAQ,IAClEwuD,IACR,CAAC9pE,EAAM2P,MAAMC,OAAOhG,OAEjBunF,EAAW,uCAAG,gCAAAjtF,EAAA,sEACA8gJ,GAAoBhlJ,EAAM2P,MAAMC,OAAOvO,IADvC,YACZqE,EADY,gCAGN4R,EAAMvI,OAAOqiF,IAAIC,gBAAgB,IAAIC,KAAK,CAAC5rF,EAAIW,SAC/CkrF,EAAO/7E,SAASupD,eAAe,wBAA0BvpD,SAASC,cAAc,MACjFpU,GAAK,sBACVkwF,EAAKC,KAAOl6E,EACZi6E,EAAKE,aAAa,WAAlB,gBAAuC53E,OAASC,OAAO,qBAAvD,UACAtE,SAASyhD,KAAKy6B,YAAYH,GAC1BA,EAAKI,QACLJ,EAAKK,SAVO,mBAWL,GAXK,4CAAH,qDAcjB,OACI,sBAAKjtF,UAAU,SAAf,UACI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CAAaqY,OAAQA,MAExB3X,EAAMie,KAAK1P,OAAS,GACjB,cAACrP,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,IAAD,CAAYG,MAAM,YAAYyB,UAAU,QAAQ4T,KAAMmsB,KAAWl4B,MAAM,WAAWhL,QAAS2vF,SAIvG,cAAC,IAAD,CACIzvE,KAAMje,EAAMie,KACZnO,QAAS9P,EAAMoR,OACfmO,cAAc,EACdC,YAAaxf,EAAM+H,WAGnB0X,UAAQ,EACRC,OAAQ,U,+BClDpBge,I,gBANcn2B,YAAW,CACzBE,KAAM,CACFyC,MAAO,SAIC,CACZ6yB,EAAG,GACHF,EAAG,EACHF,EAAG,IAGHuC,GAAW,UACXC,GAAiB,uBACjBC,GAAc,UACdC,GAAoB,2BACpBsmH,GAAc,UACdC,GAAoB,4BACpBtmH,GAAa,UACbC,GAAmB,yBACnBC,GAAY,UACZC,GAAkB,UAsYPomH,GApYW,WAAO,IAAD,EACxBz4H,EAAkB9sB,IAAW+sB,gBACjC,EAA0B9uB,mBAAS,CAC/BohC,SAAU,GACVC,UAAW,GACXG,WAAY,GACZF,YAAY,IAJhB,mBAAO7/B,EAAP,KAAcxB,EAAd,KAOA,EAA8BD,mBAAS,IAAvC,mBAAOmR,EAAP,KAAgB6yD,EAAhB,KAEA,EAA8BhkE,mBAAS,IAAvC,mBAAgBunJ,GAAhB,WACIC,EAAe,CACf,CACI5oH,KAAM0D,KACNjC,WAAY5+B,EAAM4/B,UAAUS,iBAC5B1jC,MAAOqD,EAAM4/B,UAAUU,YAAc,EACrChC,UAAW,YACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,MAAqB,OAAfwV,QAAe,IAAfA,OAAA,EAAAA,EAAiB0qE,mBAAoB,+BAAiC,IAEhF,CACI36D,KAAM0D,KACNjC,WAAY5+B,EAAM4/B,UAAUW,cAC5B5jC,MAAOqD,EAAM4/B,UAAUY,SAAW,EAClClC,UAAW,UACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,MAAqB,OAAfwV,QAAe,IAAfA,OAAA,EAAAA,EAAiB2qE,gBAAiB,uBAAyB,IAErE,CACI56D,KAAM0D,KACNjC,WAAY5+B,EAAM4/B,UAAUa,WAC5B9jC,MAAOqD,EAAM4/B,UAAUc,KAAO,EAC9BpC,UAAW,MACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,MAAqB,OAAfwV,QAAe,IAAfA,OAAA,EAAAA,EAAiB+qE,YAAa,CAChCtoE,SAAW,kBACX8Q,MAAO,CAAEC,UAAU,IACrB,KAINolH,EAAmB,CACnB,CACIpoJ,GAAI,EACJu/B,KAAM0D,KACNlkC,MAAOqD,EAAM4/B,UAAUmB,cAAgB,EACvCzC,UAAW,WACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,4BAEV,CACIha,GAAI,EACJu/B,KAAMiD,KACNzjC,MAAOqD,EAAM4/B,UAAUoB,UAAY,EACnC1C,UAAW,OACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,4BAEV,CACIha,GAAI,EACJu/B,KAAM8D,KACNtkC,MAAOqD,EAAM4/B,UAAUsB,iBAAmB,EAC1C5C,UAAW,cACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,4BAEV,CACIha,GAAI,EACJu/B,KAAMP,KACNjgC,MAAOqD,EAAM4/B,UAAUuB,YAAc,EACrC7C,UAAW,SACX1+B,WAAY+lJ,GACZhnH,kBAAmBinH,GACnBhuI,KAAM,6BAIVquI,EAAY,CACZ,CACI9oH,KAAM+oH,KAENvpJ,MAAOqD,EAAM4/B,UAAUyB,UAAY,EACnC/C,UAAW,MACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,0BAEV,CACIulB,KAAMmE,KAEN3kC,MAAOqD,EAAM4/B,UAAU2B,gBAAkB,EACzCjD,UAAW,YACX1+B,WAAY+lJ,GACZhnH,kBAAmBinH,GACnBhuI,KAAM,0BAEV,CACIulB,KAAMqE,KAEN7kC,MAAOqD,EAAM4/B,UAAU6B,iBAAmB,EAC1CnD,UAAW,aACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,mCAIVuuI,EAAgB,CAChB,CACIhpH,KAAMgF,KACNxlC,MAAOqD,EAAM4/B,UAAUwC,mBAAqB,EAC5C9D,UAAW,qBACX1+B,WAAYw/B,GACZT,kBAAmBU,GACnBznB,KAAM,8BAEV,CACIulB,KAAMqE,KACN7kC,MAAOqD,EAAM4/B,UAAUyC,kBAAoB,EAC3C/D,UAAW,oBACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,8BAGV,CACIulB,KAAMmF,KAEN3lC,MAAOqD,EAAM4/B,UAAU2C,kBAAoB,EAC3CjE,UAAW,oBACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,8BAEV,CACIulB,KAAM8D,KACNtkC,MAAOqD,EAAM4/B,UAAU4C,mBAAqB,EAC5ClE,UAAW,qBACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,gCAIVwuI,EAAc,CACd,CACIjpH,KAAMmF,KACN3lC,MAAOqD,EAAM4/B,UAAUmD,mBAAqB,EAC5CzE,UAAW,SACX1+B,WAAYs/B,GACZP,kBAAmBQ,GACnBvnB,KAAM,+BAEV,CACIulB,KAAMgF,KACNxlC,MAAOqD,EAAM4/B,UAAUoD,sBAAwB,EAC/C1E,UAAW,UACX1+B,WAAYw/B,GACZT,kBAAmBU,GACnBznB,KAAM,gCAGV,CACIulB,KAAMqE,KAEN7kC,MAAOqD,EAAM4/B,UAAUqD,mBAAqB,EAC5C3E,UAAW,SACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,+BAEV,CACIulB,KAAM8D,KACNtkC,MAAOqD,EAAM4/B,UAAUsD,uBAAyB,EAChD5E,UAAW,aACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,mCAyEVuoB,EAAU,CACVgqE,EAAG47C,EACH37C,GAAI47C,EACJx7C,GAAIy7C,EACJ57C,GAAI87C,EACJ77C,GA1EO,CACP,CACIntE,KAAMqE,KACN/oB,MAAOzY,EAAM4/B,UAAUymH,mBAAqB,EAC5C1pJ,MAAOqD,EAAM4/B,UAAU0mH,cAAgB,EACvChoH,UAAW,WACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,oBAEV,CACIulB,KAAMqE,KACN/oB,MAAOzY,EAAM4/B,UAAU2mH,kBAAoB,EAC3C5pJ,MAAOqD,EAAM4/B,UAAUgD,aAAe,EACtCtE,UAAW,WACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,oBAEV,CACIulB,KAAMqE,KACN7kC,MAAOqD,EAAM4/B,UAAUiD,uBAAyB,EAChDpqB,MAAOzY,EAAM4/B,UAAU4mH,2BAA6B,EACpDloH,UAAW,qBACX1+B,WAAY0/B,GACZX,kBAAmBY,GACnB3nB,KAAM,qBAiDV2yF,GAAI67C,EACJK,GA/Ca,CACb,CACI17I,QAAQ,EACRoyB,KAAMsG,KACN7jC,WAAY4/B,GACZb,kBAAmBc,GACnB9iC,MAAO,MACP2hC,UAAW,aAEX1mB,KAAM,6BAEV,CACI7M,QAAQ,EACRoyB,KAAMsG,KACN7jC,WAAY4/B,GACZb,kBAAmBc,GACnB9iC,MAAO,SACP2hC,UAAW,YACX1mB,KAAM,kCAEV,CACI7M,QAAQ,EACRoyB,KAAMsG,KACN7jC,WAAY4/B,GACZb,kBAAmBc,GACnB9iC,MAAO,YACP2hC,UAAW,aACX1mB,KAAM,uCAuBdzX,oBAAS,sBAAC,8BAAAM,EAAA,sEACUimJ,eADV,OACFzkJ,EADE,OAEA2hC,EAAQ3hC,EAAIW,KAAKkhC,gBACvB5H,IACA19B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELw/B,UAAWgE,EAAM,QANf,2CAQP,IAEH,IAAM1H,EAAiB,uCAAG,4BAAAz7B,EAAA,sEACFm6B,GAAuB,qBADrB,OAClBsJ,EADkB,OAEtB1lC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2/B,WAAU,OAAEmE,QAAF,IAAEA,OAAF,EAAEA,EAASthC,KAAK04B,mBAJR,2CAAH,qDAevB,IAAMqrH,EAAe,WACjBnoJ,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELy/B,YAAaz/B,EAAGy/B,iBAIxB1/B,qBAAU,WACN,IAAI0rB,EAAI+6H,aAAaC,QAAQ,eACzBv+I,EAAMw+I,KAAKC,MAAMl7H,GACjBvjB,GACAw9I,GAAW,SAAC1lJ,GAAD,mBAAC,eACLA,GADI,IAEP4mJ,OAAM,OAAE1+I,QAAF,IAAEA,OAAF,EAAEA,EAAK2+I,QAAQD,OACrBE,OAAM,OAAE5+I,QAAF,IAAEA,OAAF,EAAEA,EAAK2+I,QAAQC,OACrBC,OAAM,OAAE7+I,QAAF,IAAEA,OAAF,EAAEA,EAAK2+I,QAAQE,OACrBrnH,UAAa,OAAHx3B,QAAG,IAAHA,OAAA,EAAAA,EAAKw3B,WAAY,SAGpC,IAEH,IAAMsnH,EAAY,WACd,IAAM5kF,EAAe,SAACn6D,GAClB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QAEd6yD,GAAW,SAACniE,GAAD,mBAAC,eACLA,GADI,kBAEN+F,EAAOuJ,QAIhB,OACI,eAACxQ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGwV,QAAQ,aAApC,UACK5U,EAAM+/B,YACH//B,EAAM+/B,WAAWj6B,KAAI,SAACgoB,GAAD,OACjB,eAAC5uB,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,EAAzB,UACI,cAACL,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAACmK,GAAA,EAAD,CAAYm2E,QAAQ,KAApB,SAA0B/xD,EAAE8W,eAEhC,cAAC1lC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAACinF,GAAA,EAAD,CACI92E,QAASA,EAAQoe,EAAE8W,YACnB57B,SAAUw5D,EACVr8D,KAAM2nB,EAAE8W,WACRnX,WAAY,CAAE,aAAc,gCAKhD,cAACvuB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CAAiBxB,QAAS4oJ,EAA1B,0BAMhB,OACI,sBAAKzlJ,UAAU,qBAAf,UACI,cAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UAIK,UAAAY,EAAM+/B,kBAAN,eAAkBxxB,QAAS,EACxBvO,EAAM+/B,WAAWj6B,KAAI,SAACgoB,EAAGmM,GACrB,IAAIgE,EAAKP,GAAU5P,EAAE+N,gBACjBrjB,EAAO2nB,EAAQrS,EAAE8N,cACrB,OACI,cAAC18B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI0e,GAAW,IAAP2Q,EAAW,EAAIA,EAAI1Q,GAAW,IAAP0Q,EAAW,EAAIA,EAAI1gC,MAAO,CAAE8B,QAAS,WAAak/B,GAAIN,EAA5G,SACI,cAAC,GAAD,CACIzlB,KAAMA,GAAQ,GACdsjB,QAAShO,EAAEgO,QACXiC,QAASjQ,EAAE8W,WACX1G,YAAapQ,EAAE+N,eACfH,SAAU5N,EAAE8N,aACZiJ,WAAY/W,EAAEsN,MACdO,aAAc7N,EAAE6N,aAChBO,kBAAmBA,KAT0FjC,MAe7H,qBAAK18B,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,GAAD,QAIXlK,EAAM6/B,WACH,cAACnjC,GAAA,EAAD,CAAYI,QAAS6pJ,EAAchqJ,MAAO,cAA1C,SACI,cAACyqJ,EAAD,MAEJ,SC7aV/3H,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,MAEX,CAAES,IAAK,kBAAmBxE,KAAM,OAAQ+D,MAAO,OAC/C,CAAES,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,OACrD,CACIS,IAAK,iBACLxE,KAAM,UACN+K,UAAW,SAACtO,GAAD,mBAAU2J,IAAW2iB,iBAAX,UAA4BtsB,EAAKqO,WAAjC,aAA4B,EAAUo2I,cAAtC,UAAqDzkJ,EAAKqO,WAA1D,aAAqD,EAAUq2I,cAA/D,UAA8E1kJ,EAAKqO,WAAnF,aAA8E,EAAUg8G,WAAxF,UAAoGrqH,EAAKqO,WAAzG,aAAoG,EAAUi8G,iBAIrIv1G,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,UAAW0R,QAAQ,IAoFhB0vI,GAjFc,SAAChrJ,GAC1B,IAAI6wB,EAAkB9sB,IAAW+sB,gBAGjC,GAF2BrvB,eAAnB6J,eAEkBtJ,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZ+lH,WAAY,GACZrrE,SAAU,QAJd,mBAAOziD,EAAP,KAAcxB,EAAd,KAOMuvH,EAAwB,uCAAG,sBAAAttH,EAAA,sDAC7BjC,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqS,SAAU,IAAIhC,UADZ,2CAAH,qDAI9BtQ,oBAAS,sBAAC,sBAAAM,EAAA,sDACNstH,IADM,2CAEP,IAEH,IAsBMn+F,EAAgB,SAAChtB,EAAMqO,GACzB,OAAO,cAAC,IAAD,CAAYiE,aAAa,cAAcnX,QAAS,kBARlCuK,EAQwD2I,OAP7E1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,0BAAD,OAA4BvnB,EAAIiwD,SAAhC,YAA4CjwD,EAAIwkH,iBACxD3mH,KAAMmC,EAAIzE,aAHM,IAACyE,MAWnBwH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAC/CqjH,EAAgB31G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,oBAAhBA,EAAQ3N,OAOvD,OANIgH,IACAA,EAAUT,UAAY0e,GAEtBo+F,IACAA,EAAc98G,UAAY,SAACtO,GAAD,OAAUA,EAAKqO,IAAI67G,gBAAkB,IAAMlqH,EAAKqO,IAAIw7G,iBAE3Ep0G,IACR,IAEH,OACI,qBAAKnX,UAAU,SAAf,SACKlB,EAAMuvB,KACH,cAAC,GAAD,CAAekzB,SAAUziD,EAAMyiD,SAAUr4B,aAnC5B,SAACnoB,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,OAEVttB,GAAO8rH,OAgCC,qCACI,cAAC,IAAD,CAAap2G,OAAQA,KACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAO,UACPiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAKk2D,QAClBrgD,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBuC,WAtDF,WACdxW,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,QAoDM1a,UAAyB,OAAfuY,QAAe,IAAfA,OAAA,EAAAA,EAAiBo6H,eAAgB,aAAe,aC3F5E/hF,GAAa,CAAC,CAAEt/D,KAAM,OAAQyR,KAAM,KAAO,CAAEzR,KAAM,eAAiB,CAAEA,KAAM,aAAc0R,QAAQ,IAElGwX,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CACIxG,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAEX,CAAES,IAAK,wBAAyBxE,KAAM,YAAa+D,MAAO,KAC1D,CAAES,IAAK,oBAAqBxE,KAAM,kBAClC,CAAEwE,IAAK,oBAAqBxE,KAAM,cAAe+D,MAAO,KACxD,CAAES,IAAK,6BAA8BxE,KAAM,SAAU+D,MAAO,KAC5D,CAAES,IAAK,aAAcxE,KAAM,aAAc+D,MAAO,MAyMrCu9I,GAtMoB,SAAClrJ,GAChC,IAAI6wB,EAAkB9sB,IAAW+sB,gBAEjC,EAA0B9uB,mBAAS,CAC/BooE,cAAe,GACf9pD,QAAQ,EACR9E,aAAa,EACb6uD,QAAS,KACTf,aAAc,KACdhzD,UAAW,GACX0c,MAAM,EACNw2C,gBAAiB,OARrB,mBAAO/lE,EAAP,KAAcxB,EAAd,KAqBM04B,EAAa,SAACj1B,GAChBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyS,UAAW,GACXkF,aAAa,EACbwX,MAAM,EACNq3C,QAAS,KACTf,aAAc,UAElB5jE,GAAO4kE,KAGX1mE,oBAAS,sBAAC,4BAAAM,EAAA,yDACDlE,EAAM0sC,UADL,qBAEEjpC,EAAM6S,UAAUtE,OAAS,GAF3B,gCAG0B7L,GAAqB1C,EAAM6S,WAHrD,OAGMizD,EAHN,OAIEtnE,GAAS,SAAC4B,GAAQ,IAAD,EAEe,EADxBg8B,EAAK,eAAQh8B,IACjB,UAAI0lE,EAAYljE,YAAhB,aAAI,EAAkB4V,OAClB4jB,EAAM7M,KAAOu2C,EAAYz/D,QACzB+1B,EAAM2pC,gBAAN,UAAwBD,EAAYljE,YAApC,aAAwB,EAAkB4V,KAAK,GAAGzV,UAClDq5B,EAAM3pB,SAAW,IAAIhC,MAErB2rB,EAAM7M,MAAO,EAEjB,OAAO6M,KAbb,sBAgBE59B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAM,OAhBnC,2CAqBP,CAACvvB,EAAM6S,UAAWtW,EAAM2P,QAE3B/L,qBAAU,WACN0mE,MACD,IAEH,IAAMA,EAA2B,uCAAG,wCAAApmE,EAAA,sDAC5BqmE,EAAiB,GACjBvqE,EAAM0sC,YACN69B,EAAiB,IAEY,WAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,MAEY,WAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,MAEY,SAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,IAErBtoE,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB0mE,eAAgBA,OAdX,2CAAH,qDAiB7BN,EAAe,6BAAyBjqE,EAAM0sC,UAAN,oBAA+B1sC,EAAM0sC,WAAc,GAA5E,0BAAgGjpC,EAAM8mE,gBAgBnHl3C,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,eAAC/R,EAAA,EAAD,CAAMI,MAAI,EAAV,UACI,cAAC,KAAD,CACIwV,KAAMmsB,KACNxhC,MAAM,YACNyB,UAAU,6BACVgU,aAAa,iBAEbnX,QAAS,kBAhBIuK,EAgBsB2I,OAf/C1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,gCAAD,cAAkCvnB,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAKzF,SAAvC,mBAAmDyF,QAAnD,IAAmDA,OAAnD,EAAmDA,EAAKxF,iBAChE9C,MAAO,SAHa,IAACsI,MAmBD,OAAf8kB,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,KAAD,CACIzsC,KAAM0sC,KACN/hD,MAAM,YACNyB,UAAU,6BACVgU,aAAa,cACbnX,QAAS,kBAhCJuK,EAgC0B2I,OA/B/C1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKg+F,YAAnC,mBAAkDh+F,QAAlD,IAAkDA,OAAlD,EAAkDA,EAAKxF,iBAC/D9C,MAAO,cAHS,IAACsI,SAuCnBwH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAQnD,OAPIgH,IACAA,EAAUT,UAAY0e,GAErBrzB,EAAM0sC,WACP5wB,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,MAGxEmO,IACR,IAEGV,EAASS,mBAAQ,WACnB,IAAMC,EAAQ,UAAOotD,IACjB9zD,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA8B,eAAjBA,EAAQnS,QAKnD,OAJIwL,IACAA,EAAU5T,QAAUm5B,GAGjB7e,IACR,IACG+sD,EAAgBplE,EAAMuvB,MAAShzB,EAAM0sC,UAAiB,gBAAL,GAUvD,OACI,sBAAK/nC,UAAY3E,EAAMimD,SAAsB,GAA7B,SAAhB,UACwB,aAAnBjmD,EAAMimD,SACH,sBAAKjlD,MAAO,CAAE2M,MAAO,OAAQ7M,QAAS,OAAQC,WAAY,SAAU+wD,aAAc,SAAU7wD,SAAU,WAAY4uB,IAAK,GAAvH,UACI,qBAAK7uB,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,IAAD,CAAayN,OAAQA,EAAQzW,UAAU,6BAF/C,WAKMlB,EAAM4mE,SAAY5mE,EAAM6lE,aAItB,KAHA,qBAAKtoE,MAAO,CAAE2M,MAAO,QAArB,SACI,uBAAOjB,KAAK,OAAOD,SAlBvB,SAACX,GACjB,IAAM3J,EAAQ2J,EAAEE,OAAO7J,MACvBF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyS,UAAWnU,QAc+CoQ,YAAY,mBAAmBpQ,MAAOsB,EAAM6S,UAAWtV,MAAO,CAAE8B,QAAS,UAI/H,KACHW,EAAM+X,YACH,qCACI,uBACA,cAAC,GAAD,CACIkxB,UAAW1sC,EAAM0sC,WAAajpC,EAAM6lE,cAAgB7lE,EAAM+lE,gBAC1DjpE,QAAS,kBAAMo6B,GAAW,IAC1B83B,YAAahvD,EAAM4mE,QACnBnZ,iBAAiB,EACjBV,UAAW/sD,EAAM+sD,eAIzB,cAAC,GAAD,CACIj9C,QAASA,EACT4C,OAAQ8zD,EACR7yD,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAUuwD,EACVpwD,WAAY,kBA/KH7I,EA+KyB,KA/KjB88B,EA+KuBjpC,EAAM+lE,gBA/KlBhZ,EA+KmC,WA9K3EvuD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,EACb6uD,QAASz6D,EACT05D,aAAc58B,EACd8jB,UAAWA,OANK,IAAC5gD,EAAQ88B,EAAW8jB,GAgL5Bt7C,YAAY,WACZjB,uBAAuB,wBC9MrCi1D,GAAa,CACf,CAAEt/D,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,cAAe0R,QAAQ,GAC/B,CAAE1R,KAAM,UAAWyR,KAAM,IAAKC,QAAQ,IAGpCwX,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CACIxG,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAEX,CAAES,IAAK,wBAAyBxE,KAAM,YAAa+D,MAAO,IAC1D,CAAES,IAAK,oBAAqBxE,KAAM,kBAClC,CAAEwE,IAAK,oBAAqBxE,KAAM,cAAe+D,MAAO,KACxD,CAAES,IAAK,6BAA8BxE,KAAM,SAAU+D,MAAO,KAC5D,CAAES,IAAK,aAAcxE,KAAM,aAAc+D,MAAO,MAiLrCw9I,GA9Ke,SAACnrJ,GAC3B,MAA0BgC,mBAAS,CAC/BwZ,aAAa,EACb8tD,aAAc,KACdhjE,SAAU,KACVmM,KAAM,GACNjH,YAAY,EACZ4xC,SAAU,UACV9mC,UAAW,GACXkzD,gBAAiB,OARrB,mBAAO/lE,EAAP,KAAcxB,EAAd,KAUI4uB,EAAkB9sB,IAAW+sB,gBAEjCltB,oBAAS,sBAAC,sBAAAM,EAAA,sDACiB,aAAnBlE,EAAMimD,UACNhkD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELu5C,SAAUp9C,EAAMimD,cAJlB,2CAOP,IAEHriD,oBAAS,sBAAC,4BAAAM,EAAA,yDACDlE,EAAM0sC,UADL,qBAEEjpC,EAAM6S,UAAUtE,OAAS,GAF3B,gCAG0B7L,GAAqB1C,EAAM6S,WAHrD,OAGMizD,EAHN,OAKEtnE,GAAS,SAAC4B,GAAQ,IAAD,EAEe,EADxBg8B,EAAK,eAAQh8B,IACjB,UAAI0lE,EAAYljE,YAAhB,aAAI,EAAkB4V,OAClB4jB,EAAM7M,KAAOu2C,EAAYz/D,QACzB+1B,EAAM2pC,gBAAN,UAAwBD,EAAYljE,YAApC,aAAwB,EAAkB4V,KAAK,GAAGzV,UAClDq5B,EAAM3pB,SAAW,IAAIhC,MAErB2rB,EAAM7M,MAAO,EAEjB,OAAO6M,KAdb,sBAiBE59B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAM,OAjBnC,2CAoBP,CAACvvB,EAAM6S,YAEV,IAAMmzD,EAAW,uCAAG,sBAAAvlE,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBqS,SAAU,IAAIhC,UADzB,2CAAH,qDAgBXyH,EAAa,SAACtV,EAAMqO,GACtB,OACI,sBAAK1T,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,UACI,cAAC,KAAD,CACI/Z,KAAMmsB,KACNxhC,MAAM,YACNyB,UAAU,6BACVgU,aAAa,iBAEbnX,QAAS,kBAhBCuK,EAgBsB2I,OAf5C1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKzF,SAAnC,mBAA+CyF,QAA/C,IAA+CA,OAA/C,EAA+CA,EAAKxF,iBAC5D9C,MAAO,SAHU,IAACsI,MAmBE,OAAf8kB,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,KAAD,CACIzsC,KAAM0sC,KACN/hD,MAAM,YACNyB,UAAU,6BACVgU,aAAa,mBACbnX,QAAS,kBA/BJuK,EA+B0B2I,OA9B/C1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKg+F,YAAnC,mBAAkDh+F,QAAlD,IAAkDA,OAAlD,EAAkDA,EAAKxF,iBAC/D9C,MAAO,YAHS,IAACsI,SAsCrBk+D,EAAe,wBAAoBjqE,EAAM0sC,UAAN,qBAAgC1sC,EAAM0sC,WAAc,IAErFn5B,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAOnD,OANIgH,IACAA,EAAUT,UAAYgH,GAErB3b,EAAM0sC,WACP5wB,EAAS4f,OAAO,EAAG,EAAG,CAAEttB,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,MAExEmO,IACR,IAMG+C,EAAoB,SAACnZ,EAAK8qD,GAC5BvuD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,kBAAyB+sD,GAAY,OAC9C9qD,GAAO+jE,KAGLruD,EAASS,mBAAQ,WACnB,IAAMC,EAAQ,UAAOotD,IACjB9zD,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA8B,YAAjBA,EAAQnS,QAKnD,OAJIwL,IACAA,EAAU5T,QAAUqd,GAGjB/C,IACR,IAUG+sD,EAAgBplE,EAAMuvB,MAAShzB,EAAM0sC,UAAiB,aAAL,GAEvD,OACI,qBAAK/nC,UAAY3E,EAAM0sC,UAAuB,GAA9B,SAAkC1rC,MAAO,CAAEyD,UAAW,GAAtE,SACKhB,EAAM+X,YACH,cAAC,GAAD,CACIlV,SAAU7C,EAAM6C,SAChBomC,UAAW1sC,EAAM0sC,WAAajpC,EAAM6lE,cAAgB7lE,EAAM+lE,gBAC1DjpE,QAAS,kBAAMse,GAAkB,EAAM,gBACvCu+B,SAAU35C,EAAM25C,SAChB8T,iBAAiB,IAErBztD,EAAMsmE,gBACN,cAAC,GAAD,CACIzjE,SAAU7C,EAAM6C,SAChBomC,UAAW1sC,EAAM0sC,WAAajpC,EAAM6lE,cAAgB7lE,EAAM+lE,gBAC1DjpE,QAAS,kBAAMse,GAAkB,EAAM,oBACvCu+B,SAAU35C,EAAM25C,WAGpB,qCACI,sBAAKp8C,MAAO,CAAE2M,MAAO,OAAQ7M,QAAS,OAAQC,WAAY,SAAU+wD,aAAc,SAAU7wD,SAAU,WAAY4uB,IAAK,GAAvH,UACI,qBAAK7uB,MAAO,CAAE2M,MAAO,QAArB,UAAiC3N,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,MAD7E,WAGI,qBAAKpa,MAAO,CAAE2M,MAAO,QAArB,SACI,uBAAOjB,KAAK,OAAOD,SAjCvB,SAACX,GACjB,IAAM3J,EAAQ2J,EAAEE,OAAO7J,MACvBF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyS,UAAWnU,QA6B+CoQ,YAAY,mBAAmBpQ,MAAOsB,EAAM6S,UAAWtV,MAAO,CAAE8B,QAAS,UAI3H,cAAC,GAAD,CACIyQ,QAASA,EACT4C,OAAQ8zD,EACR7yD,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAUuwD,EACVpwD,WAAY,kBAjEVnS,EAiE6B,KAjEnBomC,EAiEyBjpC,EAAM+lE,gBAjEpBhZ,EAiEqC,mBAhE5EvuD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,gBAAwB6C,SAAUA,EAAUgjE,aAAc58B,GAAY8jB,GAAY,OAD1E,IAAClqD,EAAUomC,EAAW8jB,GAkEvBt7C,YAAY,WACZjB,uBAAuB,uBCxMlCm3I,GAAuB,uCAAG,4BAAAlnJ,EAAA,sEACnB6B,aAAY,0BADO,cAC/BL,EAD+B,yBAE5BA,GAF4B,2CAAH,qDCO9B0V,GAAS,CAAC,CAAExR,KAAM,OAAQyR,KAAM,KAAO,CAAEzR,KAAM,eAAiB,CAAEA,KAAM,iBAAkByR,KAAM,IAAKC,QAAQ,IAE7GwX,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CAAExG,IAAK,mBAAoBxE,KAAM,cACjC,CAAEwE,IAAK,6BAA8BxE,KAAM,gBAAiB+K,UAAW3E,IAAWE,eAClF,CAAE9B,IAAK,0BAA2BxE,KAAM,UACxC,CAAEwE,IAAK,2BAA4BxE,KAAM,YACzC,CAAEwE,IAAK,iCAAkCxE,KAAM,oBA6DpCyhJ,GA1DmB,SAACrrJ,GAC/B,MAA0BgC,mBAAS,CAAEwZ,aAAa,EAAO8tD,aAAc,KAAMhjE,SAAU,KAAMmM,KAAM,GAAIjH,YAAY,IAAnH,mBAAO/H,EAAP,KAAcxB,EAAd,KAEA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNulE,IADM,2CAEP,IAEH,IAAMA,EAAW,uCAAG,4BAAAvlE,EAAA,sEACAknJ,KADA,OACZ1lJ,EADY,OAEO,aAAnB1F,EAAMimD,UACNhkD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL4O,KAAM/M,EAAIW,KAAK4V,KACfzQ,YAAY,EACZ4xC,SAAUp9C,EAAMimD,cAPR,2CAAH,qDAYXtqC,EAAa,SAACtV,GAChB,OACI,qBAAKrF,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,UAA/C,SACI,cAAC,IAAD,CAAY3Z,aAAa,aAAanX,QAAS,kBAAM6xD,MAAM,wBAKjE9/C,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAEH,OACI,sBAAKnX,UAAY3E,EAAM0sC,UAAuB,GAA9B,SAAkC1rC,MAAO,CAAEyD,UAAW,GAAtE,WACMzE,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,KAEzC3X,EAAM+X,YACH,8CAEA,cAAC,KAAD,CACIjI,QAASA,EACT5O,UAAU,gBACV+c,KAAMje,EAAMgP,KACZuQ,cAAc,EACdC,YAAaxf,EAAM+H,WACnBuX,cAAc,EACdG,UAAQ,EACRC,OAAQ,UC5CtBggG,GAAqB,CACvB,CAAEv5G,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YAAa0R,QAAQ,IAG3B4tD,GAAa,CACf,CAAEt/D,KAAM,OAAQyR,KAAM,KAEtB,CAAEzR,KAAM,YAAa0R,QAAQ,IAG3BT,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CAAExG,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,KACtD,CAAES,IAAK,oBAAqBxE,KAAM,QAAS+D,MAAO,KAClD,CACIS,IAAK,kBACLxE,KAAM,MACN+D,MAAO,KAEX,CACIS,IAAK,+BACLxE,KAAM,YACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,IAGX,CACIS,IAAK,cACLxE,KAAM,SACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAOX,CACIS,IAAK,yBACLxE,KAAM,YACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAEX,CAAES,IAAK,YAAaxE,KAAM,SAC1B,CACIwE,IAAK,YACLxE,KAAM,SAEV,CAAEwE,IAAK,wBAAyBxE,KAAM,WAwS3B0hJ,GArSqB,SAACtrJ,GAAW,IAAD,MACvC6wB,EAAkB9sB,IAAW+sB,gBACjC,EAA0B9uB,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBgV,OAAO,EACPzyB,SAAU,OALd,mBAAOzS,EAAP,KAAcxB,EAAd,KAQQ0xC,EAAc3lC,eAAd2lC,UACJ9kC,EAAU8b,eACR6kC,EAAiB7b,EAAUh8B,SAAS,gBAG1C,EAAoC3V,mBAAS,IAA7C,mBAAOk6E,EAAP,KAAmBC,EAAnB,KACAv4E,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,WAAC5hB,EAAM2P,MAAMC,cAAb,aAAC,EAAoB46D,MAExB,IAAM5oD,EAAW,uCAAG,sBAAA1d,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAoBXyH,EAAa,SAAC6C,EAAI9J,GACpB,OACI,sBAAK1T,MAAO,CAAEyZ,UAAW,SAAU3Z,QAAS,OAAQwxB,eAAgB,iBAApE,UACqC,IAA7B,OAAH5d,QAAG,IAAHA,OAAA,EAAAA,EAAKkoE,2BAAL,OAAqC/rD,QAArC,IAAqCA,OAArC,EAAqCA,EAAiBiuD,mBACnD,cAAC,KAAD,CACIvmE,KAAMskE,KACNl4E,UAAU,oBACVnD,QAAS,WACLs7E,EAAYpoE,EAAK,+BAErBiE,aAAa,uBAGE,OAAnB,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAK8oE,eACF,cAAC,KAAD,CACIjlE,KAAMy4E,KACN9tF,MAAM,UACNyB,UAAU,oBACVnD,QAAS,WACLs7E,EAAYpoE,EAAK,UAErBiE,aAAa,UAIW,OAA5B,OAAHjE,QAAG,IAAHA,OAAA,EAAAA,EAAKgpE,wBACF,cAAC,KAAD,CACInlE,KAAM0iD,KACNt2D,UAAU,oBACVnD,QAAS,WACLs7E,EAAYpoE,EAAK,WAErBiE,aAAa,+BAmB3B+wD,EAAsB,SAAC,EAActzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACrBoG,GAD0C,EAAhB2Y,IACpBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKha,MAAO,CAAEI,OAAQ,UAAWsX,WAAY,QAAUlX,QAAS,kBA7D5CuK,EA6DqE2I,OA5D7F7F,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6BvnB,EAAIqwE,mBACzCvsE,OAAQ,GACRpM,MAAO,CAAEsQ,UAAWhI,EAAIgI,aAJL,IAAChI,GA6DpB,SACK2I,EAAI8B,mBAIb,OADAT,IAASC,OAAOgF,EAAKF,GACdA,GAGL8uD,EAAkB,SAAC,EAAcxzD,GAAU,IAAtB1B,EAAqB,EAArBA,IACjBoG,GADsC,EAAhB2Y,IAChBje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAtBA,SAACkT,EAAK9K,GACxB3H,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,gBAEL8vB,gBAAiBjf,GAChB9K,GAAO,OAkBYgqB,CAAclf,EAAK,gBAAgB1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAA/G,SACKhE,EAAI+1C,YAIb,OADA10C,IAASC,OAAOgF,EAAKF,GACdA,GAGLkjE,EAAmB,SAAC,GAAqB,IAlCxBvxC,EAkCK/3B,EAAkB,EAAlBA,IACpBupE,GADsC,EAAbppE,OACb,SACZ02I,EAAY,GACVptE,EAAUzpE,EAAIgkD,gBACdmpD,EAAiBntG,EAAIopE,uBAErB0tE,EAAU3xI,KAAOskE,GACjBstE,EAAW5xI,OAASgpE,KAAK2oE,EAAS,QAMxC,OAJK3pC,GAAkB4pC,EAAW,IAC9BxtE,EAAY,MACZstE,EAAY,QAEV,sBAAN,OAA6BttE,EAA7B,0BAAwDstE,EAAxD,eA/CmB9+G,EA+CkE0xC,GA9CvEtkE,KAAO4yB,GAAM3yB,OAAO,cAAgB,QA8ClD,WAGEvG,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OACnCiwE,EAAaviE,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,oBAAVA,EAAEsC,OACpCiuF,EAAevgF,EAAStI,MAAK,SAACuI,GAAD,MAA6B,qBAAhBA,EAAQ3N,OAClDswE,EAAW5iE,EAAStI,MAAK,SAACuI,GAAD,MAA6B,cAAhBA,EAAQ3N,OAalD,OAZIgH,IACAA,EAAUT,UAAYgH,GAEtB0iE,IACAA,EAAW1pE,UAAYqpE,GAEvBqe,IACAA,EAAa1nF,UAAY+0D,GAEzBgV,IACAA,EAAS/pE,UAAYi1D,GAElB9tD,IACR,IAEG4nG,EAAoB7nG,mBAAQ,WAAO,IAAD,QAC9BygF,EAAS,UAAOpzB,IAYtB,MAXgC,OAA5B,UAAAlpE,EAAM2P,MAAMC,cAAZ,eAAoB46D,KACpB8xB,EAAUxtF,KAAK,CAAElF,KAAM,SACY,OAA5B,UAAA5J,EAAM2P,MAAMC,cAAZ,eAAoB46D,KAC3B8xB,EAAUxtF,KAAK,CAAElF,KAAM,wBACY,OAA5B,UAAA5J,EAAM2P,MAAMC,cAAZ,eAAoB46D,KAC3B8xB,EAAUxtF,KAAK,CAAElF,KAAM,qBACY,OAA5B,UAAA5J,EAAM2P,MAAMC,cAAZ,eAAoB46D,KAC3B8xB,EAAUxtF,KAAK,CAAElF,KAAM,4BAEvB0yF,EAAUxtF,KAAK,CAAElF,KAAM,gBAAiB0R,QAAQ,IAE7CghF,IACR,WAACt8F,EAAM2P,MAAMC,cAAb,aAAC,EAAoB46D,MAUlB32C,EAAc,SAACnuB,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACN8yB,gBAAiB,QAErBjuB,GAAOkc,KAEL+8D,EAAiB,SAACj5E,GACpBy2E,EAAc,IACdz2E,GAAOkc,KAGLk7D,EAAc,SAACpoE,EAAKlI,GACtB2vE,EAAc,eAAG3vE,GAAQ,IACzBvK,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8vB,gBAAiBjf,EACjB0nE,kBAAmB1nE,EAAI0nE,wBAWzBonC,EAAmB,SAAC99G,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNg9C,aAAa,EACb/pB,mBAAmB,EACnB49B,gBAAgB,OAEpBhsD,GAAOkc,KAGPzL,EAAM,mCAAqBnW,EAAM2P,MAAMC,cAAjC,aAAqB,EAAoB46D,KAEnD,OACI,sBAAK7lE,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQo0C,EAAiB2zD,GAAqBO,IAY3D,cAAC,GAAD,CACInwG,QAASA,EACT2B,YAAW,WAAoB,OAAf2b,QAAe,IAAfA,OAAA,EAAAA,EAAiBguD,oBAAjB,OAAqChuD,QAArC,IAAqCA,OAArC,EAAqCA,EAAiBiuD,kBAAmB,aAAe,MACxG7qE,uBAAsB,WAAoB,OAAf4c,QAAe,IAAfA,OAAA,EAAAA,EAAiBguD,oBAAjB,OAAqChuD,QAArC,IAAqCA,OAArC,EAAqCA,EAAiBiuD,kBAAmB,4BAA8B,MAClI1nE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAKykE,UAClB5uD,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBC,OAAQA,EACRyD,gBAAgB,kBAGnBnW,EAAM5C,KACH,cAACV,GAAA,EAAD,CACIU,KAAM4C,EAAM5C,KACZN,QAAS,WACLszB,GAAY,IAEhBzzB,MAAOqD,EAAMklC,MAAQ,eAAiB,gBACtCnoC,SAAS,KACToJ,KAAK,UAPT,SASI,cAAC,GAAD,CACIvD,KAAM5C,EACNklC,MAAOllC,EAAMklC,MACb0wB,WAAY51D,EAAMkwB,gBAAgB8kC,WAClCz4C,UAAWvc,EAAM24E,kBACjB77E,QAAS,WACLszB,GAAY,QAIxB,KACHqoD,EAAW6C,MACR,cAAC5+E,GAAA,EAAD,CAAYC,MAAM,iBAAiBI,SAAS,KAAKD,QAASo+E,EAA1D,SACI,cAAC,GAAD,CAAe3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAE9G,KACHzC,EAAWv+B,OACR,cAACx9C,GAAA,EAAD,CAAYC,MAAM,2BAA2BI,SAAS,KAAKD,QAASo+E,EAApE,SACI,cAAC,GAAD,CAAuB3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAEtH,KACHzC,EAAW8C,QACR,cAAC7+E,GAAA,EAAD,CAAYC,MAAM,kBAAkBI,SAAS,KAAKD,QAASo+E,EAA3D,SACI,cAAC,GAAD,CAAwB3+D,UAAWvc,EAAM24E,kBAAmB/iB,WAAY51D,EAAMkwB,gBAAgB8kC,WAAYl4D,QAASo+E,MAEvH,KACHl7E,EAAMo6C,YACH,cAAC19C,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAASijH,EAAkBpjH,MAAO,wBAA1D,SACI,cAAC,GAAD,CAAqB21B,eAAgBtyB,EAAMkwB,gBAAgBoC,eAAgBlI,aAAc21F,MAE7F,KACHtnC,EAAWiD,2BACR,cAACh/E,GAAA,EAAD,CAAYU,MAAM,EAAMN,QAAS,kBAAMo+E,GAAe,IAAQv+E,MAAO,qBAAsBI,SAAS,KAAK4C,WAAS,EAAlH,SACI,cAAC,GAAD,CAAwB+2E,QAAS12E,EAAMkwB,gBAAiB9F,aAAc8wD,MAE1E,SCrWV7rD,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,GACPiH,qBAAqB,GAEzB,CAAExG,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,KACtD,CAAES,IAAK,mBAAoBxE,KAAM,cACjC,CACIwE,IAAK,4BACLxE,KAAM,cACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAEX,CACIS,IAAK,mBACLxE,KAAM,aACN+K,UAAW3E,IAAWguE,iBACtBrwE,MAAO,KAEX,CACIS,IAAK,gBACLxE,KAAM,UACN+K,UAAW3E,IAAWguE,iBACtBrwE,MAAO,MAITu7D,GAAa,CACf,CAAEt/D,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAY0R,QAAQ,IAyGjBowI,GAtGe,SAAC1rJ,GACAyB,eAAnB6J,eAD8B,IAAD,MAGrC,EAA0BtJ,mBAAS,CAC/BgxB,MAAM,EACN+oE,eAAe,EACfvwF,YAAY,EACZwwF,YAAa,GACbtvD,UAAW,KACXrrC,GAAE,UAAErB,EAAM2P,MAAMC,cAAd,aAAE,EAAoB46D,MAN5B,mBAAO/mE,EAAP,KAAcxB,EAAd,KASMi6F,EAAyB,uCAAG,sBAAAh4F,EAAA,sDAC9BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHY,2CAAH,qDAO/BtQ,oBAAS,sBAAC,sBAAAM,EAAA,sDACNg4F,IADM,2CAEP,WAACl8F,EAAM2P,MAAMC,cAAb,aAAC,EAAoB46D,MAExB,IAqBMn3C,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAY9B,aAAa,eAAenX,QAAS,kBATpCuK,EAS0D2I,OAR/E1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,2BAAD,OAA6BvnB,EAAIvF,UAAjC,YAA8CuF,EAAIyK,oBAF1C,IAACzK,QAcnBwH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAMnD,OAJIgH,IACAA,EAAUT,UAAY0e,GAGnBvX,IACR,IAEGV,EAASS,mBAAQ,WAAO,IAAD,IACnBygF,EAAS,UAAOpzB,IAOtB,MANgC,OAA5B,UAAAlpE,EAAM2P,MAAMC,cAAZ,eAAoB46D,MACpB8xB,EAAUxtF,KAAK,CAAElF,KAAM,YAEK,OAA5B,UAAA5J,EAAM2P,MAAMC,cAAZ,eAAoB46D,MACpB8xB,EAAUxtF,KAAK,CAAElF,KAAM,cAEpB0yF,IACR,WAACt8F,EAAM2P,MAAMC,cAAb,aAAC,EAAoB46D,MAEV/mE,EAAMipC,UAEpB,OACI,sBAAK/nC,UAAU,SAAf,UACKlB,EAAMuvB,KACH,cAAC,GAAD,CAAgB0Z,UAAWjpC,EAAMipC,UAAW7e,aAAc,kBAhD3CnoB,GAgDmE,EA/C1FzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,YAEVttB,GAAOw2F,KALe,IAACx2F,KAkDf,qCACI,cAAC,IAAD,CAAa0V,OAAQA,IACrB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAM,wBAAmB1S,EAAMpC,IAC/B+V,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,SAChBoC,SAAS,cACTG,WArEF,SAACW,GACfnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,QAmEM9d,YAAY,YACZjB,uBAAuB,qBAIlCxQ,EAAMs4F,cAAgB,cAACpB,GAAD,IAAkB,SClI/Cv6E,GAAe,CACjB,CAAEhS,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,UAAWxE,KAAM,OAAQ+K,UAAW3E,IAAWE,eACtD,CAAE9B,IAAK,kBAAmBxE,KAAM,WAChC,CAAEwE,IAAK,iBAAkBxE,KAAM,mBAE/B,CAAEwE,IAAK,YAAaxE,KAAM,UAC1B,CACIwE,IAAK,gBACLxE,KAAM,QACN+K,UAAW3E,IAAW2wE,gBACtBvzE,MAAO,SAEX,CACIgB,IAAK,iBACLxE,KAAM,SACN+K,UAAW3E,IAAW2wE,gBACtBvzE,MAAO,SAEX,CAAEgB,IAAK,gBAAiBxE,KAAM,QAAS+K,UAAW3E,IAAW2wE,gBAAiBvzE,MAAO,UAGnFgO,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,OAAQ0R,QAAQ,GACxB,CAAE1R,KAAM,WAAY0R,QAAQ,IA6FjBqwI,OA1Ff,SAA2B3rJ,GACvB,MAA0BgC,mBAAS,CAC/B6+E,QAAS,GACTvgE,QAAQ,EACRzf,MAAM,EACNqV,SAAU,OAJd,mBAAOzS,EAAP,KAAcxB,EAAd,KAMI4uB,EAAkB9sB,IAAW+sB,gBAE3BgwD,EAAW,uCAAG,sBAAA58E,EAAA,sDAChBjC,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELyS,SAAU,IAAIhC,KACdoM,QAAQ,OAJI,2CAAH,qDAmBX6qB,EAAgB,SAAC9kC,EAAMqO,GACzB,OACI,sBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,WAOoB,OAAfoW,QAAe,IAAfA,OAAA,EAAAA,EAAiBm0B,cACd,cAAC,KAAD,CAAkBzsC,KAAM0sC,KAAUtgD,UAAU,6BAA6BgU,aAAa,WAAWnX,QAAS,kBAjBlG,SAACkT,GACrB1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,4BAAD,cAA8B5e,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAK8oC,MAAnC,YAA4Cx9C,EAAM0sC,UAAY1sC,EAAM0sC,UAAxB,OAAoCh4B,QAApC,IAAoCA,OAApC,EAAoCA,EAAK85E,cAC7F/qF,MAAO,SAciH8vB,CAAgB7e,MACjI,QAMTnB,EAAUsI,mBAAQ,WACpB,IAAI4E,EAAS,UAAOL,IAChBhL,EAAYqL,EAAUjN,MAAK,SAACzQ,GAAD,MAAuB,WAAbA,EAAKqL,OAO9C,OANIgH,IACAA,EAAUT,UAAYw2B,GAErBnrC,EAAM0sC,WACPjsB,EAAUib,OAAO,EAAG,EAAG,CAAEttB,IAAK,eAAgBxE,KAAM,iBAEjD6W,KAGLka,EAAa,SAACj1B,GAChBzD,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,OACvC6E,GAAOo7E,KAGLjY,EAAgB7oE,EAAM0sC,UAAiB,UAAL,GAExC,OACI,qBAAK/nC,UAAW,WAAI3E,EAAM0sC,WAAa,UAAa,qBAAsB1rC,MAAO,CAAEyD,UAAW,GAA9F,SACKhB,EAAM5C,KACH,cAACV,GAAA,EAAD,CAAYU,KAAM4C,EAAM5C,KAAMN,QAAS,kBAAMo6B,GAAW,IAAQv6B,MAAM,UAAUI,SAAS,KAAzF,SACI,cAAC,GAAD,CAAgBksC,UAAW1sC,EAAM0sC,UAAWnsC,QAAS,kBAAMo6B,GAAW,QAG1E,sCACM36B,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,KAE1C,cAAC,GAAD,CACI9C,SAAUuwD,EACVpwD,WA3DD,SAAC7I,GAChB3N,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB5C,MAAM,QA2DvBsV,OAAM,+BAA0BnW,EAAM0sC,WAAa,IACnDn5B,QAASA,EACT6D,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,iBC/GlC+Z,GAAa,SAACjwB,GAIhB,OAHA4D,qBAAU,YACL5D,EAAMkwB,UAAYlwB,EAAMguB,WAAWhuB,EAAMmwB,WAC3C,CAACnwB,EAAMkwB,WAEN,qCACI,cAAC/rB,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoBpE,EAAMwM,QAC1B,eAAC7J,EAAA,EAAD,CAAMC,WAAS,EAAC7B,WAAW,WAA3B,UACI,cAAC4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAmBmQ,QAASnT,EAAMkwB,SAAUzjB,SAAUzM,EAAMowB,cAAexmB,KAAM5J,EAAMqwB,QAAS5hB,SAAUzO,EAAMyO,aAEpH,cAAC9L,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAAC,IAAD,CACIuP,YAAavS,EAAMwM,MACnBrK,MAAOnC,EAAMswB,SACb7jB,SAAUzM,EAAM6R,YAChBjI,KAAM5J,EAAMmwB,QACZ1hB,SAAUzO,EAAMyO,WAAazO,EAAMkwB,oBAsvB5C8K,GA9uBS,SAACh7B,GACrB,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAO1B,EAAsCtJ,mBAAS,CAC3C4H,KAAM,GACNyrB,SAAU,GACVC,SAAU,GACVC,UAAW,GACXC,YAAa,GACbC,gBAAiB,GACjBC,WAAY,GACZC,eAAgB,GAChBC,cAAe,GACfC,eAAe,EACfC,kBAAmB,GACnBC,eAAgB,GAChBC,eAAgB,GAChBC,wBAAyB,GACzBC,sBAAuB,GACvBC,aAAc,GACdC,oBAAqB,GACrBC,2BAA4B,GAC5BC,kBAAmB,GACnB1lB,OAAQ,GACRsiB,aAAc,GACduD,QAAS,KACTsC,gBAAiB,GACjBrC,gBAAgB,EAChBC,gBAAgB,EAChBC,sBAAsB,EACtBC,0BAA0B,EAC1B0C,WAAY,GACZvC,QAAQ,EACRC,QAAQ,EACRC,SAAS,EACTC,WAAW,EACXC,UAAU,EACVC,QAAQ,EACRC,UAAU,EACVC,8BAA+B,GAC/BC,eAAgB,GAChBC,cAAe,GACfC,eAAgB,GAChBC,sBAAuB,GACvBC,cAAe,GACfC,iBAAkB,GAClBC,kBAAmB,GACnBC,mCAAoC,GACpCC,gCAAiC,GACjCC,mCAAoC,GACpCC,0BAA2B,GAC3BC,WAAY,GACZC,yBAA0B,KAjD9B,mBAAO7B,EAAP,KAAoBC,EAApB,KAsDA5yB,oBAAS,sBAAC,wCAAAM,EAAA,sEACUqwB,KADV,cACF7uB,EADE,OAEAuwB,EAA0BvwB,EAAIW,KAAKkyB,qBAAqBhvB,KAAI,SAACxG,GAAD,MAAW,CACzE1B,GAAI0B,EAAKy1B,wBACT5uB,KAAM7G,EAAK01B,mCAJT,SAOclE,KAPd,UAOFq3H,EAPE,OAQAn5I,EAAOm5I,EAAQvlJ,KAAKmZ,UAAUjW,KAAI,SAACxG,GAAD,MAAW,CAC/C1B,GAAI0B,EAAKshB,WACTza,KAAM7G,EAAK0T,wBAEf+f,GAAe,SAAC3yB,GAAD,mBAAC,eACTA,GADQ,IAEXoyB,wBAAyBA,EACzBK,kBAAmB5wB,EAAIW,KAAKqyB,cAC5BxF,aAAczgB,QAEdzS,EAAMy2B,QAlBJ,kCAmBcnC,GAAat0B,EAAMy2B,SAnBjC,QAmBE/wB,EAnBF,OAoBIW,EApBJ,UAoBWX,EAAIW,YApBf,aAoBW,EAAU2G,QAAQ,GAE/BwpB,GAAe,SAAC3yB,GAAD,yBAAC,eACTA,GADQ,OAEX+F,KAAMvD,EAAKqQ,UACX2e,SAAUhvB,EAAKsyB,cACfrD,SAAUjvB,EAAKuyB,cACfpD,YAAanvB,EAAKmvB,YAClBD,UAAWlvB,EAAKkvB,UAChBE,gBAAiBpvB,EAAKwyB,iBACtBnD,WAAYrvB,EAAKqvB,WACjBI,kBAAmBzvB,EAAKyvB,kBACxBgD,sBAAuBzyB,EAAKyyB,sBAC5BlD,cAAevvB,EAAKuvB,cACpBD,eAAgBtvB,EAAKsvB,eACrBQ,aAAc9vB,EAAK8vB,aACnBN,cAAexvB,EAAKwvB,cACpBG,eAAgB3vB,EAAK2yB,oBACrB9C,sBAAuB7vB,EAAK6vB,sBAC5BE,oBAAqB/vB,EAAK4yB,oBAC1B5C,2BAA4BhwB,EAAKgwB,2BACjCI,QAASpwB,EAAKowB,QACdsC,gBAAiB1yB,EAAK0yB,iBApBX,sCAqBY1yB,EAAKyyB,uBArBjB,+BAsBKzyB,EAAK8yB,4BAtBV,+BAuBK9yB,EAAK+yB,4BAvBV,qCAwBW/yB,EAAKgzB,kCAxBhB,yCAyBehzB,EAAKizB,sCAzBpB,2BA0BCjzB,EAAKmzB,wBA1BN,uBA2BHnzB,EAAKozB,8BA3BF,uBA4BHpzB,EAAKqzB,8BA5BF,wBA6BFrzB,EAAKszB,+BA7BH,0BA8BAtzB,EAAKuzB,iCA9BL,yBA+BDvzB,EAAKwzB,gCA/BJ,uBAgCHxzB,EAAKyzB,8BAhCF,yBAiCDzzB,EAAK0zB,gCAjCJ,8CAkCoB1zB,EAAKkxB,+BAlCzB,+BAmCKlxB,EAAK2zB,qBAnCV,8BAoCI3zB,EAAK4zB,oBApCT,+BAqCK5zB,EAAK6zB,qBArCV,sCAsCY7zB,EAAKsxB,uBAtCjB,8BAuCItxB,EAAKuxB,eAvCT,iCAwCOvxB,EAAKwxB,kBAxCZ,kCAyCQxxB,EAAKyxB,mBAzCb,mCA0CSzxB,EAAK8zB,oBA1Cd,mDA2CyB9zB,EAAK0xB,oCA3C9B,yCA4Ce1xB,EAAK+xB,0BA5CpB,gDA6CsB/xB,EAAK2xB,iCA7C3B,mDA8CyB3xB,EAAK4xB,oCA9C9B,0CA+CgB5xB,EAAK6xB,2BA/CrB,2BAgDC7xB,EAAK8xB,YAhDN,8CAiDoB9xB,EAAKk0B,+BAjDzB,8CAkDoBhE,EAAY0kG,+BAlDhC,0CAmDgB1kG,EAAY2kG,2BAnD5B,OAtBb,4CA4EP,IAEH,IAAMtgG,EAAoB,SAAC9uB,GACvB,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdq0B,GAAe,SAAC3yB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,QAGvC04B,EAAe,SAAC9uB,GAClByqB,GAAe,SAAChiB,GAAD,mBAAC,eACTA,GADQ,IAEXqhB,cAAe9pB,QAIjBgiB,EAAiBV,uBAAY,SAACvhB,GAChC,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACdqjB,GAAe,SAAC3yB,GAEZ,OADS,2BAAQA,GAAR,kBAAa+F,EAAOuJ,SAGlC,IAEGrB,EAAc,WAChB,IACIlI,EAWA2sB,EAXA3sB,KACAyrB,EAUAkB,EAVAlB,SAEAG,GAQAe,EATAjB,SASAiB,EARAf,aAUAzjB,GAFAwkB,EAPAhB,UAOAgB,EANAX,cAMAW,EALAd,gBAKAc,EAJAb,WAIAa,EAHAZ,eAGAY,EAFAJ,aAEAI,EADAgE,+BAGc,GACd3pB,EAAS,GAyBb,MAxBK,QAAQqB,KAAKrI,KACdgH,EAAOhH,KAAO,0BACdmI,GAAc,GAEb,QAAQE,KAAKojB,KACdzkB,EAAOykB,SAAW,8BAClBtjB,GAAc,GAGb,QAAQE,KAAKujB,KACd5kB,EAAO4kB,YAAc,4BACrBzjB,GAAc,GAYlBykB,GAAe,SAAC3yB,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAClCmB,GAGL6b,EAAY,uCAAG,8BAAA1pB,EAAA,0DACb4N,IADa,oBAEPwoB,EAAY,CACd7D,QAASF,EAAYE,QACrBsC,gBAAiB,KACjBriB,UAAW6f,EAAY3sB,KACvB+uB,cAAepC,EAAYlB,SAC3BuD,cAAerC,EAAYjB,SAC3BE,YAAae,EAAYf,YACzBD,UAAWgB,EAAYhB,UACvBsD,iBAAkBtC,EAAYd,gBAC9BC,WAAYa,EAAYb,WACxBI,kBAAmBS,EAAYT,kBAC/BF,cAAeW,EAAYX,cAC3BD,eAAgBY,EAAYZ,eAC5BQ,aAAcI,EAAYJ,aAC1BN,cAAeU,EAAYV,cAC3BoD,oBAAqB1C,EAAYH,oBACjCC,2BAA4BE,EAAYF,2BACxCH,sBAAuBK,EAAYL,sBACnCiD,2BAA4B5C,EAAYG,eACxC0C,2BAA4B7C,EAAYI,eACxC0C,iCAAkC9C,EAAYK,qBAC9C0C,qCAAsC/C,EAAYM,yBAClD2C,uBAAwBjD,EAAYgD,WACpCE,6BAA8BlD,EAAYS,OAC1C0C,6BAA8BnD,EAAYU,OAC1C0C,8BAA+BpD,EAAYW,QAC3C0C,gCAAiCrD,EAAYY,UAC7C0C,+BAAgCtD,EAAYa,SAC5C0C,6BAA8BvD,EAAYc,OAC1C0C,+BAAgCxD,EAAYe,SAC5CC,8BAA+BhB,EAAYgB,8BAC3CyC,oBAAqBzD,EAAYiB,eACjCyC,mBAAoB1D,EAAYkB,cAChCyC,oBAAqB3D,EAAYmB,eACjCC,sBAAuBpB,EAAYoB,sBACnCC,cAAerB,EAAYqB,cAC3BC,iBAAkBtB,EAAYsB,iBAC9BsC,mBAAoB5D,EAAY4D,mBAChCrC,kBAAmBvB,EAAYuB,kBAC/BC,mCAAoCxB,EAAYwB,mCAChDK,yBAA0B7B,EAAY6B,yBACtCJ,gCAAiCzB,EAAYyB,gCAC7CC,mCAAoC1B,EAAY0B,mCAChDsC,8BAA+BhE,EAAYgE,8BAC3CrC,0BAA2B3B,EAAY2B,0BACvCsC,oBAAqBjE,EAAYyC,oBACjCb,WAAY5B,EAAY4B,WACxB8iG,8BAA+B1kG,EAAY0kG,8BAC3CC,0BAA2B3kG,EAAY2kG,4BAIvCl7H,EAAMy2B,QAtDG,gCAuDGhC,GAAY6F,EAAWt6B,EAAMy2B,SAvDhC,OAuDT/wB,EAvDS,+CAyDG8uB,GAAS8F,GAzDZ,QAyDT50B,EAzDS,eA2DTA,EAAIoE,SACJyB,EAAiB,6BACjBvL,EAAMy6B,aAAY,IAElBnvB,EAAe5F,EAAIyG,SA/DV,4CAAH,qDAwElB,OACI,sBAAKxH,UAAU,oBAAoB3D,MAAO,CAAEyD,UAAW,GAAvD,UAEI,uBACA,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SAEI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UAaI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,QACXC,YAAY,aACZpQ,MAAOo0B,EAAY3sB,KACnB6C,SAAUmuB,EACVhxB,KAAK,OACLgH,OAAQ2lB,EAAY3lB,OAAOhH,SAInC,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,WACXC,YAAY,WACZpQ,MAAOo0B,EAAYlB,SACnB5oB,SAAUmuB,EACVhxB,KAAK,WACLgH,OAAQ2lB,EAAY3lB,OAAOykB,aAGnC,cAAC1yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,WACXC,YAAY,WACZpQ,MAAOo0B,EAAYjB,SACnB7oB,SAAUmuB,EACVhxB,KAAK,WACLgH,OAAQ2lB,EAAY3lB,OAAO0kB,aAGnC,cAAC3yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,OACXC,YAAY,OACZpQ,MAAOo0B,EAAYhB,UACnB9oB,SAAUmuB,EACVhxB,KAAK,YACLgH,OAAQ2lB,EAAY3lB,OAAO2kB,cAGnC,cAAC5yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIlQ,MAAOo0B,EAAYX,cACnBnpB,SAAUmuB,EACVhxB,KAAK,oBAIb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,UACI,cAAC,IAAD,CACI2N,WAAW,SACXC,YAAY,SACZpQ,MAAOo0B,EAAYf,aAAe,GAClC/oB,SAAUmuB,EACVhxB,KAAK,cACLgH,OAAQ2lB,EAAY3lB,OAAO4kB,cAC5B,OAYP,cAAC7yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,QACXC,YAAY,QACZ7F,KAAK,QACLvK,MAAOo0B,EAAYb,YAAc,GACjCjpB,SAAUmuB,EACVhxB,KAAK,aACLgH,OAAQ2lB,EAAY3lB,OAAO8kB,eAGnC,cAAC/yB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,gBACXC,YAAY,iBACZpQ,MAAOo0B,EAAYT,kBACnBrpB,SAAUmuB,EACVhxB,KAAK,wBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,YACXC,YAAY,YACZ7F,KAAK,MACLvK,MAAOo0B,EAAYZ,eACnBlpB,SAAUmuB,EACVhxB,KAAK,iBACLgH,OAAQ2lB,EAAY3lB,OAAO+kB,mBAGnC,cAAChzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,iBACXC,YAAY,iBACZpQ,MAAOo0B,EAAYJ,aACnB1pB,SAAUmuB,EACVhxB,KAAK,eACLgH,OAAQ2lB,EAAY3lB,OAAOulB,iBAGnC,eAACxzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,iCACA,cAAC,IAAD,CACImO,YAAY,qBACZpQ,MAAOo0B,EAAYL,sBACnBzpB,SAAUmuB,EACVhxB,KAAK,6BAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,mCACA,cAAC,IAAD,CACIwF,KAAK,sBACLzH,MAAOo0B,EAAYH,oBACnB3pB,SAAUmuB,EACVnoB,KAAM8jB,EAAYD,oBAEtB,cAAClxB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOwlB,yBAE9C,eAACzzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,qCACA,cAAC,IAAD,CACIwF,KAAK,6BACLzH,MAAOo0B,EAAYF,2BACnB5pB,SAAUmuB,EACVnoB,KAAM8jB,EAAYD,oBAEtB,cAAClxB,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOylB,gCAE9C,eAAC1zB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAAC,IAAD,CAAWjC,MAAOo0B,EAAYP,eAAgBvpB,SAAUmuB,EAAmBhxB,KAAK,iBAAiB6I,KAAM,aAKnH,eAAC9P,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,sCAGA,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SAEI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,gBAApC,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYG,eAAgB9sB,KAAK,iBAAiB6C,SAAUshB,EAAgBvhB,MAAM,sBAElH,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,gBAApC,SACI,cAAC,IAAD,CACIwO,QAASojB,EAAYI,eACrB/sB,KAAK,iBACL6C,SAAUshB,EACVvhB,MAAM,+BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,gBAApC,SACI,cAAC,IAAD,CACIwO,QAASojB,EAAYK,qBACrBhtB,KAAK,uBACL6C,SAAUshB,EACVvhB,MAAM,8BAGd,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,gBAApC,SACI,cAAC,IAAD,CACIwO,QAASojB,EAAYM,yBACrBjtB,KAAK,2BACL6C,SAAUshB,EACVvhB,MAAM,oCAGd,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,sCACA,cAAC,IAAD,CAAamO,YAAY,QAAQ7F,KAAK,SAASvK,MAAOo0B,EAAYgD,WAAY9sB,SAAUmuB,EAAmBhxB,KAAK,kBAEpH,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,yBACXC,YAAY,gBACZ7F,KAAK,QACLvK,MAAOo0B,EAAY2B,2BAA6B,GAChDzrB,SAAUmuB,EACVhxB,KAAK,4BACLgH,OAAQ2lB,EAAY3lB,OAAOsnB,8BAGnC,eAACv1B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,mCACA,cAAC,IAAD,CACIwF,KAAK,2BACLzH,MAAOo0B,EAAY6B,yBACnB3rB,SAAUmuB,EACVnoB,KAAM8jB,EAAYN,6BAG1B,eAACtzB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,+CACA,cAAC,IAAD,CACImO,YAAY,oCACZ3I,KAAK,qCACLzH,MAAOo0B,EAAYwB,mCACnBtrB,SAAUmuB,YAM1B,eAACj4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,gCAGA,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SAEI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAGE,MAAI,EAAhC,UACI,cAACJ,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYS,OAAQptB,KAAK,SAAS6C,SAAUshB,EAAgBvhB,MAAM,aAElG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYU,OAAQrtB,KAAK,SAAS6C,SAAUshB,EAAgBvhB,MAAM,aAElG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYW,QAASttB,KAAK,UAAU6C,SAAUshB,EAAgBvhB,MAAM,cAEpG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYY,UAAWvtB,KAAK,YAAY6C,SAAUshB,EAAgBvhB,MAAM,gBAExG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYa,SAAUxtB,KAAK,WAAW6C,SAAUshB,EAAgBvhB,MAAM,eAEtG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYc,OAAQztB,KAAK,SAAS6C,SAAUshB,EAAgBvhB,MAAM,aAElG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAC4B,UAAU,gBAArB,SACI,cAAC,IAAD,CAAmBwO,QAASojB,EAAYe,SAAU1tB,KAAK,WAAW6C,SAAUshB,EAAgBvhB,MAAM,oBAK9G,eAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,6BAGA,0BAEJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,SAEI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,IAClB,cAAC,IAAD,CACIkO,WAAW,6BACXC,YAAY,6BACZ7F,KAAK,QACLvK,MAAOo0B,EAAYgB,8BACnB9qB,SAAUmuB,EACVhxB,KAAK,qCAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,mBACXC,YAAY,mBACZ7F,KAAK,QACLvK,MAAOo0B,EAAYiB,eACnB/qB,SAAUmuB,EACVhxB,KAAK,iBACLgH,OAAQ2lB,EAAY3lB,OAAO4mB,mBAGnC,cAAC70B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,kBACXC,YAAY,kBACZpQ,MAAOo0B,EAAYkB,cACnBhrB,SAAUmuB,EACVhxB,KAAK,gBACLgH,OAAQ2lB,EAAY3lB,OAAO6mB,kBAGnC,cAAC90B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,kBACXC,YAAY,kBACZ7F,KAAK,QACLvK,MAAOo0B,EAAYmB,eACnBjrB,SAAUmuB,EACVhxB,KAAK,iBACLgH,OAAQ2lB,EAAY3lB,OAAO8mB,mBAGnC,cAAC/0B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,iBACXC,YAAY,iBACZpQ,MAAOo0B,EAAY4D,mBACnB1tB,SAAUmuB,EACVhxB,KAAK,qBACLgH,OAAQ2lB,EAAY3lB,OAAOupB,uBAGnC,cAACx3B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,2BACXC,YAAY,2BACZpQ,MAAOo0B,EAAYoB,sBACnBlrB,SAAUmuB,EACVhxB,KAAK,wBACLgH,OAAQ2lB,EAAY3lB,OAAO+mB,0BAGnC,cAACh1B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,YACXC,YAAY,YACZ7F,KAAK,QACLvK,MAAOo0B,EAAYqB,cACnBnrB,SAAUmuB,EACVhxB,KAAK,oBAGb,cAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,eACXC,YAAY,eACZpQ,MAAOo0B,EAAYsB,iBACnBprB,SAAUmuB,EACVhxB,KAAK,mBACLgH,OAAQ2lB,EAAY3lB,OAAOinB,qBAGnC,cAACl1B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,gBACXC,YAAY,gBACZ7F,KAAK,QACLvK,MAAOo0B,EAAYuB,kBACnBrrB,SAAUmuB,EACVhxB,KAAK,oBACLgH,OAAQ2lB,EAAY3lB,OAAOknB,2BAM3C,eAACn1B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,iCAGA,0BAEJ,eAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,GAAIC,GAAI,GAAIrsB,UAAU,oBAA7C,UAEI,eAAChC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,+BACXC,YAAY,+BACZ7F,KAAK,QACLvK,MAAOo0B,EAAYyB,gCACnBvrB,SAAUmuB,EACVhxB,KAAK,kCACLgH,OAAQ2lB,EAAY3lB,OAAOonB,oCAGnC,cAACr1B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,8BACXC,YAAY,8BACZ7F,KAAK,QACLvK,MAAOo0B,EAAYgE,8BACnB9tB,SAAUmuB,EACVhxB,KAAK,gCACLgH,OAAQ2lB,EAAY3lB,OAAO2pB,kCAGnC,cAAC53B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,SACI,cAAC,IAAD,CACIC,WAAW,gCACXC,YAAY,iCACZ7F,KAAK,QACLvK,MAAOo0B,EAAY0B,mCACnBxrB,SAAUmuB,EACVhxB,KAAK,yCAGb,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAA9B,UACI,cAAC,GAAD,CACI7F,MAAM,8BACN6jB,QAAQ,gCACRH,SAAUqG,EAAY0kG,8BACtB7qG,cAAerC,EACfoC,QAAQ,4BACRG,SAAUiG,EAAY2kG,0BACtBrpH,YAAa+oB,EACb5M,WA/aT,SAACpkB,GAChB4sB,GAAe,SAAC3yB,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAO,SA+ajB6E,SAAU8nB,EAAY4yB,YAE1B,cAAC/jD,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBkxB,EAAY3lB,OAAOsqH,kCAIlD,cAACv4H,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEyD,UAAW,OAAvC,SACI,eAAC9B,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmK,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,oBAGA,0BAKJ,cAACP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAWS,MAAO8yB,EAAYV,cAAer0B,QAAS,kBAAMq5B,GAAa,QAE7E,cAACl4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAUS,MAAO8yB,EAAYV,cAAer0B,QAAS,kBAAMq5B,GAAa,aAOpF,eAACl4B,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,GAAIH,QAAS,EAAGwV,QAAQ,gBAAgBrX,MAAO,CAAEyD,UAAW,GAArF,UACI,cAAC9B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASosB,EAAcjpB,UAAU,aAAlD,oBAIJ,cAAChC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiB2B,UAAU,aAAanD,QAAS,kBAAMxB,EAAMy6B,eAA7D,mCChwBtB3H,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIiH,qBAAqB,GACjE,CAAExG,IAAK,YAAaxE,KAAM,QAC1B,CACIwE,IAAK,eACLxE,KAAM,WAGV,CAAEwE,IAAK,mBAAoBxE,KAAM,OAAQ+D,MAAO,IAChD,CAAES,IAAK,aAAcxE,KAAM,QAAS+D,MAAO,MAGzCu7D,GAAa,CACf,CAAEt/D,KAAM,OAAQyR,KAAM,KAEtB,CAAEzR,KAAM,SAAU0R,QAAQ,IAuGfuwI,GApGQ,SAAC7rJ,GACOyB,eAAnB6J,eAAR,IAEA,EAA0BtJ,mBAAS,CAC/BgxB,MAAM,EACNxnB,YAAY,EACZ8vB,WAAY,GACZ7E,QAAS,KACTvgB,SAAU,OALd,mBAAOzS,EAAP,KAAcxB,EAAd,KAQMu5B,EAAY,SAACpiB,GACfnX,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACNyD,QAASrd,QAIXmiB,EAAwB,uCAAG,sBAAAr3B,EAAA,sDAC7BjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHW,2CAAH,qDAO9BtQ,oBAAS,sBAAC,sBAAAM,EAAA,sDACNq3B,IADM,2CAEP,IAEH,IAAMlI,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBACI1T,MAAO,CACHyZ,UAAW,UAFnB,SAKI,cAAC,IAAD,CACI9B,aAAa,aACbnX,QAAS,WACLg6B,EAAU9mB,EAAI+hB,eAO5Bq1H,EAAmB,SAACpmJ,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,OAEVttB,GAAO61B,KAELhoB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAEGV,EAASS,mBAAQ,WACnB,IAAMC,EAAQ,UAAOotD,IACjB9zD,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA8B,WAAjBA,EAAQnS,QAInD,OAHIwL,IACAA,EAAU5T,QAAUsqJ,GAEjBhwI,IACR,IAIH,OACI,sBAAKnX,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,IACpB3X,EAAMuvB,KACH,cAAC,GAAD,CAAeyD,QAAShzB,EAAMgzB,QAASgE,YAAaqxH,IAEpD,mCACI,cAAC,GAAD,CACI10I,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAfV,SAgBUsC,WAAY,kBAAM+iB,EAAU,OAC5BljB,SAAS,YACTpC,SAAUzS,EAAMyS,SAChBhB,YAAY,UACZjB,uBAAuB,sBC9GzC4G,GAAc,CAehB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IACxC,CAAES,IAAK,UAAWxE,KAAM,UAAW+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,KACrF,CAAES,IAAK,YAAaxE,KAAM,aAAc+D,MAAO,IAC/C,CAAES,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAExC,CAAES,IAAK,SAAUxE,KAAM,UACvB,CAAEwE,IAAK,aAAcxE,KAAM,eAE3B,CAAEwE,IAAK,cAAexE,KAAM,gBAC5B,CAAEwE,IAAK,iBAAkBxE,KAAM,kBAAmB+D,MAAO,KACzD,CAAES,IAAK,WAAYxE,KAAM,WAAY+D,MAAO,KAC5C,CAAES,IAAK,YAAaxE,KAAM,SAC1B,CAAEwE,IAAK,cAAexE,KAAM,eA8FjBmiJ,GA3Fa,SAAC/rJ,GACzB,MAA0BgC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBvzB,MAAO,GACPylE,QAAS,GACTnkD,KAAM,KANV,mBAAOje,EAAP,KAAcxB,EAAd,KASM2f,EAAW,uCAAG,sBAAA1d,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAuBX+I,EAAe,SAAC5W,EAAMqO,GACxB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SACI,cAAC,IAAD,CAAYjZ,QAAS,kBAnBPH,EAmB8BqT,OAjBpDzS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELojF,gBAAgB,EAChBI,SAAUhmF,EAAGg2E,aALI,IAACh2E,GAmBoCsX,aAAa,kBAIrEyC,EAASS,mBAAQ,WACnB,MAAO,CACH,CAAEjS,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,eAAgB0R,QAAQ,GAChC,CAAE1R,KAAM5J,EAAMo9C,SAAU9hC,QAAQ,MAErC,CAACtb,EAAMo9C,WAEJ7pC,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYsI,GAEnBnB,IACR,IAECsjH,EAAO,yDAAqDp/H,EAAMq/H,WAA3D,mBAAgFr/H,EAAM+uF,YACjG,OACI,sBAAKpqF,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,IACpB3X,EAAMwjF,eACH,cAAC,GAAD,CAAuB1mF,QArCjB,WACd0B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELojF,gBAAgB,OAEpBrlE,KAgCmDikE,SAAUpiF,EAAM4jF,WAa3D,cAAC,GAAD,CACIjwE,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAQipH,EAGRlpH,SAAUzS,EAAMyS,eC3G9BkF,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YAAa0R,QAAQ,IAY3BvQ,GAAYC,cAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACF81B,OAAQ,oBACRC,QAAS,GACTrpB,SAAU,IACV8X,aAAc,GACdK,UAAW,OACX1sB,WAAY,YACZ3C,OAAQ,OACRiN,MAAO,YAITmlB,GAAc,CAEhB,CAAE1kB,IAAK,QAASxE,KAAM,aAAc+D,MAAO,KAC3C,CAAES,IAAK,WAAYxE,KAAM,YAAa+D,MAAO,KAC7C,CAAES,IAAK,aAAcxE,KAAM,aAAc+K,UAAW3E,IAAW62C,oBAAqBl5C,MAAO,KAC3F,CAAES,IAAK,aAAcxE,KAAM,eAC3B,CAAEwE,IAAK,WAAYxE,KAAM,YACzB,CAAEwE,IAAK,YAAaxE,KAAM,SAC1B,CAAEwE,IAAK,aAAcxE,KAAM,cAAemL,WAAY,KAAMC,UAAU,IAO1E,IAAIm/C,GAAYt6C,OAAS82F,QAAQ,SAAS72F,OAAO,cAC7Cs6C,GAAUv6C,OAASC,OAAO,cAyVfkyI,GAvV0B,SAAChsJ,GAAW,IAAD,EAC1C2L,EAAUZ,KACZ8D,EAAU8b,eAEd,EAA0B3oB,mBAAS,CAC/BkxB,aAAc,GACdtiB,OAAQ,GACRy8B,kBAAmB,GACnB/R,WAAY,GACZjX,aAAY,OAACrkB,QAAD,IAACA,GAAD,UAACA,EAAO2P,aAAR,aAAC,EAAcC,OAAOvO,KAAMrB,EAAMqkB,YAAc,KAC5D6nB,SAAU,KACVioB,UAAWA,GACXC,QAASA,GACT0jC,WAAY/oF,OAAOC,SAASskB,SAAS3b,SAAS,UAAY,SAAW,YACrEk5F,cAAe,GACfnnB,QAAS,GACTonB,cAAe,GACfC,cAAe,EACfz5F,IAAK,GACLu7F,SAAU,GACVC,SAAU,GACVC,UAAW,GACX/B,UAAW,EACXC,WAAY,EACZM,MAAO,GACPyB,UAAW,EACXviG,SAAU,GACVihG,4BAA6B,KAvBjC,mBAAOjuG,EAAP,KAAcxB,EAAd,KA0BM4vG,EAAgB,SAAC9lG,GACnB9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmtG,UAAWjlG,QAO1C,EAAsC/J,mBAAS,CAC3CuwC,gBAAiB,KACjBC,cAAe,KACfC,YAAa,KACbM,uBAAwB,OAJ5B,mBAAO/0B,EAAP,KAAoBC,EAApB,KAOMg1F,EAASp3F,mBAAQ,WACnB,IAtFY9P,EAiCWmnG,EAqDjBp3F,EAAQ,UAAOV,IAErB,OADAU,EAAS4f,OAAO,EAAG,EAAG,CAAE9xB,KAAK,GAAD,QAtDLspG,EAsDgCzvG,EAAMq0F,WArD1Dob,EAAOC,OAAO,GAAGj7D,cAAgBg7D,EAAO7hF,MAAM,KAqD2BhW,MAvFhEtP,EAuFiFtI,EAAMq0F,WAtF5F,UAAP/rF,EACO,uBAEA,aAAPA,EACO,oCADX,KAoFW+P,IACR,CAACrY,EAAMq0F,aAEVl0F,oBAAS,sBAAC,4BAAAM,EAAA,sEACUsnC,KADV,OACF9lC,EADE,OAENzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqvB,aAAcxtB,EAAIW,KAAKmZ,UACvB8b,WAAY51B,EAAIW,KAAKswC,OACrBlmC,SAAU/K,EAAIW,KAAKkL,OAAS,GAC5BmgG,4BAA6BhsG,EAAIW,KAAK2wC,mBAAqB,QAPzD,2CASP,IAEHpzC,qBAAU,WACN,IAAIi8B,EAAQ,GACRp8B,EAAM4gB,YAAc5gB,EAAMyvB,aAAalhB,OAAS,EAChD6tB,EAAM0S,gBAAkB9uC,EAAMyvB,aAAa1f,MAAK,qBAAGnS,MAAiBoC,EAAM4gB,cAE1Ewb,EAAM0S,gBAAkB9uC,EAAMyvB,aAAa,GAG/CjV,GAAe,SAACpa,GAAD,mBAAC,eACTA,GACAg8B,QAER,CAACp8B,EAAM4gB,WAAY5gB,EAAMyvB,eAE5BtvB,oBAAS,sBAAC,gEAAAM,EAAA,yDACFwB,EAAM,KAENjC,EAAMyvB,aAAalhB,OAAS,IAA5B,UAAiCgM,EAAYu0B,uBAA7C,aAAiC,EAA6BlxC,KAH5D,oBAIE+xG,EAAQ,GACY,UAApB3vG,EAAMq0F,WALR,gCAMc5jC,IACR,UAAAl2C,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GACnCoC,EAAM0wD,UACN1wD,EAAM2wD,SACN,UAAAp2C,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,IAC1C,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,IAXrC,OAMEqE,EANF,iBAcsB,aAApBjC,EAAMq0F,WAdR,kCAeczjC,IACR,UAAAr2C,EAAYu0B,uBAAZ,eAA6BlxC,KAAM,GACnCoC,EAAM0wD,UACN1wD,EAAM2wD,SACN,UAAAp2C,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,IAC1C,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,IApBrC,QAeEqE,EAfF,eAuBEA,EAAIoE,UACJspG,EAAMvC,eAAgB,UAAAnrG,EAAIW,YAAJ,mBAAU4V,YAAV,eAAgB1S,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,gBAAgB3nB,KAAM2nB,EAAEigF,WAAY,aAAejgF,EAAErV,aAAa,GAC5Gk3F,EAAM7B,OAAQ,UAAA7rG,EAAIW,YAAJ,mBAAUkrG,aAAV,eAAiBhoG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,gBAAgB3nB,KAAM2nB,EAAEggF,OAAQ,aAAehgF,EAAErV,aAAa,GACjGk3F,EAAMP,UAAW,UAAAntG,EAAIW,YAAJ,mBAAUirG,aAAV,eAAiB/nG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBi8E,IAAKj8E,EAAErV,MAAOnQ,IAAKwlB,EAAE8qD,WAAW,GACtF+2B,EAAMN,UAAW,UAAAptG,EAAIW,YAAJ,mBAAUysG,gBAAV,eAAoBvpG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBi8E,IAAKj8E,EAAErV,MAAOnQ,IAAKwlB,EAAEmnB,YAAY,GAC1F06D,EAAML,WAAY,UAAArtG,EAAIW,YAAJ,mBAAU0sG,iBAAV,eAAqBxpG,KAAI,SAACgoB,GAAD,mBAAC,eAAYA,GAAb,IAAgBi8E,IAAKj8E,EAAErV,MAAOnQ,IAAKwlB,EAAEtjB,aAAa,IAEjGhM,GAAS,SAAC4B,GAAD,mBAAC,2BACHA,GACAuvG,GAFE,IAGL97F,IAAKy6F,SAjCP,4CAoCP,CAACtuG,EAAM0wD,UAAW1wD,EAAM2wD,QAASp2C,EAAYu0B,gBAAiBv0B,EAAYy0B,YAAaz0B,EAAY+0B,yBAEtG,IAAMlhC,EAAcwb,uBAAY,SAACvhB,GAC7B,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACdF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SACpC,IAEG8d,EAAqB,SAAC1B,GAAD,OAAQ,SAACC,EAAIzS,GAEhCkS,EADAlS,EACe,SAAClI,GACZ,IAAIg8B,EAAK,2BAAQh8B,GAAR,kBAAa0a,EAAKxS,IAI3B,MAHW,oBAAPwS,IACAshB,EAAM2S,cAAgB,MAEnB3S,GAGI,SAACh8B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB0a,EAAK,WAIzC+zF,EAAY,SAACvmG,GACf9J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvG,UAAWjnG,QAWtCwmG,EAAc,CACd/xE,EAAG/8B,EAAMovG,SACTvyE,EAAG78B,EAAMsvG,UACT3yE,EAAG38B,EAAMqvG,SACTztE,EAAG5hC,EAAMotG,cACTlrE,EAAGliC,EAAM8tG,OAET/kG,EAAQ,CACRg0B,EAAG,wBACHF,EAAG,sBACHF,EAAG,qBACHiF,EAAG,6BACHM,EAAG,yBAGHosE,EAAS,WAC0B,IAAD,IAKG,IALrC,MAAwB,UAApBtuG,EAAMq0F,WACA,2CAAN,OAAkDr0F,EAAM0wD,UAAxD,oBAA6E1wD,EAAM2wD,QAAnF,+BACI,UAAAp2C,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,GAD9C,oBAEW,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,IAEtB,aAApBoC,EAAMq0F,WACA,8CAAN,OAAqDr0F,EAAM0wD,UAA3D,oBAAgF1wD,EAAM2wD,QAAtF,+BACI,UAAAp2C,EAAY+0B,8BAAZ,eAAoC1xC,KAAM,GAD9C,oBAEW,UAAA2c,EAAYy0B,mBAAZ,eAAyBpxC,KAAM,SAH9C,GAMEgyG,EAAmB,SAAC,EAAcj9F,GAAU,IAAtB1B,EAAqB,EAArBA,IAClBoG,GADuC,EAAhB2Y,IACjBje,SAASC,cAAc,SAC7BuF,EACF,qBACIxZ,QAAS,kBACLqN,EAAQC,KAAK,CACTwkB,SAAS,2BAAD,OAA6B5e,EAAIlO,cAGjDxF,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAN5D,SAQKhE,EAAIolD,QAIb,OADA/jD,IAASC,OAAOgF,EAAKF,GACdA,GAaLw4F,EAAgB,SAAC,EAAcl9F,GAAU,IAAtB1B,EAAqB,EAArBA,IACfoG,GADoC,EAAhB2Y,IACdje,SAASC,cAAc,SAC7BuF,EACF,qBAAKxZ,QAAS,kBAdO,SAACkT,GAC1B,MAA2B,UAApBjR,EAAMq0F,WACPjpF,EAAQC,KAAK,CACTwkB,SAAS,4BAAD,OAA8B5e,EAAIpO,SAAlC,YAA8CoO,EAAIlO,WAC1D/C,MAAO,SAEXoL,EAAQC,KAAK,CACTwkB,SAAS,gCAAD,OAAkC5e,EAAIpO,SAAtC,YAAkDoO,EAAIlO,WAC9D/C,MAAO,SAMO8vG,CAAqB7+F,IAAM1T,MAAO,CAAEI,OAAQ,UAAW8B,MAAO,QAASwV,WAAY,QAAvG,SACKhE,EAAI8+F,WAIb,OADAz9F,IAASC,OAAOgF,EAAKF,GACdA,GAEL24F,EAAU53F,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,UAAhBA,EAAQ3N,OAC/Cy7D,EAAe/tD,EAAStI,MAAK,SAACuI,GAAD,MAA6B,aAAhBA,EAAQ3N,OAQtD,OAPIgH,IACAA,EAAUT,UAAY0+F,GAEtBxpC,IACAA,EAAal1D,UAAY2+F,GAGtBx3F,IACR,IACH,OACI,sBAAKnX,UAAU,uBAAf,UACI,cAAC,IAAD,CAAayW,OAAQ63F,IACrB,eAACtwG,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,wBACA,cAAC,IAAD,CAAYjC,MAAOsB,EAAM0wD,UAAW1nD,SAAUoF,EAAajI,KAAK,iBAEpE,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAArC,UACI,cAAC7sB,EAAA,EAAD,CAAYC,QAAM,EAAlB,sBACA,cAAC,IAAD,CAAYjC,MAAOsB,EAAM2wD,QAAS3nD,SAAUoF,EAAajI,KAAK,eAElE,eAACjH,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGgR,GAAI,EAAGr9B,UAAU,mBAAzD,UACI,cAACR,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAA3B,8BAGA,cAAC,IAAD,CACIqa,QAAShb,EAAMiuG,4BACfvvG,MAAO6b,EAAY+0B,uBACnBtmC,SAAUwT,EAAmB,4BAEjC,cAAC7a,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuB5B,EAAMmN,OAAOkZ,uBAExC,eAACnnB,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG2e,GAAI,EAAGgR,GAAI,EAA5C,UACI,cAAC79B,EAAA,EAAD,CAAYC,QAAM,EAAlB,kBACA,cAAC,IAAD,CAAcqa,QAAShb,EAAMgN,SAAUtO,MAAO6b,EAAYy0B,YAAahmC,SAAUwT,EAAmB,uBAG5G,eAACtd,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEyD,WAAY,EAAGi+B,cAAe,GAAnE,UACI,cAAC//B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACs+B,GAAA,EAAD,CAAM38B,UAAWgH,EAAQT,KAAzB,UACI,eAACvI,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAGC,GAAI,GAA9B,SACI,sBAAKhwB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,OAAQvX,MAAO,UAAWwV,WAAY,IAAKvN,OAAQ,aAA3F,mBACWqB,EAAM/I,EAAMutG,gBAI3B,cAACruG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAGC,GAAI,EAA9B,SACI,qBAAKhwB,MAAO,CAAElB,YAAa,GAAI2E,UAAW,GAAI6qD,MAAO,SAArD,SACI,eAACkjD,GAAA,EAAD,CAAatvG,MAAM,UAAUkX,aAAW,gCAAgCqnB,KAAK,QAA7E,UACI,cAACx+B,EAAA,EAAD,CACIjC,MAAO,CAAEqZ,SAAU,IACnBlX,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAMqwG,EAAc,IAHjC,sBAOA,cAAC5uG,EAAA,EAAD,CACIjC,MAAO,CAAEqZ,SAAU,IACnBlX,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAMqwG,EAAc,IAHjC,oBAOA,eAAC5uG,EAAA,EAAD,CACIjC,MAAO,CAAEqZ,SAAU,IACnBlX,QAA6B,IAApBM,EAAMutG,UAAkB,YAAc,WAC/CxvG,QAAS,kBAAMqwG,EAAc,IAHjC,UAKK,IALL,qBAahB,cAAC,GAAD,CACI51F,KAAMs2F,EAAY9uG,EAAMutG,WAExBvD,MAAK,aAAQhqG,EAAMq0F,WAAd,gDAIhBr0F,EAAMotG,cAAc7+F,OAAS,EAC1B,cAACrP,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIguB,GAAI,GAAvB,SACI,eAACsQ,GAAA,EAAD,CAAM38B,UAAWgH,EAAQT,KAAzB,UACI,eAACvI,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,qBAAKhwB,MAAO,CAAE2M,MAAO,OAAQ8M,UAAW,OAAQvX,MAAO,UAAWwV,WAAY,IAAKvN,OAAQ,aAA3F,SACKqB,EAAM/I,EAAMuvG,eAGrB,cAACrwG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAArC,SACI,qBAAKhwB,MAAO,CAAElB,YAAa,GAAI2E,UAAW,GAAI6qD,MAAO,SAArD,SACI,eAACkjD,GAAA,EAAD,CAAatvG,MAAM,UAAUkX,aAAW,gCAAgCqnB,KAAK,QAA7E,UACI,cAACx+B,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAMuvG,UAAkB,YAAc,WAC/CxxG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,2BAOA,eAACpX,EAAA,EAAD,CACIE,QAA6B,IAApBM,EAAMuvG,UAAkB,YAAc,WAC/CxxG,QAAS,kBAAM8wG,EAAU,IACzBtxG,MAAO,CAAEqZ,SAAU,IAHvB,UAKK,IALL,wBAYhB,cAAC,GAAD,CAAmB4B,KAAMs2F,EAAY9uG,EAAMuvG,WAAYxmG,MAAOA,EAAM/I,EAAMuvG,WAAYxE,cAAc,SAG5G,KACJ,cAAC7rG,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACKS,EAAM6T,KACH,cAAC,GAAD,CAAWF,cAAe,SAAC1R,GAAD,OAtM1B,SAACA,GAEjB,OADAzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6lF,QAAShkF,EAAIW,KAAK4V,UACtC,CACHhE,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,OAkM+Bw2F,CAAYhtG,IAAM6N,QAASkgG,EAASt9F,OAAQ1S,EAAM6T,IAAKq7F,cAAc,EAAM/4F,gBAAgB,iB,oDClQvI06H,GAvHQ,WACnB,MAA0BtyI,mBAAS,CAC/BohC,SAAU,GACVC,UAAW,KAFf,mBAAO5/B,EAAP,KAAcxB,EAAd,KAkBA,OATA2B,oBAAS,sBAAC,8BAAAM,EAAA,sEACU+nJ,eADV,OACFvmJ,EADE,OAEA2hC,EAAQ3hC,EAAIW,KAAKihC,UACvBrlC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELw/B,UAAWgE,EAAM,QALf,2CAOP,IAGC,qBAAK1iC,UAAU,qBAAf,SACI,cAAC0H,GAAA,EAAD,CAAW1H,UAAU,WAAWnE,SAAS,KAAzC,SACI,eAACmC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CACI3D,MAAO,CAAE07D,eAAgB,QACzBx5D,MAAM,UACNu5D,GAAI,CAAEnpC,SAAS,8BAAgC7vB,MAAO,CAAEyoJ,cAAe,OAH3E,UAKI,cAAC,KAAD,CAAkBvnJ,UAAU,kBAC5B,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,kBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAU8oH,iBAAmB,IACxE,cAACh/I,GAAA,EAAD,CAAYgC,UAAU,KAAtB,yCAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CACI3D,MAAO,CAAE07D,eAAgB,QACzBx5D,MAAM,UACNu5D,GAAI,CAAEnpC,SAAS,8BAAgC7vB,MAAO,CAAEyoJ,cAAe,OAH3E,UAKI,cAAC,KAAD,CAA0BvnJ,UAAU,kBACpC,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,iBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAU+oH,mBAAqB,IAC1E,cAACj/I,GAAA,EAAD,CAAYgC,UAAU,KAAtB,2CAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,4BAA3D,UACI,cAAC,KAAD,CAAoB93D,UAAU,qBAC9B,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,oBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAUgpH,cAAgB,IACrE,cAACl/I,GAAA,EAAD,CAAYgC,UAAU,KAAtB,qCAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,2BAA3D,UACI,cAAC,KAAD,CAAwB93D,UAAU,qBAClC,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,mBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAUipH,aAAe,IACpE,cAACn/I,GAAA,EAAD,CAAYgC,UAAU,KAAtB,oCAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,8BAA3D,UACI,cAAC,KAAD,CAAoB93D,UAAU,kBAC9B,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,iBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAUkpH,cAAgB,IACrE,cAACp/I,GAAA,EAAD,CAAYgC,UAAU,KAAtB,oCAgBhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CACI3D,MAAO,CAAE07D,eAAgB,QACzBx5D,MAAM,UAENu5D,GAAE,wBAJN,UAMI,cAAC,KAAD,CAAY93D,UAAU,kBACtB,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,iBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,SAAqClB,EAAM4/B,UAAUmpH,gBAAkB,IACvE,cAACr/I,GAAA,EAAD,CAAYgC,UAAU,KAAtB,yCClH9B2jB,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,GACPiH,qBAAqB,GAEzB,CAAExG,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,IACtD,CAAES,IAAK,mBAAoBxE,KAAM,sBAAuB+D,MAAO,KAC/D,CACIS,IAAK,4BACLxE,KAAM,cACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAEX,CACIS,IAAK,mBACLxE,KAAM,aACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAEX,CACIS,IAAK,gBACLxE,KAAM,UACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAGX,CAAES,IAAK,YAAaxE,KAAM,QAAS+D,MAAO,MAGxCyN,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,WAAYyR,KAAM,uBAAwBC,QAAQ,IA6F/CmxI,GA1Fa,SAACzsJ,GACzB,IAAQsL,EAAmB7J,eAAnB6J,eAER,EAA0BtJ,mBAAS,CAC/BgxB,MAAM,EACN+oE,eAAe,EACfvwF,YAAY,EACZwwF,YAAa,GACbtvD,UAAW,OALf,mBAAOjpC,EAAP,KAAcxB,EAAd,KAQMi6F,EAAyB,uCAAG,4BAAAh4F,EAAA,sEACdmnC,KADc,QAC1B3lC,EAD0B,QAEtBoE,SACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2H,YAAY,EAAOwwF,YAAat2F,EAAIW,KAAKqmJ,cAEnEhnJ,EAAIoE,SACLwB,EAAe5F,EAAIyG,SANO,2CAAH,qDAU/BvI,oBAAS,sBAAC,sBAAAM,EAAA,sDACNg4F,IADM,2CAEP,IAEH,IAQMuC,EAAoB,SAAC/4F,GACvBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,OAEVttB,GAAOw2F,KAGL7oE,EAAgB,SAAChtB,EAAMqO,GAEzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SAII,cAAC,KAAD,CACIlC,KAAMC,KACNtV,MAAM,YACNyB,UAAU,6BACVgU,aAAa,aACbnX,QAAS,kBA5BN4X,EA4BsB1E,OA3BrCzS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACN0Z,UAAWtzB,EAAO5S,eAJR,IAAC4S,QAkCb7F,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IACWrY,EAAMipC,UACpB,OACI,qBAAK/nC,UAAU,SAAf,SACKlB,EAAMuvB,KACH,cAAC,GAAD,CAAmB0Z,UAAWjpC,EAAMipC,UAAW7e,aAAc,kBAAM4wE,GAAkB,IAAOl+F,QAASk+F,IAErG,qCACI,cAAC,IAAD,CAAarjF,OAAQA,KAErB,cAAC,GAAD,CACI7H,QAASA,EACT4C,OAAM,iBACNiB,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpBhG,SAAUzS,EAAMyS,iBC9GpCvN,GAAaoG,OAAOC,SAAS0I,KAC3B66C,GAAa5pD,GAAWgP,SAAS,aAAe,YAAchP,GAqRrD6pD,GAnRW,SAACxyD,GAAW,IAAD,EACzB4+C,EAAgB5wC,eAAhB4wC,YACR,EAAkC58C,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAA6Chc,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eACtBuD,EAAU8b,eAEd,EAA0B3oB,oBAAQ,GAC9BoF,WAAYw3C,EACZy9B,IAAKr8E,EAAMgtC,UACX6E,UAAWh4B,OAASC,OAAO,cAC3BxT,SAAU,KACVI,cAAe,KACfY,WAAYs3C,EACZp3C,YAAa,KACbR,kBAAmB,GACnBU,gBAAiB,GACjBgB,4BAA4B,EAC5BU,iBAAiB,EACjBD,aAAc,EACdF,kBAAmB,EACnBgpD,eAAgB,KAChBrqD,iBAAiB,EACjBE,WAAW,EACXE,cAAe,EACfE,oBAAoB,EACpBI,WAAW,EACXO,eAAe,EACfuoD,eAAe,GArBe,+BAsBf,GAtBe,mCAuBX,GAvBW,8BAwBhB,GAxBgB,uBAyBtB,IAzBsB,yBA0BrB,GA1BqB,yBA2BpB,GA3BoB,yBA4BrB,GA5BqB,0BA6BnBpxD,EAAM0sC,WA7Ba,qBA8BxB,MA9BwB,IAAlC,mBAAOjpC,EAAP,KAAcxB,EAAd,KAiCA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL8E,WAAY4pD,QAGhBpC,IANM,2CAOP,IAEH,IAAMt+C,EAAcwb,uBAAY,SAACvhB,GAC7B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOuK,EAArB,EAAqBA,KACP,SAAVvK,GAA2C,UAAvBuK,EAAK4gB,cACzBrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAClB,UAAVzH,GAA4C,UAAvBuK,EAAK4gB,cACjCrrB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,GAAO,OAEnC3H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SAExC,IAEG2P,EAAc,WAChB,IAAIC,GAAc,EACdnB,EAAS,GAkBb,OAjBKnN,EAAMuD,oBACP4J,EAAO5J,kBAAoB,uBAC3B+K,GAAc,GAEbtO,EAAM2D,aACPwJ,EAAOxJ,WAAa,gCACpB2K,GAAc,GAEbtO,EAAMyD,gBACP0J,EAAO1J,cAAgB,mCACvB6K,GAAc,GAEbtO,EAAMiE,kBACPkJ,EAAOlJ,gBAAkB,qCACzBqK,GAAc,GAElB9P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OAC5BmB,GAGLG,EAAa,uCAAG,4BAAAhO,EAAA,0DACd4N,IADc,uBAEd2L,GAAa,GAFC,SAGErX,GAAqB3C,GAHvB,QAGViC,EAHU,QAINoE,SACJyB,EAAiB,oBAAD,OAAqB7F,EAAIW,KAAKitD,aAA9B,4BAChBzkD,EAAQC,KAAR,uCAA6CpJ,EAAIW,KAAKC,SAAtD,YAAkEtG,EAAM0sC,aAExEphC,EAAe5F,EAAIyG,SAEvBsR,GAAa,GAVC,2CAAH,qDAcb0yC,EAAkB,uCAAG,gCAAAjsD,EAAA,0DACnBlE,EAAMyyD,YADa,gCAEHvsD,GAAyBlG,EAAMyyD,aAF5B,OAEf/sD,EAFe,OAIfW,EAAOX,EAAIW,KAAK2G,QAAQ,GACxB0lD,EAA0BhtD,EAAIW,KAAKqsD,wBACvCzwD,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,OAELyC,SAAUD,EAAKC,SACfE,UAAWH,EAAKE,gBAChBG,cAAeL,EAAKI,eACpBG,QAASP,EAAKM,cACdsrD,eAAgB5rD,EAAKQ,uBACrBG,kBAAmBX,EAAKU,eACxBG,cAAeb,EAAKY,oBACpBG,WAAYf,EAAKc,kBACjBG,WAAYjB,EAAKgB,iBACjBG,YAAanB,EAAKkB,sBAClBG,gBAAiBrB,EAAKoB,kBACtBG,gBAAiBvB,EAAKsB,sBACtBypD,cAAe/qD,EAAKwB,oBACpB8qD,SAAUtsD,EAAKyB,UACfE,cAAe3B,EAAK0B,oBACpBG,mBAAoB7B,EAAK4B,yBACzBG,kBAAmB/B,EAAK8B,yBACxBG,UAAWjC,EAAKgC,qBAChBG,OAAQnC,EAAKkC,yBACbG,2BAA4BrC,EAAKoC,yBACjCE,WAAYtC,EAAKsC,WACjBE,cAAexC,EAAKuC,oBACpBgqD,SAAUvsD,EAAKyC,wBACfG,kBAAmB5C,EAAK2C,wBACxBG,aAAc9C,EAAK6C,mBACnB2pD,UAAWxsD,EAAK+C,gBAChB6nD,sBAAuB5qD,EAAK4qD,sBAC5BhS,oBAAqB54C,EAAK44C,oBAC1BkS,mBAAoB9qD,EAAK4rD,eACzBZ,2BAA4BhrD,EAAKgrD,2BACjCW,gBAAiB3rD,EAAK2rD,gBACtB5d,SAAU/tC,EAAK+tC,UAjCV,+BAkCW/tC,EAAK4rD,gBAlChB,qBAmCC5rD,EAAKqyC,MAnCN,sBAoCEryC,EAAK4H,OApCP,6BAqCS5H,EAAKyvC,cArCd,mCAsCe4c,GAtCf,kCAuCc1iD,IAAWouC,kBAAkB/3C,EAAKysD,oBAvChD,yCAwCqB9iD,IAAWouC,kBAAkB/3C,EAAK0sD,2BAxCvD,2CAyCuB/iD,IAAWouC,kBAAkB/3C,EAAKu3C,6BAzCzD,mCA0Ce5tC,IAAWouC,kBAAkB/3C,EAAK2sD,qBA1CjD,kCA2CchjD,IAAWouC,kBAAkB/3C,EAAK4sD,oBA3ChD,0BA4CM5sD,EAAK0N,WA5CX,OANU,2CAAH,qDAkExB,OACI,gCACKtQ,EAAM+vD,QACH,cAACrzD,GAAA,EAAD,CAAYC,MAAO,cAAC,GAAD,IAAeG,QAAS,WAVnD0B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB0vD,SAAS,EAAOC,SAAS,QAUyBhzD,SAAS,KAAK4nC,YAAU,EAA7F,SACI,cAAC,KAAD,CAAkBp5B,SAAUvL,EAAMuD,kBAAmBysD,eARxC,SAACzkD,GAC1B/M,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmD,kBAAmBgI,EAAUwkD,SAAS,YASzD,KAEJ,eAAC7wD,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMK,GAAI,GAAIqP,GAAI,EAAGtP,MAAI,EAAzB,SACI,eAACJ,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmB,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BAEJ,cAACzB,EAAA,EAAD,CAAMC,WAAS,EAACG,MAAI,EAACF,QAAS,EAA9B,SACI,eAAC2tB,GAAA,EAAD,CAAY9b,KAAG,EAAC0F,aAAW,wBAAwBxQ,KAAK,gBAAgBzH,MAAOsB,EAAMiD,cAAelF,QAASqQ,EAA7G,UACI,cAAC4e,GAAA,EAAD,CAAkBtuB,MAAM,KAAKuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,cACvD,cAACikB,GAAA,EAAD,CAAkBtuB,MAAM,KAAKuuB,QAAS,cAACC,GAAA,EAAD,IAAWnkB,MAAM,sBAyBvE,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,qBACXC,YAAY,qBACZpQ,MAAOsB,EAAMuD,kBACbyF,SAAUoF,EACVjI,KAAK,oBACLgH,OAAQnN,EAAMmN,OAAO5J,kBACrBw3C,WAAY,CACRmV,aACI,cAACC,GAAA,EAAD,CAAgB3yD,SAAS,MAAzB,SACI,cAAC,KAAD,CACI0X,aAAa,eACbnX,QAAS,WACciC,EAAM6C,SAlE7DrE,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2vD,SAAS,QAoEJj7C,KAAMs7C,cAO9B,cAAClxD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZpQ,MAAOsB,EAAM2D,YAAc,GAC3BqF,SAAUoF,EACVjI,KAAK,aACLgH,OAAQnN,EAAMmN,OAAOxJ,eAG7B,cAACzE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,mBAAlD,SACI,cAAC,IAAD,CACI2N,WAAW,iBACXC,YAAY,iBACZpQ,MAAOsB,EAAMyD,cACbuF,SAAUoF,EACVjI,KAAK,gBACLgH,OAAQnN,EAAMmN,OAAO1J,kBAG7B,cAACvE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAAC,IAAD,CACI2N,WAAW,mBACX6f,WAAS,EACTzQ,KAAM,EACNnP,YAAY,mBACZpQ,MAAOsB,EAAMiE,gBACb+E,SAAUoF,EACVjI,KAAK,kBACLgH,OAAQnN,EAAMmN,OAAOlJ,oBAG7B,eAAC/E,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAAS0Q,EAAewM,YAAalB,EAAtD,mBAIJ,cAAC7a,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAiBxB,QAASxB,EAAMO,QAAhC,gCC9DTu1D,GA1NY,SAAC91D,GACxB,IAAQ4+C,EAAgB5wC,eAAhB4wC,YACR,EAAkC58C,oBAAS,GAA3C,mBAAOwb,EAAP,KAAkBC,EAAlB,KAEA,EAAwCzb,mBAAS,CAC7C4O,OAAQ,GACRzJ,kBAAmBy3C,EACnBv3C,iBAAkBu3C,EAClB3R,aAAc,GACdv2B,UAAW,GACXw8C,qBAAsB,GACtB53B,WAAY,GACZ90B,UAAW,KACXC,eAAgB,KAChBkmJ,iBAAiB,EACjB17F,sBAAuB,GACvBe,gBAAiBhyD,EAAMgtC,UACvB1mC,SAAU,GACVC,gBAAiBvG,EAAMwpE,gBACvB3iE,uBAAwB,GACxBE,eAAgB,GAChB2tD,2BAA4B,GAC5B7iB,UAAWh4B,OAASC,OAAO,gBAlB/B,mBAAO+6C,EAAP,KAAqBC,EAArB,KAqBA,EAA6CrzD,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEtBuD,EAAU8b,eAERkQ,EAAe,SAAC9uB,GAClB+oD,GAAgB,SAACtgD,GAAD,mBAAC,eACVA,GADS,IAEZm4I,gBAAiB5gJ,QAInB8F,EAAcwb,uBAAY,SAACvhB,GAC7B,MAAwBA,EAAEE,OAAlBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MACd2yD,GAAgB,SAACjxD,GAAD,mBAAC,eAAaA,GAAd,kBAAmB+F,EAAOzH,SAC3C,IAEGoyD,EAAcxlD,OAAOC,SAAS0I,KAAKC,SAAS,aAAe,YAAc5I,OAAOC,SAAS0I,KAEzF5F,EAAc,WACiF+iD,EAAzFhjB,UAAR,IAAmB9qC,EAA8E8tD,EAA9E9tD,eAAgBI,EAA8D0tD,EAA9D1tD,kBAAmBF,EAA2C4tD,EAA3C5tD,oBAAqBQ,EAAsBotD,EAAtBptD,kBACvEsK,GAAc,EACdnB,EAAS,GAmBb,OAlBKnJ,IACDmJ,EAAOnJ,kBAAoB,yBAC3BsK,GAAc,GAEbhL,IACD6J,EAAO7J,eAAiB,yBACxBgL,GAAc,GAEb5K,IACDyJ,EAAOzJ,kBAAoB,yBAC3B4K,GAAc,GAGb9K,IACD2J,EAAO3J,oBAAsB,yBAC7B8K,GAAc,GAElB+iD,GAAgB,SAACjxD,GAAD,mBAAC,eAAaA,GAAd,IAAkB+M,OAAQA,OACnCmB,GAGLG,EAAa,uCAAG,kCAAAhO,EAAA,0DACd4N,IADc,uBAEd2L,GAAa,GACP8/B,EAAW,CACbovG,gBAAiB93F,EAAa83F,iBAAmB,KACjDrmJ,SAAUuuD,EAAavuD,UAAY,KACnCG,eAAgBouD,EAAapuD,gBAAkB,KAC/CF,gBAAiBvG,EAAMwpE,iBAAmB,KAC1C3iE,wBAAwB,UAAAguD,EAAaa,mCAAb,eAA0Cr0D,KAAM,KACxE0F,eAAgB8tD,EAAa9tD,gBAAkB,KAC/C2tD,2BAA4BG,EAAaH,4BAA8B,KACvEvtD,kBAAmB0tD,EAAa1tD,mBAAqB,KACrDF,oBAAqB4tD,EAAa5tD,qBAAuB,KACzDI,iBAAkBwtD,EAAaxtD,kBAAoB,KACnDE,sBAAuBstD,EAAattD,uBAAyB,KAC7DE,kBAAmBotD,EAAaptD,mBAAqB,KACrDmtD,mBAAoBC,EAAaD,oBAAsB,KACvDD,sBAAuBE,EAAaF,uBAAyB,KAC7DI,oBAAqBF,EAAaE,sBAAuB,EACzDC,uBAAwBH,EAAaG,yBAA0B,EAC/DrtD,sBAAuBktD,EAAaltD,wBAAyB,EAC7DE,oBAAqBgtD,EAAahtD,sBAAuB,EACzDC,UAAW+sD,EAAa/sD,YAAa,EACrCG,yBAA0B4sD,EAAa5sD,2BAA4B,EACnEE,yBAA0B0sD,EAAa1sD,0BAA4B,KACnEE,qBAAsBwsD,EAAaxsD,uBAAwB,EAC3DE,yBAA0BssD,EAAatsD,0BAA4B,KACnEI,WAAY4rD,GAAe,KAC3B9rD,yBAA0BosD,EAAapsD,2BAA4B,EACnEG,oBAAqBisD,EAAajsD,sBAAuB,EACzDE,yBAAyB,UAAA+rD,EAAac,oCAAb,eAA2Ct0D,KAAM,KAC1E+H,gBAAiByrD,EAAazrD,kBAAmB,EACjDrB,oBAAqB8sD,EAAa9sD,sBAAuB,EACzDktD,uBAAwBJ,EAAaI,yBAA0B,EAC/DjsD,wBAAyB6rD,EAAa7rD,0BAA2B,EACjEE,mBAAoB2rD,EAAa3rD,qBAAsB,EACvDvC,cAAekuD,EAAaluD,eApClB,SAuCEqtD,GAAWzW,GAvCb,QAuCV73C,EAvCU,QAwCNoE,SACJyB,EAAiB,iBAAD,OAAkB7F,EAAIW,KAAKitD,aAA3B,4BAChBzkD,EAAQC,KAAR,mCAAyCpJ,EAAIW,KAAKC,SAAlD,YAA8DtG,EAAMwpE,mBAEpEl+D,EAAe5F,EAAIyG,SAEvBsR,GAAa,GA9CC,2CAAH,qDAkDnB,OACI,mCACI,eAAC9a,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UAQI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,cACXC,YAAY,cACZpQ,MAAO0yD,EAAa1tD,kBACpBsF,SAAUoF,EACVjI,KAAK,oBACLgH,OAAQikD,EAAajkD,OAAOzJ,sBAGpC,cAACxE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,mBAApC,SACI,cAAC,IAAD,CACI2N,WAAW,iBACXC,YAAY,iBACZpQ,MAAO0yD,EAAa5tD,oBACpBwF,SAAUoF,EACVjI,KAAK,sBACLgH,OAAQikD,EAAajkD,OAAO3J,wBAGpC,cAACtE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI2B,UAAU,mBAA7B,SACI,cAAC,IAAD,CACI2N,WAAW,mBACXC,YAAY,mBACZpQ,MAAO0yD,EAAa9tD,eACpB0F,SAAUoF,EACVjI,KAAK,iBACLgH,OAAQikD,EAAajkD,OAAO7J,mBAIpC,eAACpE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAvB,UACI,cAAC,IAAD,CACIC,WAAW,0BACXC,YAAY,0BACZpQ,MAAO0yD,EAAaF,sBACpBloD,SAAUoF,EACVjI,KAAK,0BAET,cAACxE,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBwvD,EAAajkD,OAAO+jD,2BAE/C,eAAChyD,EAAA,EAAD,CAAMI,MAAI,EAACH,WAAS,EAACI,GAAI,EAAG2B,UAAU,oBAAtC,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,wCACA,eAACzB,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAACH,WAAS,EAACC,QAAS,EAAtC,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAWS,MAAOoxD,EAAa83F,gBAAiBnrJ,QAAS,kBAAMq5B,GAAa,QAEhF,cAACl4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAUS,MAAOoxD,EAAa83F,gBAAiBnrJ,QAAS,kBAAMq5B,GAAa,cAevF,cAACl4B,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAI1N,UAAU,mBAArC,SACI,cAAC,IAAD,CACI2N,WAAW,iBACX6f,WAAS,EACTzQ,KAAM,EACNnP,YAAY,iBACZpQ,MAAO0yD,EAAaptD,kBACpBgF,SAAUoF,EACVjI,KAAK,oBACLgH,OAAQikD,EAAajkD,OAAOnJ,sBAGpC,eAAC9E,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAAS0Q,EAAewM,YAAalB,EAAtD,mBAIJ,cAAC7a,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,aAA5B,SACI,cAAC,IAAD,CAAiBnD,QAASxB,EAAMO,QAAhC,+BCpMT,SAASk7D,GAAmBz7D,GACvC,MAA0BgC,mBAAS,CAC/BqiB,WAAY,KACZq3C,WAAY,GACZC,uBAAwB,KACxBC,YAAa,KACbC,6BAA8B,KAC9B+wF,eAAe,EACfC,WAAW,IAPf,mBAAOppJ,EAAP,KAAcxB,EAAd,KASA,EAA0BD,mBAAS,IAAnC,mBAAOqD,EAAP,KAAcy2D,EAAd,KAEAl4D,oBAAS,sBAAC,4BAAAM,EAAA,0DACFlE,EAAMwG,UADJ,gCAEc40D,GAAcp7D,EAAMwG,WAFlC,QAEEd,EAFF,QAGMoE,SACJ7H,GAAS,SAAC4B,GAAD,yBAAC,eACHA,GADE,IAEL+3D,YAAW,UAAEl2D,EAAIW,KAAK01D,qBAAqB,UAAhC,aAAE,EAAkCJ,uBAC/CD,WAAYh2D,EAAIW,KAAK2G,QAAQzD,KAAI,SAACgoB,GAAD,MAAQ,CACrClwB,GAAIkwB,EAAEyqC,SACNpyD,KAAM2nB,EAAE8iB,gBATlB,2CAcP,IAEH,MAA6C5yC,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAEpBguD,EAAW,WACb,IAAI1oD,EAAS,GACTqrD,GAAU,EAUd,OATKx4D,EAAMgpC,OACP77B,EAAO67B,KAAO,0BACdwvB,GAAU,GAETx4D,EAAMmD,UACPgK,EAAOhK,QAAU,sBACjBq1D,GAAU,GAEdH,EAASlrD,GACFqrD,GAGLpqD,EAAc,SAACc,GACjB,MAAiCA,EAAM3G,OAA/BpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAOgR,EAArB,EAAqBA,QAEjBlR,EADQ,iBAAR2H,EACS,SAACnG,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOuJ,KAGH,SAAC1P,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,OAKd67B,EAAY,uCAAG,8BAAA95B,EAAA,0DACbo1D,IADa,uBAETjzD,EAAO,CACPs1D,uBAAwBl4D,EAAMm4D,YAAcn4D,EAAMm4D,YAAc,KAChEM,8BAA+Bl8D,EAAMwG,UACrCq1D,6BAA8Bp4D,EAAMo4D,6BACpCM,iCAAkC14D,EAAMgpC,KACxC2vB,oCAAqC34D,EAAMmD,SAPlC,SASS20D,GAAkBl1D,GAT3B,QASTg2D,EATS,QAUCvyD,SACVyB,EAAiB,iCACb9H,EAAMmpJ,cACN3qJ,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,IAELopJ,WAAW,OAGf7sJ,EAAMO,WAGV+K,EAAe+wD,EAAUlwD,SArBhB,2CAAH,qDAyBlB,OACI,8BACI,cAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEP,SAAU,UAA/C,SACKgD,EAAMopJ,UACH,qCACI,eAAClqJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,UACI,cAACmB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAACiB,OAAK,EAAjC,4BAGA,cAAC,IAAD,CAAYiN,WAAW,iBAAiBC,YAAY,iBAAiB3I,KAAK,OAAOzH,MAAOsB,EAAMgpC,KAAMhgC,SAAUoF,IAC9G,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBA,EAAMonC,UAEjC,cAAC9pC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAG2B,UAAU,mBAA5B,SACI,cAAC,IAAD,CACI2N,WAAW,oBACXC,YAAY,mBACZ7F,KAAK,SACL9C,KAAK,UACLzH,MAAOsB,EAAMmD,QACb6F,SAAUoF,EACVjB,OAAQvL,EAAMuB,YAGtB,cAACjE,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG1N,UAAU,gBAApC,SACI,cAAC,IAAD,CAAmBwO,QAAS1P,EAAMmpJ,cAAehjJ,KAAK,gBAAgB6C,SAAUoF,EAAarF,MAAM,4BAEvG,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,cAACmK,GAAA,EAAD,wGAGJ,cAACxK,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE0hC,aAAc,IAA1C,SACI,cAAC,IAAD,CAAiBlhC,QAASw8B,EAA1B,2BAIR,cAAC,GAAD,CAAcwrC,gBAAiBxpE,EAAMwG,UAAWwmC,UAAWhtC,EAAMgtC,UAAWzsC,QAASP,EAAMO,QAAS68C,SAAS,gBC/HjI,IAAMjc,GAAY,CACd/gC,MAAO,CACH8C,MAAO,WAEXi3C,OAAQ,CACJnZ,OAAQ,6BAEZ67B,OAAQ,CACJ/5D,QAAS,mBAEbg6D,UAAW,CACP3xD,OAAQ,sBAgJD2hJ,GA5II,SAAC9sJ,GAAW,IAAD,EAC1B,EAAwBgC,oBAAS,GAAjC,mBAAOgxB,EAAP,KAAa6jE,EAAb,KACA,EAA0B70F,mBAAS,CAAE+qJ,WAAW,EAAO//G,UAAW,GAAIggH,iBAAkB,KAAxF,mBAAOvpJ,EAAP,KAAcxB,EAAd,KACIq8B,EAAat+B,EAAM2P,MAAMC,OAAO0uB,WAAW60E,OAAO,GAAGj7D,cAAgBl4C,EAAM2P,MAAMC,OAAO0uB,WAAWjN,MAAM,GAEvGjW,EAAS4X,EACT,CACI,CAAEppB,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAK,GAAD,OAAK00B,GAAcjjB,KAAM,IAAKC,QAAQ,GAC5C,CAAE1R,KAAK,GAAD,OAAK,OAAS00B,GAAcjjB,KAAM,IAAKC,QAAQ,IAEzD,CACI,CAAE1R,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAK,GAAD,OAAK00B,GAAcjjB,KAAM,IAAKC,QAAQ,IAGhD2xI,EAAiB,uCAAG,WAAOnhJ,GAAP,mBAAA5H,EAAA,2DACE4H,EAAEE,OADJ,EACdpC,QAAMzH,EADQ,EACRA,OACJ6P,OAAS,GAFG,gCAGM7L,GAAqBhE,GAH3B,OAGdonE,EAHc,OAIlBtnE,GAAS,SAAC4B,GAAQ,IAAD,EAEe,IADxBg8B,EAAK,eAAQh8B,IACjB,UAAI0lE,EAAYljE,YAAhB,aAAI,EAAkB4V,OAClB4jB,EAAMktH,UAAYxjF,EAAYz/D,QAC9B+1B,EAAM2pC,gBAAN,UAAwBD,EAAYljE,YAApC,aAAwB,EAAkB4V,KAAK,GAAGzV,UAClDq5B,EAAMmtH,iBAAN,UAAyBzjF,EAAYljE,YAArC,aAAyB,EAAkB4V,KAAK,GAAG+wI,iBACnDntH,EAAMmN,UAAY7qC,IAElB09B,EAAMktH,WAAY,EAClBltH,EAAM2pC,gBAAkB,GACxB3pC,EAAMmN,UAAY,GAClBnN,EAAMmtH,iBAAmB,IAE7B,OAAOntH,KAjBO,sBAoBlB59B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBkpJ,WAAW,EAAO//G,UAAW,UApBtC,2CAAH,sDAyBvBppC,oBAAS,sBAAC,8BAAAM,EAAA,sEACU4nC,GAAaroC,EAAM+lE,iBAD7B,QACF9jE,EADE,QAEEoE,UACAzD,EAAOX,EAAIW,KAAK2G,QAAQ,GAC5B/K,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELs8D,KAAI,OAAE95D,QAAF,IAAEA,OAAF,EAAEA,EAAM6uC,yBANd,2CASP,CAACzxC,EAAMspJ,YAEV,IAGMxsJ,EAAU,WACZs2F,GAAQ,GACR50F,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBkpJ,WAAW,EAAO//G,UAAW,KAAMggH,iBAAkB,WAOpF,OACI,sBAAKroJ,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAAQA,EAAQzW,UAAU,sBAEvC,cAAChC,EAAA,EAAD,CAAMC,WAAS,EAAf,SACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,SACI,eAACw0D,GAAA,EAAD,CAAgBroD,UAAW4rB,KAA3B,UACI,qBAAK/5B,MAAOmgC,GAAUgZ,OAAtB,SACI,qBAAKn5C,MAAOmgC,GAAU/gC,MAAtB,SACI,cAACuC,EAAA,EAAD,CAAMC,WAAS,EAAC5B,MAAO,CAAED,WAAY,SAAU+B,QAAS,WAAxD,SACI,cAACH,EAAA,EAAD,CAAMK,GAAI,GAAID,MAAI,EAAC/B,MAAO,CAAED,WAAY,UAAxC,SACI,cAACoM,GAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAAYlC,MAAOmgC,GAAU07B,OAA5D,SACK7pC,GAAO,UAAAvvB,EAAM08D,YAAN,eAAYjoB,gBAAiB,GAAK5Z,YAM9D,cAACq5B,GAAA,EAAD,CAAOv9C,aAAW,eAAeqnB,KAAK,SAAtC,SACI,cAACm2B,GAAA,EAAD,UACI,cAACP,GAAA,EAAD,UACI,cAACH,GAAA,EAAD,CAAWl2D,MAAO,CAAEkC,MAAO,WAAayK,MAAM,MAA9C,SACMqlB,EAuB+B,cAA7BsL,EAAWhR,cACX,cAAC,GAAD,CACIk8C,gBAAiB/lE,EAAM+lE,gBACvBx8B,UAAWvpC,EAAMupC,UACjBk/G,cAAelsJ,EAAMgP,SAASvL,MAAMyoJ,cACpC3rJ,QAASA,IAEgB,YAA7B+9B,EAAWhR,cACX,cAAC,GAAD,CAAoBk8C,gBAAiB/lE,EAAM+lE,gBAAiBx8B,UAAWvpC,EAAMupC,UAAWzsC,QAASA,IACpE,iBAA7B+9B,EAAWhR,cACX,cAAC,GAAD,CAAck8C,gBAAiB/lE,EAAM+lE,gBAAiBx8B,UAAWvpC,EAAMupC,UAAWzsC,QAASA,IAC9D,aAA7B+9B,EAAWhR,cACX,cAAC,GAAD,CACI8vB,SAAU,SACVpQ,UAAWvpC,EAAMupC,UACjBkgH,cAhEtB,SAACtmJ,KAiEqBJ,UAAW/C,EAAM+lE,gBACjBjpE,QAASA,IAEb,KAzCA,eAACoC,EAAA,EAAD,CAAMC,WAAS,EAAf,UACI,cAACD,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG1N,UAAU,YAA3C,SACI,sBAAKA,UAAU,cAAf,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAAC,IAAD,CACI+oJ,eAAa,EACb56I,YAAY,SACZ9F,SAAUwgJ,EACV9qJ,MAAOsB,EAAM2pJ,WACb7gJ,WAAW,EACX2kB,WAAY,CAAElwB,MAAO,CAAE0R,cAAejP,EAAM2pJ,WAAa,GAAK,qBAI1E,cAAC/pD,GAAA,EAAD,CAAK11F,MAAM,SACVlK,EAAMspJ,WACH,eAACpqJ,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG1N,UAAU,YAA3C,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAAlB,SAAoB,WACpB,eAAC,IAAD,CAAiB5C,QArDlD,WACfq1F,GAAQ,IAoDwC,iBAA2Cv4D,cArBpD,kBC3GzC+uH,GAAY,CACd,CAAEzjJ,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,cAAe0R,QAAQ,GAC/B,CAAE1R,KAAM,aAAcyR,KAAM,IAAKC,QAAQ,IAGvCwX,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,GAAIiH,qBAAqB,GAEjE,CAAExG,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,KACrD,CACIS,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,IAEX,CAAES,IAAK,oBAAqBxE,KAAM,WAClC,CAAEwE,IAAK,oBAAqBxE,KAAM,cAAe+D,MAAO,KACxD,CAAES,IAAK,mBAAoBxE,KAAM,gBAAiB+D,MAAO,KACzD,CAAES,IAAK,6BAA8BxE,KAAM,SAAU+D,MAAO,MAuLjD2/I,GApLkB,SAACttJ,GAC9B,IAAI6O,EAAU8b,eAEd,EAA0B3oB,mBAAS,CAC/BooE,cAAe,GACf9pD,QAAQ,EACR9E,aAAa,EACb6uD,QAAS,KACTf,aAAc,KACdt2C,MAAM,EACN1c,UAAW,KAPf,mBAAO7S,EAAP,KAAcxB,EAAd,KAmBM04B,EAAa,SAACj1B,GAChBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2X,aAAa,EACblF,UAAW,GACXkzD,gBAAiB,KACjBa,QAAS,KACT7Z,UAAW,QAEf9qD,GAAO4kE,KAWX1mE,qBAAU,WACN0mE,MACD,IAEH1mE,oBAAS,sBAAC,4BAAAM,EAAA,yDACDlE,EAAM0sC,UADL,qBAEEjpC,EAAM6S,UAAUtE,OAAS,GAF3B,gCAG0B7L,GAAqB1C,EAAM6S,WAHrD,OAGMizD,EAHN,OAIEtnE,GAAS,SAAC4B,GAAQ,IAAD,EAEe,EADxBg8B,EAAK,eAAQh8B,IACjB,UAAI0lE,EAAYljE,YAAhB,aAAI,EAAkB4V,OAClB4jB,EAAM7M,MAAO,EACb6M,EAAM2pC,gBAAN,UAAwBD,EAAYljE,YAApC,aAAwB,EAAkB4V,KAAK,GAAGzV,UAClDq5B,EAAM3pB,SAAW,IAAIhC,MAErB2rB,EAAM7M,MAAO,EAEjB,OAAO6M,KAbb,sBAgBE59B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAM,OAhBnC,2CAmBP,CAACvvB,EAAM6S,YAEV,IAAMg0D,EAA2B,uCAAG,wCAAApmE,EAAA,sDAC5BqmE,EAAiB,GACjBvqE,EAAM0sC,YACN69B,EAAiB,IAEY,WAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,MAEY,WAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,MAEY,SAAxB,OAALvqE,QAAK,IAALA,GAAA,UAAAA,EAAO2P,aAAP,mBAAcC,cAAd,eAAsB46D,OACtBD,EAAiB,IAGrBtoE,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL0mE,eAAgBA,OAjBY,2CAAH,qDA4B7BN,EAAe,6BAAyBjqE,EAAM0sC,UAAN,oBAA+B1sC,EAAM0sC,WAAc,GAA5E,0BAAgGjpC,EAAM8mE,gBAEnHl3C,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,cAAC/R,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAAC,KAAD,CACIwV,KAAMmsB,KACNxhC,MAAM,YACNyB,UAAU,6BACVgU,aAAa,iBAEbnX,QAAS,kBAlBIuK,EAkBsB2I,OAjB/C7F,EAAQC,KAAK,CACTwkB,SAAS,gCAAD,cAAkCvnB,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAKzF,SAAvC,mBAAmDyF,QAAnD,IAAmDA,OAAnD,EAAmDA,EAAKxF,iBAChE9C,MAAO,SAHa,IAACsI,QAyBvBwH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAEGV,EAASS,mBAAQ,WACnB,IAAMC,EAAQ,UAAOuxI,IACjBj4I,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA8B,eAAjBA,EAAQnS,QAInD,OAHIwL,IACAA,EAAU5T,QAAUm5B,GAEjB7e,IACR,IAEG+sD,EAAeplE,EAAMuvB,KAAO,gBAAkB,KAEpD,OACI,sBAAKruB,UAAY3E,EAAMimD,SAAsB,GAA7B,SAAhB,UACyB,SAApBxiD,EAAM+sD,UAAuB,KAC1B,sBAAKxvD,MAAO,CAAE2M,MAAO,OAAQ7M,QAAS,OAAQC,WAAY,SAAU+wD,aAAc,SAAU7wD,SAAU,WAAY4uB,IAAK,GAAvH,UACI,qBAAK7uB,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,IAAD,CAAayN,OAAQA,EAAQzW,UAAU,6BAF/C,WAKyB,QAApBlB,EAAM+sD,UAAsB,KACzB,qBAAKxvD,MAAO,CAAE2M,MAAO,QAArB,SACI,uBAAOjB,KAAK,OAAOD,SA7GvB,SAACX,GACjB,IAAM3J,EAAQ2J,EAAEE,OAAO7J,MACvBF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyS,UAAWnU,QAyG+CoQ,YAAY,mBAAmBpQ,MAAOsB,EAAM6S,UAAWtV,MAAO,CAAE8B,QAAS,UAKlIW,EAAM+X,YACH,qCACI,uBACA,cAAC,GAAD,CACIkxB,UAAW1sC,EAAM0sC,WAAajpC,EAAM6lE,cAAgB7lE,EAAM+lE,gBAC1D/W,YAAahvD,EAAM4mE,QACnBnZ,iBAAiB,EACjB3wD,QAAS,kBAAMo6B,GAAW,IAC1B61B,UAAW/sD,EAAM+sD,eAIzB,mCACI,cAAC,GAAD,CACIp5C,cAAe,SAAC1R,GAAD,cAAU,CACrBuS,QAAO,OAAEvS,QAAF,IAAEA,GAAF,UAAEA,EAAKW,YAAP,aAAE,EAAW4V,KACpBC,MAAK,OAAExW,QAAF,IAAEA,GAAF,UAAEA,EAAKW,YAAP,aAAE,EAAW6V,QAEtB3I,QAASA,EACT2B,YAAY,WACZjB,uBAAuB,kBACvBkC,OAAQ8zD,EACR3xD,SAAUuwD,EACVpwD,WAAY,kBA9JP7I,EA8J6B,KA9JrB88B,EA8J2BjpC,EAAM+lE,gBA9JtBhZ,EA8JuC,WA7J/EvuD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL2sD,UAAWA,EACXh1C,aAAa,EACb6uD,QAASz6D,EACT05D,aAAc58B,OANE,IAAC98B,EAAQ88B,EAAW8jB,GA+JxBt6C,SAAUzS,EAAMyS,iBC7LlCgzD,GAAa,CACf,CAAEt/D,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,cAAe0R,QAAQ,GAC/B,CAAE1R,KAAM,UAAW0R,QAAQ,IAGzBwX,GAAc,CAChB,CAAE1kB,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAElE,CAAExG,IAAK,kBAAmBxE,KAAM,aAAc+D,MAAO,KACrD,CACIS,IAAK,wBACLxE,KAAM,YACNqR,eAAgBjL,IAAWm5D,sBAC3Bx0D,UAAW3E,IAAWo5D,oBACtBz7D,MAAO,IAEX,CACIS,IAAK,aACLxE,KAAM,QACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,IAGX,CAAES,IAAK,oBAAqBxE,KAAM,WAClC,CAAEwE,IAAK,oBAAqBxE,KAAM,cAAe+D,MAAO,OAGxD,CAAES,IAAK,mBAAoBxE,KAAM,gBAAiB+D,MAAO,KACzD,CAAES,IAAK,6BAA8BxE,KAAM,SAAU+D,MAAO,MAyLjD4/I,GArLa,SAACvtJ,GACzB,MAA0BgC,mBAAS,CAC/BwZ,aAAa,EACb8tD,aAAc,KACdhjE,SAAU,KACVmM,KAAM,GACNjH,YAAY,EACZ4xC,SAAU,UACVpqB,MAAM,EACN1c,UAAW,KARf,mBAAO7S,EAAP,KAAcxB,EAAd,KAWA2B,oBAAS,sBAAC,4BAAAM,EAAA,yDACDlE,EAAM0sC,UADL,qBAEEjpC,EAAM6S,UAAUtE,OAAS,GAF3B,gCAG0B7L,GAAqB1C,EAAM6S,WAHrD,OAGMizD,EAHN,OAIEtnE,GAAS,SAAC4B,GAAQ,IAAD,EAEe,EADxBg8B,EAAK,eAAQh8B,IACjB,UAAI0lE,EAAYljE,YAAhB,aAAI,EAAkB4V,OAClB4jB,EAAM7M,KAAOu2C,EAAYz/D,QACzB+1B,EAAM2pC,gBAAN,UAAwBD,EAAYljE,YAApC,aAAwB,EAAkB4V,KAAK,GAAGzV,UAClDq5B,EAAM3pB,SAAW,IAAIhC,MAErB2rB,EAAM7M,MAAO,EAGjB,OAAO6M,KAdb,sBAiBE59B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAM,OAjBnC,2CAqBP,CAACvvB,EAAM6S,YAEV,IAAMmzD,EAAW,uCAAG,sBAAAvlE,EAAA,sDAChBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,UAHF,2CAAH,qDAcXyH,EAAa,SAACtV,EAAMqO,GACtB,OACI,qBAAK1T,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,SACI,cAAC,KAAD,CACI/Z,KAAMmsB,KACNxhC,MAAM,YACNyB,UAAU,6BACVgU,aAAa,iBACbnX,QAAS,kBAfCuK,EAesB2I,OAd5C1U,EAAM6O,QAAQC,KAAK,CACfwkB,SAAS,4BAAD,cAA8BvnB,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKzF,SAAnC,mBAA+CyF,QAA/C,IAA+CA,OAA/C,EAA+CA,EAAKxF,iBAC5D9C,MAAO,SAHU,IAACsI,QAuBpBwH,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAEG0xI,EAAyB,WAC3BvrJ,GAAS,SAACwB,GAAD,mBAAC,eAAgBA,GAAjB,IAAwB+X,aAAa,EAAOuuD,iBAAiB,QAGpE3uD,EAASS,mBAAQ,WACnB,IAAMiuD,EAAU,UAAOZ,IACnB9zD,EAAY8zD,GAAW11D,MAAK,SAACuI,GAAD,MAA8B,YAAjBA,EAAQnS,QAUrD,OATIwL,IACAA,EAAU5T,QAAUgsJ,GAEpB/pJ,EAAMsmE,iBACND,EAAWpuC,OAAO,EAAG,EAAG,CACpB9xB,KAAK,iBAAD,OAAmBnG,EAAMwtD,sBAAzB,aAAmDjhD,IAAWouC,kBAAkB36C,EAAMumE,YAAtF,KACJ1uD,QAAQ,IAGTwuD,IACR,CAACrmE,EAAM+X,cAoBJqD,EAAoB,SAACnZ,EAAK8qD,GAC5BvuD,GAAS,SAACwB,GAAD,yBAAC,eAAgBA,GAAjB,uBAAyB+sD,GAAY,GAArC,0BAAuD,IAAvD,OACT9qD,GAAO+jE,KAWLZ,EAAeplE,EAAMuvB,KAAO,aAAe,KACjD,OACI,sBAAKruB,UAAS,SAAY3D,MAAO,CAAEyD,UAAW,GAA9C,UACI,mCACMhB,EAAMsmE,gBAYJ,KAXA,sBAAK/oE,MAAO,CAAE2M,MAAO,OAAQ7M,QAAS,OAAQC,WAAY,SAAU+wD,aAAc,SAAU7wD,SAAU,WAAY4uB,IAAK,GAAvH,UACI,qBAAK7uB,MAAO,CAAE2M,MAAO,QAArB,SACI,cAAC,IAAD,CAAayN,OAAQA,EAAQzW,UAAU,6BAF/C,WAKMlB,EAAM+X,YAIJ,KAHA,qBAAKxa,MAAO,CAAE2M,MAAO,QAArB,SACI,uBAAOjB,KAAK,OAAOD,SApB3B,SAACX,GACjB,IAAM3J,EAAQ2J,EAAEE,OAAO7J,MACvBF,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELyS,UAAWnU,QAgBmDoQ,YAAY,mBAAmBpQ,MAAOsB,EAAM6S,UAAWtV,MAAO,CAAE8B,QAAS,YAOtIW,EAAM+X,YACH,mCACI,cAAC,GAAD,CACIiyI,UAAU,EACVjkF,gBAAiB/lE,EAAM+lE,gBACvBx8B,UAAWvpC,EAAMupC,UACjBzsC,QAAS,kBAAMse,GAAkB,EAAM,oBAG/Cpb,EAAMsmE,gBACN,cAAC,GAAD,CACIzjE,SAAU7C,EAAM6C,SAChBomC,UAAWjpC,EAAM6lE,aACjB/oE,QAAS,kBAAMse,GAAkB,EAAM,oBACvCu+B,SAAU35C,EAAM25C,SAChB0jB,YAAa9gE,EAAM8gE,cAGvB,mCACI,cAAC,GAAD,CACI1pD,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAO,iBACPmC,SAAUuwD,EACV3zD,YAAY,WACZjB,uBAAuB,eACvBwE,WAAY,kBA/EVpS,EA+E6B,KA/EvB2Z,EA+E6Bvc,EAAM+lE,gBA/ExBhZ,EA+EyC,mBA9E5EvuD,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GAYjB,OAXIwC,IACAw5B,EAAMv5B,SAAWD,EAAKC,SACtBu5B,EAAMypC,aAAejjE,EAAKE,gBAC1Bs5B,EAAMoxB,sBAAwB5qD,EAAK4qD,sBACnCpxB,EAAMmqC,WAAa3jE,EAAK2jE,YAExBhqD,IACA6f,EAAMypC,aAAetpD,GAEzB6f,EAAM2wB,IAAa,EAEZ3wB,KAdM,IAACx5B,EAAM2Z,EAAWwwC,GAgFnBt6C,SAAUzS,EAAMyS,iBC3IzBw3I,GAzES,SAAC1tJ,GACrB,MAA6CyB,eAArC8J,EAAR,EAAQA,iBAAkBD,EAA1B,EAA0BA,eAC1B,EAA0BtJ,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBzd,SAAU,OAJd,mBAAOzS,EAAP,KAAcxB,EAAd,KAMA,EAA0BD,mBAAS,IAAnC,mBAAOqD,EAAP,KAAcy2D,EAAd,KAEAl4D,oBAAS,sBAAC,sBAAAM,EAAA,0FAAgB,IAE1B,IAAM2N,EAAc,SAACc,GACjB,MAAiCA,EAAM3G,OAA/BpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBgR,QAErBlR,GAAS,SAACwB,GAAD,mBAAC,eACHA,GADE,kBAEJmG,EAAOzH,QAIVm3D,EAAW,WACb,IAAI1oD,EAAS,GACTqrD,GAAU,EAOd,OANKx4D,EAAMgpC,OACP77B,EAAO67B,KAAO,0BACdwvB,GAAU,GAGdH,EAASlrD,GACFqrD,GAGLj+B,EAAY,uCAAG,8BAAA95B,EAAA,0DACbo1D,IADa,uBAETjzD,EAAO,CACPs1D,uBAAwB37D,EAAMqG,KAAKs1D,uBACnCn1D,UAAWxG,EAAMqG,KAAKG,UACtBmnJ,aAAclqJ,EAAMgpC,KACpBmhH,gBAAiBnqJ,EAAMmD,SANd,SASS40D,GAAmBn1D,GAT5B,QASTg2D,EATS,QAUCvyD,SACVyB,EAAiB,kCACjBvL,EAAMO,SAAQ,IAEd+K,EAAe+wD,EAAUlwD,SAdhB,2CAAH,qDAmBlB,OACI,eAACxJ,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,eAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAf,UACI,cAACmB,EAAA,EAAD,CAAYqO,UAAQ,EAACpO,QAAM,EAACiB,OAAK,EAAjC,4BAGA,cAAC,IAAD,CAAYiN,WAAW,iBAAiBC,YAAY,iBAAiB3I,KAAK,OAAOzH,MAAOsB,EAAMgpC,KAAMhgC,SAAUoF,IAC9G,cAACzM,EAAA,EAAD,CAAgBC,OAAK,EAArB,SAAuBA,EAAMonC,UAEjC,eAAC9pC,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,GAAvB,UACI,cAAClO,EAAA,EAAD,CAAYC,QAAM,EAAlB,+BACA,cAAC,IAAD,CAAW+tB,WAAS,EAAC5f,YAAY,mBAAmBpQ,MAAOsB,EAAMmD,QAAS6F,SAAUoF,EAAajI,KAAK,UAAU8C,KAAK,cAGzH,cAAC/J,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAE0hC,aAAc,IAA1C,SACI,cAAC,IAAD,CAAiBlhC,QAASw8B,EAA1B,6BCpEV5iB,GAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,YAAa0R,QAAQ,IAG3BwX,GAAc,CAChB,CACI1kB,IAAK,SACLxE,KAAM,SACN+D,MAAO,GACPiH,qBAAqB,GAEzB,CAAExG,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,KACtD,CAAES,IAAK,mBAAoBxE,KAAM,sBAAuB+D,MAAO,KAC/D,CAAES,IAAK,YAAaxE,KAAM,QAAS+D,MAAO,MAsF/BkgJ,GAnFQ,SAAC7tJ,GACpB,MAA0BgC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBzd,SAAU,OAJd,mBAAOzS,EAAP,KAAcxB,EAAd,KAMA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,IAEH,IAAMA,EAAW,uCAAG,sBAAA1d,EAAA,sDAEhBjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELqS,SAAU,IAAIhC,KACd1I,YAAY,OALA,2CAAH,qDASX6nB,EAAgB,SAAChtB,EAAMqO,GACzB,OACI,qBAAK1T,MAAO,CAAEyZ,UAAW,UAAzB,SAII,cAAC,KAAD,CACIlC,KAAMu1I,IACN5qJ,MAAM,YACNyB,UAAU,6BACVgU,aAAa,oBACbnX,QAAS,kBACLS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,EACNW,gBAAiBjf,aAQnCnB,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOgX,IACjB1d,EAAY0G,EAAStI,MAAK,SAACuI,GAAD,MAA6B,WAAhBA,EAAQ3N,OAInD,OAHIgH,IACAA,EAAUT,UAAY0e,GAEnBvX,IACR,IAEGiyI,EAAqB,SAACroJ,GACxBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmvB,MAAM,OAEVttB,GAAOkc,KAGX,OACI,sBAAKjd,UAAS,SAAd,UACI,cAAC,IAAD,CAAayW,OAAQA,GAAQzW,UAAU,2BACvC,cAAC,GAAD,CACIyS,cAAe,SAAC1R,GAAD,MAAU,CACrBuS,QAASvS,EAAIW,KAAK4V,KAClBC,MAAOxW,EAAIW,KAAK6V,QAEpB3I,QAASA,EACT4C,OAAM,4BAGND,SAAUzS,EAAMyS,WAEnBzS,EAAMuvB,KACH,cAAC7yB,GAAA,EAAD,CAAYC,MAAO,mBAAoBG,QAAS,kBAAMwtJ,GAAmB,IAAQvtJ,SAAS,KAA1F,SACI,cAAC,GAAD,CAAiB6F,KAAM5C,EAAMkwB,gBAAiBpzB,QAASwtJ,MAE3D,SC3FVlzI,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,IAAKiH,qBAAqB,GAClE,CAAExG,IAAK,mBAAoBxE,KAAM,aAAc+D,MAAO,KACtD,CACIS,IAAK,kBACLxE,KAAM,MACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAEX,CACIS,IAAK,+BACLxE,KAAM,SACN+K,UAAW3E,IAAWE,cACtBvC,MAAO,KAGX,CAAES,IAAK,iBAAkBxE,KAAM,WAAY+D,MAAO,KAClD,CAAES,IAAK,oBAAqBxE,KAAM,SAClC,CACIwE,IAAK,YACLxE,KAAM,SAEV,CAAEwE,IAAK,wBAAyBxE,KAAM,SAAU+D,MAAO,MAsH5CqgJ,GApHY,SAAChuJ,GACxB,MAA0BgC,mBAAS,CAC/BnB,MAAM,EACN2K,YAAY,EACZmoB,gBAAiB,GACjBgV,OAAO,EACPozC,YAAY,EACZC,gBAAgB,IANpB,mBAAOv4E,EAAP,KAAcxB,EAAd,KAQI4uB,EAAkB9sB,IAAW+sB,gBAQjCltB,oBAAS,sBAAC,sBAAAM,EAAA,sDACN0d,IADM,2CAEP,IAEH,IAAM06D,EAAc,SAAC99D,EAAIzS,GACrB9J,GAAS,SAAC4B,GACN,IAAIg8B,EAAK,eAAQh8B,GAQjB,OAPAg8B,EAAMlM,gBAAkBnV,EAAG9J,IACf,OAAR3I,IACA8zB,EAAMk8C,YAAa,GAEX,OAARhwE,IACA8zB,EAAMm8C,gBAAiB,GAEpBn8C,MAITje,EAAW,uCAAG,4BAAA1d,EAAA,sEACAu2C,GAAoBz6C,EAAM29C,QAD1B,OACZj4C,EADY,OAGhBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL6d,KAAK,aAAMhc,EAAIW,KAAKykE,WAAa,IACjCt/D,YAAY,OANA,2CAAH,qDASXmQ,EAAa,SAAC6C,EAAIytD,GAAW,IAAD,MAC9B,OACI,sBAAKjrE,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,iBAA/C,WACK,UAAA9T,EAAG9J,WAAH,eAAQq7D,qBAAsB,MAAO,UAAAvxD,EAAG9J,WAAH,eAAQu5I,cAC1C,cAAC,KAAD,CACI11I,KAAMmsB,KACNxhC,MAAM,UACN1B,QAAS,WACL86E,EAAY99D,EAAI,OAEpB7F,aAAa,yBAEjB,MACH,UAAA6F,EAAG9J,WAAH,eAAQq7D,qBACL,cAAC,KAAD,CACIx3D,KAAMmsB,KACNxhC,MAAM,YACN1B,QAAS,WACL86E,EAAY99D,EAAI,OAEpB7F,aAAa,0BAEjB,SAIVpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYgH,GAEnBG,IACR,IAEG+X,EAAc,SAACnuB,GACjBzD,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELhD,MAAM,EACNk7E,YAAY,EACZC,gBAAgB,EAChBroD,gBAAiB,QAErBjuB,GAAOkc,KAGX,OACI,sBAAKjd,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OAhFV,CACH,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,qBAAsB0R,QAAQ,MA+ErC7X,EAAMs4E,WACH,cAAC,GAAD,CACInL,kBAAmBntE,EAAMkwB,gBAAgByoD,kBACzCnM,UAAWxsE,EAAMkwB,gBAAgB8kC,WACjCl4D,QAASszB,EACToyB,UAAU,IAEdxiD,EAAMu4E,eACN,cAAC,GAAD,CAAwB3E,QAAS5zE,EAAMkwB,gBAAgBo8C,oBAAqBxvE,QAASszB,IAErF,cAAC,IAAD,CACInS,KAAMje,EAAMie,KACZnO,QAASA,EACTyP,cAAc,EACdC,YAAaxf,EAAM+H,WACnB0J,YAAW,WAAoB,OAAf2b,QAAe,IAAfA,OAAA,EAAAA,EAAiB+oG,4BAA6B,aAAe,MAC7E3lH,uBAAsB,WAAoB,OAAf4c,QAAe,IAAfA,OAAA,EAAAA,EAAiB+oG,4BAA6B,4BAA8B,Y,0CC/D5Gs0B,GAhEO,WAClB,MAA0BlsJ,mBAAS,CAC/BohC,SAAU,GACVC,UAAW,KAFf,6BASA,OAFAz/B,oBAAS,sBAAC,sBAAAM,EAAA,0FAAgB,IAGtB,qBAAKS,UAAU,qBAAf,SACI,cAAC0H,GAAA,EAAD,CAAW1H,UAAU,WAAWnE,SAAS,KAAzC,SACI,eAACmC,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,YAA3D,UACI,cAAC,KAAD,CAAqB93D,UAAU,qBAC/B,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,oBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,gBACA,cAACwI,GAAA,EAAD,CAAYgC,UAAU,KAAtB,oCAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,yBAA3D,UACI,cAAC,KAAD,CAA0B93D,UAAU,qBACpC,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,oBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,gBACA,cAACwI,GAAA,EAAD,CAAYgC,UAAU,KAAtB,qCAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,uBAA3D,UACI,cAAC,KAAD,CAAgB93D,UAAU,kBAC1B,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,iBAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,gBACA,cAACwI,GAAA,EAAD,CAAYgC,UAAU,KAAtB,qCAKhB,cAACxM,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,GAAIqP,GAAI,EAAG0e,GAAI,EAAGC,GAAI,EAAGrsB,UAAU,QAAlD,SACI,eAAC,IAAD,CAAM3D,MAAO,CAAE07D,eAAgB,QAAUx5D,MAAM,UAAUu5D,GAAE,uBA1C3D,gBA0CA,UACI,cAAC,KAAD,CAAwB93D,UAAU,cAClC,cAAC28B,GAAA,EAAD,CAAM38B,UAAU,aAAhB,SACI,eAACstF,GAAA,EAAD,CAAattF,UAAU,cAAvB,UACI,cAACwI,GAAA,EAAD,CAAYxI,UAAU,cAAtB,gBACA,cAACwI,GAAA,EAAD,CAAYgC,UAAU,KAAtB,mDClEhCzN,GAAM,CACN8+B,EAAG,gBACHF,EAAG,iBACHF,EAAG,uBACHiF,EAAG,kBAED6/F,GAAa,CAAE1kG,EAAG,cAAeF,EAAG,eAAgBF,EAAG,qBAAsBiF,EAAG,gBAEhFxqB,GAAc,CAChB,CAAEzM,IAAK,SAAUxE,KAAM,SAAU+D,MAAO,MACxC,CAAES,IAAK,kBAAmBxE,KAAM,gBAChC,CAAEwE,IAAK,sBAAuBxE,KAAM,gBACpC,CAAEwE,IAAK,uBAAwBxE,KAAM,iBACrC,CAAEwE,IAAK,uBAAwBxE,KAAM,iBACrC,CAAEwE,IAAK,WAAYxE,KAAM,QACzB,CAAEwE,IAAK,mBAAoBxE,KAAM,kBAkFtBukJ,GA/Ea,SAACnuJ,GACzB,IAAI6O,EAAU8b,eACRvP,EAAS,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAMlI,GAAI1B,EAAMqB,IAAKia,QAAQ,IAGnC,EAA0BtZ,mBAAS,CAC/BwZ,aAAa,EACb4pH,YAAa,KACbC,cAAe,GACf75H,YAAY,IAJhB,mBAAO/H,EAAP,KAAcxB,EAAd,KAOA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNohI,IADM,2CAEP,IAEH,IAAMA,EAAiB,uCAAG,4BAAAphI,EAAA,6DAClBwB,EAAM,GADY,SAEVq7H,KAFU,OAEtBr7H,EAFsB,OAGtBzD,GAAS,SAAC4B,GAAD,2BAAC,eACHA,GADE,IAELwhI,cAAa,UAAE3/H,EAAIW,YAAN,iBAAE,EAAU4V,YAAZ,aAAE,EAAgBiiB,QAAO,SAAC3M,GACnC,GAAIA,EAAEkxG,cAAgBziI,EAAMqB,GACxB,OAAOkwB,KAGf/lB,YAAY,OAVM,2CAAH,qDAcjByR,EAAe,SAAC5W,GAClB,OACI,qBAAK1B,UAAU,uBAAf,SACI,cAAC,IAAD,CAAYnD,QAAS,wBAAM+jI,EAAqB,OAACl/H,QAAD,IAACA,GAAD,UAACA,EAAMqO,WAAP,aAAC,EAAWgtH,SAAS/oH,aAAa,sBAKxFpF,EAAUsI,mBAAQ,WACpB,IAAMC,EAAQ,UAAOjB,IACjBzF,EAAY0G,EAAStI,MAAK,SAAC1H,GAAD,MAAiB,WAAVA,EAAEsC,OAIvC,OAHIgH,IACAA,EAAUT,UAAYsI,GAEnBnB,IACR,IAEGypH,EAAwB,SAAC31H,GAC3Bf,EAAQC,KAAR,0BAAgCc,EAAhC,YAA0Cs1H,GAAWllI,EAAMqB,OAO/D,OACI,qBAAKsD,UAAU,SAAf,SACI,sCACM3E,EAAM0sC,WAAa,cAAC,IAAD,CAAatxB,OAAQA,IAC1C,cAAC,IAAD,CACI7H,QAASA,EACTmO,KAAMje,EAAM4hI,cACZtiH,cAAc,EACdC,cAAc,EACdorI,gBAAiB,GACjBnrI,YAAaxf,EAAM+H,WACnB0X,UAAQ,EACR5K,SAAsB,GAAZtY,EAAMqB,GAAU,cAAgB,KAC1CoX,WAjBW,WACvB5J,EAAQC,KAAR,qBAiBYqU,OAAQ,YC9FfkrI,GACA,EADAA,GAEH,EAFGA,GAGH,ECAK,IACX,CACI7hJ,MAAO,SACP6O,KAAM,UACNkyH,QAAQ,EACR+gB,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,KCPH,IACX,CACI7hJ,MAAO,OACP6O,KAAM,IACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,QACP6O,KAAM,SACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,iBACP6O,KAAM,qBACNkyH,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,K,wKCHH,IACX,CACI7hJ,MAAO,YACP6O,KAAM,IACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,QACP6O,KAAM,cACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,YACP6O,KAAM,uBACNizI,OAAO,EACP/1I,KAAM,cAAC,KAAD,IACNpJ,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,yCACNkyH,QAAQ,EACR+gB,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,WACP6O,KAAM,YACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAOV,CACI/L,MAAO,oBACP6O,KAAM,oBACN9C,KAAM,cAAC,KAAD,IACN+1I,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,UACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,gBACP6O,KAAM,sBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,QACP6O,KAAM,qBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,OACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,kBACP6O,KAAM,wBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,2BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,iBACP6O,KAAM,yBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,wBACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,4BACP6O,KAAM,+BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,kBACP6O,KAAM,2BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,sBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,SACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,mBACP6O,KAAM,0BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAGd,CACI7hJ,MAAO,YACP6O,KAAM,qBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IASd,CACI7hJ,MAAO,kBACP6O,KAAM,0BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAlKH,aAqKP7hJ,MAAO,iBACPgiJ,SAAUH,GAEVhzI,KAAM,gBACNizI,OAAO,EACPn/I,UAAWo/I,IA1KJ,WA2KGF,IAEd,CACI7hJ,MAAO,wBACP6O,KAAM,mCACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,wBACP6O,KAAM,mCACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,WACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,gBACP6O,KAAM,uBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,QACP6O,KAAM,gBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,SACP6O,KAAM,iBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,YACP6O,KAAM,gBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,uBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,wBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,sBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,4BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,sBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,eACP6O,KAAM,uBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,iBACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,sBACP6O,KAAM,wBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,eACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,aACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAUd,CACImM,MAAO,aACP6O,KAAM,yBACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,2BACP6O,KAAM,kCACNizI,OAAO,EACPn/I,UAAWo/I,GAEXC,SAAUH,IAEd,CACI7hJ,MAAO,eACP6O,KAAM,sBACN9C,KAAM,cAAC,KAAD,IACN+1I,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,iBACP6O,KAAM,8BACN9C,KAAM,cAAC,KAAD,IACNg1H,QAAQ,EACR+gB,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,kBACP6O,KAAM,2BACN9C,KAAM,cAAC,KAAD,IACN+1I,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,WACP6O,KAAM,YACN9C,KAAM,cAAC,KAAD,IACN+1I,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,UACP6O,KAAM,0CACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,K,+DC9WH,IACX,CACI7hJ,MAAO,YACP6O,KAAM,IACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,YACP6O,KAAM,uBACNizI,OAAO,EACP/1I,KAAM,cAAC,KAAD,IACNpJ,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,SACP6O,KAAM,qBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,SACP6O,KAAM,yBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UCxCO,SAAmBnP,GAC9B,IAAI6O,EAAU8b,eACRtpB,EAAKrB,EAAM2P,MAAMC,OAAOvO,GAQxBotJ,EAAc,WAChB5/I,EAAQC,KAAR,uBAEEisF,EAAO,CACT,CACIvuF,MAAO,YACPyqD,KAAM,cAAC,GAAD,CAAexgC,QAASp1B,EAAIo5B,YAAag0H,KAEnD,CACIjiJ,MAAO,aACPyqD,KAAM,cAAC,GAAD,CAAYxgC,QAASp1B,EAAIo5B,YAAag0H,MAIpD,OACI,sBAAK9pJ,UAAU,SAAf,UACI,cAAC,IAAD,CAAayW,OApBN,CACX,CAAExR,KAAM,OAAQyR,KAAM,KACtB,CAAEzR,KAAM,SAAUyR,KAAM,uBAkBS1W,UAAU,mBAAmB4sB,EAAG,IAC7D,cAAC,IAAD,CAAS8pE,QAASN,EAAM15F,GAAG,qBDc/BmtJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,UACP2C,UAAWo/I,GACXlzI,KAAM,qBACNmzI,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAGV,CACI/L,MAAO,gBACP6O,KAAM,yCACNkyH,QAAQ,EACR+gB,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,SACP2C,UAAWo/I,GACXlzI,KAAM,mCACNmzI,SAAUH,GACV9gB,QAAQ,GAvDD,aA0DP/gI,MAAO,iBACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACN8C,KAAM,gBACNizI,OAAO,EACPn/I,UAAWo/I,IA/DJ,WAgEGF,IAEd,CACI7hJ,MAAO,WACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACN8C,KAAM,4BACNizI,OAAO,EACPn/I,UAAWo/I,IAEf,CACI/hJ,MAAO,MACPgiJ,SAAUH,GAEVhzI,KAAM,yBACNizI,OAAO,EACPn/I,UAAWo/I,IAEf,CACI/hJ,MAAO,YACPgiJ,SAAUH,GAEVhzI,KAAM,yBACNizI,OAAO,EACPn/I,UAAWo/I,IAEf,CACI/hJ,MAAO,UACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,eACP6O,KAAM,uBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,kBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA0B4/E,WAAW,YAEhDy/D,SAAUH,IAEd,CACI7hJ,MAAO,kBACP6O,KAAM,gBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA0B4/E,WAAW,UAEhDy/D,SAAUH,IAGd,CACI7hJ,MAAO,eACP6O,KAAM,gCACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,eACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,aACP6O,KAAM,2BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC4/E,WAAW,GAAGswC,WAAW,GAAGjiF,SAAS,gBAEnFoxG,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,iCACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC4/E,WAAW,IAAIswC,WAAW,GAAGjiF,SAAS,gBAEpFoxG,SAAUH,IAEd,CACI7hJ,MAAO,SACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC4/E,WAAW,GAAGswC,WAAW,IAAIjiF,SAAS,YAEpFoxG,SAAUH,IAEd,CACI7hJ,MAAO,SACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC4/E,WAAW,GAAGswC,WAAW,IAAIjiF,SAAS,YAEpFoxG,SAAUH,IAEd,CACI7hJ,MAAO,UACP6O,KAAM,+BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC4/E,WAAW,GAAGswC,WAAW,IAAIjiF,SAAS,aAEpFoxG,SAAUH,IAEd,CACI7hJ,MAAO,YACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,WACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,kBACP6O,KAAM,mBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAWd,CACI7hJ,MAAO,gBACP6O,KAAM,mBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAGd,CACI7hJ,MAAO,OACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,WACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,0BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,YACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,+BACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,iBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,cACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,mCACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,WACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,cACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,aACP6O,KAAM,+BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,MACP2C,UAAWo/I,GACXlzI,KAAM,kBACNmzI,SAAUH,GACVC,OAAO,GAEX,CACI9hJ,MAAO,UACP6O,KAAM,uBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAgBd,CACI7hJ,MAAO,YACP+L,KAAM,cAAC,KAAD,IACNi2I,SAAUH,GACVhuJ,SAAU,IAEd,CACImM,MAAO,gBACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,iCACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,UACP6O,KAAM,2BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAGd,CACI7hJ,MAAO,OACP6O,KAAM,2BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,2BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,QACP6O,KAAM,2BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,6BACNizI,OAAO,EACPE,SAAUH,GACVl/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAiCwuC,OAAO,QAGvD,CACInxC,MAAO,qBACP6O,KAAM,6BACNizI,OAAO,EACPE,SAAUH,GACVl/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAiCwuC,OAAO,QAGvD,CACInxC,MAAO,oBACP6O,KAAM,6BACNizI,OAAO,EACPE,SAAUH,GACVl/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAiCwuC,OAAO,QAGvD,CACInxC,MAAO,qBACP6O,KAAM,8BACNizI,OAAO,EACPE,SAAUH,GACVl/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAiCwuC,OAAO,QAGvD,CACInxC,MAAO,wBACP6O,KAAM,iCACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,4BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,wBACP6O,KAAM,mCACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAGd,CACI7hJ,MAAO,mBACP6O,KAAM,sDACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,YACP6O,KAAM,0BACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,0BACP6O,KAAM,+BACNlM,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,0CACNkyH,QAAQ,EACRihB,SAAUH,GACVl/I,UAAWo/I,MAEf,CACI/hJ,MAAO,UACP6O,KAAM,qDACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,2BACP6O,KAAM,mCACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,kBACP6O,KAAM,8BACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,UACP6O,KAAM,WACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,iBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,WACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAUd,CACImM,MAAO,eACP6O,KAAM,yBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA4B9N,GAAI,KAE3CmtJ,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,0BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA4B9N,GAAI,KAE3CmtJ,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,0BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA4B9N,GAAI,KAE3CmtJ,SAAUH,IAEd,CACI7hJ,MAAO,sBACP6O,KAAM,gCACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA4B9N,GAAI,KAE3CmtJ,SAAUH,IAEd,CACI7hJ,MAAO,eACP6O,KAAM,uBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,cACP6O,KAAM,sBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,uDACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,gDACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CAAE7hJ,MAAO,eAAgB6O,KAAM,eAAgBizI,OAAO,EAAMn/I,UAAWo/I,GAAwBC,SAAUH,IACzG,CACI7hJ,MAAO,qBACP6O,KAAM,kBACNkyH,QAAQ,EACR+gB,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAwB9N,GAAI,QAEvCmtJ,SAAUH,IAEd,CACI7hJ,MAAO,SACP6O,KAAM,kBACNkyH,QAAQ,EACR+gB,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAwB9N,GAAI,QAEvCmtJ,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,kBACNkyH,QAAQ,EACR+gB,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAwB9N,GAAI,QAEvCmtJ,SAAUH,IAEd,CACI7hJ,MAAO,cACP6O,KAAM,cACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,kBACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,wBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,eACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,cACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,gCACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,kBACP6O,KAAM,mBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,sBACP6O,KAAM,wCACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,qCACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,qBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAGd,CACI7hJ,MAAO,iBACP6O,KAAM,GACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,eACP6O,KAAM,gBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,kBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,iBACP6O,KAAM,eACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA+B4/E,WAAW,OAErDy/D,SAAUH,IAEd,CACI7hJ,MAAO,eACP6O,KAAM,aACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA+B4/E,WAAW,OAErDy/D,SAAUH,IAEd,CACI7hJ,MAAO,eACP6O,KAAM,6BACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,K,qBEryBH,IACX,CACI7hJ,MAAO,YACP6O,KAAM,IACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAmBV,CACI/L,MAAO,UACP6O,KAAM,qDACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,YACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,mBACP6O,KAAM,4BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,4BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,4BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,UACP6O,KAAM,uBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,UACP6O,KAAM,wBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV9gB,QAAQ,GAEZ,CACI/gI,MAAO,aACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,iBACP6O,KAAM,+BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,iCACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,iCACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,YACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,oBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA6B0uH,WAAW,QAEnD2wB,SAAUH,IAEd,CACI7hJ,MAAO,+BACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA6B0uH,WAAW,QAEnD2wB,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA6B0uH,WAAW,QAEnD2wB,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA6B0uH,WAAW,QAEnD2wB,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA6B0uH,WAAW,QAEnD2wB,SAAUH,IAEd,CACI7hJ,MAAO,OACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,qBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA6B0uH,WAAW,QAEnD2wB,SAAUH,IAEd,CACI7hJ,MAAO,WACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA6B0uH,WAAW,QAEnD2wB,SAAUH,IASd,CACI7hJ,MAAO,YACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA6B0uH,WAAW,QAEnD2wB,SAAUH,IAEd,CACI7hJ,MAAO,eACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA6B0uH,WAAW,QAEnD2wB,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,uDACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,gDACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,cACP6O,KAAM,cACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,kBACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,wBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,eACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,cACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,uBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA6B0uH,WAAW,QAEnD2wB,SAAUH,KClRH,IACX,CACI7hJ,MAAO,YACP6O,KAAM,IACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,IAAD,KAEV,CACI/L,MAAO,UACP2C,UAAWo/I,GACXlzI,KAAM,qBACNmzI,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,UACP2C,UAAWo/I,GACXlzI,KAAM,6BACNmzI,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,SACP6O,KAAM,qBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,SACP2C,UAAWo/I,GACXlzI,KAAM,mCACNmzI,SAAUH,GACV9gB,QAAQ,GAEZ,CACI/gI,MAAO,eACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,aACP6O,KAAM,2BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAgC4/E,WAAW,GAAGswC,WAAW,GAAGjiF,SAAS,gBAEhFoxG,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,iCACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAgC4/E,WAAW,IAAIswC,WAAW,GAAGjiF,SAAS,gBAEjFoxG,SAAUH,IAEd,CACI7hJ,MAAO,SACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAgC4/E,WAAW,GAAGswC,WAAW,IAAIjiF,SAAS,YAEjFoxG,SAAUH,IAEd,CACI7hJ,MAAO,SACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAgC4/E,WAAW,GAAGswC,WAAW,IAAIjiF,SAAS,YAEjFoxG,SAAUH,IAEd,CACI7hJ,MAAO,UACP6O,KAAM,+BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAgC4/E,WAAW,GAAGswC,WAAW,IAAIjiF,SAAS,aAEjFoxG,SAAUH,IAEd,CACI7hJ,MAAO,YACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,WACP6O,KAAM,eACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,YACP6O,KAAM,eACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,OACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,WACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,+BACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,YACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,WACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,iBACP6O,KAAM,mBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC0uH,WAAW,QAEzD2wB,SAAUH,IAEd,CACI7hJ,MAAO,cACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,aACP6O,KAAM,+BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,UACP6O,KAAM,uBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAGd,CACI7hJ,MAAO,iBACP6O,KAAM,4BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,MACP2C,UAAWo/I,GACXlzI,KAAM,kBACNmzI,SAAUH,GACVC,OAAO,GAIX,CACI9hJ,MAAO,YACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,gBACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,6BACNizI,OAAO,EACPE,SAAUH,GACVl/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAiCwuC,OAAO,QAGvD,CACInxC,MAAO,qBACP6O,KAAM,6BACNizI,OAAO,EACPE,SAAUH,GACVl/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAiCwuC,OAAO,QAGvD,CACInxC,MAAO,oBACP6O,KAAM,6BACNizI,OAAO,EACPE,SAAUH,GACVl/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAiCwuC,OAAO,QAGvD,CACInxC,MAAO,qBACP6O,KAAM,8BACNizI,OAAO,EACPE,SAAUH,GACVl/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAiCwuC,OAAO,QAIvD,CACInxC,MAAO,mBACP6O,KAAM,qCACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,0CACNkyH,QAAQ,EACRihB,SAAUH,GACVl/I,UAAWo/I,MAEf,CACI/hJ,MAAO,UACP6O,KAAM,qDACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,kBACP6O,KAAM,8BACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,UACP6O,KAAM,WACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,uDACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,gDACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,wBACP6O,KAAM,iCACNizI,OAAO,EAEPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,0BACNizI,OAAO,EAEPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,2BACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,sBACP6O,KAAM,wCACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,qCACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,qBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAGd,CACI7hJ,MAAO,iBACP6O,KAAM,eACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA+B4/E,WAAW,OAErDy/D,SAAUH,IAEd,CACI7hJ,MAAO,eACP6O,KAAM,aACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA+B4/E,WAAW,OAErDy/D,SAAUH,IAEd,CACI7hJ,MAAO,eACP6O,KAAM,6BACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,4BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,iCACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAzZH,aA4ZP7hJ,MAAO,iBACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACN8C,KAAM,gBACNizI,OAAO,EACPn/I,UAAWo/I,IAjaJ,WAkaGF,IAEd,CACI7hJ,MAAO,2BACP6O,KAAM,mCACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,0CACNkyH,QAAQ,EACRihB,SAAUH,GACVl/I,UAAWo/I,OCxbJ,IACX,CACI/hJ,MAAO,YACP6O,KAAM,IACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,cACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,aACP6O,KAAM,+BACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,UACP6O,KAAM,uBACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,WACPgiJ,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACN8C,KAAM,uBACNizI,OAAO,EACPn/I,UAAWo/I,IAGf,CACI/hJ,MAAO,mBACP6O,KAAM,sDACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,2BACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC4/E,WAAW,GAAGswC,WAAW,GAAGjiF,SAAS,aAAakiF,KAAK,eAErGkvB,SAAUH,IAEd,CACI7hJ,MAAO,SACP6O,KAAM,8BACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAW,WACP,OAAO,cAAC,GAAD,CAAmC4/E,WAAW,GAAGswC,WAAW,IAAIjiF,SAAS,YAEpFoxG,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,gCACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,iBACP6O,KAAM,wBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,mBACP6O,KAAM,qCACNizI,OAAO,EACPn/I,UAAWo/I,GACXhhB,QAAQ,EACRihB,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,uDACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,gDACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,KC3GH,IACX,CACI91I,KAAM,cAAC,KAAD,IACN/L,MAAO,YACP6O,KAAM,IACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA+BwuC,OAAO,OAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,kBACP6O,KAAM,8BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,oBACP6O,KAAM,wBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,qBACP6O,KAAM,eACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,IAEd,CACI7hJ,MAAO,aACP6O,KAAM,cACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAA8BwuC,OAAQ,KAEjD6wG,SAAUH,KC7CH,IACX,CACI7hJ,MAAO,YACP6O,KAAM,IACNizI,OAAO,EACPn/I,UAAWo/I,GACXC,SAAUH,GACV91I,KAAM,cAAC,KAAD,KAEV,CACI/L,MAAO,WACP6O,KAAM,aACNmzI,SAAUH,GACV91I,KAAM,cAAC,KAAD,IACNlY,SAAU,IAEd,CACImM,MAAO,eACP6O,KAAM,yBACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAgC9N,GAAI,KAE/CmtJ,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,0BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAgC9N,GAAI,KAE/CmtJ,SAAUH,IAEd,CACI7hJ,MAAO,gBACP6O,KAAM,0BACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAgC9N,GAAI,KAE/CmtJ,SAAUH,IAEd,CACI7hJ,MAAO,sBACP6O,KAAM,gCACNizI,OAAO,EACPn/I,UAAW,WACP,OAAO,cAAC,GAAD,CAAgC9N,GAAI,KAE/CmtJ,SAAUH,IAEd,CACI7hJ,MAAO,eACP6O,KAAM,uBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,IAEd,CACI7hJ,MAAO,cACP6O,KAAM,sBACNizI,OAAO,EACP/gB,QAAQ,EACRp+H,UAAWo/I,GACXC,SAAUH,KCnELK,GAAkB,WAC7B,MAAkC1gJ,eAA1BD,EAAR,EAAQA,WAAY4lC,EAApB,EAAoBA,UAIpB,OAHqB93B,mBAAS,WAC5B,OCH0B,SAAC09H,EAAOxrI,GAClC,IAAI4gJ,EAAQ,GAwCZ,OAvCK5gJ,GAGDwrI,EAAM3iI,SAAQ,SAAC0oH,GACX,OAAQA,GACJ,IAAK,QACDqvB,EAAM7/I,KAAN,MAAA6/I,EAAK,aAASC,KACd,MACJ,IAAK,WACDD,EAAM7/I,KAAN,MAAA6/I,EAAK,aAASE,KACd,MACJ,IAAK,eACDF,EAAM7/I,KAAN,MAAA6/I,EAAK,aAAS/0E,KACd,MACJ,IAAK,WACD+0E,EAAM7/I,KAAN,MAAA6/I,EAAK,aAASv6G,KACd,MACJ,IAAK,SACDu6G,EAAM7/I,KAAN,MAAA6/I,EAAK,aAASG,KACd,MACJ,IAAK,aACDH,EAAM7/I,KAAN,MAAA6/I,EAAK,aAASI,KACd,MACJ,IAAK,gBACDJ,EAAM7/I,KAAN,MAAA6/I,EAAK,aAASK,SAI1BL,EAAM7/I,KAAN,MAAA6/I,EAAK,aAASM,MA3BdN,EAAM7/I,KAAN,MAAA6/I,EAAK,aAASO,KAsCXP,EAAMzwH,QAAO,SAAC3M,GAAD,OAAOA,EAAEi9H,WAAaH,IAAmB98H,EAAEi9H,YAAczgJ,EAAasgJ,GAAkBA,ODtCrGc,CAAgBx7G,EAAW5lC,KACjC,CAAEA,KENMqhJ,GAAY,uCAAG,4BAAAlrJ,EAAA,sEACR6B,aAAY,gCADJ,cACpBL,EADoB,yBAEjBA,GAFiB,2CAAH,qD,UCArBmrB,GAAkB9sB,IAAW+sB,gBAC7BpvB,GAAM,CACN2tJ,UAAS,OAAEx+H,SAAF,IAAEA,QAAF,EAAEA,GAAiBy+H,iBAC5BC,KAAI,OAAE1+H,SAAF,IAAEA,QAAF,EAAEA,GAAiBm0B,YACvBwqG,QAAO,OAAE3+H,SAAF,IAAEA,QAAF,EAAEA,GAAiB4+H,eAC1B,wBAAkB5+H,SAAlB,IAAkBA,QAAlB,EAAkBA,GAAiB6+H,qBACnCC,SAAQ,OAAE9+H,SAAF,IAAEA,QAAF,EAAEA,GAAiBqqE,gBAC3B,yBAAmBrqE,SAAnB,IAAmBA,QAAnB,EAAmBA,GAAiB++H,uBAG3BC,GAAgB,SAAClB,GAC1B,IAAImB,EAAYnB,EAUhB,OATA17E,OAAO2H,QAAQl5E,IAAKkV,SAAQ,SAAC7T,GACzB,IAAKA,EAAK,GAAI,CACV+pB,QAAQC,IAAIhqB,EAAK,GAAIA,EAAK,IAC1B,IAAIgtJ,EAAWD,EAAUjyH,WAAU,SAACtM,GAAD,OAAOA,EAAEy+H,cAAgBjtJ,EAAK,MAC7DgtJ,GAAY,GACZD,EAAUp0H,OAAOq0H,EAAU,OAIhCD,GCWL/kJ,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFpK,QAAS,QAEbmvJ,KAAM,CACFzvJ,SAAU,IACVwvB,UAAW,IAEfkgI,OAAQ,CACJviJ,MAVY,IAWZy/F,WAAY,EACZ7qE,WAAY,UAEhB4tH,WAAY,CACRC,UAAW,OACXjlJ,OAAQ,EACRrI,QAAS,EACTutJ,UAAW,OACX3vJ,OAAQ,OACR,uBAAwB,CACpBiN,MAAO,SAEX,6BAA8B,CAC1BoiB,UAAW,iCACX83D,gBAAiB,kCAErB,6BAA8B,CAC1B1lD,gBAAiB,iBACjB2lD,QAAS,uBAEb3lD,gBAAiB,SAACniC,GAAD,gBAAcA,EAAMg9I,gCACrCrvI,MAhCY,IAiCZ2iJ,WAAYrlJ,EAAMslJ,YAAYC,OAAO,QAAS,CAC1CC,OAAQxlJ,EAAMslJ,YAAYE,OAAOC,MACjC9tE,SAAU33E,EAAMslJ,YAAY3tE,SAAS+tE,kBAG7CC,YAAY,aACRzuH,gBAAiB,SAACniC,GAAD,gBAAcA,EAAMg9I,gCACrC,uBAAwB,CACpBrvI,MAAO,SAEX,6BAA8B,CAC1BoiB,UAAW,iCACX83D,gBAAiB,kCAErB,6BAA8B,CAC1B1lD,gBAAiB,iBACjB2lD,QAAS,uBAEbwoE,WAAYrlJ,EAAMslJ,YAAYC,OAAO,QAAS,CAC1CC,OAAQxlJ,EAAMslJ,YAAYE,OAAOC,MACjC9tE,SAAU33E,EAAMslJ,YAAY3tE,SAASiuE,gBAEzCT,UAAW,SACXziJ,MAAO1C,EAAMpI,QAAQ,GAAK,GACzBoI,EAAM6lJ,YAAYC,GAAG,MAAQ,CAC1BpjJ,MAAO1C,EAAMpI,QAAQ,GAAK,IAGlCmuJ,QAAQ,aACJlwJ,QAAS,OACTC,WAAY,SACZuxB,eAAgB,gBAChBxvB,QAASmI,EAAMpI,QAAQ,EAAG,IAEvBoI,EAAMgmJ,OAAOD,SAEpBvhD,QAAS,CACLtuG,SAAU,EACV2B,QAASmI,EAAMpI,QAAQ,IAE3BquJ,OAAQ,CACJ5/H,YAAarmB,EAAMpI,QAAQ,IAE/BsuJ,SAAU,CACNjuJ,MAAO,SAAClD,GAAD,gBAAcA,EAAM+8I,0BAC3B,gBAAiB,CACb1iI,SAAU,UACVnX,MAAO,SAAClD,GAAD,gBAAcA,EAAM+8I,gCAKxB,SAASqU,GAAWpxJ,GAAQ,IAAD,IAClC6wB,EAAkB9sB,IAAW+sB,gBAC3BlkB,EAAiBD,KACvB,EAAkCqB,eAA1BD,EAAR,EAAQA,WAAY4lC,EAApB,EAAoBA,UAEpB,EAAmChpC,KAA3Ba,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,WACd4lJ,EAAe3C,KACfzjJ,EAAQqmJ,cACR3lJ,EAAUZ,GAAU6B,GACtBiC,EAAU8b,eACd,EAA0BgZ,IAAM3hC,SAAS,CAAEuvJ,YAAY,IAAvD,mBAAO9tJ,EAAP,KAAcxB,EAAd,KACA,EAA8BD,mBAAS,IAAvC,mBAAOwvJ,EAAP,KAAgBC,EAAhB,KACA,EAAgCzvJ,mBAAS,IAAzC,mBAAO0vJ,EAAP,KAAiBC,EAAjB,KAEA,EAAoC5wG,KAApC,mBAAO4C,EAAP,KACMiuG,GADN,KAC0B,WACtB5xJ,EAAM6xJ,cACN5vJ,EAAS,CAAEsvJ,YAAY,MAEvB7tD,EAAU/vD,EAAUh8B,SAAS,SAM3Bm6I,EAAoB,SAApBA,EAAqBltC,EAAKmtC,GAC5B,IAAIC,EAAM,GACV,IAAK,IAAIt0H,KAAKknF,EACV,GAAIA,EAAIlnF,GAAGi7G,6BAA+BoZ,EAAQ,CAC9C,IAAI1xJ,EAAWyxJ,EAAkBltC,EAAKA,EAAIlnF,GAAGs0E,kBACzC3xG,EAAS2R,SACT4yG,EAAIlnF,GAAGr9B,SAAWA,GAEtB2xJ,EAAIljJ,KAAK81G,EAAIlnF,IAMrB,OAHmBs0H,EAAIrpE,MAAK,SAACzkF,EAAGorB,GAAJ,OACxBprB,EAAEi0I,uBAAyB7oH,EAAE6oH,uBAAyB,EAAI7oH,EAAE6oH,uBAAyBj0I,EAAEi0I,wBAA0B,EAAI,MAK7Hv0I,oBAAS,sBAAC,0DAAAM,EAAA,yDACNjC,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB0tJ,YAAY,OACvC/lJ,IAFM,KAGMuC,GAHN,qCAG2BqhJ,KAH3B,2BAGA1pJ,EAHA,MAKEoE,SACAmoJ,EADS,aACMvsJ,EAAIW,KAAK4V,MACvBynF,KACG,OAAC7yE,QAAD,IAACA,OAAD,EAACA,EAAiB4qE,sBACdn3C,EAAQ2tG,EAASp0H,WAAU,SAACtM,GAAD,MAAiC,iBAA1BA,EAAEsnH,uBACxCoZ,EAASv2H,OAAO4oB,EAAO,KAGvB,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiBm0B,eACdV,EAAQ2tG,EAASp0H,WAAU,SAACtM,GAAD,MAAiC,SAA1BA,EAAEsnH,uBACxCoZ,EAASv2H,OAAO4oB,EAAO,KAGvB,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiB4+H,kBACdnrG,EAAQ2tG,EAASp0H,WAAU,SAACtM,GAAD,MAAiC,YAA1BA,EAAEsnH,uBACxCoZ,EAASv2H,OAAO4oB,EAAO,KAGvB,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiBqhI,iBACd5tG,EAAQ2tG,EAASp0H,WAAU,SAACtM,GAAD,MAAiC,WAA1BA,EAAEsnH,uBACxCoZ,EAASv2H,OAAO4oB,EAAO,KAGvB,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiBshI,mBACd7tG,EAAQ2tG,EAASp0H,WAAU,SAACtM,GAAD,MAAiC,aAA1BA,EAAEsnH,uBACxCoZ,EAASv2H,OAAO4oB,EAAO,KAEvB,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiBqqE,mBACd52C,EAAQ2tG,EAASp0H,WAAU,SAACtM,GAAD,MAAiC,aAA1BA,EAAEsnH,uBACxCoZ,EAASv2H,OAAO4oB,EAAO,KAEvB,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiBguD,oBACdv6B,EAAQ2tG,EAASp0H,WAAU,SAACtM,GAAD,MAAiC,cAA1BA,EAAEsnH,uBACxCoZ,EAASv2H,OAAO4oB,EAAO,KAEvB,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiB6+H,wBACdprG,EAAQ2tG,EAASp0H,WAAU,SAACtM,GAAD,MAAiC,kBAA1BA,EAAEsnH,uBACxCoZ,EAASv2H,OAAO4oB,EAAO,KAGvB,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiB0qE,qBACdj3C,EAAQ2tG,EAASp0H,WAAU,SAACtM,GAAD,MAAiC,eAA1BA,EAAEsnH,uBACxCoZ,EAASv2H,OAAO4oB,EAAO,KAGvB,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiB2qE,kBACdl3C,EAAQ2tG,EAASp0H,WAAU,SAACtM,GAAD,MAAiC,YAA1BA,EAAEsnH,uBACxCoZ,EAASv2H,OAAO4oB,EAAO,KAEvB,OAACzzB,QAAD,IAACA,OAAD,EAACA,EAAiB+qE,cACdt3C,EAAQ2tG,EAASp0H,WAAU,SAACtM,GAAD,MAAiC,QAA1BA,EAAEsnH,uBACxCoZ,EAASv2H,OAAO4oB,EAAO,KAG/B74C,IACI2mJ,EAAeH,EAAStpE,MAAK,SAACzkF,EAAGorB,GAAJ,OAC7BprB,EAAEi0I,uBAAyB7oH,EAAE6oH,uBAAyB,EAAI7oH,EAAE6oH,uBAAyBj0I,EAAEi0I,wBAA0B,EAAI,KAErHwW,EAAQ5gJ,EAAa8hJ,GAAcuC,GAAgBA,EAejDC,EAAoB,GAC1B1D,EAAM/3I,SAAQ,SAAC07I,GACX,IAAIC,EAAalB,EAAa79I,MAAK,SAACmZ,GAAD,OAAOA,EAAEtR,OAASi3I,EAAGE,aAIxD,GAHKD,IACDA,EAAaD,GAEbC,EAAY,CACZ,IAAI7wJ,EAAM,CACNswG,iBAAkBsgD,EAAGtgD,iBAGrBwgD,UAAWF,EAAGE,WAAa,GAC3Bva,4BAA6Bsa,EAAWpjJ,WAAa,KACrDsjJ,eAAgBH,EAAGG,gBAAkBF,EAAW/D,SAChD7V,2BAA4B2Z,EAAG3Z,2BAC/BR,uBAAwBma,EAAGna,uBAC3BU,oBAAqByZ,EAAGzZ,qBAAuByZ,EAAGtC,YAClD3X,2BAA4Bia,EAAGja,4BAA8Bka,EAAWh6I,KACxE+1I,MAAOiE,EAAWjE,QAAS,GAE/B,GAAIgE,EAAGja,2BAA4B,CAC/B,IAAI31E,EAAOgwF,GAAM,GAAD,OAAIJ,EAAGja,2BAA2Bv2G,QAAQ,OAAQ,MAClEpgC,EAAI22I,2BAA6B,cAAC31E,EAAD,IAErC2vF,EAAkBvjJ,KAAKpN,OAG/BiwJ,EAAYU,EAAkB9oJ,KAAI,SAACkK,GAAD,sBAAaA,OAC/Cg+I,EACIK,EACIO,EAAkB9oJ,KAAI,SAACkK,GAAD,sBAAaA,MACnC,OAGRxR,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB0tJ,YAAY,SAEvC9lJ,IACAsC,GAAcc,EAAQC,KAAK,WAC3B7M,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB0tJ,YAAY,QApHrC,2CAsHP,CAACxjJ,IACJ,IAAMR,EAAQX,EAAeswI,sBAAwBtwI,EAAeswI,sBAAxD,UAAmFzvI,GAAnF,YAA6Gb,EAAe+lJ,mBA0DxI,OACI,sBAAKhuJ,UAAWgH,EAAQT,KAAxB,UACK6C,GACG,eAAC6kJ,GAAA,EAAD,CACIzvJ,QAAQ,YACRwB,UAAWu9C,kBAAKv2C,EAAQukJ,QAAT,mBACVvkJ,EAAQwkJ,WAAanwJ,EAAM6yJ,UADjB,cAEVlnJ,EAAQilJ,aAAe5wJ,EAAM6yJ,UAFnB,IAIflnJ,QAAS,CACL22D,MAAOpgB,mBAAI,mBAAIv2C,EAAQwkJ,WAAanwJ,EAAM6yJ,UAA/B,cAA0ClnJ,EAAQilJ,aAAe5wJ,EAAM6yJ,UAAvE,KAPnB,UAUI,sBAAKluJ,UAAWgH,EAAQqlJ,QAAxB,UACI,qBAAKtsJ,IAAK6I,EAAK3I,IAAI,OAAOD,UAAWgH,EAAQskJ,OAC7C,cAAC91I,EAAA,EAAD,CAAYxV,UAAU,gBAAgBnD,QAASowJ,EAA/C,SACyB,QAApB3mJ,EAAMmH,UAAsB,cAAC,KAAD,IAAuB,cAAC,KAAD,SAG5D,cAACu4C,GAAA,EAAD,IACA,cAAC,KAAD,UA5EA,SAAVmoG,EAAWzyJ,EAAU0yJ,GAGvB,cAFiB1yJ,QAEjB,IAFiBA,OAEjB,EAFiBA,EAEEkJ,KAAI,SAACypJ,EAAW1uG,GAC/B,OAAK0uG,EAAU3yJ,SA0BX,gCACI,eAACsgI,GAAA,EAAD,CAAUh8H,UAAU,gBAAgB6J,QAAM,EAAChN,QAAS,kBA7K/CuB,EA6KiEiwJ,EAAUna,yBA5K5F52I,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,kBAAmBd,GAAQc,EAAGd,QADvB,IAACA,GA6KiG3C,MAAO4yJ,EAAUna,oBAAvH,UACI,cAACoa,GAAA,EAAD,CACIzxJ,QAAS,kBAAMxB,EAAMkzJ,cACrBvuJ,UAAU,eACV3D,MAAO,CAAEkC,MAAM,GAAD,OAAK0J,EAAemwI,0BAHtC,SAKKiW,EAAU3a,6BAEf,cAACzX,GAAA,EAAD,CAAcj8H,UAAWgH,EAAQwlJ,SAAjC,SAA4C6B,EAAUna,sBACtD,cAACoa,GAAA,EAAD,CAAcjyJ,MAAO,CAAEF,QAAS,OAAQwxB,eAAgB,YAAc3tB,UAAU,gBAAhF,SACKlB,EAAMuvJ,EAAUna,qBACb,cAAC,KAAD,CAAY73I,MAAO,CAAEkC,MAAM,GAAD,OAAK0J,EAAemwI,4BAE9C,cAAC,IAAD,CAAY/7I,MAAO,CAAEkC,MAAM,GAAD,OAAK0J,EAAemwI,iCAI1D,cAACx1E,GAAA,EAAD,CAAU5iE,UAAWgH,EAAQulJ,OAAQ1pF,GAAI/jE,EAAMuvJ,EAAUna,qBAAsBsa,QAAQ,OAAOC,eAAa,EAA3G,SACKN,EAAQE,EAAU3yJ,UAAU,OAnB3B2yJ,EAAUna,qBAxBhB,8BACI,cAAC,IAAD,CAASwa,gBAAgB,cAAc/E,OAAK,EAAC7xF,GAAIu2F,EAAUR,UAAW7tJ,UAAU,gBAAhF,SACI,eAACg8H,GAAA,EAAD,CACIh8H,UAAU,gBACV6J,QAAM,EACNizB,KAAK,QAELrhC,MAAO4yJ,EAAUna,oBACjBr3I,QAASmiD,EAAc,KAAO,iBAAM,IAAKiuG,EAN7C,UAQI,cAACqB,GAAA,EAAD,CAEItuJ,UAAU,eACV3D,MAAO,CAAEkC,MAAM,GAAD,OAAK0J,EAAemwI,0BAHtC,SAKKiW,EAAU3a,6BAEf,cAACzX,GAAA,EAAD,CAAcj8H,UAAWgH,EAAQwlJ,SAAjC,SAA4C6B,EAAUna,wBAXjDma,EAAUna,wBANjBma,EAAUna,wBAsEbia,CAAQtB,QAIvB,uBACI7sJ,UAAWgH,EAAQ8jG,QAAU,uBAC7BzuG,MAAO,CAAE2M,MAAM,GAAD,OAAKg2C,EAAc,IAAMA,EAAc,KAAOA,EAAc,IAAM,MAAQljD,SAAU,QAFtG,UAII,qBAAKkE,UAAWgH,EAAQqlJ,UACxB,eAAC,KAAD,WACKjjJ,EACKsjJ,EACKnzH,QAAO,SAAC3M,GAAD,OAAOA,EAAEg8G,UAChBhkI,KAAI,SAACgoB,EAAGmM,GACL,OAAO,cAAC,KAAD,CAAe4wH,MAAO/8H,EAAE+8H,MAAOjzI,KAAMkW,EAAElW,KAAMlM,UAAWoiB,EAAEpiB,WAA9CuuB,MAE3B2zH,EAAa9nJ,KAAI,SAACgoB,EAAGmM,GACjB,OAAO,cAAC,KAAD,CAAe4wH,MAAO/8H,EAAE+8H,MAAOjzI,KAAMkW,EAAElW,KAAMlM,UAAWoiB,EAAEpiB,WAA9CuuB,MAE5B3vB,GACG2jJ,EACKxzH,QAAO,SAAC3M,EAAG+yB,GAAJ,QAAgB/yB,EAAEihI,aACzBjpJ,KAAI,SAAC8zB,EAAGK,GACL,OAAO,cAAC,KAAD,CAAe4wH,OAAO,EAAMjzI,KAAMgiB,EAAEm1H,UAAWrjJ,UAAWkuB,EAAE46G,6BAAhDv6G,MAE9Bj6B,EAAM8tJ,YAAc,cAAC,KAAD,CAAOpiJ,UAAWjC,c,8CCoE5ComJ,GAlaQ,SAACtzJ,GAAW,IAAD,MAC1Bm7B,EAAiBp3B,IAAW+sB,gBACxB6iB,EAAc3lC,eAAd2lC,UAER,EAA0B3xC,mBAAS,CAC/BqE,KAAM,GACNktJ,YAAa,CACT,CACIhiE,KAAM,gBACNnxF,MAAO,eACP2hD,MAAO,cAAC,KAAD,CAAU/gD,MAAO,CAAE0hC,aAAc,UACxC1P,MAAM,GAEV,CACIu+D,KAAM,mBACNnxF,MAAO,kBACP2hD,MAAO,cAAC,KAAD,CAAW/gD,MAAO,CAAE0hC,aAAc,YAGjD8wH,cAAe,CACX,CACIjiE,KAAM,4BACNnxF,MAAO,gBACP2hD,MAAO,cAAC,KAAD,CAAU/gD,MAAO,CAAE0hC,aAAc,WAE5C,CACI6uD,KAAM,iCACNnxF,MAAO,mBACP2hD,MAAO,cAAC,KAAD,CAAW/gD,MAAO,CAAE0hC,aAAc,WAE7C,CACI6uD,KAAM,oCACNnxF,MAAO,sBACP2hD,MAAO,cAAC,KAAD,CAAW/gD,MAAO,CAAE0hC,aAAc,YAE5CiR,EAAUh8B,SAAS,aAAe,CAC/B45E,KAAM,qBACNnxF,MAAO,gBACP2hD,MAAO,cAAC,KAAD,CAAU/gD,MAAO,CAAE0hC,aAAc,YAGhD+wH,YAAa,CACT,CACIliE,KAAM,mBACNnxF,MAAO,kBACP2hD,MAAO,cAAC,KAAD,CAAU/gD,MAAO,CAAE0hC,aAAc,UACxC1P,MAAM,IAGd0gI,cAAe,OA7CnB,mBAAOjwJ,EAAP,KAAcxB,EAAd,KA+CA,EAAgC0hC,IAAM3hC,SAAS,MAA/C,mBAAO2xJ,EAAP,KAAiBC,EAAjB,KAGM/yJ,EAAOgzJ,QAAQF,GAIfjwD,EAAU/vD,EAAUh8B,SAAS,SAC7BorC,EAAiBpP,EAAUh8B,SAAS,gBACpCqrC,EAAiBrP,EAAUh8B,SAAS,YACpC+7B,EAAaC,EAAUh8B,SAAS,YAChCsrC,EAAWtP,EAAUh8B,SAAS,UACpC,EAAiBopC,KAAVywB,EAAP,oBACQ/tC,EAAgB9hC,qBAAWC,KAA3B6hC,YAER7/B,oBAAS,sBAAC,kDAAAM,EAAA,sDACFkxD,EAAO,IACP1vD,EAAM+9B,EAAY0D,iBAEd8b,IAGM5b,EAAQ3hC,EAAIW,KAAKihC,UAAU,GACjC8tB,EAAO,CACH,CAEIm8B,KAAM,6BACNnxF,MAAO,WACP2hD,MAAO,cAAC,KAAD,IACP/uB,MAAM,GAEV,CACIuwH,IAAKl8G,EAAM8kH,iBAAmB,EAC9B56D,KAAM,iCACNnxF,MAAO,oBACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAM+kH,mBAAqB,EAChC76D,KAAM,iCACNnxF,MAAO,sBACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAMglH,cAAgB,EAC3B96D,KAAM,uBACNnxF,MAAO,gBACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAMilH,aAAe,EAC1B/6D,KAAM,IACNnxF,MAAO,eACP2hD,MAAO,cAAC,KAAD,OAIfiB,IAGM3b,GAAW,OAAH3hC,QAAG,IAAHA,GAAA,UAAAA,EAAKW,YAAL,eAAWihC,UAAU,KAAM,GACzC8tB,EAAO,CACH,CACImuF,IAAKl8G,EAAMy5F,oBAAsB,EACjCvvC,KAAM,WACNnxF,MAAO,UACP2hD,MAAO,cAAC,KAAD,IACP/uB,MAAM,GAEV,CACIuwH,IAAKl8G,EAAMysH,gBAAkB,EAC7BviE,KAAM,4BACNnxF,MAAO,iBACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAM8kH,iBAAmB,EAC9B56D,KAAM,iCACNnxF,MAAO,oBACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAM+kH,mBAAqB,EAChC76D,KAAM,iCACNnxF,MAAO,sBACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAMklH,cAAgB,EAC3Bh7D,KAAM,8BACNnxF,MAAO,gBACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAM0sH,gBAAkB,EAC7BxiE,KAAM,8BACNnxF,MAAO,kBACP2hD,MAAO,cAAC,KAAD,IACPiyG,UAAW74H,EAAc,eAIjC4nB,IAGMsB,EAAO3+C,EAAIW,KAAKihC,UACtB8tB,EAAO,CACH,CAAEmuF,IAAG,UAAEl/F,EAAK,UAAP,aAAE,EAASk/F,IAAKhyD,KAAM,iCAAkCxvC,MAAO,cAAC,KAAD,IAAe3hD,MAAO,oBAC1F,CAAEmjJ,IAAG,UAAEl/F,EAAK,UAAP,aAAE,EAASk/F,IAAKhyD,KAAM,iCAAkCxvC,MAAO,cAAC,KAAD,IAAuB3hD,MAAO,uBAClG,CAAEmjJ,IAAG,UAAEl/F,EAAK,UAAP,aAAE,EAASk/F,IAAKhyD,KAAM,mBAAoBxvC,MAAO,cAAC,KAAD,IAAc3hD,MAAO,YAAa4zJ,UAAW74H,EAAc,aACjH,CAAEooH,IAAG,UAAEl/F,EAAK,UAAP,aAAE,EAASk/F,IAAKhyD,KAAM,IAAKxvC,MAAO,cAAC,KAAD,IAAuB3hD,MAAO,qBAGzEsjG,IAGMr8D,EAAQ3hC,EAAIW,KAAKihC,UAAU,GACjC8tB,EAAO,CACH,CACImuF,IAAKl8G,EAAMmtG,aAAe,EAC1BjjD,KAAM,gBACNnxF,MAAO,eACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAMotG,gBAAkB,EAC7BljD,KAAM,qBACNnxF,MAAO,kBACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAMqtG,uBAAyB,EACpCnjD,KAAM,8BACNnxF,MAAO,0BACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAMstG,yBAA2B,EACtCpjD,KAAM,wBACNnxF,MAAO,2BACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAMutG,YAAc,EACzBrjD,KAAM,cACNnxF,MAAO,cACP2hD,MAAO,cAAC,KAAD,OAIfrO,IAGMrM,EAAQ3hC,EAAIW,KAAKihC,UAAU,GACjC8tB,EAAO,CACH,CACImuF,IAAKl8G,EAAMy5F,oBAAsB,EACjCvvC,KAAM,WACNnxF,MAAO,UACP2hD,MAAO,cAAC,KAAD,IACP/uB,MAAM,GAEV,CACIuwH,IAAKl8G,EAAM8kH,iBAAmB,EAC9B56D,KAAM,iCACNnxF,MAAO,oBACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAM+kH,mBAAqB,EAChC76D,KAAM,iCACNnxF,MAAO,sBACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAMklH,cAAgB,EAC3Bh7D,KAAM,8BACNnxF,MAAO,gBACP2hD,MAAO,cAAC,KAAD,KAEX,CACIwhG,IAAKl8G,EAAM0sH,gBAAkB,EAC7BxiE,KAAM,8BACNnxF,MAAO,kBACP2hD,MAAO,cAAC,KAAD,IACPiyG,UAAW74H,EAAc,eAIrCl5B,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELwC,KAAM+uD,QAhLR,2CAmLP,CAAC3xB,IAEJ,IAIM5P,EAAc,WAChB+/H,EAAY,OAGVK,EAAgB,SAACj0J,GAAW,IAAD,EAC7B,EAAgC2jC,IAAM3hC,SAAShC,EAAM0zJ,eAArD,mBAAOC,EAAP,KAAiBC,EAAjB,KACM/yJ,EAAOgzJ,QAAQF,GACfO,EAAuB,WACzBN,EAAY,MACZ5zJ,EAAMm0J,eAAen0J,EAAMqB,KAG/B,OACI,cAAC+yJ,EAAA,EAAD,CACI/yJ,GAAIrB,EAAMqB,GACVR,KAAMA,EACN8yJ,SAAUA,EACVpzJ,QAAS2zJ,EACTG,aAAc,CACVC,SAAU,SACVC,WAAY,UAEhBC,gBAAiB,CACbF,SAAU,MACVC,WAAY,UAXpB,SAcI,cAACE,EAAA,EAAD,UACKz0J,EAAM85I,WAAN,UACG95I,EAAM85I,gBADT,aACG,EAAgBvwI,KAAI,SAACgoB,EAAGmM,GACpB,OACI,cAACg3H,EAAA,EAAD,UACI,eAAC,IAAD,CAAMj4F,GAAIlrC,EAAEggE,KAAMvwF,MAAO,CAAE07D,eAAgB,OAAQx5D,MAAM,QAAU9B,OAAQ,WAAaI,QAAS0yJ,EAAjG,UACK3iI,EAAEwwB,MACH,qCAAQxwB,EAAEnxB,aAHHs9B,YAarCi3H,EAAU,SAAC5oJ,EAAKD,GAClB7J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJkI,EAAMD,EAAE4nJ,oBAIXkB,EAAe,SAAC7oJ,GAClB9J,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,kBAEJkI,EAAM,WAIf,OACI,eAAC,IAAM4wG,SAAP,WACKnrC,GAAU,IACP,sCACK,UAAA/tE,EAAM4C,YAAN,eAAY2L,QAAS,IAArB,UACGvO,EAAM4C,YADT,aACG,EAAYkD,KAAI,SAACgkG,EAAQjpD,GAAT,OACXipD,EAAOg2C,MAAOh2C,EAAOv6E,MAAUu6E,EAAOymD,SAQnC,KAPA,cAAC3vJ,EAAA,EAAD,CAASjE,MAAOmtG,EAAOntG,MAAmB8Z,OAAK,EAA/C,SACI,cAAC,IAAD,CAAMlZ,MAAO,CAAE07D,eAAgB,OAAQx5D,MAAM,GAAD,OAAKlD,EAAMi+E,YAAexhB,GAAI8wC,EAAOhc,KAAjF,SACI,cAAC5uB,GAAA,EAAD,CAAOomC,aAAcwE,EAAOg2C,IAAKrgJ,MAAM,YAAYiuB,IAAK,IAAK63E,UAAQ,EAArE,SACKuE,EAAOxrD,WAHeuC,QAU7CtB,GAAkBtP,IAChB,cAACrvC,EAAA,EAAD,CAASjE,MAAO,oBAAqB8Z,OAAK,EAAC1Y,QAAS,SAACsK,GAAD,OAAO6oJ,EAAQ,yBAA0B7oJ,IAAI9K,MAAO,CAAEI,OAAQ,WAAlH,SACI,cAACuhE,GAAA,EAAD,CAAOz/D,MAAM,YAAY6lG,aAAc/lD,EAAiB,EAAI,EAAG7xB,IAAK,IAAK63E,UAAQ,EAAjF,SACI,cAAC,KAAD,QAIZ,cAACirD,EAAD,CACIP,cAAejwJ,EAAMoxJ,uBACrB/a,SAAUr2I,EAAM+vJ,cAChBnyJ,GAAG,yBACH8yJ,eAAgBS,IAGnB5xG,GACG,qCACI,cAAC3+C,EAAA,EAAD,CAASjE,MAAO,kBAAmB8Z,OAAK,EAAC1Y,QAAS,SAACsK,GAAD,OAAO6oJ,EAAQ,sBAAuB7oJ,IAAI9K,MAAO,CAAEI,OAAQ,WAA7G,SACI,cAACuhE,GAAA,EAAD,CAAOz/D,MAAM,YAAY6lG,aAAc,EAAG53E,IAAK,IAAK63E,UAAQ,EAA5D,SACI,cAAC,KAAD,QAGR,cAACirD,EAAD,CACIP,cAAejwJ,EAAMqxJ,oBACrBhb,SAAUr2I,EAAM8vJ,YAChBlyJ,GAAG,sBACH8yJ,eAAgBS,IAGpB,cAACvwJ,EAAA,EAAD,CAASjE,MAAO,WAAY8Z,OAAK,EAAC1Y,QAAS,SAACsK,GAAD,OAAO6oJ,EAAQ,uBAAwB7oJ,IAAI9K,MAAO,CAAEI,OAAQ,WAAvG,SACI,cAACuhE,GAAA,EAAD,CAAOz/D,MAAM,YAAY6lG,aAAc,EAAG53E,IAAK,IAAK63E,UAAQ,EAA5D,SACI,cAAC,KAAD,QAGR,cAACirD,EAAD,CACIP,cAAejwJ,EAAMsxJ,qBACrBjb,SAAUr2I,EAAMgwJ,YAChBpyJ,GAAG,uBACH8yJ,eAAgBS,UAMhC,cAACvwJ,EAAA,EAAD,CAASjE,MAAO,kBAAmB8Z,OAAK,EAAC1Y,QA1HjC,SAACmR,GACjBihJ,EAAYjhJ,EAAM+gJ,gBAyHqD1yJ,MAAO,CAAEI,OAAQ,WAAhF,SACI,cAACuhE,GAAA,EAAD,CAAOz/D,MAAM,YAAY6lG,aAAc,IAAK53E,IAAK,IAAK63E,UAAQ,EAA9D,SACI,cAAC,KAAD,QAIZ,cAACorD,EAAA,EAAD,CACIvzJ,KAAMA,EACN8yJ,SAAUA,EACVpzJ,QAASszB,EACTwgI,aAAc,CACVC,SAAU,SACVC,WAAY,UAEhBC,gBAAiB,CACbF,SAAU,MACVC,WAAY,UAVpB,SAaI,cAACE,EAAA,EAAD,UACKhxJ,EAAM4C,MACH5C,EAAM+vJ,eACN/vJ,EAAM8vJ,aACN9vJ,EAAMgwJ,cAHT,iCAIOhwJ,EAAM4C,MAJb,aAIsB5C,EAAM+vJ,eAJ5B,aAI8C/vJ,EAAM8vJ,aAJpD,aAIoE9vJ,EAAMgwJ,qBAJ1E,aAIG,EAAqFlqJ,KAAI,SAACgoB,EAAGmM,GACzF,OACI,cAACg3H,EAAA,EAAD,UACI,eAAC,IAAD,CAAMj4F,GAAIlrC,EAAEggE,KAAMvwF,MAAO,CAAE07D,eAAgB,OAAQx5D,MAAM,QAAU9B,OAAQ,WAAaI,QAASqyB,EAAjG,UACI,cAAC8uC,GAAA,EAAD,CAAOomC,aAAcx3E,EAAEgyH,IAAKrgJ,MAAM,YAAYlC,MAAO,CAAE8B,QAAS,GAAKquB,IAAK,IAAK63E,UAAQ,IACtFz3E,EAAEwwB,MACH,sBACI/gD,MAAO,CACHF,QAAS,cACTM,OAAQ,UACRuU,WAAY,GAJpB,SAOK4b,EAAEnxB,YAXAs9B,e,qBCrYzC3yB,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCglJ,KAAM,CACFzvJ,SAAU,IACVwvB,UAAW,IAEfglI,OAAQ,CACJ7yH,gBAAiB,SAACniC,GAAD,gBAAcA,EAAM88I,+BACrC55I,MAAO,SAAClD,GAAD,gBAAcA,EAAM68I,yBAC3B5iI,OAAQhP,EAAMgP,OAAOi2I,OAAS,EAC9BI,WAAYrlJ,EAAMslJ,YAAYC,OAAO,CAAC,QAAS,UAAW,CACtDC,OAAQxlJ,EAAMslJ,YAAYE,OAAOC,MACjC9tE,SAAU33E,EAAMslJ,YAAY3tE,SAASiuE,iBAI7CoE,YAAa,CACTt/I,WAjBY,IAkBZhI,MAAM,eAAD,OAlBO,IAkBP,OACL2iJ,WAAYrlJ,EAAMslJ,YAAYC,OAAO,CAAC,QAAS,UAAW,CACtDC,OAAQxlJ,EAAMslJ,YAAYE,OAAOC,MACjC9tE,SAAU33E,EAAMslJ,YAAY3tE,SAAS+tE,kBAG7CuE,WAAY,CACRp1J,YAAa,GAEjBq1J,KAAM,CACFr0J,QAAS,QAEbs0J,UAAW,CACPt0J,QAAS,cACTu0J,cAAe,cACfC,UAAW,UACX76I,UAAW,SACX86I,WAAY,SACZ74F,eAAgB,OAChBt7D,OAAQ,UACRuU,WAAY,GAEhBzK,KAAM,CACF,QAAS,CACLC,OAAQF,EAAMpI,QAAQ,KAG9BgN,OAAO,aACH5O,SAAU,WACVyuB,aAAczkB,EAAMuqJ,MAAM9lI,aAC1ByS,gBAAiBszH,YAAKxqJ,EAAM6rD,QAAQC,OAAOC,MAAO,KAClD,UAAW,CACP70B,gBAAiBszH,YAAKxqJ,EAAM6rD,QAAQC,OAAOC,MAAO,MAEtDl3D,YAAamL,EAAMpI,QAAQ,GAC3B8S,WAAY,EACZhI,MAAO,OACPqiB,UAAW,QACV/kB,EAAM6lJ,YAAYC,GAAG,MAAQ,CAC1Bp7I,WAAY1K,EAAMpI,QAAQ,GAC1B8K,MAAO,SAGf+nJ,WAAY,CACR5yJ,QAASmI,EAAMpI,QAAQ,EAAG,GAC1BnC,OAAQ,OACRO,SAAU,WACV00J,cAAe,OACf70J,QAAS,OACTC,WAAY,SACZuxB,eAAgB,UAEpBsjI,UAAW,CACP1yJ,MAAO,WAEX2yJ,WAAW,aACP/yJ,QAASmI,EAAMpI,QAAQ,EAAG,EAAG,EAAG,GAEhCyuB,YAAY,cAAD,OAAgBrmB,EAAMpI,QAAQ,GAA9B,OACXytJ,WAAYrlJ,EAAMslJ,YAAYC,OAAO,SACrC7iJ,MAAO,QACN1C,EAAM6lJ,YAAYC,GAAG,MAAQ,CAC1BpjJ,MAAO,aAKNmoJ,GAAgB,SAAC91J,GAC1B,IAAM4M,EAAiBD,KACvB,EAAoCo0C,KAApC,mBAAO4C,EAAP,KACA,GADA,KAC0D31C,gBAAlDD,EAAR,EAAQA,WAAY6wC,EAApB,EAAoBA,YAAwBjL,GAA5C,EAAiCkL,UAAjC,EAA4ClL,WAGtCoiH,GADQzE,cACIz1I,mBAAQ,WACtB,MAAO,CACH,CAAEuF,KAAM,UAAWjf,MAAOyK,EAAe4vI,oBAAqBjkI,KAAMy9I,IAAaC,QAAQ,GACzF,CAAE70I,KAAM,eAAgBjf,MAAOyK,EAAe6vI,yBAA0BlkI,KAAM29I,IAAYD,QAAQ,GAClG,CAAE70I,KAAM,WAAYjf,MAAOyK,EAAe8vI,qBAAsBnkI,KAAM49I,IAAOF,QAAQ,MAE1F,CAACrpJ,KACEjB,EAAUZ,GAAU6B,GAC1B,EAA0B+2B,IAAM3hC,SAAS,IAAzC,mBAAOyB,EAAP,KAAcxB,EAAd,KACA,EAAoC0hC,IAAM3hC,UAAS,GAAnD,mBAAOmuJ,EAAP,KAAmBiG,EAAnB,KACA,EAAgCzyH,IAAM3hC,SAAS,MAA/C,mBAAO2xJ,EAAP,KAAiBC,EAAjB,KACA,EAAgCjwH,IAAM3hC,UAAS,GAA/C,mBAAOq0J,EAAP,KAAiBC,GAAjB,KACA,GAAsC3yH,IAAM3hC,UAAS,GAArD,qBAAOu0J,GAAP,MAAoBC,GAApB,MACA,GAAkC7yH,IAAM3hC,UAAS,GAAjD,qBAAOy0J,GAAP,MAAkBC,GAAlB,MAEA,GAA6Cj1J,eAArC8J,GAAR,GAAQA,iBAAkBD,GAA1B,GAA0BA,eAEpBzK,GAAOgzJ,QAAQF,GACftyJ,GAAKR,GAAO,sBAAmByD,EAErCV,qBAAU,WACFmK,GACsBqoJ,EAAtBzyG,GAAe,QAEpB,CAAC51C,EAAY41C,IAEhB//C,qBAAU,WACFmK,GAAqD,IAAvChK,IAAW4yJ,yBAAoE,GAAnC5yJ,IAAW6yJ,sBAAgE,GAAnC7yJ,IAAW6yJ,uBAC7GJ,IAAe,GACfzyJ,IAAW8yJ,sBAAsB,UAEtC,IAEH,IAAMC,GAAY,uCAAG,WAAOvxJ,EAAMlE,GAAb,eAAA6C,EAAA,8DACHqB,GADG,qCACYD,GAAcC,GAD1B,6BACbwxJ,EADa,UAED11J,GAFC,uCAEYsE,GAAoBtE,GAFhC,iCAGb01J,KACA,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAASjtJ,UACT/F,IAAWizJ,aAAazxJ,GACxBgG,GAAiB,oCAEjBD,IAAsB,OAAPyrJ,QAAO,IAAPA,OAAA,EAAAA,EAAS5qJ,UAAW,0BAR1B,4CAAH,wDAaZ8qJ,GAAmB,WACrBb,GAAc,IAcZ/zJ,GAAY,WACdi0J,IAAaD,IAGXa,GAAa,WACfR,IAAcD,KAOZ5kJ,GAAcwb,sBAAW,uCAAC,WAAOvhB,GAAP,mBAAA5H,EAAA,2DACE4H,EAAEE,OADJ,EACpBpC,KAAMzH,EADc,EACdA,MADc,EACPuK,OACjBvK,EAAM6P,OAAS,GAFS,gCAGA7L,GAAqBhE,GAHrB,OAGpBonE,EAHoB,OAIxBtnE,GAAS,SAAC4B,GAAQ,IAAD,EAEe,IADxBg8B,EAAK,eAAQh8B,IACjB,UAAI0lE,EAAYljE,YAAhB,aAAI,EAAkB4V,OAClB4jB,EAAM7M,KAAOu2C,EAAYz/D,QACzB+1B,EAAMs3H,gBAAN,UAAwB5tF,EAAYljE,YAApC,aAAwB,EAAkB4V,KAAK,GAAGzV,UAClDq5B,EAAMu3H,uBAAN,UAA+B7tF,EAAYljE,YAA3C,aAA+B,EAAkB4V,KAAK,GAAG+wI,iBACzDntH,EAAMw3H,WAAal1J,GAEnB09B,EAAM7M,MAAO,EAGjB,OAAO6M,KAfa,sBAkBxB59B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmvB,MAAM,OAlBT,2CAAD,sDAoB5B,IAEGzlB,GAAQX,EAAeswI,sBAAwBtwI,EAAeswI,sBAAxD,UAAmFzvI,GAAnF,YAA6Gb,EAAe+lJ,mBAEpIjvD,GAAU/vD,EAAUh8B,SAAS,SACjC,OACI,qCACI,cAAC,IAAD,UACI,sBAAKhT,UAAU,UAAf,UACI,cAAC2yJ,EAAA,EAAD,CACIh0E,QAAQ,OACRriF,SAAS,QACT0D,UAAWu9C,kBAAKv2C,EAAQqpJ,OAAT,eACVrpJ,EAAQspJ,YAAc9E,IAJ/B,SAOI,eAACoH,EAAA,EAAD,CAAS5yJ,UAAWwrJ,EAAU,wBAA9B,WACMpiJ,GACE,cAAC,IAAD,CAAS0uD,GAAG,IAAI93D,UAAU,gBAA1B,SACI,qBAAKD,IAAK6I,GAAK5I,UAAWgH,EAAQskJ,SAGzCliJ,GACG,sBAAK/M,MAAO,CAAEF,QAAS,OAAQC,WAAY,UAA3C,UACI,cAACoZ,EAAA,EAAD,CACIjX,MAAM,UACNkX,aAAW,cACX5Y,QAASy1J,GACT/tE,KAAK,QACLvkF,UAAWu9C,kBAAKv2C,EAAQupJ,WAAT,eACVvpJ,EAAQwpJ,KAAOhF,IANxB,SASI,cAAC,IAAD,MAEJ,8BACKvjJ,EAAeuwI,6BACZ,qBAAKz4I,IAAG,UAAKkI,EAAeuwI,6BAA+Bx4I,UAAWgH,EAAQskJ,SAGtF,sBAAKtrJ,UAAWgH,EAAQkE,OAAxB,UACI,qBAAKlL,UAAWgH,EAAQ+pJ,WAAxB,SACI,cAAC,KAAD,MAEJ,cAAC8B,EAAA,EAAD,CACIjlJ,YAAY,sBACZ5G,QAAS,CACLT,KAAMS,EAAQiqJ,UACdloB,MAAO/hI,EAAQkqJ,YAEnBppJ,SAAUoF,GACVqf,WAAY,CAAE,aAAc,eAGnCztB,EAAMuvB,MACH,cAAC,IAAD,CACIhyB,MAAO,CAAE07D,eAAgB,OAAQx5D,MAAM,GAAD,OAAK0J,EAAeiwI,yBAC1DpgF,GAAI,CACAnpC,SAAS,2BAAD,OAA6B7vB,EAAM0zJ,kBAHnD,SAMI,cAACh9I,EAAA,EAAD,CAAYjX,MAAM,UAAUkX,aAAW,OAAOzV,UAAWgH,EAAQR,OAAjE,SACI,cAAC,KAAD,YAMlB4C,GACE,qBAAKpJ,UAAU,cAAf,SACKoxJ,EAAUxsJ,KAAI,SAACkK,EAAGiqB,GAAJ,OACX,sBACI/4B,UAAW,SAAW8O,EAAEwiJ,OAAS,gBAAkB,MACnDj1J,MAAO,CAAEgnF,WAAYv0E,EAAEwiJ,OAAF,oBAAwBrpJ,EAAeiwI,wBAA2B,QAF3F,UAKI,qBAAKl4I,UAAU,OAAf,SACI,cAAC8O,EAAE8E,KAAH,CAAQ8B,SAAS,YAErB,sBAAK1V,UAAU,YAAf,UACI,gCAAQ8O,EAAE2N,OACV,uBAAOzc,UAAU,QAAjB,SAA0B8O,EAAEtR,aAP3Bu7B,QAapB3vB,EACG,sBAAKpJ,UAAU,aAAf,UACKiI,EAAeqwI,mCACZ,qBAAKt4I,UAAWgH,EAAQT,KAAMlK,MAAO,CAAElB,YAAa,GAApD,SACI,cAAC,GAAD,CAAkBm+E,UAAWrxE,EAAeiwI,2BAEhD,KACJ,sBAAKr6I,mBAAkBnB,GAAIG,QAtIvC,SAACmR,GACjBihJ,EAAYjhJ,EAAM+gJ,gBAqI2D/uJ,UAAWgH,EAAQypJ,UAApE,UACI,+BAAOx2G,IACP,cAAC,IAAD,OAEJ,cAACw1G,EAAA,EAAD,CACI/yJ,GAAIA,GACJR,KAAMA,GACN8yJ,SAAUA,EACVpzJ,QA1IhB,WAChBqzJ,EAAY,OA0IoBS,aAAc,CACVC,SAAU,SACVC,WAAY,UAEhBC,gBAAiB,CACbF,SAAU,MACVC,WAAY,UAXpB,SAcI,eAACE,EAAA,EAAD,WACI,cAACC,EAAA,EAAD,UACI,eAAC,IAAD,CAAMj4F,GAAG,UAAU93D,UAAWgH,EAAQypJ,UAAtC,UACI,cAAC,IAAD,CAAep0J,MAAO,CAAElB,YAAa,SACrC,gDAGN4jG,IACE,eAACgxD,EAAA,EAAD,WAEI,cAAC,IAAD,CAAiB1zJ,MAAO,CAAElB,YAAa,SACvC,sBAAM0B,QAASa,GAAf,6BAIR,eAACqyJ,EAAA,EAAD,WAEI,cAAC,KAAD,CAAY1zJ,MAAO,CAAElB,YAAa,SAClC,sBAAM0B,QAAS01J,GAAf,gCAGJ,cAACxC,EAAA,EAAD,UACI,2EAMhB,cAAC,IAAD,CAAMj4F,GAAG,SAASz7D,MAAO,CAAE07D,eAAgB,QAA3C,SACI,cAAC,IAAD,2BAKhB,cAAC00F,GAAD,CAAYyB,SAAU1C,EAAY+C,WAAY+D,GAAkBpF,YA9LtD,WACtBuE,GAAc,IA6L8FxpJ,eAAgBA,SAGvHypJ,GACG,cAACl2J,GAAA,EAAD,CAAYC,MAAM,eAAeS,MAAM,EAAMN,QAAS8B,GAAW7B,SAAS,KAA1E,SACI,cAAC,GAAD,CAAaD,QAAS8B,GAAWC,SAAUw0J,OAGlDL,IACG,cAACt2J,GAAA,EAAD,CAAYC,MAAM,iBAAiBS,MAAM,EAAMN,QAAS22J,GAAY12J,SAAS,KAA7E,SACI,cAAC,GAAD,CAAoBD,QAAS22J,QAGnCxzD,IAAW6yD,IAAe,cAAC,EAAD,CAAuBl0J,UAAWA,GAAW9B,QAvL5D,WACjBi2J,IAAe,IAsLqFl0J,SAAUw0J,S,qBCrXhH/rJ,GAAYC,aAAW,SAACC,GAAD,MAAY,CACvCwsJ,SAAU,CACRx9I,OAAQhP,EAAMgP,OAAOi2I,OAAS,EAC9BhtJ,MAAO,YAiBIw0J,GAbK,YAAsB,IAAVj0J,EAAS,EAATA,MACxBkI,EAAUZ,KACZ4sJ,EAAUl0J,EAAM2I,UAAY3I,EAAM2I,SAAS4F,OAAS,GAAKvO,EAAM2I,SAAS,GAAG4F,OAAS,EACxF,OAAO,mCACJvO,EAAMm0J,UACH7hJ,IAAS8hJ,aAAa,eAACC,GAAA,EAAD,CAAUnzJ,UAAWgH,EAAQ8rJ,SAAU52J,MAAM,EAA7C,UACtB,cAAC0xB,GAAA,EAAD,CAAkBrvB,MAAM,YACvBy0J,GAAW,cAACI,GAAA,EAAD,CAAMvrJ,MAAO/I,EAAM2I,SAAS,GAAIpL,MAAO,CAAE,UAAa,QAAS,UAAa,sCAC7EwU,SAASyhD,MACpB,Q,WCVO+gG,GARD,YAAoB,IAATv0J,EAAQ,EAARA,MACrB,OAAOsS,IAAS8hJ,aAAa,mCACzB,cAACI,GAAA,EAAD,CAAUp3J,KAAM4C,EAAMm0J,UAAWM,iBAAkBz0J,EAAM0vJ,QAAS5yJ,QAASkD,EAAM00J,UAAjF,SACI,cAAC,KAAD,CAAUjmI,SAAUzuB,EAAMyuB,SAAU3xB,QAASkD,EAAM00J,UAAnD,SAA+D10J,EAAM2d,WAExE5L,SAASyhD,OCCZlsD,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACF,QAAS,CACLC,OAAQF,EAAMpI,QAAQ,EAAG,SA0DtBu1J,GArDS,YAA0B,IAAdluJ,EAAa,EAAbA,MAAO7I,EAAM,EAANA,GACvC,EAA+DI,eAAvD4J,EAAR,EAAQA,iBAAkBC,EAA1B,EAA0BA,eAAgBC,EAA1C,EAA0CA,iBAC1C,EAAmCZ,KAA3Ba,EAAR,EAAQA,WAAYC,EAApB,EAAoBA,WACZC,EAAeb,KAAfa,WACJC,EAAUZ,KAEd,EAAgC/I,mBAAS,CACrC6H,SAAU,GACVQ,gBAAiB,KAFrB,mBAAKZ,EAAL,KAAgBmC,EAAhB,KAKA,SAASC,EAAYC,GACjB,IAAIC,EAAG,eACFD,EAAEE,OAAOpC,KAAOkC,EAAEE,OAAO7J,OAE9ByJ,GAAa,SAAC/H,GACV,OAAO,2BAAKA,GAAOkI,MAI3B,IAAME,EAAM,uCAAG,4BAAA/H,EAAA,yDACNuF,EAAUI,SADJ,gBAEPwB,EAAiB,oDAFV,0BAGCa,aAAiBzC,EAAUI,UAH5B,gBAIPwB,EAAiB,mDAJV,0BAKA5B,EAAUI,WAAaJ,EAAUY,gBALjC,iBAMPgB,EAAiB,uDANV,+BAQPG,IARO,UASSvB,GAAuB5I,EAAI6I,EAAOT,EAAUI,SAAUJ,EAAUY,iBATzE,QASH3E,EATG,OAUP+F,IACI/F,EAAIoE,SACJyB,EAAiB7F,EAAIyG,SACrBT,KAEAJ,EAAe5F,EAAIyG,SAfhB,4CAAH,qDAoBZ,OACI,cAACE,GAAA,EAAD,CAAW7L,SAAS,KAApB,SACI,uBAAM8L,aAAa,MAAM3H,UAAWgH,EAAQT,KAA5C,UACI,cAAC,IAAD,CAAeqB,WAAW,EAAMC,MAAM,WAAWpJ,WAAS,EAACjB,MAAOsH,EAAUI,SAAUD,KAAK,WAAW6C,SAAUZ,IAChH,cAAC,IAAD,CAAeW,MAAM,mBAAmBpJ,WAAS,EAACjB,MAAOsH,EAAUY,gBAAiBT,KAAK,kBAAkB6C,SAAUZ,IACrH,cAAC5I,EAAA,EAAD,CAAQyJ,KAAK,SAAStJ,WAAS,EAACD,QAAQ,YAAYD,MAAM,UAAU1B,QAASyK,EAA7E,gCCvDVlB,GAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACF,QAAS,CACLC,OAAQF,EAAMpI,QAAQ,EAAG,SA8CtBw1J,GAzCU,WACrB,MAA+D52J,eAAvD4J,EAAR,EAAQA,iBAAkBC,EAA1B,EAA0BA,eAAgBC,EAA1C,EAA0CA,iBAClCG,EAAeb,KAAfa,WAEJC,EAAUZ,KAEd,EAAwB/I,mBAAS,IAAjC,mBAAK0I,EAAL,KAAY4tJ,EAAZ,KAGMrsJ,EAAM,uCAAG,4BAAA/H,EAAA,yDACNwG,EADM,gBAEPW,EAAiB,2CAFV,sCAKSZ,GAAsBC,GAL/B,QAKHhF,EALG,QAMCoE,SACJyB,EAAiB7F,EAAIyG,SACrBT,KAEAJ,EAAe5F,EAAIyG,SAVhB,2CAAH,qDAeZ,OACI,cAACE,GAAA,EAAD,CAAW7L,SAAS,KAApB,SACI,uBAAM8L,aAAa,MAAM3H,UAAWgH,EAAQT,KAA5C,UACI,cAAC,IAAD,CAAWqB,WAAW,EAAMC,MAAM,QAAQpJ,WAAS,EAACjB,MAAOuI,EAAOd,KAAK,QAAQ6C,SAAU,SAAAX,GAAC,OAAIwsJ,EAASxsJ,EAAEE,OAAO7J,UAEhH,cAACc,EAAA,EAAD,CACIyJ,KAAK,SACLtJ,WAAS,EACTD,QAAQ,YACRD,MAAM,UACN1B,QAASyK,EALb,yBCyBDssJ,GAzDW,WAExB,IAAM3tJ,EAAcD,KACd9I,EAAaJ,eACnB,EAAgDoJ,KAAxCC,EAAR,EAAQA,YAAa8D,EAArB,EAAqBA,WAAYlD,EAAjC,EAAiCA,WACzBqC,EAAeC,eAAfD,WAERnK,qBAAU,WACR,IAAI40J,EAAYC,eACZD,EAAUxmJ,OAAS,IACjBjE,EACEyqJ,EAAU,GAAGlrI,gBAAkB,iBAAiBA,eAClD1e,EAAWQ,IAAaspJ,gBAItBF,EAAU,GAAGlrI,gBAAkB,iBAAiBA,cAClD1e,EAAWQ,IAAaC,gBAEjBmpJ,EAAU,GAAGlrI,gBAAkB,gBAAgBA,gBAClDkrI,EAAU,GACZ5pJ,EAAWQ,IAAaI,cAAe,CAAEtF,MAAOsuJ,EAAU,KAE1D32J,EAAWyJ,eAAe,kEAKjC,CAACyD,OAAOC,SAAS2pJ,OAGpB,IAAM77H,EAAc,WAAO,IAAD,IACxBpxB,KACA,UAAAZ,EAAY4E,YAAZ,eAAkBD,iBAAlB,UAAmC3E,EAAY4E,YAA/C,OAAmC,EAAkBD,kBAEvD,OAAO,qCACL,cAACmpJ,GAAD,CAAen1J,MAAOmH,IACtB,cAAC,GAAD,CAASnH,MAAO5B,IAEfkM,GAAcjD,EAAYlB,OAASwF,IAAaspJ,gBAAkB,cAACv4J,GAAA,EAAD,CAAYC,MAAM,kBAAkBG,QAASu8B,EAA7C,SACjE,cAAC,GAAD,OAGA/uB,GAAcjD,EAAYlB,OAASwF,IAAaC,gBAAkB,cAAClP,GAAA,EAAD,CAAYC,MAAM,kBAAkBG,QAASu8B,EAA7C,SAClE,cAAC,GAAD,OAGA/uB,GAAcjD,EAAYlB,OAASwF,IAAaI,eAAiB,cAACrP,GAAA,EAAD,CAAYC,MAAM,iBAAiBG,QAASu8B,EAA5C,SACjE,cAAC,GAAD,eAAuBhyB,EAAY4E,SAGpC5E,EAAYlB,OAASwF,IAAaypJ,cAAgB,cAAC14J,GAAA,EAAD,CAAYC,MAAO0K,EAAY4E,KAAKtP,OAAS,OAAQG,QAASu8B,EAA9D,SAChDhyB,EAAY4E,KAAKP,gBCxCT2pJ,OAjBf,WACE,OACE,eAACC,EAAA,EAAD,WACE,cAAC,GAAD,IASA,cAAC,GAAD,QCTSC,GAZS,SAAAC,GAClBA,GAAeA,aAAuBC,UACxC,+BAAqB9jB,MAAK,YAAkD,IAA/C+jB,EAA8C,EAA9CA,OAAQC,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAC3DJ,EAAOF,GACPG,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAQN,O,QCDdljJ,IAASC,OACP,cAAC,IAAMwjJ,WAAP,UACE,cAAC,GAAD,MAEFhkJ,SAASupD,eAAe,SAM1Bi6F,M,mGChBMS,EAAUpP,aAEVqP,EAAU,kBAAMD,EAAQnP,QAAQ,kBAEhC32I,EAAW,kBAAM8lJ,EAAQnP,QAAQ,YAYjCz9I,EAAmB,WACrB,IAAM8sJ,EAAUF,EAAQnP,QAAQ,oBAChC,OAAIqP,EACOpP,KAAKC,MAAMmP,GAEfA,GAGL1sJ,EAAmB,SAAC0sJ,GACtBF,EAAQG,QAAQ,mBAAoBrP,KAAKsP,UAAUF,KAqC1C51J,EAAa,CACtBumJ,QAASmP,EAAQnP,QACjBsP,QAASH,EAAQG,QACjBE,WAAYL,EAAQK,WACpBJ,UACAzyF,eAhEmB,iBAA8C,SAAxCwyF,EAAQnP,QAAQ,qBAiEzC32I,WACAomJ,aAhEiB,kBAAMN,EAAQnP,QAAQ,gBAiEvC0P,aAhEiB,kBAAOP,EAAQnP,QAAQ,gBAAkB,IAAIxvD,MAAM,MAiEpEm/D,mBAhEuB,kBAAMR,EAAQnP,QAAQ,4BAiE7Cz9I,mBACAI,mBACAc,WAAY,mBAAQ2rJ,OAAe/lJ,KACnC5J,aAAc,YAAe,IAAZ1D,EAAW,EAAXA,KACbozJ,EAAQG,QAAQ,UAAWvzJ,EAAK6D,OAChCuvJ,EAAQG,QAAQ,gBAAiBvzJ,EAAKu4C,aACtC66G,EAAQG,QAAQ,mBAAoBvzJ,EAAK2lD,aAAc,GACvDytG,EAAQG,QAAQ,cAAevzJ,EAAKw4C,WACpC46G,EAAQG,QAAQ,cAAevzJ,EAAKkzI,OACpCkgB,EAAQG,QAAQ,0BAA2B1lJ,KAAKgmJ,OAChDT,EAAQG,QAAQ,cAAevzJ,EAAK8zJ,kBAAoB,UACxDV,EAAQG,QAAQ,qBAAsBvzJ,EAAK+zJ,iBAC3CX,EAAQG,QAAQ,gBAAiBrP,KAAKsP,UAAUxzJ,EAAKg0J,UAEzDC,uBA1D2B,SAACj0J,GAC5B,IAAI3E,EAAM,GACV2E,EAAKuQ,SAAQ,SAACoyD,GAAD,OAAQtnE,EAAIsnE,EAAEuxF,MAAQvxF,EAAE9kD,MACrCu1I,EAAQG,QAAQ,yBAA0BrP,KAAKsP,UAAUn4J,KAwDzD84J,sBArD0B,WAC1B,OAAOjQ,KAAKC,MAAMiP,EAAQnP,QAAQ,2BAA6B,KAqD/D/6I,cAAe,WACX,IAAMkrJ,EAAgB5tJ,IACtB4sJ,EAAQj1J,QACJi2J,GACAxtJ,EAAiB,2BAAKwtJ,GAAN,IAAqB3tJ,SAAS,KAElD2sJ,EAAQG,QAAQ,0BAA2B1lJ,KAAKgmJ,QAEpDl2J,aA1DiB,WACjB,OAAOy1J,EAAQnP,QAAQ,gBA0DvB0M,aAvDiB,SAACzxJ,GAClBA,GAAQk0J,EAAQG,QAAQ,cAAer0J,IAuDvCqxJ,mBApDuB,WACvB,OAAO6C,EAAQnP,QAAQ,uBAoDvBoQ,mBAjDuB,SAAC90J,GACxBA,GAAM6zJ,EAAQG,QAAQ,qBAAsBh0J,IAiD5CixJ,sBA1C0B,SAACjxJ,GAC3BA,GAAM6zJ,EAAQG,QAAQ,uBAAwBh0J,IA0C9C+wJ,sBA/C0B,WAC1B,OAAO8C,EAAQnP,QAAQ,yBAA2B,GA+ClDx5H,cA9FkB,WAClB,IAAM6pI,EAAKlB,EAAQnP,QAAQ,iBAC3B,OAAIqQ,EACOpQ,KAAKC,MAAMmQ,GAEfA,K,mFCTEC,EAAU,SAAC56J,GACpB,IAAQmtJ,EAA2BntJ,EAA3BmtJ,cAAkBxsJ,EAA1B,YAAmCX,EAAnC,mBACMinE,EAAmBj5D,cAAnBi5D,eAEN,OADAkmF,IAAkBlmF,GAAiB,GAC5B,cAAC,IAAD,yBAAWxlC,KAAK,QAAQt+B,QAAQ,WAAWsL,SAAUw4D,EAAgB36D,aAAa,OAAU3L,GAA5F,IAAkGyC,WAAS,MAGhHy3J,EAAoBC,eAAKF,GAChBC,O,iCCZf,gFAEIE,OAAoBz2J,EACX6Q,EAAgB,SAAAnB,GAC3B,QAASgnJ,EAAqBhnJ,IAGnBgnJ,EAAsB,SAAAhnJ,GAIjC,OAHM+mJ,IACJA,EAAoBh3J,IAAWy2J,yBAE1BO,EAAmB/mJ,K,m1BCIfinJ,EAAY,SAACj7J,GACtB,IAAQ2Y,EAAwC3Y,EAAxC2Y,aAAc4lC,EAA0Bv+C,EAA1Bu+C,aAAiB59C,EAAvC,YAAgDX,EAAhD,iCACA,OACI,sBAAM2E,UAAU,YAAhB,SACI,cAAC,IAAD,CAASvE,MAAOuY,GAAgB,MAAOuB,OAAK,EAA5C,SACI,cAAC,IAAD,aAASlZ,MAAK,aAAIqZ,SAAUkkC,GAAgB,GAAI95C,UAAW,GAAIrD,OAAQ,WAAcT,EAAKK,OAASkC,MAAM,aAAgBvC,SAM5Hu6J,EAAa,SAACl7J,GACvB,IAAQ2Y,EAAiD3Y,EAAjD2Y,aAAc4lC,EAAmCv+C,EAAnCu+C,aAAc/8C,EAAqBxB,EAArBwB,QAAYb,EAAhD,YAAyDX,EAAzD,2CACA,EAAwB2jC,IAAM3hC,UAAS,GAAvC,mBAAOgxB,EAAP,KAAa6jE,EAAb,KACA,OACI,sBAAMlyF,UAAU,mBAAhB,SACI,cAAC,IAAD,CACIvE,MAAOuY,GAAgB,OACvBuB,OAAK,EACLrZ,KAAMmyB,EACNmoI,sBAAoB,EACpBl5H,aAAc,kBAAM40D,GAAQ,IAC5B30D,aAAc,kBAAM20D,GAAQ,IANhC,SAQI,cAAC,IAAD,aACI71F,MAAO,CAAEqZ,SAAUkkC,GAAgB,GAAI95C,UAAW,IAClDjD,QAAS,WAEL,GADAq1F,GAAQ,GACJr1F,EAAS,OAAOA,KAExB0B,MAAM,aACFvC,SAOXy6J,EAAe,SAACp7J,GACzB,IAAQ2Y,EAAwC3Y,EAAxC2Y,aAAc4lC,EAA0Bv+C,EAA1Bu+C,aAAiB59C,EAAvC,YAAgDX,EAAhD,iCACA,OACI,sBAAM2E,UAAU,mBAAhB,SACI,cAAC,IAAD,CAASvE,MAAOuY,GAAgB,SAAUuB,OAAK,EAA/C,SACI,cAAC,IAAD,aAAYlZ,MAAO,CAAEqZ,SAAUkkC,GAAgB,GAAI95C,UAAW,IAAMvB,MAAM,aAAgBvC,SAM7F06J,EAAmB,SAACr7J,GAC7B,IAAQ2Y,EAAiD3Y,EAAjD2Y,aAAc4lC,EAAmCv+C,EAAnCu+C,aAAc/8C,EAAqBxB,EAArBwB,QAAYb,EAAhD,YAAyDX,EAAzD,2CACA,EAAwB2jC,IAAM3hC,UAAS,GAAvC,mBAAOgxB,EAAP,KAAa6jE,EAAb,KACMj2D,EAAO5gC,EAAMuY,KACnB,OACI,sBAAM5T,UAAU,kBAAhB,SACI,cAAC,IAAD,CAASvE,MAAOuY,GAAgB,GAAIuB,OAAK,EAACrZ,KAAMmyB,EAAMmoI,sBAAoB,EAACl5H,aAAc,kBAAM40D,GAAQ,IAAO30D,aAAc,kBAAM20D,GAAQ,IAA1I,SACI,gCACI,cAACj2D,EAAD,aACI5/B,MAAO,CAAEqZ,SAAUkkC,GAAgB,GAAI95C,UAAW,GAAIvB,MAAOlD,EAAMkD,OACnEA,MAAM,YACN1B,QAAS,SAACsK,GAEN,GADA+qF,GAAQ,GACJr1F,EAAS,OAAOA,EAAQsK,KAE5BnL,IAEPA,EAAKN,iBAObi7J,EAAoB,SAACt7J,GAC9B,IAeM2L,EAfYX,aAAW,SAACC,GAAD,MAAY,CACrCrI,UAAW,CACPM,MAAO,SAAClD,GAAD,gBAAcA,EAAMuhC,YAAc,UACzCY,gBAAiB,SAACniC,GAAD,gBAAcA,EAAMy+C,UAAY,YACjD,yBAA0B,CACtBv7C,MAAO,SAAClD,GAAD,gBAAcA,EAAMuhC,YAAc,UACzCY,gBAAiB,SAACniC,GAAD,gBAAcA,EAAMy+C,UAAY,aAErD,0BAA2B,CACvBv7C,MAAO,SAAClD,GAAD,gBAAcA,EAAMuhC,YAAc,QAAlC,gBACPY,gBAAiB,SAACniC,GAAD,gBAAcA,EAAMy+C,UAAY,UAAhC,qBAKb1zC,CAAU/K,GAClB0xB,EAAwC1xB,EAAxC0xB,aAAc/Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAvC,YAAgDX,EAAhD,iCACMinE,EAAmBj5D,cAAnBi5D,eAEN,OADAv1C,IAAiBu1C,GAAiB,GAE9B,cAAC,IAAD,CAAS7mE,MAAOuY,GAAgB,GAAIuB,OAAK,EAACvV,UAAWgH,EAAQ/I,UAA7D,SACI,cAAC,IAAD,yBAAQO,QAAQ,YAAYsL,SAAUw4D,GAAkBtmE,EAAK+d,aAAiB/d,GAA9E,IAAoFyC,WAAS,EAA7F,SACMzC,EAAK+d,YAGH,eAAC,IAAD,CAAM1d,MAAO,CAAEC,SAAU,WAAY0M,MAAO,QAA5C,UACI,cAAC,IAAD,UAAOhN,EAAKN,WAEZ,cAAC,IAAD,CAAMW,MAAO,CAAEC,SAAU,WAAYC,MAAO,EAAG2uB,IAAK,OAApD,SACI,cAAC,IAAD,CAAkB4R,KAAM,UANhC,mCAAG9gC,EAAKN,iBAefk7J,EAAuB,SAACv7J,GACjC,IAAQ0xB,EAAwC1xB,EAAxC0xB,aAAc/Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAvC,YAAgDX,EAAhD,iCACMinE,EAAmBj5D,cAAnBi5D,eAEN,OADAv1C,IAAiBu1C,GAAiB,GAE9B,cAAC,IAAD,CAAS7mE,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,cAAC,IAAD,yBACI/W,QAAQ,YACRsL,SAAUw4D,GAAkBtmE,EAAK+d,aAC7B/d,GAHR,IAIIyC,WAAS,EACTpC,MAAO,CACHkC,MAAM,GAAD,OAAKlD,EAAMuhC,YAAc,SAC9BY,gBAAgB,GAAD,OAAKniC,EAAMy+C,UAAY,YAP9C,SAUM99C,EAAK+d,YAGH,eAAC,IAAD,CAAM1d,MAAO,CAAEC,SAAU,WAAY0M,MAAO,QAA5C,UACI,cAAC,IAAD,UAAOhN,EAAKN,WAEZ,cAAC,IAAD,CAAMW,MAAO,CAAEC,SAAU,WAAYC,MAAO,EAAG2uB,IAAK,OAApD,SACI,cAAC,IAAD,CAAkB4R,KAAM,UANhC,mCAAG9gC,EAAKN,iBAefm7J,EAAgB,SAACx7J,GAC1B,IAAQ0xB,EAAwC1xB,EAAxC0xB,aAAc/Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAvC,YAAgDX,EAAhD,iCACMinE,EAAmBj5D,cAAnBi5D,eAEN,OADAv1C,IAAiBu1C,GAAiB,GAE9B,cAAC,IAAD,CAAS7mE,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,cAAC,IAAD,yBAAQ/W,QAAQ,YAAYsL,SAAUw4D,GAAkBtmE,EAAK+d,aAAiB/d,GAA9E,IAAoFyC,WAAS,EAA7F,SACMzC,EAAK+d,YAGH,eAAC,IAAD,CAAM1d,MAAO,CAAEC,SAAU,WAAY0M,MAAO,QAA5C,UACI,cAAC,IAAD,UAAOhN,EAAKN,WAEZ,cAAC,IAAD,CAAMW,MAAO,CAAEC,SAAU,WAAYC,MAAO,EAAG2uB,IAAK,OAApD,SACI,cAAC,IAAD,CAAkB4R,KAAM,UANhC,mCAAG9gC,EAAKN,iBAefo7J,EAAgB,SAACz7J,GAC1B,IAAQ2Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAzB,YAAkCX,EAAlC,kBACA,OACI,cAAC,IAAD,CAASI,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,cAACshJ,EAAD,2BAAmB76J,GAAnB,IAAyBuC,MAAM,UAAUE,WAAS,EAAlD,SACKzC,EAAKN,eAMTq7J,EAAkB,SAAC17J,GAC5B,IAAQ2Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAzB,YAAkCX,EAAlC,kBACA,OACI,cAAC,IAAD,CAASI,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,+BACI,cAACshJ,EAAD,2BAAmB76J,GAAnB,IAAyBuC,MAAM,YAAYE,WAAS,EAApD,SACKzC,EAAKN,iBAWbs7J,EAAY,SAAC37J,GACtB,IAAQ2Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAzB,YAAkCX,EAAlC,kBACA,OACI,cAAC,IAAD,CAASI,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,8BACI,cAACshJ,EAAD,yBAAe72J,UAAWhE,EAAK8C,MAAQ,YAAc,cAAetB,OAAO,GAAUxB,GAArF,aACKA,EAAKm6E,SAAW,cAOxB8gF,EAAW,SAAC57J,GACrB,IAAQ2Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAzB,YAAkCX,EAAlC,kBACA,OACI,cAAC,IAAD,CAASI,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,8BACI,cAACshJ,EAAD,yBAAe72J,UAAWhE,EAAK8C,MAAQ,cAAgB,cAAetB,OAAO,GAAUxB,GAAvF,aACKA,EAAKm6E,SAAW,aAOxB+gF,EAAgB,SAAC77J,GAC1B,IAAQ2Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAzB,YAAkCX,EAAlC,kBACA,OACI,cAAC,IAAD,CAASI,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,qBAAKvV,UAAU,aAAf,SACI,cAAC62J,EAAD,yBAAe72J,UAAWhE,EAAK8C,MAAQ,cAAgB,qBAAsBtB,OAAO,GAAUxB,GAA9F,aACI,cAAC,IAAD,CAAagE,UAAU,qBAOrCm3J,EAAO,SAAC97J,GACV,IAAQ2Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAzB,YAAkCX,EAAlC,kBACA,OACI,qBAAK2E,UAAU,aAAf,SACI,cAAC,IAAD,CAASvE,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,cAACshJ,EAAD,yBAAe72J,UAAWhE,EAAK8C,MAAQ,cAAgB,qBAAsBtB,OAAO,GAAUxB,GAA9F,aACI,cAAC,IAAD,CAAUgE,UAAU,qBAOlCo3J,EAAO,SAAC/7J,GACV,IAAQ2Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAzB,YAAkCX,EAAlC,kBACA,OACI,qBAAK2E,UAAU,aAAf,SACI,cAAC,IAAD,CAASvE,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,cAACshJ,EAAD,yBAAe72J,UAAWhE,EAAK8C,MAAQ,cAAgB,qBAAsBtB,OAAO,GAAUxB,GAA9F,aACI,cAAC,IAAD,CAAWgE,UAAU,qBAOnCq3J,EAAQ,SAACh8J,GACX,IAAQ2Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAzB,YAAkCX,EAAlC,kBACA,OACI,qBAAK2E,UAAU,WAAf,SACI,cAAC,IAAD,CAASvE,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,cAACshJ,EAAD,yBAAe72J,UAAWhE,EAAK8C,MAAQ,cAAgB,qBAAsBtB,OAAO,GAAUxB,GAA9F,aACI,uBAAOgE,UAAU,SAAjB,0BAMds3J,EAAO,SAACj8J,GACV,IAAQ2Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAzB,YAAkCX,EAAlC,kBACA,OACI,qBAAK2E,UAAU,UAAf,SACI,cAAC,IAAD,CAASvE,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,cAACshJ,EAAD,yBAAe72J,UAAWhE,EAAK8C,MAAQ,cAAgB,qBAAsBtB,OAAO,GAAUxB,GAA9F,aACI,uBAAOgE,UAAU,SAAjB,wBAOdu3J,EAAO,SAACl8J,GACV,IAAQ2Y,EAA0B3Y,EAA1B2Y,aAAiBhY,EAAzB,YAAkCX,EAAlC,kBACA,OACI,qBAAK2E,UAAU,UAAf,SACI,cAAC,IAAD,CAASvE,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,cAACshJ,EAAD,yBAAe72J,UAAWhE,EAAK8C,MAAQ,cAAgB,qBAAsBtB,OAAO,GAAUxB,GAA9F,aACI,uBAAOgE,UAAU,SAAjB,uBAoBP66D,EAAkB,SAACx/D,GAC5B,IAAQ2Y,EAAiC3Y,EAAjC2Y,aAAciqD,EAAmB5iE,EAAnB4iE,MAAUjiE,EAAhC,YAAyCX,EAAzC,0BACA,OACI,cAAC,IAAD,CACI+oG,aAAcnmC,GAAS,EAEvBzxC,IAAK,GACLjuB,MAAM,UACNmxJ,aAAc,CACVC,SAAU,MACVC,WAAY5zJ,EAAKyR,UAAYzR,EAAKyR,UAAY,QAPtD,SAUI,qBAAKzN,UAAU,wBAAf,SACI,cAAC,IAAD,CAASvE,MAAOuY,GAAgB,GAAIuB,OAAK,EAAzC,SACI,cAACshJ,EAAD,yBAAe72J,UAAWhE,EAAK8C,MAAQ,cAAgB,qBAAsBtB,OAAO,GAAUxB,GAA9F,aACI,cAAC,IAAD,CAAegE,UAAU,uBAqBpCy6D,EAAa07F,eAAKgB,GAClBz8F,EAAay7F,eAAKiB,GAClBz8F,EAAWw7F,eAAKkB,GAChBz8F,EAAUu7F,eAAKmB,GACfzsF,EAAUsrF,eAAKoB,I,wkGCpVxBC,QAAU,CACVC,IAAKC,oDACLC,IAAKC,oDACLC,QAASC,wDACTC,IAAKC,oDACLC,IAAKC,qDAGTC,qDAAQC,UAAU,2CAClBD,qDAAQE,YAAY,MACpBF,qDAAQG,gBAAgB,WACxBH,qDAAQI,cAER,IAAMC,kBAAoB,SAApBA,kBAAqBn9J,OACvB,IAAIo9J,sBAAwB,GAGxBA,sBADAp9J,MAAMozD,mBAAqB+oG,QAAQn8J,MAAMozD,kBAAkB9lC,eACnC6uI,QAAQn8J,MAAMozD,kBAAkB9lC,eAEhC6uI,QAAO,IAGnC,IAAMkB,OAAStuJ,OAAOsuJ,OACtB,UAA0Br7J,oDAAS,CAC/Bs7J,YAAa,GACbC,WAAY,GACZC,eAAgB,GAChBC,oBAAqB,GACrBC,cAAc,EACdC,eAAe,EACf3uJ,SAAUhP,MAAMgP,SAChByS,QAAQ,EACRm8I,aAAc,GACdC,mBAAmB,EACnBC,WAAY,SACZC,aAAc,QACdC,eAAgB,GAChBC,WAAY,GACZC,KAAMl+J,MAAMgP,SAAW,GAAK,IAfhC,4LAAOvL,MAAP,cAAcxB,SAAd,cAkBMk8J,QAAU,WACZ,IAAIC,GAAuB,EACrB70J,EAAM,IAAI8zJ,OAAOgB,KAAKC,IAAI9oJ,SAASupD,eAAe,OAAQ,CAC5Dm/F,KAAMz6J,MAAMy6J,KACZK,OAAQ,CAAEC,IAAK/6J,MAAMq6J,WAAYW,IAAKh7J,MAAMs6J,eAG1CW,EAAa,IAAIrB,OAAOgB,KAAKM,WAAW,CAC1ClvD,QAAS,GACTmvD,gBAAgB,IAGpBF,EAAWG,YAAY,cAAc,WACjCT,GAAuB,KAG3B,IAAIU,EAAUr7J,MAAM+5J,eAAej0J,KAAI,SAACtI,EAAUy8B,GAC9C,IACIqhI,EAAc,UAAM99J,EAAS,GAAf,YAAqBA,EAAS,GAA9B,aAAqCA,EAAS,GAA9C,YAAoDA,EAAS,GAA7D,YAAmEA,EAAS,GAA5E,KACZ+9J,EACF,qDAEc/9J,EAAS,GAFvB,gKAM+D89J,EAN/D,6BAMkGA,EANlG,oGAQuC99J,EAAS,GARhD,aAQuDA,EAAS,GARhE,wCAUA,SAEEg+J,EAAS,IAAI5B,OAAOgB,KAAKa,OAAO,CAClCj+J,SAAU,CAAEu9J,KAAMv9J,EAAS,GAAIw9J,KAAMx9J,EAAS,IAC9CuL,MAjBU,GAkBV+L,KAAM,CAAEjB,IAAKrW,EAAS,IAAKwgC,KAAM,CAAE9zB,MAAO,GAAIjN,OAAQ,IAAMy+J,OAAQ,CAAExyI,EAAG,GAAIwhF,EAAG,IAAMixD,WAAY,CAAEzxJ,MAAO,GAAIjN,OAAQ,OAsB3H,OAnBAu+J,EAAOJ,YAAY,SAAS,WACxBT,GAAuB,EACvBM,EAAWW,WAAWL,GACtBN,EAAW79J,KAAK0I,EAAK01J,MAGzBA,EAAOJ,YAAY,aAAa,WACvBT,IACDM,EAAWW,WAAWL,GACtBN,EAAW79J,KAAK0I,EAAK01J,OAI7BA,EAAOJ,YAAY,YAAY,WACtBT,GACDM,EAAWY,WAIZL,KAGXH,EAAQhwJ,KACJ,IAAIuuJ,OAAOgB,KAAKa,OAAO,CACnBj+J,SAAU,CAAEu9J,IAAK/6J,MAAMq6J,WAAYW,IAAKh7J,MAAMs6J,aAC9CvxJ,MAAO,GACP+L,KAAM,CAAEjB,IAAK8lJ,sBAAuB37H,KAAM,CAAE9zB,MAAO,GAAIjN,OAAQ,KAAOy+J,OAAQ,CAAExyI,EAAG,GAAIwhF,EAAG,IAAMixD,WAAY,CAAEzxJ,MAAO,GAAIjN,OAAQ,QAGzI,IAAI6+J,2DAAgB,CAAET,UAASv1J,SAsBnC,SAASi2J,QAAQC,GACb,OAAOA,GAAO18E,KAAK28E,GAAK,KApB5B97J,sDAAU,WACN,IAAI+7J,KAAO,CAAC,yBAA0B,iBACtC7oD,QAAQtsC,IAAIm1F,KAAKp2J,KAAI,SAAC+N,GAAD,OAASsoJ,MAAMtoJ,GAAK89H,MAAK,SAACyqB,GAAD,OAAUA,EAAKz+I,cAAUg0H,MAAK,SAAC0qB,OACzE79J,UAAS,SAAC4B,IAAD,2KAAC,uKACHA,IADE,IAELm6J,eAAgB+B,KAAKD,MAAM,IAC3BxC,YAAayC,KAAKD,MAAM,cAGjC,IAEHl8J,sDAAU,WACNo8J,yBACD,CAACv8J,MAAM65J,cAEV15J,sDAAU,WACNu6J,YACD,CAAC16J,MAAM+5J,iBAMV,IAAMwC,qBAAuB,WACzB,IAAIzC,EAAa,GACXr6F,EAAS,wKAAOz/D,MAAM65J,aAC5BR,qDAAQmD,YAAYx8J,MAAMuL,UAAY,UAAUomI,MAC5C,SAACj+H,GACG,GAAIA,EAAU,CACV,MAAqBA,EAAS+oJ,QAAQ,GAAGC,SAASnxJ,SAA1CwvJ,EAAR,EAAQA,IAAKC,EAAb,EAAaA,IACbv7F,EAAUtsD,SAAQ,SAAC4mB,EAAGE,GAElB,IACI0iI,EAAOZ,QAAQhiI,EAAE,GAAKghI,GACtB6B,EAAOb,QAAQhiI,EAAE,GAAKihI,GACtBv6J,EACA6+E,KAAKu9E,IAAIF,EAAO,GAAKr9E,KAAKu9E,IAAIF,EAAO,GACrCr9E,KAAKw9E,IAAIf,QAAQhB,IAAQz7E,KAAKw9E,IAAIf,QAAQhiI,EAAE,KAAOulD,KAAKu9E,IAAID,EAAO,GAAKt9E,KAAKu9E,IAAID,EAAO,GAExF1wE,EAPI,MAMA,EAAI5M,KAAKy9E,MAAMz9E,KAAK09E,KAAKv8J,GAAI6+E,KAAK09E,KAAK,EAAIv8J,KAE/CyrF,EAAI,GACJnyD,EAAE9B,OAAO,GAAI,EAAG02B,8DACTu9B,EAAI,IAAMA,EAAI,GACrBnyD,EAAE9B,OAAO,GAAI,EAAG22B,8DAEhB70B,EAAE9B,OAAO,GAAI,EAAG42B,4DAEhBq9B,EAAI,KACJ4tE,EAAWzuJ,KAAK0uB,MAGxBv7B,UAAS,SAAC4B,GAAD,2KAAC,uKAAaA,GAAd,IAAkB05J,WAAYA,EAAYC,eAAgBD,EAAYO,WAAYU,EAAKT,YAAaU,WAGrH,SAACp5J,GACGynB,QAAQznB,MAAMA,OAKpBwM,YAAc,SAACxQ,GAAD,OAAQ,SAACyK,GACzB,MAA0BA,EAAEE,OAApBpC,EAAR,EAAQA,KAAMuJ,EAAd,EAAcA,QACVutJ,EAAkB,wKAAOj9J,MAAMw6J,YAC/BT,EAAiB,GACrB,GAAIrqJ,EACAutJ,EAAmB5xJ,KAAKzN,OACrB,CACH,IAAIs/J,EAAYD,EAAmB7iI,WAAU,SAAC4mB,GAAD,OAAOA,GAAKpjD,KACzDq/J,EAAmBhlI,OAAOilI,EAAW,GAErCD,EAAmB1uJ,OAAS,EAC5BvO,MAAM85J,WAAW3mJ,SAAQ,SAAUymB,GACfqjI,EAAmBltJ,MAAK,SAACgqB,GAAD,aAAOA,IAAC,UAAIH,EAAE,WAAN,aAAI,EAAOy9D,MAAM,KAAKtnF,MAAK,SAACy6C,GAAD,OAAOzwB,GAAKywB,UAEnFuvG,EAAe1uJ,KAAKuuB,MAGzBmgI,EAAc,wKAAO/5J,MAAM85J,YAClCt7J,UAAS,SAAC4B,GAAD,iLAAC,uKAAaA,GAAd,gLAAmB+F,EAAOuJ,GAA1B,oLAA+CutJ,GAA/C,wLAAmFlD,GAAnF,SAGPv3F,aAAe54C,wDAAY,SAACvhB,GAC9B,MAA8BA,EAAEE,OAAxBpC,EAAR,EAAQA,KAAMzH,EAAd,EAAcA,MAAd,EAAqBuK,KACrBzK,UAAS,SAAC4B,GAAD,2KAAC,uKAAaA,GAAd,2KAAmB+F,EAAOzH,SACpC,IAEGgM,YAAc,SAACrC,GACH,UAAVA,EAAEsC,MACF4xJ,uBACA/9J,UAAS,SAAC4B,GAAD,2KAAC,uKAAaA,GAAd,IAAkBq6J,KAAM,UAInC0C,YAAc,WAChB5gK,MAAMyzD,eAAehwD,MAAMuL,WAGzB6xJ,aAAe,WACjBb,uBACA/9J,UAAS,SAAC4B,GAAD,2KAAC,uKAAaA,GAAd,IAAkBq6J,KAAM,SAGrC,OACI,mEAAKl9J,MAAO,CAAEN,OAAQ,QAAtB,SACI,6DAAC,sDAAD,CAAMkC,WAAS,EAACC,QAAS,EAAG7B,MAAO,CAAEN,OAAQ,QAA7C,UACI,6DAAC,sDAAD,CAAMsC,GAAI,EAAGD,MAAI,EAAjB,UACI,6DAAC,sDAAD,CAAMH,WAAS,EAACC,QAAS,EAAzB,UACI,4DAAC,sDAAD,CAAMG,GAAI,GAAID,MAAI,EAAlB,SACI,4DAAC,+CAAD,CACIwJ,WAAW,EACXgG,YAAY,YACZpQ,MAAOsB,MAAMuL,SACbvC,SAAUw5D,aACV13D,UAAWJ,YACXvE,KAAK,WACL40C,WAAY,CACRmV,aACI,4DAAC,gEAAD,CAAgB1yD,SAAS,MAAzB,SACI,4DAAC,yEAAD,CAAkB0X,aAAa,eAAenX,QAASq/J,aAActoJ,KAAMwyG,2EAM9F/qH,MAAMyzD,gBACH,4DAAC,sDAAD,CAAMzwD,GAAI,GAAID,MAAI,EAAlB,SACI,4DAAC,+CAAD,CAAiBvB,QAASo/J,YAA1B,yBAKZ,6DAAC,sDAAD,CAAMh+J,WAAS,EAAf,UACI,4DAAC,kDAAD,CAAYO,QAAQ,KAApB,sCACCM,MAAMu6J,eAAez0J,KAAI,SAACu3J,GACvB,OACI,4DAAC,sDAAD,CAAM/9J,MAAI,EAACC,GAAI,GAAf,SACI,4DAAC,mEAAD,CACI0tB,QAAS,4DAAC,2DAAD,CAAUvd,QAAS1P,MAAMq9J,EAAE,GAAGj2H,QAASp+B,SAAUoF,YAAYivJ,EAAE,IAAKl3J,KAAMk3J,EAAE,GAAGj2H,SACxFr+B,MAAOs0J,EAAE,gBAOjC,4DAAC,sDAAD,CAAM99J,GAAI,GAAID,MAAI,EAAlB,SACI,mEAAK1B,GAAG,MAAR,gCAML87J,yC,4FC/RFnvJ,EAAe,WAC1B,MAA0BhM,mBAAU,CAOlC+L,WAAYhK,IAAWgK,aACrB7D,MAAOnG,IAAW4P,WAClBirC,YAAa76C,IAAW21J,UACxBzyF,eAAgBljE,IAAWkjE,iBAC3BpoB,UAAW96C,IAAWg2J,eACtBpmH,UAAW5vC,IAAWi2J,iBAZ1B,mBAAMv2J,EAAN,KAAaxB,EAAb,KAyBA,OAXA2B,qBAAW,WACT3B,EAAU,CACR8L,WAAYhK,IAAWgK,aACvB7D,MAAOnG,IAAW4P,WAClBirC,YAAa76C,IAAW21J,UACxBzyF,eAAgBljE,IAAWkjE,iBAC3BpoB,UAAW96C,IAAWg2J,eACtBpmH,UAAW5vC,IAAWi2J,mBAEvB,CAAEj2J,IAAWk2J,uBAETx2J,I,uRC1BIuG,EAAiB,uCAAG,4BAAA9F,EAAA,sEACb6B,YAAY,gBADC,QACzBL,EADyB,QAErBoE,SACJ/F,IAAWu2J,uBAAuB50J,EAAIW,MAHb,2CAAH,qDAOjB06J,EAAiB,uCAAG,WAAOC,EAAUltJ,GAAjB,6BAAA5P,EAAA,kEACVI,IADqCwR,EAA3B,kCACkB,MAAfA,IAC5BA,GAAc,GAFW,SAIb/P,YAAY,gBAAD,OAAiBi7J,EAAjB,YAA6BltJ,EAA7B,wBAAqDgC,IAJnD,cAIzBpQ,EAJyB,yBAKtBA,GALsB,2CAAH,wDAQjBu7J,EAA6B,uCAAG,WAAOD,EAAUltJ,EAAU3B,EAAU2D,GAArC,eAAA5R,EAAA,kEACtBI,GAAfwR,GAA2C,MAAfA,IAC5BA,GAAc,GAFuB,SAIzBtQ,YAAa,gBAAD,OAAiBw7J,EAAjB,YAA6BltJ,EAA7B,wBAAqDgC,GAAe3D,GAJvD,cAIrCzM,EAJqC,yBAKlCA,GALkC,2CAAH,4DAQ7Bw7J,EAAU,uCAAG,WAAOF,EAAUltJ,EAAUqtJ,EAAgBC,GAA3C,eAAAl9J,EAAA,sEACNsB,YAAa,sBAAuB,CAChDw7J,WACAltJ,WACAqtJ,iBACAC,YALkB,cAClB17J,EADkB,yBAOfA,GAPe,2CAAH,4DAUV27J,EAAkB,uCAAG,WAAOL,EAAUltJ,EAAUqtJ,GAA3B,eAAAj9J,EAAA,sEACdsB,YAAa,sBAAuB,CAChDw7J,WACAltJ,WACAqtJ,mBAJ0B,cAC1Bz7J,EAD0B,yBAMvBA,GANuB,2CAAH,0DASlB47J,EAAoB,uCAAG,WAAON,EAAUltJ,EAAUqtJ,EAAgBI,EAAczrJ,GAAzD,mBAAA5R,EAAA,kEACbI,GAAfwR,GAA2C,MAAfA,IAC5BA,GAAc,GAFc,SAIhBtQ,YAAa,wBAEzB,CACIw7J,WACAltJ,WACAqtJ,iBACArrJ,eAEJ,CAAEw2B,aAAc,OAAQC,cAAc,IAZV,UAeb,OAXf7mC,EAJ4B,QAexBi4C,OAfwB,wBAgBtBrmC,EAAMvI,OAAOqiF,IAAIC,gBAAgB,IAAIC,KAAK,CAAC5rF,EAAIW,SAC/CkrF,EAAO/7E,SAASupD,eAAe,qBAAuBvpD,SAASC,cAAc,MAC9EpU,GAAK,mBACVkwF,EAAKC,KAAOl6E,EACZi6E,EAAKE,aAAa,WAAY8vE,GAC9B/rJ,SAASyhD,KAAKy6B,YAAYH,GAC1BA,EAAKI,QAtBuB,mBAuBrB,GAvBqB,kCAyBzB,GAzByB,4CAAH,+D,mGC3C3BpiE,EAAS,CAAEgiE,KAAM,CAAE70B,eAAgB,OAAQx5D,MAAO,YAClD8M,EAAa,CACfC,MAAO,SAACL,GACJ,IAAM4E,EAAQ5E,EAAOiF,OAAOzG,IAC5B,OAAOwB,EAAO8E,IAAIF,GAAS,MAAQ,MAEvCtE,cAAe,SAACN,GACZ,IAAM4E,EAAQ5E,EAAOiF,OAAOzG,IACtBrC,EAAM6D,EAAO8E,IAAIF,GACvB,OAAOzI,EAAM8N,IAAO9N,GAAK+N,OAAO,cAAgB,SAEpDy5G,YAAa,SAAC3jH,GACV,IAAM4E,EAAQ5E,EAAOiF,OAAOzG,IACtBrC,EAAM6D,EAAO8E,IAAIF,GACvB,OAAOzI,EAAM8N,IAAO9N,GAAK+N,OAAO,YAAc,SAElD+9F,eAAgB,SAACjoG,GACb,IAAM4E,EAAQ5E,EAAOiF,OAAOzG,IACtBrC,EAAM6D,EAAO8E,IAAIF,GACvB,OAAOzI,EAAM8N,IAAO9N,GAAK+N,OAAO,eAAiB,KAErD+sC,oBAAqB,SAACj3C,GAClB,IAAM4E,EAAQ5E,EAAOiF,OAAOzG,IACtBrC,EAAM6D,EAAO8E,IAAIF,GACvB,OAAOzI,EAAM8N,IAAO9N,GAAK+N,OAAO,qBAAuB,KAE3D+5B,cAAe,SAACjkC,GACZ,OAAOA,EAASiK,IAAOjK,GAAQkK,OAAO,cAAgB,IAE1DkgD,kBAAmB,SAACpqD,GAChB,OAAOA,EAASiK,IAAOjK,GAAQkK,OAAO,eAAiB,KAE3Dm8B,cAAe,SAACrmC,GACZ,OAAOA,EAASiK,IAAOjK,GAAQkK,OAAO,cAAgB,SAE1DskC,kBAAmB,SAACxuC,GAChB,OAAOA,EAASiK,IAAOjK,GAAQkK,OAAO,qBAAuB,MAEjE6mE,gBAAiB,SAAC/wE,EAAQwG,GACtB,IAAM5B,EAAQ5E,EAAOiF,OAAOzG,IACtBrC,GAAO6D,EAAO8E,IAAIF,GACxB,OAAI4B,EAAKtB,QACC,sCAAN,OAA0C/I,EAAMA,EAAI81B,QAAQ,GAAGC,QAAQ,0BAA2B,OAAS,OAA3G,UAGI,qBACI9gC,MAAO,CACHyZ,UAAW,SAFnB,SAKK1O,EAAM,4CAAIA,EAAI81B,QAAQ,GAAGC,QAAQ,0BAA2B,UAAa,mDAK1F3mB,qBAAsB,SAACvL,EAAQwG,GAC3B,IAAM5B,EAAQ5E,EAAOiF,OAAOzG,IACtBrC,EAAM6D,EAAO8E,IAAIF,GAEvB,OAAI4B,EAAKtB,QACC,mCAAN,OAA0C/I,EAA1C,UAEO,qBAAK/K,MAAO,CAAEyZ,UAAW,SAAzB,SAAqC1O,KAIpDmP,uBAAwB,SAACtL,GACrB,IAAM7D,EAAM6D,EAAOiF,OAAOjL,KAC1B,OACI,cAAC,IAAD,2BAAwBgG,GAAxB,aACI,qBAAK5O,MAAO,CAAEyZ,UAAW,SAAzB,SAAqC1O,QAIjD09F,gBAAiB,SAAC75F,GACd,OAASA,EAAF,UAAcA,EAAd,MAA2B,IAEtC6oC,WAAY,SAACy6D,GACT,OAAOA,EAASA,EAAOC,OAAO,GAAGj7D,cAAgBg7D,EAAO7hF,MAAM,GAAG/D,cAAgB,IAErF0wD,iBAAkB,SAAC33E,EAAM+P,GACrB,IAAM5B,EAAQnO,EAAKwO,OAAOzG,IACpBrC,EAAM1F,EAAKqO,IAAIF,GACjBypE,EAAY,GACZstE,EAAY,GACVC,EAAU3xI,IAAO9N,GACjB0/I,EAAW5xI,MAASgpE,KAAK2oE,EAAS,QAYxC,OAXIC,EAAW,GACXxtE,EAAY,MACZstE,EAAY,QACLE,IAAa,IAAMA,GAAY,GACtCxtE,EAAY,UACZstE,EAAY,SAEZttE,EAAY,QACZstE,EAAY,QAGZn1I,EAAKtB,QACC,uBAAN,OAA8BmpE,EAA9B,0BAAyDstE,EAAzD,cAAwEv7I,EAAWimC,cAAclqC,GAAjG,UAEO,qBAAK/K,MAAO,CAAEkC,MAAM,GAAD,OAAK+6E,GAAavlE,WAAW,GAAD,OAAK6yI,IAApD,SAAoEv7I,EAAWimC,cAAclqC,MAG5G4mB,iBAAkB,WAAgB,IAAD,uBAAXilD,EAAW,yBAAXA,EAAW,gBAC7B,OAAOA,EACFruE,KAAI,SAACojB,GAAD,cAAOA,QAAP,IAAOA,OAAP,EAAOA,EAAGke,UACd3M,QAAO,SAACvR,GAAD,OAAOA,KACdq4E,KAAK,OAEdnyE,qBAAsB,SAACxsB,GACnB,OAAOA,EACH,mBAAGrF,MAAOuuB,EAAOgiE,KAAMC,KAAI,cAASnrF,GAApC,SACKA,IAGL,QAGRusB,cAAe,SAACvsB,GACZ,OAAOA,EACH,mBAAGrF,MAAOuuB,EAAOgiE,KAAMC,KAAI,iBAAYnrF,GAAvC,SACKA,IAGL,QAGRsyG,aAAc,SAAC5sG,GACX,OAAO,+BAAOA,EAAM,mCAAGA,EAAI81B,QAAQ,GAAGC,QAAQ,0BAA2B,SAAa,+CAE1F6jC,yBAA0B,SAAC55D,GACvB,OAAOA,EAAI02B,eAAe,QAAS,CAAE++H,sBAAuB,KAGhElnF,kBAAmB,SAACR,EAAephB,EAAiBwhB,GAChDJ,EAAgBA,GAAgCjgE,MAASC,SACzD,IAAI2nJ,EAAa5nJ,IAAOigE,GAAe4nF,OAAOhpG,EAAiB,QAC3DipG,EAAc9nJ,IAAOigE,GAAe4nF,OAAOhpG,EAAiB,SAChE,OAAIA,EAAkBohB,IACD,GAAZI,GAAiBxhB,EAAkBohB,GAA+B,GAAZI,IAAkBunF,GAA4B,GAAZvnF,IAAkBynF,IAMvHzjF,kBAAmB,SAACpE,EAAephB,EAAiBwhB,GAChD,IAAII,EAAoBtqE,EAAWsqE,kBAAkBR,EAAephB,EAAiBwhB,GAErF,OAAIJ,IAAkBQ,EACX,QACAA,EACA,MAEA,UAIJtqE,O,6KC5JR,SAASqa,EAAerqB,GAC3B,IAAQsS,EAAoCtS,EAApCsS,WAAYwnC,EAAwB95C,EAAxB85C,WAAen5C,EAAnC,YAA4CX,EAA5C,6BACA,OAAO85C,EACH,sBAAKn1C,UAAU,cAAf,UACI,cAAC,IAAD,CAAYP,QAAM,EAACO,UAAU,cAA7B,SACK2N,IAEL,qBAAK3N,UAAU,cAAf,SAA8B3E,EAAMmC,OAAS,WAGjD,qCACI,cAAC,IAAD,CAAYqQ,UAAQ,EAACpO,QAAM,EAA3B,SACKkO,IAEL,cAAC,IAAD,eAAe3R,IACf,cAAC,IAAD,CAAgB0E,OAAK,EAArB,SAAuB1E,EAAKiQ,YAqBzBgxJ,IAhBf,SAAqB5hK,GACjB,IAAQsS,EAAoCtS,EAApCsS,WAAYwnC,EAAwB95C,EAAxB85C,WAAen5C,EAAnC,YAA4CX,EAA5C,6BACA,OAAO85C,EACH,sBAAKn1C,UAAU,cAAf,UACI,cAAC,IAAD,CAAYP,QAAM,EAACO,UAAU,cAA7B,SACK2N,IAEL,qBAAK3N,UAAU,cAAf,SAA8B3E,EAAMmC,OAAS,WAGjD,qCACI,cAAC,IAAD,CAAYiC,QAAM,EAAlB,SAAoBkO,IACpB,cAAC,IAAD,eAAe3R,S,qGClCd4zI,EAAe,uCAAG,4BAAArwI,EAAA,sEACb6B,YAAY,kBADC,cACzBL,EADyB,yBAEtBA,GAFsB,2CAAH,sD,qGCAfykJ,EAAuB,uCAAG,4BAAAjmJ,EAAA,sEACnB6B,YAAY,qBADO,cAC/BL,EAD+B,yBAE5BA,GAF4B,2CAAH,sD,qGCAvBumJ,EAAgB,uCAAG,4BAAA/nJ,EAAA,sEACZ6B,YAAY,mBADA,cACxBL,EADwB,yBAErBA,GAFqB,2CAAH,sD,qGCAhB49I,EAAsB,uCAAG,4BAAAp/I,EAAA,sEAClB6B,YAAY,yBADM,cAC9BL,EAD8B,yBAE3BA,GAF2B,2CAAH,sD,gFCqD/Bm8J,E,mLAzBE92J,EAAYC,aAAW,SAACC,GAC1B,MAAO,CACHsP,cAAe,CACX9V,UAAW,EACX,eAAgB,CACZA,UAAWwG,EAAMpI,QAAQ,GACzB4X,UAAW,UAEf,iBAAkB,CACdxZ,SAAU,WACVH,QAAS,eACT4hC,aAAc,EACd/0B,MAAO,OACP,YAAa,CACT1M,SAAU,WACVC,MAAO,GACP2uB,IAAK,EACL5V,QAAS,GACT/W,MAAO,iBA8TZ4+J,IApTE,SAAC9hK,GACd,MAA0BgC,mBAAS,CAC/B0f,KAAM,GACNnO,QAAS,GACT8vG,aAAc,GACd+pC,WAAY,GACZ7gC,UARe,GASf6hC,gBARsB,GAStB2T,WAAY,EACZC,UAAW,GACX3uB,WAAYrzI,EAAMqzI,YAAc,KATpC,mBAAO5vI,EAAP,KAAcxB,EAAd,KAWA,EAAsCD,mBAAS,IAA/C,mBAAOigK,EAAP,KAAoBC,EAApB,KACA,EAAgClgK,mBAAS,IAAzC,mBAAOmgK,EAAP,KAAiBC,EAAjB,KACMz2J,EAAUZ,IAEhBnH,qBAAU,WACN,IAAM8d,EAAO1hB,EAAM0hB,MAAQ,GACrB6qG,EAAYvsH,EAAMusH,WApBT,GAqBT6hC,EAAkBpuJ,EAAMouJ,iBApBR,GAqBtBnsJ,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB6d,KAAMA,EAAM6qG,UAAWA,EAAW6hC,gBAAiBA,SAC/E,CAACpuJ,EAAM0hB,KAAM1hB,EAAMusH,UAAWvsH,EAAMouJ,kBAEvCxqJ,qBAAU,WACN,IAAI0Q,EAAOtU,EAAMuT,QAAQhK,KAAI,SAACkK,GAAD,sBAAaA,MAC1C,GAAIa,EAAKtC,OAAS,GAAKhS,EAAMkV,aAAelV,EAAMiU,wBAA0BkB,YAAcnV,EAAMiU,wBAAyB,CACrH,IAAMmB,EAAYd,EAAKd,MAAK,SAACC,GAAD,OAAOA,EAAEmB,uBACrC,GAAIQ,EAAW,CACX,IAAMC,EAAUD,EAAUT,UAmB1BS,EAAUT,UAlBS,SAAC/E,GAChB,OACI,8BACI,eAAC,IAAD,CAAMhN,WAAS,EAAf,UACI,cAAC,IAAD,CAAMG,MAAI,EAAV,SAAYsS,EAAQzF,KACpB,cAAC,IAAD,CAAM7M,MAAI,EAAC4B,UAAU,OAArB,SAEQ,cAAC,IAAD,CACIoP,UAAWnE,EAAO8E,IAAIX,UACtBD,SAAUlE,EAAO8E,IAAI1U,EAAMkV,aAC3BjB,uBAAwBjU,EAAMiU,sCAU1DK,EAAKxF,KAAK,CACNlF,KAAM,GACN+D,MAAO,GACPgH,UAAW,SAAC/E,GAAD,OACP,cAAC,IAAD,CACImE,UAAWnE,EAAO8E,IAAIX,UACtBD,SAAUlE,EAAO8E,IAAI1U,EAAMkV,aAC3BjB,uBAAwBjU,EAAMiU,4BAMlDhS,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL0P,QAASe,EAAK/K,KAAI,SAACgoB,GACf,OAAO,2BAAKA,GAAZ,IAAeg6F,UAAU,GAAD,OAAKh6F,EAAEg6F,UAAP,iCAGjC,CAACvrH,EAAMuT,UAEV,IAAM4tB,EAAYtlB,mBAAQ,WACtB,MAAO,CACHnb,OAAQV,EAAMU,OAASV,EAAMU,OAASV,EAAMmjB,OAAN,uBAA+BnjB,EAAMmjB,OAArC,OAAmD,sBACzFxV,MAAO3N,EAAM2N,OAAS,OACtBlJ,UAAWzE,EAAMgjB,aAAe,EAAI,EACpC3I,SAAU,MAGf,CAACra,EAAMU,OAAQV,EAAM2N,MAAO3N,EAAMgjB,eAc/Bq/I,EAAiB,WACnBpgK,GAAS,SAAC4B,GACN,IAAMg8B,EAAK,eAAQh8B,GACX6d,EAAqBme,EAArBne,KAAM0rI,EAAevtH,EAAfutH,WACVkV,EAAU,GAYd,OAXAA,EAAO,YAAO5gJ,GACV1hB,EAAMgjB,cAAgBoqI,EAAWviH,OAAO74B,OAAS,GACjDo7I,EACKviH,OACAiwD,MAAM,KACNvxF,KAAI,SAACg5J,GAAD,OAAOA,EAAE13H,OAAOvd,iBACpB1W,SAAQ,SAAClS,GACN49J,EAAUA,EAAQpkI,QAAO,SAACskI,GAAD,OAAQjlD,eAAKilD,GAAI,SAAC7H,GAAD,MAAQ,UAAGA,GAAKrtI,cAAc3V,SAASjT,YAG7Fm7B,EAAMwjF,aAAei/C,EACdziI,MAIfj8B,qBAAU,WACNy+J,MACD,CAAC5+J,EAAMie,OAGV,IAAM+gJ,EAAa5mJ,mBAAQ,WACvB,GAA2B,IAAvBomJ,EAAYjwJ,OAAc,OAAOvO,EAAM4/G,aAE3C,IAAMq/C,EAAgB,SAACC,GACnB,OAAO,SAACz+J,EAAGorB,GACP,OAAKprB,EAAEy+J,IAAe,KAAOrzI,EAAEqzI,IAAe,KAClC,GAEPz+J,EAAEy+J,IAAe,KAAOrzI,EAAEqzI,IAAe,IACnC,EAEJ,IAITF,EAAU,YAAOh/J,EAAM4/G,cAW7B,OAVAo/C,EAAW95E,MAAK,SAACzkF,EAAGorB,GAAO,IAAD,gBACH2yI,GADG,IACtB,2BAAgC,CAAC,IAAtBt5E,EAAqB,QAEtBi6E,EADaF,EAAc/5E,EAAKk6E,UAAWl6E,EAAKj8E,KACnCo2J,CAAW5+J,EAAGorB,GACjC,GAAmB,IAAfszI,EACA,MAA0B,QAAnBj6E,EAAKv2E,UAAsBwwJ,GAAcA,GALlC,8BAQtB,OAAO,KAEJH,IACR,CAACh/J,EAAMs+J,WAAYE,EAAax+J,EAAM4/G,eAYzCz/G,qBAAU,YATV,SAAwBghH,EAAKnjF,GACzB,IAAIshI,EAAQC,gBAAMp+C,EAAKnjF,GACvBx/B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBm+J,UAAWe,OAUtCE,CAFcR,GAAc,GACfh/J,EAAM4vI,YAAc,MAElC,CAACovB,EAAYh/J,EAAM4vI,aAEtB,IAAMpsE,EAAmBj5D,cAAnBi5D,eAENrjE,qBAAU,WACN,IAEoC,EAFhCs/J,EAAYT,EACZziK,EAAMkjB,WACFzf,EAAMu+J,UAAUhwJ,OAAS,GACrB,UAAAvO,EAAMu+J,UAAUv+J,EAAMs+J,WAAa,UAAnC,eAAuC/vJ,QAAS,EAChDkxJ,EAAYz/J,EAAMu+J,UAAUv+J,EAAMs+J,WAAa,IAE/CmB,EAAYz/J,EAAMu+J,UAAU,GAC5B//J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBk+J,WAAY,QAG3CmB,EAAY,IAGpBd,EAAYc,GAAa,MAC1B,CAACz/J,EAAMs+J,WAAYt+J,EAAMu+J,UAAWS,IAEvC,IASIU,EAAYnjK,EAAMsY,UAAYtY,EAAM4Y,gBAAkB5Y,EAAM+Y,oBAAsB/Y,EAAMgjB,aAE5F,OACI,sBAAKre,UAAWw+J,GAAax3J,EAAQ4O,cAArC,UACI,eAAC,IAAD,CAAM3X,WAAS,EAACC,QAAS,EAAzB,UACK7C,EAAMgjB,cACH,cAAC,IAAD,CAAMjgB,MAAI,EAACC,GAAI,GAAI+tB,GAAI,EAAG1e,GAAI,EAAG1N,UAAU,YAA3C,SACI,sBAAKA,UAAU,cAAf,UACI,cAAC,IAAD,CACIwoJ,eAAa,EACb56I,YAAY,SACZ9F,SAzHN,SAACX,GACnB,IAAM6uJ,EAAK7uJ,EAAEE,OAAO7J,MAChBnC,EAAMojK,cACNpjK,EAAMojK,aAAazI,GAEvB14J,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBupJ,WAAYuN,OACvCkH,GAAewB,aAAaxB,GAC5BA,EAAcxrJ,YAAW,WACrBgsJ,MACD,MAiHqBlgK,MAAOsB,EAAM2pJ,WACb7gJ,WAAW,EACX5H,UAAW3E,EAAMsjK,oBAAsB,KAE3C,6CACa7/J,EAAMie,KAAK1P,OAAX,UAAuBvO,EAAM4/G,aAAarxG,OAA1C,QACRvO,EAAMie,KAAK1P,gBAK1Bi1D,GACE,eAAC,IAAD,CACIrkE,WAAS,EACTG,MAAI,EACJC,GAAI,GACJguB,GAAI,EACJD,GAAI,EACJ1e,GAAI,EACJ1N,UAAU,eACV5D,WAAW,SACXC,MAAOmiK,GAAa,CAAE9kH,WAAY,EAAG2S,cAAe,IATxD,UAWKhxD,EAAMsY,UACH,cAAC,IAAD,CAAMvV,MAAI,EAAC4B,UAAU,YAArB,SACI,cAAC,IAAD,CAASvE,MAAOJ,EAAMsY,SAAU4B,OAAK,EAArC,SACI,cAAC,IAAD,CACI3B,KAAMC,IACNhM,MAAOxM,EAAMsY,SACb9W,QAASxB,EAAMyY,WACfzX,MAAO,CAAE0X,WAAY,OAAQ5Y,YAAa,aAKzDE,EAAM4Y,gBACH,cAAC,IAAD,CAAM7V,MAAI,EAAC4B,UAAU,YAArB,SACI,cAAC,IAAD,CAASvE,MAAOJ,EAAM4Y,eAAgBsB,OAAK,EAA3C,SACI,cAAC,IAAD,CACI3B,KAAMvY,EAAM6Y,eAAiBL,IAC7BhM,MAAOxM,EAAM4Y,eACbpX,QAASxB,EAAM8Y,iBACf9X,MAAO,CAAE0X,WAAY,cAKpC1Y,EAAM+Y,oBACH,cAAC,IAAD,CAAMhW,MAAI,EAAC4B,UAAU,YAArB,SACI,cAAC,IAAD,CAASvE,MAAOJ,EAAM+Y,mBAAoBmB,OAAK,EAA/C,SACI,cAAC,IAAD,CACI3B,KAAMvY,EAAMgZ,WACZxM,MAAOxM,EAAMujK,YACb/hK,QAASxB,EAAMiZ,cACfjY,MAAO,CAAE0X,WAAY,oBAQjD,cAAC,IAAD,CACInF,QAAS9P,EAAM8P,QACfmO,KAAMygJ,EACNqB,kBAAmB,kBArTT,SAACxjK,GACvB,OACI,qBAAK2E,UAAU,YAAf,SACK3E,EAAMijB,YACH,qBAAKjiB,MAAO,CAAEyZ,UAAW,SAAU9M,MAAO,OAAQlJ,UAAW,IAA7D,SACI,cAAC,IAAD,CAAkBvB,MAAM,cAG5B,qBAAKlC,MAAO,CAAEyZ,UAAW,SAAU9M,MAAO,OAAQlJ,UAAW,GAAIiU,WAAY,KAA7E,8BA6SyB+qJ,CAAkBzjK,IAC3CusH,UAAW9oH,EAAM8oH,UACjB6hC,gBAAiB3qJ,EAAM2qJ,gBACvBzpJ,UAAU,gBACV3D,MAAOmgC,EACPuiI,qBAAsB,CAClB1uJ,UAAU,EACVgqH,WAAW,GAEfijC,YAAaA,EACb0B,oBAAqBzB,EACrB0B,WAAY5jK,EAAM4jK,YAAc,OAEnC5jK,EAAMkjB,SACH,eAAC,IAAD,CAAMngB,MAAI,EAACC,GAAI,GAAIhC,MAAO,CAAEq9C,WAAY,OAAxC,yBACmB56C,EAAMu+J,UAAUhwJ,OAAS,EAAIvO,EAAMs+J,WAAa,IADnE,iCAGI,cAAC,IAAD,CACIr1J,KAAK,SACL+0B,KAAK,QACLt/B,MAAOsB,EAAM4vI,WACb5mI,SA3GD,SAACkG,GAChB,IAAMxQ,EAAUwQ,EAAM3G,OAAhB7J,MACFA,EAAQ,IAAMA,EAAQ,GACtBwQ,EAAMwX,iBAENloB,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBwvI,WAAYlxI,QAuG3B+uB,WAAY,CAAEC,IAAK,GAAI4oB,IAAK,IAC5B/4C,MAAO,CAAE2M,MAAO,UAEpB,cAAC,IAAD,CACIlB,SA7IC,SAACkG,EAAOxQ,GACzBF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBk+J,WAAY5/J,QA6IvBygE,MAAOn/D,EAAMu+J,UAAUhwJ,OACvB6xJ,iBAAe,EACfC,gBAAc,EACd3iF,KAAM19E,EAAMs+J,WACZ7+J,MAAM,YACNC,QAAQ,WACRnC,MAAO,CAAEsuD,MAAO,cAGxB,U,69CCnWVvkD,EAAYC,aAAW,SAACC,GAAD,MAAY,CACrC84J,SAAU,CACNjhK,QAAS,EACThD,YAAa,OAiCNkkK,EA7BK,SAAChkK,GACjB,IAAQmtJ,EAA2BntJ,EAA3BmtJ,cAAkBxsJ,EAA1B,YAAmCX,EAAnC,mBACI2L,EAAUZ,IACd,EAA8B/I,oBAAS,GAAvC,mBAAKiiK,EAAL,KAAeC,EAAf,KACMj9F,EAAmBj5D,cAAnBi5D,eACNkmF,IAAkBlmF,GAAiB,GAKnC,OACI,cAACk9F,EAAA,EAAD,yBACI1iI,KAAK,QACLt+B,QAAQ,WACRsL,SAAUw4D,GACNtmE,GAJR,IAKIgE,UAAS,UAAKgH,EAAQy4J,UAAb,YAA0BzjK,EAAKgE,WAAa,IACrD+H,KAAMu3J,EAAW,OAAS,WAC1BzlH,WAAY,CACRmV,aACI,cAACx5C,EAAA,EAAD,CAAYxV,UAAWgH,EAAQo4J,SAAU3pJ,aAAW,6BAA6B5Y,QAb3E,WAClB0iK,GAAY,SAACrgK,GAAD,OAASA,MAYkGqlF,KAAK,MAAhH,SACK+6E,EAAW,cAACI,EAAA,EAAD,IAAiB,cAACC,EAAA,EAAD,W,oBC7B/CC,EAAqB,SAAC,GAA0B,IAAxBvkK,EAAuB,EAAvBA,MAAOwkK,EAAgB,EAAhBA,UACzBrX,EAA2BntJ,EAA3BmtJ,cAAkBxsJ,EAA1B,YAAmCX,EAAnC,mBACMinE,EAAmBj5D,cAAnBi5D,eAEN,OADAkmF,IAAkBlmF,GAAiB,GAE/B,cAACw9F,EAAA,EAAD,aACIh2J,SAAUw4D,EACV/jE,MAAOshK,EAAY,UAAY,YAC/BtzI,WAAY,CAAE,aAAa,GAAb,OAAiBszI,EAAY,UAAY,YAAzC,eACV7jK,KAKV+jK,EAAiB,SAAC,GAAiC,IAA/B1kK,EAA8B,EAA9BA,MAAOwkK,EAAuB,EAAvBA,UAAWh4J,EAAY,EAAZA,MACxC,OAAO,cAACikB,EAAA,EAAD,CAAkBC,QAAS,cAAC,EAAD,CAAoB1wB,MAAOA,EAAOwkK,UAAWA,IAAeh4J,MAAOA,KAG5Fm4J,EAAkB,SAAC3kK,GAC5B,OAAO,cAAC,EAAD,CAAgBA,MAAOA,EAAOwkK,WAAW,EAAMh4J,MAAOxM,EAAMwM,OAAS,MAGnEo4J,EAAoBjhI,IAAMm3H,MAAK,SAAC96J,GACzC,OAAO,cAAC,EAAD,CAAgBA,MAAOA,EAAOwkK,WAAW,EAAOh4J,MAAOxM,EAAMwM,OAAS,Q,kBCQlEq4J,EA/BG,SAAC7kK,GACf,IAAQyS,EAA6CzS,EAA7CyS,KAAkB06I,GAA2BntJ,EAAvCsS,WAAuCtS,EAA3BmtJ,eAAkBxsJ,EAA5C,YAAqDX,EAArD,uCACMinE,EAAmBj5D,cAAnBi5D,eACNkmF,IAAkBlmF,GAAiB,GACnC,IACkC,EAD9B69F,EAAoB,GACpB79F,GAAkBtmE,EAAKwB,QACvB2iK,EAAiB,UAAGryJ,EAAKe,MAAK,SAACgqB,GAAD,OAAOA,EAAEn8B,KAAOV,EAAKwB,gBAAlC,aAAG,EAAuCyH,MAE/D,IAAIk9E,EAAcnmF,EAAKmmF,YAIvB,YAHoBxiF,IAAhBwiF,IACAA,GAAc,GAEX7f,EACH,cAAC,IAAD,2BAAetmE,GAAf,IAAqBwB,MAAO2iK,KAE5B,eAACX,EAAA,EAAD,yBAAWY,QAAM,EAACtjI,KAAK,QAAQt+B,QAAQ,YAAexC,GAAtD,IAA4DyC,WAAS,EAArE,UACK0jF,GACG,cAAC4tE,EAAA,EAAD,CAAUvyJ,MAAM,GAAhB,SACI,wCAGPsQ,EAAKT,OAAS,GACXS,EAAKlJ,KAAI,SAACgkG,GAAD,OACL,cAACmnD,EAAA,EAAD,CAA0BvyJ,MAAOorG,EAAOlsG,IAAM,GAA9C,SACKksG,EAAO3jG,MADG2jG,EAAOlsG,Y,oCCU3B2jK,EAlCK,SAAChlK,GACjB,OACI,cAACilK,EAAA,EAAD,CAAaC,UAAU,KAAK9qJ,aAAW,aAAvC,SACKpa,EAAMob,OACDpb,EAAMob,OAAO7R,KAAI,SAACkzB,EAAOiB,GACrB,OACI,8BACKjB,EAAMnhB,OACHmhB,EAAMj7B,QACF,cAAC2L,EAAA,EAAD,CACIjK,MAAM,YACNlC,MAAO,CAAEqZ,SAAS,GAAD,OAAKra,EAAM0Y,WAAa1Y,EAAM0Y,WAAa,QAAUtX,OAAQ,WAC9EI,QAASi7B,EAAMj7B,QAHnB,SAKKi7B,EAAM7yB,OAGX,cAACuD,EAAA,EAAD,CAAYjK,MAAM,YAAYlC,MAAO,CAAEqZ,SAAS,GAAD,OAAKra,EAAM0Y,WAAa1Y,EAAM0Y,WAAa,QAAUtX,OAAQ,WAA5G,SACKq7B,EAAM7yB,OAIf,cAAC,IAAD,CAAM6yD,GAAIhgC,EAAMphB,KAAMra,MAAO,CAAE07D,eAAgB,OAAQriD,SAAS,GAAD,OAAKra,EAAM0Y,WAAa1Y,EAAM0Y,WAAa,SAA1G,SACK+jB,EAAM7yB,QAjBT8zB,MAuBlB,Q,6CC7BZynI,G,OAAW,CACbp1I,UAAW,6BACXq1I,SAAU,CAAExtJ,SAAU,UAGpBytJ,EAAmB,SAACC,EAAWhhH,GACjC,IAAMjjD,EAAKikK,GAAa,YACxB,MAAO,CACHC,MAAM,GAAD,OAAKlkK,EAAL,YAAWijD,GAChBkhH,QAAQ,GAAD,OAAKnkK,EAAL,qBAAoBijD,KAInC,SAASmhH,EAASzlK,GACd,IAAQK,EAAiDL,EAAjDK,SAAUqlK,EAAuC1lK,EAAvC0lK,iBAAkBphH,EAAqBtkD,EAArBskD,MAAOghH,EAActlK,EAAdslK,UAC3C,EAAyBD,EAAiBC,EAAWhhH,GAA/CihH,EAAN,EAAMA,MAAOC,EAAb,EAAaA,QACb,OACI,qBAAKlmC,KAAK,WAAWiO,OAAQm4B,IAAqBphH,EAAOjjD,GAAImkK,EAAS5kK,kBAAiB2kK,EAAvF,SACKG,IAAqBphH,GAAS,cAAC++C,EAAA,EAAD,CAAKp1C,EAAG,EAAR,SAAY5tD,MAKxC,SAASslK,EAAa3lK,GACjC,MAA0B2jC,IAAM3hC,SAAS,CACrC65F,mBAAev3F,EACf+2F,QAAS,KAFb,mBAAO53F,EAAP,KAAcxB,EAAd,KAIA2B,qBAAU,WACN3B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBg4F,cAAe77F,EAAM67F,qBACjD,CAAC77F,EAAM67F,cAAe77F,EAAMi7F,iBAC/Br3F,qBAAU,WACF5D,EAAMq7F,SACNp5F,GAAS,SAAC4B,GACN,IAAMmoH,EAAG,eAAQnoH,GAWjB,OAVAmoH,EAAI3wB,QAAJ,YAAkBr7F,EAAMq7F,cACE/2F,IAAtB0nH,EAAInwB,cACAmwB,EAAInwB,eAAiBmwB,EAAI3wB,QAAQrpF,SACjCg6G,EAAInwB,cAAgBmwB,EAAI3wB,QAAU,GAE/B2wB,EAAI3wB,QAAQrpF,OACnBg6G,EAAInwB,cAAgB,EAEpBmwB,EAAInwB,mBAAgBv3F,EAEjB0nH,OAGhB,CAAChsH,EAAMq7F,QAAS53F,EAAMo4F,gBAMzB,OACI,sBAAKx6F,GAAIrB,EAAMqB,GAAIsD,UAAU,gBAA7B,UACI,cAACihK,EAAA,EAAD,CACIjhK,UAAU,MACVkhK,eAAe,UACf5nF,UAAU,UACV96E,QAAQ,aACR2iK,cAAc,OACd1rJ,aAAW,+BACXjY,MAAOsB,EAAMo4F,cACbpvF,SAdS,SAACkG,EAAOozJ,GACzB9jK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBg4F,cAAekqE,QAKtC,SAWKtiK,EAAM43F,QAAQ9xF,KAAI,SAACgoB,EAAGmM,GACnB,MAAyB2nI,EAAiBrlK,EAAMqB,GAAIq8B,GAA9C6nI,EAAN,EAAMA,MAAOC,EAAb,EAAaA,QACb,OAAO,cAACQ,EAAA,EAAD,CAAax5J,MAAO+kB,EAAE/kB,MAAOnL,GAAIkkK,EAAOU,gBAAeT,EAASxkK,MAAOmkK,EAASC,UAAtE1nI,QAGxBj6B,EAAM43F,QAAQ9xF,KAAI,SAACgoB,EAAGmM,GACnB,OACI,cAAC+nI,EAAD,CAAkBC,iBAAkBjiK,EAAMo4F,cAAev3C,MAAO5mB,EAAG4nI,UAAWtlK,EAAMqB,GAApF,SACKkwB,EAAE0lC,MADQv5B,S,6DCvE7B3yB,EAAYC,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFyC,MAAO,OACPoiB,UAAW,SAAC/vB,GAAD,gCAA8BA,EAAMkD,MAAQ,WAAa,cACpE89B,OAAQ,SAAChhC,GAAD,0BAAwBA,EAAMkD,MAAQ+H,EAAM6rD,QAAQ92D,EAAMkD,OAAOgjK,KAAO,cAChFx2I,aAAc,EACdgT,aAAc,GACdjiC,SAAU,SAEV,YAAa,CACT0hC,gBAAiB,gBAIzBX,QAAS,CACLn+B,WAAY,SAACrD,GAAD,OAAYA,EAAMkD,MAAQ+H,EAAM6rD,QAAQ92D,EAAMkD,OAAOgjK,KAAO,IACxEhjK,MAAO,SAAClD,GAAD,OAAYA,EAAMkD,MAAQ+H,EAAM6rD,QAAQ92D,EAAMkD,OAAOijK,aAAe,IAC3E9rJ,SAAUpP,EAAMypE,WAAW0xF,QAAQ,IACnC1tJ,WAAYzN,EAAMypE,WAAW8lE,kBAC7B/iF,aAAc,SAACz3D,GAAD,0BAAwBA,EAAMkD,MAAQ+H,EAAM6rD,QAAQ92D,EAAMkD,OAAOgjK,KAAO,cAEtF,2BAA4B,CACxBhjK,MAAO,gBAKbmjK,EAAqB,SAACrmK,GACxB,IAAM2L,EAAUZ,EAAU/K,GAC1B,EAA4BgC,mBAAS,CAAEnB,MAAM,IAA7C,mBAAOylK,EAAP,KAAeC,EAAf,KACA3iK,qBAAU,WACN2iK,GAAU,SAAC1iK,GAAD,mBAAC,eAAaA,GAAd,IAAkBhD,KAAMb,EAAMw3G,cACzC,CAACx3G,EAAMw3G,OAAQx3G,EAAMu3G,YAIxB,OACI,eAACivD,EAAA,EAAD,CAAW7hK,UAAWgH,EAAQT,KAAyBwvI,SAAU4rB,EAAOzlK,KAAM4L,SAJ7D,SAACkG,EAAO8zJ,GACzBF,GAAU,SAAC1iK,GAAD,mBAAC,eAAaA,GAAd,IAAkBhD,KAAM4lK,QAGlC,UACI,cAACC,EAAA,EAAD,CAAkBC,WAAY,cAAC,IAAD,IAAoBV,gBAAc,kBAAkBthK,UAAWgH,EAAQ61B,QAArG,SACKxhC,EAAMm6C,SAEX,cAACysH,EAAA,EAAD,CAAkBjiK,UAAWgH,EAAQsrD,KAArC,SAA4Cj3D,EAAMo6C,eAAiBp6C,EAAMK,aAJpCL,EAAM6mK,SASvDR,EAAmBS,aAAe,CAC9BtvD,QAAQ,GAGG6uD,QCvDFU,EAAa,SAAC/mK,GACzB,OAAO,cAAC,IAAD,aAAWqB,GAAG,OAAOqL,KAAK,QAAW1M,K,mBCiC/BgnK,I,OA/BM,SAAChnK,GAAW,IAAD,EACpBmtJ,EAA+DntJ,EAA/DmtJ,cAAerzG,EAAgD95C,EAAhD85C,WAAYxnC,EAAoCtS,EAApCsS,WAAYyzG,EAAwB/lH,EAAxB+lH,WAAeplH,EAA9D,YAAuEX,EAAvE,0DACMinE,EAAmBj5D,cAAnBi5D,eAGN,OAFAkmF,IAAkBlmF,GAAiB,GAE5BntB,EACH,sBAAKn1C,UAAU,cAAf,UACI,cAACR,EAAA,EAAD,CAAYC,QAAM,EAACO,UAAU,cAA7B,SACK2N,IAEL,qBAAK3N,UAAU,cAAf,SAA8B3E,EAAMmC,MAAN,UAAcnC,EAAMmC,aAApB,aAAc,EAAayH,KAAO,WAGpE,qCACK0I,GACG,cAACnO,EAAA,EAAD,CAAYqO,SAAUuzG,IAAc,EAAO3hH,QAAM,EAAjD,SACKkO,IAGT,cAAC,IAAD,aACItR,MAAO,CAAEyD,WAAY,GACrBgK,SAAUw4D,EACVggG,YAAU,EACVrgC,SAAU5mI,EAAM4mI,SAChBsgC,eAAgB,SAAC35D,GAAD,MAA+B,kBAAXA,EAAsBA,EAASA,EAAO3jG,MAC1Eu9J,YAAa,SAACv3J,GAAD,OAAY,cAACu0J,EAAA,EAAD,yBAAWh5J,OAAO,QAAQ/H,WAAS,GAAKwM,GAAxC,IAAgDzM,QAAQ,WAAWoP,YAAa5R,EAAK4R,iBAC1G5R,S,yCCxBFqK,aAAW,SAACC,GAAD,MAAY,CACrCC,KAAM,CACFmkF,UAAW,kBACXluF,SAAU,GAEdimK,eAAgB,CACZnmK,SAAU,WACVwD,UAAWwG,EAAMpI,QAAQ,IAG7BwkK,UAAW,CACPpmK,SAAU,WAEV,+BAAgC,CAC5B8Y,OAAQ9O,EAAMpI,QAAQ,GACtB3B,MAAO+J,EAAMpI,QAAQ,IAEzB,gCAAiC,CAC7BgtB,IAAK5kB,EAAMpI,QAAQ,GACnBmX,KAAM/O,EAAMpI,QAAQ,S,6GCxBnBykK,GAAkB,yCAAG,WAAOv7J,GAAP,gBAAA7H,EAAA,sEACd6B,aAAY,WAAD,OAAYgG,IADT,cAC1BrG,EAD0B,yBAEvBA,GAFuB,2CAAH,sD,oDCQzBqF,GAAYC,aAAW,SAACC,GAAD,YAAY,CACrCs8J,GAAI,CACAzkK,QAAS,GAEb0kK,YAAa,CACTrlI,gBAAiB,WAErBylD,cAAY,GACRj6E,MAAO,QACPoiB,UAAW,0BACXoS,gBAAiBl3B,EAAM6rD,QAAQzzD,WAAWi/D,MAC1CrhE,SAAU,WACVR,SAAU,OACVuvB,UAAW,IACX/V,OAAQ,GACRvZ,OAAQ,QARA,0BASE,QATF,eAUR,uBAAwB,CACpBiN,MAAO,UAXH,eAaR,6BAA8B,CAC1BoiB,UAAW,iCACX83D,gBAAiB,mCAfb,eAiBR,6BAA8B,CAC1B1lD,gBAAiB,UACjBuoB,QAAS,EACTo9B,QAAS,wBApBL,OAyBH2/E,GAAW,SAACznK,GACrB,IAAM2L,EAAUZ,KAChB,EAAwB/I,oBAAS,GAAjC,mBAAOgxB,EAAP,KAAa6jE,EAAb,KACQjtF,EAA0C5J,EAA1C4J,KAAMzH,EAAoCnC,EAApCmC,MAAOsK,EAA6BzM,EAA7ByM,SAAUmE,EAAmB5Q,EAAnB4Q,OAAQud,EAAWnuB,EAAXmuB,OACvC,EAAwCnsB,mBAAS,IAAjD,mBAAO0lK,EAAP,KAAqBC,EAArB,KACA,EAAwB3lK,mBAAS,MAAjC,mBAAOu4F,EAAP,KAAaqtE,EAAb,KACA,EAA4B5lK,oBAAS,GAArC,mBAAOse,EAAP,KAAeunJ,EAAf,KAEAjkK,oBAAS,wBAAC,uBAAAM,EAAA,sDACFq2F,GACAutE,IAFE,2CAIP,CAACvtE,IAEJ,IAAMutE,EAAa,yCAAG,+BAAA5jK,EAAA,6DACd6jK,EADc,OACHxtE,QADG,IACHA,OADG,EACHA,EAAMz4D,QAAQ,MAAO,IADlB,SAEFwlI,GAAmBS,GAFjB,QAEdriK,EAFc,QAGVoE,SACJ69J,EAAgBjiK,EAAIW,MACpBwhK,GAAU,KAEVF,EAAgB,IAChBE,GAAU,IARI,2CAAH,qDAiCnB,OACI,eAAC,KAAD,CAAM9kK,MAAI,EAACC,GAAI,GAAf,UACI,cAACqnB,GAAA,EAAD,aACI/X,WAAW,YACXC,YAAY,YACZpQ,MAAOA,EACPsK,SAAUA,EACV7C,KAAMA,EACNgH,OAAQA,EACRud,OAAQA,EACR7hB,aAAa,MACbkyC,WAAY,CACRmV,aAAc3zD,EAAMmC,OAChB,cAACyxD,GAAA,EAAD,CAAgB3yD,SAAS,MAAzB,SACI,cAACoD,GAAA,EAAD,CAASjE,MAAM,iBAAiB8Z,OAAK,EAArC,SACI,cAAC,KAAD,CAAUlZ,MAAO,CAAEI,OAAQ,WAAaI,QAvBnD,WACbmmK,EAAgB,IAChBC,EAAQ5nK,EAAMmC,OACd00F,GAAQ,GACRgxE,GAAU,GACVC,aAuBY9nK,IAEPgzB,EACG,qBAAKhyB,MAAO,CAAE2M,MAAO,QAArB,SACI,eAAC,KAAD,CAAMhJ,UAAWgH,EAAQi8E,aAAzB,UACI,qBAAKzkF,QAAQ,YAAYnC,MAAO,CAAEC,SAAU,SAAU4uB,IAAK,EAAGy/B,MAAO,QAASpuD,MAAO,EAAGE,OAAQ,WAAaI,QArChH,WACbq1F,GAAQ,IAoCQ,SACI,cAAC,KAAD,MAEHv2E,EACG,oBACItf,MAAO,CACHswD,aAAc,IAFtB,SAKI,cAACqvE,GAAA,EAAD,UACI,cAACC,GAAA,EAAD,UACI,qBACI5/H,MAAO,CACHF,QAAS,OACTuxB,cAAe,SACfC,eAAgB,UAJxB,SAOI,cAACC,GAAA,EAAD,CAAkBvxB,MAAO,CAAE2U,WAAY,OAAQ7V,YAAa,OAAQsB,OAAQ,kBAMpE,IAAxBsmK,EAAa11J,QACT,oBACIhR,MAAO,CACHswD,aAAc,IAFtB,SAKI,cAACqvE,GAAA,EAAD,UACI,cAACC,GAAA,EAAD,UACI,qBACI5/H,MAAO,CACHF,QAAS,OACTuxB,cAAe,SACfC,eAAgB,UAJxB,SAOI,qBAAKtxB,MAAO,CAAE2U,WAAY,OAAQ7V,YAAa,OAAQoD,MAAO,UAAW9B,OAAQ,WAAjF,sCASC,IAAxBsmK,EAAa11J,QACV,oBAAIrN,UAAWgH,EAAQ47J,GAAvB,SACKG,EAAan+J,KAAI,SAACxG,EAAMuhD,GAAP,OACd,cAACq8E,GAAA,EAAD,CACI3/H,MAAO,CACHF,QAAS,QACTgC,QAAS,EACT1B,OAAQ,UACRuM,MAAO,QAGXnM,QAAS,YAzG9B,SAACmrB,GACZ,IACIxqB,EADS,YAAOulK,GACEl0J,MAAK,SAAC+d,GACxB,OAAOA,EAAElD,eAAiB1B,KAE9BwB,EAAOhsB,GACP00F,GAAS7jE,GAoG2Bg1I,CAAOjlK,EAAKsrB,eATpB,SAYI,eAACuyG,GAAA,EAAD,WACK79H,EAAKsrB,aADV,SACgCtrB,EAAKwrB,SANhC+1B,aAc7B,S,gCC/HD2jH,I,OAtDQ,SAACjoK,GACpB,IASM2L,EATYX,aAAW,SAACC,GAAD,MAAY,CACrCi9J,aAAc,CACV,4CAA6C,CACzChlK,MAAO,SAAClD,GAAD,gBAAcA,EAAMuhC,YAAc,UACzCY,gBAAiB,SAACniC,GAAD,gBAAcA,EAAM+gC,kBAAoB,iBAKrDh2B,CAAU/K,EAAMye,QAAQjL,MAAK,SAAC+d,GAAD,OAAOA,EAAEvxB,EAAMu2E,sBAAwBv2E,EAAMmC,UAEpFgmK,EAAa,SAACC,GAChB,OAAOA,EAAI7+J,KAAI,SAAC2+I,GACZ,MAAO,CACH7mJ,GAAG,GAAD,OAAK6mJ,EAAGloJ,EAAMu2E,mBAAqB,OACrC3sE,KAAK,GAAD,OAAKs+I,EAAGloJ,EAAMw2E,kBAAoB,cAKlD,EAA0Bx0E,mBAAS,CAC/BG,MAAM,GAAD,OAAKnC,EAAMmC,OAChBsc,QAAS0pJ,EAAWnoK,EAAMye,UAAY,KAF1C,mBAAOhb,EAAP,KAAcxB,EAAd,KAKA2B,qBAAU,WACN3B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB1B,MAAOnC,EAAMmC,aACzC,CAACnC,EAAMmC,QAEVyB,qBAAU,WACN5D,EAAMye,SAAWxc,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4a,QAAS0pJ,EAAWnoK,EAAMye,gBACvE,CAACze,EAAMye,UASV,OACI,sBAAMzd,MAAO,CAAEF,QAAS,QAAU6D,UAAS,wBAAmBgH,EAAQu8J,cAAtE,SACI,cAACG,GAAA,EAAD,CAAmB55J,SAAUzO,EAAMyO,SAAU9J,UAAU,qBAAqB88B,KAAK,QAAQt/B,MAAOsB,EAAMtB,MAAOsK,SAThG,SAACX,EAAGC,GAChB/L,EAAMyO,WACPxM,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB1B,MAAO4J,OAClC/L,EAAMyM,UAAYzM,EAAMyM,SAAN,gBAAkBzM,EAAM4J,KAAOmC,MAMoFu8J,WAAS,EAA9I,SACK7kK,EAAMgb,QAAQlV,KAAI,SAAC2+I,EAAIxqH,GAAL,OACf,cAAC6qI,GAAA,EAAD,CAAsBpmK,MAAO+lJ,EAAG7mJ,GAAIL,MAAO,CAAE2M,MAAO3N,EAAM2N,MAAQ3N,EAAM2N,MAAQ,QAAhF,SACKu6I,EAAGt+I,MADW8zB,Y,2EC7CvC,SAAS39B,GAAeC,GACpB,OACI,cAAC,KAAD,CAAWC,OAAO,0BAA0BC,OAAQ,mCAApD,SACI,cAAC66B,GAAA,EAAD,eAAW/6B,MAIvB,IAgBewoK,GAhBiB,SAAC,GAA0G,IAAxGpoK,EAAuG,EAAvGA,MAAOC,EAAgG,EAAhGA,SAAUC,EAAsF,EAAtFA,OAAQC,EAA8E,EAA9EA,QAA8E,IAArEC,gBAAqE,MAA1D,KAA0D,MAApDC,gBAAoD,MAAzC,SAAyC,MAA/BC,cAA+B,MAAtB,OAAsB,EAAXC,EAAW,sFACtI,OACI,mCACI,eAAC4B,GAAA,EAAD,yBAAQhC,QAASA,EAASR,eAAgBA,GAAgBa,kBAAgB,yBAAyBC,MAAM,EAAML,SAAUA,GAAcG,GAAvI,cACKP,GACG,cAACqC,GAAA,EAAD,CAAazB,MAAO,CAAEI,OAAQ,QAAUC,GAAG,yBAA3C,SACKjB,IAGT,cAACqoK,GAAA,EAAD,CAAeznK,MAAO,CAAEP,SAAUA,EAAUC,OAAQA,GAApD,SAA+DL,IAC9DC,GAAU,cAACoC,GAAA,EAAD,UAAgBpC,Y,qGCpB9BooK,EAAkB,uCAAG,4BAAAxkK,EAAA,sEAChB6B,YAAY,qBADI,cAC5BL,EAD4B,yBAEzBA,GAFyB,2CAAH,sD,8JCKhB,SAASijK,EAAa3oK,GACjC,MAA0B2jC,IAAM3hC,SAAS,CAAE43C,YAAa,EAAGE,YAAY,IAAvE,mBAAOr2C,EAAP,KAAcxB,EAAd,KAEA2B,oBAAS,sBAAC,sBAAAM,EAAA,sDACNjC,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+1C,YAAa55C,EAAM45C,YACnBE,WAAY95C,EAAM85C,gBAJhB,2CAMP,CAAC95C,EAAM45C,cAWV,OACI,cAAC,IAAD,CAAMh3C,WAAS,EAAC7B,WAAW,SAA3B,SACI,eAAC,IAAD,CAAMgC,MAAI,EAAV,UACK/C,EAAMI,OAAS,cAAC,IAAD,CAAYgE,QAAM,EAAlB,SAAoBpE,EAAMI,QAC1C,cAAC,IAAD,CAAQwJ,KAAM5J,EAAM4J,KAAMzH,MAAOsB,EAAMm2C,YAAanrC,SAAUhL,EAAMq2C,WAAYrtC,SAbxE,SAACkG,EAAOozJ,GACxB9jK,EAAS8jK,GACT9jK,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAEL+1C,YAAamsH,OAEjB/lK,EAAM25C,eAAehnC,EAAM3G,OAAOpC,KAAMm8J,a,iCCxBjC,8nE,iCCAA,8oE,iCCAA,0tE,gCCAf,0PAEM6C,EAA0B75J,OAAO85J,MAAjCD,sBAEKE,EAAe,SAACC,GAAD,OAAWA,EAAOh8J,cAAIgC,OAAO85J,MAAOE,GAAQh6J,OAAO85J,OAElEpQ,EAAmB,WAE1B,OADS1pJ,OAAOC,SAAS2pJ,KAAK79D,MAAM,KAAKp/D,OAAO,IAIzCxvB,EAAmB,SAACrC,GAC3B,OAAO++J,EAAsB32J,KAAKpI,IAG3BsnH,EAAmB,SAAC1iG,GAI3B,MADI,8KACWxc,KAAKwc,IAGbhB,EAAkC,SAACF,EAAakB,GAKvD,MAJqB,CACjBu6I,GAAI,8KACJC,GAAI,mDAEY17I,GAAatb,KAAKwc,IAG/Bd,EAAkB,SAACA,GAC1B,IAAMu7I,EACF,4JAEJ,IAAKv7I,GAAsC,MAAnBA,EACpB,OAAO,EAEX,GAAIA,EAAgBhW,SAAS,KAAM,CAC/B,IAAIwxJ,GAAiB,EAKrB,OAJAx7I,EAAgBmtE,MAAM,KAAKvxF,KAAI,SAACmB,GACvBw+J,EAAQj3J,KAAKvH,KACdy+J,GAAiB,MAElBA,EAEP,OAAOD,EAAQj3J,KAAK0b,IAIjBg+G,EAAwB,SAACh+G,GAGhC,MADI,4JACW1b,KAAK0b,K,8EC1BTy7I,IAvBK,SAACppK,GACjB,IAAMinE,EAAmBj5D,cAAnBi5D,eAGN,OAFAjnE,EAAMmtJ,gBAAkBlmF,GAAiB,GAGrC,cAAC,IAAD,yBACIx4D,SAAUw4D,GACNjnE,GAFR,IAGIm+D,UAAQ,EACR+oG,eAAgB,SAAC35D,GAAD,OAAYA,EAAO3jG,MACnCy/J,kBAAmB,SAAC97D,EAAQprG,GAAT,OAAmBorG,EAAO3jG,OAASzH,EAAMyH,MAC5Du9J,YAAa,SAACv3J,GAAD,OACT,cAAC,IAAD,yBACIzE,OAAO,QACP/H,WAAS,GACLwM,GAHR,IAIIzM,QAAQ,WACRoP,YAAavS,EAAMuS,qB,6YCLjC+2J,EAAe,CACjB,CACIl7J,IAAK,WACLxE,KAAM,QAEV,CACIwE,IAAK,UACLxE,KAAM,OACN+D,MAAO,IAEX,CACIS,IAAK,WACLxE,KAAM,OACN+D,MAAO,IAEX,CACIS,IAAK,gBACLxE,KAAM,YACN+D,MAAO,KAEX,CACIS,IAAK,aACLxE,KAAM,cACN+D,MAAO,KAEX,CACIS,IAAK,aACLxE,KAAM,cACN+D,MAAO,IACPgH,UAAW3E,IAAW62C,sBA2Nf0iH,EAvNO,SAAC,GAAwH,IAAtHz1J,EAAqH,EAArHA,SAAUE,EAA2G,EAA3GA,WAAsBJ,EAAqF,EAA/FnS,SAA4BoS,EAAmE,EAAjF7F,aAAmB4H,EAA8D,EAA9DA,WAAYrV,EAAkD,EAAlDA,QAASsV,EAAyC,EAAzCA,uBAAuBC,EAAkB,EAAlBA,YACpH+a,EAAkB9sB,IAAW+sB,gBAC7B04I,EAAe,CACfC,kBAAiB,OAAE54I,QAAF,IAAEA,OAAF,EAAEA,EAAiB+oG,2BACpCh5C,UAAS,OAAE/vD,QAAF,IAAEA,OAAF,EAAEA,EAAiBwwD,sBAC5BtuD,eAAc,OAAElC,QAAF,IAAEA,OAAF,EAAEA,EAAiB64I,4BAGjCC,EAAiB,SAACrrI,GAClB,OAAI,CAAC,oBAAqB,YAAa,kBAAkB3mB,SAAS2mB,IACvDkrI,EAAa,GAAD,OAAIlrI,KAK3BsrI,EAAcnoK,cACdooK,EAAkB77J,cACtB,EAA2C4F,GAAMg2J,EAA3Cr+J,EAAN,EAAMA,iBAAkBD,EAAxB,EAAwBA,eAElB27D,GAAmBpzD,GAAOg2J,GAA1B5iG,eACN,EAA0BjlE,mBAAS,CAC/BsjG,SAAU,GACVC,kBAAcjhG,EACdwlK,SAAS,EACTtkE,WAAW,EACXukE,QAAQ,EACRC,UAAU,EACVC,kBAAc3lK,EACd4lK,aAAc,GACdr0J,uBAAwBA,IAA0B,IATtD,mBAAOpS,EAAP,KAAcxB,EAAd,KAWMkoK,EAAW,SAACj0J,GACd6qJ,YAAkB/F,YAAoBhnJ,GAAaF,EAASgC,GAAas/H,MAAK,SAAC1vI,GACvEA,EAAIoE,UACJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBimK,SAAS,EAAOI,aAAcxkK,EAAIW,UAC7D6P,GAAYN,GAAcA,SAItChS,qBAAU,WACNumK,MACD,IAEH,IAOMC,EAAkB,uCAAG,8BAAAlmK,EAAA,0DACnBT,EAAM6hG,WAAY7hG,EAAM8hG,aADL,uBAEnBtjG,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2hG,WAAW,QAChCrzF,EAAW,IAAIorC,UACZkoD,OAAOhiG,EAAM6hG,SAAU7hG,EAAM8hG,cAJnB,SAKH07D,YAA8BjG,YAAoBhnJ,GAAaF,EAAU3B,EAAS2D,GAL/E,QAKfpQ,EALe,QAMXoE,SACJyB,EAAiB7F,EAAIyG,SACrBlK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2hG,WAAW,EAAOF,SAAU,GAAIC,kBAAcjhG,QACxEb,EAAMoS,wBAA0Bs0J,GAAS,GAC1C1mK,EAAMoS,wBAA0BtV,GAAQ,KAExC+K,EAAe5F,EAAIyG,SACnBlK,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB2hG,WAAW,QAbvB,2CAAH,qDAkBlB6kE,EAAoB,SAAC31J,GAAD,OAAS,SAAC5I,GAChCA,EAAEutC,kBACFp3C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELmmK,UAAU,EACVC,aAAc,CACVK,aAAc51J,EAAI61J,eAClBjlE,SAAU5wF,EAAI81J,iBAiBpBC,EAAY,SAAC/9J,GAAD,OAAU,WACxBzK,GAAS,SAAC4B,GAAD,yBAAC,eAAaA,GAAd,uBAAmB6I,GAAO,GAA1B,kCAA+CpI,GAA/C,SAGPomK,EAAgB,SAAC96J,GACnB,OACI,gCACK+5J,EAAe,GAAD,OAAI31J,IAAgB,cAAC,IAAD,CAAkBuE,KAAMoyJ,IAAMpsH,aAAc,GAAI/8C,SAnB7EkT,EAmB+F9E,EAAO8E,IAnB9F,SAAC5I,GACvBA,EAAEutC,kBACFp3C,GAAS,SAAC4B,GAAD,mBAAC,eACHA,GADE,IAELkmK,QAAQ,EACRE,aAAc,CACVK,aAAc51J,EAAI61J,eAClBjlE,SAAU5wF,EAAI81J,mBAYyG,IACvG,OAAf35I,QAAe,IAAfA,OAAA,EAAAA,EAAiB+5I,qBAAsB,cAAC,IAAD,CAAkBryJ,KAAMsyJ,IAAQtsH,aAAc,GAAI/8C,QAAS6oK,EAAkBz6J,EAAO8E,UApBvH,IAACA,GA8BZo2J,EAAkB,uCAAG,4BAAA5mK,EAAA,sEACPg9J,YAAWlG,YAAoBhnJ,GAAaF,EAAUrQ,EAAMwmK,aAAaK,aAAc7mK,EAAMwmK,aAAa3kE,SAASxvF,GAD5G,QACnBpQ,EADmB,QAEfoE,SAEJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBkmK,QAAQ,EAAOE,kBAAc3lK,OACxD6lK,GAAS,IAET7+J,EAAe5F,EAAIyG,SAPA,2CAAH,qDAWlB4+J,EAAa,uCAAG,4BAAA7mK,EAAA,sEACFm9J,YAAmBrG,YAAoBhnJ,GAAaF,EAAUrQ,EAAMwmK,aAAaK,cAD/E,QACd5kK,EADc,QAEVoE,SAEJ7H,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBmmK,UAAU,EAAOC,kBAAc3lK,OAC1D6lK,GAAS,IAET7+J,EAAe5F,EAAIyG,SAPL,2CAAH,qDAoBb6+J,GAAcnvJ,mBAAQ,WACxB,IAAMvH,EAAI,UAAOg1J,GACZriG,GACD3yD,EAAKxF,KAAK,CACNlF,KAAM,GACN+D,MAAO,GACPgH,UAAW+1J,IAGnB,IAAMO,EAAK32J,EAAKd,MAAK,SAACC,GAAD,MAAiB,aAAVA,EAAErF,OAU9B,OATI68J,IACAA,EAAGt2J,UAAY,SAAC/E,GACZ,OACI,mBAAG4hF,KAAK,eAAehwF,SAtBjBkT,EAsBuC9E,EAAO8E,IAtB/C,uCAAS,WAAO5I,GAAP,SAAA5H,EAAA,sEACNo9J,YAAqBtG,YAAoBhnJ,GAAaF,EAAUY,EAAI61J,eAAhD,UAAmE71J,EAAI81J,UAAvE,OAAkF91J,EAAIw2J,SAAUp1J,GAD9G,cAGtBq0J,GAAS,GAET7+J,EAAe,8CALO,2CAAT,uDAsBL,SACKsE,EAAO8E,IAAI81J,WAvBX,IAAC91J,IA4BXJ,IACR,CAAC2yD,IAEJ,OACI,sBAAKjmE,MAAO,CAAE2M,MAAO,QAArB,WACMs5D,GACE,eAACtkE,EAAA,EAAD,CAAMC,WAAS,EAACC,QAAS,EAAzB,UACI,cAACF,EAAA,EAAD,CAAMI,MAAI,EAACC,GAAI,EAAf,SACI,cAAC,IAAD,CAAWyL,UAAQ,EAACtM,MAAOsB,EAAM6hG,UAAY,mBAAoB94F,MAAM,qBAE3E,cAAC7J,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,eAACE,EAAA,EAAD,CAAQC,MAAM,YAAYC,QAAQ,YAAYgM,UAAU,QAAQV,UAAWk7J,EAAe,GAAD,OAAI31J,IAA7F,wBAEI,uBACItH,KAAK,OACL1L,MAAO,CAAEF,QAAS,QAClB2L,SArIP,SAACX,GAClB,IAAQmH,EAAUnH,EAAEE,OAAZiH,MACJA,EAAMjB,QACN/P,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkByhG,SAAUryF,EAAM,GAAGrJ,KAAM27F,aAActyF,EAAM,SAmIpDC,OAAO,8HAInB,cAACvQ,EAAA,EAAD,CAAMI,MAAI,EAAV,SACI,cAACE,EAAA,EAAD,CAAQwL,UAAWhL,EAAM8hG,cAAgB9hG,EAAM+hG,UAAWhkG,QAAS4oK,EAAoBlnK,MAAM,YAAYC,QAAQ,WAAjH,SACKM,EAAM+hG,UAAY,cAACjzE,EAAA,EAAD,CAAkBkP,KAAM,GAAIv+B,MAAM,cAAiB,cAACioK,EAAA,EAAD,WAKtF,uBACA,cAAC,IAAD,CAAUloJ,YAAaxf,EAAMqmK,QAASpoJ,KAAMje,EAAMymK,aAAc32J,QAASy3J,KACxEvnK,EAAMsmK,QACH,eAAC5pK,EAAA,EAAD,CAAYC,MAAM,SAASG,QAASkqK,EAAU,UAA9C,UACI,cAAC,IAAD,CAAWj+J,MAAM,WAAWrK,MAAOsB,EAAMwmK,aAAa3kE,SAAU74F,SAvFlD,SAACX,GAC3B,IAAQ3J,EAAU2J,EAAEE,OAAZ7J,MACRF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBomK,aAAa,2BAAMpmK,EAAGomK,cAAV,IAAwB3kE,SAAUnjG,UAqFoCoK,WAAW,IAC5G,eAAC,IAAD,CAAiB5H,UAAU,QAAQnD,QAASspK,EAA5C,UACI,cAACM,EAAA,EAAD,IADJ,cAKP3nK,EAAMumK,UACH,eAAC7pK,EAAA,EAAD,CAAYC,MAAM,iBAAiBG,QAASkqK,EAAU,YAAtD,UACI,cAACt9J,EAAA,EAAD,CAAYhK,QAAQ,KAAKD,MAAM,YAA/B,8CAGA,cAAC,IAAD,CAAeyB,UAAU,QAAQnD,QAASipK,EAAU,YAApD,uBAGA,eAAC,IAAD,CAAiB9lK,UAAU,cAAcnD,QAASupK,EAAlD,UACI,cAACF,EAAA,EAAD,IADJ,yB,OC7LLQ,IArDY,SAAC,GAA8G,IAA5Gt3J,EAA2G,EAA3GA,UAAWD,EAAgG,EAAhGA,SAAUG,EAAsF,EAAtFA,uBAAwBL,EAA8D,EAA9DA,GAAIC,EAA0D,EAA1DA,IAAK+B,EAAqD,EAArDA,WAAYC,EAAyC,EAAzCA,uBAAuBC,EAAkB,EAAlBA,YACnH,EAA0B9T,mBAAS,CAC/BspK,cAAc,EACdx3J,WACAC,UAAU,GAAD,OAAKA,GAAa,GAC3BC,WAAYC,IAJhB,mBAAOxQ,EAAP,KAAcxB,EAAd,KAMI4uB,EAAkB9sB,IAAW+sB,gBACjCltB,qBAAU,WACFmQ,GACA9R,GAAS,SAAC4B,GAAD,MAAS,CACdkQ,UAAWA,GAAa,QAGjC,CAACA,IAEJ,IAAMw3J,EAAmB,SAAC7lK,GACtBzD,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBynK,cAAc,OACzC5lK,GAAOkQ,KAOX,OACI,sCAIoB,OAAfib,QAAe,IAAfA,OAAA,EAAAA,EAAiBiuD,mBACd,cAACnc,EAAA,EAAD,CAAOh+D,UAAU,oBAAoBokG,aAActlG,EAAMsQ,UAAW7Q,MAAM,YAAYiuB,IAAK,IAAK63E,UAAQ,EAAxG,SACI,cAACwiE,EAAA,EAAD,CAAWxqK,MAAO,CAAEqZ,SAAU,GAAIjZ,OAAQ,WAAa8B,MAAM,YAAY1B,QAXhE,WACrBS,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkBynK,cAAc,YAapC7nK,EAAM6nK,cACH,cAACnrK,EAAA,EAAD,CAAYC,MAAM,mBAAmBG,QAAS,kBAAMgrK,GAAiB,IAAQ/qK,SAAS,KAAtF,SACI,cAAC,EAAD,CACIsT,SAAUA,EACVE,WAAYC,EACZxS,SAAUmS,EACV5F,aAAc6F,EACd+B,WAAYA,EACZC,uBAAwBA,IAA0B,EAClDtV,QAASgrK,EACTz1J,YAAaA,W,6ECzDtB,8pE,iCCAA,05E,iCCAA,k0E,iCCAA,8pE,iCCAA,svE,sMCkCA21J,EAhCK,WAClB,MAAoCzpK,oBAAU,GAA9C,mBAAQ41J,EAAR,KAAmB8T,EAAnB,KACA,EAAkC1pK,mBAAU,IAA5C,mBAAQoK,EAAR,KAAkBu/J,EAAlB,KAsBA,MAAO,CACL/T,YACAxrJ,WACAZ,WAvBF,SAAqBquD,GACnB8xG,GAAa,SAAAC,GAAI,OAAQ/xG,GAAO,IAAf,mBAAsB+xG,OACvCF,GAAc,IAsBdjgK,WAnBF,SAAqBouD,GAEnB8xG,GAAa,SAAAE,GACX,IAAID,EAAI,YAAQC,GACZC,EAAMF,EAAKh/G,QAASiN,GAAO,IAO/B,OANKiyG,GAAO,EACVF,EAAKlwI,OAAQowI,EAAK,GAElBF,EAAKlwI,OAAQ,EAAG,GAElBgwI,EAAcE,EAAK55J,OAAS,GACrB,YAAK45J,S,6CCyBHG,EA7CI,WACjB,MAAoC/pK,oBAAU,GAA9C,mBAAQ41J,EAAR,KAAmB8T,EAAnB,KACA,EAA0B1pK,mBAAU,IAApC,mBAAQof,EAAR,KAAc4qJ,EAAd,KACA,EAAkChqK,mBAAU,QAA5C,mBAAQkwB,EAAR,KAAkB+5I,EAAlB,KACA,EAAgCjqK,mBAAU,KAA1C,mBAAQmxJ,EAAR,KAAiB98I,EAAjB,KAEA,SAAS61J,EAAWryG,GAAiC,IAA5Bs5F,EAA2B,uDAAjB,IAAMjhI,EAAW,uCAClD85I,EAASnyG,GACTxjD,EAAY88I,GACZ8Y,EAAa/5I,GACbw5I,GAAc,GAoBhB,MAAO,CACL9T,YACAx2I,OACA8Q,WACAihI,UACA+Y,YACA5gK,eAnBmB,SAAEuuD,EAAKs5F,GAC1B+Y,EAAWryG,EAAKs5F,EAAS,UAmBzB9nJ,iBAjBqB,SAAEwuD,EAAKs5F,GAC5B+Y,EAAWryG,EAAKs5F,EAAS,YAiBzBgZ,cAfkB,SAAEtyG,EAAKs5F,GACzB+Y,EAAWryG,EAAKs5F,EAAS,SAezB5nJ,iBAbqB,SAAEsuD,EAAKs5F,GAC5B+Y,EAAWryG,EAAKs5F,EAAS,YAazBgF,UA3BF,WACEuT,GAAc,IA2BdM,YCzBWI,EAhBK,WAClB,MAAsCpqK,mBAAU,IAAhD,mBAAM8I,EAAN,KAAmBuhK,EAAnB,KAQA,MAAO,CACLvhK,cACA8D,WARe,SAAEhF,EAAM8F,GACvB28J,EAAgB,CAAEziK,OAAM8F,UAQxBhE,WALe,kBAAM2gK,EAAgB,O,OCE5BzqK,EAAa2oB,0BAEbnb,EAAe,CACxBspJ,eAAgB,iBAChBrpJ,eAAgB,iBAChBG,cAAe,gBACfqpJ,aAAc,gBAGLE,EAAqB,SAAC/4J,GAC/B,IAAI4K,EAAc6gK,IACd5pK,EAAakqK,IACbjhK,EAAcshK,IAClB,EAAsCpqK,mBAAS,CAC3CmlC,cAAe,KACfjxB,SAAU,OAFd,mBAAOutB,EAAP,KAAoB6oI,EAApB,KAIQ34H,EAAc3lC,cAAd2lC,UAEF+vD,EAAU/vD,EAAUh8B,SAAS,SAC7BorC,EAAiBpP,EAAUh8B,SAAS,gBACpCqrC,EAAiBrP,EAAUh8B,SAAS,YACpC+7B,EAAaC,EAAUh8B,SAAS,YAChCsrC,EAAWtP,EAAUh8B,SAAS,UAEpC/T,qBAAU,WACN8/B,MACD,CAACD,EAAYvtB,WAEhB,IAAMwtB,EAAgB,uCAAG,4BAAAx/B,EAAA,yDACjBwB,EAAM,IACNu9C,EAFiB,gCAGLgpG,cAHK,OAGjBvmJ,EAHiB,kBAKjBs9C,EALiB,gCAML0lH,cANK,OAMjBhjK,EANiB,kBAQjBq9C,EARiB,kCASLugG,cATK,QASjB59I,EATiB,mBAWjBg+F,EAXiB,kCAYL6wC,cAZK,QAYjB7uI,EAZiB,mBAcjBguC,EAdiB,kCAeLy2G,cAfK,QAejBzkJ,EAfiB,eAkBrB4mK,GAAe,SAACzoK,GAAD,mBAAC,eACTA,GADQ,IAEXsjC,cAAezhC,OApBE,4CAAH,qDA+BtB,OACI,cAAC9D,EAAWksB,SAAZ,CAAqB3rB,MAAO,CAAEyI,cAAa/I,aAAYiJ,cAAa44B,mBAAkBD,cAAavG,oBAR3E,WACxBovI,GAAe,SAACzoK,GAAD,mBAAC,eACTA,GADQ,IAEXqS,SAAU,IAAIhC,YAKlB,SACI,mCAAGlU,EAAMK,e,sRCjEf0K,EAAYC,aAAW,SAACC,GAAD,MAAY,MAU5BshK,EAAa,SAACvsK,GACvB,IAAQmtJ,EAAgFntJ,EAAhFmtJ,cAAgCrzG,GAAgD95C,EAAjEmC,MAAiEnC,EAA1DyM,SAA0DzM,EAAhD85C,YAAYxnC,EAAoCtS,EAApCsS,WAAYyzG,EAAwB/lH,EAAxB+lH,WAAeplH,EAA/E,YAAwFX,EAAxF,6EAEA,EAAwBgC,mBAAS,CAAEyqC,KAAM,OAAzC,mBAAKhpC,EAAL,KAAYxB,EAAZ,KAEA2B,qBAAU,WACN3B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4oC,KAAqB,gBAAfzsC,EAAMmC,MAA0B,KAAOnC,EAAMmC,aAC/E,CAACnC,EAAMmC,QAEV,IAQM8kE,EAAmBj5D,cAAnBi5D,eAEN,OADAkmF,IAAkBlmF,GAAiB,GAC5BntB,EACH,sBAAKn1C,UAAU,cAAf,UACI,cAAC,IAAD,CAAYP,QAAM,EAACO,UAAU,cAA7B,SACK2N,IAEL,qBAAK3N,UAAU,cAAf,SAA8BlB,EAAMgpC,MAAQ,WAGhD,qCACKn6B,GACG,cAAC,IAAD,CAAYE,SAAUuzG,IAAc,EAAO3hH,QAAM,EAAjD,SACKkO,IAGT,cAAC,IAAD,yBACIjR,GAAG,OACHogC,KAAK,QACLt+B,QAAQ,WACRuJ,KAAK,OACLtJ,WAAS,EACTqL,SAAUw4D,EACV/1C,WAAY,CACRC,IAAK,cAET1kB,SAlCY,SAACX,GACrB,IAAQ3J,EAAU2J,EAAEE,OAAZ7J,MACJA,EAAQ,eACRF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4oC,KAAMtqC,OACjCnC,EAAMyM,SAASX,KA+BX3J,MAAOsB,EAAMgpC,MACT9rC,GAZR,IAaI6rK,gBAAiB,CACbpoK,QAAQ,UAOfqoK,EAAiB,SAACzsK,GAC3B,IAAQmtJ,EAA4CntJ,EAA5CmtJ,cAAmCxsJ,GAASX,EAA7BmC,MAA6BnC,EAAtByM,SAA9B,YAAoDzM,EAApD,uCACMinE,EAAmBj5D,cAAnBi5D,eACNkmF,IAAkBlmF,GAAiB,GACnC,MAAwBjlE,mBAAS,CAAEyqC,KAAM,OAAzC,mBAAKhpC,EAAL,KAAYxB,EAAZ,KAEA2B,qBAAU,WACN3B,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4oC,KAAMzsC,EAAMmC,aACxC,CAACnC,EAAMmC,QASV,OACI,cAAC,IAAD,yBACId,GAAG,iBACHogC,KAAK,QACLt+B,QAAQ,WACRuJ,KAAK,iBACLtJ,WAAS,EACTqL,SAAUw4D,EACV/1C,WAAY,CACRC,IAAK,oBAET1kB,SAlBgB,SAACX,GACrB,IAAQ3J,EAAU2J,EAAEE,OAAZ7J,MACJA,EAAQ,qBACRF,GAAS,SAAC4B,GAAD,mBAAC,eAAaA,GAAd,IAAkB4oC,KAAMtqC,OACjCnC,EAAMyM,SAASX,KAef3J,MAAOsB,EAAMgpC,MACT9rC,GAZR,IAaI6rK,gBAAiB,CACbpoK,QAAQ,OAMXsoK,EAAa,SAAC1sK,GACvB,IAAM2L,EAAUZ,IACRoiJ,EAA2BntJ,EAA3BmtJ,cAAkBxsJ,EAA1B,YAAmCX,EAAnC,mBACMinE,EAAmBj5D,cAAnBi5D,eACArmC,EAAO5gC,EAAMuY,KACbgmC,EAAev+C,EAAMu+C,aAE3B,OADA4uG,IAAkBlmF,GAAiB,GAE/B,cAAC,IAAD,aACItiE,UAAWgH,EAAQghK,iBACnBzrI,OAAQ,cAAC,IAAD,UAASN,EAAO,cAACA,EAAD,CAAM5/B,MAAO,CAAEqZ,SAAUkkC,GAAgB,MAAW,KAC5E9vC,SAAUw4D,GACNtmE,KAKHisK,EAAmB,SAAC5sK,GAC7B,IAAQmtJ,EAAkDntJ,EAAlDmtJ,cAAex0I,EAAmC3Y,EAAnC2Y,aAAcnX,EAAqBxB,EAArBwB,QAAYb,EAAjD,YAA0DX,EAA1D,4CACA,EAAwBgC,oBAAS,GAAjC,mBAAOgxB,EAAP,KAAa6jE,EAAb,KACM5vB,EAAmBj5D,cAAnBi5D,eACArmC,EAAO5gC,EAAMuY,KACbgmC,EAAev+C,EAAMu+C,aAE3B,OADA4uG,IAAkBlmF,GAAiB,GAE/B,cAAC,IAAD,CAAS7mE,MAAOuY,EAAcuB,OAAK,EAACrZ,KAAMmyB,EAAMmoI,sBAAoB,EAACl5H,aAAc,kBAAM40D,GAAQ,IAAO30D,aAAc,kBAAM20D,GAAQ,IAApI,SACI,cAAC,IAAD,aACI31D,OAAQ,cAAC,IAAD,CAAQv8B,UAAU,qBAAlB,SAAwCi8B,EAAO,cAACA,EAAD,CAAM5/B,MAAO,CAAEqZ,SAAUkkC,GAAgB,MAAW,KAC3G9vC,SAAUw4D,EACVzlE,QAAS,WAEL,GADAq1F,GAAQ,GACJr1F,EAAS,OAAOA,MAEpBb,Q,mbC3IhBksK,EAAS,GAETA,EAAS/D,YAAa,cAAcgE,KAKxC,IAAMC,EAAiB,CACnBC,QAAQ,GAAD,OAAKH,GACZr1J,QAAS,CACL,eAAgB,oBAEpBy1J,eAAgB,MAGhBC,EAAWC,IAAM3c,OAAOuc,GAE5BG,EAASE,aAAaC,QAAQC,KAAI,SAAUC,GACxC,GAAIA,EAAOC,aAAc,CACrB,IAAMtjK,EAAQnG,IAAW4P,WACzB45J,EAAO/1J,QAAQC,cAAgBvN,EAAK,iBAAaA,GAAU,GAG/D,OADAqjK,EAAO/1J,QAAQ7O,WAAaoG,OAAOC,SAAS0I,KAAKC,SAAS,aAAe,YAAc5I,OAAOC,SAAS0I,KAChG61J,KAGX,IAAME,EAAqB,SAACn2J,GACxB,MAAI,MAAMrF,KAAKqF,GACL,OAAN,OAAcA,GAEXA,GAGAzR,EAAW,uCAAG,WAAOyR,EAAKjR,GAAZ,2BAAAnC,EAAA,6DAAkBua,EAAlB,+BAA4B,GAA5B,SACRivJ,EAAIp2J,EAAKjR,EAAN,YAAC,eAAgBoY,GAAjB,IAA0B+uJ,cAAc,KADnC,mFAAH,wDAIXE,EAAG,uCAAG,WAAOp2J,EAAKjR,GAAZ,6BAAAnC,EAAA,6DAAkBua,EAAlB,+BAA4B,GAA5B,SACGyuJ,EAASQ,IAAID,EAAmBn2J,GAAMjR,EAAMoY,GAD/C,cAEM,OADf/Y,EADS,QAELi4C,QACJtnC,YAAW,WACPtS,IAAWwL,gBACXR,OAAOC,SAAW,MACnB,KAEFtJ,EAAIW,KAAKyD,SACVgjB,QAAQ6gJ,KAAR,qCAA2CjoK,EAAIi4C,OAA/C,2BAAwEj4C,EAAIkoK,WAA5E,MATS,kBAWNnvJ,EAAQ8tB,aAAe7mC,EAAMA,EAAIW,MAX3B,2CAAH,wDAcHb,EAAY,uCAAG,WAAO8R,EAAKjR,GAAZ,2BAAAnC,EAAA,6DAAkBua,EAAlB,+BAA4B,GAA5B,SACT/U,EAAK4N,EAAKjR,EAAN,YAAC,eAAgBoY,GAAjB,IAA0B+uJ,cAAc,KADnC,mFAAH,wDAIZ9jK,EAAI,uCAAG,WAAO4N,EAAKjR,GAAZ,6BAAAnC,EAAA,6DAAkBua,EAAlB,+BAA4B,GAA5B,SACEyuJ,EAASxjK,KAAK+jK,EAAmBn2J,GAAMjR,EAAMoY,GAD/C,cAEK,OADf/Y,EADU,QAENi4C,QACJtnC,YAAW,WACPtS,IAAWwL,gBACXR,OAAOC,SAAW,MACnB,KAEFtJ,EAAIW,KAAKyD,SACVgjB,QAAQ6gJ,KAAR,qCAA2CjoK,EAAIi4C,OAA/C,2BAAwEj4C,EAAIkoK,WAA5E,MATU,kBAWPnvJ,EAAQ8tB,aAAe7mC,EAAMA,EAAIW,MAX1B,2CAAH,wDAcJN,EAAW,uCAAG,WAAOuR,GAAP,2BAAApT,EAAA,6DAAYua,EAAZ,+BAAsB,GAAtB,SACR1R,EAAIuK,EAAD,YAAC,eAAUmH,GAAX,IAAoB+uJ,cAAc,KAD7B,mFAAH,sDAIXzgK,EAAG,uCAAG,WAAOuK,GAAP,6BAAApT,EAAA,6DAAYua,EAAZ,+BAAsB,GAAtB,SACGyuJ,EAASngK,IAAI0gK,EAAmBn2J,GAAMmH,GADzC,cAEM,OADf/Y,EADS,QAELi4C,QACJtnC,YAAW,WACPtS,IAAWwL,gBACXR,OAAOC,SAAW,MACnB,KAEFtJ,EAAIW,KAAKyD,SACVgjB,QAAQ6gJ,KAAR,qCAA2CjoK,EAAIi4C,OAA/C,2BAAwEj4C,EAAIkoK,WAA5E,MATS,kBAWNnvJ,EAAQ8tB,aAAe7mC,EAAMA,EAAIW,MAX3B,2CAAH,sDAaHkR,EAAU,UAAMs1J,I","file":"static/js/main.97757201.chunk.js","sourcesContent":["import { Dialog, DialogActions, DialogContent, DialogTitle } from '@material-ui/core';\r\nimport React from 'react';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { IconButton } from '@material-ui/core';\r\nimport Box from '@material-ui/core/Box';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Draggable from 'react-draggable';\r\n\r\nconst closeIconStyle = {\r\n marginRight: 7\r\n};\r\n\r\nfunction PaperComponent(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\nlet DialogComp = ({ title, children, footer, onClose, maxWidth = 'sm', overflow = 'hidden', height = 'none', ...rest }) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {title && {title}}\r\n \r\n {!rest.hideCloseAction && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {children}\r\n {footer && {footer}}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default DialogComp;\r\n","import { useContext } from 'react';\r\nimport { AppContext } from '../App/PageLevel/AppContextProvider';\r\n\r\nexport const useToast = () => {\r\n const obj = useContext(AppContext);\r\n return obj && obj.toastState;\r\n};\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { ExpBaseURL } from '../../Basic/HttpService';\r\nimport { AppStorage } from '../../Basic/storage-service';\r\nimport './gijgoGrid.scss';\r\nimport FileUploaderButton from '../GenericFileUploader'; //'../GenericFileUploader';\r\nimport { isValidConfig } from '../GenericFileUploader/FileUploaderConfig';\r\nimport ReactDOM from 'react-dom';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\nimport { useToast } from '../../Hooks/useToast';\r\nimport { AddButton, EditButton, DataGrid, BreadCrumbs, formatters } from '../';\r\nimport { CustomChip, ChipWithoutLable } from '../Inputs/DatePicker';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { makeStyles } from '@material-ui/core';\r\nimport moment from 'moment';\r\nimport CloudDownloadIcon from '@material-ui/icons/CloudDownload';\r\nimport IconButton from '@material-ui/core/IconButton';\r\n\r\nvar grid1;\r\nvar $ = window.$;\r\n\r\nconst GijgoGrid = (props) => {\r\n let isAction = props.columns.find((c) => c.key === 'action');\r\n\r\n const useStyles = makeStyles((theme) => ({\r\n gijgoGrid: {\r\n '& .gj-grid-md th:first-of-type': {\r\n padding: (props) => {\r\n return props.isAction ? '12px 5px 12px 5px' : '12px 18px 12px 13px';\r\n }\r\n }\r\n }\r\n }));\r\n\r\n // useEffect(() => {\r\n // var timer = setInterval(() => {\r\n // setTime(new Date());\r\n // }, 3000);\r\n // return () => {\r\n // clearInterval(timer);\r\n // };\r\n // }, []);\r\n\r\n const classes = useStyles({ isAction: isAction });\r\n let token = AppStorage.getToken();\r\n const ut = useToast();\r\n const uli = useLoginInfo();\r\n const [state, setState] = useState({\r\n recordId: props.recordId,\r\n fileCount: `${props.fileCount || 0}`,\r\n configName: props.fileUploaderConfigName,\r\n columns: []\r\n });\r\n const [gridReload, setGridReload] = useState(new Date());\r\n\r\n const gridFileCountRefresh = () => {\r\n setGridReload((st) => ({ ...st, gridReload: new Date() }));\r\n };\r\n\r\n useEffect(() => {\r\n let finalColumns = [];\r\n finalColumns = props.columns.map((c) => {\r\n if (c.key === 'action') {\r\n isAction = true;\r\n return {\r\n events: c.events,\r\n field: c.key,\r\n title: c.name,\r\n width: c.width,\r\n renderer: (value, row) => (c.formatter ? c.formatter(value, row) : value),\r\n addFileUploaderIcon: c.addFileUploaderIcon\r\n // filterable: false\r\n };\r\n } else {\r\n return {\r\n events: c.events,\r\n field: c.key,\r\n title: c.name,\r\n width: c.width,\r\n renderer: (value, row) => (c.formatter ? c.formatter({ row, column: { key: c.key, name: c.name } }, { isGijgo: true }) : value),\r\n filterable: c.filterable === 'no' ? false : true,\r\n sortable: c.sortable === true || c.sortable === undefined ? true : false,\r\n align: c.align || 'left'\r\n };\r\n }\r\n });\r\n\r\n let cols = finalColumns.map((c) => ({ ...c, headerCssClass: 'gridHeader' }));\r\n if (cols.length > 0 && props.idFieldName && props.fileUploaderConfigName && isValidConfig(props.fileUploaderConfigName)) {\r\n const actionCol = cols.find((c) => c.addFileUploaderIcon);\r\n if (actionCol) {\r\n const prevFor = actionCol.renderer;\r\n var newFormatter = (params, val) => {\r\n const spn2 = document.createElement('span');\r\n const lnk2 = (\r\n \r\n \r\n {\r\n \r\n }\r\n \r\n {prevFor(params, val)}\r\n \r\n );\r\n ReactDOM.render(lnk2, spn2);\r\n return spn2;\r\n };\r\n actionCol.renderer = newFormatter;\r\n }\r\n } else {\r\n const actionCol = cols.find((c) => c.field == 'action');\r\n if (actionCol) {\r\n const prevFor = actionCol.renderer;\r\n var newFormatter = (params, val) => {\r\n const spn2 = document.createElement('span');\r\n const lnk2 = prevFor(params, val);\r\n ReactDOM.render(lnk2, spn2);\r\n return spn2;\r\n };\r\n actionCol.renderer = newFormatter;\r\n }\r\n }\r\n setState((st) => ({ ...st, columns: cols }));\r\n }, [props.columns, gridReload]);\r\n\r\n useEffect(async () => {\r\n if (state.columns.length > 0) {\r\n pullArchivedJobsAndUpdateState();\r\n }\r\n }, [state.columns, props.isReload, props.getUrl]);\r\n\r\n const pullArchivedJobsAndUpdateState = async () => {\r\n window.$(`#${state.id}`).grid('destroy', true, true);\r\n\r\n setTimeout(() => {\r\n // storedFiltterValue = JSON.parse(localStorage.getItem('FiltterParams')) || {};\r\n if (props.filterVal) {\r\n let storedFiltterValue = {\r\n vehicleRegNumber: props.filterVal.vehicleRegNumber || '',\r\n customerCompanyName: props.filterVal.customerCompanyName || '',\r\n depotName: props.filterVal.depotName || '',\r\n vorTypeDescription: props.filterVal.vorTypeDescription || ''\r\n };\r\n props.columns.forEach((itm) => {\r\n if (storedFiltterValue) {\r\n var id = $(grid1).attr('id');\r\n var rowXPath = '#' + id + ' thead tr[data-role=\"filter\"]';\r\n var filterRow = $(rowXPath);\r\n if ($(filterRow).length == 1) {\r\n var colXPath = 'th [data-field=\"' + `${itm.key}` + '\"]';\r\n var filterInput = $(filterRow).find(colXPath);\r\n if ($(filterInput).length && storedFiltterValue[`${itm.key}`]) {\r\n $(filterInput).val(storedFiltterValue[`${itm.key}`]);\r\n grid1.data().params[itm.key] = storedFiltterValue[`${itm.key}`];\r\n }\r\n }\r\n }\r\n });\r\n }\r\n // if (storedFiltterValue.sortBy && storedFiltterValue.direction) {\r\n // grid1.data().params.sortBy = storedFiltterValue.sortBy;\r\n // grid1.data().params.direction = storedFiltterValue.direction;\r\n // }\r\n grid1.reload();\r\n });\r\n\r\n const onSuccessFunc = function (response) {\r\n grid1.render(props.dataConverter(response));\r\n };\r\n\r\n grid1 = window.$(`#${state.id}`).grid({\r\n dataSource: {\r\n url: `${ExpBaseURL}/api/${props.getUrl}`,\r\n headers: { Authorization: `Bearer ${token}`, domainName: window.location.host.includes('localhost') ? 'localhost' : window.location.host },\r\n success: onSuccessFunc\r\n },\r\n ...(props.minWidth !== null && { minWidth: 1200 }),\r\n // fixedHeader: true,\r\n headerFilter: {\r\n type: 'onchange'\r\n },\r\n\r\n columns: [...state.columns],\r\n pager: {\r\n limit: 20\r\n }\r\n });\r\n\r\n grid1.on('dataBound', function (e, records, totalRecords) {\r\n const gridActionSpn = document.createElement('span');\r\n const gridActionGrid = (\r\n \r\n {props.btnTitle && (\r\n \r\n {/* */}\r\n \r\n {/* */}\r\n {/* */}\r\n \r\n )}\r\n {props.secondBtnTitle && (\r\n \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.mapBtnToolTipTitle && (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n ReactDOM.render(gridActionGrid, gridActionSpn);\r\n var gridActionSpnRef = gridActionSpn;\r\n\r\n GijgoActionBtn(grid1, 'action', gridActionSpnRef);\r\n });\r\n grid1.on('rowDataBound', function (e, $row, id, record) {\r\n props.onRowDataBound && props.onRowDataBound(e, $row, id, record);\r\n });\r\n grid1.reload();\r\n };\r\n\r\n const GijgoActionBtn = (grid, propertyName, dropdown) => {\r\n var id = $(grid).attr('id');\r\n var rowXPath = '#' + id + ' thead tr[data-role=\"filter\"]';\r\n var filterRow = $(rowXPath);\r\n if ($(filterRow).length == 1) {\r\n var colXPath = 'th [data-field=\"' + `action` + '\"]';\r\n var filterInput = $(filterRow).find(colXPath);\r\n if ($(filterInput).length) {\r\n $(filterInput).replaceWith(dropdown);\r\n }\r\n }\r\n };\r\n const downloadCSVWrapper = async () => {\r\n if (props.downloadCustomUrl) {\r\n props.downloadCustomUrl(grid1.data().params);\r\n } else {\r\n grid1?.downloadCSV(`${props.downloadBtnName}-${moment().format('DD-MMM-YYYY HH:mm')}.csv`);\r\n }\r\n };\r\n return (\r\n \r\n \r\n {props.downloadBtnName && (\r\n \r\n \r\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 GijgoGrid;\r\n","import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, FormHelperText, Grid, InputLabel, Tooltip } from '@material-ui/core';\r\nimport SignaturePad from 'react-signature-canvas';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport React, { useRef, useState } from 'react';\r\nimport { SecondaryButton } from '../Controls';\r\nimport { AppStorage } from '../Basic/storage-service';\r\nimport { useEffect } from 'react';\r\nimport './userSignature.scss';\r\n\r\nexport const UserSignatureReminder = (props) => {\r\n const [state, setState] = useState();\r\n const checkStatus = (value) => {\r\n setState({ chosenID: value });\r\n if (value === 1) {\r\n props.closeSign();\r\n props.onClose();\r\n } else if (value === 2) {\r\n props.postData(null, value);\r\n props.onClose();\r\n } else if (value === 3) {\r\n props.postData(null, value);\r\n props.onClose();\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n Do you want to set the default signature?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst UserSignature = (props) => {\r\n const [state, setState] = useState({ techniciansign: null, signAvailable: true });\r\n const signCanvas = useRef();\r\n const clear = () => {\r\n setState((st) => ({\r\n ...st,\r\n techniciansign: null,\r\n signAvailable: false,\r\n imgSrc: null\r\n }));\r\n if (signCanvas?.current !== undefined) {\r\n signCanvas?.current.clear();\r\n }\r\n };\r\n const GetTechnicianSign = () => {\r\n let fields = state.fields;\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n techniciansign: signCanvas.current.toDataURL(),\r\n fields: fields\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n setState((st) => ({ ...st, imgSrc: AppStorage.getSignature(), signAvailable: AppStorage.getSignature() === 'absent' ? false : true }));\r\n }, []);\r\n\r\n const handleData = async () => {\r\n // state.techniciansign && AppStorage.setSignature(state.techniciansign);\r\n state.techniciansign && props.postData(state.techniciansign, 1);\r\n (state.techniciansign || state.signAvailable) && props.onClose();\r\n };\r\n return (\r\n <>\r\n \r\n \r\n
\r\n Signature\r\n \r\n \r\n \r\n \r\n
\r\n {state.signAvailable ? (\r\n \"Broken\r\n ) : (\r\n
\r\n {\r\n GetTechnicianSign();\r\n }}\r\n clearOnResize={false}\r\n />\r\n
\r\n )}\r\n \r\n
\r\n \r\n {/* {!state.techniciansign && 'Please draw your signature'} */}\r\n Please draw your signature inside the box\r\n \r\n \r\n \r\n SAVE\r\n \r\n \r\n CANCEL\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default UserSignature;\r\n","import { postWithAuth, putWithAuth } from '../Basic/HttpService';\r\n\r\nexport const postSignature = async (sign) => {\r\n let res = await postWithAuth(`/SaveSignature`, { signature: sign });\r\n return res;\r\n};\r\n\r\nexport const postSignatureStatus = async (ID) => {\r\n let res = await putWithAuth(`/SetSignatureStatus/${ID}`);\r\n return res;\r\n};\r\n","import { getWithAuth, postWithAuth } from '../../../Basic/HttpService';\r\nimport { memoize } from 'lodash';\r\nimport Multiselect from './../../../Controls/Autocomplete/index';\r\n\r\nexport const getVehicleBreakdownDropdowns = async (id) => {\r\n let res = await getWithAuth(`VehicleBreakdowns/screenDropDowns?VehicleID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getBreakDownDropDown = memoize(async () => {\r\n let res = await getWithAuth(`VehicleBreakdowns/screenDropDowns`);\r\n return res;\r\n});\r\n\r\nexport const getVehicleBreakdowns = async () => {\r\n let res = await getWithAuth(`VehicleBreakdowns`);\r\n return res;\r\n};\r\n\r\nexport const getAllVehicleBreakdowns = async (id) => {\r\n let res = await getWithAuth(`VehicleBreakdowns?VehicleID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getCustomerBreakdowns = async (id) => {\r\n let res = await getWithAuth(`VehicleBreakdowns?customerID=${id}`);\r\n return res;\r\n};\r\nexport const getVehicleBreakdownsbyID = async (id) => {\r\n let res = await getWithAuth(`VehicleBreakdowns/${id}`);\r\n return res;\r\n};\r\n\r\nexport const getVechicleIDByRegNO = async (id) => {\r\n let res = await getWithAuth(`Vehicles/ValidateReg/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postVehicleBreakdown = async (data, state) => {\r\n let res = await postWithAuth(`VehicleBreakdowns`, {\r\n defectID: data.defectID,\r\n defectVehicleID: data.vehicleID,\r\n defectTypeCode: data.breakDownType,\r\n defectMileage: data.mileage,\r\n defectReportingDepotID: data.reportingDepotValue?.id,\r\n defectLocation: data.breakDownLocation,\r\n defectContactNumber: data.reportedPhone,\r\n defectContactName: data.reportedBy,\r\n defectDriverName: data.driverName,\r\n defectDriverTelephone: data.driverPhone,\r\n defectDescription: data.problemReported,\r\n defectCallOutRequired: data.callOutRequired,\r\n defectUrgentCallOut: data.defectUrgentCallOut,\r\n defectVOR: data.defectVOR,\r\n defectPoliceOnScene: data.policeOnScene,\r\n defectPassengersInvolved: data.passengersInvolved,\r\n defectNumberOfPassengers: data.numberOfPassenger,\r\n defectAccidentDamage: data.accDamage,\r\n defectInsuranceReference: data.iNSREF,\r\n defectReplacementVehicle: data.replacementvehicleRequired,\r\n domainName: data.domainName,\r\n defectVehicleLoaded: data.vehicleLoaded,\r\n defectVehicleLoadTypeID: data.loadTypeValue?.id,\r\n defectMobilityRequested: data.mobilityRequested,\r\n defectMobilityUsed: data.mobilityUsed,\r\n defectPG9Issued: data.defectPG9Issued,\r\n faultIds: state.modules.map(({ id }) => id)\r\n });\r\n\r\n return res;\r\n};\r\n","import { post, postWithAuth } from '../Basic/HttpService';\r\nimport { AppStorage } from '../Basic/storage-service';\r\nimport { getUploaderConfig } from './FileUploaderService';\r\n\r\nexport let tryLogin = async (formState) => {\r\n let res = await post('/login', {\r\n loginName: formState.name,\r\n password: formState.password\r\n });\r\n if (res.success) {\r\n AppStorage.performLogin(res.data);\r\n await getUploaderConfig();\r\n }\r\n return res;\r\n};\r\n\r\nexport const resetPasswordWithToken = async (id, token, password, confirm) => {\r\n let res = await post(`/setNewPassword/${id}`, {\r\n newPassword: password,\r\n confirmPassword: confirm,\r\n passwordResetToken: token\r\n });\r\n return res;\r\n};\r\n\r\nexport const changePassword = async ({ currentPassword, password, confirmPassword }) => {\r\n let res = await postWithAuth(`/changePassword`, {\r\n currentPassword: currentPassword,\r\n newPassword: password,\r\n confirmPassword: confirmPassword\r\n });\r\n return res;\r\n};\r\n\r\nexport const forgotPasswordRequest = async (email) => {\r\n let res = await post('/resetPassword', {\r\n email: email\r\n });\r\n return res;\r\n};\r\n","import { useContext } from \"react\";\r\nimport { AppContext } from \"../App/PageLevel/AppContextProvider\";\r\n\r\nexport const useLoader = () => {\r\n const { loaderState } = useContext( AppContext );\r\n\r\n return loaderState;\r\n}","import { useContext } from \"react\";\r\nimport { AppContext } from \"../App/PageLevel/AppContextProvider\";\r\n\r\nexport const useDialog = () => {\r\n const { dialogState } = useContext( AppContext );\r\n\r\n return dialogState;\r\n}","import React, { useState } from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Container } from '@material-ui/core';\r\nimport { validatePassword } from '../Basic/StaticService';\r\nimport { changePassword } from '../Services/LoginService';\r\nimport { useToast } from '../Hooks/useToast';\r\nimport { useLoader } from '../Hooks/useLoader';\r\nimport { useDialog } from '../Hooks/useDialog';\r\nimport { InputPassword } from '../Controls';\r\n\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n '& > *': {\r\n margin: theme.spacing(1, 0)\r\n }\r\n }\r\n}))\r\n\r\n\r\nlet ChangePasswordComp = function (props) {\r\n\r\n const { showToastWarning, showToastError, showToastSuccess } = useToast();\r\n const { showLoader, hideLoader } = useLoader();\r\n const { hideDialog } = useDialog();\r\n\r\n let classes = useStyles();\r\n\r\n let [formState, setFormState] = useState({\r\n currentPassword: '',\r\n password: '',\r\n confirmPassword: '',\r\n });\r\n\r\n function fieldChange(e) {\r\n let val = {\r\n [e.target.name]: e.target.value\r\n };\r\n setFormState(st => {\r\n return { ...st, ...val };\r\n })\r\n }\r\n\r\n const submit = async () => {\r\n if (!formState.currentPassword) {\r\n showToastWarning('Current Password is required');\r\n }\r\n else if (!validatePassword(formState.password)) {\r\n showToastWarning('New Password should be complex with 8 char minimum.');\r\n }\r\n else if (formState.password !== formState.confirmPassword) {\r\n showToastWarning('New Password and Confirm New Password should match.');\r\n } else {\r\n showLoader();\r\n let res = await changePassword(formState);\r\n hideLoader();\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n hideDialog();\r\n props.onClose()\r\n } else {\r\n showToastError(res.messages);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n Change Password\r\n \r\n
\r\n )\r\n};\r\n\r\nexport default ChangePasswordComp;","import { useEffect, useState } from 'react';\r\nimport { get } from '../Basic/HttpService';\r\nimport { AppStorage } from '../Basic/storage-service';\r\n\r\nexport const usePortalSettings = () => {\r\n const portalSettings = AppStorage.getPortalSetting() || { expired: true };\r\n let [state, setState] = useState({});\r\n useEffect(() => {\r\n async function getPortalSetting() {\r\n if (portalSettings.expired) {\r\n const res = await get(`portalSetting`);\r\n if (res.data?.details[0]) {\r\n AppStorage.setPortalSetting(res.data.details[0]);\r\n setState(AppStorage.getPortalSetting());\r\n }\r\n } else {\r\n setState(AppStorage.getPortalSetting());\r\n }\r\n }\r\n getPortalSetting();\r\n }, []);\r\n\r\n return state;\r\n};\r\n","import React from 'react';\r\nimport { Container, Typography } from '@material-ui/core';\r\n\r\nimport './Error404.scss'\r\n\r\nlet Error404 = () => {\r\n return \r\n
\r\n 404\r\n Page not found.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\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 Error404;","import React from 'react';\r\nimport { usePortalSettings } from '../../../Core/Hooks/usePortalSettings';\r\n\r\nlet Home = () => {\r\n const portalSettings = usePortalSettings();\r\n const img = !!portalSettings.portalSettingBanner\r\n ? portalSettings.portalSettingBanner\r\n : `${process.env.PUBLIC_URL}/${portalSettings.portalSettingBannerImage}`;\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Home;\r\n","import React, { useState } from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport SendIcon from '@material-ui/icons/Send';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { tryLogin } from '../../../Core/Services/LoginService';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport { useLoader } from '../../../Core/Hooks/useLoader';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { InputText, InputPassword } from '../../../Core/Controls';\r\n\r\nlet defaultState = {\r\n name: '',\r\n password: ''\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n marginTop: theme.spacing(3),\r\n '& > *': {\r\n margin: theme.spacing(1, 0)\r\n },\r\n '& > button': {\r\n margin: theme.spacing(3, 0, 2)\r\n }\r\n }\r\n}));\r\n\r\nlet LoginComp = (props) => {\r\n const classes = useStyles();\r\n const { showLoader, hideLoader } = useLoader();\r\n const { showToastWarning, showToastError } = useToast();\r\n let { isLoggedIn } = useLoginInfo();\r\n let [model, setState] = useState(defaultState);\r\n\r\n let onFieldChange = e => {\r\n let obj = {\r\n [e.target.name]: e.target.value\r\n }\r\n setState(st => ({ ...st, ...obj }));\r\n }\r\n\r\n function handleEnter(e) {\r\n if (e.key === 'Enter') {\r\n loginUser();\r\n }\r\n }\r\n\r\n let loginUser = async () => {\r\n if (model.name && model.password) {\r\n showLoader();\r\n let res = await tryLogin(model);\r\n hideLoader();\r\n if (res.success) {\r\n props.onSuccess && props.onSuccess();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n } else {\r\n showToastWarning('Name and Password is required.');\r\n }\r\n }\r\n\r\n return <>\r\n {!isLoggedIn &&\r\n\r\n
\r\n \r\n \r\n }\r\n onClick={loginUser}>\r\n Login\r\n \r\n\r\n \r\n }\r\n \r\n};\r\n\r\nexport default LoginComp;","import React from 'react';\r\nimport LoginComp from './LoginComp';\r\nimport { Container, Grid, Link } from '@material-ui/core';\r\nimport { CommonModals } from '../../../Core/App/PageLevel/AppContextProvider';\r\nimport { useDialog } from '../../../Core/Hooks/useDialog';\r\nimport DialogComp from \"../../../Core/Dialog/DialogComp\";\r\n\r\n\r\n// const useStyles = makeStyles((theme) => ({\r\n// root: {\r\n// '& > *': {\r\n// margin: theme.spacing(1, 0)\r\n// },\r\n// '& > button': {\r\n// margin: theme.spacing(3, 0, 2)\r\n// }\r\n// }\r\n// }));\r\n\r\nlet Login = props => {\r\n const { showDialog } = useDialog();\r\n\r\n\r\n const onSuccess = () => {\r\n props.history.push(\"/\");\r\n window.location.reload();\r\n }\r\n const closeModal = () => {\r\n props.history.push(\"/\");\r\n }\r\n const onLink = () => {\r\n props.history.push(\"/\");\r\n showDialog(CommonModals.ForgotPassword)\r\n }\r\n return <>\r\n \r\n \r\n \r\n \r\n \r\n Forgot password?\r\n \r\n \r\n {/* alert('not implemented yet.')} variant=\"body2\">Sign Up */}\r\n \r\n \r\n \r\n \r\n \r\n};\r\n\r\nexport default Login;","import { AppStorage } from \"../../../Core/Basic/storage-service\";\r\n\r\nconst logout = props => {\r\n AppStorage.performLogout();\r\n props.history.push(\"/\");\r\n window.location.reload();\r\n return
;\r\n}\r\n\r\nexport default logout;","import { useEffect } from \"react\";\r\nimport { CommonModals } from \"../../../Core/App/PageLevel/AppContextProvider\";\r\nimport { useDialog } from \"../../../Core/Hooks/useDialog\";\r\n\r\nconst ResetPassword = props => {\r\n const { showDialog } = useDialog();\r\n const onDialogClose = () => {\r\n props.history.push(\"/\");\r\n }\r\n useEffect(() => {\r\n const args = {\r\n id: props.match.params.id,\r\n token: window.location.search.substring(1),\r\n onDialogClose\r\n }\r\n\r\n showDialog(CommonModals.ResetPassword, args);\r\n }, []);\r\n return <>;\r\n}\r\n\r\nexport default ResetPassword;","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllModels = async () => {\r\n let res = await getWithAuth(`models`);\r\n return res;\r\n};\r\n\r\nexport const getModelById = async (id) => {\r\n let res = await getWithAuth(`models/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postModelData = async (data) => {\r\n let res = await postWithAuth(`models`, data);\r\n return res;\r\n};\r\n\r\nexport const getModelDropdownData = async (data) => {\r\n let res = await getWithAuth(`Models/screenDropdowns`);\r\n return res;\r\n};\r\n","import { Grid } from '@material-ui/core';\r\nimport { Edit } from '@material-ui/icons';\r\nimport { useEffect, useState } from 'react';\r\nimport { AppButtonGroup, DataGrid, InputPassword, InputText, TabView, formatters, Accordion, PrimaryCheckbox, SecondaryCheckbox } from '../../../Core/Controls';\r\nimport FileUploaderButton from '../../../Core/Controls/GenericFileUploader';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\n\r\nconst columns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 130,\r\n formatter: (params) => ,\r\n addFileUploaderIcon: true\r\n },\r\n {\r\n key: 'id',\r\n name: 'ID',\r\n width: 130,\r\n formatter({ row }) {\r\n return <>ID value is: {row.id};\r\n }\r\n },\r\n { key: 'title', name: 'Title' },\r\n { key: 'count', name: 'Count' },\r\n { key: 'isActive', name: 'Is Active ?', formatter: formatters.YesNo },\r\n { key: 'dueDate', name: 'Due Date', formatter: formatters.Date_DDMMYYYY }\r\n];\r\n\r\nconst dummyData = [\r\n { id: 0, title: 'row1', count: 20, isActive: true, dueDate: '2021-01-07' },\r\n { id: 1, title: 'row1', count: 40, isActive: false, dueDate: '2020-01-11' },\r\n { id: 2, title: 'row1', count: 60, isActive: false, dueDate: '2020-01-11' },\r\n { id: 0, title: 'row2', count: 20, isActive: false, dueDate: '2020-01-11' },\r\n { id: 1, title: 'row2', count: 40, isActive: false, dueDate: '2020-01-11' },\r\n { id: 2, title: 'row2', count: 60, isActive: true, dueDate: '2021-01-08' },\r\n { id: 0, title: 'row3', count: 20, isActive: true, dueDate: '2021-01-09' },\r\n { id: 1, title: 'row3', count: 40, isActive: false, dueDate: '2020-01-11' },\r\n { id: 2, title: 'row3', count: 60, isActive: true, dueDate: '2021-01-08' },\r\n { id: 0, title: 'row4', count: 20, isActive: true, dueDate: '2021-01-3' },\r\n { id: 1, title: 'row4', count: 40, isActive: false, dueDate: '2020-01-11' },\r\n { id: 2, title: 'row4', count: 60, isActive: false, dueDate: '2020-01-11' }\r\n];\r\n\r\n// SimpleAccordion component //\r\nconst Notes = () => {\r\n return
From Notes
;\r\n};\r\nconst Dashboard = () => {\r\n return
From Dashboard
;\r\n};\r\nconst List = [\r\n {\r\n header: 'Dashboard',\r\n accordianBody: Dashboard()\r\n },\r\n {\r\n header: 'Notes',\r\n accordianBody: Notes()\r\n }\r\n];\r\n\r\nconst options = [\r\n { id: 1, name: 'Button1' },\r\n { id: 2, name: 'Button2' },\r\n { id: 3, name: 'Button3' }\r\n];\r\n\r\nconst HelpComponent = (props) => {\r\n const [state, setState] = useState({ gridRow: [], showLoader: true, selectedBtn: null });\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setState((st) => ({\r\n ...st,\r\n showLoader: false,\r\n gridRow: dummyData\r\n }));\r\n }, 1000);\r\n }, []);\r\n\r\n const Tab1 = () => {\r\n return
From Tab1
;\r\n };\r\n const Tab2 = () => {\r\n return
From Tab2
;\r\n };\r\n const tabs = [\r\n {\r\n label: 'Tab1',\r\n body: Tab1()\r\n },\r\n {\r\n label: 'Tab2',\r\n body: Tab2()\r\n }\r\n ];\r\n const onBtnSelected = (o) => {\r\n setState((dt) => ({\r\n ...dt,\r\n ...o\r\n }));\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n Text Box: \r\n \r\n \r\n Password field: \r\n \r\n \r\n \r\n \r\n \r\n \r\n Primary Checkbox: \r\n \r\n \r\n Secondary Checkbox with Force Editable: \r\n \r\n \r\n \r\n \r\n \r\n \r\n Separate Button for Edit Page (button in edit with ID = 1, second record in grid)\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n {state.selectedBtn}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default HelpComponent;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { Button, FormHelperText, InputLabel } from \"@material-ui/core\";\r\nimport { InputText, SecondaryCheckbox, SelectBox, SecondaryButton, MandatoryField, SimpleField } from \"../../../../Core/Controls\";\r\nimport { getModelById, postModelData, getModelDropdownData } from \"../../../../Core/Services/InternalUser/modelService\";\r\nimport { useToast } from \"../../../../Core/Hooks/useToast\";\r\nimport { useLoader } from \"../../../../Core/Hooks/useLoader\";\r\nimport \"../../../commonStyle.scss\";\r\n\r\nconst DialogStyle = {\r\n dialogInput: { width: \"100%\" },\r\n mandatoryLabel: { color: \"red\" },\r\n};\r\n\r\nconst AddEditModel = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { showLoader, hideLoader } = useLoader();\r\n\r\n const [state, setState] = useState({\r\n modelActive: true,\r\n modelID: null,\r\n modelMargin: \"\",\r\n makeList: [],\r\n vehicleTypeList: [],\r\n modelWarrantyGroupCode: null,\r\n errors: {},\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.modelId) {\r\n showLoader();\r\n let res = await getModelById(props.modelId);\r\n hideLoader();\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n makeDescription: res.data.makeDescription,\r\n modelActive: res.data.modelActive,\r\n modelCode: res.data.modelCode,\r\n modelDescription: res.data.modelDescription,\r\n modelID: res.data.modelID,\r\n modelMakeID: res.data.modelMakeID,\r\n modelMargin: res.data.modelMargin,\r\n modelPhoto: res.data.modelPhoto,\r\n modelWarrantyGroupCode: res.data.modelWarrantyGroupCode,\r\n vehicleTypeDescription: res.data.vehicleTypeDescription,\r\n modelVehicleTypeID: res.data.modelVehicleTypeID,\r\n }));\r\n }\r\n }\r\n let dropDwonRes = await getModelDropdownData();\r\n if (dropDwonRes.success) {\r\n const Makes = dropDwonRes.data.makes.map((w) => ({\r\n id: w.makeID,\r\n name: w.makeDescription,\r\n }));\r\n const vehicleType = dropDwonRes.data.vehicleTypes.map((w) => ({\r\n id: w.vehicleTypeID,\r\n name: w.vehicleTypeDescription,\r\n }));\r\n setState((st) => ({ ...st, makeList: Makes, vehicleTypeList: vehicleType }));\r\n }\r\n }, []);\r\n\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n let imagehandler = (event) => {\r\n let reader = new FileReader();\r\n reader.onload = (e) => {\r\n const { result } = e.target;\r\n setState((st) => ({ ...st, modelPhoto: result }));\r\n };\r\n reader.readAsDataURL(event.target.files[0]);\r\n };\r\n\r\n const clearImage = () => {\r\n if (state.modelPhoto) {\r\n setState((st) => ({ ...st, modelPhoto: null }));\r\n }\r\n };\r\n\r\n const validations = () => {\r\n const { modelCode, modelDescription, modelMakeID, modelMargin, modelVehicleTypeID } = state;\r\n const decimalPattern = /^\\d+(\\.\\d{1,2})?$/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!modelMakeID) {\r\n errors.modelMakeID = \"This field is required\";\r\n formIsValid = false;\r\n }\r\n if (!modelVehicleTypeID) {\r\n errors.modelVehicleTypeID = \"This field is required\";\r\n formIsValid = false;\r\n }\r\n if (!modelCode) {\r\n errors.modelCode = \"This field is required\";\r\n formIsValid = false;\r\n }\r\n if (!modelDescription) {\r\n errors.modelDescription = \"This field is required\";\r\n formIsValid = false;\r\n }\r\n if (!modelMargin.length && !decimalPattern.test(modelMargin)) {\r\n errors.modelMargin = `This field accepts only decimal value \"1.0\"`;\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const selectHandler = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => ({ ...state, [name]: checked }));\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n let formData = {\r\n modelID: state.modelID,\r\n modelCode: state.modelCode,\r\n modelDescription: state.modelDescription,\r\n modelMakeID: state.modelMakeID,\r\n modelPhoto: state.modelPhoto,\r\n modelVehicleTypeID: state.modelVehicleTypeID,\r\n modelWarrantyGroupCode: state.modelWarrantyGroupCode,\r\n modelMargin: state.modelMargin,\r\n modelActive: state.modelActive,\r\n };\r\n let res = await postModelData(formData);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 Make\r\n \r\n \r\n {state.errors.modelMakeID}\r\n \r\n \r\n \r\n Vehicle Type\r\n \r\n \r\n {state.errors.modelVehicleTypeID}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.modelPhoto ? (\r\n \r\n Remove Logo\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddEditModel;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport AddEditModel from './addEditModel';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Breadcrumbs from '@material-ui/core/Breadcrumbs';\r\nimport { Link } from 'react-router-dom';\r\nimport { getAllModels } from '../../../../Core/Services/InternalUser/modelService';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { AddButton, EditButton, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport ReactDOM from 'react-dom';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst modelgridStyle = {\r\n gridContainer: { height: '600px' },\r\n formatterImageContainer: { width: '100%', textAlign: 'center' },\r\n formatterImage: { width: 90, height: 'auto', backgroundSize: 'cover' },\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\n\r\nconst renderImage = (data) => {\r\n const spn = document.createElement('span');\r\n let isBase64Image = data?.row.modelPhoto?.includes('base64');\r\n const lnk = data?.row.modelPhoto ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
No Image Found
\r\n );\r\n\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n};\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'modelCode', name: 'Code' },\r\n { key: 'modelDescription', name: 'Description' },\r\n { key: 'vehicleTypeDescription', name: 'Type' },\r\n { key: 'makeDescription', name: 'Make' },\r\n { key: 'modelPhoto', name: 'Logo', formatter: renderImage, filterable: 'no' },\r\n { key: 'modelWarrantyGroupCode', name: 'Warranty Group' },\r\n { key: 'modelMargin', name: 'Margin', headerRenderer: formatters.ColumnHeaderAlignRight, formatter: formatters.ColumnTextAlignRight }\r\n];\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Models', active: true }\r\n];\r\n\r\nconst ModelScreen = () => {\r\n const [state, setState] = useState({ modalToggle: false, userId: null, List: [], showLoader: true });\r\n\r\n useEffect(async () => {\r\n pullModel();\r\n }, []);\r\n\r\n const pullModel = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const renderEdit = (data, row) => {\r\n return (\r\n
\r\n handleUpdate(row)} toolTipTitle=\"Edit Model\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n\r\n const handleUpdate = (params) => {\r\n setState((state) => ({ ...state, userId: params?.modelID, modalToggle: true }));\r\n };\r\n\r\n const closeModelHandler = (res) => {\r\n setState((state) => ({ ...state, modalToggle: false }));\r\n res && pullModel();\r\n };\r\n\r\n const title = state.userId ? 'Update Model' : 'Add Model';\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={'models'}\r\n btnTitle=\"Add Model\"\r\n onBtnClick={()=>handleUpdate(null)}\r\n isReload={state.isReload}\r\n />\r\n\r\n {state.modalToggle ? (\r\n closeModelHandler(false)} maxWidth=\"lg\" overflow=\"auto\">\r\n closeModelHandler(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default ModelScreen;\r\n","import { postWithAuth, getWithAuth } from \"../../Basic/HttpService\";\r\n\r\nexport const getAllMake = async () => {\r\n let res = await getWithAuth(`makes`);\r\n return res;\r\n};\r\n\r\nexport const getMakeById = async (id) => {\r\n let res = await getWithAuth(`makes/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postMakeData = async (data) => {\r\n let res = await postWithAuth(`makes`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Button, FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { SecondaryCheckbox, InputText, SecondaryButton, MandatoryField } from '../../../../Core/Controls';\r\nimport { getMakeById, postMakeData } from '../../../../Core/Services/InternalUser/makeService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../../commonStyle.scss';\r\n\r\nconst DialogStyle = {\r\n dialogInput: { width: '100%' },\r\n mandatoryLabel: { color: 'red' }\r\n};\r\n\r\nconst VehicleManufacturerModel = (props) => {\r\n const [state, setState] = useState({ makeDescription: '', makeActive: true, makeLogo: '', makeID: null, errors: {} });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.makeID) {\r\n let res = await getMakeById(props.makeID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n makeID: res.data.makeID,\r\n makeDescription: res.data.makeDescription,\r\n makeActive: res.data.makeActive,\r\n makeLogo: res.data.makeLogo\r\n }));\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((state) => ({ ...state, [name]: value }));\r\n };\r\n\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n let handleImage = (event) => {\r\n let reader = new FileReader();\r\n reader.onload = (e) => {\r\n const { result } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, makeLogo: result };\r\n return nst;\r\n });\r\n };\r\n reader.readAsDataURL(event.target.files[0]);\r\n };\r\n\r\n const clearImage = () => {\r\n if (state.makeLogo) {\r\n setState((st) => ({ ...st, makeLogo: null }));\r\n }\r\n };\r\n\r\n const validations = () => {\r\n const { makeDescription } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!makeDescription) {\r\n errors.makeDescription = 'Description is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const makeData = {\r\n makeID: state.makeID,\r\n makeDescription: state.makeDescription,\r\n makeLogo: state.makeLogo,\r\n makeActive: state.makeActive\r\n };\r\n let res = await postMakeData(makeData);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n // props.onClose(false);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Logo \r\n {state.makeLogo ? (\r\n \r\n Remove Logo\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {props.makeID ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default VehicleManufacturerModel;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport VehicleManufacturerModel from './vehicleManufacturerModel';\r\nimport { getAllMake } from '../../../../Core/Services/InternalUser/makeService';\r\nimport { AddButton, EditButton, BreadCrumbs, DataGrid } from '../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport ReactDOM from 'react-dom';\r\nimport '../../../commonStyle.scss';\r\n\r\nconst makeScreenStyle = {\r\n gridImage: { width: 90, height: 'auto', backgroundSize: 'cover', marginLeft: 'auto' },\r\n gridImageContainer: { width: '100%', textAlign: 'center' },\r\n gridEditButton: { textAlign: 'center' },\r\n gridIconsize: { fontSize: 20 }\r\n};\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Makes', active: true }\r\n];\r\n\r\nconst makeLogoRender = (data) => {\r\n const spn = document.createElement('span');\r\n let isBase64Image = data?.row.makeLogo?.includes('base64');\r\n const lnk = data.row.makeLogo ? (\r\n
\r\n {'logo'}\r\n
\r\n ) : (\r\n
No Image Found
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n};\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'makeDescription', name: 'Description' },\r\n { key: 'makeLogo', name: 'Logo', formatter: makeLogoRender, width: '25%', filterable: 'no' },\r\n { key: 'makeActive', name: 'Is Active ?', formatter: (e) => (e.row.makeActive ? 'Yes' : 'No'), width: '20%' }\r\n];\r\n\r\nconst VehicleManufacturer = (props) => {\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n uservalue: null,\r\n makeList: [],\r\n showLoader: true\r\n });\r\n\r\n useEffect(async () => {\r\n pullMakeData();\r\n }, []);\r\n\r\n const pullMakeData = async () => {\r\n setState((state) => ({\r\n ...state,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const actionButton = (data, row) => {\r\n return (\r\n
\r\n handleMakeUpdate(row)} toolTipTitle=\"Edit Make\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = actionButton;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const title = state.userId ? 'Update Make' : 'Add Make';\r\n\r\n const handleMakeUpdate = (params) => {\r\n setState((state) => ({ ...state, modalToggle: true, userId: params?.makeID }));\r\n };\r\n\r\n const closeMakeDialog = (res) => {\r\n setState((state) => ({ ...state, modalToggle: false }));\r\n res && pullMakeData();\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={'makes'}\r\n btnTitle=\"Add Make\"\r\n onBtnClick={() => handleMakeUpdate(null)}\r\n isReload={state.isReload}\r\n />\r\n {/* */}\r\n {state.modalToggle ? (\r\n closeMakeDialog(false)}>\r\n closeMakeDialog(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default VehicleManufacturer;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllVmrsSubCategorys = async () => {\r\n let res = await getWithAuth(`VMRSSubCategory`);\r\n return res;\r\n};\r\n\r\nexport const getVmrsSubCategoryById = async (id) => {\r\n let res = await getWithAuth(`VMRSSubCategory/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postVmrsSubCategoryData = async (data) => {\r\n let res = await postWithAuth(`VMRSSubCategory`, data);\r\n return res;\r\n};\r\n","import { getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllVmrsCategorys = async () => {\r\n let res = await getWithAuth(`VMRSCategory`);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { SecondaryButton, MandatoryField, SingleSelect } from '../../../../../Core/Controls';\r\nimport { getVmrsSubCategoryById, postVmrsSubCategoryData } from '../../../../../Core/Services/InternalUser/VMRS/vmrsSubCategoryService';\r\nimport { getAllVmrsCategorys } from '../../../../../Core/Services/InternalUser/VMRS/vmrsCategoryService';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { useLoader } from '../../../../../Core/Hooks/useLoader';\r\nimport '../../../../commonStyle.scss';\r\n\r\nconst DialogStyle = {\r\n dialogInput: { width: '100%' },\r\n mandatoryLabel: { color: 'red' }\r\n};\r\n\r\nconst AddEditVmrsModal = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { showLoader, hideLoader } = useLoader();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const [state, setState] = useState({\r\n vmrsSubCategoryID: null,\r\n vmrsCategoryValue: '',\r\n vmrsSubCategoryDescription: '',\r\n vmrsTaskCodeID: '',\r\n vmrsCategoryList: [],\r\n errors: {}\r\n });\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n vmrsCategoryValueID: null\r\n });\r\n useEffect(async () => {\r\n let resCategoryDropDown = await getAllVmrsCategorys();\r\n setState((st) => ({\r\n ...st,\r\n vmrsCategoryList: resCategoryDropDown.data.list.map((w) => ({\r\n id: w.vmrsCategoryID,\r\n name: w.vmrsDescription\r\n }))\r\n }));\r\n if (props.subCategoryId) {\r\n let res = await getVmrsSubCategoryById(props.subCategoryId);\r\n setState((st) => ({\r\n ...st,\r\n vmrsSubCategoryDescription: res.data.vmrsSubCategoryDescription,\r\n vmrsSubCategoryID: res.data.vmrsSubCategoryID,\r\n vmrsTaskCodeID: res.data.vmrsTaskCodeID,\r\n vmrsCategoryValue: res.data.vmrsCategory,\r\n vmrsDescription: res.data.vmrsDescription\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let vmrsCategoryValueID = null;\r\n if (state.vmrsCategoryValue) {\r\n vmrsCategoryValueID = state.vmrsCategoryList.find(({ id }) => id === state.vmrsCategoryValue);\r\n }\r\n setTempOptions((st) => ({\r\n ...st,\r\n vmrsCategoryValueID: vmrsCategoryValueID\r\n }));\r\n }, [state.vmrsCategoryValue]);\r\n\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const validations = () => {\r\n const { vmrsSubCategoryDescription, vmrsTaskCodeID } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n if (!/[^\\s]/.test(vmrsSubCategoryDescription)) {\r\n errors.vmrsSubCategoryDescription = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(vmrsTaskCodeID)) {\r\n errors.vmrsTaskCodeID = 'This field is required';\r\n formIsValid = false;\r\n } else if (!/^[0-9]*$/.test(vmrsTaskCodeID)) {\r\n errors.vmrsTaskCodeID = 'This field accepts number 1 - 0';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const formData = {\r\n vmrsSubCategoryDescription: state.vmrsSubCategoryDescription,\r\n vmrsSubCategoryID: state.vmrsSubCategoryID,\r\n vmrsTaskCodeID: state.vmrsTaskCodeID,\r\n vmrsCategory: tempOptions.vmrsCategoryValueID?.id\r\n };\r\n setBtnLoader(true);\r\n let res = await postVmrsSubCategoryData(formData);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n VMRS Category\r\n \r\n \r\n {state.errors.vmrsCategory}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddEditVmrsModal;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport AddEditVmrsModal from './addEditVmrsSubCategoryModal';\r\nimport DataGrid from '../../../../../Core/Controls/Grid';\r\nimport { getAllVmrsSubCategorys } from '../../../../../Core/Services/InternalUser/VMRS/vmrsSubCategoryService';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport { AddButton, EditButton, BreadCrumbs, formatters } from '../../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport '../../../../commonStyle.scss';\r\n\r\nconst modalgridStyle = {\r\n formatterImageContainer: { width: '100%', textAlign: 'center' },\r\n formatterImage: { width: 90, height: 'auto', backgroundSize: 'cover' },\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Jobs', active: true },\r\n { name: 'VMRS Sub Categories', active: true }\r\n];\r\nconst VmrsSubCategoryScreen = () => {\r\n const [state, setState] = useState({ modalToggle: false, subCategoryId: null, List: [], showLoader: true });\r\n\r\n const pullVmrsSubCategory = () => {\r\n setState((st) => ({ ...st, isReload: new Date() }));\r\n };\r\n\r\n const renderEdit = (data, row) => {\r\n return (\r\n
\r\n handleUpdate(row)} toolTipTitle=\"Edit VMRS SubCategory\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = [\r\n { key: 'action', name: 'Action', width: '5%', formatter: renderEdit },\r\n { key: 'vmrsSubCategoryDescription', name: 'Description' },\r\n { key: 'vmrsDescription', name: 'VMRS Category' },\r\n {\r\n key: 'vmrsTaskCodeID',\r\n name: 'Task Code',\r\n headerRenderer: formatters.ColumnHeaderAlignRight,\r\n formatter: formatters.ColumnTextAlignRight,\r\n width: '15%'\r\n }\r\n ];\r\n\r\n const handleUpdate = (params) => {\r\n setState((state) => ({ ...state, subCategoryId: params?.vmrsSubCategoryID, modalToggle: true }));\r\n };\r\n\r\n const closeModalHandler = (res) => {\r\n setState((state) => ({ ...state, modalToggle: false }));\r\n res && pullVmrsSubCategory();\r\n };\r\n\r\n const title = state.subCategoryId ? 'Update VMRS Sub Category' : 'Add VMRS Sub Category';\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add VMRS Sub Category\"\r\n onBtnClick={() => handleUpdate(null)}\r\n />\r\n {state.modalToggle ? (\r\n closeModalHandler(false)}>\r\n closeModalHandler(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default VmrsSubCategoryScreen;\r\n","import { postWithAuth, getWithAuth } from \"../../Basic/HttpService\";\r\n\r\nexport const getAllVMRSCategory = async () => {\r\n let res = await getWithAuth(`VMRSCategory`);\r\n return res;\r\n};\r\n\r\nexport const getVMRSCategoryById = async (id) => {\r\n let res = await getWithAuth(`VMRSCategory/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postVMRSCategoryData = async (data) => {\r\n let res = await postWithAuth(`VMRSCategory`, data);\r\n return res;\r\n};\r\n\r\nexport const getVmrsCategoryDropDown = async () => {\r\n let res = await getWithAuth(`VMRSCategory/screenDropdowns`);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel } from '@material-ui/core';\r\nimport { SecondaryButton, MandatoryField, SimpleField, SingleSelect } from '../../../../../Core/Controls';\r\nimport { getVMRSCategoryById, getVmrsCategoryDropDown, postVMRSCategoryData } from '../../../../../Core/Services/InternalUser/vmrsCategoryService';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport '../../../../commonStyle.scss';\r\n\r\nconst VmrsCategoryModal = (props) => {\r\n const [state, setState] = useState({\r\n vmrsCustomerIDValue: '',\r\n vmrsVehicleTypeIDValue: '',\r\n vmrsDescription: '',\r\n customerCodeList: [],\r\n vehicleTypeList: [],\r\n vmrsCategoryID: null,\r\n errors: {}\r\n });\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n custIDValue: null,\r\n vehicleTypeIDValue: null\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n let vmrsDropDowns = await getVmrsCategoryDropDown();\r\n if (vmrsDropDowns.success) {\r\n const customerCodeList = vmrsDropDowns.data.customers.map((item) => ({\r\n id: item.customerId,\r\n name: item.customerCompanyName\r\n }));\r\n const vehicle_type = vmrsDropDowns.data.vehicleTypes.map((item) => ({\r\n id: item.vehicleTypeID,\r\n name: item.vehicleTypeDescription\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n customerCodeList: customerCodeList,\r\n vehicleTypeList: vehicle_type\r\n }));\r\n }\r\n if (props.vmrsCategoryID) {\r\n let res = await getVMRSCategoryById(props.vmrsCategoryID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n vmrsCategoryID: res.data.vmrsCategoryID,\r\n vmrsDescription: res.data.vmrsDescription,\r\n nominalCode: res.data.nominalCode,\r\n vmrsCustomerIDValue: res.data.vmrsCustomerID,\r\n vmrsVehicleTypeIDValue: res.data.vmrsVehicleTypeID,\r\n vmrsType: res.data.vmrsType\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n\r\n useEffect(() => {\r\n let customerId = null;\r\n let vehicleId = null;\r\n if (state.vmrsCustomerIDValue) {\r\n customerId = state.customerCodeList.find(({ id }) => id === state.vmrsCustomerIDValue);\r\n }\r\n if (state.vmrsVehicleTypeIDValue) {\r\n vehicleId = state.vehicleTypeList.find(({ id }) => id === state.vmrsVehicleTypeIDValue);\r\n }\r\n setTempOptions((st) => ({\r\n ...st,\r\n custIDValue: customerId,\r\n vehicleTypeIDValue: vehicleId\r\n }));\r\n }, [state.vmrsCustomerIDValue, state.vmrsVehicleTypeIDValue]);\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const validations = () => {\r\n const { vmrsDescription } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(vmrsDescription)) {\r\n errors.vmrsDescription = 'This field is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitVmrsCategory = async () => {\r\n if (validations()) {\r\n const vmrsCategoryData = {\r\n vmrsCategoryID: state.vmrsCategoryID,\r\n vmrsDescription: state.vmrsDescription,\r\n nominalCode: state.nominalCode,\r\n vmrsCustomerID: tempOptions.custIDValue?.id,\r\n vmrsVehicleTypeID: tempOptions.vehicleTypeIDValue?.id,\r\n vmrsType: state.vmrsType\r\n };\r\n setBtnLoader(true);\r\n let res = await postVMRSCategoryData(vmrsCategoryData);\r\n if (res.success) {\r\n showToastSuccess('VMRS Category Added Successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\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 Customer\r\n \r\n \r\n \r\n Vehicle Type\r\n \r\n \r\n \r\n {props.vmrsCategoryID ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default VmrsCategoryModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllVMRSCategory } from '../../../../../Core/Services/InternalUser/vmrsCategoryService';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport VmrsCategoryModal from './vmrsCategoryModal';\r\nimport { BreadCrumbs, DataGrid, EditButton, AddButton } from '../../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport '../../../../commonStyle.scss';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Jobs', active: true },\r\n { name: 'VMRS Categories', active: true }\r\n];\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'vmrsDescription', name: 'Description' },\r\n { key: 'nominalCode', name: 'Nominal Code', width: '14%' },\r\n { key: 'customerName', name: 'Customer Code', width: '14%' },\r\n { key: 'vehicleTypeDescription', name: 'Vehicle Type', width: '14%' },\r\n { key: 'vmrsType', name: 'VMRS Type', width: '14%' }\r\n];\r\n\r\nconst VmrsCategory = (props) => {\r\n const [state, setState] = useState({\r\n vmrsCategoryList: [],\r\n loader: true,\r\n modalToggle: false\r\n });\r\n\r\n const pullMakeData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleMakeUpdate = (params) => {\r\n setState((state) => ({ ...state, modalToggle: true, userID: params?.vmrsCategoryID }));\r\n };\r\n\r\n const editActionButton = (data, row) => {\r\n return (\r\n
\r\n handleMakeUpdate(row)} toolTipTitle=\"Edit VMRS Category\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = editActionButton;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.userID ? 'Update VMRS Category' : 'Add VMRS Category';\r\n\r\n const closeMakeDialog = (res) => {\r\n setState((state) => ({ ...state, modalToggle: false }));\r\n res && pullMakeData();\r\n };\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add VMRS Category\"\r\n onBtnClick={() => handleMakeUpdate(null)}\r\n />\r\n {state.modalToggle ? (\r\n closeMakeDialog(false)} maxWidth=\"md\">\r\n closeMakeDialog(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default VmrsCategory;\r\n","import { Button, FormHelperText, Grid, InputLabel } from \"@material-ui/core\";\r\nimport React, { useState } from \"react\";\r\nimport DialogComp from \"../../../../Core//Dialog/DialogComp\";\r\nimport { InputText, SecondaryButton, MandatoryField } from \"../../../../Core/Controls\";\r\nimport \"../../../commonStyle.scss\";\r\n\r\nconst LicenseTypeDialog = (props) => {\r\n const [state, setState] = useState({\r\n inputValue: \"\",\r\n blank: false,\r\n id: null,\r\n });\r\n const validate = () => {\r\n if (state.inputValue === \"\") {\r\n setState((st) => ({ ...st, blank: true }));\r\n } else {\r\n props.childValue.btnText !== \"ADD\" ? props.updateRowData({ ID: state.id, text: state.inputValue }) : props.addRowData(state.inputValue);\r\n props.onClose();\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n inputValue: event.target.value,\r\n id: props.childValue.data.driverLicenceTypeID,\r\n }));\r\n }}\r\n onChange={(event) => {\r\n setState((st) => ({\r\n ...st,\r\n inputValue: event.target.value,\r\n blank: false,\r\n }));\r\n }}\r\n defaultValue={props.childValue.data.driverLicenceTypeDescription ?? \"\"}\r\n errors={state.blank ? \"This field is required\" : \"\"}\r\n />\r\n \r\n \r\n {props.childValue.btnText === \"ADD\" ? \"ADD\" : \"UPDATE\"}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LicenseTypeDialog;\r\n","import { postWithAuth, getWithAuth,putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllApiData = async () => {\r\n let res = await getWithAuth(`DriverLicenceTypes`);\r\n return res;\r\n};\r\n\r\nexport const getApiDataByID = async (id) => {\r\n let res = await getWithAuth(`DriverLicenceTypes/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postDataToApi = async (data) => {\r\n let res = await postWithAuth(`DriverLicenceTypes`, data);\r\n return res;\r\n};\r\nexport const updateDataToApi = async (data) => {\r\n let res = await putWithAuth(`DriverLicenceTypes/${data.driverLicenceTypeID}`, data);\r\n return res;\r\n};","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { AddButton, EditButton, BreadCrumbs } from '../../../../Core/Controls';\r\nimport DialogBox from './licenseTypeDialog';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../../commonStyle.scss';\r\n\r\nimport { getAllApiData, postDataToApi, updateDataToApi } from '../../../../Core/Services/InternalUser/licenseTypeService';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Drivers', active: true },\r\n { name: 'Driver License Types', active: true }\r\n];\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '7%' },\r\n { key: 'driverLicenceTypeDescription', name: 'Description' }\r\n];\r\nconst LicenseType = () => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [value, setValue] = useState({\r\n title: 'Add Driver License Types',\r\n data: [],\r\n btnText: 'ADD',\r\n isOpen: false,\r\n rows: [],\r\n showLoader: true,\r\n isReload: null\r\n });\r\n\r\n const pullApiData = async () => {\r\n setValue((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const dialogClose = () => {\r\n setValue((st) => ({\r\n ...st,\r\n isOpen: false\r\n }));\r\n };\r\n\r\n const addBtnClicked = () => {\r\n setValue((st) => ({\r\n ...st,\r\n title: 'Add Driver License Types',\r\n data: [],\r\n btnText: 'ADD',\r\n isOpen: true\r\n }));\r\n };\r\n\r\n const renderEdit = (ev, row) => {\r\n return (\r\n \r\n {\r\n setValue((st) => ({\r\n ...st,\r\n title: 'Edit Driver License Type',\r\n btnText: 'SAVE CHANGES',\r\n isOpen: true,\r\n data: row\r\n }));\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n const addRowData = async (value) => {\r\n let mes = await postDataToApi({ driverLicenceTypeDescription: value });\r\n pullApiData();\r\n if (mes) {\r\n mes.success ? showToastSuccess(mes.message || 'License type added successfully') : showToastError(mes.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n };\r\n const updateRowData = async (value) => {\r\n let mes = await updateDataToApi({\r\n driverLicenceTypeID: value.ID,\r\n driverLicenceTypeDescription: value.text\r\n });\r\n pullApiData();\r\n if (mes) {\r\n mes.success ? showToastSuccess(mes.message || 'License type updated successfully') : showToastError(mes.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n };\r\n\r\n let getUrl = `DriverLicenceTypes`;\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle=\"Add Driver License Type\"\r\n onBtnClick={addBtnClicked}\r\n isReload={value.isReload}\r\n />\r\n\r\n {value.isOpen ? (\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default LicenseType;\r\n","import { postWithAuth, getWithAuth } from \"../../Basic/HttpService\";\r\n\r\nexport const getAllProductGroups = async () => {\r\n let res = await getWithAuth(`productgroups`);\r\n return res;\r\n};\r\n\r\nexport const getProductGroupsById = async (id) => {\r\n let res = await getWithAuth(`productgroups/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postProductGroupsData = async (data) => {\r\n let res = await postWithAuth(`productgroups`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { InputLabel, FormHelperText } from \"@material-ui/core\";\r\nimport { InputText, SecondaryButton, MandatoryField } from \"../../../../Core/Controls\";\r\nimport { getProductGroupsById, postProductGroupsData } from \"../../../../Core/Services/InternalUser/productGroupService\";\r\nimport { useToast } from \"../../../../Core/Hooks/useToast\";\r\nimport \"../../.././commonStyle.scss\";\r\n\r\nfunction ProductGroupModal(props) {\r\n const [state, setState] = useState({\r\n productGroupID: null,\r\n productGroupDescription: \"\",\r\n productGroupMaxMargin: \"\",\r\n productGroupMinMargin: \"\",\r\n productGroupCode: \"\",\r\n productGroupLeadTime: \"\",\r\n errors: {},\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.productGroupID) {\r\n let res = await getProductGroupsById(props.productGroupID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n productGroupID: res.data.productGroupID,\r\n productGroupDescription: res.data.productGroupDescription,\r\n productGroupMaxMargin: res.data.productGroupMaxMargin,\r\n productGroupMinMargin: res.data.productGroupMinMargin,\r\n productGroupCode: res.data.productGroupCode,\r\n productGroupLeadTime: res.data.productGroupLeadTime,\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value,\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n const { productGroupDescription, productGroupMaxMargin, productGroupMinMargin, productGroupCode, productGroupLeadTime } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(productGroupDescription)) {\r\n errors.productGroupDescription = \"Description is required\";\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(productGroupMaxMargin)) {\r\n errors.productGroupMaxMargin = \"Max margin is required\";\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(productGroupMinMargin)) {\r\n errors.productGroupMinMargin = \"Min margin is required\";\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(productGroupCode)) {\r\n errors.productGroupCode = \"Code is required\";\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(productGroupLeadTime)) {\r\n errors.productGroupLeadTime = \"Lead time is required\";\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const productGroupData = {\r\n productGroupID: state.productGroupID,\r\n productGroupDescription: state.productGroupDescription,\r\n productGroupMaxMargin: state.productGroupMaxMargin,\r\n productGroupMinMargin: state.productGroupMinMargin,\r\n productGroupCode: state.productGroupCode,\r\n productGroupLeadTime: state.productGroupLeadTime,\r\n };\r\n let res = await postProductGroupsData(productGroupData);\r\n if (res.success) {\r\n showToastSuccess(\"Product groups added sucessfully\");\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 \r\n \r\n \r\n \r\n\r\n \r\n {props.productGroupID ? \"Update\" : \"Add\"}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ProductGroupModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllProductGroups } from '../../../../Core/Services/InternalUser/productGroupService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport ProductGroupModal from './ProductGroupModal';\r\nimport { BreadCrumbs, AddButton, EditButton, formatters } from '../../../../Core/Controls';\r\nimport '../../.././commonStyle.scss';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Admin', active: true },\r\n { name: 'Product Groups', active: true }\r\n];\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'productGroupDescription', name: 'Description' },\r\n { key: 'productGroupMaxMargin', name: 'Max Margin', headerRenderer: formatters.ColumnHeaderAlignRight, formatter: formatters.ColumnTextAlignRight },\r\n { key: 'productGroupMinMargin', name: 'Min Margin', headerRenderer: formatters.ColumnHeaderAlignRight, formatter: formatters.ColumnTextAlignRight },\r\n { key: 'productGroupCode', name: 'Code' },\r\n { key: 'productGroupLeadTime', name: 'Lead Time', headerRenderer: formatters.ColumnHeaderAlignRight, formatter: formatters.ColumnTextAlignRight }\r\n];\r\n\r\nfunction ProductGroup(props) {\r\n const [state, setState] = useState({\r\n productgroupsList: [],\r\n loader: true,\r\n open: false\r\n });\r\n\r\n useEffect(async () => {\r\n pullProdcutGroups();\r\n }, []);\r\n\r\n const pullProdcutGroups = async () => {\r\n let res = await getAllProductGroups();\r\n setState((state) => ({\r\n ...state,\r\n productgroupsList: res.data,\r\n loader: false\r\n }));\r\n };\r\n\r\n const handleProductUpdate = (params) => {\r\n setState((state) => ({ ...state, open: true, productGroupID: params.productGroupID }));\r\n };\r\n const editActionButton = (data) => {\r\n return (\r\n
\r\n handleProductUpdate(data.row)} toolTipTitle=\"Edit Product Group\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = editActionButton;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.productGroupID ? 'Update Product Group' : 'Add Product Group';\r\n\r\n const closeProductGroupModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullProdcutGroups();\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n {state.open ? (\r\n closeProductGroupModal(false)} maxWidth=\"md\">\r\n closeProductGroupModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\nexport default ProductGroup;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllSlippage = async () => {\r\n let res = await getWithAuth(`SlippageReasons`);\r\n return res;\r\n};\r\n\r\nexport const getSlippageById = async (id) => {\r\n let res = await getWithAuth(`SlippageReasons/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postSlippageData = async (data) => {\r\n let res = await postWithAuth(`SlippageReasons`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, MandatoryField } from '../../../../Core/Controls';\r\nimport { getSlippageById, postSlippageData } from '../../../../Core/Services/InternalUser/slippageService';\r\nimport { useToast } from '../../../.././Core/Hooks/useToast';\r\nimport '../../.././commonStyle.scss';\r\n\r\nfunction SlippageModal(props) {\r\n const [state, setState] = useState({\r\n slippageID: null,\r\n slippageReasonDescription: '',\r\n errors: {}\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n useEffect(async () => {\r\n if (props.slippageID) {\r\n let res = await getSlippageById(props.slippageID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n slippageID: res.data.slippageReasonID,\r\n slippageReasonDescription: res.data.slippageReasonDescription\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n const { slippageReasonDescription } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(slippageReasonDescription)) {\r\n errors.slippageReasonDescription = 'This field is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n setBtnLoader(true);\r\n const slippageData = {\r\n slippageReasonDescription: state.slippageReasonDescription,\r\n slippageReasonID: state.slippageID\r\n };\r\n let res = await postSlippageData(slippageData);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\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 {props.slippageID ? 'Update' : 'Add'}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default SlippageModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllSlippage } from '../../../../Core/Services/InternalUser/slippageService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport SlippageModal from './SlippageModal';\r\nimport { BreadCrumbs, EditButton } from '../../../../Core/Controls';\r\nimport '../../.././commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Events', active: true },\r\n { name: 'Slippage Reasons', active: true }\r\n];\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'slippageReasonDescription', name: 'Description' }\r\n];\r\n\r\nfunction Slippage(props) {\r\n const [state, setState] = useState({\r\n slippageList: [],\r\n loader: true,\r\n open: false\r\n });\r\n\r\n const pullSlippage = async () => {\r\n setState((state) => ({\r\n ...state,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleSlippageUpdate = (params) => {\r\n setState((state) => ({ ...state, open: true, slippageReasonId: params?.slippageReasonID }));\r\n };\r\n\r\n const editActionButton = (data, row) => {\r\n return (\r\n
\r\n handleSlippageUpdate(row)} toolTipTitle=\"Edit Slippage Reason\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = editActionButton;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.slippageReasonId ? 'Update Slippage Reasons' : 'Add Slippage Reasons';\r\n\r\n const closeSlippageModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullSlippage();\r\n };\r\n const urlState = 'SlippageReasons';\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Slippage Reason\"\r\n onBtnClick={() => handleSlippageUpdate(null)}\r\n />\r\n {state.open ? (\r\n closeSlippageModal(false)} maxWidth=\"md\">\r\n closeSlippageModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\n\r\nexport default Slippage;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllCustomer = async () => {\r\n let res = await getWithAuth('customers');\r\n return res;\r\n};\r\n\r\nexport const getCustomerById = async (Id) => {\r\n let res = await getWithAuth(`customers/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const addCustomeres = async (data, tempOptions, invoice) => {\r\n let res = await postWithAuth('customers', {\r\n customerID: null,\r\n customerShortName: data.customerShortName,\r\n customerCompanyName: data.customerCompanyName,\r\n customerAddress1: data.customerAddress1,\r\n customerAddress2: data.customerAddress2,\r\n customerCity: data.customerCity,\r\n customerCounty: data.customerCounty,\r\n customerPostCode: data.customerPostCode,\r\n // customerCountryCode: data.customerCountryCode,\r\n customerTelephone: data.customerTelephone,\r\n customerEmail: data.customerEmail,\r\n customerWebSite: data.customerWebSite,\r\n // customerActive: data.customerActive,\r\n customerStatusID: tempOptions.customerStatusIDValue?.id,\r\n customerAccountManagerID: tempOptions.customerAccountManagerName?.id,\r\n // customerOperationsManagerID: data.customerOperationsManagerID,\r\n customerOperationsManagerName: data.customerOperationsManagerName,\r\n customerOperationsManagerPhone: data.customerOperationsManagerPhone,\r\n customerOperationsManagerEmail: data.customerOperationsManagerEmail,\r\n customerFinanceDirectorName: data.customerFinanceDirectorName,\r\n customerFinanceDirectorPhone: data.customerFinanceDirectorPhone,\r\n customerFinanceDirectorEmail: data.customerFinanceDirectorEmail,\r\n // customerCurrencyID: tempOptions.customerCurrencyIDValue?.id,\r\n customerRechargeMarkup: data.customerRechargeMarkup,\r\n customerISOWeekStartDay: tempOptions.ISODaysValue?.id,\r\n customerSendEmailNotifications: data.customerSendEmailNotifications || false,\r\n // customerSendVehicleNotification: data.customerSendVehicleNotification || false,\r\n // customerVehicleNotificationEmail: data.customerVehicleNotificationEmail,\r\n customerSendDefectEmail: data.customerSendDefectEmail || false,\r\n customerDefectEmail: data.customerDefectEmail,\r\n customerSendBreakdownEmail: data.customerSendBreakdownEmail || false,\r\n customerBreakdownEmail: data.customerBreakdownEmail,\r\n customerSendFailedDailyCheck: data.customerSendFailedDailyCheck || false,\r\n customerFailedDailyCheckEmail: data.customerFailedDailyCheckEmail,\r\n // ccheduleCompletionReminder: data.ccheduleCompletionReminder,\r\n sendScheduleConfirmation: data.sendScheduleConfirmation || false,\r\n customerScheduleConfirmationEmail: data.customerScheduleConfirmationEmail,\r\n customerSendScheduleCompletion: data.customerSendScheduleCompletion || false,\r\n customerScheduleCompletionEmail: data.customerScheduleCompletionEmail,\r\n customerSendVOREmail: data.customerSendVOREmail || false,\r\n customerVOREmail: data.customerVOREmail,\r\n customerSendQueryResponseReceived: data.customerSendQueryResponseReceived || false,\r\n customerQueryResponseReceivedEmail: data.customerQueryResponseReceivedEmail,\r\n customerSendJobApprovalRequired: data.customerSendJobApprovalRequired || false,\r\n customerJobApprovalRequiredEmail: data.customerJobApprovalRequiredEmail,\r\n // customerVORMobileNumbers: data.customerVORMobileNumbers,\r\n // oLicenseWarningInterval: data.oLicenseWarningInterval,\r\n // oLicenseWarningFollowupInterval: data.oLicenseWarningFollowupInterval,\r\n customerAutoApprovalLimit: data.customerAutoApprovalLimit,\r\n customerInspectionSheetHeadingBackgroundColour: data.customerInspectionSheetHeadingBackgroundColour,\r\n customerInspectionSheetHeadingTextColour: data.customerInspectionSheetHeadingTextColour,\r\n // autoApproveDays: data.autoApproveDays,\r\n // overdueQueriesDays: data.overdueQueriesDays,\r\n // autoApproveQueryDays: data.autoApproveQueryDays,\r\n // autoApproveOrderAckNo: data.autoApproveOrderAckNo,\r\n // customerAllowedDayRange: data.customerAllowedDayRange,\r\n // customerDisplayDefectsMonths: data.customerDisplayDefectsMonths,\r\n customerHandlingDefects: data.customerHandlingDefects || false,\r\n handlingOLicense: data.handlingOLicense || false,\r\n // autoCreateMileageBasedService: data.autoCreateMileageBasedService,\r\n customerEarnedRecognition: data.customerEarnedRecognition || false,\r\n customerERStartDate: data.customerERStartDate,\r\n customerLogo: data.customerLogo,\r\n customerLicenceCheckAccountCode: data.customerLicenceCheckAccountCode,\r\n customerCountryCode: data.customerCountryCode,\r\n customerInspectionEventID: tempOptions.customerInspectionEventIDValue?.id,\r\n customerPaymentDays: tempOptions.customerPaymentDaysValue?.id,\r\n customerAccountCode: data.customerAccountCode,\r\n customerOverdueReminderEmail: data.customerOverdueReminderEmail,\r\n customerSendOverdueReminderEmail: data.customerSendOverdueReminderEmail,\r\n\r\n customerSendInvoiceToDepot: invoice.customerSendInvoiceToDepot,\r\n customerUseAddressAsInvoiceAddress: invoice.customerUseAddressAsInvoiceAddress,\r\n customerInvoiceAddress1: invoice.customerInvoiceAddress1,\r\n customerInvoiceAddress2: invoice.customerInvoiceAddress2,\r\n customerInvoiceAddressCity: invoice.customerInvoiceAddressCity,\r\n customerInvoiceAddressCounty: invoice.customerInvoiceAddressCounty,\r\n customerInvoiceAddressPostCode: invoice.customerInvoiceAddressPostCode,\r\n customerInvoiceAddressCountryCode: invoice.customerInvoiceAddressCountryCode,\r\n customerInvoiceEmailAddress: invoice.customerInvoiceEmailAddress,\r\n customerEmailInvoices: invoice.customerEmailInvoices,\r\n customerTableHeaderBackgroundColour: data.customerTableHeaderBackgroundColour,\r\n customerTableHeaderColour: data.customerTableHeaderColour,\r\n customerOddRowBackgroundColour: data.customerOddRowBackgroundColour,\r\n customerOddRowColour: data.customerOddRowColour,\r\n customerEvenRowBackgroundColour: data.customerEvenRowBackgroundColour,\r\n customerEvenRowColour: data.customerEvenRowColour,\r\n customerLabourRate: data.customerLabourRate,\r\n customerOutOfHoursLabourRate: data.customerOutOfHoursLabourRate,\r\n customerVORHours: data.customerVORHours,\r\n customerVORTimed: data.customerVORTimed\r\n });\r\n return res;\r\n};\r\n\r\nexport const updateCustomer = async (data, tempOptions, invoice) => {\r\n let res = await putWithAuth(`customers/${data.customerID}`, {\r\n customerID: data.customerID,\r\n customerShortName: data.customerShortName,\r\n customerCompanyName: data.customerCompanyName,\r\n customerAddress1: data.customerAddress1,\r\n customerAddress2: data.customerAddress2,\r\n customerCity: data.customerCity,\r\n customerCounty: data.customerCounty,\r\n customerPostCode: data.customerPostCode,\r\n // customerCountryCode: data.customerCountryCode,\r\n customerTelephone: data.customerTelephone,\r\n customerEmail: data.customerEmail,\r\n customerWebSite: data.customerWebSite,\r\n // customerActive: data.customerActive,\r\n customerStatusID: tempOptions.customerStatusIDValue?.id,\r\n customerAccountManagerID: tempOptions.customerAccountManagerName?.id,\r\n // customerOperationsManagerID: data.customerOperationsManagerID,\r\n customerOperationsManagerName: data.customerOperationsManagerName,\r\n customerOperationsManagerPhone: data.customerOperationsManagerPhone,\r\n customerOperationsManagerEmail: data.customerOperationsManagerEmail,\r\n customerFinanceDirectorName: data.customerFinanceDirectorName,\r\n customerFinanceDirectorPhone: data.customerFinanceDirectorPhone,\r\n customerFinanceDirectorEmail: data.customerFinanceDirectorEmail,\r\n // customerCurrencyID: tempOptions.customerCurrencyIDValue?.id,\r\n customerISOWeekStartDay: tempOptions.ISODaysValue?.id,\r\n customerSendEmailNotifications: data.customerSendEmailNotifications || false,\r\n // customerSendVehicleNotification: data.customerSendVehicleNotification || false,\r\n // customerVehicleNotificationEmail: data.customerVehicleNotificationEmail,\r\n customerSendDefectEmail: data.customerSendDefectEmail || false,\r\n customerDefectEmail: data.customerDefectEmail,\r\n customerSendBreakdownEmail: data.customerSendBreakdownEmail || false,\r\n customerBreakdownEmail: data.customerBreakdownEmail,\r\n customerSendFailedDailyCheck: data.customerSendFailedDailyCheck || false,\r\n customerFailedDailyCheckEmail: data.customerFailedDailyCheckEmail,\r\n // ccheduleCompletionReminder: data.ccheduleCompletionReminder,\r\n sendScheduleConfirmation: data.sendScheduleConfirmation || false,\r\n customerScheduleConfirmationEmail: data.customerScheduleConfirmationEmail,\r\n customerSendScheduleCompletion: data.customerSendScheduleCompletion || false,\r\n customerScheduleCompletionEmail: data.customerScheduleCompletionEmail,\r\n customerSendVOREmail: data.customerSendVOREmail || false,\r\n customerVOREmail: data.customerVOREmail,\r\n customerSendQueryResponseReceived: data.customerSendQueryResponseReceived || false,\r\n customerQueryResponseReceivedEmail: data.customerQueryResponseReceivedEmail,\r\n customerSendJobApprovalRequired: data.customerSendJobApprovalRequired || false,\r\n customerJobApprovalRequiredEmail: data.customerJobApprovalRequiredEmail,\r\n // customerVORMobileNumbers: data.customerVORMobileNumbers,\r\n // customerVORHours: data.customerVORHours,\r\n // oLicenseWarningInterval: data.oLicenseWarningInterval,\r\n // oLicenseWarningFollowupInterval: data.oLicenseWarningFollowupInterval,\r\n customerAutoApprovalLimit: data.customerAutoApprovalLimit,\r\n customerRechargeMarkup: data.customerRechargeMarkup,\r\n customerInspectionSheetHeadingBackgroundColour: data.customerInspectionSheetHeadingBackgroundColour,\r\n customerInspectionSheetHeadingTextColour: data.customerInspectionSheetHeadingTextColour,\r\n // autoApproveDays: data.autoApproveDays,\r\n // overdueQueriesDays: data.overdueQueriesDays,\r\n // autoApproveQueryDays: data.autoApproveQueryDays,\r\n //autoApproveOrderAckNo: data.autoApproveOrderAckNo,\r\n // customerAllowedDayRange: data.customerAllowedDayRange,\r\n // customerDisplayDefectsMonths: data.customerDisplayDefectsMonths,\r\n customerHandlingDefects: data.customerHandlingDefects || false,\r\n handlingOLicense: data.handlingOLicense || false,\r\n // autoCreateMileageBasedService: data.autoCreateMileageBasedService,\r\n customerEarnedRecognition: data.customerEarnedRecognition || false,\r\n customerERStartDate: data.customerERStartDate,\r\n customerLogo: data.customerLogo,\r\n customerLicenceCheckAccountCode: data.customerLicenceCheckAccountCode,\r\n customerCountryCode: data.customerCountryCode,\r\n customerInspectionEventID: tempOptions.customerInspectionEventIDValue?.id,\r\n customerPaymentDays: tempOptions.customerPaymentDaysValue?.id,\r\n customerAccountCode: data.customerAccountCode,\r\n customerOverdueReminderEmail: data.customerOverdueReminderEmail,\r\n customerSendOverdueReminderEmail: data.customerSendOverdueReminderEmail,\r\n customerSendInvoiceToDepot: invoice.customerSendInvoiceToDepot,\r\n customerUseAddressAsInvoiceAddress: invoice.customerUseAddressAsInvoiceAddress,\r\n customerInvoiceAddress1: invoice.customerInvoiceAddress1,\r\n customerInvoiceAddress2: invoice.customerInvoiceAddress2,\r\n customerInvoiceAddressCity: invoice.customerInvoiceAddressCity,\r\n customerInvoiceAddressCounty: invoice.customerInvoiceAddressCounty,\r\n customerInvoiceAddressPostCode: invoice.customerInvoiceAddressPostCode,\r\n customerInvoiceAddressCountryCode: invoice.customerInvoiceAddressCountryCode,\r\n customerInvoiceEmailAddress: invoice.customerInvoiceEmailAddress,\r\n customerEmailInvoices: invoice.customerEmailInvoices,\r\n customerTableHeaderBackgroundColour: data.customerTableHeaderBackgroundColour,\r\n customerTableHeaderColour: data.customerTableHeaderColour,\r\n customerOddRowBackgroundColour: data.customerOddRowBackgroundColour,\r\n customerOddRowColour: data.customerOddRowColour,\r\n customerEvenRowBackgroundColour: data.customerEvenRowBackgroundColour,\r\n customerEvenRowColour: data.customerEvenRowColour,\r\n customerLabourRate: data.customerLabourRate,\r\n customerOutOfHoursLabourRate: data.customerOutOfHoursLabourRate,\r\n customerVORHours: data.customerVORHours,\r\n customerVORTimed: data.customerVORTimed\r\n });\r\n return res;\r\n};\r\n\r\nexport const getCustomerDropDown = async (Id) => {\r\n let res = await getWithAuth(`Customers/CustomersscreenDropdowns`);\r\n return res;\r\n};\r\n\r\nexport const postImportMileage = async (data) => {\r\n let res = await postWithAuth(`OdometerReadings/ImportMileageData`, data);\r\n return res;\r\n};\r\n\r\nexport const postImportJourney = async (data) => {\r\n let res = await postWithAuth(`Journeys/ImportJourneyData`, data);\r\n return res;\r\n};\r\n\r\nexport const postImportDepot = async (CustomerID, FileData) => {\r\n let res = await postWithAuth(`Depots/ImportDepotData/${CustomerID}`, FileData);\r\n return res;\r\n};\r\n\r\nexport const postImportServiceAgent = async (CustomerID, FileData) => {\r\n let res = await postWithAuth(`ServiceAgents/ImportServiceAgentData/${CustomerID}`, FileData);\r\n return res;\r\n};\r\n\r\nexport const postImportFuel = async (data) => {\r\n let res = await postWithAuth(`FuelPurchases/ImportFuelPurchases`, data);\r\n return res;\r\n};\r\n\r\nexport const getVORVehiclesByType = async (Id, start, end, vehicleCategoryID, makeID) => {\r\n let res = await getWithAuth(\r\n `Customers/VORVehiclesByType?id=${Id || ''}&StartDate=${start}&EndDate=${end}&vehicleCategoryID=${vehicleCategoryID}&makeID=${makeID}`\r\n );\r\n return res;\r\n};\r\nexport const getTop10VORVehiclesByOccurance = async (Id) => {\r\n let res = await getWithAuth(`Customers/Top10VORVehiclesByOccurance?id=${Id && Id}`);\r\n return res;\r\n};\r\nexport const getTop10VORVehiclesByDays = async (Id) => {\r\n let res = await getWithAuth(`Customers/Top10VORVehiclesByDays?id=${Id && Id}`);\r\n return res;\r\n};\r\n","import InputText from \"./index\";\r\nimport { MandatoryField } from \"./MandatoryField\";\r\n\r\nexport const PositiveInput = (props) => {\r\n const checkPrevention = (event) => {\r\n if (/[^0-9]/.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n };\r\n return ;\r\n};\r\n\r\nexport const MandatoryPositiveInput = (props) => {\r\n const checkPrevention = (event) => {\r\n if (/[^0-9]/.test(event.key)) {\r\n event.preventDefault();\r\n }\r\n };\r\n return ;\r\n};\r\n","import { createContext, useCallback, useEffect, useState } from 'react';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { addCustomeres, updateCustomer, getCustomerById, getCustomerDropDown } from '../../../../Core/Services/InternalUser/ControllerService/customerService';\r\nimport { emailValidation, validatePostCode, validatePostCodeWothCountryCode } from '../../../../Core/Basic/StaticService';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { isNull } from 'lodash';\r\n\r\nexport const CustomerScreenContext = createContext();\r\n\r\nconst ISODays = [\r\n { id: 1, name: 'Monday' },\r\n { id: 2, name: 'Tuesday' },\r\n { id: 3, name: 'Wednesday' },\r\n { id: 4, name: 'Thursday' },\r\n { id: 5, name: 'Friday' },\r\n { id: 6, name: 'Saturday' }\r\n];\r\n\r\nconst countryList = [\r\n { id: 'GB', name: 'GB' },\r\n { id: 'IE', name: 'IE' }\r\n];\r\n\r\nexport const CustomerProvider = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n let history = useHistory();\r\n\r\n const [state, setState] = useState({\r\n errors: {},\r\n autoApproveDays: null,\r\n autoCreateMileageBasedService: false,\r\n customerAccountManagerID: '',\r\n customerActive: false,\r\n customerAddress1: '',\r\n customerAddress2: '',\r\n customerAllowedDayRange: null,\r\n customerAltCompanyName: '',\r\n customerAutoApprovalLimit: '',\r\n customerBreakdownEmail: '',\r\n customerCity: '',\r\n customerCompanyName: '',\r\n customerCountryCode: '',\r\n customerCounty: '',\r\n customerInspectionEventID: null,\r\n customerDateCreated: '',\r\n customerDateDeleted: null,\r\n customerDateUpdated: '',\r\n customerDefectEmail: '',\r\n customerDisplayDefectsMonths: null,\r\n customerERStartDate: '',\r\n customerEarnedRecognition: false,\r\n customerEmail: '',\r\n customerFailedDailyCheckEmail: '',\r\n customerFinanceDirectorEmail: '',\r\n customerFinanceDirectorName: '',\r\n customerFinanceDirectorPhone: '',\r\n customerHandlingDefects: false,\r\n customerID: null,\r\n customerISOWeekStartDay: '',\r\n customerJobApprovalRequiredEmail: '',\r\n customerOperationsManagerEmail: '',\r\n customerOperationsManagerID: '',\r\n customerOperationsManagerName: '',\r\n customerOperationsManagerPhone: '',\r\n customerPostCode: '',\r\n customerQueryResponseReceivedEmail: '',\r\n customerScheduleCompletionEmail: '',\r\n customerScheduleConfirmationEmail: '',\r\n customerSendBreakdownEmail: false,\r\n customerSendDefectEmail: false,\r\n customerSendEmailNotifications: false,\r\n customerSendFailedDailyCheck: false,\r\n customerSendJobApprovalRequired: false,\r\n customerSendQueryResponseReceived: false,\r\n customerSendScheduleCompletion: false,\r\n customerSendVOREmail: false,\r\n customerSendVehicleNotification: false,\r\n customerShortName: '',\r\n customerStatusID: '',\r\n customerTelephone: '',\r\n customerVOREmail: '',\r\n customerVORHours: null,\r\n customerVORMobileNumbers: null,\r\n customerVehicleNotificationEmail: '',\r\n customerWebSite: '',\r\n handlingOLicense: false,\r\n oLicenseWarningFollowupInterval: null,\r\n oLicenseWarningInterval: null,\r\n customerRechargeMarkup: '',\r\n customerInspectionSheetHeadingBackgroundColour: 'red',\r\n customerInspectionSheetHeadingTextColour: 'red',\r\n scheduleCompletionReminder: false,\r\n sendScheduleConfirmation: false,\r\n isLoader: true,\r\n\r\n customerLogo: '',\r\n customerPaymentDays: null,\r\n customerAccountCode: null,\r\n customerOverdueReminderEmail: '',\r\n customerSendOverdueReminderEmail: false,\r\n customerTableHeaderBackgroundColour: '',\r\n customerTableHeaderColour: '',\r\n customerOddRowBackgroundColour: '',\r\n customerOddRowColour: '',\r\n customerEvenRowBackgroundColour: '',\r\n customerEvenRowColour: '',\r\n customerLabourRate: null,\r\n customerOutOfHoursLabourRate: null,\r\n\r\n customerVORTimed: false,\r\n customerVORHours: null\r\n\r\n // customerSendInvoiceToDepot: false,\r\n // customerEmailInvoices: false,\r\n // customerUseAddressAsInvoiceAddress: false\r\n });\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const [optionsState, setOptionState] = useState({\r\n // currencyList: [],\r\n aCManagerList: [],\r\n tradingStatusList: [],\r\n operationsManagerList: [],\r\n customerStatusList: [],\r\n scheduleEventsList: [],\r\n customerPaymentDaysList: [\r\n { name: '30 Days', id: 30 },\r\n { name: '45 Days', id: 45 },\r\n { name: '60 Days', id: 60 },\r\n { name: '90 Days', id: 90 }\r\n ]\r\n });\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n customerAccountManagerName: null,\r\n ISODaysValue: null,\r\n // customerCurrencyIDValue: null,\r\n customerStatusIDValue: null,\r\n customerInspectionEventIDValue: null,\r\n customerPaymentDaysValue: null\r\n });\r\n\r\n // const [invoiceFields, setInvoiceFields] = useState({\r\n // customerSendInvoiceToDepot: false,\r\n // customerUseAddressAsInvoiceAddress: false,\r\n // customerInvoiceAddress1: null,\r\n // customerInvoiceAddress2: null,\r\n // customerInvoiceAddressCity: null,\r\n // customerInvoiceAddressCounty: null,\r\n // customerInvoiceAddressPostCode: null,\r\n // customerInvoiceAddressCountryCode: null,\r\n // customerInvoiceEmailAddress: null,\r\n // customerEmailInvoices: false\r\n // });\r\n\r\n useEffect(async () => {\r\n pullCustomerdata();\r\n }, []);\r\n\r\n const pullCustomerdata = async () => {\r\n let list = await getCustomerDropDown();\r\n setOptionState((st) => ({\r\n ...st,\r\n aCManagerList: list.data.accountManager,\r\n tradingStatusList: list.data.tradingStatus,\r\n operationsManagerList: list.data.operationManager,\r\n customerStatusList: list.data.customerStatus,\r\n scheduleEventsList: list.data.scheduleEvents.map((x) => {\r\n return { id: x.scheduleEventID, name: x.scheduleEventName };\r\n })\r\n }));\r\n if (props.customerID) {\r\n let res = await getCustomerById(props.customerID);\r\n\r\n const data = res.data?.list[0];\r\n\r\n console.log(data)\r\n\r\n setInvoiceFields((st) => ({\r\n ...st,\r\n customerSendInvoiceToDepot: data?.customerSendInvoiceToDepot,\r\n customerUseAddressAsInvoiceAddress: data?.customerUseAddressAsInvoiceAddress,\r\n customerInvoiceAddress1: data?.customerInvoiceAddress1,\r\n customerInvoiceAddress2: data?.customerInvoiceAddress2,\r\n customerInvoiceAddressCity: data?.customerInvoiceAddressCity,\r\n customerInvoiceAddressCounty: data?.customerInvoiceAddressCounty,\r\n customerInvoiceAddressPostCode: data?.customerInvoiceAddressPostCode,\r\n customerInvoiceAddressCountryCode: data?.customerInvoiceAddressCountryCode,\r\n customerInvoiceEmailAddress: data?.customerInvoiceEmailAddress,\r\n customerEmailInvoices: data?.customerEmailInvoices\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n customerID: data.customerID,\r\n customerShortName: data.customerShortName,\r\n customerCompanyName: data.customerCompanyName,\r\n customerAddress1: data.customerAddress1,\r\n customerAddress2: data.customerAddress2,\r\n customerCity: data.customerCity,\r\n customerCounty: data.customerCounty,\r\n customerPostCode: data.customerPostCode,\r\n customerCountryCode: data.customerCountryCode,\r\n customerTelephone: data.customerTelephone,\r\n customerEmail: data.customerEmail,\r\n customerWebSite: data.customerWebSite,\r\n customerActive: data.customerActive,\r\n customerStatusID: data.customerStatusID,\r\n customerAccountManagerID: data.customerAccountManagerID,\r\n customerOperationsManagerID: data.customerOperationsManagerID,\r\n customerOperationsManagerName: data.customerOperationsManagerName,\r\n customerOperationsManagerPhone: data.customerOperationsManagerPhone,\r\n customerOperationsManagerEmail: data.customerOperationsManagerEmail,\r\n customerFinanceDirectorName: data.customerFinanceDirectorName,\r\n customerFinanceDirectorPhone: data.customerFinanceDirectorPhone,\r\n customerFinanceDirectorEmail: data.customerFinanceDirectorEmail,\r\n // customerCurrencyID: data.customerCurrencyID,\r\n customerInspectionEventID: data.customerInspectionEventID,\r\n customerISOWeekStartDay: data.customerISOWeekStartDay,\r\n customerSendEmailNotifications: data.customerSendEmailNotifications || false,\r\n customerSendVehicleNotification: data.customerSendVehicleNotification || false,\r\n customerVehicleNotificationEmail: data.customerVehicleNotificationEmail,\r\n customerSendDefectEmail: data.customerSendDefectEmail || false,\r\n customerDefectEmail: data.customerDefectEmail,\r\n customerSendBreakdownEmail: data.customerSendBreakdownEmail || false,\r\n customerBreakdownEmail: data.customerBreakdownEmail,\r\n customerSendFailedDailyCheck: data.customerSendFailedDailyCheck || false,\r\n customerFailedDailyCheckEmail: data.customerFailedDailyCheckEmail,\r\n ccheduleCompletionReminder: data.ccheduleCompletionReminder,\r\n sendScheduleConfirmation: data.sendScheduleConfirmation,\r\n customerScheduleConfirmationEmail: data.customerScheduleConfirmationEmail,\r\n customerSendScheduleCompletion: data.customerSendScheduleCompletion || false,\r\n customerScheduleCompletionEmail: data.customerScheduleCompletionEmail,\r\n customerSendVOREmail: data.customerSendVOREmail || false,\r\n customerVOREmail: data.customerVOREmail,\r\n customerSendQueryResponseReceived: data.customerSendQueryResponseReceived || false,\r\n customerQueryResponseReceivedEmail: data.customerQueryResponseReceivedEmail,\r\n customerSendJobApprovalRequired: data.customerSendJobApprovalRequired || false,\r\n customerJobApprovalRequiredEmail: data.customerJobApprovalRequiredEmail,\r\n customerVORMobileNumbers: data.customerVORMobileNumbers,\r\n customerVORHours: data.customerVORHours,\r\n oLicenseWarningInterval: data.oLicenseWarningInterval,\r\n oLicenseWarningFollowupInterval: data.oLicenseWarningFollowupInterval,\r\n customerAutoApprovalLimit: data.customerAutoApprovalLimit,\r\n autoApproveDays: data.autoApproveDays,\r\n customerRechargeMarkup: data.customerRechargeMarkup,\r\n customerInspectionSheetHeadingBackgroundColour: data.customerInspectionSheetHeadingBackgroundColour,\r\n customerInspectionSheetHeadingTextColour: data.customerInspectionSheetHeadingTextColour,\r\n customerAllowedDayRange: data.customerAllowedDayRange,\r\n customerDisplayDefectsMonths: data.customerDisplayDefectsMonths,\r\n customerHandlingDefects: data.customerHandlingDefects || false,\r\n handlingOLicense: data.handlingOLicense || false,\r\n autoCreateMileageBasedService: data.autoCreateMileageBasedService,\r\n customerEarnedRecognition: data.customerEarnedRecognition || false,\r\n customerERStartDate: data.customerERStartDate,\r\n customerLogo: data.customerLogo,\r\n customerLicenceCheckAccountCode: data.customerLicenceCheckAccountCode,\r\n credits: res.data.credits,\r\n isLoader: false,\r\n customerPaymentDays: data.customerPaymentDays,\r\n customerAccountCode: data.customerAccountCode,\r\n customerOverdueReminderEmail: data.customerOverdueReminderEmail,\r\n customerSendOverdueReminderEmail: data.customerSendOverdueReminderEmail,\r\n customerTableHeaderBackgroundColour: data.customerTableHeaderBackgroundColour,\r\n customerTableHeaderColour: data.customerTableHeaderColour,\r\n customerOddRowBackgroundColour: data.customerOddRowBackgroundColour,\r\n customerOddRowColour: data.customerOddRowColour,\r\n customerEvenRowBackgroundColour: data.customerEvenRowBackgroundColour,\r\n customerEvenRowColour: data.customerEvenRowColour,\r\n customerLabourRate: data.customerLabourRate,\r\n customerOutOfHoursLabourRate: data.customerOutOfHoursLabourRate,\r\n customerVORTimed: data.customerVORTimed,\r\n customerVORHours: data.customerVORHours\r\n }));\r\n }\r\n };\r\n\r\n const invoiceFieldsChange = (e) => {\r\n const { name, value, type, checked } = e.target;\r\n\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setInvoiceFields((st) => ({ ...st, ...invoiceInfo, [name]: true }));\r\n } else if (value === 'false' && type?.toLowerCase() === 'radio') {\r\n setInvoiceFields((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setInvoiceFields((st) => ({ ...st, [name]: value }));\r\n }\r\n };\r\n\r\n let invoiceInfo = {\r\n // customerUseAddressAsInvoiceAddress: false,\r\n customerInvoiceAddress1: '',\r\n customerInvoiceAddress2: '',\r\n customerInvoiceAddressCity: '',\r\n customerInvoiceAddressCounty: '',\r\n customerInvoiceAddressPostCode: '',\r\n customerInvoiceAddressCountryCode: 'GB',\r\n customerInvoiceEmailAddress: '',\r\n customerEmailInvoices: false\r\n // customerSendInvoiceToDepot: false\r\n };\r\n\r\n const [invoiceFields, setInvoiceFields] = useState({\r\n ...invoiceInfo,\r\n customerUseAddressAsInvoiceAddress: false,\r\n customerSendInvoiceToDepot: false,\r\n\r\n errors: {}\r\n });\r\n\r\n const invoiceCheckBox = (e) => {\r\n const { name, checked } = e.target;\r\n\r\n setInvoiceFields((st) => ({ ...st, [name]: checked }));\r\n };\r\n\r\n const setVal = (s) => {\r\n setState((st) => ({\r\n ...st,\r\n customerAddress1: s.addressLine1,\r\n customerAddress2: s.addressLine2,\r\n customerCity: s.town,\r\n customerCounty: s.county,\r\n customerPostCode: s.postCode\r\n }));\r\n };\r\n\r\n const activeLoader = (params) => {\r\n setState((st) => ({\r\n ...st,\r\n isLoader: params\r\n }));\r\n };\r\n const closeLoader = () => {\r\n setState((st) => ({\r\n ...st,\r\n isLoader: false\r\n }));\r\n };\r\n\r\n const setInvoiceVal = (s) => {\r\n setInvoiceFields((st) => ({\r\n ...st,\r\n customerInvoiceAddress1: s.addressLine1,\r\n customerInvoiceAddress2: s.addressLine2,\r\n customerInvoiceAddressCity: s.town,\r\n customerInvoiceAddressCounty: s.county,\r\n customerInvoiceAddressPostCode: s.postCode\r\n }));\r\n };\r\n\r\n useEffect(() => {\r\n let customerAccountManagerName = null;\r\n let ISODaysValue = null;\r\n let customerStatusIDValue = null;\r\n let customerInspectionEventIDValue = null;\r\n let customerPaymentDaysValue = null;\r\n\r\n if (state.customerAccountManagerID) {\r\n customerAccountManagerName = optionsState.aCManagerList.find(({ id }) => id === state.customerAccountManagerID);\r\n }\r\n if (state.customerISOWeekStartDay) {\r\n ISODaysValue = ISODays.find(({ id }) => id === state.customerISOWeekStartDay);\r\n }\r\n if (state.customerStatusID) {\r\n customerStatusIDValue = optionsState.customerStatusList.find(({ id }) => id === state.customerStatusID);\r\n }\r\n if (state.customerInspectionEventID) {\r\n customerInspectionEventIDValue = optionsState.scheduleEventsList.find(({ id }) => id === state.customerInspectionEventID);\r\n }\r\n if (state.customerPaymentDays) {\r\n customerPaymentDaysValue = optionsState.customerPaymentDaysList.find(({ id }) => id === state.customerPaymentDays);\r\n }\r\n setTempOptions((st) => ({\r\n ...st,\r\n customerAccountManagerName: customerAccountManagerName,\r\n ISODaysValue: ISODaysValue,\r\n // customerCurrencyIDValue: customerCurrencyIDValue,\r\n customerStatusIDValue: customerStatusIDValue,\r\n customerInspectionEventIDValue: customerInspectionEventIDValue,\r\n customerPaymentDaysValue: customerPaymentDaysValue\r\n }));\r\n }, [\r\n state.customerPaymentDays,\r\n state.customerAccountManagerID,\r\n state.customerISOWeekStartDay,\r\n // state.customerCurrencyID,\r\n state.customerStatusID,\r\n state.customerInspectionEventID\r\n ]);\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: true }));\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setState((st) => ({ ...st, [name]: value }));\r\n }\r\n }, []);\r\n\r\n const resetInput = (name) => {\r\n setState((st) => ({ ...st, [name]: '' }));\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const clearImage = () => {\r\n if (state.customerLogo) {\r\n setState((st) => ({ ...st, customerLogo: null }));\r\n }\r\n };\r\n\r\n const onColorChange = (updatedColor, name) => {\r\n if (updatedColor) {\r\n setState((state) => ({\r\n ...state,\r\n [name]: updatedColor?.hex\r\n }));\r\n }\r\n };\r\n\r\n let imagehandler = (event) => {\r\n let reader = new FileReader();\r\n reader.onload = (e) => {\r\n const { result } = e.target;\r\n setState((st) => ({ ...st, customerLogo: result }));\r\n };\r\n reader.readAsDataURL(event.target.files[0]);\r\n };\r\n\r\n const validations = () => {\r\n const {\r\n customerShortName,\r\n customerCompanyName,\r\n customerStatusID,\r\n customerAddress1,\r\n customerPostCode,\r\n customerAutoApprovalLimit,\r\n // autoApproveQueryDays,\r\n customerRechargeMarkup,\r\n customerTelephone,\r\n customerOperationsManagerPhone,\r\n customerFinanceDirectorPhone,\r\n customerEmail,\r\n customerOperationsManagerEmail,\r\n customerFinanceDirectorEmail,\r\n customerDefectEmail,\r\n customerBreakdownEmail,\r\n customerVOREmail,\r\n customerFailedDailyCheckEmail,\r\n customerScheduleConfirmationEmail,\r\n customerScheduleCompletionEmail,\r\n customerQueryResponseReceivedEmail,\r\n customerJobApprovalRequiredEmail,\r\n customerSendDefectEmail,\r\n customerSendBreakdownEmail,\r\n customerSendVOREmail,\r\n customerSendFailedDailyCheck,\r\n customerSendScheduleCompletion,\r\n sendScheduleConfirmation,\r\n customerSendQueryResponseReceived,\r\n customerSendJobApprovalRequired,\r\n countryCode,\r\n customerCountryCode,\r\n customerSendOverdueReminderEmail,\r\n customerOverdueReminderEmail\r\n } = state;\r\n const { customerStatusIDValue } = tempOptions;\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n if (!/[^\\s]/.test(customerShortName)) {\r\n errors.customerShortName = 'Customer Short Name is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(customerCompanyName)) {\r\n errors.customerCompanyName = 'Customer Name is required';\r\n formIsValid = false;\r\n }\r\n if (isNull(customerStatusIDValue)) {\r\n errors.customerStatusID = 'Status is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(customerAddress1)) {\r\n errors.customerAddress1 = 'Address is required';\r\n formIsValid = false;\r\n }\r\n // if (!validatePostCode(customerPostCode)) {\r\n // errors.customerPostCode = `Please fill valid post code, \"Ex: BB11AA\"`;\r\n //\r\n if (!customerCountryCode) {\r\n errors.countryCode = 'Country code is required.';\r\n formIsValid = false;\r\n }\r\n if (state.customerCountryCode === 'GB') {\r\n if (customerCountryCode && !validatePostCodeWothCountryCode(customerCountryCode, customerPostCode)) {\r\n errors.customerPostCode = `Please fill valid post code`;\r\n formIsValid = false;\r\n }\r\n }\r\n\r\n if (customerAutoApprovalLimit < 0) {\r\n errors.customerAutoApprovalLimit = 'Limit can not be negative';\r\n formIsValid = false;\r\n }\r\n // if (autoApproveQueryDays < 0) {\r\n // errors.autoApproveQueryDays = 'Days can not be negative';\r\n // formIsValid = false;\r\n // }\r\n // if (overdueQueriesDays < 0) {\r\n // errors.overdueQueriesDays = 'Days can not be negative';\r\n // formIsValid = false;\r\n // }\r\n\r\n let phoneReg = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/;\r\n if (!phoneReg.test(customerTelephone) && /[^\\s]/.test(customerTelephone) && !isNull(customerTelephone)) {\r\n errors.customerTelephone = 'Invalid phone number';\r\n formIsValid = false;\r\n }\r\n if (!phoneReg.test(customerOperationsManagerPhone) && /[^\\s]/.test(customerOperationsManagerPhone) && !isNull(customerOperationsManagerPhone)) {\r\n errors.customerOperationsManagerPhone = 'Invalid phone number';\r\n formIsValid = false;\r\n }\r\n if (!phoneReg.test(customerFinanceDirectorPhone) && /[^\\s]/.test(customerFinanceDirectorPhone) && !isNull(customerFinanceDirectorPhone)) {\r\n errors.customerFinanceDirectorPhone = 'Invalid phone number';\r\n formIsValid = false;\r\n }\r\n\r\n if (\r\n customerSendDefectEmail ||\r\n customerSendBreakdownEmail ||\r\n customerSendVOREmail ||\r\n customerSendFailedDailyCheck ||\r\n customerSendScheduleCompletion ||\r\n sendScheduleConfirmation ||\r\n customerSendQueryResponseReceived ||\r\n customerSendJobApprovalRequired ||\r\n customerSendOverdueReminderEmail\r\n ) {\r\n if (customerSendDefectEmail && (!/[^\\s]/.test(customerDefectEmail) || isNull(customerDefectEmail))) {\r\n errors.customerDefectEmail = 'Email can not be empty for checked flag';\r\n formIsValid = false;\r\n }\r\n if (customerSendBreakdownEmail && (!/[^\\s]/.test(customerBreakdownEmail) || isNull(customerBreakdownEmail))) {\r\n errors.customerBreakdownEmail = 'Email can not be empty for checked flag';\r\n formIsValid = false;\r\n }\r\n if (customerSendVOREmail && (!/[^\\s]/.test(customerVOREmail) || isNull(customerVOREmail))) {\r\n errors.customerVOREmail = 'Email can not be empty for checked flag';\r\n formIsValid = false;\r\n }\r\n if (customerSendFailedDailyCheck && (!/[^\\s]/.test(customerFailedDailyCheckEmail) || isNull(customerFailedDailyCheckEmail))) {\r\n errors.customerFailedDailyCheckEmail = 'Email can not be empty for checked flag';\r\n formIsValid = false;\r\n }\r\n if (sendScheduleConfirmation && (!/[^\\s]/.test(customerScheduleConfirmationEmail) || isNull(customerScheduleConfirmationEmail))) {\r\n errors.customerScheduleConfirmationEmail = 'Email can not be empty for checked flag';\r\n formIsValid = false;\r\n }\r\n if (customerSendScheduleCompletion && (!/[^\\s]/.test(customerScheduleCompletionEmail) || isNull(customerScheduleCompletionEmail))) {\r\n errors.customerScheduleCompletionEmail = 'Email can not be empty for checked flag';\r\n formIsValid = false;\r\n }\r\n if (customerSendQueryResponseReceived && (!/[^\\s]/.test(customerQueryResponseReceivedEmail) || isNull(customerQueryResponseReceivedEmail))) {\r\n errors.customerQueryResponseReceivedEmail = 'Email can not be empty for checked flag';\r\n formIsValid = false;\r\n }\r\n if (customerSendJobApprovalRequired && (!/[^\\s]/.test(customerJobApprovalRequiredEmail) || isNull(customerJobApprovalRequiredEmail))) {\r\n errors.customerJobApprovalRequiredEmail = 'Email can not be empty for checked flag';\r\n formIsValid = false;\r\n }\r\n if (customerSendOverdueReminderEmail && (!/[^\\s]/.test(customerOverdueReminderEmail) || isNull(customerOverdueReminderEmail))) {\r\n errors.customerOverdueReminderEmail = 'Email can not be empty for checked flag';\r\n formIsValid = false;\r\n }\r\n }\r\n\r\n let emailReg = /[^@ \\t\\r\\n]+@[^@ \\t\\r\\n]+\\.[^@ \\t\\r\\n]+/;\r\n\r\n if (!emailValidation(customerEmail) && /[^\\s]/.test(customerEmail) && !isNull(customerEmail)) {\r\n errors.customerEmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n if (!emailValidation(customerOperationsManagerEmail) && /[^\\s]/.test(customerOperationsManagerEmail) && !isNull(customerOperationsManagerEmail)) {\r\n errors.customerOperationsManagerEmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n\r\n if (!emailValidation(customerFinanceDirectorEmail) && /[^\\s]/.test(customerFinanceDirectorEmail) && !isNull(customerFinanceDirectorEmail)) {\r\n errors.customerFinanceDirectorEmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n if (!emailValidation(customerDefectEmail) && /[^\\s]/.test(customerDefectEmail) && !isNull(customerDefectEmail)) {\r\n errors.customerDefectEmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n if (!emailValidation(customerBreakdownEmail) && /[^\\s]/.test(customerBreakdownEmail) && !isNull(customerBreakdownEmail)) {\r\n errors.customerBreakdownEmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n if (!emailValidation(customerVOREmail) && /[^\\s]/.test(customerVOREmail) && !isNull(customerVOREmail)) {\r\n errors.customerVOREmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n if (!emailValidation(customerFailedDailyCheckEmail) && /[^\\s]/.test(customerFailedDailyCheckEmail) && !isNull(customerFailedDailyCheckEmail)) {\r\n errors.customerFailedDailyCheckEmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n if (\r\n !emailValidation(customerScheduleConfirmationEmail) &&\r\n /[^\\s]/.test(customerScheduleConfirmationEmail) &&\r\n !isNull(customerScheduleConfirmationEmail)\r\n ) {\r\n errors.customerScheduleConfirmationEmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n if (!emailValidation(customerScheduleCompletionEmail) && /[^\\s]/.test(customerScheduleCompletionEmail) && !isNull(customerScheduleCompletionEmail)) {\r\n errors.customerScheduleCompletionEmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n if (\r\n !emailValidation(customerQueryResponseReceivedEmail) &&\r\n /[^\\s]/.test(customerQueryResponseReceivedEmail) &&\r\n !isNull(customerQueryResponseReceivedEmail)\r\n ) {\r\n errors.customerQueryResponseReceivedEmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n if (!emailValidation(customerJobApprovalRequiredEmail) && /[^\\s]/.test(customerJobApprovalRequiredEmail) && !isNull(customerJobApprovalRequiredEmail)) {\r\n errors.customerJobApprovalRequiredEmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n let res;\r\n setBtnLoader(true);\r\n if (props.customerID) {\r\n res = await updateCustomer(state, tempOptions, invoiceFields);\r\n } else {\r\n res = await addCustomeres(state, tempOptions, invoiceFields);\r\n }\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onFormSubmit(true);\r\n history.push(`/controller/customer`);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useState } from 'react';\r\nimport { SketchPicker } from 'react-color';\r\nimport reactCSS from 'reactcss';\r\n\r\nconst ColorPicker = (props) => {\r\n const [state, setState] = useState({\r\n showPicker: false,\r\n color: {\r\n r: '225',\r\n g: '155',\r\n b: '99',\r\n a: '2'\r\n }\r\n });\r\n const { onChange, color, height, width } = props;\r\n const onClick = () => {\r\n setState({\r\n showPicker: !state.showPicker\r\n });\r\n };\r\n\r\n const onClose = () => {\r\n setState({\r\n showPicker: false\r\n });\r\n };\r\n\r\n const styles = reactCSS({\r\n default: {\r\n color: {\r\n width: `${width || '100%'}`,\r\n height: `${height || '30px'}`,\r\n borderRadius: '3px',\r\n background: `${color}`\r\n },\r\n popover: {\r\n position: 'absolute',\r\n zIndex: '3'\r\n },\r\n cover: {\r\n position: 'fixed',\r\n top: '0px',\r\n right: '0px',\r\n bottom: '0px',\r\n left: '0px'\r\n },\r\n swatch: {\r\n width: `${width || '100%'}`, //'100%',\r\n padding: '6px',\r\n background: '#ffffff',\r\n borderRadius: '2px',\r\n cursor: 'pointer',\r\n display: 'inline-block',\r\n boxShadow: '0 0 0 1px rgba(0,0,0,.2)'\r\n }\r\n }\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {state.showPicker ? (\r\n
\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default ColorPicker;\r\n","import React, { useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormControlLabel, FormHelperText, InputLabel, Radio, RadioGroup, Typography } from '@material-ui/core';\r\nimport { SecondaryButton, SelectBox, BreadCrumbs, MandatoryField, SimpleField, DatePicker, SingleSelect } from '../../../../Core/Controls';\r\nimport { PositiveInput } from '../../../../Core/Controls/Inputs/PositiveInput';\r\nimport { CustomerProvider, CustomerScreenContext } from './CustomerProvider';\r\nimport { SecondaryCheckbox } from '../../../../Core/Controls';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport '../controllerStyle.scss';\r\nimport { useEffect } from 'react';\r\nimport moment from 'moment';\r\nimport { Tooltip } from '@material-ui/core';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { Postcode } from '../../../../Core/Controls';\r\nimport ColorPicker from '../../../../Core/Controls/ColorPicker';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Customers', active: true },\r\n { name: 'Add/Update Customer', active: true }\r\n];\r\n\r\nconst modelgridStyle = {\r\n gridContainer: { height: '600px' },\r\n formatterImageContainer: { width: '100%', textAlign: 'center' },\r\n formatterImage: { width: 120, maxHeight: 40, backgroundSize: 'cover' },\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\n\r\nconst FlaggedBox = (props) => {\r\n useEffect(() => {\r\n !props.chkValue && props.resetInput(props.txtName);\r\n }, [props.chkValue]);\r\n return (\r\n <>\r\n {props.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\nconst YesNoRadio = (props) => {\r\n return (\r\n \r\n \r\n {props.label}\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst AddEditCustomer = (props) => {\r\n const {\r\n state,\r\n btnLoader,\r\n handleSubmit,\r\n inputChange,\r\n handleCheckbox,\r\n resetInput,\r\n imagehandler,\r\n clearImage,\r\n setVal,\r\n singleSelectChange,\r\n ISODays,\r\n countryList,\r\n optionsState,\r\n tempOptions,\r\n onColorChange,\r\n invoiceFields,\r\n setInvoiceVal,\r\n invoiceFieldsChange,\r\n invoiceCheckBox\r\n } = useContext(CustomerScreenContext);\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n return (\r\n
\r\n {!props.customerID ? : null}\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n {state.errors.customerShortName}\r\n \r\n \r\n \r\n {state.errors.customerCompanyName}\r\n \r\n \r\n \r\n {state.errors.customerAccountCode}\r\n \r\n\r\n \r\n \r\n Status\r\n \r\n \r\n {/* */}\r\n {state.errors.customerStatusID}\r\n \r\n \r\n \r\n Country Code\r\n \r\n \r\n {state.errors.countryCode}\r\n \r\n\r\n \r\n \r\n {state.errors.customerAddress1}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n {state.errors.customerPostCode} */}\r\n \r\n \r\n \r\n \r\n {state.errors.customerTelephone}\r\n \r\n \r\n \r\n {state.errors.customerEmail}\r\n \r\n \r\n \r\n \r\n \r\n Account Manager\r\n \r\n {state.errors.aCManager}\r\n \r\n \r\n \r\n \r\n \r\n Earned Recognition Start Date\r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n Invoice Details\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {' '}\r\n \r\n \r\n {/* {invoiceFields.errors.customerDefectEmail} */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {invoiceFields.errors.customerAddress1} */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Country Code\r\n \r\n \r\n {/* {state.errors.countryCode} */}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {/* */}\r\n \r\n Contact Details\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.customerOperationsManagerPhone}\r\n \r\n \r\n \r\n {state.errors.customerOperationsManagerEmail}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.customerFinanceDirectorPhone}\r\n \r\n \r\n \r\n {state.errors.customerFinanceDirectorEmail}\r\n \r\n \r\n {/*
*/}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {/* */}\r\n \r\n Settings\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Payment Terms\r\n \r\n \r\n \r\n Order Approval Limit\r\n \r\n {state.errors.customerAutoApprovalLimit}\r\n \r\n \r\n Recharge Markup %\r\n \r\n \r\n \r\n ISO Week Start Day\r\n \r\n \r\n \r\n Schedule Event\r\n \r\n \r\n \r\n \r\n {state.errors.customerLabourRate}\r\n \r\n \r\n \r\n {state.errors.customerOutOfHoursLabourRate}\r\n \r\n \r\n {/*
*/}\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n {/* */}\r\n \r\n Notifications\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.customerDefectEmail}\r\n \r\n \r\n \r\n {state.errors.customerBreakdownEmail}\r\n \r\n \r\n \r\n {state.errors.customerVOREmail}\r\n \r\n \r\n \r\n {state.errors.customerFailedDailyCheckEmail}\r\n \r\n \r\n \r\n {state.errors.customerScheduleConfirmationEmail}\r\n \r\n \r\n \r\n {state.errors.customerScheduleCompletionEmail}\r\n \r\n \r\n \r\n {state.errors.customerQueryResponseReceivedEmail}\r\n \r\n \r\n \r\n {state.errors.customerJobApprovalRequiredEmail}\r\n \r\n \r\n \r\n {state.errors.customerOverdueReminderEmail}\r\n \r\n \r\n {/*
*/}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {/* */}\r\n \r\n Other Details\r\n \r\n
\r\n\r\n \r\n \r\n \r\n Inspection Sheet Heading Colour\r\n \r\n \r\n Background\r\n onColorChange(m, 'customerInspectionSheetHeadingBackgroundColour')}\r\n />\r\n \r\n \r\n Text\r\n onColorChange(m, 'customerInspectionSheetHeadingTextColour')}\r\n />\r\n \r\n \r\n \r\n \r\n Table Header Colour\r\n \r\n \r\n Background\r\n onColorChange(m, 'customerTableHeaderBackgroundColour')}\r\n />\r\n \r\n \r\n Text\r\n onColorChange(m, 'customerTableHeaderColour')}\r\n />\r\n \r\n \r\n \r\n \r\n Odd Row Colour\r\n \r\n \r\n Background\r\n onColorChange(m, 'customerOddRowBackgroundColour')}\r\n />\r\n \r\n \r\n Text\r\n onColorChange(m, 'customerOddRowColour')}\r\n />\r\n \r\n \r\n \r\n \r\n Even Row Colour\r\n \r\n \r\n Background\r\n onColorChange(m, 'customerEvenRowBackgroundColour')}\r\n />\r\n \r\n \r\n Text\r\n onColorChange(m, 'customerEvenRowColour')}\r\n />\r\n \r\n \r\n \r\n \r\n Customer Logo\r\n \r\n {state.customerLogo && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {checkhaveAccess?.CanUpdateCustomers && (\r\n \r\n \r\n {props.customerID ? 'Save' : 'Add'}\r\n \r\n \r\n )}\r\n \r\n \r\n Cancel\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const postMessageToAllCustomers = async (data) => {\r\n let res = await postWithAuth('CustomerMessages/SendMessageAllCustomers', data);\r\n return res;\r\n};\r\n\r\nexport const getMessageByID = async (id) => {\r\n let res = await getWithAuth(`JobMessages?JobID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const sendMessage = async (id, message) => {\r\n let res = await postWithAuth('JobMessages/SendMessage', {\r\n ID: id,\r\n Message: message\r\n });\r\n return res;\r\n};","import React, { useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryButton } from '../../../../Core/Controls';\r\nimport { MandatoryField } from '../../../../Core/Controls';\r\nimport { postMessageToAllCustomers } from '../../../../Core/Services/InternalUser/messageCustomer';\r\nimport { InputLabel, Typography } from '@material-ui/core';\r\nimport { InputText } from '../../../../Core/Controls';\r\nimport { FormHelperText } from '@material-ui/core';\r\nimport { Alert } from '@material-ui/lab';\r\n\r\nconst MsgAllCustomersModal = (props) => {\r\n const [state, setState] = useState({\r\n errors: {},\r\n message: '',\r\n });\r\n\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const validations = () => {\r\n const { message } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!message) {\r\n errors.message = 'Message is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n let res = await postMessageToAllCustomers({ message: state.message });\r\n if (res.success) {\r\n props.onFormSubmit();\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Clicking the submit button will send a message to all active customers.\r\n \r\n \r\n\r\n \r\n Message\r\n \r\n {state.errors.message}\r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MsgAllCustomersModal;\r\n","import { Button } from '@material-ui/core';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\n\r\nexport const FromLoader = (props) => {\r\n return (\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport const ModalLoader = () => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, Typography } from '@material-ui/core';\r\nimport { getCustomerById } from '../../../../Core/Services/InternalUser/ControllerService/customerService';\r\nimport { FromLoader } from '../../../../Core/Loader/formLoader';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { formatters } from '../../../../Core/Controls';\r\n\r\nfunction CustomerDetails(props) {\r\n const [state, setState] = useState({\r\n customerShortName: null,\r\n customerAddress1: null,\r\n customerAddress2: null,\r\n customerCounty: null,\r\n customerCity: null,\r\n customerPostCode: null,\r\n customerTelephone: null,\r\n customerEmail: null,\r\n loader: false\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.customerID) {\r\n let res = await getCustomerById(props.customerID);\r\n const data = res.data.list[0];\r\n setState((st) => ({\r\n ...st,\r\n customerShortName: data.customerShortName,\r\n customerCompanyName: data.customerCompanyName,\r\n customerAddress1: data.customerAddress1,\r\n customerAddress2: data.customerAddress2,\r\n customerCity: data.customerCity,\r\n customerCounty: data.customerCounty,\r\n customerPostCode: data.customerPostCode,\r\n customerTelephone: data.customerTelephone,\r\n customerEmail: data.customerEmail,\r\n loader: true\r\n }));\r\n }\r\n }, []);\r\n\r\n return (\r\n state.loader ? (\r\n \r\n \r\n Customer Name\r\n {state.customerShortName}\r\n \r\n \r\n Address\r\n \r\n {formatters.addressFormatter(\r\n state.customerAddress1,\r\n state.customerAddress2,\r\n state.customerCity,\r\n state.customerCounty,\r\n state.customerPostCode\r\n )}\r\n \r\n \r\n \r\n Email\r\n {formatters.mailFormatter(state.customerEmail)}\r\n \r\n \r\n Phone\r\n {formatters.phoneNumberFormatter(state.customerTelephone)}\r\n \r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )\r\n );\r\n}\r\n\r\nexport default CustomerDetails;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { getAllCustomer } from '../../../../Core/Services/InternalUser/ControllerService/customerService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { EditButton, DataGrid, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport AddEditCustomer from './addCustomer';\r\nimport '../../../commonStyle.scss';\r\nimport { Link } from 'react-router-dom';\r\nimport { useHistory } from 'react-router-dom';\r\nimport MsgAllCustomersModal from './MsgAllCustomersModal';\r\nimport { Modal } from '@material-ui/core';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport ChatBubble from '@material-ui/icons/ChatBubble';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport ReactDOM from 'react-dom';\r\nimport CustomerDetails from '../DetailsModal/customerDetails.jsx';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: '7%',\r\n addFileUploaderIcon: true\r\n },\r\n { key: 'customerCompanyName', name: 'Name', width: '15%' },\r\n {\r\n key: 'vehicles',\r\n name: 'Vehicles',\r\n // headerRenderer: formatters.ColumnHeaderAlignRight,\r\n formatter: formatters.ColumnTextAlignRight,\r\n width: '5%'\r\n },\r\n {\r\n key: 'breakdowns',\r\n name: 'Breakdowns',\r\n // headerRenderer: formatters.ColumnHeaderAlignRight,\r\n formatter: formatters.ColumnTextAlignRight,\r\n width: '7%'\r\n },\r\n {\r\n key: 'defects',\r\n name: 'Defects',\r\n // headerRenderer: formatters.ColumnHeaderAlignRight,\r\n formatter: formatters.ColumnTextAlignRight,\r\n width: '4%'\r\n },\r\n // { key: 'customerCity', name: 'City' },\r\n // { key: 'customerPostCode', name: 'Post Code' },\r\n {\r\n key: 'customerEmail',\r\n name: 'Email',\r\n width: '20%'\r\n },\r\n { key: 'customerTelephone', name: 'Phone', width: '10%' },\r\n {\r\n key: 'customerAddress',\r\n name: 'Address',\r\n formatter: (data) => formatters.addressFormatter(data.row?.customerAddress1, data.row?.customerCity, data.row?.customerPostCode)\r\n }\r\n];\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Customers', path: '/', active: true }\r\n];\r\n\r\nconst CustomerScreen = (props) => {\r\n const { showToastError } = useToast();\r\n let history = useHistory();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showMsgModal: false,\r\n showLoader: true,\r\n customerList: [],\r\n customerID: null\r\n });\r\n\r\n const pullCustomerAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n // useEffect(async () => {\r\n // pullCustomerAndUpdateState();\r\n // }, []);\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true\r\n // customerID: record.id\r\n }));\r\n };\r\n\r\n const onMsgClick = () => {\r\n setState((st) => ({\r\n ...st,\r\n showMsgModal: true\r\n }));\r\n };\r\n\r\n const closeModals = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false,\r\n showMsgModal: false\r\n }));\r\n res && pullCustomerAndUpdateState();\r\n };\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/editcustomer/${val.customerId}/${val.customerCompanyName}`\r\n });\r\n };\r\n\r\n const dataFormatter = (val, row) => {\r\n return (\r\n \r\n handleEditClick(row)} />\r\n \r\n );\r\n };\r\n\r\n const renderEmail = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk =
{formatters.mailFormatter(row.customerEmail)}
;\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customerCompanyName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showCustomerModal: false\r\n }));\r\n };\r\n\r\n const renderPhone = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk =
{formatters.phoneNumberFormatter(row.customerTelephone)}
;\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n let emailCol = tempCols.find((element) => element.key === 'customerEmail');\r\n let phoneCol = tempCols.find((element) => element.key === 'customerTelephone');\r\n let customerNameCol = tempCols.find((element) => element.key === 'customerCompanyName');\r\n if (phoneCol) {\r\n phoneCol.formatter = renderPhone;\r\n }\r\n if (emailCol) {\r\n emailCol.formatter = renderEmail;\r\n }\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (customerNameCol) {\r\n customerNameCol.formatter = renderCustomerName;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n return (\r\n
\r\n {state.showMsgModal ? (\r\n closeModals(true)} maxWidth=\"lg\">\r\n closeModals(true)} />\r\n \r\n ) : null}\r\n\r\n {state.show ? (\r\n closeModals(true)} />\r\n ) : (\r\n <>\r\n \r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n />\r\n \r\n )}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default CustomerScreen;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from \"../../../Basic/HttpService\";\r\n\r\nexport const getAllDepots = async (custID) => {\r\n let res = await getWithAuth(`depots?CustomerID=${custID}`);\r\n return res;\r\n};\r\n\r\nexport const getDepots = async () => {\r\n let res = await getWithAuth(`depots`);\r\n return res;\r\n};\r\n\r\nexport const getDepotById = async (Id) => {\r\n let res = await getWithAuth(`depots/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const getDropdown = async () => {\r\n let res = await getWithAuth(`depots/DepotsDropdowns`);\r\n return res;\r\n};\r\n\r\nexport const addDepot = async (data) => {\r\n let res = await postWithAuth(\"depots\", data);\r\n return res;\r\n};\r\n\r\nexport const updateDepot = async (data, id) => {\r\n let res = await putWithAuth(`depots/${id}`, data);\r\n return res;\r\n};\r\n","import { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { addDepot, updateDepot, getDepotById, getDropdown } from '../../../../Core/Services/InternalUser/ControllerService/depotsService';\r\nimport React, { createContext, useEffect, useState, useCallback } from 'react';\r\nimport { validatePostCode } from '../../../../Core/Basic/StaticService';\r\nimport { isNull } from 'lodash';\r\n\r\nexport const VehicleScreenContext = createContext();\r\nlet invoiceInfo = {\r\n depotUseAddressAsInvoiceAddress: false,\r\n depotInvoiceAddress1: '',\r\n depotInvoiceAddress2: '',\r\n depotInvoiceAddressCity: '',\r\n depotInvoiceAddressCounty: '',\r\n depotInvoiceAddressPostCode: '',\r\n depotInvoiceAddressCountryCode: 'GB',\r\n depotInvoiceEmailAddress: '',\r\n depotEmailInvoices: false\r\n};\r\nexport const VehicleProvider = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [depotFields, setDepotFields] = useState({\r\n name: '',\r\n address1: '',\r\n address2: '',\r\n depotTown: '',\r\n depotCounty: '',\r\n depotCountyCode: '',\r\n depotEmail: '',\r\n depotTelephone: '',\r\n depotPostCode: '',\r\n depotNotInUse: true,\r\n depotCustomersRef: '',\r\n serviceAgentID: '',\r\n firstDayofWeek: null,\r\n scheduleBookingModeList: [],\r\n depotVORMobileNumbers: '',\r\n depotContact: '',\r\n depotServiceAgentID: '',\r\n depotAgentSecondaryAgentID: '',\r\n serviceAgentsList: [],\r\n errors: {}\r\n });\r\n\r\n const [scheduleFields, setScheduleFields] = useState({\r\n errors: {},\r\n depotID: null,\r\n mergeSchedules: true,\r\n displayISOWeek: true,\r\n addPaperworkReceived: true,\r\n trafficStyleColourCoding: true,\r\n MergeRange: '',\r\n depotDefectNotificationEmail: '',\r\n sunday: false,\r\n monday: true,\r\n tuesday: false,\r\n wednesday: false,\r\n thursday: false,\r\n friday: false,\r\n saturday: false,\r\n depotAdditionalPlanningEmails: '',\r\n cPCHolderEmail: '',\r\n cPCHolderName: '',\r\n secondaryEmail: '',\r\n depotSecondaryContact: '',\r\n depotPCNEmail: '',\r\n depotAccountName: '',\r\n depotAccountEmail: '',\r\n depotThirdPartyPlannerEmailAddress: '',\r\n depotBreakdownNotificationEmail: '',\r\n depotTimedVehicleStatusUpdateEmail: '',\r\n depotSchedulePlannerEmail: '',\r\n depotNotes: '',\r\n scheduleBookingModeList: [],\r\n depotScheduleBookingMode: ''\r\n });\r\n\r\n const [invoiceFields, setInvoiceFields] = useState({\r\n ...invoiceInfo,\r\n errors: {}\r\n });\r\n useEffect(async () => {\r\n let res = await getDropdown();\r\n const scheduleBookingModeList = res.data.scheduleBookingModes.map((item) => ({\r\n id: item.scheduleBookingModeCode,\r\n name: item.scheduleBookingModeDescription\r\n }));\r\n setDepotFields((st) => ({\r\n ...st,\r\n scheduleBookingModeList: scheduleBookingModeList,\r\n serviceAgentsList: res.data.serviceAgents\r\n }));\r\n if (props.depotID) {\r\n let res = await getDepotById(props.depotID);\r\n const data = res.data.details[0];\r\n setDepotFields((st) => ({\r\n ...st,\r\n name: data.depotName,\r\n address1: data.depotAddress1,\r\n address2: data.depotAddress2,\r\n depotCounty: data.depotCounty,\r\n depotTown: data.depotTown,\r\n depotCountyCode: data.depotCountryCode,\r\n depotEmail: data.depotEmail,\r\n depotCustomersRef: data.depotCustomersRef,\r\n scheduleBookingModeID: data.scheduleBookingModeID,\r\n depotPostCode: data.depotPostCode,\r\n depotTelephone: data.depotTelephone,\r\n depotContact: data.depotContact,\r\n depotNotInUse: data.depotNotInUse,\r\n depotCustomerID: data.depotCustomerID,\r\n firstDayofWeek: data.depotFirstDayofWeek,\r\n depotVORMobileNumbers: data.depotVORMobileNumbers,\r\n depotServiceAgentID: data.depotPrimaryAgentID,\r\n depotAgentSecondaryAgentID: data.depotAgentSecondaryAgentID\r\n }));\r\n setScheduleFields((st) => ({\r\n ...st,\r\n depotID: data.depotID,\r\n depotCustomerID: data.depotCustomerID,\r\n scheduleBookingModeID: data.scheduleBookingModeID,\r\n MergeSchedules: data.depotPlannerMergeSchedules,\r\n displayISOWeek: data.depotPlannerDisplayISOWeek,\r\n addPaperworkReceived: data.depotPlannerAddPaperworkReceived,\r\n trafficStyleColourCoding: data.depotPlannerTrafficStyleColourCoding,\r\n mergeRange: data.depotPlannerMergeRange,\r\n sunday: data.depotBookingPreferenceSunday,\r\n depotDefectNotificationEmail: data.depotDefectNotificationEmail,\r\n monday: data.depotBookingPreferenceMonday,\r\n tuesday: data.depotBookingPreferenceTuesday,\r\n wednesday: data.depotBookingPreferenceWednesday,\r\n thursday: data.depotBookingPreferenceThursday,\r\n friday: data.depotBookingPreferenceFriday,\r\n saturday: data.depotBookingPreferenceSaturday,\r\n depotAdditionalPlanningEmails: data.depotAdditionalPlanningEmails,\r\n cPCHolderEmail: data.depotCPCHolderEmail,\r\n cPCHolderName: data.depotCPCHolderName,\r\n secondaryEmail: data.depotSecondaryEmail,\r\n depotSecondaryContact: data.depotSecondaryContact,\r\n depotPCNEmail: data.depotPCNEmail,\r\n depotAccountName: data.depotAccountName,\r\n depotAccountEmail: data.depotAccountEmail,\r\n depotContactMobile: data.depotContactMobile,\r\n depotThirdPartyPlannerEmailAddress: data.depotThirdPartyPlannerEmailAddress,\r\n depotScheduleBookingMode: data.depotScheduleBookingMode,\r\n depotBreakdownNotificationEmail: data.depotBreakdownNotificationEmail,\r\n depotTimedVehicleStatusUpdateEmail: data.depotTimedVehicleStatusUpdateEmail,\r\n depotSchedulePlannerEmail: data.depotSchedulePlannerEmail,\r\n depotNotes: data.depotNotes\r\n }));\r\n setInvoiceFields((dt) => ({\r\n ...dt,\r\n depotUseAddressAsInvoiceAddress: data.depotUseAddressAsInvoiceAddress,\r\n depotInvoiceAddress1: data.depotInvoiceAddress1,\r\n depotInvoiceAddress2: data.depotInvoiceAddress2,\r\n depotInvoiceAddressCity: data.depotInvoiceAddressCity,\r\n depotInvoiceAddressCounty: data.depotInvoiceAddressCounty,\r\n depotInvoiceAddressPostCode: data.depotInvoiceAddressPostCode,\r\n depotInvoiceAddressCountryCode: data.depotInvoiceAddressCountryCode,\r\n depotInvoiceEmailAddress: data.depotInvoiceEmailAddress,\r\n depotEmailInvoices: data.depotEmailInvoices\r\n }));\r\n }\r\n }, []);\r\n\r\n const setVal = (s) => {\r\n setInvoiceFields((st) => ({\r\n ...st,\r\n depotInvoiceAddress1: s.addressLine1,\r\n depotInvoiceAddress2: s.addressLine2,\r\n depotInvoiceAddressCity: s.town,\r\n depotInvoiceAddressCounty: s.county,\r\n depotInvoiceAddressPostCode: s.postCode\r\n }));\r\n };\r\n const invoiceFieldsChange = (e) => {\r\n const { name, value, type, checked } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setInvoiceFields((st) => ({ ...st, ...invoiceInfo, [name]: true }));\r\n } else if (value === 'false' && type?.toLowerCase() === 'radio') {\r\n setInvoiceFields((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setInvoiceFields((st) => ({ ...st, [name]: value }));\r\n }\r\n };\r\n const invoiceCheckBox = (e) => {\r\n const { name, checked } = e.target;\r\n setInvoiceFields((st) => ({ ...st, [name]: checked }));\r\n };\r\n\r\n const resetInput = (name) => {\r\n setInvoiceFields((st) => ({ ...st, [name]: '' }));\r\n };\r\n const scheduleDetailsChange = (e) => {\r\n const { name, value } = e.target;\r\n setScheduleFields((st) => ({ ...st, [name]: value }));\r\n };\r\n const handledepotFields = (e) => {\r\n const { name, value } = e.target;\r\n setDepotFields((st) => ({ ...st, [name]: value }));\r\n };\r\n const handledepotCheckbox = useCallback((e) => {\r\n const { name, checked } = e.target;\r\n setDepotFields((st) => {\r\n const nst = { ...st, [name]: checked };\r\n return nst;\r\n });\r\n }, []);\r\n const handleCheckbox = useCallback((e) => {\r\n const { name, checked } = e.target;\r\n setScheduleFields((st) => {\r\n const nst = { ...st, [name]: checked };\r\n return nst;\r\n });\r\n }, []);\r\n\r\n const handleActive = (val) => {\r\n setDepotFields((field) => ({\r\n ...field,\r\n depotNotInUse: val\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n const { name, address1, address2, depotCounty } = depotFields;\r\n const { depotInvoiceEmailAddress, depotEmailInvoices } = invoiceFields;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(name)) {\r\n errors.name = 'Depot Name is required.';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(address1)) {\r\n errors.address1 = 'Depot Address1 is required.';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(depotCounty)) {\r\n errors.depotCounty = 'Depot county is required.';\r\n formIsValid = false;\r\n }\r\n\r\n // if (!validatePostCode(depotPostCode)) {\r\n // errors.depotPostCode = `Please fill valid post code, \"Ex: BB11AA\"`;\r\n // formIsValid = false;\r\n // }\r\n if (depotEmailInvoices && (!/[^\\s]/.test(depotInvoiceEmailAddress) || isNull(depotInvoiceEmailAddress))) {\r\n errors.depotInvoiceEmailAddress = 'Email can not be empty for checked flag';\r\n formIsValid = false;\r\n }\r\n setDepotFields((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n const depotData = {\r\n depotID: scheduleFields.depotID,\r\n depotCustomerID: props.customerID,\r\n depotName: depotFields.name,\r\n depotAddress1: depotFields.address1,\r\n depotAddress2: depotFields.address2,\r\n depotCounty: depotFields.depotCounty,\r\n depotTown: depotFields.depotTown,\r\n depotCountryCode: depotFields.depotCountyCode,\r\n depotEmail: depotFields.depotEmail,\r\n depotCustomersRef: depotFields.depotCustomersRef,\r\n depotPostCode: depotFields.depotPostCode,\r\n depotTelephone: depotFields.depotTelephone,\r\n depotContact: depotFields.depotContact,\r\n depotNotInUse: depotFields.depotNotInUse,\r\n depotPrimaryAgentID: depotFields.depotServiceAgentID,\r\n depotAgentSecondaryAgentID: depotFields.depotAgentSecondaryAgentID,\r\n depotVORMobileNumbers: depotFields.depotVORMobileNumbers,\r\n depotPlannerMergeSchedules: scheduleFields.mergeSchedules,\r\n depotPlannerDisplayISOWeek: scheduleFields.displayISOWeek,\r\n depotPlannerAddPaperworkReceived: scheduleFields.addPaperworkReceived,\r\n depotPlannerTrafficStyleColourCoding: scheduleFields.trafficStyleColourCoding,\r\n depotPlannerMergeRange: scheduleFields.mergeRange,\r\n depotBookingPreferenceSunday: scheduleFields.sunday,\r\n depotDefectNotificationEmail: scheduleFields.depotDefectNotificationEmail,\r\n depotBookingPreferenceMonday: scheduleFields.monday,\r\n depotBookingPreferenceTuesday: scheduleFields.tuesday,\r\n depotBookingPreferenceWednesday: scheduleFields.wednesday,\r\n depotBookingPreferenceThursday: scheduleFields.thursday,\r\n depotBookingPreferenceFriday: scheduleFields.friday,\r\n depotBookingPreferenceSaturday: scheduleFields.saturday,\r\n depotAdditionalPlanningEmails: scheduleFields.depotAdditionalPlanningEmails,\r\n depotCPCHolderEmail: scheduleFields.cPCHolderEmail,\r\n depotCPCHolderName: scheduleFields.cPCHolderName,\r\n depotSecondaryEmail: scheduleFields.secondaryEmail,\r\n depotSecondaryContact: scheduleFields.depotSecondaryContact,\r\n depotPCNEmail: scheduleFields.depotPCNEmail,\r\n depotAccountName: scheduleFields.depotAccountName,\r\n depotContactMobile: scheduleFields.depotContactMobile,\r\n depotAccountEmail: scheduleFields.depotAccountEmail,\r\n depotThirdPartyPlannerEmailAddress: scheduleFields.depotThirdPartyPlannerEmailAddress,\r\n depotScheduleBookingMode: scheduleFields.depotScheduleBookingMode,\r\n depotBreakdownNotificationEmail: scheduleFields.depotBreakdownNotificationEmail,\r\n depotTimedVehicleStatusUpdateEmail: scheduleFields.depotTimedVehicleStatusUpdateEmail,\r\n depotVehicleStatusUpdateEmail: scheduleFields.depotVehicleStatusUpdateEmail,\r\n depotSchedulePlannerEmail: scheduleFields.depotSchedulePlannerEmail,\r\n depotfirstDayofWeek: scheduleFields.depotFirstDayofWeek,\r\n depotNotes: scheduleFields.depotNotes,\r\n depotUseAddressAsInvoiceAddress: invoiceFields.depotUseAddressAsInvoiceAddress,\r\n depotInvoiceAddress1: invoiceFields.depotInvoiceAddress1 || '',\r\n depotInvoiceAddress2: invoiceFields.depotInvoiceAddress2 || '',\r\n depotInvoiceAddressCity: invoiceFields.depotInvoiceAddressCity || '',\r\n depotInvoiceAddressCounty: invoiceFields.depotInvoiceAddressCounty || '',\r\n depotInvoiceAddressPostCode: invoiceFields.depotInvoiceAddressPostCode || '',\r\n depotInvoiceAddressCountryCode: invoiceFields.depotInvoiceAddressCountryCode || '',\r\n depotInvoiceEmailAddress: invoiceFields.depotInvoiceEmailAddress || '',\r\n depotEmailInvoices: invoiceFields.depotEmailInvoices\r\n };\r\n\r\n let res;\r\n if (props.depotID) {\r\n res = await updateDepot(depotData, props.depotID);\r\n } else {\r\n res = await addDepot(depotData);\r\n }\r\n if (res.success) {\r\n showToastSuccess('Depots saved successfully');\r\n props.onFormClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n const closeModal = () => {\r\n props.onFormClose(false);\r\n };\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { InputText, SelectBox, SecondaryCheckbox, YesButton, NoButton, MandatoryField, SimpleField } from '../../../../Core/Controls';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport '../controllerStyle.scss';\r\n\r\nconst DepotsDetails = (props) => {\r\n const { depotFields, handledepotFields, handledepotCheckbox, handleActive } = props;\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 \r\n \r\n \r\n \r\n \r\n \r\n {' '}\r\n \r\n {/* \r\n Country Code\r\n \r\n {depotFields.errors.depotCountyCode}\r\n */}\r\n \r\n \r\n {/* {depotFields.errors.depotEmail} */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {depotFields.errors.depotTelephone} */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Primary Service Agent\r\n \r\n \r\n \r\n Secondary Service Agent\r\n \r\n \r\n \r\n First Day of Week\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DepotsDetails;\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { InputText, SelectBox, SecondaryCheckbox, YesButton, NoButton, SimpleField } from '../../../../Core/Controls';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport '../controllerStyle.scss';\r\n\r\nconst ScheduleDetails = (props) => {\r\n const { depotFields, scheduleDetailsChange, handleCheckbox, scheduleFields, handleActive } = props;\r\n\r\n return (\r\n <>\r\n \r\n Schedule Planner 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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Schedule Booking Mode\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Booking Preference\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Contact Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Notification Update\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Active\r\n \r\n \r\n \r\n \r\n \r\n handleActive(true)}>\r\n \r\n \r\n handleActive(false)}>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ScheduleDetails;\r\n","import React, { useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography, RadioGroup, Radio, FormControlLabel } from '@material-ui/core';\r\nimport { InputText, SelectBox, SecondaryCheckbox, MandatoryField, NoButton, SimpleField } from '../../../../Core/Controls';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport '../controllerStyle.scss';\r\nimport { Postcode } from '../../../../Core/Controls';\r\n\r\nconst FlaggedBox = (props) => {\r\n useEffect(() => {\r\n !props.chkValue && props.resetInput(props.txtName);\r\n }, [props.chkValue]);\r\n return (\r\n <>\r\n {props.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\nconst YesNoRadio = (props) => {\r\n return (\r\n \r\n \r\n {props.label}\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n );\r\n};\r\nconst countryList = [\r\n { id: 'GB', name: 'GB' },\r\n { id: 'IE', name: 'IE' }\r\n];\r\nconst invoiceDetails = (props) => {\r\n const { invoiceFieldsChange, invoiceFields, setVal, resetInput, invoiceCheckBox, depotFields } = props;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {/* */}\r\n \r\n Invoice Details\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {depotFields.errors.depotInvoiceEmailAddress}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {invoiceFields.errors.depotInvoiceAddress1}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Country Code\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default invoiceDetails;\r\n","import React, { useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryButton } from '../../../../Core/Controls';\r\nimport '../controllerStyle.scss';\r\nimport { VehicleProvider, VehicleScreenContext } from './DepotsProvidor';\r\nimport DepotsDetails from './depoDetails';\r\nimport ScheduleDetails from './scheduleDetails';\r\nimport InvoiceDetails from './invoiceFields';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst AddEditDepots = (props) => {\r\n let getAccessParam = AppStorage.getAllowAcces();\r\n const {\r\n scheduleFields,\r\n handleSubmit,\r\n scheduleDetailsChange,\r\n handleCheckbox,\r\n closeModal,\r\n handledepotFields,\r\n handledepotCheckbox,\r\n depotFields,\r\n handleActive,\r\n invoiceFieldsChange,\r\n invoiceFields,\r\n resetInput,\r\n setVal,\r\n invoiceCheckBox\r\n } = useContext(VehicleScreenContext);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {scheduleFields.depotID ? 'Save' : 'Add'}\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { getAllDepots } from '../../../../Core/Services/InternalUser/ControllerService/depotsService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { EditButton, DataGrid, formatters } from '../../../../Core/Controls';\r\nimport AddEditDepots from './addEditDepots';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: '5%', addFileUploaderIcon: true },\r\n { key: 'depotName', name: 'Name', width: '15%' },\r\n { key: 'depotEmail', name: 'Email', width: '20%' },\r\n {\r\n key: 'depotAddress',\r\n name: 'Address'\r\n }\r\n];\r\n\r\nconst DepotsScreen = (props) => {\r\n const { showToastError } = useToast();\r\n let getAccessParam = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n depotsList: [],\r\n depotID: null\r\n });\r\n\r\n const pullDepotsAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n pullDepotsAndUpdateState();\r\n }, []);\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n depotID: record\r\n }));\r\n };\r\n\r\n const closeDepotsModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullDepotsAndUpdateState();\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n \r\n {\r\n handleAdd(row.depotID);\r\n }}\r\n />\r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (!props.isCust) {\r\n tempCols.splice(2, 0, { key: 'customer', name: 'Customer Name', width: '20%' });\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n return (\r\n
\r\n {state.show ? (\r\n \r\n ) : (\r\n <>\r\n handleAdd(null)}\r\n getUrl={`depots?CustomerID=${props.customerID}`}\r\n columns={columns}\r\n idFieldName=\"depotID\"\r\n fileUploaderConfigName=\"DepotScreen\"\r\n dataConverter={(res) => ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\nexport default DepotsScreen;\r\n","import { postWithAuth, getWithAuth } from \"../../Basic/HttpService\";\r\n\r\nexport const getAllVehicleCheckSection = async () => {\r\n let res = await getWithAuth(`VehicleCheckSection`);\r\n return res;\r\n};\r\n\r\nexport const getVehicleCheckSectionById = async (id) => {\r\n let res = await getWithAuth(`VehicleCheckSection/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postVehicleCheckSectionData = async (data) => {\r\n let res = await postWithAuth(`VehicleCheckSection`, data);\r\n return res;\r\n};\r\n\r\nexport const getAllVehicleCheckSectionDropDown = async () => {\r\n let res = await getWithAuth(`VehicleCategories`);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { SecondaryCheckbox, InputText, SecondaryButton, SelectBox, MandatoryField } from '../../../../Core/Controls';\r\nimport {\r\n getVehicleCheckSectionById,\r\n postVehicleCheckSectionData,\r\n getAllVehicleCheckSectionDropDown\r\n} from '../../../../Core/Services/InternalUser/vehicleCheckSection';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../../commonStyle.scss';\r\n\r\nconst CheckSectionModal = (props) => {\r\n const [state, setState] = useState({\r\n inspectionSheetSectionID: null,\r\n inspectionSheetSectionDescription: '',\r\n inspectionSheetSectionPosition: '',\r\n inspectionSheetSectionActive: true,\r\n vehicleCategoryDescription: '',\r\n errors: {},\r\n categoryList: []\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.checkSectionID) {\r\n let res = await getVehicleCheckSectionById(props.checkSectionID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n inspectionSheetSectionID: res.data.inspectionSheetSectionID,\r\n inspectionSheetSectionDescription: res.data.inspectionSheetSectionDescription,\r\n inspectionSheetSectionPosition: res.data.inspectionSheetSectionPosition,\r\n vehicleCategoryDescription: res.data.inspectionSheetSectionVehicleCategoryID,\r\n inspectionSheetSectionActive: res.data.inspectionSheetSectionActive\r\n }));\r\n }\r\n }\r\n\r\n let res = await getAllVehicleCheckSectionDropDown();\r\n setState((state) => ({\r\n ...state,\r\n categoryList: res.data.list.map((item) => ({\r\n id: item.vehicleCategoryID,\r\n name: item.vehicleCategoryDescription\r\n }))\r\n }));\r\n }, []);\r\n\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((state) => ({ ...state, [name]: value }));\r\n };\r\n\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { inspectionSheetSectionDescription, inspectionSheetSectionPosition, vehicleCategoryDescription } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(inspectionSheetSectionDescription)) {\r\n errors.inspectionSheetSectionDescription = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(inspectionSheetSectionPosition)) {\r\n errors.inspectionSheetSectionPosition = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(vehicleCategoryDescription)) {\r\n errors.vehicleCategoryDescription = 'This field is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const checkSectionData = {\r\n inspectionSheetSectionID: state.inspectionSheetSectionID,\r\n inspectionSheetSectionPosition: state.inspectionSheetSectionPosition,\r\n inspectionSheetSectionDescription: state.inspectionSheetSectionDescription,\r\n inspectionSheetSectionActive: state.inspectionSheetSectionActive,\r\n vehicleCategoryDescription: state.vehicleCategoryDescription,\r\n inspectionSheetSectionVehicleCategoryID: state.vehicleCategoryDescription\r\n };\r\n let res = await postVehicleCheckSectionData(checkSectionData);\r\n if (res.success) {\r\n showToastSuccess('Vehicle Check section added successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n // props.onClose(false);\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 Category\r\n \r\n \r\n {state.errors.vehicleCategoryDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.checkSectionID ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckSectionModal;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { BreadCrumbs, AddButton, DataGrid, EditButton, formatters } from '../../../../Core/Controls';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { getAllVehicleCheckSection } from '../../../../Core/Services/InternalUser/vehicleCheckSection';\r\nimport CheckSectionModal from './checkSectionModal';\r\n\r\nconst crumb = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicle Checks', active: true },\r\n { name: 'Inspection Sections', active: true }\r\n];\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'inspectionSheetSectionDescription', name: 'Description' },\r\n {\r\n key: 'inspectionSheetSectionPosition',\r\n name: 'Position',\r\n width: '13%',\r\n headerRenderer: formatters.ColumnHeaderAlignRight,\r\n formatter: formatters.ColumnTextAlignRight\r\n },\r\n { key: 'vehicleCategoryDescription', name: 'Category', width: '13%' },\r\n { key: 'inspectionSheetSectionActive', name: 'Is Active ?', formatter: (e) => (e.row.inspectionSheetSectionActive ? 'Yes' : 'No'), width: '13%' }\r\n];\r\nconst CheckSection = () => {\r\n const [state, setState] = useState({\r\n checkSectionList: [],\r\n showLoader: true,\r\n modalToggle: false\r\n });\r\n\r\n useEffect(async () => {\r\n pullData();\r\n }, []);\r\n\r\n const pullData = async () => {\r\n let res = await getAllVehicleCheckSection();\r\n\r\n setState((state) => ({\r\n ...state,\r\n checkSectionList: res.data,\r\n showLoader: false\r\n }));\r\n };\r\n const actionButton = (data) => {\r\n return (\r\n
\r\n handleButton(data.row)} toolTipTitle=\"Edit Vehicle Check Section\" />\r\n
\r\n );\r\n };\r\n const handleButton = (params) => {\r\n setState((state) => ({ ...state, modalToggle: true, userID: params.inspectionSheetSectionID }));\r\n };\r\n\r\n const closeDialog = (res) => {\r\n setState((state) => ({ ...state, modalToggle: false }));\r\n res && pullData();\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = actionButton;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const title = state.userID ? 'Update Vehicle Check Section' : 'Add Vehicle Check Section';\r\n\r\n return (\r\n
\r\n \r\n \r\n {state.modalToggle ? (\r\n closeDialog(false)}>\r\n closeDialog(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default CheckSection;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllFilterCustomers = async () => {\r\n let res = await getWithAuth(`UserFilterCustomers`);\r\n return res;\r\n};\r\n\r\nexport const postFilterCustomers = async (data) => {\r\n let res = await postWithAuth(`UserFilterCustomers`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState, useCallback, useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryCheckbox, SecondaryButton, CustomChip, SimpleField } from '../../../Core/Controls';\r\nimport { getAllFilterCustomers, postFilterCustomers } from '../../../Core/Services/InternalUser/customerFilterList';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { CircularProgress } from '@material-ui/core';\r\nimport HighlightOffIcon from '@material-ui/icons/HighlightOff';\r\nimport DoneAllIcon from '@material-ui/icons/DoneAll';\r\nimport { AppContext } from '../../../Core/App/PageLevel/AppContextProvider';\r\n\r\nfunction CustomerList(props) {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { dashBoardDataReload } = useContext(AppContext);\r\n\r\n const [state, setState] = useState({\r\n custList: [],\r\n errors: {},\r\n showLoader: true,\r\n setBtn: ''\r\n });\r\n\r\n useEffect(async () => {\r\n let res = await getAllFilterCustomers();\r\n res.data.customers.forEach(function (n) {\r\n let chekExist = res?.data?.filterCustomers?.find((l) => l.userFilterCustomerId == n.id);\r\n if (chekExist) {\r\n n.active = true;\r\n } else n.active = false;\r\n });\r\n setState((st) => ({\r\n ...st,\r\n custList: res?.data?.customers,\r\n showLoader: false\r\n }));\r\n }, []);\r\n\r\n const handleCheckbox = useCallback((i) => (e) => {\r\n const { name, checked } = e.target;\r\n let changedArray = [...state.custList];\r\n let objIndex = state.custList.findIndex((x) => x.id == i);\r\n changedArray[objIndex][name] = checked;\r\n setState((state) => {\r\n const nst = { ...state, custList: changedArray, setBtn: '' };\r\n return nst;\r\n });\r\n });\r\n\r\n const setCustCheck = useCallback((val) => {\r\n let newCust = state.custList.map((c) => ({ ...c, active: val }));\r\n setState((state) => {\r\n const nst = { ...state, custList: newCust, setBtn: val ? 'check' : 'uncheck' };\r\n return nst;\r\n });\r\n });\r\n\r\n const handelSubmit = useCallback(async (val) => {\r\n let data = { customerIds: null };\r\n if (val) {\r\n data = { customerIds: state.custList.filter((x) => x.active).map((x) => x.id) };\r\n }\r\n let res = await postFilterCustomers(data);\r\n if (res.success) {\r\n // showToastSuccess(res.message);\r\n props.onClose(true);\r\n dashBoardDataReload();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n });\r\n return (\r\n \r\n {state.showLoader ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n setCustCheck(true)}\r\n />\r\n \r\n \r\n setCustCheck(false)}\r\n />\r\n \r\n \r\n {state.custList.map((m, i = 1) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n handelSubmit(true)} fullWidth className=\"submit_btn\">\r\n Set Filter\r\n \r\n \r\n \r\n handelSubmit(false)} fullWidth className=\"submit_btn\">\r\n Reset Filter\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default CustomerList;\r\n","import { getWithAuth, postWithAuth } from '../Basic/HttpService';\r\n\r\nexport const getAllDashboardWidgets = async (screenName) => {\r\n let res = await getWithAuth(`UserWidget/screen/${screenName}`);\r\n return res;\r\n};\r\nexport const getWidgetsInfo = async (id, id2 = null) => {\r\n let res;\r\n if (id2) {\r\n res = await getWithAuth(`UserWidget/${id}/${id2}`);\r\n } else {\r\n res = await getWithAuth(`UserWidget/${id}`);\r\n }\r\n return res;\r\n};\r\n\r\nexport const postTheme = async (data) => {\r\n let res = await postWithAuth(`UserWidget`, data);\r\n return res;\r\n};\r\n","import { createContext, useCallback, useEffect, useState } from 'react';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { getWidgetsInfo, postTheme } from '../../../Core/Services/dasboardWidgetsService';\r\n\r\nexport const DashboardContext = createContext();\r\n\r\nexport const DashWidgetsProvider = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n let history = useHistory();\r\n\r\n const [hover, setHover] = useState({\r\n backgroundColorHover: '',\r\n id: null\r\n });\r\n\r\n const [state, setState] = useState({\r\n displayStyles: [],\r\n themes: []\r\n });\r\n\r\n const [open, setOpen] = useState(false);\r\n\r\n let onChange = (val) => {\r\n history.push(val);\r\n };\r\n\r\n const handleHover = (val, id, themeID) => () => {\r\n setHover((st) => {\r\n let newSt = { ...st };\r\n if (val && themeID === 2) {\r\n newSt.backgroundColorHover = '#ededed';\r\n newSt.id = id;\r\n newSt.color = 'black';\r\n } else if (val) {\r\n newSt.backgroundColorHover = 'rgab(0,0,0,0.9)';\r\n newSt.id = id;\r\n newSt.color = 'black';\r\n } else {\r\n newSt.backgroundColorHover = '';\r\n newSt.id = null;\r\n newSt.color = '';\r\n }\r\n\r\n return newSt;\r\n });\r\n };\r\n\r\n useEffect(async () => {\r\n pullSettingData();\r\n }, [open, props.widgetID, props.userWidgetID]);\r\n\r\n const pullSettingData = async () => {\r\n if (props.widgetID) {\r\n let res = await getWidgetsInfo(props.widgetID, props.userWidgetID);\r\n let data = res?.data?.list[0];\r\n setState((st) => ({\r\n ...st,\r\n displayStyles: res?.data.displayStyles,\r\n themes: res?.data.themes,\r\n userWidgetID: data.userWidgetID,\r\n widgetUsedID: data.widgetUsedID,\r\n displayStyleID: data.displayStyleID,\r\n themeID: data.themeID\r\n }));\r\n }\r\n };\r\n const handleBtn = (val) => {\r\n setState((st) => ({ ...st, displayStyleID: val }));\r\n };\r\n\r\n const handleBackgroundColor = (id) => () => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n newSt.themeID = id;\r\n return newSt;\r\n });\r\n };\r\n\r\n const handleTheme = (val) => () => {\r\n setOpen(!open);\r\n };\r\n\r\n const handleSubmit = async () => {\r\n let data = {\r\n userWidgetID: state.userWidgetID || null,\r\n userWidgetWidgetUsedID: state.widgetUsedID || null,\r\n userWidgetDisplayStyleID: state.displayStyleID || null,\r\n userWidgetThemeID: state.themeID || null\r\n };\r\n\r\n let res = await postTheme(data);\r\n if (res.success) {\r\n // showToastSuccess(res.data.message);\r\n props.pullDashboardData();\r\n props.onClose();\r\n } else {\r\n showToastError('error');\r\n }\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useContext } from 'react';\r\nimport { Button, Hidden, Typography, Grid } from '@material-ui/core';\r\nimport FormatListBulletedIcon from '@material-ui/icons/FormatListBulleted';\r\nimport ViewComfyIcon from '@material-ui/icons/ViewComfy';\r\nimport ViewColumnIcon from '@material-ui/icons/ViewColumn';\r\nimport { SecondaryButton } from '../../../Core/Controls';\r\n// import React, { useState } from 'react';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport { DashWidgetsProvider as StateProvider, DashboardContext } from './DashboardProvider';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport { ModalLoader } from '../../../Core/Loader/formLoader';\r\n\r\nconst styles = {\r\n mainDiv: {\r\n width: '100%'\r\n },\r\n\r\n buttonStyle: {\r\n textTransform: 'capitalize',\r\n margin: '5px'\r\n }\r\n};\r\nconst buttonIcons = {\r\n 3: FormatListBulletedIcon,\r\n 2: ViewComfyIcon,\r\n 1: ViewColumnIcon\r\n};\r\nconst SetWidgets = (props) => {\r\n const { handleBtn, state, handleBackgroundColor, handleSubmit } = useContext(DashboardContext);\r\n\r\n return (\r\n <>\r\n {state.displayStyles.length ? (\r\n
\r\n \r\n Set Dashboard Layout\r\n \r\n
\r\n {state.displayStyles.map((m, i) => {\r\n let Icon = buttonIcons[m.id];\r\n return (\r\n handleBtn(m.id)}\r\n >\r\n {m.name}\r\n \r\n );\r\n })}\r\n
\r\n
\r\n\r\n \r\n Theme Colour\r\n \r\n\r\n
\r\n
    \r\n {state?.themes.map((m, i) => {\r\n return (\r\n
  • \r\n \r\n
    {state?.themeID === m.id && }
    \r\n
    \r\n
  • \r\n );\r\n })}\r\n
\r\n
\r\n
\r\n \r\n \r\n Update\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useState, useContext } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport SendIcon from '@material-ui/icons/Send';\r\nimport SelectAll from '@material-ui/icons/SelectAll';\r\nimport { DashWidgetsProvider as StateProvider, DashboardContext } from './DashboardProvider';\r\n// import CloseIcon from '@material-ui/icons/Close';\r\n// import { Link } from 'react-router-dom';\r\n// import { Opacity } from '@material-ui/icons';\r\n// import { useHistory } from 'react-router-dom';\r\n// import BrushIcon from '@material-ui/icons/Brush';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport { CardContent, Grid, Tooltip } from '@material-ui/core';\r\nimport SetWidgets from './widgetSetting';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n border: '2px solid rgb(90 114 123 / 8%) ',\r\n Opacity: 0.9,\r\n minWidth: 345,\r\n borderRadius: 15,\r\n boxShadow: 'rgb(90 114 123 / 11%) 0px 7px 30px 0px'\r\n },\r\n\r\n avatar: {\r\n height: 40,\r\n width: 40\r\n }\r\n}));\r\n\r\nconst gridStyle = {\r\n 1: 3,\r\n 2: 6,\r\n 3: 12\r\n};\r\n\r\nconst DashboardCard = (props) => {\r\n const classes = useStyles();\r\n const { hover, handleHover, onChange, handleTheme, state, open } = useContext(DashboardContext);\r\n const { list } = props;\r\n let checkCond = list.length > 3 ? true : false;\r\n\r\n let Bgcolor = state.themes.find((m) => m.id === props.themeID);\r\n\r\n return (\r\n \r\n \r\n {props.heading}\r\n   \r\n \r\n \r\n \r\n \r\n\r\n \r\n {list?.map((m, i) => {\r\n let Icon = m?.Icon;\r\n let gs = gridStyle[props.gridstyleID];\r\n let Total = m?.total?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {m?.numberIcon ? {m?.numberIcon}% : }\r\n \r\n
\r\n     \r\n onChange(m?.path)}\r\n >\r\n {m?.total ? (\r\n
\r\n {' '}\r\n {`£${Total.toLocaleString('en-US')}`}\r\n ({m?.title})\r\n
\r\n ) : m.button ? (\r\n
{m?.title}
\r\n ) : (\r\n
{m?.title}
\r\n )}\r\n {m?.subTittle}\r\n
\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n\r\n {open ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useContext, useEffect, useState } from 'react';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { getAllInternalDash } from '../../../Core/Services/InternalUser/InternalDashService';\r\nimport LocalTaxiRoundedIcon from '@material-ui/icons/LocalTaxiRounded';\r\nimport { Link } from 'react-router-dom';\r\nimport '../InternalDash.scss';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport RoomIcon from '@material-ui/icons/Room';\r\nimport CustomerList from './CustomerList';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport { SecondaryButton } from '../../../Core/Controls';\r\nimport FilterListIcon from '@material-ui/icons/FilterList';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport AttachMoneyIcon from '@material-ui/icons/AttachMoney';\r\nimport CreditCardIcon from '@material-ui/icons/CreditCard';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport NotificationsActiveIcon from '@material-ui/icons/NotificationsActive';\r\nimport FormatListBulletedIcon from '@material-ui/icons/FormatListBulleted';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport DirectionsCarIcon from '@material-ui/icons/DirectionsCar';\r\nimport LocalShippingIcon from '@material-ui/icons/LocalShipping';\r\nimport DashboardCard from './dashboardCard';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport ErrorIcon from '@material-ui/icons/Error';\r\nimport InsertDriveFileIcon from '@material-ui/icons/InsertDriveFile';\r\nimport EmojiTransportationIcon from '@material-ui/icons/EmojiTransportation';\r\nimport { SetWidgets } from './widgetSetting';\r\nimport { Grow, Hidden } from '@material-ui/core';\r\n// import DirectionsCarIcon from '@material-ui/icons/DirectionsCar';\r\nimport { Tooltip } from '@material-ui/core';\r\nimport { AppContext } from '../../../Core/App/PageLevel/AppContextProvider';\r\nimport { getAllDashboardWidgets } from '../../../Core/Services/dasboardWidgetsService';\r\nimport { FromLoader } from '../../../Core/Loader/formLoader';\r\nimport FullscreenIcon from '@material-ui/icons/Fullscreen';\r\nimport FullscreenExitIcon from '@material-ui/icons/FullscreenExit';\r\nimport { usePortalSettings } from '../../../Core/Hooks/usePortalSettings';\r\nimport DashboardIcon from '@material-ui/icons/Dashboard';\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '90%'\r\n }\r\n});\r\n\r\nlet gridStyle = {\r\n 1: 12,\r\n 2: 6,\r\n 3: 3\r\n};\r\n\r\nlet redColor = '#ff4757';\r\nlet redShadowColor = 'rgb(255 32 54 / 53%)';\r\nlet yellowColor = '#ffc312';\r\nlet yellowShadowColor = 'rgba(255, 236, 30, 0.75)';\r\nlet purpleColor = '#7d38df';\r\nlet purpleShadowColor = 'rgba(200, 61, 255, 0.596)';\r\nlet greenColor = '#009432';\r\nlet greenShadowColor = 'rgba(0, 148, 50, 0.53)';\r\nlet blueColor = '#1127ee';\r\nlet blueShadowColor = '#909bf7';\r\n\r\nconst InternalDashboard = (props) => {\r\n const portalSettings = usePortalSettings();\r\n const classes = useStyles();\r\n const [state, setState] = useState({\r\n rows_new: [],\r\n tilesData: [],\r\n showFilter: false,\r\n buttonID: 2,\r\n widgetList: []\r\n });\r\n const { commonState, dashBoardDataReload, getDashBoardData } = useContext(AppContext);\r\n\r\n const [widgets, setWidgets] = useState({});\r\n\r\n const [checked, setChecked] = React.useState(true);\r\n\r\n // const handleChange = () => {\r\n // setChecked((prev) => !prev);\r\n // };\r\n\r\n let DowntimeDash = [\r\n {\r\n Icon: DirectionsCarIcon,\r\n numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.breakdowns || 0,\r\n subTittle: 'Breakdown',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/maintenance/breakdowns/:all'\r\n },\r\n {\r\n Icon: DirectionsCarIcon,\r\n numberIcon: state.tilesData.defectPercent,\r\n title: state.tilesData.defects || 0,\r\n subTittle: 'Defects',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/maintenance/defects'\r\n },\r\n {\r\n Icon: DirectionsCarIcon,\r\n numberIcon: state.tilesData.vorPercent,\r\n title: state.tilesData.vor || 0,\r\n subTittle: 'VOR',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: {\r\n pathname: `/controller/vor`,\r\n query: { FromDash: true }\r\n }\r\n },\r\n {\r\n Icon: LocalTaxiRoundedIcon,\r\n // numberIcon: state.tilesData.vorPercent,\r\n title: state.tilesData.estimateCount || 0,\r\n subTittle: 'Estimates',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/serviceagent/EP'\r\n }\r\n ];\r\n\r\n let MaintananceEvent = [\r\n {\r\n Icon: DirectionsCarIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.serviceCount || 0,\r\n subTittle: 'Services',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/maintenance/schedules/S'\r\n },\r\n {\r\n Icon: DirectionsCarIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.motCount || 0,\r\n subTittle: 'MOTs',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/maintenance/schedules/M'\r\n },\r\n {\r\n Icon: BuildIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.inspectionCount || 0,\r\n subTittle: 'Inspections',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/maintenance/schedules/I'\r\n },\r\n {\r\n Icon: FormatListBulletedIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.otherCount || 0,\r\n subTittle: 'Others',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/maintenance/schedules/O'\r\n }\r\n ];\r\n\r\n let FleetDash = [\r\n {\r\n Icon: EmojiTransportationIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.taxCount || 0,\r\n subTittle: 'Tax',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/controller/Vehicles/T'\r\n },\r\n {\r\n Icon: CreditCardIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.insuranceCount || 0,\r\n subTittle: 'Insurance',\r\n background: purpleColor,\r\n showDowBackground: purpleShadowColor,\r\n path: '/controller/Vehicles/I'\r\n },\r\n {\r\n Icon: CheckIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.complianceCount || 0,\r\n subTittle: 'Compliance',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/schedule/outstandingdocuments'\r\n },\r\n {\r\n Icon: NotificationsActiveIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.reminderCount || 0,\r\n subTittle: 'Reminders',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/controller/jobreminder'\r\n }\r\n ];\r\n\r\n let FleetController = [\r\n {\r\n Icon: LocalShippingIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.trackingCountBreakdownRoadside || 0,\r\n subTittle: 'Breakdown Roadside',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/jobtracking/BR'\r\n },\r\n {\r\n Icon: DirectionsCarIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.trackingCountBreakdownOnsite || 0,\r\n subTittle: 'Breakdown Onsite',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/jobtracking/BO'\r\n },\r\n {\r\n Icon: BuildIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.trackingCountDefects || 0,\r\n subTittle: 'Job Defects',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/jobtracking/DD'\r\n },\r\n\r\n {\r\n Icon: NotificationsActiveIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.trackingCountAll || 0,\r\n subTittle: 'Job Tracking',\r\n background: blueColor,\r\n showDowBackground: blueShadowColor,\r\n path: '/jobtracking'\r\n }\r\n ];\r\n\r\n let FleetSchedule = [\r\n {\r\n Icon: ErrorIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.bookingsRequested || 0,\r\n subTittle: 'Bookings Requested',\r\n background: yellowColor,\r\n showDowBackground: yellowShadowColor,\r\n path: '/schedule/bookingsrequsted'\r\n },\r\n {\r\n Icon: CheckIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.bookingsAccepted || 0,\r\n subTittle: 'Bookings Accepted',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/schedule/acceptedbyagents'\r\n },\r\n\r\n {\r\n Icon: ClearIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.bookingsRejected || 0,\r\n subTittle: 'Bookings Rejected',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/schedule/bookingsrejected'\r\n },\r\n {\r\n Icon: BuildIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.bookingsConfirmed || 0,\r\n subTittle: 'Bookings Confirmed',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/schedule/confirmedbookings'\r\n }\r\n ];\r\n\r\n let Jobs = [\r\n {\r\n Icon: ErrorIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.jobsUnassigned || 0,\r\n subTittle: 'Jobs Unassigned',\r\n background: yellowColor,\r\n showDowBackground: yellowShadowColor,\r\n path: '/serviceagent/AU'\r\n },\r\n {\r\n Icon: CheckIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.jobsOpen || 0,\r\n subTittle: 'Jobs Open',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/serviceagent/OJ'\r\n },\r\n\r\n {\r\n Icon: CheckIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.jobsInQuery || 0,\r\n subTittle: 'Jobs In Query',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/serviceagent/QJ'\r\n },\r\n {\r\n Icon: CheckIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.jobsAwaitingApprovals || 0,\r\n subTittle: 'Jobs Awaiting Approvals',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/serviceagent/AR'\r\n }\r\n ];\r\n let DriverCheck = [\r\n {\r\n Icon: ClearIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.dailyChecksFailed || 0,\r\n subTittle: 'Failed',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/internalDailyChecks/failed'\r\n },\r\n {\r\n Icon: ErrorIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.dailyChecksMonitored || 0,\r\n subTittle: 'Monitor',\r\n background: yellowColor,\r\n showDowBackground: yellowShadowColor,\r\n path: '/internalDailyChecks/monitor'\r\n },\r\n\r\n {\r\n Icon: CheckIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.dailyChecksPassed || 0,\r\n subTittle: 'Passed',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/internalDailyChecks/passed'\r\n },\r\n {\r\n Icon: BuildIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.dailyChecksUnreviewed || 0,\r\n subTittle: 'Unreviewed',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/internalDailyChecks/unreviwed'\r\n }\r\n ];\r\n\r\n let Enquiry = [\r\n {\r\n Icon: CheckIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.leadsLiveEnquiries || 0,\r\n subTittle: 'Live Enquires',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/enquiries/live_enquiry'\r\n },\r\n {\r\n Icon: ErrorIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.leadsLost || 0,\r\n subTittle: 'Lost Enquires',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/enquiries/lost_enquiry'\r\n },\r\n\r\n {\r\n Icon: CheckIcon,\r\n // numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.leadsNewEnquiries || 0,\r\n subTittle: 'New Enquires',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/enquiries/new_enquiry'\r\n },\r\n {\r\n Icon: CheckIcon,\r\n // numberIcon: ,\r\n title: state.tilesData.leadsSuccessful || 0,\r\n subTittle: 'Successful Enquires',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/enquiries/successful_enquiry'\r\n }\r\n ];\r\n\r\n let ReportList = [\r\n {\r\n button: true,\r\n Icon: DashboardIcon,\r\n background: blueColor,\r\n showDowBackground: blueShadowColor,\r\n title: 'VOR',\r\n subTittle: ' Reporting',\r\n\r\n path: '/controller/VorReporting/'\r\n },\r\n {\r\n button: true,\r\n Icon: DashboardIcon,\r\n background: blueColor,\r\n showDowBackground: blueShadowColor,\r\n title: 'Defect',\r\n subTittle: 'Reporting',\r\n path: '/maintenance/defect/reporting/'\r\n },\r\n {\r\n button: true,\r\n Icon: DashboardIcon,\r\n background: blueColor,\r\n showDowBackground: blueShadowColor,\r\n title: 'Breakdown',\r\n subTittle: 'Reporting ',\r\n path: '/maintenance/breakdown/reporting/'\r\n },\r\n {\r\n button: true,\r\n Icon: DashboardIcon,\r\n background: blueColor,\r\n showDowBackground: blueShadowColor,\r\n title: 'Job',\r\n subTittle: ' Reporting ',\r\n path: '/job/job_Reporting'\r\n }\r\n ];\r\n\r\n let setList = {\r\n 1: DowntimeDash,\r\n 2: MaintananceEvent,\r\n 3: FleetDash,\r\n 4: FleetController,\r\n 5: FleetSchedule,\r\n 6: Jobs,\r\n 7: DriverCheck,\r\n 8: Enquiry,\r\n 15: ReportList\r\n };\r\n\r\n const pullDashboardData = async () => {\r\n if (commonState.dashBoardData) {\r\n let res = commonState.dashBoardData;\r\n let filteredList = [];\r\n const cards = res.data?.dashboard;\r\n const filterdCustomer = res.data?.filterdCustomer;\r\n if (filterdCustomer?.length > 0) {\r\n filteredList = filterdCustomer.map((item) => {\r\n return
{item.customerCompanyName}
;\r\n });\r\n }\r\n setState((st) => ({\r\n ...st,\r\n tilesData: cards[0],\r\n filteredCustomerList: filteredList,\r\n isFilterList: filteredList?.length > 0 ? true : false\r\n }));\r\n }\r\n };\r\n\r\n const pullTheme = async () => {\r\n let dashRes = await getAllDashboardWidgets('dashboard');\r\n setState((st) => ({\r\n ...st,\r\n widgetList: dashRes.data.displayStyles\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n await getDashBoardData();\r\n pullTheme();\r\n }, []);\r\n\r\n useEffect(async () => {\r\n if (props.new) {\r\n window.location.reload();\r\n }\r\n }, [props.new]);\r\n\r\n useEffect(async () => {\r\n await pullDashboardData();\r\n }, [commonState]);\r\n\r\n useEffect(async () => {\r\n if (portalSettings.portalSettingDashboardRefreshTime > 0) {\r\n const intervalId = await setInterval(() => {\r\n getDashBoardData();\r\n }, portalSettings.portalSettingDashboardRefreshTime * 1000);\r\n return () => clearInterval(intervalId);\r\n }\r\n }, [portalSettings.portalSettingDashboardRefreshTime]);\r\n\r\n const showFilterModal = (val) => {\r\n setState((st) => ({\r\n ...st,\r\n showFilter: false\r\n }));\r\n val && pullDashboardData();\r\n };\r\n\r\n const handleFilterModal = () => {\r\n setState((st) => ({\r\n ...st,\r\n showFilter: true\r\n }));\r\n };\r\n const handleFullScreenModal = () => {\r\n setState((st) => ({\r\n ...st,\r\n showDashboardFullScreen: true\r\n }));\r\n };\r\n const closeFullScreenModal = () => {\r\n setState((st) => ({\r\n ...st,\r\n showDashboardFullScreen: false\r\n }));\r\n };\r\n\r\n return (\r\n
\r\n \r\n {state.showFilter && (\r\n showFilterModal(false)} maxWidth=\"md\">\r\n \r\n \r\n )}\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {[...state.filteredCustomerList]}
: 'Filters'} arrow>\r\n \r\n \r\n \r\n \r\n
\r\n {state.showDashboardFullScreen ? (\r\n console.log('opopo')} fullScreen hideCloseAction={true}>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {state.widgetList?.length > 0 ? (\r\n state.widgetList.map((m, i) => {\r\n let gs = gridStyle[m.displayStyleID];\r\n let list = setList[m.widgetUsedID];\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 {state.widgetList?.length > 0 ? (\r\n state.widgetList.map((m, i) => {\r\n let gs = gridStyle[m.displayStyleID];\r\n let list = setList[m.widgetUsedID];\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\nexport default InternalDashboard;\r\n","import { FormHelperText, Grid, InputLabel } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { InputText, SecondaryButton, MandatoryField } from \"../../../../Core/Controls\";\r\nimport \"../../../commonStyle.scss\";\r\n\r\nconst DriverTypeDialog = (props) => {\r\n const [state, setState] = useState({ id: null, value: \"\", isError: false });\r\n const { driverTypeID, driverTypeDescription } = props.data.selectedRowData;\r\n useEffect(() => {\r\n if (!props.data.isAdd) {\r\n setState((st) => ({\r\n ...st,\r\n id: driverTypeID,\r\n value: driverTypeDescription,\r\n }));\r\n }\r\n }, []);\r\n const validate = () => {\r\n if (/[^\\s]/.test(state.value)) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n const handleData = () => {\r\n if (validate()) {\r\n props.data.isAdd ? props.addRowData(state.value) : props.updateRowData(state);\r\n props.onClose();\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n isError: true,\r\n }));\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n value: event.target.value,\r\n isError: false,\r\n }));\r\n }}\r\n errors={state.isError ? \"This field is required\" : null}\r\n />\r\n \r\n \r\n {props.data.isAdd ? \"ADD\" : \"UPDATE\"}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default DriverTypeDialog;\r\n","import { postWithAuth, getWithAuth,putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllDriverType = async () => {\r\n let res = await getWithAuth(`DriverTypes`);\r\n return res;\r\n};\r\n\r\nexport const postDriverType = async (data) => {\r\n let res = await postWithAuth(`DriverTypes`, data);\r\n return res;\r\n};\r\nexport const putDriverType = async (data) => {\r\n let res = await putWithAuth(`DriverTypes/${data.driverTypeID}`, data);\r\n return res;\r\n};\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { AddButton, EditButton, BreadCrumbs } from '../../../../Core/Controls';\r\nimport DialogBox from './driverTypeDialog';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport DialogComp from '../../../../Core//Dialog/DialogComp';\r\nimport '../../../commonStyle.scss';\r\n\r\nimport { getAllDriverType, postDriverType, putDriverType } from '../../../../Core/Services/InternalUser/driverTypeService';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Drivers', active: true },\r\n { name: 'Driver Types', active: true }\r\n];\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '7%' },\r\n { key: 'driverTypeDescription', name: 'Description' }\r\n];\r\nconst DriverType = () => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n isReload: null\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const pullApiData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n const renderEdit = (ev, row) => {\r\n return (\r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Edit Driver Type',\r\n selectedRowData: row,\r\n isAdd: false\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const addRowData = async (outData) => {\r\n let response = await postDriverType({ driverTypeDescription: outData });\r\n pullApiData();\r\n showToastSuccess(response.message || 'Driver type successfully added');\r\n };\r\n const updateRowData = async (outData) => {\r\n let response = await putDriverType({\r\n driverTypeID: outData.id,\r\n driverTypeDescription: outData.value\r\n });\r\n pullApiData();\r\n showToastSuccess(response.message || 'Driver type successfully updated');\r\n };\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Add Driver Type',\r\n isAdd: true,\r\n selectedRowData: {}\r\n }));\r\n };\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false\r\n }));\r\n };\r\n\r\n let getUrl = `DriverTypes`;\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle=\"Add Driver Type\"\r\n onBtnClick={addBtnClicked}\r\n isReload={state.isReload}\r\n />\r\n {state.open ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default DriverType;\r\n","import { FormHelperText, Grid, InputLabel } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { InputText, SecondaryButton, MandatoryField } from \"../../../../Core/Controls\";\r\nimport \"../../../commonStyle.scss\";\r\n\r\nconst BookingStatusDialog = (props) => {\r\n const [state, setState] = useState({ id: null, value: \"\", isError: false });\r\n const { bookingStatusID, bookingStatusDescription } = props.data.selectedRowData;\r\n useEffect(() => {\r\n if (!props.data.isAdd) {\r\n setState((st) => ({\r\n ...st,\r\n id: bookingStatusID,\r\n value: bookingStatusDescription,\r\n }));\r\n }\r\n }, []);\r\n const validate = () => {\r\n if (/[^\\s]/.test(state.value)) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n const handleData = () => {\r\n if (validate()) {\r\n props.saveData(state);\r\n props.onClose();\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n isError: true,\r\n }));\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n value: event.target.value,\r\n isError: false,\r\n }));\r\n }}\r\n errors={state.isError ? \"This field is required\" : null}\r\n />\r\n \r\n \r\n {props.data.isAdd ? \"ADD\" : \"UPDATE\"}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default BookingStatusDialog;\r\n","import { postWithAuth, getWithAuth,putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllBookingStatus = async () => {\r\n let res = await getWithAuth(`BookingStatus`);\r\n return res;\r\n};\r\n\r\n\r\nexport const postBookingStatus = async (data) => {\r\n let res = await postWithAuth(`BookingStatus`, data);\r\n return res;\r\n};\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { AddButton, EditButton, BreadCrumbs } from '../../../../Core/Controls';\r\nimport DialogBox from './bookingStatusDialog';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport DialogComp from '../../../../Core//Dialog/DialogComp';\r\nimport '../../../commonStyle.scss';\r\nimport { getAllBookingStatus, postBookingStatus } from '../../../../Core/Services/InternalUser/bookingStatusService';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Jobs', active: true },\r\n { name: 'Booking Status', active: true }\r\n];\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'bookingStatusDescription', name: 'Description' }\r\n];\r\nconst BookingStatus = () => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {}\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const pullApiData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n const renderEdit = (ev, row) => {\r\n return (\r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Edit Booking Status',\r\n selectedRowData: row,\r\n isAdd: false\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const saveData = async (outData) => {\r\n let response = await postBookingStatus({\r\n bookingStatusID: outData.id ?? null,\r\n bookingStatusDescription: outData.value\r\n });\r\n if (response) {\r\n response.success\r\n ? showToastSuccess(response.message || 'Booking Status updated successfully')\r\n : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n pullApiData();\r\n };\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Add Booking Status',\r\n isAdd: true,\r\n selectedRowData: {}\r\n }));\r\n };\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false\r\n }));\r\n };\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Booking Status\"\r\n onBtnClick={addBtnClicked}\r\n />\r\n {state.open ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default BookingStatus;\r\n","import { FormHelperText, Grid, InputLabel } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { InputText, SecondaryButton, MandatoryField } from \"../../../../Core/Controls\";\r\nimport \"../../../commonStyle.scss\";\r\n\r\nconst BookingStatusDialog = (props) => {\r\n const [state, setState] = useState({ id: null, value: \"\", isError: false });\r\n const { bookingDateDelayReasonID, bookingDateDelayReasonDescription } = props.data.selectedRowData;\r\n useEffect(() => {\r\n if (!props.data.isAdd) {\r\n setState((st) => ({\r\n ...st,\r\n id: bookingDateDelayReasonID,\r\n value: bookingDateDelayReasonDescription,\r\n }));\r\n }\r\n }, []);\r\n const validate = () => {\r\n if (/[^\\s]/.test(state.value)) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n const handleData = () => {\r\n if (validate()) {\r\n props.saveData(state);\r\n props.onClose();\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n isError: true,\r\n }));\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n value: event.target.value,\r\n isError: false,\r\n }));\r\n }}\r\n errors={state.isError ? \"This field is required\" : null}\r\n />\r\n \r\n \r\n {props.data.isAdd ? \"ADD\" : \"UPDATE\"}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default BookingStatusDialog;\r\n","import { postWithAuth, getWithAuth,putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllDelayReason = async () => {\r\n let res = await getWithAuth(`BookingDateDelayReasons`);\r\n return res;\r\n};\r\n\r\n\r\nexport const postDelayReason = async (data) => {\r\n let res = await postWithAuth(`BookingDateDelayReasons`, data);\r\n return res;\r\n};\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { AddButton, EditButton, BreadCrumbs } from '../../../../Core/Controls';\r\nimport DialogBox from './delayReasonDialog';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport DialogComp from '../../../../Core//Dialog/DialogComp';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nimport { getAllDelayReason, postDelayReason } from '../../../../Core/Services/InternalUser/bookingDelayReason';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Jobs', active: true },\r\n { name: 'Booking Delay Reasons', active: true }\r\n];\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'bookingDateDelayReasonDescription', name: 'Description' }\r\n];\r\nconst BookingDelayReason = () => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {}\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const pullApiData = async () => {\r\n // /let res = await getAllDelayReason();\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n const renderEdit = (ev, row) => {\r\n return (\r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Edit Booking Delay Reason',\r\n selectedRowData: row,\r\n isAdd: false\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const saveData = async (outData) => {\r\n let response = await postDelayReason({\r\n bookingDateDelayReasonID: outData.id ?? null,\r\n bookingDateDelayReasonDescription: outData.value\r\n });\r\n if (response) {\r\n response.success\r\n ? showToastSuccess(response.message || 'Booking Delay Reason updated successfully')\r\n : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n pullApiData();\r\n };\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Add Booking Delay Reason',\r\n isAdd: true,\r\n selectedRowData: {}\r\n }));\r\n };\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false\r\n }));\r\n };\r\n return (\r\n
\r\n \r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Booking Delay Reason\"\r\n onBtnClick={addBtnClicked}\r\n />\r\n {state.open ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default BookingDelayReason;\r\n","import { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { InputText, SecondaryButton, SecondaryCheckbox, MandatoryField } from '../../../../Core/Controls';\r\nimport '../../../commonStyle.scss';\r\n\r\nconst CostCenterDialog = (props) => {\r\n const [state, setState] = useState({\r\n id: null,\r\n value: '',\r\n isChecked: true,\r\n isError: false\r\n });\r\n\r\n useEffect(() => {\r\n if (!props.data.isAdd) {\r\n const { costCentreID, costCentreDescription, costCentreActive, btnLoader } = props.data.selectedRowData;\r\n setState((st) => ({\r\n ...st,\r\n id: costCentreID,\r\n value: costCentreDescription,\r\n isChecked: costCentreActive,\r\n btnLoader: btnLoader\r\n }));\r\n } else {\r\n const { btnLoader } = props.data.selectedRowData;\r\n setState((st) => ({\r\n ...st,\r\n btnLoader: btnLoader\r\n }));\r\n }\r\n }, []);\r\n const validate = () => {\r\n if (/[^\\s]/.test(state.value)) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n const handleData = () => {\r\n if (validate()) {\r\n props.saveData(state);\r\n props.onClose();\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n isError: true\r\n }));\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n value: event.target.value,\r\n isError: false\r\n }));\r\n }}\r\n errors={state.isError ? 'This field is required' : null}\r\n />\r\n \r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n isChecked: event.target.checked\r\n }));\r\n }}\r\n label=\"Is Active ?\"\r\n />\r\n \r\n \r\n \r\n {props.data.isAdd ? 'ADD' : 'UPDATE'}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default CostCenterDialog;\r\n","import {\r\n postWithAuth,\r\n getWithAuth,\r\n putWithAuth,\r\n} from \"../../Basic/HttpService\";\r\n\r\nexport const getAllCostCenter = async () => {\r\n let res = await getWithAuth(`Costcentres`);\r\n return res;\r\n};\r\n\r\nexport const postCostCenter = async (data) => {\r\n let res = await postWithAuth(`Costcentres`, data);\r\n return res;\r\n};\r\nexport const putCostCenter = async (data) => {\r\n let res = await putWithAuth(`Costcentres/${data.costCentreID}`, data);\r\n return res;\r\n};\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { AddButton, EditButton, BreadCrumbs } from '../../../../Core/Controls';\r\nimport DialogBox from './costCenterDialog';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport DialogComp from '../../../../Core//Dialog/DialogComp';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport { getAllCostCenter, postCostCenter } from '../../../../Core/Services/InternalUser/costCenterService';\r\n\r\n// const crumbs = [\r\n// { name: 'Home', path: '/' },\r\n// { name: 'Admin', active: true },\r\n// { name: 'Cost Centres', active: true }\r\n// ];\r\nconst basecolumns = [\r\n { key: 'costCentreDescription', name: 'Description', width: '75%' },\r\n {\r\n key: 'costCentreActive',\r\n name: 'Is Active ?',\r\n // formatter: (e) => (e.row.costCentreActive ? 'Yes' : 'No'),\r\n width: '20%'\r\n }\r\n];\r\nconst CostCenter = (props) => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {}\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const pullApiData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const renderEdit = (ev, row) => {\r\n let RowData = { ...row, costCentreActive: row.costCentreActive.toLowerCase() == 'yes' ? true : false };\r\n return (\r\n
\r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Edit Cost Centre',\r\n // selectedRowData: row,\r\n selectedRowData: RowData,\r\n isAdd: false\r\n }));\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n if (checkhaveAccess?.CanUpdateCustomerCostCentres) {\r\n tempCols.splice(0, 0, { key: 'action', name: 'Action', width: 80, formatter: renderEdit });\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const saveData = async (outData) => {\r\n setBtnLoader(true);\r\n let response = await postCostCenter({\r\n costCentreCustomerID: props.customerID,\r\n costCentreID: outData.id || null,\r\n costCentreDescription: outData.value,\r\n costCentreActive: outData?.isChecked\r\n });\r\n if (response) {\r\n response.success\r\n ? showToastSuccess(response.message || 'Cost centre updated successfully')\r\n : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n setBtnLoader(false);\r\n pullApiData();\r\n };\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Add Cost Centre',\r\n isAdd: true,\r\n selectedRowData: {}\r\n }));\r\n };\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false\r\n }));\r\n };\r\n return (\r\n
\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n />\r\n {state.open ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default CostCenter;\r\n","import { postWithAuth, getWithAuth } from \"../../Basic/HttpService\";\r\n\r\nexport const getAllServiceAgentFacilities = async () => {\r\n let res = await getWithAuth(`ServiceAgentFacilities`);\r\n return res;\r\n};\r\n\r\nexport const getServiceAgentFacilitiesById = async (id) => {\r\n let res = await getWithAuth(`ServiceAgentFacilities/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postServiceAgentFacilitiesData = async (data) => {\r\n let res = await postWithAuth(`ServiceAgentFacilities`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryButton, MandatoryField } from '../../../../Core/Controls';\r\nimport { getServiceAgentFacilitiesById, postServiceAgentFacilitiesData } from '../../../../Core/Services/InternalUser/serviceAgentFacilitiesService';\r\nimport { SecondaryCheckbox } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../.././commonStyle.scss';\r\n\r\nfunction ServiceAgentFacilitiesModal(props) {\r\n const [state, setState] = useState({\r\n serviceAgentFacilityID: null,\r\n serviceAgentFacilityName: '',\r\n serviceAgentFacilityActive: true,\r\n errors: {},\r\n serviceAgentFacilityAddInMapFilter: false\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.serviceAgentFacilityID) {\r\n let res = await getServiceAgentFacilitiesById(props.serviceAgentFacilityID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n serviceAgentFacilityID: res.data.serviceAgentFacilityID,\r\n serviceAgentFacilityName: res.data.serviceAgentFacilityName,\r\n serviceAgentFacilityActive: res.data.serviceAgentFacilityActive,\r\n serviceAgentFacilityAddInMapFilter: res.data.serviceAgentFacilityAddInMapFilter\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { serviceAgentFacilityName } = state;\r\n\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!serviceAgentFacilityName.trim()) {\r\n errors.serviceAgentFacilityName = 'Facility Name is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const ServiceAgentData = {\r\n serviceAgentFacilityID: state.serviceAgentFacilityID,\r\n serviceAgentFacilityName: state.serviceAgentFacilityName,\r\n serviceAgentFacilityActive: state.serviceAgentFacilityActive,\r\n serviceAgentFacilityAddInMapFilter: state.serviceAgentFacilityAddInMapFilter\r\n };\r\n let res = await postServiceAgentFacilitiesData(ServiceAgentData);\r\n if (res.success) {\r\n showToastSuccess('ServiceAgentFacilities Updated successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 {props.serviceAgentFacilityID ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ServiceAgentFacilitiesModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllServiceAgentFacilities } from '../../../../Core/Services/InternalUser/serviceAgentFacilitiesService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport ServiceAgentFacilitiesModal from './ServiceAgentFacilitiesModal';\r\nimport { BreadCrumbs, AddButton, EditButton } from '../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport '../../.././commonStyle.scss';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Admin', active: true },\r\n { name: 'Service Agent Facilities', active: true }\r\n];\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'serviceAgentFacilityName', name: 'Description' },\r\n { key: 'serviceAgentFacilityAddInMapFilter', name: 'Add in Map Filter?' },\r\n { key: 'serviceAgentFacilityActive', name: 'Is Active?' }\r\n];\r\n\r\nfunction ServiceAgentFacilities(props) {\r\n const [state, setState] = useState({\r\n serviceAgentFacilitiesList: [],\r\n loader: true,\r\n open: false,\r\n isReload: null\r\n });\r\n\r\n const pullServiceAgent = async () => {\r\n setState((state) => ({\r\n ...state,\r\n loader: false,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const serviceAgentUpdateHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, serviceAgentFacilityID: params?.serviceAgentFacilityID }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n serviceAgentUpdateHandler(row)} toolTipTitle=\"Edit Service Agent Facility\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n }, []);\r\n\r\n const title = state.serviceAgentFacilityID ? 'Update Service Agent Facility' : 'Add Service Agent Facility';\r\n\r\n const closeServiceAgentModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullServiceAgent();\r\n };\r\n\r\n const urlState = 'ServiceAgentFacilities';\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Service Agent Facility\"\r\n onBtnClick={() => serviceAgentUpdateHandler(null)}\r\n />\r\n\r\n {state.open ? (\r\n closeServiceAgentModal(false)} maxWidth=\"md\">\r\n closeServiceAgentModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\n\r\nexport default ServiceAgentFacilities;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllVehicle = async (filterID) => {\r\n if (filterID === ':' || filterID === undefined || filterID === null) filterID = '';\r\n let res = await getWithAuth(`vehicles?mode=${filterID}`);\r\n return res;\r\n};\r\n\r\nexport const getVehicleById = async (Id) => {\r\n let res = await getWithAuth(`vehicles/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const getVehicleScreenDropdowns = async () => {\r\n let res = await getWithAuth(`Vehicles/screenDropdowns`);\r\n return res;\r\n};\r\n\r\nexport const getCustomersListDropdowns = async () => {\r\n let res = await getWithAuth(`schedules/Customers_List`);\r\n return res;\r\n};\r\n\r\nexport const getSchedulePlannerDropdowns = async (custId) => {\r\n let res = await getWithAuth(`schedules/SchedulePlanner_Dropdown?CustomerID=${custId}`);\r\n return res;\r\n};\r\n\r\nexport const addVehicle = async (data) => {\r\n let res = await postWithAuth('vehicles', data);\r\n return res;\r\n};\r\n\r\nexport const getRegBasedData = async (data) => {\r\n let res = await getWithAuth(`Vehicles/DVLA/${data}`);\r\n return res;\r\n};\r\n\r\nexport const getTitleData = async (id) => {\r\n let res = await getWithAuth(`Vehicles/VehicleGetTitleData/${id}`);\r\n return res;\r\n};\r\nexport const getSchedulePlannerData = async (fromDate, toDate, customerID, depotsID, serviceAgentID, endUser, fileType, endUserWildCard = '') => {\r\n let res = await getWithAuth(\r\n `Schedules/SchedulePlanner?startDate=${fromDate}&endDate=${toDate}&custId=${customerID}&depot=${depotsID}&AgentID=${serviceAgentID}&endUser=${\r\n endUser || ''\r\n }&Filetype=${fileType}&endUserWildCard=${endUserWildCard}`,\r\n {\r\n responseType: 'blob',\r\n returnOrgRes: true\r\n }\r\n );\r\n\r\n return res;\r\n};\r\n\r\nexport const archiveVehicle = async (vehicleID, date) => {\r\n let res = await postWithAuth('vehicles/archive', {\r\n VehicleID: vehicleID,\r\n\r\n Date: date\r\n });\r\n\r\n return res;\r\n};\r\n\r\nexport const unArchiveVehicle = async (vehicleID, date) => {\r\n let res = await postWithAuth('vehicles/unarchive', {\r\n VehicleID: vehicleID,\r\n\r\n Date: date\r\n });\r\n\r\n return res;\r\n};\r\nexport const postSetVehicleMOTandTax = async (data) => {\r\n let res = await postWithAuth(`Vehicles/SetVehicleMOTTAxDate`, data);\r\n return res;\r\n};\r\nexport const getVehicleMOTandTax = async (id, regno) => {\r\n let res = await getWithAuth(`Vehicles/GetVehicleMOTTAxDate/${regno}/${id}`);\r\n return res;\r\n};","import { createContext, useEffect, useState } from 'react';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport {\r\n addVehicle,\r\n getVehicleById,\r\n getVehicleScreenDropdowns,\r\n getRegBasedData\r\n} from '../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { find } from 'lodash';\r\n\r\nimport { formatters } from '../../../../Core/Controls';\r\n\r\nimport { useHistory } from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\n\r\nexport const VehicleScreenContext = createContext();\r\n\r\nexport const VehicleProvider = (props) => {\r\n let history = useHistory();\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const [state, setState] = useState({\r\n customerAutoApprovalLimit: '',\r\n vehicleFuelType: '',\r\n errors: {},\r\n VehicleID: null,\r\n regNumber: '',\r\n customerID: '',\r\n customerName: '',\r\n customerList: [],\r\n depotsID: '',\r\n depotName: '',\r\n depotsList: [],\r\n modelID: '',\r\n modelList: [],\r\n ModelAsPerMake: [],\r\n vehicleAsPerCategoryList: [],\r\n depotWithCustList: [],\r\n makeID: '',\r\n makeList: [],\r\n wheelPlan: '',\r\n vehicleTypeID: '',\r\n vehicleTypeList: [],\r\n vehicleTypeDescription: '',\r\n vehicleCategoryID: '',\r\n vehicleCategoryDescription: '',\r\n vehicleCategoryList: [],\r\n capacity: '',\r\n co2Emission: '',\r\n fuelType: '',\r\n costCentreID: '',\r\n costCentreList: [],\r\n ownershipTypeID: '',\r\n ownershipTypeList: [],\r\n chassisNumber: '',\r\n vehiclePrimaryServiceAgentID: '',\r\n vehiclePrimaryServiceAgentIDList: [],\r\n vehicleEndUserID: '',\r\n vehicleEndUserIDList: [],\r\n fuelTypeList: [],\r\n vehicleSecondaryServiceAgentID: null\r\n });\r\n\r\n const [otherFields, setOtherFields] = useState({\r\n errors: {},\r\n assetNumber: '',\r\n fleetNumber: '',\r\n ministryNumber: '',\r\n description: '',\r\n colour: '',\r\n MPG: '',\r\n P11DValue: '',\r\n radioCode: '',\r\n vehicleTankCapacity: '',\r\n vehicleTelematicsIMEI: '',\r\n vehicleNextInspectionDate: '',\r\n vehicleNextServiceDateDue: '',\r\n vehicleNextServiceMileage: '',\r\n vehicleCheckFrequency: '',\r\n vehicleMaintenanceRef: '',\r\n primaryAgent: '',\r\n vehicleLatestMileage: 'N/A',\r\n vehicleLastMileageDate: 'N/A',\r\n displayBatteryLevel: 'N',\r\n vehicleBatteryLevelDate: 'N/A',\r\n vehicleLevelOfCharge: '',\r\n vehicleStateOfCharge: '',\r\n vehicleServiceScheduleID: '',\r\n vehicleDOTScheduleID: ''\r\n });\r\n\r\n const [jobFields, setJobFields] = useState({\r\n vehicleV5CRegistrationUptoDate: false,\r\n jobAdminFee: '',\r\n odometerUnitCode: '',\r\n odometerUnitCodeList: [],\r\n cabTypeID: '',\r\n cabTypeList: [],\r\n vehicleSuspensionTypeID: '',\r\n suspensionList: [],\r\n vehicleBodyTypeID: '',\r\n vehicleBodyTypeList: [],\r\n vehicleConfigurationTypeID: '',\r\n configurationTypeList: [],\r\n vehicleRFLResponsible: false,\r\n euro4Compliant: false,\r\n RDE2Compliant: false,\r\n shuntVehicle: false,\r\n vehicleCoveredByFleetInsurance: false,\r\n vehicleIsSORN: false,\r\n vehicleMaintenanceRef: '',\r\n hireSupplierID: '',\r\n hireSupplierList: [],\r\n hireHistoryID: '',\r\n hireHistoryList: [],\r\n vehicleMaintenanceProviderID: '',\r\n vehicleMaintenanceProviderList: [],\r\n vehicleLatestMileage: '',\r\n vehicleAnnualMileage: '',\r\n vehicleTaxAmount: ''\r\n });\r\n\r\n const [dateFields, setDateFields] = useState({\r\n dateOfReg1: '',\r\n fleetDate: '',\r\n dateOfReg: '',\r\n motExpiry: '',\r\n motExpiry1: '',\r\n taxDue: '',\r\n insuranceRenewalDate: '',\r\n vehicleRMStartDate: '',\r\n vehicleVOREndDate: '',\r\n vehicleRMEndDate: '',\r\n vehicleRMStartDate: ''\r\n });\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n customerIDValue: null,\r\n depotsIDValue: null,\r\n makeIDValue: null,\r\n modelIDValue: null,\r\n fuelTypeValue: null,\r\n vehiclePrimaryServiceAgentIDValue: null,\r\n vehicleEndUserIDValue: null,\r\n vehicleSecondaryServiceAgentIDValue: null,\r\n vehicleCategoryIDValue: null,\r\n vehicleTypeIDValue: null,\r\n costCentreIDValue: null,\r\n ownershipTypeIDValue: null,\r\n odometerUnitCodeValue: null,\r\n cabTypeIDValue: null,\r\n vehicleMaintenanceProviderIDValue: null,\r\n vehicleSuspensionTypeIDValue: null,\r\n vehicleBodyTypeIDValue: null,\r\n vehicleConfigurationTypeIDValue: null,\r\n vehicleServiceScheduleIDValue: null,\r\n vehicleDOTScheduleIDValue: null\r\n });\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n\r\n const pullMileageData = async (VehicleID) => {\r\n if (VehicleID) {\r\n let res = await getVehicleById(VehicleID);\r\n const data = res.data?.details[0];\r\n\r\n setOtherFields((st) => ({\r\n ...st,\r\n vehicleLatestMileage: data.vehicleLatestMileage || 'N/A',\r\n vehicleLastMileageDate: data.vehicleLastMileageDate ? moment(data.vehicleLastMileageDate).format('DD/MM/YYYY') : 'N/A',\r\n displayBatteryLevel: data.displayBatteryLevel,\r\n vehicleBatteryLevelDate: formatters.DateFormatter(data.vehicleBatteryLevelDate),\r\n vehicleLevelOfCharge: data.vehicleLevelOfCharge,\r\n vehicleStateOfCharge: data.vehicleStateOfCharge\r\n }));\r\n }\r\n };\r\n const getVehicleDataById = async () => {\r\n let res = await getVehicleById(props.VehicleID);\r\n const data = res.data.details[0];\r\n if (data) {\r\n setState((st) => ({\r\n ...st,\r\n VehicleID: data.vehicleID,\r\n regNumber: data.vehicleRegNumber,\r\n customerID: data.vehicleCustomerID,\r\n depotsID: data.vehicleDepotID,\r\n modelID: data.vehicleModel,\r\n makeID: data.vehicleMake,\r\n wheelPlan: data.vehicleWheelPlan,\r\n vehicleTypeID: data.vehicleTypeID,\r\n vehicleCategoryID: data.vehicleCategoryID,\r\n customerName: data.customer,\r\n depotName: data.depotName,\r\n driver: data.driver,\r\n vehicleDriverID: data.vehicleDriverID,\r\n vehicleCategoryDescription: data.vehicleCategoryDescription,\r\n vehicleTypeDescription: data.vehicleTypeDescription,\r\n capacity: data.vehicleEngineCapacity,\r\n co2Emission: data.vehicleCO2Emission,\r\n fuelType: data.vehicleFuelTypeID,\r\n vehicleFuelType: data.vehicleFuelType,\r\n costCentreID: data.vehicleCostCentreID,\r\n ownershipTypeID: data.vehicleOwnershipTypeID,\r\n chassisNumber: data.vehicleChassisNumber,\r\n vehiclePrimaryServiceAgentID: data.vehiclePrimaryServiceAgentID,\r\n vehicleEndUserID: data.vehicleEndUserID,\r\n endUserName: data.endUserName || '',\r\n vehicleSecondaryServiceAgentID: data.vehicleSecondaryServiceAgentID,\r\n vehicleDirectVisionStandardRating: data.vehicleDirectVisionStandardRating,\r\n fileCount: data.fileCount\r\n }));\r\n setOtherFields((st) => ({\r\n ...st,\r\n assetNumber: data.vehicleAssetNumber,\r\n fleetNumber: data.vehicleFleetNumber,\r\n ministryNumber: data.vehicleMinistryNumber,\r\n description: data?.vehicleDescription,\r\n colour: data.vehicleColour,\r\n MPG: data.vehicleMPG,\r\n P11DValue: data.vehicleP11DValue,\r\n vehicleNextServiceMileage: data.vehicleNextServiceMileage,\r\n vehicleCheckFrequency: data.vehicleCheckFrequency,\r\n vehicleMaintenanceRef: data.vehicleMaintenanceRef,\r\n primaryAgent: data.primaryAgent,\r\n vehicleLatestMileage: data.vehicleLatestMileage,\r\n vehicleLastMileageDate: data.vehicleLastMileageDate ? moment(data.vehicleLastMileageDate).format('DD/MM/YYYY') : 'N/A',\r\n displayBatteryLevel: data.displayBatteryLevel,\r\n vehicleBatteryLevelDate: formatters.DateFormatter(data.vehicleBatteryLevelDate),\r\n vehicleLevelOfCharge: data.vehicleLevelOfCharge,\r\n vehicleStateOfCharge: data.vehicleStateOfCharge,\r\n service: data.service,\r\n schedule: data.schedule\r\n }));\r\n setJobFields((st) => ({\r\n ...st,\r\n radioCode: data.vehicleRadioCode,\r\n vehicleTankCapacity: data.vehicleTankCapacity,\r\n vehicleTelematicsIMEI: data.vehicleTelematicsIMEI,\r\n vehicleV5CRegistrationUptoDate: data.vehicleV5CRegistrationUptoDate,\r\n jobAdminFee: data.vehicleJobAdminFee,\r\n odometerUnitCode: data.vehicleOdometerUnitCode,\r\n cabTypeID: data.vehicleCabTypeID,\r\n vehicleSuspensionTypeID: data.vehicleSuspensionTypeID,\r\n vehicleLatestMileage: data.vehicleLatestMileage,\r\n vehicleBodyTypeID: data.vehicleBodyTypeID,\r\n vehicleConfigurationTypeID: data.vehicleConfigurationTypeID,\r\n vehicleRFLResponsible: data.vehicleRFLResponsible,\r\n vehicleMaintenanceRef: data.vehicleMaintenanceRef,\r\n hireSupplierID: data.vehicleHireSupplierID,\r\n hireHistoryID: data.vehicleHireHistoryID,\r\n vehicleMaintenanceProviderID: data.vehicleMaintenanceProviderID,\r\n vehicleAnnualMileage: data.vehicleAnnualMileage,\r\n vehicleTaxAmount: data.vehicleTaxAmount,\r\n vorVehicleID: data.vorVehicleID,\r\n vehicleServiceScheduleID: data.vehicleServiceScheduleID,\r\n vehicleDOTScheduleID: data.vehicleDOTScheduleID,\r\n vehicleActive: data.vehicleActive\r\n }));\r\n\r\n setDateFields((st) => ({\r\n ...st,\r\n dateOfReg: formatters.DateFormatter(data.vehicleDateOfRegistration),\r\n dateOfReg1: formatters.YearFormatter(data.vehicleDateOfRegistration),\r\n fleetDate: formatters.DateFormatter(data.vehicleFleetDate),\r\n vehicleNextInspectionDate: formatters.DateFormatter(data.vehicleNextInspectionDate),\r\n vehicleNextServiceDateDue: formatters.DateFormatter(data.vehicleNextServiceDateDue),\r\n vehicleNextServiceDateDueDisplay: data.vehicleNextServiceDateDue,\r\n motExpiry: formatters.DateFormatter(data.vehicleMOTExpiry),\r\n motExpiry1: formatters.YearFormatter(data.vehicleMOTExpiry),\r\n taxDue: formatters.DateFormatter(data.vehicleTaxDue),\r\n insuranceRenewalDate: formatters.DateFormatter(data.vehicleInsuranceRenewalDate),\r\n euro4Compliant: data.vehicleEuro4Compliant,\r\n RDE2Compliant: data.vehicleRDE2Compliant,\r\n shuntVehicle: data.vehicleShuntVehicle,\r\n vehicleRMEndDate: formatters.DateFormatter(data.vehicleRMEndDate),\r\n vehicleRMStartDate: formatters.DateFormatter(data.vehicleRMStartDate),\r\n vehicleCoveredByFleetInsurance: data.vehicleCoveredByFleetInsurance,\r\n vehicleIsSORN: data.vehicleIsSORN,\r\n activeRecallCount: data.activeRecallCount,\r\n vehicleNextServiceMileage: data.vehicleNextServiceMileage,\r\n vehicleID: data.vehicleID,\r\n serviceAgentID: data.serviceAgentID,\r\n vehicleServiceScheduleID: data.vehicleServiceScheduleID,\r\n vehicleDOTScheduleID: data.vehicleDOTScheduleID\r\n }));\r\n } else {\r\n showToastError('Vehicle details not found');\r\n history.push(`/controller/Vehicles`);\r\n }\r\n };\r\n useEffect(async () => {\r\n let res = await getVehicleScreenDropdowns();\r\n setState((st) => ({\r\n ...st,\r\n customerList: res.data.customers,\r\n depotsList: res.data.depots,\r\n modelList: res.data.models.map((w) => ({\r\n ...w,\r\n id: w.name,\r\n name: w.name\r\n })),\r\n vehicleTypeList: res.data.vehicleTypes,\r\n makeList: res.data.makes.map((w) => ({\r\n id: w.name,\r\n name: w.name,\r\n makeId: w.id\r\n })),\r\n costCentreList: res.data.costCentres,\r\n ownershipTypeList: res.data.vehicleOwnershipTypes,\r\n vehicleCategoryList: res.data.vehicleCategories,\r\n vehiclePrimaryServiceAgentIDList: res.data.serviceAgents,\r\n vehicleEndUserIDList: res.data.endUsers,\r\n fuelTypeList: res.data.fuelTypes\r\n }));\r\n setJobFields((st) => ({\r\n ...st,\r\n cabTypeList: res.data.cabTypes,\r\n odometerUnitCodeList: res.data.vehicleOdometerUnits,\r\n suspensionList: res.data.suspensionTypes,\r\n vehicleBodyTypeList: res.data.bodyTypes,\r\n configurationTypeList: res.data.configurationTypes,\r\n hireSupplierList: res.data.vehicleHireReasons,\r\n hireHistoryList: res.data.vehicleHireTypes,\r\n vehicleMaintenanceProviderList: res.data.maintenanceProviders,\r\n scheduleEvents: res.data.scheduleEvents,\r\n scheduleInspection: res.data.scheduleInspection || []\r\n }));\r\n\r\n if (props.VehicleID) {\r\n getVehicleDataById();\r\n } else {\r\n setDateFields((st) => ({\r\n ...st,\r\n fleetDate: new Date().toISOString().slice(0, 10)\r\n }));\r\n }\r\n\r\n if (props.customerID) {\r\n setState((st) => ({\r\n ...st,\r\n customerID: props.customerID\r\n }));\r\n }\r\n }, [props.VehicleID, props.vorID, props.customerID]);\r\n\r\n useEffect(async () => {\r\n let ModelListAsPerMake = [];\r\n if (tempOptions.makeIDValue) {\r\n var item = state.makeList.find((item) => item.id === tempOptions.makeIDValue.id);\r\n if (item) {\r\n state.modelList.filter((obj) => {\r\n if (item.makeId === obj.modelMakeID) {\r\n ModelListAsPerMake.push(obj);\r\n }\r\n });\r\n }\r\n setState((st) => ({ ...st, ModelAsPerMake: ModelListAsPerMake }));\r\n }\r\n let vehicleType = [];\r\n if (tempOptions.vehicleCategoryIDValue) {\r\n state.vehicleTypeList.filter((obj) => {\r\n if (tempOptions.vehicleCategoryIDValue.id === obj.vehicleTypeCategoryID) {\r\n vehicleType.push(obj);\r\n }\r\n });\r\n setState((st) => ({ ...st, vehicleAsPerCategoryList: vehicleType }));\r\n }\r\n let Depots = [];\r\n // if (state.customerID) {\r\n // state.depotsList.filter((obj) => {\r\n // if (state.customerID === obj.depotCustomerID) {\r\n // Depots.push(obj);\r\n // }\r\n // });\r\n // setState((st) => ({ ...st, depotWithCustList: Depots }));\r\n // }\r\n\r\n if (isCustomer) {\r\n setState((st) => ({ ...st, depotWithCustList: state.depotsList }));\r\n } else {\r\n if (tempOptions.customerIDValue) {\r\n state.depotsList.filter((obj) => {\r\n if (tempOptions.customerIDValue.id === obj.depotCustomerID) {\r\n Depots.push(obj);\r\n }\r\n });\r\n setState((st) => ({ ...st, depotWithCustList: Depots }));\r\n }\r\n }\r\n }, [tempOptions.vehicleCategoryIDValue, tempOptions.makeIDValue, tempOptions.customerIDValue, isCustomer, state.depotsList]);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n if (state.customerID) {\r\n newSt.customerIDValue = state.customerList.find(({ id }) => id === +state.customerID);\r\n }\r\n if (state.depotsID) {\r\n newSt.depotsIDValue = state.depotsList.find(({ id }) => id === state.depotsID);\r\n }\r\n if (state.makeID) {\r\n newSt.makeIDValue = state.makeList.find(({ id }) => id === state.makeID);\r\n }\r\n if (state.modelID) {\r\n newSt.modelIDValue = state.modelList.find(({ id }) => id === state.modelID);\r\n }\r\n if (state.fuelType) {\r\n newSt.fuelTypeValue = state.fuelTypeList.find(({ id }) => id === state.fuelType);\r\n }\r\n if (state.vehiclePrimaryServiceAgentID) {\r\n newSt.vehiclePrimaryServiceAgentIDValue = state.vehiclePrimaryServiceAgentIDList.find(({ id }) => id === state.vehiclePrimaryServiceAgentID);\r\n }\r\n if (state.vehicleSecondaryServiceAgentID) {\r\n newSt.vehicleSecondaryServiceAgentIDValue = state.vehiclePrimaryServiceAgentIDList.find(({ id }) => id === state.vehicleSecondaryServiceAgentID);\r\n }\r\n if (state.vehicleEndUserID) {\r\n newSt.vehicleEndUserIDValue = state.vehicleEndUserIDList.find(({ id }) => id === state.vehicleEndUserID);\r\n }\r\n if (state.vehicleCategoryID) {\r\n newSt.vehicleCategoryIDValue = state.vehicleCategoryList.find(({ id }) => id === state.vehicleCategoryID);\r\n }\r\n if (state.vehicleTypeID) {\r\n newSt.vehicleTypeIDValue = state.vehicleTypeList.find(({ id }) => id === state.vehicleTypeID);\r\n }\r\n if (state.costCentreID) {\r\n newSt.costCentreIDValue = state.costCentreList.find(({ id }) => id === state.costCentreID);\r\n }\r\n if (state.ownershipTypeID) {\r\n newSt.ownershipTypeIDValue = state.ownershipTypeList.find(({ id }) => id === state.ownershipTypeID);\r\n }\r\n\r\n if (jobFields.odometerUnitCode) {\r\n newSt.odometerUnitCodeValue = jobFields.odometerUnitCodeList.find(({ id }) => id === jobFields.odometerUnitCode);\r\n }\r\n\r\n if (jobFields.cabTypeID) {\r\n newSt.cabTypeIDValue = jobFields.cabTypeList.find(({ id }) => id === jobFields.cabTypeID);\r\n }\r\n\r\n if (jobFields.vehicleMaintenanceProviderID) {\r\n newSt.vehicleMaintenanceProviderIDValue = jobFields.vehicleMaintenanceProviderList.find(({ id }) => id === jobFields.vehicleMaintenanceProviderID);\r\n }\r\n\r\n if (jobFields.vehicleSuspensionTypeID) {\r\n newSt.vehicleSuspensionTypeIDValue = jobFields.suspensionList.find(({ id }) => id === jobFields.vehicleSuspensionTypeID);\r\n }\r\n\r\n if (jobFields.vehicleBodyTypeID) {\r\n newSt.vehicleBodyTypeIDValue = jobFields.vehicleBodyTypeList.find(({ id }) => id === jobFields.vehicleBodyTypeID);\r\n }\r\n\r\n if (jobFields.vehicleConfigurationTypeID) {\r\n newSt.vehicleConfigurationTypeIDValue = jobFields.configurationTypeList.find(({ id }) => id === jobFields.vehicleConfigurationTypeID);\r\n }\r\n if (jobFields.vehicleServiceScheduleID) {\r\n newSt.vehicleServiceScheduleIDValue = jobFields.scheduleEvents.find(({ id }) => id === jobFields.vehicleServiceScheduleID);\r\n }\r\n if (jobFields.vehicleDOTScheduleID) {\r\n newSt.vehicleDOTScheduleIDValue = jobFields.scheduleInspection.find(({ id }) => id === jobFields.vehicleDOTScheduleID);\r\n }\r\n\r\n setTempOptions((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [\r\n state.customerID,\r\n state.depotsID,\r\n state.makeID,\r\n state.modelID,\r\n state.fuelType,\r\n state.vehiclePrimaryServiceAgentID,\r\n state.vehicleSecondaryServiceAgentID,\r\n state.vehicleCategoryID,\r\n state.vehicleTypeID,\r\n state.costCentreID,\r\n state.ownershipTypeID,\r\n state.vehicleEndUserID,\r\n jobFields.odometerUnitCode,\r\n jobFields.cabTypeID,\r\n jobFields.vehicleMaintenanceProviderID,\r\n jobFields.vehicleSuspensionTypeID,\r\n jobFields.vehicleBodyTypeID,\r\n jobFields.vehicleConfigurationTypeID,\r\n jobFields.vehicleDOTScheduleID\r\n ]);\r\n\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n // setTempOptions((st) => ({ ...st, [nm]: val }));\r\n setTempOptions((st) => {\r\n let newSt = { ...st, [nm]: val };\r\n if (nm === 'customerIDValue') {\r\n newSt.depotsIDValue = null;\r\n }\r\n if (nm === 'makeIDValue') {\r\n newSt.modelIDValue = null;\r\n }\r\n if (nm === 'vehicleCategoryIDValue') {\r\n newSt.vehicleTypeIDValue = null;\r\n }\r\n return newSt;\r\n });\r\n };\r\n\r\n const handleTabPress = (e) => {\r\n if (e.keyCode == 9) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n pullRegBasedData(e.target.value);\r\n }\r\n };\r\n const fetchIdFromList = (list, name) => {\r\n return name ? find(list, (m) => m.name?.toLowerCase() === name.toLowerCase())?.id : null;\r\n };\r\n const pullRegBasedData = async (value) => {\r\n let res = await getRegBasedData(value.toUpperCase());\r\n if (res.success) {\r\n const data = res?.data?.mot;\r\n if (res?.data?.message) {\r\n showToastError(res?.data?.message);\r\n } else {\r\n setOtherFields((st) => ({\r\n ...st,\r\n colour: data.colour\r\n }));\r\n setDateFields((st) => ({\r\n ...st,\r\n dateOfReg: formatters.DateFormatter(data.registrationDate),\r\n taxDue: formatters.DateFormatter(data.taxDueDate),\r\n motExpiry: formatters.DateFormatter(data.motExpiryDate)\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n regNumber: data.registrationNumber,\r\n customerID: data.vehicleCustomerId,\r\n makeID: formatters.capitalize(data.make),\r\n modelID: formatters.capitalize(data.model),\r\n wheelPlan: data.wheelplan,\r\n capacity: data.engineCapacity,\r\n co2Emission: data.co2Emissions,\r\n fuelType: fetchIdFromList(st.fuelTypeList, data?.fuelType),\r\n vehicleTypeID: fetchIdFromList(st.vehicleTypeList, data?.vehicleType),\r\n vehicleCategoryID: fetchIdFromList(st.vehicleCategoryList, data?.vehicleCategory)\r\n }));\r\n }\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n const dateFieldsChange = (e) => {\r\n const { name, value } = e.target;\r\n setDateFields((st) => ({ ...st, [name]: value }));\r\n };\r\n const jobFieldsChange = (e) => {\r\n const { name, value } = e.target;\r\n setJobFields((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const otherFieldsChange = (e) => {\r\n const { name, value } = e.target;\r\n setOtherFields((st) => ({ ...st, [name]: value }));\r\n };\r\n const validations = () => {\r\n const { regNumber } = state;\r\n const { customerIDValue, depotsIDValue, vehiclePrimaryServiceAgentIDValue, vehicleCategoryIDValue, vehicleTypeIDValue } = tempOptions;\r\n let formIsValid = true;\r\n let errors = {};\r\n let errors2 = {};\r\n if (!vehicleTypeIDValue) {\r\n errors.vehicleTypeID = 'The Vehicle Type field is required';\r\n formIsValid = false;\r\n }\r\n if (!vehicleCategoryIDValue) {\r\n errors.vehicleCategoryID = 'The Category field is required';\r\n formIsValid = false;\r\n }\r\n if (!depotsIDValue) {\r\n errors.depotsID = 'The depot field is required';\r\n formIsValid = false;\r\n }\r\n if (!customerIDValue && !isCustomer) {\r\n errors.customerID = 'The Customer field is required';\r\n formIsValid = false;\r\n }\r\n if (!regNumber) {\r\n errors.regNumber = 'Reg Number is required';\r\n formIsValid = false;\r\n }\r\n if (!vehiclePrimaryServiceAgentIDValue) {\r\n errors.vehiclePrimaryServiceAgentID = 'Primary service agent is required';\r\n formIsValid = false;\r\n }\r\n if (!dateFields.fleetDate) {\r\n errors2.fleetDate = 'Fleet Date is required';\r\n formIsValid = false;\r\n }\r\n // if (!dateFields.vehicleNextInspectionDate) {\r\n // errors2.vehicleNextInspectionDate = 'Next inspection date is required';\r\n // formIsValid = false;\r\n // }\r\n // if (!dateFields.vehicleNextServiceDateDue) {\r\n // errors2.vehicleNextServiceDateDue = 'First service due Date is required';\r\n // formIsValid = false;\r\n // }\r\n if (!dateFields.dateOfReg) {\r\n errors2.dateOfReg = 'Date of reg is required';\r\n formIsValid = false;\r\n }\r\n\r\n setState((st) => ({ ...st, errors: errors }));\r\n setOtherFields((st) => ({ ...st, errors: errors2 }));\r\n\r\n return formIsValid;\r\n };\r\n\r\n const showRatingModal = (name, value) => {\r\n setState((st) => ({ ...st, showRating: true, vehicleDirectVisionStandardRating: value }));\r\n };\r\n\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setJobFields((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n const handleClick = (name, value) => {\r\n setJobFields((st) => {\r\n const nst = { ...st, [name]: value };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n const formData = {\r\n VehicleID: state.VehicleID,\r\n vehicleRegNumber: state.regNumber,\r\n vehicleCustomerId: isCustomer ? null : tempOptions.customerIDValue?.id,\r\n vehicleDepotID: tempOptions.depotsIDValue?.id,\r\n vehicleModel: tempOptions.modelIDValue?.id,\r\n vehicleMake: tempOptions.makeIDValue?.id,\r\n vehicleWheelPlan: state.wheelPlan,\r\n vehicleTypeID: tempOptions.vehicleTypeIDValue?.id,\r\n vehicleCategoryID: tempOptions.vehicleCategoryIDValue?.id,\r\n vehicleEngineCapacity: state.capacity,\r\n vehicleCO2Emission: state.co2Emission,\r\n vehicleChassisNumber: state.chassisNumber,\r\n vehicleFuelTypeID: tempOptions.fuelTypeValue?.id,\r\n vehicleCostCentreID: tempOptions.costCentreIDValue?.id,\r\n vehicleOwnershipTypeID: tempOptions.ownershipTypeIDValue?.id,\r\n vehiclePrimaryServiceAgentID: tempOptions.vehiclePrimaryServiceAgentIDValue?.id,\r\n vehicleEndUserID: tempOptions.vehicleEndUserIDValue?.id || null,\r\n vehicleSecondaryServiceAgentID: tempOptions.vehicleSecondaryServiceAgentIDValue?.id,\r\n vehicleDirectVisionStandardRating: state.vehicleDirectVisionStandardRating,\r\n vehicleServiceScheduleID: tempOptions.vehicleServiceScheduleIDValue?.id,\r\n vehicleDOTScheduleID: tempOptions.vehicleDOTScheduleIDValue?.id,\r\n vehicleAssetNumber: otherFields.assetNumber,\r\n vehicleFleetNumber: otherFields.fleetNumber,\r\n vehicleMinistryNumber: otherFields.ministryNumber,\r\n vehicleDescription: otherFields.description,\r\n vehicleColour: otherFields.colour,\r\n vehicleMPG: otherFields.MPG,\r\n vehicleP11DValue: otherFields.P11DValue,\r\n vehicleNextServiceMileage: otherFields.vehicleNextServiceMileage,\r\n vehicleCheckFrequency: otherFields.vehicleCheckFrequency,\r\n\r\n vehicleRadioCode: jobFields.radioCode,\r\n vehicleTankCapacity: jobFields.vehicleTankCapacity,\r\n vehicleTelematicsIMEI: jobFields.vehicleTelematicsIMEI,\r\n vehicleV5CRegistrationUptoDate: jobFields.vehicleV5CRegistrationUptoDate,\r\n vehicleJobAdminFee: jobFields.jobAdminFee,\r\n vehicleOdometerUnitCode: tempOptions.odometerUnitCodeValue?.id,\r\n vehicleCabTypeID: tempOptions.cabTypeIDValue?.id,\r\n vehicleSuspensionTypeID: tempOptions.vehicleSuspensionTypeIDValue?.id,\r\n vehicleBodyTypeID: tempOptions.vehicleBodyTypeIDValue?.id,\r\n vehicleConfigurationTypeID: tempOptions.vehicleConfigurationTypeIDValue?.id,\r\n vehicleRFLResponsible: jobFields.vehicleRFLResponsible,\r\n vehicleMaintenanceRef: jobFields.vehicleMaintenanceRef,\r\n vehicleHireSupplierID: jobFields.hireSupplierID,\r\n vehicleHireHistoryID: jobFields.hireHistoryID,\r\n vehicleMaintenanceProviderID: tempOptions.vehicleMaintenanceProviderIDValue?.id,\r\n vehicleLatestMileage: jobFields.vehicleLatestMileage,\r\n vehicleAnnualMileage: jobFields.vehicleAnnualMileage,\r\n vehicleTaxAmount: jobFields.vehicleTaxAmount,\r\n\r\n vehicleFleetDate: dateFields.fleetDate,\r\n vehicleNextInspectionDate: dateFields.vehicleNextInspectionDate,\r\n vehicleNextServiceDateDue: dateFields.vehicleNextServiceDateDue,\r\n vehicleInsuranceRenewalDate: dateFields.insuranceRenewalDate,\r\n vehicleEuro4Compliant: dateFields.euro4Compliant,\r\n vehicleRDE2Compliant: dateFields.RDE2Compliant,\r\n vehicleShuntVehicle: dateFields.shuntVehicle,\r\n vehicleRMEndDate: dateFields.vehicleRMEndDate,\r\n vehicleRMStartDate: dateFields.vehicleRMStartDate,\r\n vehicleCoveredByFleetInsurance: dateFields.vehicleCoveredByFleetInsurance,\r\n vehicleIsSORN: dateFields.vehicleIsSORN,\r\n vehicleDateOfRegistration: dateFields.dateOfReg,\r\n vehicleMOTExpiry: dateFields.motExpiry,\r\n vehicleTaxDue: dateFields.taxDue\r\n };\r\n setBtnLoader(true);\r\n let res = await addVehicle(formData);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onFormSubmit(true);\r\n !state.VehicleID && history.push(`/controller/editVehicle/${res.data.vehicleID}`);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { InputText, SelectBox, SecondaryCheckbox, DatePicker, SimpleField, YesButton, NoButton, SingleSelect } from '../../../../../Core/Controls';\r\nimport { VehicleProvider as StateProvider, VehicleScreenContext } from '../VehicleProvider';\r\n\r\nimport '../../controllerStyle.scss';\r\n\r\nconst OtherVehicleDetails = (props) => {\r\n // const { otherFields, otherFieldsChange } = props;\r\n const {\r\n state,\r\n handleSubmit,\r\n inputChange,\r\n otherFields,\r\n otherFieldsChange,\r\n jobFields,\r\n jobFieldsChange,\r\n handleCheckbox,\r\n dateFieldsChange,\r\n dateFields,\r\n handleTabPress,\r\n handleClick,\r\n handleActive,\r\n singleSelectChange,\r\n tempOptions\r\n } = useContext(VehicleScreenContext);\r\n\r\n console.log(tempOptions, 'tempOptions');\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 \r\n {otherFields.errors.P11DValue}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n Odometer Unit Code\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Service\r\n {/* */}\r\n \r\n \r\n \r\n DOT Schedule\r\n {/* */}\r\n \r\n \r\n\r\n {/* \r\n \r\n */}\r\n {/* \r\n \r\n \r\n Vehicle Off Road?\r\n \r\n \r\n handleClick('vehicleOffRoad', true)} />\r\n \r\n \r\n handleClick('vehicleOffRoad', false)} />\r\n \r\n \r\n */}\r\n \r\n );\r\n};\r\n\r\nexport default OtherVehicleDetails;\r\n","import React, { useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText } from '@material-ui/core';\r\nimport { InputText, SelectBox, SecondaryCheckbox, SimpleField, SingleSelect } from '../../../../../Core/Controls';\r\nimport { VehicleProvider as StateProvider, VehicleScreenContext } from '../VehicleProvider';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport '../../controllerStyle.scss';\r\nimport SimpleRating from '../../../../../Core/Controls/Rating';\r\n\r\nconst JobFieldsModal = (props) => {\r\n const {\r\n state,\r\n handleSubmit,\r\n inputChange,\r\n otherFields,\r\n otherFieldsChange,\r\n jobFields,\r\n jobFieldsChange,\r\n handleCheckbox,\r\n dateFieldsChange,\r\n dateFields,\r\n showRatingModal,\r\n handleTabPress,\r\n singleSelectChange,\r\n tempOptions\r\n } = useContext(VehicleScreenContext);\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 {state.errors.wheelPlan}\r\n \r\n\r\n \r\n Cab Type\r\n {/* */}\r\n \r\n \r\n \r\n Maintenance Provider\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Suspension\r\n {/* */}\r\n \r\n \r\n \r\n Body Type\r\n {/* */}\r\n \r\n \r\n \r\n Configuration\r\n {/* */}\r\n \r\n \r\n\r\n {/* \r\n Hire Supplier\r\n \r\n \r\n \r\n Hire History\r\n \r\n */}\r\n \r\n \r\n {otherFields.errors.MPG}\r\n \r\n \r\n \r\n \r\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 JobFieldsModal;\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText } from '@material-ui/core';\r\nimport { DatePicker, SimpleField } from '../../../../../Core/Controls';\r\nimport '../../controllerStyle.scss';\r\n\r\nconst DateFieldsModal = (props) => {\r\n const { dateFields, dateFieldsChange, otherFieldsChange, otherFields, state } = props;\r\n\r\n const isDisabled = props.state.VehicleID ? true : false;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n Date Of Reg\r\n \r\n \r\n {otherFields.errors.dateOfReg}\r\n \r\n \r\n \r\n Fleet on Date\r\n \r\n \r\n {otherFields.errors.fleetDate}\r\n \r\n \r\n Tax Due\r\n \r\n \r\n \r\n MOT Expiry\r\n \r\n \r\n \r\n \r\n Next Inspection Date\r\n \r\n \r\n {otherFields.errors.vehicleNextInspectionDate}\r\n \r\n \r\n Insurance Renewal Date\r\n \r\n \r\n \r\n \r\n Next Service Date Due\r\n \r\n \r\n {otherFields.errors.vehicleNextServiceDateDue}\r\n \r\n \r\n \r\n {otherFields.errors.vehicleNextServiceMileage}\r\n \r\n \r\n R&M Start Date\r\n \r\n \r\n \r\n R&M End Date\r\n \r\n \r\n {/* \r\n VOR Start Date\r\n \r\n \r\n \r\n VOR End Date\r\n \r\n */}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DateFieldsModal;\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryCheckbox } from '../../../../../Core/Controls';\r\nimport '../../controllerStyle.scss';\r\n\r\nconst FlagFieldsModal = (props) => {\r\n const { jobFields, handleCheckbox } = props;\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 \r\n \r\n \r\n \r\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 FlagFieldsModal;\r\n","import React, { useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport {\r\n InputText,\r\n SecondaryButton,\r\n SelectBox,\r\n DatePicker,\r\n BreadCrumbs,\r\n Accordion,\r\n MandatoryField,\r\n SimpleField,\r\n SingleSelect\r\n} from '../../../../Core/Controls';\r\nimport { VehicleProvider as StateProvider, VehicleScreenContext } from './VehicleProvider';\r\nimport OtherVehicleDetails from './more/otherVehicleField';\r\nimport JobFieldsModal from './more/jobFields';\r\nimport DateFieldsModal from './more/dateFields';\r\nimport FlagFieldsModal from './more/flagDetails';\r\nimport '../controllerStyle.scss';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst AddEditVehicle = (props) => {\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true, onClick: props.onFormSubmit },\r\n { name: 'Add Vehicle', active: true }\r\n ];\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const {\r\n state,\r\n handleSubmit,\r\n inputChange,\r\n otherFields,\r\n otherFieldsChange,\r\n jobFields,\r\n jobFieldsChange,\r\n handleCheckbox,\r\n dateFieldsChange,\r\n dateFields,\r\n handleTabPress,\r\n singleSelectChange,\r\n tempOptions,\r\n btnLoader\r\n } = useContext(VehicleScreenContext);\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n const checkToshowBreadCrumbs = props.customerID || !!props.VehicleID;\r\n return (\r\n
\r\n {!checkToshowBreadCrumbs ? : null}\r\n \r\n \r\n \r\n \r\n\r\n {!isCustomer && (\r\n \r\n \r\n Customer\r\n \r\n {/* */}\r\n \r\n {state.errors.customerID}\r\n \r\n )}\r\n \r\n \r\n Depot\r\n \r\n {/* */}\r\n \r\n {state.errors.depotsID}\r\n \r\n \r\n End User\r\n \r\n \r\n \r\n Make\r\n {/* */}\r\n \r\n \r\n \r\n Model\r\n {/* */}\r\n \r\n \r\n \r\n Fuel Type\r\n {/* */}\r\n \r\n \r\n \r\n \r\n Primary Service Agent\r\n \r\n {/* */}\r\n \r\n {state.errors.vehiclePrimaryServiceAgentID}\r\n \r\n \r\n Secondary Service Agent\r\n {/* */}\r\n \r\n \r\n \r\n \r\n Vehicle Category\r\n \r\n {/* */}\r\n \r\n {state.errors.vehicleCategoryID}\r\n \r\n \r\n \r\n Vehicle Type\r\n \r\n {/* */}\r\n \r\n {state.errors.vehicleTypeID}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cost Centre\r\n {/* */}\r\n \r\n {state.errors.costCentreID}\r\n \r\n \r\n Ownership Type\r\n {/* */}\r\n \r\n {state.errors.ownershipTypeID}\r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n {/* \r\n } />\r\n */}\r\n \r\n } />\r\n \r\n \r\n }\r\n />\r\n \r\n\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n props.onFormSubmit(false)} fullWidth className=\"submit_btn\">\r\n Cancel\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getScheduleVehicleById = async (Id, custId, depotId, year, serviceAgentID) => {\r\n let res = await getWithAuth(\r\n `Schedules?vehicleId=${Id}?CustomerID=${custId || ''}&DepotID=${depotId || ''}&Year=${year || ''}&ServiceAgentID=${serviceAgentID || ''}`\r\n );\r\n return res;\r\n};\r\n\r\nexport const getScheduleByStatus = async (Id) => {\r\n let res = await getWithAuth(`Schedules?vehicleId=&status=${Id}`);\r\n return res;\r\n};\r\n\r\nexport const getSchedulesById = async (Id) => {\r\n let res = await getWithAuth(`Schedules/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const getAllScheduleEvents = async (Id) => {\r\n let res = await getWithAuth(`ScheduleEvents`);\r\n return res;\r\n};\r\n\r\nexport const getAllScheduleDropdowns = async (Id) => {\r\n let res = await getWithAuth(`Schedules/ScheduleAddEditDropdowns?VehicleID=${Id}`);\r\n return res;\r\n};\r\n\r\nexport const postSchedule = async (data) => {\r\n let res = await postWithAuth('Schedules', data);\r\n return res;\r\n};\r\n\r\nexport const getAllDropDowns = async (Id) => {\r\n let res = await getWithAuth(`Schedules/ScheduleBookingscreenDropdowns`);\r\n return res;\r\n};\r\n\r\nexport const getAllNotesById = async (Id) => {\r\n let res = await getWithAuth(`ScheduleNote?ScheduleNoteScheduleID=${Id}`);\r\n return res;\r\n};\r\n\r\nexport const postScheduleNotes = async (data) => {\r\n let res = await postWithAuth('ScheduleNote', data);\r\n return res;\r\n};\r\n\r\nexport const getScheduleBookingSectionById = async (Id) => {\r\n let res = await getWithAuth(`Schedules/JobBookingDetail/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const postScheduleBookingSection = async (data) => {\r\n let res = await postWithAuth('Schedules/UpdateScheduleBooking', data);\r\n return res;\r\n};\r\n\r\nexport const getScheduleRequestBookingById = async (Id) => {\r\n let res = await getWithAuth(`Schedules/RequestBookingDetail/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const postScheduleRequestBooking = async (data) => {\r\n let res = await postWithAuth('Schedules/UpdateScheduleBookingRequest', data);\r\n return res;\r\n};\r\n\r\nexport const getCompleteScheduleDropdowns = async () => {\r\n let res = await getWithAuth(`Schedules/ScheduleCompleteDropdowns`);\r\n return res;\r\n};\r\n\r\nexport const postCompletedSchedule = async (data) => {\r\n let res = await postWithAuth('Schedules/ScheduleComplete', data);\r\n return res;\r\n};\r\n\r\nexport const deleteFutureUnCompletedSchedules = async (data) => {\r\n let res = await postWithAuth('Schedules/DeleteFutureUnCompletedSchedules', data);\r\n return res;\r\n};\r\n\r\nexport const postScheduleReceived = async (data) => {\r\n let res = await postWithAuth('Schedules/ScheduleDoc_SetReceived', data);\r\n return res;\r\n};\r\nexport const postScheduleChangeBookingDate = async (data) => {\r\n let res = await postWithAuth('Schedules/Schedule_ChangeBookingDate', data);\r\n return res;\r\n};","import { postWithAuth, getWithAuth, putWithAuth } from '../../../../Basic/HttpService';\r\n\r\nexport const postAgentArrivalTime = async (data) => {\r\n let res = await postWithAuth(`VehicleDefects/AgentArrived`, data);\r\n return res;\r\n};\r\nexport const postVehicalRecoveredTime = async (data) => {\r\n let res = await postWithAuth(`VehicleDefects/VehicleRecovered`, data);\r\n return res;\r\n};\r\nexport const postWorkinProgress = async (data) => {\r\n let res = await postWithAuth(`VehicleDefects/WorkInProgress`, data);\r\n return res;\r\n};\r\nexport const postJobStepper = async (data) => {\r\n let res = await postWithAuth(`VehicleDefects/CreateDefectJob`, data);\r\n return res;\r\n};\r\nexport const postTechnicianSignOff = async (data) => {\r\n let res = await postWithAuth(`VehicleDefects/DefectResolved`, data);\r\n return res;\r\n};\r\nexport const postAdministratorSignOff = async (data) => {\r\n let res = await postWithAuth(`VehicleDefects/DefectSignedOff`, data);\r\n return res;\r\n};\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllServiceAgents = async () => {\r\n let res = await getWithAuth(`ServiceAgents`);\r\n return res;\r\n};\r\n\r\nexport const getServiceAgentById = async (id) => {\r\n let res = await getWithAuth(`ServiceAgents/${id}`);\r\n return res;\r\n};\r\n\r\nexport const getServiceAgentsDropDown = async () => {\r\n let res = await getWithAuth(`ServiceAgents/screenDropdowns`);\r\n return res;\r\n};\r\n\r\nexport const postServiceAgentData = async (data) => {\r\n let res = await postWithAuth(`ServiceAgents`, data);\r\n return res;\r\n};\r\n\r\nexport const getServiceAgentFacilities = async () => {\r\n let res = await getWithAuth(`ServiceAgentFacilities`);\r\n return res;\r\n};\r\n\r\nexport const postServiceAgentRating = async (data) => {\r\n let res = await postWithAuth(`ServiceAgents/UpdateRating`, data);\r\n return res;\r\n};\r\n\r\nexport const getMapNewData = async () => {\r\n let res = await getWithAuth(`ServiceAgents/GenerateJsonfile`);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, Typography } from '@material-ui/core';\r\nimport { getServiceAgentById } from '../../../../Core/Services/InternalUser/ServiceAgent/serviceAgentService';\r\nimport { formatters } from '../../../../Core/Controls';\r\nimport { CircularProgress } from '@material-ui/core';\r\n\r\nfunction ServiceAgentDetails(props) {\r\n const [state, setState] = useState({\r\n serviceAgentID: null,\r\n serviceAgentName: null,\r\n serviceAgentAddress1: null,\r\n serviceAgentAddress2: null,\r\n serviceAgentCounty: null,\r\n serviceAgentCity: null,\r\n serviceAgentPostCode: null,\r\n serviceAgentPhone: null,\r\n serviceAgentEmail: null,\r\n loader: false,\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.serviceAgentID) {\r\n let res = await getServiceAgentById(props.serviceAgentID);\r\n const data = res.data.details[0];\r\n setState((st) => ({\r\n ...st,\r\n serviceAgentID: data.serviceAgentID,\r\n serviceAgentName: data.serviceAgentName,\r\n serviceAgentAddress1: data.serviceAgentAddress1,\r\n serviceAgentAddress2: data.serviceAgentAddress2,\r\n serviceAgentCounty: data.serviceAgentCounty,\r\n serviceAgentCity: data.serviceAgentCity,\r\n serviceAgentPostCode: data.serviceAgentPostCode,\r\n serviceAgentPhone: data.serviceAgentPhone,\r\n serviceAgentEmail: data.serviceAgentEmail,\r\n loader: true\r\n }));\r\n }\r\n }, []);\r\n\r\n return (\r\n state.loader ? (\r\n \r\n \r\n Service Agent Name\r\n {state.serviceAgentName}\r\n \r\n \r\n Address\r\n \r\n {formatters.addressFormatter(\r\n state.serviceAgentAddress1,\r\n state.serviceAgentAddress2,\r\n state.serviceAgentCity,\r\n state.serviceAgentCounty,\r\n state.serviceAgentPostCode\r\n )}\r\n \r\n \r\n \r\n Email\r\n {formatters.mailFormatter(state.serviceAgentEmail)}\r\n \r\n \r\n Phone\r\n {formatters.phoneNumberFormatter(state.serviceAgentPhone)}\r\n \r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )\r\n );\r\n}\r\n\r\nexport default ServiceAgentDetails;\r\n","import React, { useContext, useState, useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, CustomColorButton, DatePicker, DateTimePicker, SelectBox, SingleSelect, formatters } from '../../../../Core/Controls';\r\nimport SignaturePad from 'react-signature-canvas';\r\nimport './defect.scss';\r\nimport moment from 'moment';\r\nimport { getAllScheduleDropdowns } from '../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport {\r\n postAgentArrivalTime,\r\n postTechnicianSignOff,\r\n postVehicalRecoveredTime,\r\n postAdministratorSignOff,\r\n postWorkinProgress\r\n} from '../../../../Core/Services/InternalUser/Maintenance/DefectBreackDownStepper/DefectBreackDownStepper';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { ChipWithoutLable } from '../../../../Core/Controls/Inputs/DatePicker';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport ServiceAgentDetails from '../../Controllers/DetailsModal/serviceAgent';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport HourglassEmptyIcon from '@material-ui/icons/HourglassEmpty';\r\n\r\nconst ServiceAgentArrivedDate = (props) => {\r\n const [state, setState] = useState({\r\n // arrivedDate: props.isDateMandatoey ? moment().format('YYYY-MM-DDTHH:mm') : '',\r\n arrivedDate: '',\r\n errors: {},\r\n serviceAgentID: props.jobData.jobServiceAgentID,\r\n serviceAgentIDValue: null,\r\n eTA: props.jobData?.vehicleJobProgressDateETA || ''\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n let newSt = {};\r\n let res = await getAllScheduleDropdowns(props.userData.defectVehicleID || props.userData.vehicleID);\r\n if (state.serviceAgentID && res.data.serviceAgents.length > 0) {\r\n newSt.serviceAgentIDValue = res.data.serviceAgents.find(({ id }) => id === state.serviceAgentID);\r\n }\r\n setState((st) => ({\r\n ...st,\r\n serviceAgentsList: res.data.serviceAgents,\r\n ...newSt\r\n }));\r\n }, []);\r\n\r\n const dateFieldsChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const validations = () => {\r\n const { serviceAgentIDValue } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!serviceAgentIDValue && props.fromPage === 'serviceAgent') {\r\n errors.serviceAgentIDValue = ' This field is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const SubmitHandler = async (isValue) => {\r\n let FormData;\r\n if (validations()) {\r\n if (props.fromPage === 'serviceAgent') {\r\n FormData = {\r\n defectID: props.defectID,\r\n jobID: props.jobData.vehicleJobProgressJobID,\r\n arrivedDate: state.arrivedDate,\r\n serviceAgentID: state.serviceAgentIDValue?.id,\r\n eTA: state.eTA || ''\r\n };\r\n let res = await postAgentArrivalTime(FormData);\r\n if (res.success) {\r\n showToastSuccess(`Service agent arrived added successfully`);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n if (props.fromPage === 'workInProgress') {\r\n FormData = {\r\n defectID: props.defectID,\r\n jobID: props.jobData.vehicleJobProgressJobID,\r\n vehicleJobProgressDateWorkInProgress: state.arrivedDate,\r\n status: isValue\r\n };\r\n let res = await postWorkinProgress(FormData);\r\n if (res.success) {\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n if (props.fromPage === 'vehicleArrived') {\r\n FormData = {\r\n defectID: props.defectID,\r\n jobID: props.jobData.vehicleJobProgressJobID,\r\n defectDateVehicleRecovered: state.arrivedDate,\r\n defectLocation: state.defectLocation\r\n };\r\n let res = await postVehicalRecoveredTime(FormData);\r\n if (res.success) {\r\n showToastSuccess(`Vehicle arrived added successfully`);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const closeServiceAgentModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showSaModal: false\r\n }));\r\n };\r\n\r\n const handleShowServiceAgentModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showSaModal: true\r\n }));\r\n };\r\n\r\n const sATitle = props.jobData?.vehicleJobProgressDateAgentAssigned ? 'Set Arrived Date' : 'Assign Service Agent';\r\n const { vehicleJobProgressStatusCode, vehicleJobProgressDateWorkInProgress, recoveryRequired } = props.jobData;\r\n let WorkInTitle = vehicleJobProgressStatusCode == 'WP' ? 'Work Completed Date' : vehicleJobProgressStatusCode == 'AR' ? 'Work Started Date' : 'Date';\r\n let showDateNdBtn = !recoveryRequired && vehicleJobProgressStatusCode == 'WP';\r\n return (\r\n \r\n {props.fromPage === 'serviceAgent' ? (\r\n <>\r\n \r\n Service Agent\r\n \r\n {state.errors.serviceAgentIDValue}\r\n {props.jobData?.vehicleJobProgressDateAgentAssigned ? (\r\n \r\n Assigned Date:\r\n {formatters.DateTimeFormatter(props.jobData?.vehicleJobProgressDateAgentAssigned)}\r\n \r\n ) : null}\r\n \r\n {state.serviceAgentIDValue && (\r\n \r\n \r\n \r\n )}\r\n \r\n Estimated Arrival Time\r\n \r\n \r\n \r\n \r\n ) : null}\r\n {props.fromPage === 'vehicleArrived' ? (\r\n \r\n Recovery location\r\n \r\n {state.errors.defectLocation ? 'Negative value not allowed' : null}\r\n \r\n ) : null}\r\n {showDateNdBtn && (\r\n \r\n Work Started\r\n {formatters.DateTimeFormatter(vehicleJobProgressDateWorkInProgress)}\r\n \r\n )}\r\n \r\n {props.fromPage === 'serviceAgent' ? 'Arrival Time' : WorkInTitle}\r\n \r\n \r\n \r\n {props.fromPage === 'workInProgress' ? (\r\n \r\n \r\n SubmitHandler(1)} BtnColor=\"green\">\r\n Problem Fixed\r\n \r\n \r\n {!showDateNdBtn && (\r\n <>\r\n \r\n SubmitHandler(2)}>\r\n Recovery Required\r\n \r\n \r\n \r\n SubmitHandler(3)}>\r\n Work In progress\r\n \r\n \r\n \r\n )}\r\n \r\n ) : (\r\n \r\n \r\n {props.fromPage === 'serviceAgent' ? sATitle : 'Set vehicle recovered time'}\r\n \r\n \r\n )}\r\n {/* \r\n \r\n {props.fromPage === 'serviceAgent' ? 'Set agent arrival time' : 'Set vehicle recovered time'}\r\n \r\n */}\r\n {state.showSaModal ? (\r\n closeServiceAgentModal(false)} title={'Service Agent Details'}>\r\n closeServiceAgentModal(false)} />\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default ServiceAgentArrivedDate;\r\n","import React, { useContext, useState, useRef, useCallback, useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, SecondaryCheckbox, DatePicker } from '../../../../Core/Controls';\r\nimport SignaturePad from 'react-signature-canvas';\r\nimport './defect.scss';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport { postTechnicianSignOff } from '../../../../Core/Services/InternalUser/Maintenance/DefectBreackDownStepper/DefectBreackDownStepper';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { Tooltip } from '@material-ui/core';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\n\r\nconst SignOff = (props) => {\r\n const [state, setState] = useState({\r\n defectResolvedByName: props.displayName,\r\n errors: {},\r\n signAvailable: AppStorage.getSignature() === 'absent' ? false : true\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n const signCanvas = useRef({});\r\n const { isLoggedIn, displayName, lastLogin, userRoles } = useLoginInfo();\r\n const isInternalUser = userRoles.includes('internal');\r\n\r\n useEffect(() => {\r\n if (props.jobData.vehicleJobProgressTechnicianSignOffSignature) {\r\n setState((st) => ({\r\n ...st,\r\n isDisabled: true,\r\n imgtechniciansign: true,\r\n defectResolvedSignature: props.jobData.vehicleJobProgressTechnicianSignOffSignature,\r\n defectResolvedNotes: props.jobData.vehicleJobProgressSignOffNotes\r\n }));\r\n }\r\n }, []);\r\n\r\n const clear = () => {\r\n if (state.imgtechniciansign) {\r\n setState((st) => ({\r\n ...st,\r\n imgtechniciansign: false,\r\n defectResolvedSignature: null\r\n }));\r\n } else {\r\n signCanvas.current.clear();\r\n setState((st) => ({\r\n ...st,\r\n defectResolvedSignature: null\r\n }));\r\n }\r\n };\r\n\r\n const GetTechnicianSign = () => {\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n defectResolvedSignature: signCanvas.current.toDataURL()\r\n };\r\n return nst;\r\n });\r\n };\r\n const InputChangeHandler = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const validations = () => {\r\n const { defectResolvedNotes, defectResolvedByName, defectResolvedSignature } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!defectResolvedNotes) {\r\n errors.defectResolvedNotes = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!defectResolvedByName) {\r\n errors.defectResolvedByName = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!defectResolvedSignature) {\r\n errors.defectResolvedSignature = 'This field is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const SubmitHandler = async () => {\r\n if (validations()) {\r\n let FormData = {\r\n defectID: props.defectID,\r\n jobID: props.jobData.vehicleJobProgressJobID,\r\n defectResolvedNotes: state.defectResolvedNotes,\r\n defectResolvedByName: state.defectResolvedByName,\r\n defectResolvedSignature: state.defectResolvedSignature\r\n // defectResolvedIPAddress: ''\r\n };\r\n let res = await postTechnicianSignOff(FormData);\r\n if (res.success) {\r\n showToastSuccess(`Technician sign off added successfully`);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n const useDefaultSig = () => {\r\n setState((st) => ({ ...st, imgtechniciansign: true, defectResolvedSignature: AppStorage.getSignature() }));\r\n };\r\n\r\n return (\r\n \r\n \r\n {props.jobData.defect}\r\n \r\n \r\n Declaration\r\n {props.declaration}\r\n \r\n \r\n Comment\r\n \r\n {state.errors.defectResolvedNotes}\r\n \r\n \r\n Name\r\n \r\n {state.errors.defectResolvedByName}\r\n \r\n \r\n
\r\n \r\n Technician Signature\r\n {state.signAvailable ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n\r\n \r\n {!state.isDisabled && (\r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n {state.imgtechniciansign ? (\r\n \r\n ) : (\r\n
\r\n {\r\n GetTechnicianSign();\r\n }}\r\n />\r\n
\r\n )}\r\n\r\n {state.errors.defectResolvedSignature}\r\n \r\n
\r\n \r\n {props.showStepTech && (\r\n \r\n Sign off\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SignOff;\r\n","import React, { useContext, useRef, useState, useCallback, useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, SecondaryCheckbox, DatePicker } from '../../../../Core/Controls';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport { postAdministratorSignOff } from '../../../../Core/Services/InternalUser/Maintenance/DefectBreackDownStepper/DefectBreackDownStepper';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport SignaturePad from 'react-signature-canvas';\r\nimport { Tooltip } from '@material-ui/core';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\r\n\r\nconst AdministratorSignOff = (props) => {\r\n const [state, setState] = useState({\r\n DefectSignedOffByName: props.displayName,\r\n signAvailable: AppStorage.getSignature() === 'absent' ? false : true,\r\n DefectSignOffNotes: '',\r\n errors: {}\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n const signCanvas = useRef({});\r\n\r\n useEffect(() => {\r\n if (props.jobData.vehicleJobProgressSignOffSignature) {\r\n setState((st) => ({\r\n ...st,\r\n isDisabled: true,\r\n imgadministartorsign: true,\r\n DefectSignOffSignature: props.jobData.vehicleJobProgressSignOffSignature,\r\n DefectSignOffNotes: props.jobData.vehicleJobProgressSignOffNotes,\r\n vehicleJobProgressStatusCode: props.jobData.vehicleJobProgressStatusCode === 'JS'\r\n }));\r\n }\r\n }, []);\r\n\r\n const clear = () => {\r\n if (state.imgadministartorsign) {\r\n setState((st) => ({\r\n ...st,\r\n imgadministartorsign: null,\r\n DefectSignOffSignature: null\r\n }));\r\n } else {\r\n signCanvas.current.clear();\r\n }\r\n };\r\n\r\n const GetTechnicianSign = () => {\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n DefectSignOffSignature: signCanvas.current.toDataURL()\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n const InputChangeHandler = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const validations = () => {\r\n const { DefectSignOffNotes, DefectSignOffSignature, DefectSignedOffByName } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n // if (!DefectSignOffNotes) {\r\n // errors.DefectSignOffNotes = 'This field is required';\r\n // formIsValid = false;\r\n // }\r\n if (!DefectSignedOffByName) {\r\n errors.DefectSignedOffByName = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!DefectSignOffSignature) {\r\n errors.DefectSignOffSignature = 'This field is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const SubmitHandler = async () => {\r\n if (validations()) {\r\n let FormData = {\r\n defectID: props.defectID,\r\n jobID: props.jobData.vehicleJobProgressJobID,\r\n defectSignOffNotes: state.DefectSignOffNotes,\r\n defectSignedOffByName: state.DefectSignedOffByName,\r\n defectSignOffSignature: state.DefectSignOffSignature\r\n // defectSignOffIPAddress: ''\r\n };\r\n let res = await postAdministratorSignOff(FormData);\r\n if (res.success) {\r\n showToastSuccess(`Administartor sign off completed successfully`);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n const useDefaultSig = () => {\r\n setState((st) => ({ ...st, imgadministartorsign: true, DefectSignOffSignature: AppStorage.getSignature() }));\r\n };\r\n\r\n return (\r\n \r\n \r\n {props.jobData.defect}\r\n \r\n \r\n Technician Comment\r\n \r\n \r\n \r\n Signature\r\n {props.jobData.vehicleJobProgressTechnicianSignOffSignature ? (\r\n \r\n ) : null}\r\n {props.jobData.vehicleJobProgressDateTechnicianSignOff}\r\n \r\n {/* \r\n Declaration\r\n {props.declaration}\r\n */}\r\n \r\n Comment\r\n \r\n {state.errors.DefectSignOffNotes}\r\n \r\n \r\n Name\r\n \r\n {state.errors.DefectSignedOffByName}\r\n \r\n \r\n
\r\n {/*
*/}\r\n \r\n Administrator Signature\r\n {state.signAvailable ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n {/*
*/}\r\n \r\n {!state.isDisabled && (\r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n {state.imgadministartorsign ? (\r\n \r\n ) : (\r\n
\r\n {\r\n GetTechnicianSign();\r\n }}\r\n />\r\n
\r\n )}\r\n\r\n {state.errors.DefectSignOffSignature}\r\n \r\n
\r\n \r\n {props.showStepJob && (\r\n \r\n Sign off\r\n \r\n )}\r\n {state.vehicleJobProgressStatusCode && (\r\n \r\n Re-create job\r\n \r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AdministratorSignOff;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllVehicleJob = async (id) => {\r\n let res = await getWithAuth(`VehicleJob?VehicleID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getAllCustomerJob = async (id) => {\r\n let res = await getWithAuth(`VehicleJob?customerID=${id}`);\r\n return res;\r\n};\r\nexport const getAllJob = async (id) => {\r\n let res = await getWithAuth(`VehicleJob`);\r\n return res;\r\n};\r\nexport const postJobData = async (data) => {\r\n let res = await postWithAuth(`VehicleJob/AddJob`, data);\r\n return res;\r\n};\r\n\r\nexport const getVehicleJobDeleteDropDown = async (data) => {\r\n let res = await getWithAuth(`VehicleJob/Reason/screenDropdowns`, data);\r\n return res;\r\n};\r\n\r\nexport const getVehicleDefectDeleteDropDown = async (data) => {\r\n let res = await getWithAuth(`VehicleDefects/Reason/screenDropdowns`, data);\r\n return res;\r\n};\r\n\r\nexport const DeleteJob = async (data) => {\r\n let res = await postWithAuth(`VehicleJob/VehicleJobDelete`, data);\r\n return res;\r\n};\r\n\r\nexport const DeleteDefect = async (data) => {\r\n let res = await postWithAuth(`VehicleDefects/VehicleDefectDelete`, data);\r\n return res;\r\n};\r\n","import { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport React, { useState, useEffect, useMemo } from 'react';\r\nimport { MandatoryField, PrimaryButton, SecondaryButton, SimpleField, SingleSelect } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { DeleteJob, DeleteDefect, getVehicleDefectDeleteDropDown, getVehicleJobDeleteDropDown } from '../../../../Core/Services/InternalUser/JOB/jobService';\r\nimport '../../../commonStyle.scss';\r\n\r\nconst DeleteJobModal = (props) => {\r\n const [state, setState] = useState({ errors: {}, reasonList: [], reason: '', reasonID: '' });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n pullApiData();\r\n }, []);\r\n\r\n const pullApiData = async () => {\r\n let res = {};\r\n if (props.fromPage == 'Defect') {\r\n res = await getVehicleDefectDeleteDropDown();\r\n }\r\n if (props.fromPage == 'Job') {\r\n res = await getVehicleJobDeleteDropDown();\r\n }\r\n\r\n setState((st) => ({\r\n ...st,\r\n reasonList: res.data.depots\r\n }));\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n const { reasonID, reason } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(reason)) {\r\n errors.reason = 'Reason is required';\r\n formIsValid = false;\r\n }\r\n if (!reasonID) {\r\n errors.reasonID = 'Please select reason';\r\n formIsValid = false;\r\n }\r\n\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n let res = {};\r\n const data = {\r\n ID: props.deleteID,\r\n Reason: state.reason,\r\n ReasonID: state.reasonID?.id\r\n };\r\n\r\n if (props.fromPage == 'Job') {\r\n res = await DeleteJob(data);\r\n }\r\n if (props.fromPage == 'Defect') {\r\n res = await DeleteDefect(data);\r\n }\r\n if (res.success) {\r\n showToastSuccess('Record Deleted Sucessfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Select Reason\r\n \r\n \r\n {state.errors.reasonID}\r\n \r\n \r\n \r\n\r\n {state.errors.reason}\r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n props.onClose(false)}>\r\n Cancel\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DeleteJobModal;\r\n","import { useLayoutEffect, useState } from 'react';\r\n\r\nexport const useWindowSize = () => {\r\n const [size, setSize] = useState([0, 0]);\r\n useLayoutEffect(() => {\r\n const updateSize = () => {\r\n setSize([window.innerWidth, window.innerHeight]);\r\n };\r\n window.addEventListener('resize', updateSize);\r\n updateSize();\r\n return () => window.removeEventListener('resize', updateSize);\r\n }, []);\r\n return size;\r\n};\r\n","import React, { useEffect } from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport clsx from 'clsx';\r\nimport Stepper from '@material-ui/core/Stepper';\r\nimport Step from '@material-ui/core/Step';\r\nimport StepLabel from '@material-ui/core/StepLabel';\r\nimport GroupAddIcon from '@material-ui/icons/GroupAdd';\r\nimport VideoLabelIcon from '@material-ui/icons/VideoLabel';\r\nimport StepConnector from '@material-ui/core/StepConnector';\r\nimport ReportProblemIcon from '@material-ui/icons/ReportProblem';\r\nimport DoneIcon from '@material-ui/icons/Done';\r\nimport VerifiedUserIcon from '@material-ui/icons/VerifiedUser';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport AutorenewIcon from '@material-ui/icons/Autorenew';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport ServiceAgentArrivedDate from './serviceAgentArrivedDate';\r\nimport Signoff from './signOff';\r\nimport AdministratorSignOff from './administratorSignOff';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport { CustomChip, formatters } from '../../../../Core/Controls';\r\nimport { ChipWithoutLable } from '../../../../Core/Controls/Inputs/DatePicker'; //../Inputs/DatePicker';;\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport DeleteJobModal from '../../Controllers/JOBS/deleteJobModal';\r\n\r\nimport './defect.scss';\r\nimport { usePortalSettings } from '../../../../Core/Hooks/usePortalSettings';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { ImportantDevices } from '@material-ui/icons';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { useWindowSize } from '../../../../Core/Hooks/useWindowSize';\r\nimport ServiceAgentDetails from '../../Controllers/DetailsModal/serviceAgent';\r\n// import { useWindowSize } from '../../../../Core/Hooks/useWindowSize';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst ColorlibConnector = withStyles({\r\n alternativeLabel: {\r\n top: 15\r\n },\r\n active: {\r\n '& $line': {\r\n backgroundImage: 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)'\r\n }\r\n },\r\n completed: {\r\n '& $line': {\r\n backgroundImage: 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)'\r\n }\r\n },\r\n line: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: '#eaeaf0',\r\n borderRadius: 1\r\n }\r\n})(StepConnector);\r\n\r\nconst useColorlibStepIconStyles = makeStyles({\r\n root: {\r\n backgroundColor: '#ccc',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 25,\r\n height: 25,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n ['@media (max-width:780px)']: {\r\n width: (active) => (active ? 35 : 25),\r\n height: (active) => (active ? 35 : 25),\r\n marginTop: (active) => (active ? '0px' : '4px')\r\n }\r\n },\r\n active: {\r\n backgroundImage: 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)',\r\n boxShadow: '0 4px 10px 0 rgba(0,0,0,.25)'\r\n },\r\n completed: {\r\n backgroundImage: 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)'\r\n },\r\n icons: {\r\n fontSize: '1.0rem',\r\n ['@media (max-width:780px)']: {\r\n fontSize: (active) => (active ? '1.0rem' : '0.5rem')\r\n }\r\n }\r\n});\r\n\r\nconst ColorlibStepIcon = (props) => {\r\n const { active, completed, stepCount } = props;\r\n const classes = useColorlibStepIconStyles(active);\r\n\r\n const icons = [\r\n ,\r\n ,\r\n ,\r\n //,\r\n ,\r\n \r\n ];\r\n\r\n if (stepCount === 6) {\r\n icons.splice(3, 0, );\r\n }\r\n return (\r\n \r\n {icons[props.icon - 1]}\r\n \r\n );\r\n};\r\n\r\nconst ColorlibStepIconWrapper = (stepCount) => {\r\n return (props) => ;\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%'\r\n },\r\n button: {\r\n marginRight: theme.spacing(1)\r\n },\r\n instructions: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1)\r\n }\r\n}));\r\n\r\nlet codeCheck = {\r\n JR: { 5: 1, 6: 1 },\r\n AA: { 5: 1, 6: 1 },\r\n AR: { 5: 2, 6: 2 },\r\n WC: { 5: 3, 6: 4 },//{ 5: 2, 6: 2 },Work in Progress to WC (Clicking on Problem Fixed Button Moved To (Technician Signed Off)wc)\r\n WP: { 5: 2, 6: 3 },\r\n VR: { 5: 3, 6: 4 },\r\n AS: { 5: 3, 6: 4 },\r\n TS: { 5: 4, 6: 5 },\r\n JS: { 5: 5, 6: 6 }\r\n};\r\n\r\nexport default function CustomizedSteppers(props) {\r\n const classes = useStyles();\r\n const portalSettings = usePortalSettings();\r\n const { isLoggedIn, displayName, lastLogin, userRoles } = useLoginInfo();\r\n const history = useHistory();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n // const isAdmin = userRoles.includes('admin');\r\n const isServiceagent = userRoles.includes('serviceagent');\r\n const isInternalUser = userRoles.includes('internal');\r\n const isCustomer = userRoles.includes('customer');\r\n const isDriver = userRoles.includes('driver');\r\n const isVehiclRecovery = props.data.recoveryRequired;\r\n const [activeStep, setActiveStep] = React.useState(1);\r\n const [step, setStep] = React.useState({ administratorShow: false, show: false, serviceDate: false, steps: [], isY: true });\r\n const [windowWidth, windowHeight] = useWindowSize();\r\n\r\n const showAgentDetailHandler = () => {\r\n setStep((st) => ({\r\n ...st,\r\n showSaModal: true\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n let TempStep = [\r\n {\r\n title: 'Reported',\r\n value: formatters.DateTimeFormatter(props.data.vehicleJobProgressDateCreated),\r\n isBtn: isInternalUser ? true : false\r\n },\r\n {\r\n title: 'Assign Service Agent',\r\n AgentName: props.data.agent,\r\n value: formatters.DateTimeFormatter(props.data.vehicleJobProgressDateAgentArrived),\r\n isBtn: isInternalUser || false,\r\n otherFunctions:\r\n props.data.agent && formatters.DateTimeFormatter(props.data.vehicleJobProgressDateAgentArrived) ? () => showAgentDetailHandler() : ''\r\n },\r\n {\r\n title: 'Work In Progress',\r\n value: formatters.DateTimeFormatter(props.data.vehicleJobProgressDateWorkInProgress),\r\n isBtn: isInternalUser || false\r\n },\r\n {\r\n title: 'Technician Sign Off',\r\n value: formatters.DateTimeFormatter(props.data.vehicleJobProgressDateTechnicianSignOff),\r\n isBtn: isInternalUser || isServiceagent || false,\r\n alwaysShow: true\r\n },\r\n {\r\n title: 'Job Sign-Off',\r\n value: formatters.DateTimeFormatter(props.data.vehicleJobProgressDateJobSignOff),\r\n isBtn: isInternalUser || false,\r\n alwaysShow: true\r\n }\r\n ];\r\n\r\n if (isServiceagent) {\r\n let temp = [...TempStep];\r\n let index = temp.findIndex((i) => i.title === 'Job Sign-Off');\r\n TempStep.splice(index, 1);\r\n }\r\n if (isVehiclRecovery) {\r\n TempStep.splice(3, 0, {\r\n title: 'Vehicle Recovery',\r\n value: formatters.DateTimeFormatter(props.data.vehicleJobProgressDateVehicleRecovered),\r\n isBtn: isInternalUser || isCustomer || false\r\n });\r\n }\r\n let objIndex = codeCheck[`${props.data.vehicleJobProgressStatusCode}`][`${TempStep.length}`];\r\n let technicianSignstepIndex = TempStep.findIndex((q) => q.title == 'Technician Sign Off');\r\n let showStepTech = objIndex == technicianSignstepIndex;\r\n let jobSignstepIndex = TempStep.findIndex((q) => q.title == 'Job Sign-Off');\r\n let showStepJob = objIndex == jobSignstepIndex;\r\n setActiveStep(objIndex);\r\n setStep((st) => ({ ...st, steps: TempStep, totalSteps: TempStep.length, showStepTech: showStepTech, showStepJob: showStepJob }));\r\n }, [props.data, props.userData]);\r\n\r\n const closeServiceAgentModal = (res) => {\r\n setStep((st) => ({\r\n ...st,\r\n show: false,\r\n administratorShow: false,\r\n serviceDate: false,\r\n showSaModal: false,\r\n showJobDeleteModal: false\r\n }));\r\n res && props.onStepperSubmit();\r\n };\r\n\r\n const popUpHandler = (label) => {\r\n if (label === 'Assign Service Agent' || label === 'Work In Progress' || label === 'Vehicle Recovery') {\r\n setStep((st) => ({\r\n ...st,\r\n serviceDate: true,\r\n fromPage: label === 'Assign Service Agent' ? 'serviceAgent' : label === 'Work In Progress' ? 'workInProgress' : 'vehicleArrived'\r\n }));\r\n }\r\n if (label === 'Technician Sign Off') {\r\n setStep((st) => ({\r\n ...st,\r\n show: true\r\n }));\r\n }\r\n if (label === 'Job Sign-Off') {\r\n setStep((st) => ({\r\n ...st,\r\n administratorShow: true\r\n }));\r\n }\r\n };\r\n const sATitle = props.data.vehicleJobProgressDateAgentAssigned ? 'Set Arrived Date' : 'Assign Service Agent';\r\n const ServiceAgentArrivalTimetitle =\r\n step.fromPage === 'serviceAgent' ? sATitle : step.fromPage === 'vehicleArrived' ? 'Vehicle Recovered Time ' : 'Work In Progress';\r\n const title = 'Technician Sign Off';\r\n const titleAdministrator = 'Job Sign-Off';\r\n\r\n const goJobDetails = () => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${props.data.vehicleJobProgressJobID}/${props.userData.vehicleID}`,\r\n search: '',\r\n state: 'jobs'\r\n });\r\n };\r\n\r\n const showDeleteJobModal = () => {\r\n setStep((st) => ({\r\n ...st,\r\n showJobDeleteModal: true\r\n }));\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!isDriver && checkhaveAccess?.CanViewJobs ? (\r\n windowWidth < 1641 ? (\r\n <>\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n )\r\n ) : null}\r\n {!isServiceagent && !isCustomer && (\r\n \r\n )}\r\n {/* */}\r\n
\r\n }\r\n style={{\r\n padding: '5px 0px 5px 0px',\r\n margin: '0px -5px 0px -5px'\r\n }}\r\n >\r\n {step.steps.map((label, i) => {\r\n let isOnClick = (label.isBtn && activeStep === i) || label.alwaysShow;\r\n\r\n return (\r\n \r\n \r\n popUpHandler(label.title) : label.otherFunctions ? () => label.otherFunctions() : ''}\r\n style={{ cursor: label.isBtn ? 'pointer' : 'context-menu' }}\r\n >\r\n {/* }> */}\r\n
\r\n
\r\n {label.AgentName ? `${label.AgentName}` : label.title}\r\n {/* {!label.value && label.isBtn ? (\r\n {\r\n popUpHandler(label.title);\r\n }}\r\n disabled={activeStep === i ? false : true}\r\n >\r\n {label.isBtn}\r\n \r\n ) : null} */}\r\n
\r\n \r\n {label.value}\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n \r\n {step.serviceDate ? (\r\n closeServiceAgentModal(false)} maxWidth=\"sm\" >\r\n \r\n \r\n ) : null}\r\n {step.show ? (\r\n closeServiceAgentModal(false)} overflow=\"auto\" maxWidth=\"sm\">\r\n \r\n \r\n ) : null}\r\n {step.administratorShow ? (\r\n closeServiceAgentModal(false)} overflow=\"auto\" maxWidth=\"sm\">\r\n \r\n \r\n ) : null}\r\n {step.showSaModal ? (\r\n closeServiceAgentModal(false)} title={'Service Agent Details'}>\r\n closeServiceAgentModal(false)} />\r\n \r\n ) : null}\r\n {step.showJobDeleteModal ? (\r\n closeServiceAgentModal(false)} title={'Delete Job'} maxWidth=\"sm\" fullWidth>\r\n \r\n \r\n ) : null}\r\n \r\n );\r\n}\r\n","import React, { useContext, useState, useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, SecondaryCheckbox, DatePicker, DateTimePicker, SelectBox, SingleSelect } from '../../../../Core/Controls';\r\nimport SignaturePad from 'react-signature-canvas';\r\nimport './defect.scss';\r\nimport moment from 'moment';\r\nimport { getAllScheduleDropdowns } from '../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport {\r\n postAgentArrivalTime,\r\n postTechnicianSignOff,\r\n postVehicalRecoveredTime,\r\n postAdministratorSignOff,\r\n postJobStepper\r\n} from '../../../../Core/Services/InternalUser/Maintenance/DefectBreackDownStepper/DefectBreackDownStepper';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nconst JobStepperScreen = (props) => {\r\n const [state, setState] = useState({ errors: {}, jobDescription: props.userData.defectDescription || props.userData.problemReported });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n let res = await getAllScheduleDropdowns(props.userData.defectVehicleID || props.userData.vehicleID);\r\n setState((st) => ({\r\n ...st,\r\n serviceAgentsList: res.data.serviceAgents\r\n }));\r\n }, []);\r\n\r\n const dateFieldsChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const SubmitHandler = async (isValue) => {\r\n let FormData = {\r\n defectID: props.userData.defectID || props.userData.vehicleID,\r\n serviceAgentID: state.serviceAgentIDValue?.id,\r\n jobDescription: state.jobDescription\r\n };\r\n\r\n let res = await postJobStepper(FormData);\r\n if (res.success) {\r\n showToastSuccess(`Job added successfully`);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n Service Agent\r\n {/* */}\r\n \r\n {state.errors.serviceAgentID ? 'This field is required' : null}\r\n \r\n\r\n \r\n Job Description\r\n \r\n {state.errors.jobDescription ? 'Description Required' : null}\r\n \r\n\r\n \r\n \r\n Add Job\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default JobStepperScreen;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllNotes = async (frompage, VehicleID = 0, DriverID = 0, ServiceAgentID = 0, customerID = 0, JobID = 0, defectID = 0) => {\r\n if (frompage === 'Vehicles') {\r\n let res = await getWithAuth(`note/notelist?notefrompage=${frompage}&VehicleID=${VehicleID}`);\r\n return res;\r\n }\r\n if (frompage === 'Defects') {\r\n let res = await getWithAuth(`VehicleDefectNotes?DefectID=${defectID}`);\r\n return res;\r\n }\r\n if (frompage === 'Drivers') {\r\n let res = await getWithAuth(`note/notelist?notefrompage=${frompage}&DriverID=${DriverID}`);\r\n return res;\r\n }\r\n if (frompage === 'ServiceAgents') {\r\n let res = await getWithAuth(`note/notelist?notefrompage=${frompage}&ServiceAgentID=${ServiceAgentID}`);\r\n return res;\r\n }\r\n if (frompage === 'Customers') {\r\n let res = await getWithAuth(`note/notelist?notefrompage=${frompage}&customerID=${customerID}`);\r\n return res;\r\n }\r\n if (frompage === 'Jobs') {\r\n let res = await getWithAuth(`note/notelist?notefrompage=${frompage}&JobID=${JobID}`);\r\n return res;\r\n }\r\n};\r\n\r\nexport const getServiceAgentJobTracking = async (id, noteID) => {\r\n let res = await getWithAuth(`VehicleJob/ServiceAgentJobTracking?ServiceAgentID=${id}&NoteID=${noteID}`);\r\n return res;\r\n};\r\n\r\nexport const getNotesStickButtons = async () => {\r\n let res = await getWithAuth('note/GetStickyDisPlayType');\r\n return res;\r\n};\r\n\r\nexport const addUpdateNote = async (data) => {\r\n let res = await postWithAuth('note', data);\r\n return res;\r\n};\r\n\r\nexport const getNoteById = async (id, frompage, VehicleID = 0, noteRefsID = 0) => {\r\n if (frompage === 'Vehicles') {\r\n let res = await getWithAuth(`note/NoteDetails?Id=${id}¬efrompage=${frompage}&VehicleID=${VehicleID}`);\r\n return res;\r\n } else {\r\n let res = await getWithAuth(`note/NoteDetails?Id=${id}¬efrompage=${frompage}&NoteRefsID=${noteRefsID}`);\r\n return res;\r\n }\r\n};\r\n\r\nexport const getAllStickies = async (frompage, VehicleID = 0, ServiceAgentID = 0, customerID = 0, DriverID = 0, noteRefsGuidID = 0) => {\r\n if (frompage === 'Vehicle') {\r\n let res = await getWithAuth(`Note/GetStickyNote?notefrompage=${frompage}&vehicleID=${VehicleID}`);\r\n return res;\r\n }\r\n if (frompage === 'Drivers') {\r\n let res = await getWithAuth(`Note/GetStickyNote?notefrompage=${frompage}&DriverID=${DriverID}`);\r\n return res;\r\n }\r\n if (frompage === 'ServiceAgent') {\r\n let res = await getWithAuth(`Note/GetStickyNote?notefrompage=${frompage}&ServiceID=${ServiceAgentID}`);\r\n return res;\r\n }\r\n if (frompage === 'Customers') {\r\n let res = await getWithAuth(`Note/GetStickyNote?notefrompage=${frompage}&customerID=${customerID}`);\r\n return res;\r\n }\r\n if (frompage === 'Jobs') {\r\n let res = await getWithAuth(`Note/GetStickyNote?notefrompage=${frompage}¬eRefsGuidID=${noteRefsGuidID}`);\r\n return res;\r\n }\r\n};\r\n","import React, { useEffect, useState, useCallback } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Divider, FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { addUpdateNote, getNoteById, getNotesStickButtons, getAllNotes } from '../../../../Core/Services/InternalUser/ControllerService/noteService';\r\nimport { DialogTitle } from '@material-ui/core';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { IconButton } from '@material-ui/core';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport moment from 'moment';\r\nimport { InputText, SecondaryButton, DateTimePicker, DataGrid, formatters, SecondaryCheckbox, SimpleField, CustomChip } from '../../../../Core/Controls';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst notecolumns = [\r\n { key: 'dateCreated', name: 'Created', width: 160, formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'createdBy', name: 'Created By', width: 130 },\r\n { key: 'note', name: 'Notes' }\r\n];\r\n\r\nconst FlaggedBox = (props) => {\r\n return (\r\n <>\r\n {props.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\nconst AddEditJobsNotes = (props) => {\r\n const { showToastError, showToastSuccess } = useToast();\r\n\r\n const [btnLoader, setBtnLoader] = useState({ newBtnLoader: false, extBtnLoader: false });\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n NoteList: [],\r\n // noteID: null,\r\n // noteTitle: props.notesTitle === 'Defects' ? 'Defect notes' : props.notesTitle === 'BreakDown' ? 'Breakdown notes' : '',\r\n // noteDescription: '',\r\n // noteActive: true,\r\n errors: {},\r\n newErrors: {},\r\n noteVehicleID: null,\r\n noteRefsID: null,\r\n // noteStickyDisplayType: '',\r\n // noteStickyDisplayFromDate: '',\r\n // noteStickyDisplayEndDate: moment().format('YYYY-MM-DDTHH:mm'),\r\n // noteStickyDisplayType: 'A',\r\n newNoteTitle: props.notesTitle === 'Defects' ? 'Defect notes' : props.notesTitle === 'BreakDown' ? 'Breakdown notes' : '',\r\n newNoteDescription: '',\r\n newNoteRefsGuidID: null,\r\n newNoteRefsID: null,\r\n newNoteStickyDisplayType: '',\r\n newNoteStickyDisplayFromDate: '',\r\n newNoteStickyDisplayEndDate: '',\r\n noteSendSMSReported: false,\r\n noteSendSMSReportedNo: props.notesTitle === 'Defects' || 'BreakDown' ? props.reportedPhone : '',\r\n driverName: props.driverName || '',\r\n newNoteSendSMS: false,\r\n newNoteSendSMSNumber: props.DisplayData || '',\r\n reportedBy: props.reportedBy || '',\r\n newNoteSendSMSReported: false,\r\n newNoteSendSMSReportedNo: props.reportedPhone || ''\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.frompage) {\r\n setState((st) => ({ ...st, noteVehicleID: props.NoteVehicleID, noteRefsID: props.noteRefsID, noteRefsGuidID: props.noteRefsGuidID }));\r\n }\r\n if (props.NoteID) {\r\n let res = await getNoteById(props.NoteID, props.frompage, props.NoteVehicleID, props.noteRefsID);\r\n const Notedata = res.data;\r\n setState((st) => ({\r\n ...st,\r\n noteID: Notedata.noteID,\r\n noteActive: Notedata.noteActive,\r\n noteDescription: Notedata.noteDescription,\r\n noteTitle: Notedata.noteTitle,\r\n noteStickyDisplayType: Notedata.noteStickyDisplayType,\r\n noteStickyDisplayFromDate: Notedata.noteStickyDisplayFromDate ? moment(Notedata.noteStickyDisplayFromDate).format('YYYY-MM-DDTHH:mm') : '',\r\n noteStickyDisplayEndDate: Notedata.noteStickyDisplayEndDate\r\n ? moment(Notedata.noteStickyDisplayEndDate).format('YYYY-MM-DDTHH:mm')\r\n : moment().format('YYYY-MM-DDTHH:mm'),\r\n driverName: Notedata.driverName,\r\n noteSendSMSNumber: Notedata.driverPhone,\r\n newNoteSendSMSNumber: Notedata.driverPhone,\r\n reportedBy: Notedata.reportedBy,\r\n noteSendSMSReportedNo: Notedata.reportedPhone,\r\n newNoteSendSMSReportedNo: Notedata.reportedPhone\r\n }));\r\n }\r\n }, [props.NoteVehicleID]);\r\n\r\n const newValidations = () => {\r\n const { newNoteTitle, newNoteDescription, noteSendSMS, noteSendSMSNumber, newNoteStickyDisplayFromDate, noteSendSMSReported, noteSendSMSReportedNo } =\r\n state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(newNoteDescription)) {\r\n errors.newNoteDescription = 'The description field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(newNoteTitle)) {\r\n errors.newNoteTitle = 'The title field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(newNoteStickyDisplayFromDate)) {\r\n errors.newNoteStickyDisplayFromDate = 'The start date field is required';\r\n formIsValid = false;\r\n }\r\n if (noteSendSMS) {\r\n if (!noteSendSMSNumber) {\r\n errors.noteSendSMSNumber = 'Phone Number is required';\r\n formIsValid = false;\r\n }\r\n }\r\n if (noteSendSMSReported) {\r\n if (!noteSendSMSReportedNo) {\r\n errors.noteSendSMSReportedNo = 'Phone Number is required';\r\n formIsValid = false;\r\n }\r\n }\r\n\r\n setState((st) => ({ ...st, newErrors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const resetInput = (name) => {\r\n setState((st) => ({ ...st, [name]: '' }));\r\n };\r\n\r\n const handleNewNoteSubmit = async () => {\r\n if (newValidations()) {\r\n let formData;\r\n formData = {\r\n noteTitle: state.newNoteTitle,\r\n noteDescription: state.newNoteDescription,\r\n noteActive: state.noteActive,\r\n noteRefsGuidID: state.noteRefsGuidID,\r\n noteRefsID: state.noteRefsID,\r\n noteID: null,\r\n notefrompage: props.frompage,\r\n noteStickyDisplayType: 'D',\r\n noteStickyDisplayFromDate: state.newNoteStickyDisplayFromDate || '',\r\n noteStickyDisplayEndDate: state.newNoteStickyDisplayEndDate || ''\r\n };\r\n let number = '';\r\n if (state.newNoteSendSMS && state.newNoteSendSMSReported) {\r\n number = state.newNoteSendSMSReportedNo + ',' + state.newNoteSendSMSNumber;\r\n } else if (state.newNoteSendSMSReported) {\r\n number = state.newNoteSendSMSReportedNo;\r\n } else if (state.newNoteSendSMS) {\r\n number = state.newNoteSendSMSNumber;\r\n }\r\n if (props.frompage === 'Defects') {\r\n formData['noteSendSMSNumber'] = number;\r\n formData['noteSendSMS'] = state.newNoteSendSMS || state.newNoteSendSMSReported;\r\n }\r\n setBtnLoader((st) => ({ ...st, newBtnLoader: true }));\r\n let res = await addUpdateNote(formData);\r\n if (res.success) {\r\n showToastSuccess('Notes Added Successfully!');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader((st) => ({ ...st, newBtnLoader: false }));\r\n }\r\n };\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const RenderTitle = () => {\r\n return (\r\n \r\n \r\n \r\n Next Update\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 Reminder Notes\r\n \r\n {state.newErrors.newNoteDescription}\r\n \r\n \r\n Reminder Start Date & Time\r\n \r\n {state.newErrors.newNoteStickyDisplayFromDate}\r\n \r\n {props.frompage == 'Defects' && (\r\n <>\r\n {state.driverName && (\r\n \r\n \r\n {state.newErrors.newNoteSendSMSNumber}\r\n \r\n )}\r\n {state.reportedBy && (\r\n \r\n \r\n {state.newErrors.newNoteSendSMSReportedNo}\r\n \r\n )}\r\n \r\n )}\r\n \r\n\r\n \r\n handleNewNoteSubmit(true)} fullWidth>\r\n Create New Reminder\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddEditJobsNotes;\r\n","import React from 'react';\r\nimport { AddButton, EditButton, BreadCrumbs, formatters, SecondaryButton, SimpleRating } from '../Controls';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { Grid } from '@material-ui/core';\r\nimport DialogComp from '../Dialog/DialogComp';\r\n\r\nexport default function ConfirmationModal(props) {\r\n return (\r\n // \r\n \r\n {props.message}\r\n
\r\n \r\n \r\n \r\n Confirm\r\n \r\n \r\n {props.handleCancel && (\r\n \r\n \r\n Cancel\r\n \r\n \r\n )}\r\n \r\n
\r\n //
\r\n );\r\n}\r\n","import React, { useEffect, useState, useCallback } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Divider, FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport {\r\n addUpdateNote,\r\n getNoteById,\r\n getNotesStickButtons,\r\n getAllNotes,\r\n getServiceAgentJobTracking\r\n} from '../../../../Core/Services/InternalUser/ControllerService/noteService';\r\nimport { DialogTitle } from '@material-ui/core';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { IconButton } from '@material-ui/core';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport moment from 'moment';\r\nimport {\r\n InputText,\r\n SecondaryButton,\r\n DateTimePicker,\r\n DataGrid,\r\n formatters,\r\n SecondaryCheckbox,\r\n SimpleField,\r\n CustomChip,\r\n DialogWithoutStaticHeader\r\n} from '../../../../Core/Controls';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport ServiceAgentDetails from '../DetailsModal/serviceAgent';\r\nimport ConfirmationModal from '../../../../Core/Modal/ConfirmationModal';\r\n\r\nconst notecolumns = [\r\n { key: 'dateCreated', name: 'Created', width: 160, formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'createdBy', name: 'Created By', width: 130 },\r\n { key: 'note', name: 'Notes' }\r\n];\r\nconst serviceAgentJobTrackingListcolumns = [\r\n { key: 'actionDate', name: 'Date', width: 160, formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'notes', name: 'Reminder Information' },\r\n { key: 'regNumber', name: 'Reg Number', width: 120 },\r\n { key: 'number', name: 'Number', width: 100 },\r\n { key: 'type', name: 'Type', width: 150 }\r\n];\r\n\r\nconst FlaggedBox = (props) => {\r\n return (\r\n <>\r\n {props.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\nconst AddEditJobsNotes = (props) => {\r\n const { showToastError, showToastSuccess } = useToast();\r\n\r\n const [btnLoader, setBtnLoader] = useState({ newBtnLoader: false, extBtnLoader: false });\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n NoteList: [],\r\n noteID: null,\r\n noteTitle: props.notesTitle === 'Defects' ? 'Defect notes' : props.notesTitle === 'BreakDown' ? 'Breakdown notes' : '',\r\n noteDescription: '',\r\n noteActive: true,\r\n errors: {},\r\n newErrors: {},\r\n noteVehicleID: null,\r\n noteRefsID: null,\r\n noteStickyDisplayType: '',\r\n noteStickyDisplayFromDate: '',\r\n noteStickyDisplayEndDate: moment().format('YYYY-MM-DDTHH:mm'),\r\n noteStickyDisplayType: 'A',\r\n newNoteTitle: props.notesTitle === 'Defects' ? 'Defect notes' : props.notesTitle === 'BreakDown' ? 'Breakdown notes' : '',\r\n newNoteDescription: '',\r\n newNoteRefsGuidID: null,\r\n newNoteRefsID: null,\r\n newNoteStickyDisplayType: '',\r\n newNoteStickyDisplayFromDate: '',\r\n newNoteStickyDisplayEndDate: '',\r\n noteSendSMSReported: false,\r\n noteSendSMSReportedNo: props.notesTitle === 'Defects' || 'BreakDown' ? props.reportedPhone : '',\r\n driverName: props.driverName || '',\r\n newNoteSendSMS: false,\r\n newNoteSendSMSNumber: props.DisplayData || '',\r\n reportedBy: props.reportedBy || '',\r\n newNoteSendSMSReported: false,\r\n newNoteSendSMSReportedNo: props.reportedPhone || '',\r\n noteDescriptionOne: ''\r\n });\r\n\r\n const pullNoteAndUpdateState = async () => {\r\n let res = await getAllNotes('Defects', 0, 0, 0, 0, 0, props.defectID);\r\n if (res.success) {\r\n setState((st) => ({ ...st, NoteList: res.data.list }));\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n const pullSAGridList = async () => {\r\n let res = await getServiceAgentJobTracking(props.agentNameID, props.NoteID);\r\n if (res.success) {\r\n setState((st) => ({ ...st, serviceAgentJobTrackingList: res.data.list }));\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n if (props.frompage) {\r\n setState((st) => ({ ...st, noteVehicleID: props.NoteVehicleID, noteRefsID: props.noteRefsID, noteRefsGuidID: props.noteRefsGuidID }));\r\n }\r\n if (props.NoteID) {\r\n let res = await getNoteById(props.NoteID, props.frompage, props.NoteVehicleID, props.noteRefsID);\r\n const Notedata = res.data;\r\n setState((st) => ({\r\n ...st,\r\n noteID: Notedata.noteID,\r\n noteActive: Notedata.noteActive,\r\n noteDescription: Notedata.noteDescription,\r\n noteTitle: Notedata.noteTitle,\r\n noteStickyDisplayType: Notedata.noteStickyDisplayType,\r\n noteStickyDisplayFromDate: Notedata.noteStickyDisplayFromDate ? moment(Notedata.noteStickyDisplayFromDate).format('YYYY-MM-DDTHH:mm') : '',\r\n noteStickyDisplayEndDate: Notedata.noteStickyDisplayEndDate\r\n ? moment(Notedata.noteStickyDisplayEndDate).format('YYYY-MM-DDTHH:mm')\r\n : moment().format('YYYY-MM-DDTHH:mm'),\r\n driverName: Notedata.driverName,\r\n noteSendSMSNumber: Notedata.driverPhone,\r\n newNoteSendSMSNumber: Notedata.driverPhone,\r\n reportedBy: Notedata.reportedBy,\r\n noteSendSMSReportedNo: Notedata.reportedPhone,\r\n newNoteSendSMSReportedNo: Notedata.reportedPhone\r\n }));\r\n }\r\n }, [props.NoteVehicleID]);\r\n\r\n const validations = () => {\r\n const { noteTitle, noteDescriptionOne, noteStickyDisplayEndDate, noteSendSMS, noteSendSMSNumber, noteSendSMSReported, noteSendSMSReportedNo } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(noteDescriptionOne)) {\r\n errors.noteDescriptionOne = 'The progress result field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(noteTitle)) {\r\n errors.noteTitle = 'The title field is required';\r\n formIsValid = false;\r\n }\r\n if (state.noteID && !/[^\\s]/.test(noteStickyDisplayEndDate)) {\r\n errors.noteStickyDisplayEndDate = 'End Date is required';\r\n formIsValid = false;\r\n }\r\n if (noteSendSMS) {\r\n if (!noteSendSMSNumber) {\r\n errors.noteSendSMSNumber = 'Phone Number is required';\r\n formIsValid = false;\r\n }\r\n }\r\n if (noteSendSMSReported) {\r\n if (!noteSendSMSReportedNo) {\r\n errors.noteSendSMSReportedNo = 'Phone Number is required';\r\n formIsValid = false;\r\n }\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const newValidations = () => {\r\n const { newNoteTitle, newNoteDescription, noteSendSMS, noteSendSMSNumber, newNoteStickyDisplayFromDate, noteSendSMSReported, noteSendSMSReportedNo } =\r\n state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(newNoteDescription)) {\r\n errors.newNoteDescription = 'The reminder note field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(newNoteTitle)) {\r\n errors.newNoteTitle = 'The title field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(newNoteStickyDisplayFromDate)) {\r\n errors.newNoteStickyDisplayFromDate = 'The reminder start date field is required';\r\n formIsValid = false;\r\n }\r\n if (noteSendSMS) {\r\n if (!noteSendSMSNumber) {\r\n errors.noteSendSMSNumber = 'Phone Number is required';\r\n formIsValid = false;\r\n }\r\n }\r\n if (noteSendSMSReported) {\r\n if (!noteSendSMSReportedNo) {\r\n errors.noteSendSMSReportedNo = 'Phone Number is required';\r\n formIsValid = false;\r\n }\r\n }\r\n if (!validations()) {\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, newErrors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const resetInput = (name) => {\r\n setState((st) => ({ ...st, [name]: '' }));\r\n };\r\n const handleSubmit = async () => {\r\n let formData;\r\n formData = {\r\n noteTitle: state.noteTitle,\r\n noteDescription: state.noteDescription + '\\n\\n' + state.noteDescriptionOne,\r\n noteActive: state.noteActive,\r\n noteVehicleID: state.noteVehicleID,\r\n noteRefsGuidID: state.noteRefsGuidID,\r\n noteRefsID: state.noteRefsID,\r\n noteID: state.noteID,\r\n notefrompage: props.frompage,\r\n noteStickyDisplayType: 'D',\r\n noteStickyDisplayFromDate: state.noteStickyDisplayFromDate || '',\r\n noteStickyDisplayEndDate: state.noteStickyDisplayEndDate || ''\r\n };\r\n let number = '';\r\n if (state.noteSendSMS && state.noteSendSMSReported) {\r\n number = state.noteSendSMSReportedNo + ',' + state.noteSendSMSNumber;\r\n } else if (state.noteSendSMSReported) {\r\n number = state.noteSendSMSReportedNo;\r\n } else if (state.noteSendSMS) {\r\n number = state.noteSendSMSNumber;\r\n }\r\n if (props.frompage === 'Defects') {\r\n formData['noteSendSMSNumber'] = number;\r\n formData['noteSendSMS'] = state.noteSendSMS || state.noteSendSMSReported;\r\n }\r\n setBtnLoader((st) => ({ ...st, extBtnLoader: true }));\r\n let res = await addUpdateNote(formData);\r\n if (res.success) {\r\n showToastSuccess('Notes Added Successfully!');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader((st) => ({ ...st, extBtnLoader: false }));\r\n };\r\n\r\n const handleNewNoteSubmit = async () => {\r\n if (newValidations()) {\r\n handleSubmit();\r\n let formData;\r\n formData = {\r\n noteTitle: state.newNoteTitle,\r\n noteDescription: state.newNoteDescription,\r\n noteActive: state.noteActive,\r\n noteRefsGuidID: state.noteRefsGuidID,\r\n noteRefsID: state.noteRefsID,\r\n noteID: null,\r\n notefrompage: props.frompage,\r\n noteStickyDisplayType: 'D',\r\n noteStickyDisplayFromDate: state.newNoteStickyDisplayFromDate || '',\r\n noteStickyDisplayEndDate: state.newNoteStickyDisplayEndDate || ''\r\n };\r\n let number = '';\r\n if (state.newNoteSendSMS && state.newNoteSendSMSReported) {\r\n number = state.newNoteSendSMSReportedNo + ',' + state.newNoteSendSMSNumber;\r\n } else if (state.newNoteSendSMSReported) {\r\n number = state.newNoteSendSMSReportedNo;\r\n } else if (state.newNoteSendSMS) {\r\n number = state.newNoteSendSMSNumber;\r\n }\r\n if (props.frompage === 'Defects') {\r\n formData['noteSendSMSNumber'] = number;\r\n formData['noteSendSMS'] = state.newNoteSendSMS || state.newNoteSendSMSReported;\r\n }\r\n setBtnLoader((st) => ({ ...st, newBtnLoader: true }));\r\n let res = await addUpdateNote(formData);\r\n if (res.success) {\r\n showToastSuccess('Notes Added Successfully!');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader((st) => ({ ...st, newBtnLoader: false }));\r\n }\r\n };\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const getAllDefectNotes = () => {\r\n pullNoteAndUpdateState();\r\n setState((st) => ({\r\n ...st,\r\n showAllNotes: true\r\n }));\r\n };\r\n const getAllSAList = () => {\r\n pullSAGridList();\r\n setState((st) => ({\r\n ...st,\r\n showSAList: true\r\n }));\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n showSaModal: false\r\n }));\r\n };\r\n\r\n const serviceAgentDetailModal = () => {\r\n setState((st) => ({\r\n ...st,\r\n showSaModal: true\r\n }));\r\n };\r\n\r\n const closeConfirmationModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showConfirm: false\r\n }));\r\n };\r\n const confirmationModalHandler = (res) => {\r\n if (validations()) {\r\n setState((st) => ({\r\n ...st,\r\n showConfirm: true\r\n }));\r\n }\r\n };\r\n\r\n const RenderTitle = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {props.titleModal}\r\n \r\n {props.agentName && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n Next Progress Reminder\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const JobSingleNote = (props) => {\r\n return (\r\n
\r\n
\r\n {props.note.note}\r\n
\r\n
\r\n {props.note.createdBy} @ {moment(props.note.dateCreated).format('LLL')}\r\n
\r\n
\r\n );\r\n };\r\n return (\r\n \r\n {state.showAllNotes && (\r\n \r\n setState((st) => ({\r\n ...st,\r\n showAllNotes: false\r\n }))\r\n }\r\n title={'All Notes'}\r\n maxWidth=\"lg\"\r\n >\r\n {state.NoteList?.map((n, i) => (\r\n <>\r\n \r\n
\r\n \r\n ))}\r\n \r\n )}\r\n {state.showSAList && (\r\n \r\n setState((st) => ({\r\n ...st,\r\n showSAList: false\r\n }))\r\n }\r\n title={`All Notes - ${props.agentName}`}\r\n maxWidth=\"lg\"\r\n fullWidth\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n {props.agentName && (\r\n \r\n Service Agent\r\n \r\n {props.agentName}\r\n \r\n \r\n )}\r\n \r\n {props.NoteID ? 'Existing' : ''} Reminder Notes\r\n \r\n {state.noteDescription}\r\n \r\n \r\n \r\n Progress Result\r\n \r\n {state.errors.noteDescriptionOne}\r\n \r\n \r\n Reminder Start Date & Time\r\n \r\n \r\n \r\n {props.NoteID ? 'Existing' : ''} Reminder End Date & Time\r\n \r\n {state.errors.noteStickyDisplayEndDate}\r\n \r\n {props.frompage == 'Defects' && !props.NoteID && (\r\n <>\r\n {state.driverName && (\r\n \r\n \r\n {state.errors.noteSendSMSNumber}\r\n \r\n )}\r\n {state.reportedBy && (\r\n \r\n \r\n {state.errors.noteSendSMSReportedNo}\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n New Reminder Notes\r\n \r\n {state.newErrors.newNoteDescription}\r\n \r\n \r\n Reminder Start Date & Time\r\n \r\n {state.newErrors.newNoteStickyDisplayFromDate}\r\n \r\n {props.frompage == 'Defects' && (\r\n <>\r\n {state.driverName && (\r\n \r\n \r\n {state.newErrors.newNoteSendSMSNumber}\r\n \r\n )}\r\n {state.reportedBy && (\r\n \r\n \r\n {state.newErrors.newNoteSendSMSReportedNo}\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n Close Reminder\r\n \r\n \r\n \r\n \r\n \r\n handleNewNoteSubmit(true)} fullWidth>\r\n close & Create New Reminder\r\n \r\n \r\n \r\n \r\n {state.showSaModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showConfirm ? (\r\n closeConfirmationModal(false)} maxWidth=\"sm\">\r\n handleSubmit(false)}\r\n handleCancel={() => closeConfirmationModal(false)}\r\n />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default AddEditJobsNotes;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllVor = async (flag) => {\r\n let res = await getWithAuth(`VORVehicles?active=${flag}`);\r\n return res;\r\n};\r\n\r\nexport const getDropDownForVor = async (data) => {\r\n let res = await getWithAuth(`VORVehicles/screenDropdowns?VehicleID=${data}`);\r\n return res;\r\n};\r\n\r\nexport const getVorByVehicle = async (id, flag) => {\r\n let res = await getWithAuth(`VORVehicles?VehicleID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getVorByID = async (id) => {\r\n let res = await getWithAuth(`VORVehicles/${id}`);\r\n return res;\r\n};\r\n\r\nexport const getVorNotesById = async (id) => {\r\n let res = await getWithAuth(`VORVehicles/VORLogByVORVehicleID/${id}`);\r\n return res;\r\n};\r\n\r\nexport const addVor = async (data) => {\r\n let res = await postWithAuth(`VORVehicles`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState, useCallback, useMemo } from 'react';\r\nimport { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport {\r\n InputText,\r\n SecondaryButton,\r\n DatePicker,\r\n MandatoryField,\r\n Multiselect,\r\n DataGrid,\r\n formatters,\r\n SimpleField,\r\n DateTimePicker,\r\n SingleSelect\r\n} from '../../../../Core/Controls';\r\nimport { SelectBox } from '../../../../Core/Controls';\r\nimport { addVor, getDropDownForVor, getVorByID, getVorNotesById } from '../../../../Core/Services/InternalUser/VOR/addEditVor';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../../commonStyle.scss';\r\nimport moment from 'moment';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\n\r\nconst basecolumns = [\r\n { key: 'createdOn', width: '15%', name: 'Date', formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'userName', width: ' 15%', name: 'User' },\r\n { key: 'vorLogComment', width: '70%', name: 'Comments' }\r\n];\r\n\r\nconst AddVor = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { userRoles } = useLoginInfo();\r\n const isCustomer = userRoles.includes('customer');\r\n\r\n const [state, setState] = useState({\r\n errors: {},\r\n workAccomplishedCodes: [],\r\n technicianFailureCodes: [],\r\n AllvorTypeDetails: [],\r\n AllvorSubCategoryList: [],\r\n vorSubCategoryList: [],\r\n vorTypeList: [],\r\n vorTypeDetailList: [],\r\n branchIds: [],\r\n moduleIds: [],\r\n customerIds: [],\r\n technicianFailureCodeIDs: [],\r\n technicianFailureCode: [],\r\n workAccomplishedCodesId: [],\r\n showLoader: true,\r\n vorVehicleEstimatedEndDate: null,\r\n isReadOnly: false,\r\n faultTypes: [],\r\n defectFaultTypes: []\r\n });\r\n\r\n const [masterData, setMasterData] = useState({\r\n technicianFailureCode: [],\r\n workAccomplishedCodes: []\r\n });\r\n\r\n const [selectedData, setSelectedData] = useState({\r\n technicianFailureCode: [],\r\n workAccomplishedCodes: [],\r\n modules: []\r\n });\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n vorVehicleTypeIDValue: null,\r\n vorVehicleTypeDetailIDValue: null,\r\n vorSubCategoryIdValue: null\r\n });\r\n\r\n const workAccomplishedChange = (e, value) => {\r\n setSelectedData((st) => ({ ...st, workAccomplishedCodes: value }));\r\n setState((st) => {\r\n const nst = { ...st, workAccomplishedCodesId: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n const technicianFailureChange = (e, value) => {\r\n setSelectedData((st) => ({ ...st, technicianFailureCode: value }));\r\n setState((st) => {\r\n const nst = { ...st, technicianFailureCodeIDs: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (props.update) {\r\n const selectedtechnicianFailureCode = masterData.technicianFailureCode?.filter((w) => state.technicianFailureCodeIDs?.indexOf(w.id) > -1);\r\n const selectedworkAccomplishedCodes = masterData.workAccomplishedCodes?.filter((w) => state.workAccomplishedCodesId?.indexOf(w.id) > -1);\r\n setSelectedData((st) => ({\r\n ...st,\r\n technicianFailureCode: selectedtechnicianFailureCode,\r\n workAccomplishedCodes: selectedworkAccomplishedCodes\r\n }));\r\n }\r\n }, [state.technicianFailureCodeIDs, masterData.technicianFailureCode, state.workAccomplishedCodesId, masterData.workAccomplishedCodes]);\r\n\r\n useEffect(async () => {\r\n let res = await getDropDownForVor(props.VehicleID);\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n vorTypeList: res.data.vorTypes.map((v) => ({ id: v.vorTypeID, name: v.vorTypeDescription })),\r\n AllvorSubCategoryList: res.data.vorSubCategories,\r\n AllvorTypeDetails: res.data.vorTypeDetails,\r\n faultTypes: res.data.faultTypes\r\n }));\r\n setMasterData((st) => ({\r\n workAccomplishedCodes: res.data.workAccomplishedCodes.map((w) => ({\r\n id: w.workAccomplishedCodeID,\r\n name: w.workAccomplishedDescription\r\n })),\r\n technicianFailureCode: res.data.technicianFailureCodes.map((w) => ({\r\n id: w.technicianFailureCode,\r\n name: w.technicianFailureDescription\r\n }))\r\n }));\r\n if (props.fromPage) {\r\n setTempOptions((st) => ({\r\n ...st,\r\n vorVehicleTypeIDValue: res.data?.vorTypes\r\n .filter((order) => order.vorTypeID === (props.fromPage == 'Breakdown' ? 2 : props.fromPage == 'Defect' ? 4 : ''))\r\n .map((v) => ({ id: v.vorTypeID, name: v.vorTypeDescription }))[0]\r\n }));\r\n }\r\n }\r\n\r\n if (props.update) {\r\n let resById = await getVorByID(props.vorVehicleID || '');\r\n if (resById.success) {\r\n setState((st) => ({\r\n ...st,\r\n vorVehicleID: resById.data.vorVehicleID,\r\n vorVehicleVehicleID: resById.data.vorVehicleVehicleID,\r\n vorVehicleLocation: resById.data.vorVehicleLocation,\r\n vorVehicleDateStarted: moment(resById.data.vorVehicleDateStarted).format('YYYY-MM-DDTHH:mm'),\r\n vorVehicleDateEnded: resById.data.vorVehicleDateEnded ? moment(resById.data.vorVehicleDateEnded).format('YYYY-MM-DDTHH:mm') : null,\r\n vorVehicleTypeID: resById.data.vorVehicleTypeID,\r\n vorVehicleTypeDetailID: resById.data.vorVehicleTypeDetailID,\r\n vorVehicleEstimatedEndDate: formatters.DateFormatter(resById.data.vorVehicleEstimatedEndDate),\r\n vorAdditionalComment: resById.data.vorAdditionalComment,\r\n technicianFailureCodeIDs: resById.data.technicianFailureCode,\r\n workAccomplishedCodesId: resById.data.workAccomplishedCodes,\r\n vorSubCategoryId: resById.data.vorSubCategoryId,\r\n isReadOnly: resById.data.vorVehicleDateEnded ? true : false,\r\n defectFaultTypes: resById.data.faultIds || []\r\n }));\r\n setTempOptions((st) => ({\r\n ...st,\r\n vorVehicleTypeIDValue: res.data?.vorTypes\r\n .filter((order) => order.vorTypeID === resById.data.vorVehicleTypeID)\r\n .map((v) => ({ id: v.vorTypeID, name: v.vorTypeDescription }))[0],\r\n\r\n vorVehicleTypeDetailIDValue: res.data.vorTypeDetails\r\n .filter((v) => v.vorTypeDetailID === resById.data.vorVehicleTypeDetailID)\r\n .map((p) => ({ id: p.vorTypeDetailID, name: p.vorTypeDetailDescription }))[0],\r\n vorSubCategoryIdValue: res.data.vorSubCategories\r\n .filter((v) => v.vorSubCategoryId === resById.data.vorSubCategoryId)\r\n .map((p) => ({ id: p.vorSubCategoryId, name: p.vorSubCategoryDescription }))[0]\r\n }));\r\n }\r\n let resVorNote = await getVorNotesById(props.vorVehicleID || '');\r\n if (resVorNote.success) {\r\n setState((st) => ({ ...st, notesGrid: resVorNote.data, showLoader: false }));\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.defectFaultTypes) {\r\n const selectedFaultTypes = state.faultTypes.filter((w) => state.defectFaultTypes.indexOf(w.id) > -1);\r\n setSelectedData((st) => ({\r\n ...st,\r\n modules: selectedFaultTypes\r\n }));\r\n }\r\n }, [state.defectFaultTypes, state.faultTypes]);\r\n\r\n const ModuleChange = (e, value) => {\r\n setSelectedData((st) => ({ ...st, modules: value }));\r\n setState((st) => {\r\n const nst = { ...st, defectFaultTypes: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let filterTypeDetails = [];\r\n if (tempOptions.vorVehicleTypeIDValue) {\r\n filterTypeDetails = state.AllvorTypeDetails.filter((v) => {\r\n return v.vorTypeDetailTypeID == tempOptions.vorVehicleTypeIDValue?.id;\r\n }).map((l) => ({ id: l.vorTypeDetailID, name: l.vorTypeDetailDescription }));\r\n }\r\n\r\n let filterSubCatagoryList = state.AllvorSubCategoryList.filter((v) => {\r\n return v.vorSubCategoryCategoryId == tempOptions.vorVehicleTypeDetailIDValue?.id;\r\n }).map((l) => ({ id: l.vorSubCategoryId, name: l.vorSubCategoryDescription }));\r\n\r\n setState((st) => ({ ...st, vorTypeDetailList: filterTypeDetails, vorSubCategoryList: filterSubCatagoryList }));\r\n }, [tempOptions.vorVehicleTypeIDValue, tempOptions.vorVehicleTypeDetailIDValue]);\r\n\r\n const validations = () => {\r\n const {\r\n vorVehicleTypeID,\r\n vorVehicleTypeDetailID,\r\n vorVehicleDateStarted,\r\n vorVehicleEstimatedEndDate,\r\n vorVehicleLocation,\r\n vorAdditionalComment,\r\n vorSubCategoryId\r\n } = state;\r\n\r\n const { vorVehicleTypeIDValue, vorVehicleTypeDetailIDValue, vorSubCategoryIdValue } = tempOptions;\r\n\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!vorVehicleTypeIDValue) {\r\n errors.vorVehicleTypeID = 'VOR Type is required';\r\n formIsValid = false;\r\n }\r\n if (!vorVehicleTypeDetailIDValue) {\r\n errors.vorVehicleTypeDetailID = 'VOR Reason is required';\r\n formIsValid = false;\r\n }\r\n if (!vorVehicleDateStarted) {\r\n errors.vorVehicleDateStarted = 'Start Date is required';\r\n formIsValid = false;\r\n }\r\n if (!vorVehicleLocation) {\r\n errors.vorVehicleLocation = 'Location is required';\r\n formIsValid = false;\r\n }\r\n if (!vorSubCategoryIdValue) {\r\n errors.vorSubCategoryId = 'VOR Sub-Category is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n let data = {};\r\n if (validations()) {\r\n if (props.update) {\r\n data = {\r\n vorVehicleID: state.vorVehicleID,\r\n vorVehicleVehicleID: state.vorVehicleVehicleID,\r\n vorVehicleLocation: state.vorVehicleLocation,\r\n vorVehicleDateStarted: state.vorVehicleDateStarted,\r\n vorVehicleDateEnded: state.vorVehicleDateEnded,\r\n vorVehicleTypeID: tempOptions.vorVehicleTypeIDValue?.id,\r\n vorVehicleTypeDetailID: tempOptions.vorVehicleTypeDetailIDValue?.id,\r\n vorVehicleEstimatedEndDate: state.vorVehicleEstimatedEndDate,\r\n vorAdditionalComment: state.vorAdditionalComment,\r\n vorSubCategoryId: tempOptions.vorSubCategoryIdValue?.id,\r\n technicianFailureCode: state.technicianFailureCodeIDs,\r\n workAccomplishedCodes: state.workAccomplishedCodesId,\r\n faultIds: selectedData.modules.map(({ id }) => id)\r\n };\r\n } else {\r\n data = {\r\n vorVehicleVehicleID: props.VehicleID,\r\n vorVehicleTypeID: tempOptions.vorVehicleTypeIDValue?.id,\r\n vorVehicleTypeDetailID: tempOptions.vorVehicleTypeDetailIDValue?.id,\r\n vorVehicleDateStarted: state.vorVehicleDateStarted,\r\n vorVehicleEstimatedEndDate: state.vorVehicleEstimatedEndDate,\r\n vorVehicleLocation: state.vorVehicleLocation,\r\n vorAdditionalComment: state.vorAdditionalComment,\r\n vorSubCategoryId: tempOptions.vorSubCategoryIdValue?.id,\r\n faultIds: selectedData.modules.map(({ id }) => id),\r\n defectID: props.defectID ? props.defectID : '',\r\n jobID: props.jobID ? props.jobID : ''\r\n };\r\n }\r\n let res = await addVor(data);\r\n if (res.success) {\r\n showToastSuccess(`${props.update ? 'VOR Updated Successfully' : 'VOR Added Successfully'}`);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n return tempCols;\r\n }, []);\r\n\r\n const inputChange = (e) => {\r\n const { name, value, type } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => {\r\n let newSt = { ...st, [nm]: val };\r\n if (nm === 'vorVehicleTypeIDValue') {\r\n newSt.vorVehicleTypeDetailIDValue = null;\r\n }\r\n if (nm === 'vorVehicleTypeDetailIDValue') {\r\n newSt.vorSubCategoryIdValue = null;\r\n }\r\n return newSt;\r\n });\r\n };\r\n const RenderSingelNote = (props) => {\r\n return (\r\n
\r\n
\r\n {props.note.vorLogComment}\r\n
\r\n
\r\n {props.note.userName} @ {moment(props.note.createdOn).format('LLL')}\r\n
\r\n
\r\n );\r\n };\r\n return (\r\n <>\r\n \r\n \r\n \r\n VOR Type\r\n \r\n \r\n {state.errors.vorVehicleTypeID}\r\n \r\n \r\n \r\n VOR Reason\r\n \r\n \r\n {state.errors.vorVehicleTypeDetailID}\r\n \r\n \r\n \r\n VOR Sub Category\r\n \r\n \r\n {state.errors.vorSubCategoryId}\r\n \r\n {/* \r\n \r\n VOR Start Date\r\n \r\n \r\n {state.errors.vorVehicleDateStarted}\r\n */}\r\n\r\n \r\n VOR Start Date\r\n \r\n {state.errors.vorVehicleDateStarted}\r\n \r\n\r\n \r\n \r\n \r\n \r\n Estimated Completion Date\r\n \r\n {state.errors.vorVehicleEstimatedEndDate}\r\n \r\n {!props.update && (\r\n \r\n Fault Category\r\n \r\n \r\n )}\r\n {props.update && (\r\n // \r\n // VOR End Date\r\n // \r\n // {state.errors.vorVehicleDateEnded}\r\n // \r\n\r\n \r\n VOR End Date\r\n \r\n {state.errors.vorVehicleDateEnded}\r\n \r\n )}\r\n {props.update && (\r\n \r\n Fault Category\r\n \r\n \r\n )}\r\n {props.update && (\r\n \r\n Technician Failure Code\r\n \r\n \r\n )}\r\n {props.update && (\r\n \r\n Work Accomplished Codes\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {props.update ? (\r\n \r\n \r\n Update\r\n \r\n \r\n ) : (\r\n \r\n Add\r\n \r\n )}\r\n \r\n props.onClose(false)}>\r\n Cancel\r\n \r\n \r\n {props.update && (\r\n \r\n \r\n {state.notesGrid?.map((n, i) => (\r\n <>\r\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 AddVor;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, Typography } from '@material-ui/core';\r\nimport { getDepotById } from '../../../../Core/Services/InternalUser/ControllerService/depotsService';\r\nimport { FromLoader } from '../../../../Core/Loader/formLoader';\r\nimport { CircularProgress } from '@material-ui/core';\r\nimport { formatters } from '../../../../Core/Controls';\r\n\r\nfunction DepotDetails(props) {\r\n const [state, setState] = useState({\r\n name: null,\r\n address1: null,\r\n address2: null,\r\n depotCounty: null,\r\n depotPostCode: null,\r\n depotTelephone: null,\r\n depotEmail: null,\r\n loader: false\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.customerID) {\r\n let res = await getDepotById(props.customerID);\r\n const data = res.data.details[0];\r\n setState((st) => ({\r\n ...st,\r\n name: data.depotName,\r\n address1: data.depotAddress1,\r\n address2: data.depotAddress2,\r\n depotCounty: data.depotCounty,\r\n depotTown: data.depotTown,\r\n depotCountyCode: data.depotCountryCode,\r\n depotEmail: data.depotEmail,\r\n depotPostCode: data.depotPostCode,\r\n depotTelephone: data.depotTelephone,\r\n loader: true\r\n }));\r\n }\r\n }, []);\r\n\r\n return (\r\n state.loader ? (\r\n \r\n \r\n Depot Name\r\n {state.name}\r\n \r\n \r\n Address\r\n {formatters.addressFormatter(state.address1, state.address2, state.depotCounty, state.depotPostCode)}\r\n \r\n \r\n Email\r\n {formatters.mailFormatter(state.depotEmail)}\r\n \r\n \r\n Phone\r\n {formatters.phoneNumberFormatter(state.depotTelephone)}\r\n \r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )\r\n );\r\n}\r\n\r\nexport default DepotDetails;\r\n","import React, { useEffect, useState, useCallback } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Divider, FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { addUpdateNote, getNoteById, getNotesStickButtons, getAllNotes } from '../../../../Core/Services/InternalUser/ControllerService/noteService';\r\nimport { DialogTitle } from '@material-ui/core';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { IconButton } from '@material-ui/core';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport moment from 'moment';\r\nimport { InputText, SecondaryButton, DateTimePicker, DataGrid, formatters, SecondaryCheckbox, SimpleField, CustomChip } from '../../../../Core/Controls';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst notecolumns = [\r\n { key: 'dateCreated', name: 'Created', width: 160, formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'createdBy', name: 'Created By', width: 130 },\r\n { key: 'note', name: 'Notes' }\r\n];\r\n\r\nconst FlaggedBox = (props) => {\r\n return (\r\n <>\r\n {props.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\nconst AddDefectBreakEditJobsNotes = (props) => {\r\n const { showToastError, showToastSuccess } = useToast();\r\n\r\n const [btnLoader, setBtnLoader] = useState({ newBtnLoader: false, extBtnLoader: false });\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n NoteList: [],\r\n // noteID: null,\r\n // noteTitle: props.notesTitle === 'Defects' ? 'Defect notes' : props.notesTitle === 'BreakDown' ? 'Breakdown notes' : '',\r\n // noteDescription: '',\r\n // noteActive: true,\r\n errors: {},\r\n newErrors: {},\r\n noteVehicleID: null,\r\n noteRefsID: null,\r\n // noteStickyDisplayType: '',\r\n // noteStickyDisplayFromDate: '',\r\n // noteStickyDisplayEndDate: moment().format('YYYY-MM-DDTHH:mm'),\r\n // noteStickyDisplayType: 'A',\r\n newNoteTitle: props.notesTitle === 'Defects' ? 'Defect notes' : props.notesTitle === 'BreakDown' ? 'Breakdown notes' : '',\r\n newNoteDescription: '',\r\n newNoteRefsGuidID: null,\r\n newNoteRefsID: null,\r\n newNoteStickyDisplayType: '',\r\n newNoteStickyDisplayFromDate: '',\r\n newNoteStickyDisplayEndDate: '',\r\n noteSendSMSReported: false,\r\n noteSendSMSReportedNo: props.notesTitle === 'Defects' || 'BreakDown' ? props.reportedPhone : '',\r\n driverName: props.driverName || '',\r\n newNoteSendSMS: false,\r\n newNoteSendSMSNumber: props.DisplayData || '',\r\n reportedBy: props.reportedBy || '',\r\n newNoteSendSMSReported: false,\r\n newNoteSendSMSReportedNo: props.reportedPhone || ''\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.frompage) {\r\n setState((st) => ({ ...st, noteVehicleID: props.NoteVehicleID, noteRefsID: props.noteRefsID, noteRefsGuidID: props.noteRefsGuidID }));\r\n }\r\n if (props.NoteID) {\r\n let res = await getNoteById(props.NoteID, props.frompage, props.NoteVehicleID, props.noteRefsID);\r\n const Notedata = res.data;\r\n setState((st) => ({\r\n ...st,\r\n noteID: Notedata.noteID,\r\n noteActive: Notedata.noteActive,\r\n noteDescription: Notedata.noteDescription,\r\n noteTitle: Notedata.noteTitle,\r\n noteStickyDisplayType: Notedata.noteStickyDisplayType,\r\n noteStickyDisplayFromDate: Notedata.noteStickyDisplayFromDate ? moment(Notedata.noteStickyDisplayFromDate).format('YYYY-MM-DDTHH:mm') : '',\r\n noteStickyDisplayEndDate: Notedata.noteStickyDisplayEndDate\r\n ? moment(Notedata.noteStickyDisplayEndDate).format('YYYY-MM-DDTHH:mm')\r\n : moment().format('YYYY-MM-DDTHH:mm'),\r\n driverName: Notedata.driverName,\r\n noteSendSMSNumber: Notedata.driverPhone,\r\n newNoteSendSMSNumber: Notedata.driverPhone,\r\n reportedBy: Notedata.reportedBy,\r\n noteSendSMSReportedNo: Notedata.reportedPhone,\r\n newNoteSendSMSReportedNo: Notedata.reportedPhone\r\n }));\r\n }\r\n }, [props.NoteVehicleID]);\r\n\r\n const newValidations = () => {\r\n const { newNoteTitle, newNoteDescription, noteSendSMS, noteSendSMSNumber, newNoteStickyDisplayFromDate, noteSendSMSReported, noteSendSMSReportedNo } =\r\n state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(newNoteDescription)) {\r\n errors.newNoteDescription = 'The description field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(newNoteTitle)) {\r\n errors.newNoteTitle = 'The title field is required';\r\n formIsValid = false;\r\n }\r\n // if (!/[^\\s]/.test(newNoteStickyDisplayFromDate)) {\r\n // errors.newNoteStickyDisplayFromDate = 'The start date field is required';\r\n // formIsValid = false;\r\n // }\r\n if (noteSendSMS) {\r\n if (!noteSendSMSNumber) {\r\n errors.noteSendSMSNumber = 'Phone Number is required';\r\n formIsValid = false;\r\n }\r\n }\r\n if (noteSendSMSReported) {\r\n if (!noteSendSMSReportedNo) {\r\n errors.noteSendSMSReportedNo = 'Phone Number is required';\r\n formIsValid = false;\r\n }\r\n }\r\n\r\n setState((st) => ({ ...st, newErrors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const resetInput = (name) => {\r\n setState((st) => ({ ...st, [name]: '' }));\r\n };\r\n\r\n const handleNewNoteSubmit = async () => {\r\n if (newValidations()) {\r\n let formData;\r\n formData = {\r\n noteTitle: state.newNoteTitle,\r\n noteDescription: state.newNoteDescription,\r\n noteActive: state.noteActive,\r\n noteRefsGuidID: state.noteRefsGuidID,\r\n noteRefsID: state.noteRefsID,\r\n noteID: null,\r\n notefrompage: props.frompage,\r\n noteStickyDisplayType: 'D',\r\n noteStickyDisplayFromDate: moment().format('YYYY-MM-DDThh:mm') || '',\r\n noteStickyDisplayEndDate: moment().format('YYYY-MM-DDThh:mm') || ''\r\n };\r\n let number = '';\r\n if (state.newNoteSendSMS && state.newNoteSendSMSReported) {\r\n number = state.newNoteSendSMSReportedNo + ',' + state.newNoteSendSMSNumber;\r\n } else if (state.newNoteSendSMSReported) {\r\n number = state.newNoteSendSMSReportedNo;\r\n } else if (state.newNoteSendSMS) {\r\n number = state.newNoteSendSMSNumber;\r\n }\r\n if (props.frompage === 'Defects') {\r\n formData['noteSendSMSNumber'] = number;\r\n formData['noteSendSMS'] = state.newNoteSendSMS || state.newNoteSendSMSReported;\r\n }\r\n setBtnLoader((st) => ({ ...st, newBtnLoader: true }));\r\n let res = await addUpdateNote(formData);\r\n if (res.success) {\r\n showToastSuccess('Notes Added Successfully!');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader((st) => ({ ...st, newBtnLoader: false }));\r\n }\r\n };\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const RenderTitle = () => {\r\n return (\r\n \r\n \r\n \r\n Next Update\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 Notes\r\n \r\n {state.newErrors.newNoteDescription}\r\n \r\n {/* \r\n Reminder Start Date & Time\r\n \r\n {state.newErrors.newNoteStickyDisplayFromDate}\r\n */}\r\n {props.frompage == 'Defects' && (\r\n <>\r\n {state.driverName && (\r\n \r\n \r\n {state.newErrors.newNoteSendSMSNumber}\r\n \r\n )}\r\n {state.reportedBy && (\r\n \r\n \r\n {state.newErrors.newNoteSendSMSReportedNo}\r\n \r\n )}\r\n \r\n )}\r\n \r\n\r\n \r\n handleNewNoteSubmit(true)} fullWidth>\r\n Create New Notes\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddDefectBreakEditJobsNotes;\r\n","import React, { useContext, useState, useEffect, useCallback } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormControlLabel, FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { InputText, SecondaryButton, MandatoryField, SimpleField, formatters, DataGrid, EditButton } from '../../../../Core/Controls';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport { SelectBox } from '../../../../Core/Controls';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport JobStepperScreen from '../BreackdownDefectStepper/addJobStepper';\r\nimport CustomizedSteppers from '../BreackdownDefectStepper/defectBreackDownStepper';\r\nimport AddEditNotes from '../../Controllers/Notes/progressReminder'; //'./addEditNotes';\r\nimport AddEditNewNotes from '../../Controllers/Notes/jobNotes'; //'./addEditNotes';\r\n\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { getAllNotes } from '../../../../Core/Services/InternalUser/ControllerService/noteService';\r\nimport '.././BreackdownDefectStepper/defect.scss';\r\nimport { CustomChip } from '../../../../Core/Controls';\r\nimport FileUploaderButton from '../../../../Core/Controls/GenericFileUploader';\r\nimport AddVor from '../../Controllers/VOR/AddEditVor';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport moment from 'moment';\r\nimport DepotDetails from '../../Controllers/DetailsModal/depotDetails';\r\nimport DeleteJobModal from '../../Controllers/JOBS/deleteJobModal';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport { ChipWithoutLable } from '../../../../Core/Controls/Inputs/DatePicker';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Link } from 'react-router-dom';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport AddDefectBreakEditJobsNotes from '../../Controllers/Notes/defectBreakdownNotes';\r\n\r\nconst JobSingleNote = (props) => {\r\n const [state, setState] = useState({ show: false });\r\n const { note, createdBy, dateCreated, dateClosed, closedBy, noteID, rd } = props.note;\r\n let checkIsClosed = dateClosed || closedBy;\r\n const closeModal = (res) => {\r\n setState({ show: false });\r\n res && props.onFormSubmit(true);\r\n };\r\n const showModal = () => {\r\n if (!checkIsClosed) {\r\n setState({ show: true });\r\n }\r\n };\r\n return (\r\n <>\r\n {state.show ? (\r\n closeModal(false)}\r\n reportedBy={props.reportedBy}\r\n titleModal=\"Progress Update Notes\"\r\n reportedPhone={props.reportedPhone}\r\n onFormSubmit={() => closeModal(true)}\r\n />\r\n ) : null}\r\n
\r\n \r\n {note}\r\n
\r\n
{moment(rd).format('LLL')}
\r\n
\r\n {createdBy} @ {moment(dateCreated).format('LLL')}\r\n {dateClosed && closedBy && ` (Closed by: ${closedBy} @ ${moment(dateClosed).format('LLL')} )`}\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nconst BreakDownEditDetails = (props) => {\r\n const data = props.data;\r\n const history = useHistory();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const [state, setState] = useState({ errors: {} });\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { userRoles } = useLoginInfo();\r\n const isDriver = userRoles.includes('driver');\r\n const isCustomer = userRoles.includes('customer');\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n const isInternal = userRoles.includes('internal');\r\n\r\n const pullNotes = async () => {\r\n let res = await getAllNotes('Defects', props.NoteVehicleID, props.NoteDriverID, props.NoteServiceAgID, props.customerID, props.JobID, data.defectID);\r\n if (res.success) {\r\n setState((st) => ({ ...st, NoteList: res.data.list }));\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n if (data.defectID) {\r\n pullNotes();\r\n }\r\n }, [data.defectID, data.isRefresh]);\r\n\r\n const closeNoteModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false,\r\n showDefectBreakNotes: false\r\n }));\r\n res && pullNotes();\r\n };\r\n\r\n const addNotes = (show) => {\r\n setState((st) => ({\r\n ...st,\r\n [show]: true\r\n }));\r\n };\r\n\r\n const closeVORModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showVORPopup: false\r\n }));\r\n res && props.pullBreackdownById();\r\n };\r\n const showVorModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showVORPopup: true\r\n }));\r\n };\r\n const showModalHandler = (screenName) => {\r\n setModalState((st) => ({\r\n ...st,\r\n [screenName]: true\r\n }));\r\n };\r\n\r\n function isValYesNo(val) {\r\n return val ? 'Yes' : 'No';\r\n }\r\n\r\n const handleClose = () => {\r\n setModalState((st) => ({\r\n ...st,\r\n depotModal: false\r\n }));\r\n };\r\n\r\n const [modalState, setModalState] = useState({\r\n depotModal: false\r\n });\r\n\r\n const renderBold = (toRender, modalName) => {\r\n return toRender ? (\r\n
handleRowClick(modalName)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {toRender}\r\n
\r\n ) : (\r\n ''\r\n );\r\n };\r\n\r\n const handleRowClick = (toTurnOn) => {\r\n setModalState((st) => ({\r\n ...st,\r\n [toTurnOn]: true\r\n }));\r\n };\r\n\r\n const closeDeleteDefectModal = (res) => {\r\n setModalState((st) => ({\r\n ...st,\r\n showJobDeleteModal: false\r\n }));\r\n if (res) {\r\n history.push({\r\n pathname: `/maintenance/breakdowns/:all`,\r\n search: '',\r\n state: ''\r\n });\r\n }\r\n };\r\n\r\n const closetModal = (res) => {\r\n setModalState({ showJobStepperScreen: false });\r\n res && props.pullBreackdownById();\r\n };\r\n\r\n const handleDefetcBreakDownReporting = (val) => {\r\n history.push({\r\n pathname: `/maintenance/breakdown/reporting/${data.customerID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {modalState.depotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n \r\n \r\n {/* \r\n \r\n \r\n Breakdown Details\r\n \r\n \r\n \r\n \r\n \r\n {!data.vorVehicleID && }\r\n // \r\n // Cancel\r\n // \r\n */}\r\n \r\n \r\n \r\n Breakdown Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!data.vorVehicleID && !isDriver && !isCustomer && !isServiceAgent && (\r\n \r\n )}\r\n {!isDriver && !isCustomer && !isServiceAgent && (\r\n <>\r\n {data.defectNumberGenerated && !props.isAddJobBtnShow ? (\r\n showModalHandler('showJobStepperScreen')}\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n ) : null}\r\n showModalHandler('showJobDeleteModal')}\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {' '}\r\n {/* style={{ overflowY: 'auto', minHeight: '60px' }} */}\r\n Problem Reported\r\n {data.problemReported || 'N\\\\A'}\r\n \r\n \r\n \r\n \r\n Breakdown Type\r\n {isValYesNo(data.breakDownType)}\r\n \r\n \r\n Reporting Depot\r\n {renderBold(data.reportingDepotName, 'depotModal') || 'N\\\\A'}\r\n \r\n \r\n Breakdown Location\r\n {data.breakDownLocation || 'N\\\\A'}\r\n \r\n \r\n \r\n \r\n Mileage\r\n {data.mileage || 'N\\\\A'}\r\n \r\n \r\n Reported By\r\n {data.reportedBy || 'N\\\\A'}\r\n \r\n \r\n Reported Phone\r\n {formatters.phoneNumberFormatter(data.reportedPhone) || 'N\\\\A'}\r\n \r\n \r\n \r\n \r\n Driver Name\r\n {data.driverName || 'N\\\\A'}\r\n \r\n \r\n Driver Phone\r\n {formatters.phoneNumberFormatter(data.driverPhone) || 'N\\\\A'}\r\n \r\n \r\n Call Out Required\r\n {isValYesNo(data.callOutRequired)}\r\n \r\n \r\n \r\n \r\n Urgent Call Out\r\n {isValYesNo(data.urgentCallOut)}\r\n \r\n \r\n Put On VOR\r\n {isValYesNo(data.defectVOR)}\r\n \r\n \r\n Replacement vehicle Required\r\n {isValYesNo(data.replacementvehicleRequired)}\r\n \r\n \r\n \r\n \r\n Passengers Involved\r\n {isValYesNo(data.passengersInvolved)}\r\n \r\n \r\n Number Of Passenger\r\n {data.numberOfPassenger || 'N\\\\A'}\r\n \r\n \r\n Accident Damage?\r\n {isValYesNo(data.accDamage)}\r\n \r\n \r\n \r\n \r\n Insurance Reference\r\n {data.iNSREF || 'N\\\\A'}\r\n \r\n\r\n \r\n Police On Scene?\r\n {isValYesNo(data.policeOnScene)}\r\n \r\n \r\n Vehicle Loaded?\r\n {isValYesNo(data.vehicleLoaded)}\r\n \r\n \r\n \r\n \r\n Load Type\r\n {data.vehicleLoadTypeDescription}\r\n \r\n \r\n Mobility Requested?\r\n {isValYesNo(data.defectMobilityRequested)}\r\n \r\n \r\n Mobility Used?\r\n {isValYesNo(data.defectMobilityUsed)}\r\n \r\n \r\n \r\n \r\n PG9 Issued?\r\n {isValYesNo(data.defectPG9Issued)}\r\n \r\n \r\n \r\n \r\n {!isServiceAgent && (\r\n \r\n \r\n \r\n \r\n Job Progress\r\n \r\n \r\n \r\n {/* {!isServiceAgent && (\r\n \r\n )} */}\r\n {isInternal && checkhaveAccess?.CanViewNotes && (\r\n addNotes('show')} />\r\n )}\r\n {isInternal && checkhaveAccess?.CanViewNotes && (\r\n addNotes('showDefectBreakNotes')}\r\n />\r\n )}\r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n {state.NoteList?.map((n, i) => (\r\n <>\r\n closeNoteModal(true)}\r\n noteRefsGuidID={data.defectID}\r\n defectID={data.defectID}\r\n />\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n {state.show ? (\r\n closeNoteModal(false)}\r\n reportedBy={data.reportedBy}\r\n reportedPhone={data.reportedPhone}\r\n onFormSubmit={() => closeNoteModal(true)}\r\n />\r\n ) : null}\r\n {state.showDefectBreakNotes ? (\r\n closeNoteModal(false)}\r\n reportedBy={data.reportedBy}\r\n reportedPhone={data.reportedPhone}\r\n onFormSubmit={() => closeNoteModal(true)}\r\n />\r\n ) : null}\r\n {state.showVORPopup ? (\r\n closeVORModal(false)} maxWidth=\"lg\" overflow=\"auto\">\r\n \r\n \r\n ) : null}\r\n {modalState.showJobDeleteModal ? (\r\n closeDeleteDefectModal(false)} title={'Delete Breakdown'} maxWidth=\"sm\" fullWidth>\r\n \r\n \r\n ) : null}\r\n {modalState.showJobStepperScreen ? (\r\n closetModal(false)} maxWidth=\"sm\">\r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default BreakDownEditDetails;\r\n","import React, { useState } from 'react';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport '../../Controllers/controllerStyle.scss';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport JobStepperScreen from '../BreackdownDefectStepper/addJobStepper';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { CustomChip, BreadCrumbs } from '../../../../Core/Controls';\r\nimport AddVor from '../../Controllers/VOR/AddEditVor';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { useHistory } from 'react-router-dom';\r\nimport CustomerDetails from '../../Controllers/DetailsModal/customerDetails';\r\nimport DepotDetails from '../../Controllers/DetailsModal/depotDetails';\r\n\r\nconst BreakDownDetails = (props) => {\r\n const { data } = props;\r\n const history = useHistory();\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Maintenance', active: true },\r\n { name: 'Breakdowns', path: '/maintenance/breakdowns/:all' }\r\n ];\r\n const [state, setState] = useState({ show: false, showVor: false, vorVehicleID: null });\r\n\r\n const { userRoles } = useLoginInfo();\r\n const isDriver = userRoles.includes('driver');\r\n const isCustomer = userRoles.includes('customer');\r\n const handleUpdate = () => {\r\n setState({ show: true });\r\n };\r\n\r\n const closetModal = (res) => {\r\n setState({ show: false, showCustomerModal: false, showDepotModal: false });\r\n res && props.pullBreackdownById();\r\n };\r\n\r\n const handleAddPopUp = () => {\r\n setState((st) => ({ ...st, vorVehicleID: data.vorVehicleID, showVor: true }));\r\n };\r\n const closeAddPopUp = (flag, name) => {\r\n setState((st) => ({ ...st, showVor: false }));\r\n props.pullBreackdownById();\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${data.vehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handleShowDetails = (val) => {\r\n setState({ [val]: true });\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n   \r\n
\r\n {data.vorVehicleID && !isDriver && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Reg Number\r\n
\r\n {data.defectRegNumber}\r\n
\r\n \r\n
\r\n Make/Model\r\n
\r\n \r\n {data.make}/{data.model}\r\n \r\n
\r\n handleShowDetails('showCustomerModal')} style={{ cursor: 'pointer' }}>\r\n
\r\n Customer\r\n
\r\n {data.customer}\r\n
\r\n handleShowDetails('showDepotModal')} style={{ cursor: 'pointer' }}>\r\n
\r\n Depot\r\n
\r\n {data.reportingDepot}\r\n
\r\n {/* \r\n {data.defectNumberGenerated && !props.isAddJobBtnShow ? (\r\n
\r\n {!isDriver && !isCustomer && (\r\n \r\n )}\r\n
\r\n ) : null}\r\n
*/}\r\n
\r\n
\r\n {state.show ? (\r\n closetModal(false)} maxWidth=\"sm\">\r\n \r\n \r\n ) : null}\r\n {state.showVor ? (\r\n closeAddPopUp(false)}\r\n maxWidth=\"lg\"\r\n overflow=\"auto\"\r\n >\r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n closetModal(false)} title={'Customer Details'} maxWidth=\"sm\" fullWidth>\r\n closetModal(false)} />\r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n closetModal(false)} title={'Depot Details'} maxWidth=\"sm\" fullWidth>\r\n closetModal(false)} />\r\n \r\n ) : null}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default BreakDownDetails;\r\n","import { Grid } from '@material-ui/core';\r\nimport React from 'react';\r\n\r\nimport car_repair_amberLogo from '../../../../Marker/car_repair_amber.png';\r\nimport car_repair_redLogo from '../../../../Marker/car_repair_red.png';\r\nimport car_repair_greenLogo from '../../../../Marker/car_repair_green.png';\r\n\r\nconst Mapheader = () => {\r\n return (\r\n \r\n Service Agents Map\r\n \r\n \r\n \r\n \r\n  {`<= 10 miles`}\r\n \r\n \r\n \r\n  {`<= 20 miles`}\r\n \r\n \r\n \r\n  {`> 30 miles`}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default Mapheader;\r\n","import React, { useEffect, useState, useCallback } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, FormControlLabel } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, SelectBox, MandatoryField, SimpleField, Accordion, SingleSelect, Multiselect } from '../../../../Core/Controls';\r\nimport '../../../commonStyle.scss';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport {\r\n getVehicleBreakdownDropdowns,\r\n postVehicleBreakdown,\r\n getVehicleBreakdownsbyID,\r\n getBreakDownDropDown\r\n} from '../../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport RoomIcon from '@material-ui/icons/Room';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport InputAdornment from '@material-ui/core/InputAdornment';\r\nimport { useHistory } from 'react-router-dom';\r\nimport CustomizedSteppers from '../BreackdownDefectStepper/defectBreackDownStepper';\r\nimport { formatters } from '../../../../Core/Controls';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { Dialog, DialogActions, DialogContent, DialogTitle } from '@material-ui/core';\r\n\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport JobStepperScreen from '../BreackdownDefectStepper/addJobStepper';\r\nimport BreakDownEditDetails from './BreakDownEditDetails';\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport BreakDownDetails from './BreakDownDetails';\r\nimport GetAgentLocation from './getLocations';\r\nimport Mapheader from './locationHeaderComp';\r\n\r\nlet domainName = window.location.host;\r\nconst trimedhost = domainName.includes('localhost') ? 'localhost' : domainName;\r\n\r\nconst AddBreaddownModal = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n let history = useHistory();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n const [state, setState] = useState({\r\n defectID: null,\r\n breakDownType: 'BR',\r\n driverName: '',\r\n driverPhone: null,\r\n breakDownLocation: '',\r\n problemReported: '',\r\n replacementvehicleRequired: false,\r\n defectPG9Issued: false,\r\n mobilityUsed: 0,\r\n mobilityRequested: 0,\r\n reportingDepot: null,\r\n callOutRequired: false,\r\n defectVOR: false,\r\n policeOnScene: 0,\r\n passengersInvolved: false,\r\n accDamage: false,\r\n vehicleLoaded: false,\r\n urgentCallOut: false,\r\n policeOnScene: false,\r\n mobilityRequested: false,\r\n mobilityUsed: false,\r\n vehicleLoadTypesList: [],\r\n depotsList: [],\r\n vehicleJobProgress: [],\r\n errors: {},\r\n showJob: false,\r\n loadType: 1,\r\n showMap: false,\r\n loadTypeValue: '',\r\n isRefresh: '',\r\n defectFaultTypes: [],\r\n faultTypes: []\r\n });\r\n\r\n const [selectedData, setSelectedData] = useState({\r\n modules: []\r\n });\r\n\r\n const pullBreackdownById = async () => {\r\n let res = await getVehicleBreakdownsbyID(props.breakDownID);\r\n let data = res.data.details[0];\r\n let vehicleJobProgressDates = res.data.vehicleJobProgressDates;\r\n setState((st) => ({\r\n ...st,\r\n defectID: data.defectID,\r\n vehicleID: data.defectVehicleID,\r\n breakDownType: data.defectTypeCode,\r\n mileage: data.defectMileage,\r\n reportingDepot: data.defectReportingDepotID,\r\n breakDownLocation: data.defectLocation,\r\n reportedPhone: data.defectContactNumber,\r\n reportedBy: data.defectContactName,\r\n driverName: data.defectDriverName,\r\n driverPhone: data.defectDriverTelephone,\r\n problemReported: data.defectDescription,\r\n callOutRequired: data.defectCallOutRequired,\r\n urgentCallOut: data.defectUrgentCallOut,\r\n putOnVOR: data.defectVOR,\r\n policeOnScene: data.defectPoliceOnScene,\r\n passengersInvolved: data.defectPassengersInvolved,\r\n numberOfPassenger: data.defectNumberOfPassengers,\r\n accDamage: data.defectAccidentDamage,\r\n iNSREF: data.defectInsuranceReference,\r\n replacementvehicleRequired: data.defectReplacementVehicle,\r\n domainName: data.domainName,\r\n vehicleLoaded: data.defectVehicleLoaded,\r\n loadType: data.defectVehicleLoadTypeID,\r\n mobilityRequested: data.defectMobilityRequested,\r\n mobilityUsed: data.defectMobilityUsed,\r\n PG9Issued: data.defectPG9Issued,\r\n defectNumberGenerated: data.defectNumberGenerated,\r\n defectResolvedNotes: data.defectResolvedNotes,\r\n reportingDepotName: data.reportingDepot,\r\n vehicleLoadTypeDescription: data.vehicleLoadTypeDescription,\r\n defectRegNumber: data.defectRegNumber,\r\n customer: data.customer,\r\n customerID: data.customerID,\r\n reportingDepot: data.reportingDepot,\r\n make: data.make,\r\n model: data.model,\r\n vorVehicleID: data.vorVehicleID,\r\n defectFaultTypes: res.data.faultIds,\r\n //\r\n vehicleJobProgress: vehicleJobProgressDates,\r\n defectDateCreated: formatters.DateTimeFormatter(data.defectDateCreated),\r\n defectDateCallOutArrived: formatters.DateTimeFormatter(data.defectDateCallOutArrived),\r\n defectDateVehicleRecovered: formatters.DateTimeFormatter(data.defectDateVehicleRecovered),\r\n defectDateResolved: formatters.DateTimeFormatter(data.defectDateResolved),\r\n defectDateSignOff: formatters.DateTimeFormatter(data.defectDateSignOff),\r\n fileCount: data.fileCount,\r\n isRefresh: new Date()\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n if (props.breakDownID) {\r\n pullBreackdownById();\r\n }\r\n if (props.VehicleID) {\r\n let res = await getVehicleBreakdownDropdowns(props.VehicleID);\r\n setState((st) => ({\r\n ...st,\r\n vehicleLoadTypesList: res.data.vehicleLoadTypes,\r\n loadTypeValue: res.data.vehicleLoadTypes[0],\r\n depotsList: res.data.depots,\r\n vehicleID: props.VehicleID,\r\n vehcileCategories: res.data.vehcileCategories[0].vehicleCategory,\r\n faultTypes: res.data.faultTypes,\r\n domainName: trimedhost\r\n }));\r\n } else {\r\n let res = await getBreakDownDropDown();\r\n setState((st) => ({\r\n ...st,\r\n vehicleLoadTypesList: res.data.vehicleLoadTypes,\r\n loadTypeValue: res.data.vehicleLoadTypes[0],\r\n depotsList: res.data.depots,\r\n vehcileCategories: res.data.vehcileCategories[0].vehicleCategory,\r\n faultTypes: res.data.faultTypes,\r\n domainName: trimedhost\r\n }));\r\n }\r\n }, []);\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: true }));\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setState((st) => ({ ...st, [name]: value }));\r\n }\r\n }, []);\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const validations = () => {\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(state.driverName)) {\r\n errors.driverName = 'Driver Name is required';\r\n formIsValid = false;\r\n }\r\n if (!/^[0-9]*$/.test(state.driverPhone)) {\r\n errors.driverPhone = 'This field accepts number 1 - 0';\r\n formIsValid = false;\r\n }\r\n if (!state.reportingDepotValue) {\r\n errors.reportingDepot = 'Reporting depot is required';\r\n formIsValid = false;\r\n }\r\n if (!state.breakDownLocation) {\r\n errors.breakDownLocation = 'Location is required';\r\n formIsValid = false;\r\n }\r\n if (!state.reportedBy) {\r\n errors.reportedBy = 'Reported By field is required';\r\n formIsValid = false;\r\n }\r\n if (!state.reportedPhone) {\r\n errors.reportedPhone = 'Reported phone field is required';\r\n formIsValid = false;\r\n }\r\n if (!state.problemReported) {\r\n errors.problemReported = 'Problem reported field is required';\r\n formIsValid = false;\r\n }\r\n if (!state.loadTypeValue) {\r\n errors.loadType = 'Vehicle loaded type is required';\r\n formIsValid = false;\r\n }\r\n // if (state.defectFaultTypes.length <= 0) {\r\n // errors.defectFaultTypes = 'This field is required';\r\n // formIsValid = false;\r\n // }\r\n\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n useEffect(() => {\r\n if (state.defectFaultTypes) {\r\n const selectedFaultTypes = state.faultTypes.filter((w) => state.defectFaultTypes.indexOf(w.id) > -1);\r\n setSelectedData((st) => ({\r\n ...st,\r\n modules: selectedFaultTypes\r\n }));\r\n }\r\n }, [state.defectFaultTypes, state.faultTypes]);\r\n\r\n const ModuleChange = (e, value) => {\r\n setSelectedData((st) => ({ ...st, modules: value }));\r\n setState((st) => {\r\n const nst = { ...st, defectFaultTypes: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n if (state.defectID) {\r\n alert('Update is pending');\r\n } else {\r\n setBtnLoader(true);\r\n let res = await postVehicleBreakdown(state, selectedData);\r\n if (res.success) {\r\n showToastSuccess(`Breakdown number ${res.data.defectNumber} generated successfully`);\r\n history.push(`/maintenance/breakdowns/Edit/${res.data.defectID}/${props.VehicleID}`);\r\n // props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n }\r\n };\r\n\r\n const handleShowLocation = (id) => {\r\n setState((st) => ({ ...st, showMap: true }));\r\n };\r\n\r\n const handleUpdate = () => {\r\n setState((st) => ({ ...st, showJob: true }));\r\n };\r\n\r\n const closetModal = (res) => {\r\n setState((st) => ({ ...st, showJob: false, showMap: false }));\r\n res && pullBreackdownById();\r\n };\r\n\r\n const handleUpdateLocation = (location) => {\r\n setState((st) => ({ ...st, breakDownLocation: location, showMap: false }));\r\n };\r\n\r\n return (\r\n
\r\n {props.frompage === 'Breakdown' && state.defectNumberGenerated ? (\r\n props.onClose()}\r\n />\r\n ) : null}\r\n {/* {state.defectNumberGenerated && !props.isAddJobBtnShow ? (\r\n
\r\n \r\n   Add Job\r\n \r\n
\r\n ) : null} */}\r\n {state.showJob ? (\r\n closetModal(false)} maxWidth=\"sm\">\r\n \r\n \r\n ) : null}\r\n {state.showMap ? (\r\n } onClose={() => closetModal(false)} maxWidth=\"lg\" fullScreen>\r\n \r\n \r\n ) : null}\r\n\r\n {props.modalName === 'Edit' ? (\r\n \r\n {state.vehicleJobProgress?.map((a, index) => (\r\n \r\n \r\n \r\n ))}\r\n\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n Breakdown Type?\r\n \r\n \r\n \r\n } label=\"Road Side\" />\r\n } label=\"On Site\" />\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n Reporting Depot\r\n \r\n {/* */}\r\n \r\n {state.errors.reportingDepot}\r\n \r\n \r\n \r\n {\r\n handleShowLocation(state.defectID);\r\n }}\r\n icon={RoomIcon}\r\n />\r\n \r\n )\r\n }}\r\n />\r\n\r\n {/* {state.errors.breakDownLocation} */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Fault Category\r\n \r\n \r\n {state.errors.defectFaultTypes}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Call Out Required\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Urgent Call Out\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Put On VOR\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Replacement vehicle Required?\r\n \r\n \r\n \r\n }\r\n label=\"Yes\"\r\n />\r\n }\r\n label=\"No\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Passengers Involved?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.numberOfPassenger}\r\n \r\n \r\n \r\n \r\n Accident Damage?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Police On Scene?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Vehicle Loaded?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Load Type\r\n \r\n {/* */}\r\n \r\n , falultVal:''{' '}\r\n \r\n , falultVal:''\r\n \r\n \r\n \r\n Mobility Requested?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Mobility Used?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PG9 Issued?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"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 {props.breakDownID ? 'Save' : 'Add'}\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default AddBreaddownModal;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllDefects = async () => {\r\n let res = await getWithAuth(`VehicleDefects`);\r\n return res;\r\n};\r\n\r\nexport const getAllVehicleDefects = async (id) => {\r\n let res = await getWithAuth(`VehicleDefects?VehicleID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getAllCustomerDefects = async (id) => {\r\n let res = await getWithAuth(`VehicleDefects?customerID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getVehicleBreakdownDropdowns = async (id) => {\r\n let res = await getWithAuth(`VehicleBreakdowns/screenDropDowns?VehicleID=${id}`);\r\n return res;\r\n};\r\nexport const getDefectDropdowns = async () => {\r\n let res = await getWithAuth(`VehicleBreakdowns/screenDropDowns`);\r\n return res;\r\n};\r\nexport const postDefect = async (data) => {\r\n let res = await postWithAuth(`VehicleDefects`, data);\r\n return res;\r\n};\r\n\r\nexport const getDefectById = async (id) => {\r\n let res = await getWithAuth(`VehicleDefects/${id}`);\r\n return res;\r\n};\r\nexport const getDefectFaultType = async (custId, startDate, endDate, vehicleCategoryID, makeID) => {\r\n let res = await getWithAuth(\r\n `VehicleDefects/VehicleDefectByFaultType?ID=${custId}&startDate=${startDate}&endDate=${endDate}&vehicleCategoryID=${vehicleCategoryID}&makeID=${makeID}`\r\n );\r\n return res;\r\n};\r\nexport const getBreakDownFaultType = async (custId, startDate, endDate, vehicleCategoryID, makeID) => {\r\n let res = await getWithAuth(\r\n `VehicleBreakdowns/VehicleBreakdownByFaultType?ID=${custId}&startDate=${startDate}&endDate=${endDate}&vehicleCategoryID=${vehicleCategoryID}&makeID=${makeID}`\r\n );\r\n return res;\r\n};\r\n","import { createContext, useCallback, useEffect, useState } from 'react';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { getDefectById, getVehicleBreakdownDropdowns, postDefect, getDefectDropdowns } from '../../../../Core/Services/InternalUser/Maintenance/DefectsService';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { formatters } from '../../../../Core/Controls';\r\nimport { getAllNotes } from '../../../../Core/Services/InternalUser/ControllerService/noteService';\r\n\r\nexport const DefectsScreenContext = createContext();\r\n\r\nconst trimmedHost = window.location.host.includes('localhost') ? 'localhost' : window.location.host;\r\n\r\nexport const DefectsProvider = (props) => {\r\n let history = useHistory();\r\n // const { DefectID, VehicleID } = props?.match?.params ;\r\n let DefectID = null;\r\n let VehicleID = null;\r\n\r\n if (props?.match?.params.DefectID) {\r\n DefectID = props.match.params.DefectID;\r\n }\r\n if (props?.match?.params.VehicleID) {\r\n VehicleID = props.match.params.VehicleID;\r\n }\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const [defectFields, setDefectFields] = useState({\r\n errors: {},\r\n customerName: '',\r\n depotName: '',\r\n vehicleLoadTypesList: [],\r\n depotsList: [],\r\n vehicleID: null,\r\n defectTypeCode: 'DD',\r\n defectNumberGenerated: '',\r\n defectRegNumber: '',\r\n defectID: '',\r\n defectVehicleID: '',\r\n defectReportingDepotID: '',\r\n defectLocation: '',\r\n defectCustomerDefectNumber: '',\r\n defectMileage: '',\r\n defectContactName: '',\r\n defectContactNumber: '',\r\n defectDriverName: '',\r\n defectDriverTelephone: '',\r\n defectDescription: '',\r\n preferredServiceAgent: '',\r\n defectAuthorisedBy: '',\r\n defectNumberOfPassengers: '',\r\n defectInsuranceReference: '',\r\n domainName: '',\r\n defectVehicleLoadTypeID: 1,\r\n defectPG9Issued: '',\r\n vehicleJobProgress: [],\r\n vorVehicleID: null,\r\n isRefresh: '',\r\n isReload: true,\r\n faultTypes: [],\r\n defectFaultTypes: []\r\n });\r\n\r\n const [selectedData, setSelectedData] = useState({\r\n modules: []\r\n });\r\n\r\n const [userSettings, setUserSettings] = useState({\r\n defectAlreadyBooked: false,\r\n defectAlreadyCompleted: false,\r\n defectCallOutRequired: false,\r\n defectUrgentCallOut: false,\r\n defectVOR: false,\r\n defectPassengersInvolved: false,\r\n defectAccidentDamage: false,\r\n defectReplacementVehicle: false,\r\n defectVehicleLoaded: false,\r\n defectPG9Issued: false,\r\n defectPoliceOnScene: false,\r\n defectMobilityRequested: false,\r\n defectMobilityUsed: false,\r\n defectAdvisedDontDrive: false\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.VehicleID || VehicleID) {\r\n let res1 = await getVehicleBreakdownDropdowns(props.VehicleID || VehicleID);\r\n setDefectFields((st) => ({\r\n ...st,\r\n vehicleLoadTypesList: res1.data.vehicleLoadTypes,\r\n depotsList: res1.data.depots,\r\n vehicleID: props.VehicleID || VehicleID,\r\n jobProgressStatusList: res1.data.jobProgressStatus,\r\n faultTypes: res1.data.faultTypes\r\n }));\r\n }\r\n\r\n if (props.defectID || DefectID) {\r\n pullDefectByID();\r\n // pullNotes();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n pullNotes();\r\n }, [defectFields.isRefresh]);\r\n\r\n const pullNotes = async () => {\r\n if (props.NoteVehicleID || props.NoteDriverID || props.NoteServiceAgID || props.customerID || props.JobID || props.defectID || DefectID) {\r\n let res = await getAllNotes(\r\n 'Defects',\r\n props.NoteVehicleID,\r\n props.NoteDriverID,\r\n props.NoteServiceAgID,\r\n props.customerID,\r\n props.JobID,\r\n props.defectID || DefectID\r\n );\r\n if (res.success) {\r\n setDefectFields((st) => ({ ...st, NoteList: res.data.list }));\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n const pullDefectByID = async () => {\r\n let res = await getDefectById(props.defectID || DefectID);\r\n if (res.success) {\r\n const data = res.data.details[0];\r\n let vehicleJobProgressDates = res.data.vehicleJobProgressDates;\r\n if (data) {\r\n setDefectFields((defectFields) => ({\r\n ...defectFields,\r\n defectNumberGenerated: data.defectNumberGenerated,\r\n defectRegNumber: data.defectRegNumber,\r\n defectID: data.defectID,\r\n defectTypeCode: data.defectTypeCode,\r\n defectVehicleID: data.defectVehicleID,\r\n defectReportingDepotID: data.defectReportingDepotID,\r\n defectLocation: data.defectLocation,\r\n defectCustomerDefectNumber: data.defectCustomerDefectNumber,\r\n defectContactName: data.defectContactName,\r\n defectContactNumber: data.defectContactNumber,\r\n defectDriverName: data.defectDriverName,\r\n defectDriverTelephone: data.defectDriverTelephone,\r\n defectDescription: data.defectDescription,\r\n preferredServiceAgent: data.preferredServiceAgent,\r\n defectAuthorisedBy: data.defectAuthorisedBy,\r\n defectNumberOfPassengers: data.defectNumberOfPassengers,\r\n defectInsuranceReference: data.defectInsuranceReference,\r\n domainName: data.domainName,\r\n defectVehicleLoadTypeID: data.defectVehicleLoadTypeID,\r\n defectPoliceOnScene: data.defectPoliceOnScene,\r\n defectAdvisedDontDrive: data.defectAdvisedDontDrive,\r\n defectMobilityRequested: data.defectMobilityRequested,\r\n defectMobilityUsed: data.defectMobilityUsed,\r\n defectResolvedNotes: data.defectResolvedNotes,\r\n defectResolvedSignature: data.defectResolvedSignature,\r\n vorVehicleID: data.vorVehicleID,\r\n model: data.model,\r\n make: data.make,\r\n customer: data.customer,\r\n reportingDepot: data.reportingDepot,\r\n defectMileage: data.defectMileage,\r\n defectPreferredServiceAgent: data.defectPreferredServiceAgent,\r\n homeDepotID: data.homeDepotID,\r\n customerID: data.customerID,\r\n defectFaultTypes: res.data.faultIds,\r\n //\r\n vehicleJobProgress: vehicleJobProgressDates,\r\n defectDateCreated: formatters.DateTimeFormatter(data.defectDateCreated),\r\n defectDateCallOutArrived: formatters.DateTimeFormatter(data.defectDateCallOutArrived),\r\n defectDateVehicleRecovered: formatters.DateTimeFormatter(data.defectDateVehicleRecovered),\r\n defectDateResolved: formatters.DateTimeFormatter(data.defectDateResolved),\r\n defectDateSignOff: formatters.DateTimeFormatter(data.defectDateSignOff),\r\n fileCount: data.fileCount,\r\n isRefresh: new Date(),\r\n isReload: false\r\n }));\r\n setUserSettings((st) => ({\r\n ...st,\r\n defectAlreadyBooked: data.defectAlreadyBooked,\r\n defectAlreadyCompleted: data.defectAlreadyCompleted,\r\n defectCallOutRequired: data.defectCallOutRequired,\r\n defectUrgentCallOut: data.defectUrgentCallOut,\r\n defectVOR: data.defectVOR,\r\n defectPassengersInvolved: data.defectPassengersInvolved,\r\n defectAccidentDamage: data.defectAccidentDamage,\r\n defectReplacementVehicle: data.defectReplacementVehicle,\r\n defectVehicleLoaded: data.defectVehicleLoaded,\r\n defectPG9Issued: data.defectPG9Issued,\r\n vehicleLoadTypeDescription: data.vehicleLoadTypeDescription\r\n }));\r\n } else {\r\n setDefectFields((defectFields) => ({\r\n ...defectFields,\r\n isReload: false\r\n }));\r\n }\r\n }\r\n };\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setUserSettings((st) => ({ ...st, [name]: true }));\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n setUserSettings((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setDefectFields((st) => ({ ...st, [name]: value }));\r\n }\r\n }, []);\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setDefectFields((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const selectHandler = useCallback((e) => {\r\n const { name, checked } = e.target;\r\n setDefectFields((defectFields) => ({ ...defectFields, [name]: checked }));\r\n }, []);\r\n\r\n const handleClick = useCallback((name, value) => {\r\n setDefectFields((st) => {\r\n const nst = { ...st, [name]: value };\r\n return nst;\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (defectFields.defectFaultTypes) {\r\n const selectedFaultTypes = defectFields.faultTypes.filter((w) => defectFields.defectFaultTypes.indexOf(w.id) > -1);\r\n setSelectedData((st) => ({\r\n ...st,\r\n modules: selectedFaultTypes\r\n }));\r\n }\r\n }, [defectFields.defectFaultTypes, defectFields.faultTypes]);\r\n\r\n const ModuleChange = (e, value) => {\r\n setSelectedData((st) => ({ ...st, modules: value }));\r\n setDefectFields((st) => {\r\n const nst = { ...st, defectFaultTypes: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const {\r\n defectReportingDepotID,\r\n defectLocation,\r\n defectCustomerDefectNumber,\r\n defectContactName,\r\n defectContactNumber,\r\n defectDriverName,\r\n defectDriverTelephone,\r\n defectDescription,\r\n defectAuthorisedBy,\r\n defectVehicleLoadTypeID,\r\n defectReportingDepotIDValue\r\n } = defectFields;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!defectReportingDepotIDValue) {\r\n errors.defectReportingDepotID = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!defectLocation) {\r\n errors.defectLocation = 'This field is required';\r\n formIsValid = false;\r\n }\r\n // if (!defectCustomerDefectNumber) {\r\n // errors.defectCustomerDefectNumber = 'This field is required';\r\n // formIsValid = false;\r\n // }\r\n if (!defectContactName) {\r\n errors.defectContactName = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!defectContactNumber) {\r\n errors.defectContactNumber = 'This field is required';\r\n formIsValid = false;\r\n }\r\n // if (!defectDriverName) {\r\n // errors.defectDriverName = 'This field is required';\r\n // formIsValid = false;\r\n // }\r\n // if (!defectDriverTelephone) {\r\n // errors.defectDriverTelephone = 'This field is required';\r\n // formIsValid = false;\r\n // }\r\n if (!defectDescription) {\r\n errors.defectDescription = 'This field is required';\r\n formIsValid = false;\r\n }\r\n\r\n if (!defectAuthorisedBy) {\r\n errors.defectAuthorisedBy = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!defectVehicleLoadTypeID) {\r\n errors.defectVehicleLoadTypeID = 'This field is required';\r\n formIsValid = false;\r\n }\r\n setDefectFields((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const FormData = {\r\n defectID: defectFields.defectID,\r\n defectTypeCode: defectFields.defectTypeCode,\r\n defectVehicleID: defectFields.vehicleID,\r\n defectReportingDepotID: defectFields.defectReportingDepotIDValue?.id,\r\n defectLocation: defectFields.defectLocation,\r\n defectCustomerDefectNumber: defectFields.defectCustomerDefectNumber,\r\n defectContactName: defectFields.defectContactName,\r\n defectContactNumber: defectFields.defectContactNumber,\r\n defectDriverName: defectFields.defectDriverName,\r\n defectDriverTelephone: defectFields.defectDriverTelephone,\r\n defectDescription: defectFields.defectDescription,\r\n defectAuthorisedBy: defectFields.defectAuthorisedBy,\r\n preferredServiceAgent: defectFields.preferredServiceAgent,\r\n defectAlreadyBooked: userSettings.defectAlreadyBooked,\r\n defectAlreadyCompleted: userSettings.defectAlreadyCompleted,\r\n defectCallOutRequired: userSettings.defectCallOutRequired,\r\n defectUrgentCallOut: userSettings.defectUrgentCallOut,\r\n defectVOR: userSettings.defectVOR,\r\n defectPassengersInvolved: userSettings.defectPassengersInvolved,\r\n defectNumberOfPassengers: defectFields.defectNumberOfPassengers,\r\n defectAccidentDamage: userSettings.defectAccidentDamage,\r\n defectInsuranceReference: defectFields.defectInsuranceReference,\r\n domainName: trimmedHost,\r\n defectReplacementVehicle: userSettings.defectReplacementVehicle,\r\n defectVehicleLoaded: userSettings.defectVehicleLoaded,\r\n defectVehicleLoadTypeID: defectFields.defectVehicleLoadTypeIDValue?.id,\r\n defectPG9Issued: userSettings.defectPG9Issued,\r\n defectPoliceOnScene: userSettings.defectPoliceOnScene,\r\n defectAdvisedDontDrive: userSettings.defectAdvisedDontDrive,\r\n defectMobilityRequested: userSettings.defectMobilityRequested,\r\n defectMobilityUsed: userSettings.defectMobilityUsed,\r\n defectMileage: defectFields.defectMileage,\r\n faultIds: selectedData.modules.map(({ id }) => id)\r\n };\r\n setBtnLoader(true);\r\n let res = await postDefect(FormData);\r\n if (res.success) {\r\n showToastSuccess(`Defect number ${res.data.defectNumber} generated successfully`);\r\n history.push(`/maintenance/defect/edit/${res.data.defectID}/${props.VehicleID}`);\r\n // props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n console.log(defectFields, 'defectFields');\r\n console.log(selectedData, 'selectedData');\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useState, useMemo } from 'react';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport '../../Controllers/controllerStyle.scss';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport JobStepperScreen from '../BreackdownDefectStepper/addJobStepper';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { CustomChip, BreadCrumbs } from '../../../../Core/Controls';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport AddVor from '../../Controllers/VOR/AddEditVor';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { useHistory } from 'react-router-dom';\r\nimport CustomerDetails from '../../Controllers/DetailsModal/customerDetails';\r\nimport DepotDetails from '../../Controllers/DetailsModal/depotDetails';\r\n\r\nconst DefectDetails = (props) => {\r\n const { data } = props;\r\n const history = useHistory();\r\n const baseCrumb = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Maintenance', active: true },\r\n { name: 'Defects', path: '' }\r\n ];\r\n\r\n const [state, setState] = useState({ show: false, showVor: false, vorVehicleID: null });\r\n\r\n const { userRoles } = useLoginInfo();\r\n const isDriver = userRoles.includes('driver');\r\n const isCustomer = userRoles.includes('customer');\r\n const isServiceagent = userRoles.includes('serviceagent');\r\n const handleUpdate = () => {\r\n setState({ show: true });\r\n };\r\n\r\n const closetModal = (res) => {\r\n setState({ show: false, showCustomerModal: false, showDepotModal: false });\r\n res && props.pullDefectByID();\r\n };\r\n\r\n const handleAddPopUp = () => {\r\n setState((st) => ({ ...st, vorVehicleID: data.vorVehicleID, showVor: true }));\r\n };\r\n const closeAddPopUp = (flag, name) => {\r\n setState((st) => ({ ...st, showVor: false }));\r\n props.pullDefectByID();\r\n };\r\n\r\n const crumbs = useMemo(() => {\r\n const tempCols = [...baseCrumb];\r\n let actionCol = tempCols.find((element) => element.name === 'Defects');\r\n if (actionCol) {\r\n if (isServiceagent) {\r\n actionCol.path = '/serviceagent/defect';\r\n } else {\r\n actionCol.path = '/maintenance/defects';\r\n }\r\n }\r\n // if (!props.VehicleID) {\r\n // tempCols.splice(1, 0, { key: 'customer', name: 'Customer Name', width: '8%' });\r\n\r\n // tempCols.splice(2, 0, { key: 'defectRegNumber', name: 'Reg Number', width: '8%' });\r\n // }\r\n // if (window.innerWidth > 600) {\r\n // tempCols.splice(\r\n // 6,\r\n // 0,\r\n // { key: 'defectDriverName', name: 'Driver Name', width: 110 },\r\n // { key: 'defectDriverTelephone', name: 'Driver Phone', width: 120 }\r\n // );\r\n // // tempCols.splice(1, 0, { key: 'defectType', name: 'Defect Type', width: 130 });\r\n // }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${data.defectVehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handleShowDetails = (val) => {\r\n setState({ [val]: true });\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n   \r\n
\r\n {data.vorVehicleID && }\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Reg Number\r\n
\r\n \r\n {data.defectRegNumber}\r\n \r\n
\r\n \r\n
\r\n Make/Model\r\n
\r\n \r\n {data.make}/{data.model}\r\n \r\n
\r\n handleShowDetails('showCustomerModal')} style={{ cursor: 'pointer' }}>\r\n
\r\n Customer\r\n
\r\n {data.customer}\r\n
\r\n handleShowDetails('showDepotModal')} style={{ cursor: 'pointer' }}>\r\n
\r\n Depot\r\n
\r\n {data.reportingDepot}\r\n
\r\n {/* \r\n {data.defectNumberGenerated && !props.isAddJobBtnShow ? (\r\n
\r\n {!isDriver && !isCustomer && (\r\n \r\n )}\r\n
\r\n ) : null}\r\n
*/}\r\n
\r\n
\r\n {state.show ? (\r\n closetModal(false)} maxWidth=\"sm\">\r\n \r\n \r\n ) : null}\r\n {state.showVor ? (\r\n closeAddPopUp(false)}\r\n maxWidth=\"lg\"\r\n overflow=\"auto\"\r\n >\r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n closetModal(false)} title={'Customer Details'} maxWidth=\"sm\" fullWidth>\r\n closetModal(false)} />\r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n closetModal(false)} title={'Depot Details'} maxWidth=\"sm\" fullWidth>\r\n closetModal(false)} />\r\n \r\n ) : null}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DefectDetails;\r\n","import React, { useContext, useState, useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormControlLabel, FormHelperText, InputLabel } from '@material-ui/core';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { InputText, SecondaryButton, MandatoryField, SimpleField, Accordion, SingleSelect, Multiselect } from '../../../../Core/Controls';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { SelectBox } from '../../../../Core/Controls';\r\nimport { DefectsProvider as StateProvider, DefectsScreenContext } from './DefectsProvider';\r\nimport DefectDetails from './defectDetail';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport JobStepperScreen from '../BreackdownDefectStepper/addJobStepper';\r\nimport CustomizedSteppers from '../BreackdownDefectStepper/defectBreackDownStepper';\r\n\r\nconst AddEditDefectModal = (props) => {\r\n const { defectFields, userSettings, submitHandler, inputChange, pullDefectByID, singleSelectChange, btnLoader, ModuleChange, selectedData } =\r\n useContext(DefectsScreenContext);\r\n\r\n return (\r\n
\r\n {props.fromPage === 'Defects' && defectFields.defectNumberGenerated ? (\r\n \r\n ) : null}\r\n \r\n {defectFields.vehicleJobProgress.map((a, index) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n Reporting Depot\r\n \r\n {/* */}\r\n \r\n {defectFields.errors.defectReportingDepotID}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {defectFields.errors.preferredServiceAgent}\r\n \r\n \r\n \r\n Fault Category\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Already Booked?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Already Completed?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Call Out Required\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Urgent Call Out\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Put On VOR\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Advised Don't Drive?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Passenger Involved?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {defectFields.errors.defectNumberOfPassengers}\r\n \r\n\r\n \r\n \r\n \r\n Accident Damage?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {defectFields.errors.defectInsuranceReference}\r\n \r\n \r\n \r\n \r\n Replacement vehicle Required?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Vehicle Loaded?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Load Type\r\n \r\n {/* */}\r\n \r\n {defectFields.errors.defectVehicleLoadTypeID}\r\n \r\n \r\n \r\n \r\n Police On Scene?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Mobility Requested?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Mobility Used?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PG9 Issued?\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {!defectFields.defectID ? (\r\n \r\n \r\n Add\r\n \r\n \r\n ) : (\r\n \r\n {\r\n alert('Update Pending');\r\n }}\r\n >\r\n Save\r\n \r\n \r\n )}\r\n \r\n Cancel\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useContext, useState } from 'react';\r\nimport { getAllStickies } from '../../../../Core/Services/InternalUser/ControllerService/noteService';\r\n\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport Button from '@material-ui/core/Button';\r\nimport './NotesandSticky.scss';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n '& > * + *': {\r\n marginTop: theme.spacing(1)\r\n }\r\n }\r\n}));\r\n\r\nexport const StickyNotes = (props) => {\r\n const classes = useStyles();\r\n const [state, setState] = useState({\r\n stickyList: []\r\n });\r\n useEffect(async () => {\r\n let res = await getAllStickies(props.frompage, props.NoteVehicleID, props.NoteServiceAgID, props.customerID, props.NoteDriverID, props.noteRefsGuidID);\r\n setState((st) => ({ ...st, stickyList: res.data }));\r\n }, [props.NoteVehicleID]);\r\n\r\n return (\r\n
\r\n {state.stickyList.length > 0 &&\r\n state.stickyList.map((q, index = 1) => {\r\n return (\r\n \r\n {q.title}\r\n
\r\n {q.description}\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n};\r\n\r\nexport default StickyNotes;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getJobDetailsById = async (Id) => {\r\n let res = await getWithAuth(`VehicleJob/${Id}`);\r\n return res;\r\n};\r\nexport const getAllJobDropDowns = async (Id) => {\r\n let res = await getWithAuth(`VehicleJob/Dropdowns?VehicleID=${Id}`);\r\n return res;\r\n};\r\nexport const postJobDetails = async (data) => {\r\n let res = await postWithAuth('VehicleJob', data);\r\n return res;\r\n};\r\nexport const getJobHistory = async (id) => {\r\n let res = await getWithAuth(`VehicleJob/VehicleJobHistory/${id}`);\r\n return res;\r\n};\r\nexport const getUpcomingEvents = async (id) => {\r\n let res = await getWithAuth(`VehicleJob/VehicleUncompletedSchedules/${id}`);\r\n return res;\r\n};\r\n\r\nexport const mergeJobToMaster = async (data) => {\r\n let res = await postWithAuth(`schedules/SchedulesAddToJob`, data);\r\n return res;\r\n};\r\nexport const setCompletionDate = async (data) => {\r\n let res = await postWithAuth(`VehicleJob/VehicleJobsCompleteJob`, data);\r\n return res;\r\n};\r\nexport const setBookingDate = async (data) => {\r\n let res = await postWithAuth(`VehicleJob/ChangeBookingDate`, data);\r\n return res;\r\n};\r\n\r\nexport const getJobRequiredDocuments = async (id) => {\r\n let res = await getWithAuth(`VehicleJob/GetJobRequiredDocuments/${id}`);\r\n return res;\r\n};\r\nexport const getJobRequireScheduledDocuments = async (id) => {\r\n let res = await getWithAuth(`Schedules/GetScheduleRequiredDocuments/${id}`);\r\n return res;\r\n};\r\n\r\nexport const setVehicleArrive = async (data) => {\r\n let res = await postWithAuth(`VehicleJob/VehicleArrived`, data);\r\n return res;\r\n};\r\n","import React from 'react';\r\nimport { withStyles, makeStyles } from '@material-ui/core/styles';\r\nimport { TableBody, Table, TableCell, TableContainer, TableRow } from '@material-ui/core';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Typography from '@material-ui/core/Typography';\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n backgroundColor: theme.palette.common.white,\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '4px',\r\n height: '40px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: theme.palette.action.hover\r\n }\r\n }\r\n}))(TableRow);\r\n\r\nconst useStyles = makeStyles({\r\n title: {\r\n color: '#f50057',\r\n marginLeft: 2,\r\n marginTop: 0,\r\n marginBottom: 0\r\n },\r\n cellValue: {\r\n fontSize: '0.800rem'\r\n },\r\n label: {\r\n position: 'fixed',\r\n top: 0\r\n }\r\n});\r\n\r\nexport default function CustomizedTables(props) {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n

{props.tableHeader}

\r\n \r\n \r\n \r\n {props.tableData.map((row) => (\r\n \r\n \r\n
\r\n {row.name1}{' '}\r\n
\r\n \r\n {row.value1 || 'N/A'}\r\n \r\n
\r\n {row.name2 && (\r\n \r\n
\r\n {row.name2}{' '}\r\n
\r\n \r\n {row.value2 || 'N/A'}\r\n \r\n
\r\n )}\r\n {row.name3 && (\r\n \r\n
\r\n {row.name3}{' '}\r\n
\r\n \r\n {row.value3 || 'N/A'}\r\n \r\n
\r\n )}\r\n {row.name4 && (\r\n \r\n
\r\n {row.name4}{' '}\r\n
\r\n \r\n {row.value4 || 'N/A'}\r\n \r\n
\r\n )}\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllMileageLogById = async (Id) => {\r\n let res = await getWithAuth(`OdometerReadings?vehicleID=${Id}`);\r\n return res;\r\n};\r\n\r\nexport const postMileageLog = async (data) => {\r\n let res = await postWithAuth(`OdometerReadings`, data);\r\n return res;\r\n};\r\n\r\nexport const postBatteryLevels = async (data) => {\r\n let res = await postWithAuth(`BatteryLevels`, data);\r\n return res;\r\n};\r\n","import { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\nimport { DatePicker, InputText, NoButton, SecondaryButton, SelectBox, YesButton, SingleSelect } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport '../../../../commonStyle.scss';\r\nimport { getAllScheduleEvents, getAllScheduleDropdowns } from '../../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport { getSchedulesById, postSchedule } from '../../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\n\r\nconst ScheduleAddEdit = (props) => {\r\n const [state, setState] = useState({\r\n vehicleID: null,\r\n scheduleID: null,\r\n scheduleEventID: props.vehicleServiceScheduleID || '',\r\n scheduleDateDue: props.vehicleNextServiceDateDue || '',\r\n scheduleEndDate: '',\r\n scheduleMilesDue: props.vehicleNextServiceMileage || '',\r\n scheduleFirstEvent: '',\r\n dropList: [],\r\n serviceAgentsList: [],\r\n scheduleEventName: '',\r\n scheduleServiceAgentIDValue: null,\r\n scheduleServiceAgentID: props?.serviceAgentid\r\n });\r\n\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const pullDropList = async () => {\r\n let res = await getAllScheduleDropdowns(props.vehicleId);\r\n setState((st) => ({\r\n ...st,\r\n dropList: res.data.scheduleEvents,\r\n serviceAgentsList: res.data.serviceAgents,\r\n scheduleServiceAgentID: props.serviceAgentid\r\n }));\r\n };\r\n\r\n const pullSchedule = async () => {\r\n let res = await getSchedulesById(props.scheduleId);\r\n let temp = res.data;\r\n setState((st) => ({\r\n ...st,\r\n scheduleID: temp.scheduleID || null,\r\n vehicleID: temp.vehicleID || '',\r\n scheduleEventID: temp.scheduleEventID || '',\r\n scheduleDateDue: temp.scheduleDateDue || '',\r\n scheduleMilesDue: temp.scheduleMilesDue || '',\r\n scheduleFirstEvent: temp.scheduleFirstEvent || '',\r\n scheduleServiceAgentID: temp.scheduleServiceAgentID || '',\r\n scheduleEventName: temp.scheduleEventName,\r\n scheduleEndDate: temp.scheduleEndDate || ''\r\n }));\r\n };\r\n useEffect(() => {\r\n pullDropList();\r\n if (!props.isAdd) {\r\n pullSchedule();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n\r\n if (state.scheduleServiceAgentID && state.serviceAgentsList.length > 0) {\r\n newSt.scheduleServiceAgentIDValue = state.serviceAgentsList.find(({ id }) => id === state.scheduleServiceAgentID);\r\n }\r\n\r\n setState((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [state.scheduleServiceAgentID, state.serviceAgentsList]);\r\n\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n if (!/[^\\s]/.test(state.scheduleEventID)) {\r\n err.scheduleEventID = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.scheduleServiceAgentID)) {\r\n err.scheduleServiceAgentID = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.scheduleDateDue)) {\r\n err.scheduleDateDue = true;\r\n noErrors = false;\r\n }\r\n\r\n let temp = state.scheduleMilesDue;\r\n\r\n if (+temp < 0) {\r\n err.scheduleMilesDueN = true;\r\n noErrors = false;\r\n }\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n\r\n const handleData = async () => {\r\n if (validate()) {\r\n let response = await postSchedule({\r\n scheduleID: state.scheduleID || null,\r\n vehicleID: state.vehicleID || props.vehicleId,\r\n scheduleEventID: state.scheduleEventID || null,\r\n scheduleDateDue: state.scheduleDateDue || '',\r\n scheduleMilesDue: +state.scheduleMilesDue || null,\r\n // scheduleFirstEvent: state.scheduleFirstEvent || false,\r\n scheduleServiceAgentID: state.scheduleServiceAgentIDValue?.id,\r\n scheduleEndDate: state.scheduleEndDate\r\n });\r\n if (response) {\r\n response.success\r\n ? showToastSuccess(state.isAdd ? 'Vehicle Schedule added successfully' : 'Vehicle Schedule updated successfully')\r\n : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n props.onClose();\r\n }\r\n };\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n setErrors({});\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const yesNoClicked = (ev) => {\r\n if (ev.target.innerText == 'YES') {\r\n setState((st) => ({\r\n ...st,\r\n scheduleFirstEvent: true\r\n }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n scheduleFirstEvent: false\r\n }));\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n {!props.scheduleId ? (\r\n \r\n Schedule Event\r\n \r\n {errors.scheduleEventID ? 'This field is required' : null}\r\n \r\n ) : (\r\n \r\n Schedule Event\r\n \r\n \r\n )}\r\n \r\n First Date Due\r\n \r\n {errors.scheduleDateDue ? 'This field is required' : null}\r\n \r\n {true ? (\r\n \r\n Date End\r\n \r\n {errors.scheduleEndDate ? 'This field is required' : null}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n Miles Due\r\n \r\n {errors.scheduleMilesDueN ? 'Negative value not allowed' : null}\r\n \r\n\r\n {/* \r\n Is First Event?\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n\r\n \r\n Service Agent\r\n {/* */}\r\n \r\n {errors.scheduleServiceAgentID ? 'This field is required' : null}\r\n \r\n\r\n \r\n {props.isAdd ? 'ADD' : 'SAVE'}\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n );\r\n};\r\nexport default ScheduleAddEdit;\r\n","import { CircularProgress, Grid, InputLabel, Typography } from '@material-ui/core';\r\nimport React, { useState } from 'react';\r\nimport { CustomNewColorButton, CustomColorButton, formatters, SecondaryButton } from '../../../../Core/Controls';\r\nimport '../../../commonStyle.scss';\r\nimport { postSetVehicleMOTandTax, getVehicleMOTandTax } from '../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { useEffect } from 'react';\r\nimport { useLoader } from '../../../../Core/Hooks/useLoader';\r\n\r\nconst SetVehicleMOTTaxExpiryDate = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { showLoader, hideLoader } = useLoader();\r\n\r\n const [state, setState] = useState({\r\n motExpiryDate: null,\r\n taxExpiryDate: null,\r\n showLoader: true,\r\n msg: null\r\n });\r\n useEffect(async () => {\r\n let res = await getVehicleMOTandTax(props.vehicleId, props?.regNo);\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n motExpiryDate: res.data.motExpiryDate,\r\n taxExpiryDate: res.data.taxExpiryDate,\r\n taxStatus: res.data.taxStatus,\r\n msg: res?.data?.message || null,\r\n showLoader: false\r\n }));\r\n }\r\n }, []);\r\n const handleData = async () => {\r\n let data = {\r\n motExpiryDate: state.motExpiryDate,\r\n taxExpiryDate: state.taxExpiryDate,\r\n taxStatus: state.taxStatus,\r\n VehicleID: props.vehicleId\r\n };\r\n let res = await postSetVehicleMOTandTax(data);\r\n if (res.success) {\r\n showToastSuccess(res?.data?.message);\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res?.message || 'Something went wrong!');\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n {state.showLoader ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n Latest Dates from DVLA\r\n \r\n \r\n MOT Due Date \r\n {formatters.DateOnlyFormatter(state.motExpiryDate)}\r\n \r\n \r\n TAX Due\r\n {formatters.DateOnlyFormatter(state.taxExpiryDate)}\r\n \r\n\r\n {state.msg != null ? (\r\n <>\r\n \r\n \r\n {state.msg}\r\n \r\n \r\n \r\n Close\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n Do you want to update vehicle with the above dates from DVLA?\r\n \r\n \r\n \r\n \r\n Yes\r\n \r\n \r\n \r\n No\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SetVehicleMOTTaxExpiryDate;\r\n","import React, { useState } from 'react';\r\nimport { Table, TableBody, TableContainer, TableRow, Paper, TableCell } from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport '../controllerStyle.scss';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\r\nimport EventIcon from '@material-ui/icons/Event';\r\nimport moment from 'moment';\r\nimport ScheduleAdd from './ScheduleVehicle/scheduleVehicleAdd';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport SetVehicleMOTTaxExpiryDate from './setVehicleMOTTaxExpiryDate';\r\nexport const VehicleDetails = (props) => {\r\n const { dateFields, changeIndex, jobFields } = props;\r\n const [state, setSatate] = useState({ showScheduleAdd: false, showExpiryModal: false });\r\n\r\n const data = [\r\n {\r\n name1: 'MOT Expiry',\r\n value1: `${dateFields.motExpiry}`,\r\n showExpiryBtn: true\r\n },\r\n {\r\n name1: 'Tax Due Date',\r\n value1: `${dateFields.taxDue}`,\r\n showExpiryBtn: true\r\n },\r\n {\r\n name1: 'Insurance Renewal Date',\r\n value1: `${dateFields.insuranceRenewalDate}`\r\n },\r\n {\r\n name1: 'Next Inspection Date',\r\n value1: `${dateFields.vehicleNextInspectionDate}`\r\n },\r\n {\r\n name1: 'Next Service',\r\n value1: `${dateFields.vehicleNextServiceDateDue}`,\r\n value2: `${dateFields.vehicleNextServiceMileage}`,\r\n showPopup: true\r\n }\r\n ];\r\n\r\n const handlePopup = (name, val) => {\r\n setSatate((st) => ({ ...st, [name]: val }));\r\n };\r\n const closeModal = (res) => {\r\n setSatate((st) => ({ ...st, showExpiryModal: false }));\r\n res && props.onFormSubmit(res);\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n {props.tableHeader}\r\n
\r\n \r\n \r\n \r\n Recalls Outstanding\r\n \r\n {dateFields.activeRecallCount ? dateFields.activeRecallCount : 'None'}{' '}\r\n \r\n \r\n {\r\n changeIndex(13);\r\n }}\r\n />\r\n \r\n \r\n {data?.map((row) => {\r\n let notifyColor = '';\r\n let textCol = 'black';\r\n let todayDate = moment().format();\r\n let date1 = new Date(todayDate);\r\n let date2 = new Date(row.value1);\r\n let diffDays = parseInt((date2 - date1) / (1000 * 60 * 60 * 24), 10);\r\n if (diffDays >= 14) {\r\n notifyColor = '#dff0d8';\r\n } else if (\r\n diffDays <= 0 ||\r\n (row.name1 === 'Next Service' && jobFields.vehicleLatestMileage > dateFields.vehicleNextServiceMileage)\r\n ) {\r\n notifyColor = 'rgba(255, 8, 0,0.6)';\r\n textCol = 'white';\r\n } else if (diffDays > 0) {\r\n notifyColor = 'rgba(255,191,0,0.6)';\r\n textCol = 'white';\r\n } else {\r\n textCol = 'white';\r\n }\r\n return (\r\n \r\n {row.name1}\r\n \r\n {row.value1 ? (\r\n <>\r\n {moment(row.value1).format('DD/MM/YYYY')}\r\n {row.value2 ? `/${row.value2}miles` : ''}\r\n \r\n ) : (\r\n 'No Date Found'\r\n )}\r\n \r\n \r\n {row.showExpiryBtn && (\r\n handlePopup('showExpiryModal', true)}\r\n />\r\n )}\r\n {row.showPopup ? (\r\n handlePopup('showScheduleAdd', true)}\r\n />\r\n ) : (\r\n {\r\n changeIndex(5);\r\n }}\r\n />\r\n )}\r\n \r\n \r\n );\r\n })}\r\n {data?.length <= 0 && (\r\n \r\n \r\n No upcoming events\r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {state.showScheduleAdd ? (\r\n handlePopup('showScheduleAdd', false)}\r\n title=\"Add Schedule\"\r\n maxWidth=\"sm\"\r\n // name=\"addEdit\"\r\n >\r\n handlePopup('showScheduleAdd', false)}\r\n />\r\n \r\n ) : null}\r\n {state.showExpiryModal ? (\r\n handlePopup('showExpiryModal', false)} title=\"DVLA MOT & Tax Dates\" maxWidth=\"sm\">\r\n handlePopup('showExpiryModal', false)}\r\n vehicleId={dateFields.vehicleID}\r\n onFormSubmit={closeModal}\r\n regNo={props.regNo}\r\n />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default VehicleDetails;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getDriverList = async (id) => {\r\n let res = await getWithAuth(`VehicleDriverHistory/GetDetails?VehicleID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getDriverHistoryList = async (id) => {\r\n let res = await getWithAuth(`VehicleDriverHistory?VehicleID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const postDriverMilege = async (data) => {\r\n let res = await postWithAuth(`VehicleDriverHistory`, data);\r\n return res;\r\n};\r\n\r\nexport const postDriverCheckIn = async (data) => {\r\n let res = await postWithAuth(`DriverCheckIn`, data);\r\n return res;\r\n};\r\n\r\nexport const postDriverCheckOut = async (data) => {\r\n let res = await postWithAuth(`DriverCheckIn/VehicleDriverCheckOut`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Table, TableBody, TableContainer, TableRow, Paper, TableCell, Typography, FormHelperText, InputLabel } from '@material-ui/core';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport { Link } from 'react-router-dom';\r\nimport { InputText, SecondaryButton, SelectBox, CustomChip, MandatoryField, DatePicker } from '../../../../../Core/Controls';\r\nimport { postDriverMilege, getDriverList } from '../../../../../Core/Services/InternalUser/Vehicle/driverInfoService';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\n\r\nconst gridStyle = {\r\n title: {\r\n color: '#f50057'\r\n },\r\n header: {\r\n border: '1px solid rgba(0,0,0,0.2)'\r\n },\r\n tbHead: {\r\n padding: '5px 0px 6px 8px'\r\n },\r\n tbContent: {\r\n margin: '8px 0px 14px 0px;'\r\n }\r\n};\r\n\r\nexport default function DriverVehicleModal(props) {\r\n const [state, setState] = useState({\r\n customerID: null,\r\n driverList: [],\r\n vehicleDriverHistoryID: null,\r\n historyList: null,\r\n vehicleDriverHistoryDriverID: null\r\n });\r\n const [error, setError] = useState({});\r\n\r\n useEffect(async () => {\r\n if (props.vehicleID) {\r\n let res = await getDriverList(props.vehicleID);\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n historyList: res.data.vehicleDriverHistory[0]?.vehicleDriverHistoryID,\r\n driverList: res.data.details.map((m) => ({\r\n id: m.driverID,\r\n name: m.driver\r\n }))\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const validate = () => {\r\n let errors = {};\r\n let isValid = true;\r\n\r\n if (!state.vehicleDriverHistoryDriverID) {\r\n errors.driver = 'Driver is Required';\r\n isValid = false;\r\n }\r\n if (!state.date) {\r\n errors.date = 'Date Change is required';\r\n isValid = false;\r\n }\r\n if (!state.mileage) {\r\n errors.mileage = 'Mileage is required';\r\n isValid = false;\r\n }\r\n setError(errors);\r\n return isValid;\r\n };\r\n\r\n const inputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n const handelSubmit = async () => {\r\n if (validate()) {\r\n let data = {\r\n vehicleDriverHistoryID: state.historyList ? state.historyList : null,\r\n vehicleDriverHistoryVehicleID: props.vehicleID,\r\n vehicleDriverHistoryDriverID: state.vehicleDriverHistoryDriverID,\r\n vehicleDriverHistoryDateAssigned: state.date,\r\n vehicleDriverHistoryMileageAssigned: state.mileage\r\n };\r\n let submutRes = await postDriverMilege(data);\r\n if (submutRes.success) {\r\n showToastSuccess('Vehicle Driver Added Successfully');\r\n props.onClose();\r\n } else {\r\n showToastError(submutRes.message);\r\n // props.onClose();\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n Driver\r\n \r\n \r\n {error.driver}\r\n \r\n \r\n \r\n Date of Change\r\n \r\n \r\n {error.date}\r\n \r\n \r\n \r\n \r\n \r\n If this driver is assigned to another vehicle, they will be removed from that vehicle \r\n \r\n \r\n Link Driver\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Table, TableBody, TableContainer, TableRow, Paper, TableCell, Typography, TableHead, CircularProgress } from '@material-ui/core';\r\nimport moment from 'moment';\r\nimport { Link } from 'react-router-dom';\r\nimport { getDriverHistoryList } from '../../../../../Core/Services/InternalUser/Vehicle/driverInfoService';\r\n\r\nexport default function DriverHistory(props) {\r\n const [state, setState] = useState({\r\n rows: [],\r\n showLoader: true\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.vehicleID) {\r\n let res = await getDriverHistoryList(props.vehicleID);\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n rows: res.data.drivers,\r\n showLoader: false\r\n }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n showLoader: false\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n \r\n {state.showLoader ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n \r\n Driver\r\n From\r\n To\r\n \r\n \r\n\r\n \r\n {state.rows?.map((row) => {\r\n return (\r\n \r\n \r\n {' '}\r\n \r\n {row.driver}\r\n \r\n \r\n {row.assigned ? row.assigned : 'N/A'}\r\n {row.removed ? row.removed : 'N/A'}\r\n \r\n );\r\n })}\r\n \r\n
\r\n {state.rows?.length <= 0 &&
No History found
}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Table, TableBody, TableContainer, TableRow, Paper, TableCell, Typography, TableHead } from '@material-ui/core';\r\nimport moment from 'moment';\r\n\r\n// import { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport LocalOfferIcon from '@material-ui/icons/LocalOffer';\r\nimport { Link } from 'react-router-dom';\r\nimport { CustomChip } from '../../../../../Core/Controls';\r\nimport DriverVehicleModal from './manageDriver';\r\nimport DriverHistory from './driverHistory';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\n\r\nconst gridStyle = {\r\n title: {\r\n color: '#f50057'\r\n },\r\n header: {\r\n borderBottom: '1px solid rgba(0,0,0,0.2)'\r\n },\r\n tbHead: {\r\n padding: '5px 0px 6px 8px'\r\n },\r\n tbContent: {\r\n margin: '8px 0px 14px 0px;'\r\n }\r\n};\r\n\r\nexport const DriverInfo = (props) => {\r\n const [state, setState] = useState({\r\n showHistory: false,\r\n showManageDriver: false,\r\n driverList: []\r\n });\r\n\r\n const openModal = (params) => {\r\n setState((st) => ({\r\n ...st,\r\n [params]: !st[params]\r\n }));\r\n };\r\n\r\n return (\r\n
\r\n {state.showHistory && (\r\n openModal('showHistory')} maxWidth=\"sm\">\r\n \r\n \r\n )}\r\n {state.showManageDriver && (\r\n openModal('showManageDriver')} maxWidth=\"sm\">\r\n openModal('showManageDriver')} />\r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Driver\r\n \r\n \r\n\r\n \r\n {/* */}\r\n
\r\n openModal('showManageDriver')}\r\n />\r\n openModal('showHistory')}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {' '}\r\n Driver Name\r\n \r\n\r\n \r\n {props.driver ? (\r\n \r\n {props.driver}\r\n \r\n ) : (\r\n 'There is no driver assigned for this vehicle'\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 { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getDriverVehicleCheck = async (id) => {\r\n let res = await getWithAuth(`DriverDailyCheck/List?VehicleID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getvehiclecheckchecksById = async (id) => {\r\n let res = await getWithAuth(`DriverDailyCheck/AddScreenDetails/${id}`);\r\n return res;\r\n};\r\n\r\nexport const getEditDriverChekssById = async (id) => {\r\n let res = await getWithAuth(`DriverDailyCheck/EditScreenDetails/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postvehiclecheckchecksData = async (data) => {\r\n let res = await postWithAuth(`DriverDailyCheck`, data);\r\n return res;\r\n};\r\nexport const PostImage = async (data) => {\r\n let res = await postWithAuth(`VehicleDailyCheckPhoto`, data);\r\n return res;\r\n};\r\nexport const getImageByID = async (id) => {\r\n let res = await getWithAuth(`VehicleDailyCheckPhoto/${id}`);\r\n return res;\r\n};\r\n\r\nexport const DeleteImageByID = async (id) => {\r\n let res = await postWithAuth(`VehicleInspectionsPhoto/Delete/${id}`);\r\n};\r\n","import React from 'react';\r\n// import { s3URL } from './../../Constants/constants';\r\nconst selfBgCss = {\r\n backgroundSize: 'cover',\r\n backgroundRepeat: 'no-repeat',\r\n backgroundPosition: 'center',\r\n filter: 'blur(8px)',\r\n opacity: '0.5',\r\n height: '100%',\r\n width: '100%',\r\n position: 'absolute',\r\n top: 0,\r\n left: 0\r\n};\r\nconst ImageCard = ({ avtar, selfBg }) => {\r\n if (avtar) {\r\n return (\r\n
\r\n {/* {selfBg &&
} */}\r\n \"wheel\"\r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n};\r\n\r\nexport default ImageCard;\r\n","import React, { useState, useEffect } from 'react';\r\nimport ImageUploading from 'react-images-uploading';\r\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\r\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\r\nimport './imageModal.scss';\r\n\r\nimport {\r\n Grid,\r\n Paper,\r\n InputLabel,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n Button,\r\n Typography,\r\n Tooltip,\r\n CircularProgress,\r\n FormHelperText,\r\n Badge\r\n} from '@material-ui/core';\r\nimport BackupIcon from '@material-ui/icons/Backup';\r\nimport { SecondaryButton, PrimaryButton, MandatoryField } from '../../../../../Core/Controls';\r\nimport ImageCard from './imageCard';\r\nimport IndeterminateCheckBoxIcon from '@material-ui/icons/IndeterminateCheckBox';\r\nimport RemoveCircleIcon from '@material-ui/icons/RemoveCircle';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport DeleteSweepIcon from '@material-ui/icons/DeleteSweep';\r\nimport { useWindowSize } from '../../../../../Core/Hooks/useWindowSize';\r\n\r\nconst ImageModal = (props) => {\r\n const [windowWidth, windowHeight] = useWindowSize();\r\n\r\n useEffect(() => {\r\n if (props.images?.length == 0) {\r\n setImage();\r\n }\r\n }, [props.images]);\r\n\r\n const [image, setImage] = useState();\r\n\r\n const scrollNext = (id) => {\r\n document.getElementById('slider-scroll').scrollBy({ left: 100, top: 0, behavior: 'smooth' });\r\n // smoothscroll.polyfill();\r\n };\r\n\r\n const scrollPrev = (id) => {\r\n document.getElementById('slider-scroll').scrollBy({ left: -100, top: 0, behavior: 'smooth' });\r\n // smoothscroll.polyfill();\r\n };\r\n\r\n const setCurrentImage = (image) => {\r\n setImage(image);\r\n };\r\n\r\n const TitleComp = (props) => (\r\n
\r\n
Upload Image {props.inspectionDesc}
\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 {({ imageList, onImageUpload, onImageRemoveAll, onImageUpdate, onImageRemove }) => {\r\n return (\r\n }\r\n onClose={props.onClose}\r\n maxWidth=\"md\"\r\n fullWidth\r\n className=\"dialog-container\"\r\n >\r\n
\r\n {props.disabled ? null : (\r\n
\r\n \r\n  \r\n
\r\n )}\r\n {imageList.length > 0 ? (\r\n \r\n ) : (\r\n
\r\n No image found\r\n
\r\n )}\r\n
\r\n
\r\n {imageList.map((im, i) => (\r\n \r\n {props.disabled ? null : (\r\n \r\n onImageRemove(i)} style={{ fill: '#f44336', cursor: 'pointer' }} />\r\n \r\n )}\r\n setCurrentImage(im)} src={im} />\r\n \r\n ))}\r\n
\r\n scrollPrev()}>\r\n \r\n \r\n scrollNext()}>\r\n \r\n \r\n
\r\n
\r\n
\r\n {props.disabled ? null : (\r\n
\r\n Submit\r\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 ImageModal;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport {\r\n FailButton,\r\n InputText,\r\n MandatoryField,\r\n NAButton,\r\n PassButton,\r\n SecondaryButton,\r\n SelectBox,\r\n MButton,\r\n UploadWithBadge\r\n} from '../../../../../Core/Controls';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport {\r\n Grid,\r\n Paper,\r\n InputLabel,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n Button,\r\n Typography,\r\n Tooltip,\r\n CircularProgress,\r\n FormHelperText,\r\n Badge\r\n} from '@material-ui/core';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport SignaturePad from 'react-signature-canvas';\r\nimport '../../controllerStyle.scss';\r\nimport { getVehicleById } from '../../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { getvehiclecheckchecksById, postvehiclecheckchecksData } from '../../../../../Core/Services/InternalUser/Vehicle/driverVehicle';\r\nimport moment from 'moment';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { getTitleData } from '../../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { BreadCrumbs } from '../../../../../Core/Controls';\r\nimport ImageModal from './imageModal';\r\nimport { useWindowSize } from '../../../../../Core/Hooks/useWindowSize';\r\nimport { DeleteImageByID } from '../../../../../Core/Services/InternalUser/Vehicle/driverVehicle';\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '8px 20px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '8px 20px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\nconst useStyles = makeStyles((theme) => ({\r\n title: {\r\n fontSize: '25px',\r\n color: '#f50057',\r\n fontWeight: 600,\r\n paddingLeft: 9\r\n },\r\n loader: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: 300\r\n },\r\n sign: {\r\n border: '1px solid grey',\r\n height: 240\r\n }\r\n}));\r\n\r\nconst CheckButtons = {\r\n 1: PassButton,\r\n 2: FailButton,\r\n 3: NAButton,\r\n 5: MButton,\r\n 6: UploadWithBadge\r\n};\r\n\r\nconst DriverDailyChecks = (props) => {\r\n const [width, height] = useWindowSize();\r\n const maxNumber = 69;\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { displayName } = useLoginInfo();\r\n const classes = useStyles();\r\n const [state, setState] = useState({\r\n vehicleID: props.VehicleID,\r\n date: moment().format('DD-MM-YYYY'),\r\n vehicleDailyCheckDateStarted: moment().format('YYYY-MM-DD HH:mm:ss'),\r\n vehicleDailyCheckCheckTypeID: 1,\r\n vehicleDailyCheckStatusId: null,\r\n vehicleDailyCheckDateExpire: null,\r\n vehicleDailyCheckDriverComment: '',\r\n vehicleDailyCheckDriverId: null,\r\n vehicleDailyCheckId: null,\r\n selectAll: false,\r\n signAvailable: AppStorage.getSignature() === 'absent' ? false : true,\r\n vehicleDailyCheckCheckerName: displayName,\r\n desc: '',\r\n imageUpload: []\r\n });\r\n\r\n const { userRoles } = useLoginInfo();\r\n // const isDriver = userRoles.includes('driver');\r\n\r\n useEffect(async () => {\r\n if (props.VehicleID) {\r\n let res2 = await getVehicleById(props.VehicleID);\r\n if (res2.success) {\r\n const data = res2.data;\r\n setState((st) => ({\r\n ...st,\r\n regNumber: data.vehicleRegNumber,\r\n modelID: data.vehicleModel,\r\n makeID: data.vehicleMake\r\n }));\r\n }\r\n let res = await getvehiclecheckchecksById(props.VehicleID);\r\n if (res.success) {\r\n const reportedUser = res.data.reportedUser.map((x) => ({\r\n id: x.id,\r\n name: x.name\r\n }));\r\n const checkType = res.data.dailyCheckTypes.map((m) => ({\r\n id: m.id,\r\n name: m.name\r\n }));\r\n const checkQueList = res.data.driverDailyCheckCheckSections;\r\n const checkOptions = res.data.driverDailyCheckOptions;\r\n\r\n setState((st) => ({\r\n ...st,\r\n checklist: checkQueList,\r\n checkOptions: checkOptions,\r\n checkType: checkType,\r\n reportedUser: reportedUser\r\n }));\r\n }\r\n }\r\n pullDetails();\r\n }, []);\r\n\r\n const pullDetails = async () => {\r\n let res = await getTitleData(props.VehicleID);\r\n if (res.success) {\r\n let data = res.data.details[0];\r\n setState((st) => ({\r\n ...st,\r\n desc: data?.vehicleDescription\r\n // vorID: data?.vorVehicleID,\r\n // loader: false,\r\n // regNumber: data?.vehicleDescription.split('-')[0].trim()\r\n }));\r\n }\r\n };\r\n\r\n const handleButton = (id) => {\r\n setState((st) => ({\r\n ...st,\r\n vehicleDailyCheckCheckTypeID: id\r\n }));\r\n };\r\n\r\n const signCanvas = useRef({});\r\n const clear = () => {\r\n if (state.imgtechniciansign) {\r\n setState((st) => ({\r\n ...st,\r\n imgtechniciansign: false,\r\n techniciansign: null\r\n }));\r\n } else {\r\n signCanvas.current.clear();\r\n }\r\n };\r\n\r\n const GetTechnicianSign = () => {\r\n let fields = state.fields;\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n techniciansign: signCanvas.current.toDataURL(),\r\n fields: fields\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleInputs = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({\r\n ...st,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const checkAll = (passId) => (e) => {\r\n const c = e.target.checked;\r\n setState((st) => {\r\n const newSt = { ...st };\r\n newSt.selectAll = true;\r\n newSt.checklist.map((x) => {\r\n x.vehicleDailyCheckResultsVehicleDailyCheckOptionId = c ? passId : undefined;\r\n });\r\n\r\n newSt.checklist = [...newSt.checklist];\r\n return newSt;\r\n });\r\n };\r\n\r\n const handleButtonChange = (buttonVal, checkId) => {\r\n let changedArray = [...state.checklist];\r\n let objIndex = state.checklist.findIndex((x) => x.dailyCheckSectionID === checkId);\r\n changedArray[objIndex].vehicleDailyCheckResultsVehicleDailyCheckOptionId = buttonVal;\r\n let val = changedArray.filter((c) => c.vehicleDailyCheckResultsVehicleDailyCheckOptionId !== 1).length === 0;\r\n setState((st) => ({ ...st, checklist: changedArray, selectAll: val }));\r\n };\r\n\r\n const handleNote = (id) => (e) => {\r\n let changedArray = [...state.checklist];\r\n let objIndex = state.checklist.findIndex((x) => x.dailyCheckSectionID === id);\r\n changedArray[objIndex][e.target.name] = e.target.value;\r\n setState((st) => ({ ...st, checklist: changedArray }));\r\n };\r\n\r\n const useDefaultSig = () => {\r\n setState((st) => ({ ...st, imgtechniciansign: true, techniciansign: AppStorage.getSignature() }));\r\n };\r\n\r\n const validations = () => {\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!state.vehicleDailyCheckReportedUserID) {\r\n errors.vehicleDailyCheckReportedUserID = 'Reported User is required';\r\n formIsValid = false;\r\n }\r\n if (!state.vehicleDailyCheckMileage) {\r\n errors.vehicleDailyCheckMileage = `Odometer Reading  is required`;\r\n formIsValid = false;\r\n }\r\n if (!state.vehicleDailyCheckDriverName) {\r\n errors.vehicleDailyCheckDriverName = 'Driver Name is required';\r\n formIsValid = false;\r\n }\r\n if (!state.techniciansign) {\r\n errors.techniciansign = 'Driver/Checker Signature is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors: errors\r\n }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n let driverDailyCheckResultsVM = state.checklist.map((m) => ({\r\n vehicleDailyCheckSectionID: m.dailyCheckSectionID ? m.dailyCheckSectionID : null,\r\n vehicleDailyCheckResultsVehicleDailyCheckOptionId: m.vehicleDailyCheckResultsVehicleDailyCheckOptionId\r\n ? m.vehicleDailyCheckResultsVehicleDailyCheckOptionId\r\n : null,\r\n vehicleDailyCheckResultsNotes: m.vehicleDailyCheckResultsNotes ? m.vehicleDailyCheckResultsNotes : null,\r\n vehicleDailyCheckResultsAssesementNotes: m.vehicleDailyCheckResultsAssesementNotes ? m.vehicleDailyCheckResultsAssesementNotes : null,\r\n vehicleDailyCheckResultsDefectID: m.vehicleDailyCheckResultsDefectID ? m.vehicleDailyCheckResultsDefectID : null,\r\n vehicleDailyCheckResultsStatusId: m.vehicleDailyCheckResultsStatusId ? m.vehicleDailyCheckResultsStatusId : null\r\n }));\r\n if (validations()) {\r\n let formData = {\r\n vehicleID: state.vehicleID,\r\n vehicleDailyCheckId: state.vehicleDailyCheckId,\r\n vehicleDailyCheckStatusId: state.vehicleDailyCheckStatusId,\r\n vehicleDailyCheckCheckTypeID: state.vehicleDailyCheckCheckTypeID,\r\n vehicleDailyCheckDateStarted: state.vehicleDailyCheckDateStarted,\r\n vehicleDailyCheckDateExpire: state.vehicleDailyCheckDateExpire,\r\n vehicleDailyCheckReportedUserID: state.vehicleDailyCheckReportedUserID,\r\n vehicleDailyCheckDriverName: state.vehicleDailyCheckDriverName,\r\n vehicleDailyCheckDriverId: state.vehicleDailyCheckDriverId,\r\n vehicleDailyCheckMileage: state.vehicleDailyCheckMileage,\r\n vehicleDailyCheckDriverComment: state.vehicleDailyCheckDriverComment,\r\n vehicleDailyCheckCheckerName: state.vehicleDailyCheckCheckerName,\r\n driverDailyCheckResultsVM: driverDailyCheckResultsVM,\r\n vehicleDailyCheckCreatorSignature: state.techniciansign,\r\n driverDailyCheckPhotoVM: state.imageUpload\r\n };\r\n let res = await postvehiclecheckchecksData(formData);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n // props.onClose(false);\r\n }\r\n }\r\n };\r\n\r\n const sumbitImage = () => {\r\n if (state.selectedImages.length > 0) {\r\n let changedArray = [...state.checklist];\r\n let objIndex = state.checklist.findIndex((x) => x.dailyCheckSectionID === state.checkSectionId);\r\n changedArray[objIndex].basicCount = changedArray[objIndex].images.length;\r\n showToastSuccess('image Uploaded successfully');\r\n setState((st) => ({\r\n ...st,\r\n show: false,\r\n checklist: changedArray\r\n }));\r\n showToastSuccess('Images Uploaded successfully');\r\n }\r\n // setState((st) => ({ ...st, show: false }));\r\n };\r\n\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: `Vehicles`, onClick: props.onClose, path: '/', active: true },\r\n { name: `Add Checks`, path: '/', active: true }\r\n ];\r\n\r\n const imageHanlder = (checkSectionId) => {\r\n let changedArray = [...state.checklist];\r\n let objIndex = state.checklist.findIndex((x) => x.dailyCheckSectionID === checkSectionId);\r\n setState((st) => ({ ...st, show: true, checkSectionId: checkSectionId, selectedImages: changedArray[objIndex].images || [] }));\r\n };\r\n\r\n const onImageChange = (imageList, addUpdateIndex) => {\r\n let changedArray = [...state.checklist];\r\n let FilterimagesList;\r\n let objIndex = state.checklist.findIndex((x) => x.dailyCheckSectionID === state.checkSectionId);\r\n\r\n if (`${objIndex}`) {\r\n FilterimagesList = imageList.map((m) => (m.data_url ? m.data_url : m));\r\n changedArray[objIndex].images = FilterimagesList;\r\n }\r\n\r\n let tempArray = [...state.imageUpload];\r\n tempArray.push({ inspectionSheetCheckCheckID: state.checkSectionId, inspectionSheetCheckPhotos: FilterimagesList });\r\n\r\n setState((st) => ({ ...st, checklist: changedArray, selectedImages: FilterimagesList, imageUpload: tempArray }));\r\n };\r\n\r\n return (\r\n
\r\n {!props.VehicleID && }\r\n {state.desc ? (\r\n \r\n {/* Disabled fields........... */}\r\n {/* {isDriver ? (\r\n \r\n {state.desc?.toUpperCase() || ''}\r\n \r\n ) : null} */}\r\n\r\n {/* Checks quetion table.......... */}\r\n \r\n \r\n \r\n {/* Check Type */}\r\n {/* {state.desc?.toUpperCase() || ''} */}\r\n\r\n {state.checkType.map((m) => {\r\n return (\r\n handleButton(m.id)}\r\n >\r\n {m.name}\r\n \r\n );\r\n })}\r\n \r\n {state.date}\r\n \r\n
\r\n \r\n \r\n \r\n {width > 560 && Check}\r\n {width < 771 ? (\r\n \r\n \r\n {width > 560 ? 'Action' : 'Checks'}\r\n \r\n ) : (\r\n <>\r\n {state.checkOptions.map((m) => {\r\n return (\r\n \r\n {m.vehicleDailyCheckOptionDescription.toLowerCase() === 'pass' ? (\r\n \r\n ) : (\r\n ''\r\n )}\r\n {m.vehicleDailyCheckOptionDescription}\r\n \r\n );\r\n })}\r\n \r\n Upload\r\n \r\n \r\n Notes/Defect\r\n \r\n \r\n )}\r\n \r\n \r\n\r\n \r\n {state.checklist.map((x) => {\r\n return (\r\n \r\n {width > 560 && {x.dailyCheckSectionDescription}}\r\n\r\n {width < 771 ? (\r\n \r\n \r\n {width < 560 && (\r\n \r\n {x.dailyCheckSectionDescription}\r\n \r\n )}\r\n \r\n <>\r\n {state.checkOptions.map((m) => {\r\n const Comp = CheckButtons[m.vehicleDailyCheckOptionId] || Button;\r\n return (\r\n \r\n handleButtonChange(m.vehicleDailyCheckOptionId, x.dailyCheckSectionID)\r\n }\r\n state={\r\n x.vehicleDailyCheckResultsVehicleDailyCheckOptionId ===\r\n m.vehicleDailyCheckOptionId\r\n }\r\n >\r\n {m.vehicleDailyCheckOptionDescription[0]}\r\n \r\n );\r\n })}\r\n 0}\r\n onClick={() => imageHanlder(x.dailyCheckSectionID)}\r\n style={{ marginLeft: '2px' }}\r\n />\r\n \r\n \r\n\r\n \r\n {' '}\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n {state.checkOptions.map((m) => {\r\n const Comp = CheckButtons[m.vehicleDailyCheckOptionId] || Button;\r\n return (\r\n \r\n handleButtonChange(m.vehicleDailyCheckOptionId, x.dailyCheckSectionID)}\r\n state={\r\n x.vehicleDailyCheckResultsVehicleDailyCheckOptionId === m.vehicleDailyCheckOptionId\r\n }\r\n >\r\n {m.vehicleDailyCheckOptionDescription[0]}\r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n 0}\r\n onClick={() => imageHanlder(x.dailyCheckSectionID)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n \r\n {/*driver details...................*/}\r\n \r\n \r\n \r\n \r\n \r\n Defect Reported to *\r\n \r\n \r\n {state.errors?.vehicleDailyCheckReportedUserID}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Checker Name\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n Driver/Checker Signature\r\n {state.signAvailable ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {state.imgtechniciansign ? (\r\n
\r\n \"my\r\n
\r\n ) : (\r\n
\r\n {\r\n GetTechnicianSign();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {state.errors?.techniciansign}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Submit\r\n \r\n \r\n props.onClose()}>Cancel\r\n \r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n {state.show ? (\r\n // setState((st) => ({ ...st, show: false }))} maxWidth=\"lg\">\r\n setState((st) => ({ ...st, show: false }))}\r\n maxNumber={maxNumber}\r\n />\r\n ) : // \r\n null}\r\n \r\n );\r\n};\r\n\r\nexport default DriverDailyChecks;\r\n","import React, { useState } from 'react';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryButton } from '../../../../../Core/Controls';\r\nimport { MandatoryPositiveInput } from '../../../../../Core/Controls/Inputs/PositiveInput';\r\nimport { FormHelperText, InputLabel, Table, TableBody, Hidden, TableContainer, Typography, TableRow, Paper, TableCell } from '@material-ui/core';\r\nimport { DatePicker } from '../../../../../Core/Controls';\r\nimport { postBatteryLevels } from '../../../../../Core/Services/InternalUser/ControllerService/mileageLogService';\r\nimport moment from 'moment';\r\n\r\nconst gridStyle = {\r\n title: {\r\n color: '#f50057'\r\n },\r\n header: {\r\n borderBottom: '1px solid rgba(0,0,0,0.2)'\r\n },\r\n tbHead: {\r\n padding: '5px 0px 6px 8px'\r\n }\r\n};\r\nconst AddBatteryLevels = (props) => {\r\n const { vehicleLevelOfCharge, vehicleStateOfCharge, vehicleBatteryLevelDate } = props.otherFields;\r\n const [state, setState] = useState({\r\n batteryLevelID: null,\r\n batteryLevelVehicleID: props.vehicleID,\r\n batteryLevelDate: '',\r\n batteryLevelOfCharge: '',\r\n batteryLevelStateOfCharge: '',\r\n date: moment().format('YYYY-MM-DD')\r\n });\r\n const [error, setError] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const validate = () => {\r\n let errors = {};\r\n let isValid = true;\r\n const { batteryLevelDate, batteryLevelOfCharge } = state;\r\n if (!/[^\\s]/.test(batteryLevelDate)) {\r\n errors.batteryLevelDate = 'Reading date is required';\r\n isValid = false;\r\n }\r\n if (+batteryLevelOfCharge < 0) {\r\n errors.batteryLevelOfCharge = 'Odometer reading can not be negative';\r\n isValid = false;\r\n }\r\n if (!/[^\\s]/.test(batteryLevelOfCharge)) {\r\n errors.batteryLevelOfCharge = 'Odometer reading is required';\r\n isValid = false;\r\n }\r\n setError(errors);\r\n return isValid;\r\n };\r\n\r\n const handleData = async () => {\r\n if (validate()) {\r\n let res = await postBatteryLevels({\r\n batteryLevelID: state.batteryLevelID,\r\n batteryLevelVehicleID: state.batteryLevelVehicleID,\r\n batteryLevelDate: state.batteryLevelDate,\r\n batteryLevelOfCharge: +state.batteryLevelOfCharge,\r\n batteryLevelStateOfCharge: state.batteryLevelStateOfCharge,\r\n batteryLevelCaptureSource: 'Manual Entry',\r\n batteryLevelActive: true\r\n });\r\n if (res.success) {\r\n showToastSuccess('Battery level added sucessfully');\r\n props.reloadData(props.VehicleID);\r\n setState((state) => ({\r\n ...state,\r\n batteryLevelDate: '',\r\n batteryLevelOfCharge: '',\r\n batteryLevelStateOfCharge: ''\r\n }));\r\n } else {\r\n showToastError(res?.message || 'Something went wrong!');\r\n setState((state) => ({\r\n ...state,\r\n batteryLevelDate: '',\r\n batteryLevelOfCharge: ''\r\n }));\r\n }\r\n }\r\n };\r\n\r\n const inputChange = (event) => {\r\n const { name, value } = event.target;\r\n if (name == 'batteryLevelOfCharge' || name == ' batteryLevelStateOfCharge') {\r\n if (value == 0 || value <= 99) {\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n }\r\n } else {\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\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 Battery Level\r\n \r\n \r\n\r\n \r\n \r\n Latest Battery Levels {vehicleLevelOfCharge || 0}% (level of charge) / {vehicleStateOfCharge || 0}% (state of\r\n charge)\r\n {vehicleBatteryLevelDate != 'N/A' ? (\r\n vehicleBatteryLevelDate ? (\r\n on {moment(vehicleBatteryLevelDate).format('DD/MM/YYYY')} \r\n ) : (\r\n 'Data not recorded'\r\n )\r\n ) : (\r\n ' Data not recorded'\r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n {error.batteryLevelDate}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {'\\u{2800}'}\r\n Add\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date\r\n \r\n \r\n {error.batteryLevelDate}\r\n \r\n \r\n
\r\n {'\\u{2800}'}\r\n Add\r\n
\r\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 AddBatteryLevels;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getEndUserByID = async (Id) => {\r\n let res = await getWithAuth(`endusers/${Id}`);\r\n return res;\r\n};\r\nexport const getEndUserById = async (Id) => {\r\n let res = await getWithAuth(`endusers/CustomerID=${Id}`);\r\n return res;\r\n};\r\n\r\nexport const postEndUser = async (data) => {\r\n let res = await postWithAuth('endusers', data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, Typography } from '@material-ui/core';\r\nimport { getServiceAgentById } from '../../../../Core/Services/InternalUser/ServiceAgent/serviceAgentService';\r\nimport { formatters } from '../../../../Core/Controls';\r\nimport { getEndUserByID } from '../../../../Core/Services/InternalUser/ControllerService/endUserService';\r\nimport { CircularProgress } from '@material-ui/core';\r\n\r\nfunction EndUserDetails(props) {\r\n const [state, setState] = useState({\r\n endUserID: '',\r\n endUserCustomerID: '',\r\n endUserName: '',\r\n endUserAddress1: '',\r\n endUserAddress2: '',\r\n endUserTown: '',\r\n endUserCounty: '',\r\n endUserCountryCode: '',\r\n endUserPostCode: '',\r\n endUserContactName: '',\r\n endUserContactPhone: '',\r\n endUserContactEmail: ''\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.endUserID) {\r\n let res = await getEndUserByID(props.endUserID);\r\n if (res.success) {\r\n const data = res.data.list[0];\r\n setState((st) => ({\r\n ...st,\r\n endUserID: data.endUserID,\r\n endUserCustomerID: data.endUserCustomerID,\r\n endUserName: data.endUserName,\r\n endUserAddress1: data.endUserAddress1,\r\n endUserAddress2: data.endUserAddress2,\r\n endUserTown: data.endUserTown,\r\n endUserCounty: data.endUserCounty,\r\n endUserCountryCode: data.endUserCountryCode,\r\n endUserPostCode: data.endUserPostCode,\r\n endUserContactName: data.endUserContactName,\r\n endUserContactPhone: data.endUserContactPhone,\r\n endUserContactEmail: data.endUserContactEmail,\r\n loader: true\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n return (\r\n state.loader ? (\r\n \r\n \r\n End User Name\r\n {state.endUserName}\r\n \r\n \r\n Address\r\n {formatters.addressFormatter(state.endUserAddress1, state.endUserAddress2, state.endUserCounty, state.endUserPostCode)}\r\n \r\n \r\n Email\r\n {formatters.mailFormatter(state.endUserContactEmail)}\r\n \r\n \r\n Phone\r\n {formatters.phoneNumberFormatter(state.endUserContactPhone)}\r\n \r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )\r\n );\r\n}\r\n\r\nexport default EndUserDetails;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, Typography } from '@material-ui/core';\r\nimport { getServiceAgentById } from '../../../../Core/Services/InternalUser/ServiceAgent/serviceAgentService';\r\nimport { formatters } from '../../../../Core/Controls';\r\nimport { CircularProgress } from '@material-ui/core';\r\nimport { InputLabel } from '@material-ui/core';\r\nimport { SecondaryButton } from '../../../../Core/Controls';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { DatePicker } from '../../../../Core/Controls';\r\nimport moment from 'moment/moment';\r\nimport { PortableWifiOffSharp } from '@material-ui/icons';\r\nimport { archiveVehicle, unArchiveVehicle } from '../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\n\r\nfunction ArchiveVehicleModal(props) {\r\n const { showToastError, showToastSuccess } = useToast();\r\n\r\n const [state, setState] = useState({\r\n date: moment().format('YYYY-MM-DD'),\r\n VehicleID: props.VehicleID,\r\n VehicleActive: props.VehicleActive,\r\n\r\n errors: {}\r\n });\r\n\r\n useEffect(async () => {}, []);\r\n\r\n const inputChange = (e) => {\r\n const { name, value, type } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const validations = () => {\r\n const { date } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!date || date == '') {\r\n errors.date = 'Date is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async (e) => {\r\n if (validations()) {\r\n const { date, VehicleID, VehicleActive } = state;\r\n\r\n let res = {};\r\n\r\n if (VehicleActive) {\r\n res = await archiveVehicle(VehicleID, date);\r\n } else {\r\n res = await unArchiveVehicle(VehicleID, date);\r\n }\r\n\r\n if (res?.success) {\r\n showToastSuccess(res?.data?.message);\r\n props.onClose(res);\r\n } else {\r\n showToastError(res?.message);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n props.onClose(false)} maxWidth=\"lg\" overflow=\"auto\">\r\n \r\n \r\n \r\n Date\r\n \r\n \r\n {state.errors.date}\r\n \r\n \r\n {props.VehicleActive ? 'Archive' : 'Unarchive'}\r\n \r\n \r\n props.onClose()}>Cancel\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ArchiveVehicleModal;\r\n","import React, { useEffect, useState, useContext } from 'react';\r\nimport { FormHelperText, InputLabel, Table, TableBody, TableContainer, TableHead, TableRow, Hidden, TableCell, Collapse } from '@material-ui/core';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { VehicleProvider as StateProvider, VehicleScreenContext } from './VehicleProvider';\r\nimport AddEditVehicle from './addEditVehicle';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport AddBreaddownModal from '../../Maintenance/BreakDown/AddBreakdown';\r\nimport AddDefectModal from '../../Maintenance/Defects/addEditDefectScreen';\r\nimport '../controllerStyle.scss';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport StickyNotes from './../Notes/stickyNotes';\r\nimport { CustomIconButton, SecondaryButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { getUpcomingEvents } from '../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\r\nimport { DatePicker, CustomChip, SpeedDials } from '../../../../Core/Controls';\r\nimport moment from 'moment';\r\nimport { MandatoryPositiveInput } from '../../../../Core/Controls/Inputs/PositiveInput';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport CustomizedTables from '../../../../Core/Controls/Table';\r\nimport { postMileageLog } from '../../../../Core/Services/InternalUser/ControllerService/mileageLogService';\r\nimport AddVor from '../VOR/AddEditVor';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport LocalShippingIcon from '@material-ui/icons/LocalShipping';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport AutorenewIcon from '@material-ui/icons/Autorenew';\r\nimport KeyDates from './vehicleDetail';\r\nimport { DriverInfo } from './DriverInfo/index';\r\nimport FileUploaderButton from '../../../../Core/Controls/GenericFileUploader';\r\nimport DriverDailyChecks from './DriverDailyChecks/driverDailyChecks';\r\nimport formatters from '../../../../Core/Controls/Grid/Inputformatter';\r\nimport AddBatteryLevels from './BatteryLevels/VehicleBatteryLevels';\r\nimport CustomerDetails from '../DetailsModal/customerDetails';\r\nimport DepotDetails from '../DetailsModal/depotDetails';\r\nimport ServiceAgentDetails from '../DetailsModal/serviceAgent';\r\nimport endUserDetails from '../DetailsModal/endUserDetails';\r\nimport EndUserDetails from '../DetailsModal/endUserDetails';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport FormatListBulletedIcon from '@material-ui/icons/FormatListBulleted';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport ArchiveVehicleModal from './archiveVehicle';\r\n\r\nconst gridStyle = {\r\n title: {\r\n color: '#f50057'\r\n },\r\n header: {\r\n borderBottom: '1px solid rgba(0,0,0,0.2)'\r\n },\r\n tbHead: {\r\n padding: '5px 0px 6px 8px'\r\n },\r\n tbContent: {\r\n margin: '8px 0px 14px 0px;'\r\n }\r\n};\r\nlet checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\nconst UpcomingEvents = ({ rows, changeIndex }) => {\r\n return (\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Upcoming Events\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Event Name\r\n Date\r\n \r\n \r\n \r\n \r\n {rows?.map((row) => {\r\n let notifyColor = '';\r\n let textCol = 'black';\r\n let todayDate = moment().format();\r\n let date1 = new Date(todayDate);\r\n let date2 = new Date(row.dateDue);\r\n let diffDays = parseInt((date2 - date1) / (1000 * 60 * 60 * 24), 10);\r\n if (diffDays >= 14) {\r\n notifyColor = '#dff0d8';\r\n } else if (diffDays <= 0) {\r\n notifyColor = 'rgba(255, 8, 0,0.6)';\r\n textCol = 'white';\r\n } else if (diffDays > 0) {\r\n notifyColor = 'rgba(255,191,0,0.6)';\r\n textCol = 'white';\r\n }\r\n return (\r\n \r\n {row.scheduleName}\r\n {row.dateDue ? moment(row.dateDue).format('DD/MM/YYYY') : 'N/A'}\r\n {/* {row.bookingStatus} */}\r\n \r\n {\r\n changeIndex(5);\r\n }}\r\n />\r\n \r\n \r\n );\r\n })}\r\n {rows?.length <= 0 && (\r\n \r\n \r\n No upcoming events\r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst MileageLogSection = (props) => {\r\n const [state, setState] = useState({\r\n odometerReadingID: null,\r\n odometerReadingVehicleID: props.vehicleID,\r\n odometerReadingDate: '',\r\n odometerReading: ''\r\n });\r\n const [error, setError] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const validate = () => {\r\n let errors = {};\r\n let isValid = true;\r\n const { odometerReadingDate, odometerReading } = state;\r\n if (!/[^\\s]/.test(odometerReadingDate)) {\r\n errors.odometerReadingDate = 'Reading date is required';\r\n isValid = false;\r\n }\r\n if (+odometerReading < 0) {\r\n errors.odometerReading = 'Odometer reading can not be negative';\r\n isValid = false;\r\n }\r\n if (!/[^\\s]/.test(odometerReading)) {\r\n errors.odometerReading = 'Odometer reading is required';\r\n isValid = false;\r\n }\r\n setError(errors);\r\n return isValid;\r\n };\r\n\r\n const handleData = async () => {\r\n if (validate()) {\r\n let res = await postMileageLog({\r\n odometerReadingID: state.odometerReadingID,\r\n odometerReadingVehicleID: state.odometerReadingVehicleID,\r\n odometerReadingDate: state.odometerReadingDate,\r\n odometerReading: +state.odometerReading,\r\n odometerReadingCaptureSource: 'Manual Entry',\r\n odometerReadingActive: true\r\n });\r\n if (res.success) {\r\n showToastSuccess('Mileage Log added sucessfully');\r\n props.reloadData();\r\n props.reloadMileageData(props.VehicleID);\r\n setState((state) => ({\r\n ...state,\r\n odometerReadingDate: '',\r\n odometerReading: ''\r\n }));\r\n } else {\r\n showToastError(res?.message || 'Something went wrong!');\r\n setState((state) => ({\r\n ...state,\r\n odometerReadingDate: '',\r\n odometerReading: ''\r\n }));\r\n }\r\n }\r\n };\r\n\r\n const inputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\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 Mileage Log\r\n \r\n \r\n\r\n \r\n \r\n \r\n Latest Mileage {formatters.numberThousandsSeparator(props.otherFields.vehicleLatestMileage)}\r\n {props.otherFields.vehicleLastMileageDate != 'N/A' ? (\r\n on {props.otherFields.vehicleLastMileageDate}\r\n ) : null}\r\n \r\n \r\n \r\n props.changeIndex(9)} />\r\n \r\n \r\n \r\n
\r\n
\r\n {props.showEdit && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Reading Date\r\n \r\n \r\n {error.odometerReadingDate}\r\n \r\n \r\n \r\n \r\n \r\n {'\\u{2800}'}\r\n Add\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Reading Date\r\n \r\n \r\n {error.odometerReadingDate}\r\n \r\n \r\n \r\n \r\n \r\n {'\\u{2800}'}\r\n \r\n Add\r\n \r\n \r\n \r\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 VehicleDashBoard = (props) => {\r\n const { otherFields, pullMileageData, state, dateFields, jobFields, getVehicleDataById } = useContext(VehicleScreenContext);\r\n const [checked, setChecked] = React.useState(false);\r\n\r\n const handleChange = () => {\r\n setChecked((prev) => !prev);\r\n };\r\n\r\n const handleClose = () => {\r\n setModalState((st) => ({\r\n ...st,\r\n customerModal: false,\r\n depotModal: false,\r\n serviceAgentModal: false,\r\n endUserModal: false\r\n }));\r\n };\r\n\r\n const [modalState, setModalState] = useState({\r\n customerModal: false,\r\n depotModal: false,\r\n serviceAgentModal: false,\r\n endUserModal: false\r\n });\r\n\r\n const renderBold = (toRender, modalName) => {\r\n return toRender ? (\r\n
handleRowClick(modalName)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {toRender}\r\n
\r\n ) : (\r\n ''\r\n );\r\n };\r\n\r\n const handleRowClick = (toTurnOn) => {\r\n setModalState((st) => ({\r\n ...st,\r\n [toTurnOn]: true\r\n }));\r\n };\r\n\r\n const tableData = [\r\n {\r\n name1: 'Make/Model',\r\n value1: `${state.makeID} / ${state.modelID}`,\r\n name2: 'Customer',\r\n value2: renderBold(state.customerName, 'customerModal'),\r\n name3: 'Depot',\r\n value3: renderBold(state.depotName, 'depotModal')\r\n },\r\n {\r\n name1: 'Vehicle Type',\r\n value1: `${state.vehicleTypeDescription || ''}`,\r\n name2: 'Vehicle Category',\r\n value2: `${state.vehicleCategoryDescription || ''}`,\r\n name3: 'Colour',\r\n value3: `${otherFields.colour || ''}`\r\n },\r\n {\r\n name1: 'Contract Number',\r\n value1: `${otherFields.vehicleMaintenanceRef || ''}`,\r\n name2: 'Fuel Type',\r\n value2: `${state.vehicleFuelType}`,\r\n name3: 'Chassis Number',\r\n value3: `${state.chassisNumber || ''}`\r\n },\r\n {\r\n name1: 'Asset Number',\r\n value1: `${otherFields.assetNumber || ''}`,\r\n name2: 'Fleet Number',\r\n value2: `${otherFields.fleetNumber || ''}`,\r\n name3: 'Ministry Number',\r\n value3: `${otherFields.ministryNumber || ''}`\r\n },\r\n {\r\n name1: 'Engine Capacity',\r\n value1: `${state.capacity || ''}`,\r\n name2: 'CO2 Emission',\r\n value2: `${state.co2Emission || ''}`,\r\n name3: 'Vehicle Check Frequency',\r\n value3: `${otherFields.vehicleCheckFrequency || ''}`\r\n },\r\n {\r\n name1: 'Date Of Reg',\r\n value1: `${dateFields.dateOfReg1}`,\r\n name2: 'MOT Expiry',\r\n value2: `${dateFields.motExpiry1}`,\r\n name3: 'Inspection Schedule',\r\n value3: `${otherFields.schedule || ''}`\r\n },\r\n {\r\n name1: 'Primary Service Agent',\r\n value1: renderBold(otherFields.primaryAgent, 'serviceAgentModal'),\r\n name2: 'End User',\r\n value2: renderBold(state.endUserName, 'endUserModal'),\r\n name3: 'Next Service',\r\n value3: `${\r\n dateFields.vehicleNextServiceDateDueDisplay && otherFields.vehicleNextServiceMileage\r\n ? otherFields.service +\r\n ' on ' +\r\n formatters.YearFormatter(dateFields.vehicleNextServiceDateDueDisplay) +\r\n '(' +\r\n otherFields.vehicleNextServiceMileage +\r\n ')'\r\n : otherFields.service || ''\r\n }`\r\n }\r\n ];\r\n\r\n const [data, setData] = useState({\r\n show: false,\r\n VehicleID: null,\r\n showBreakDownPopup: false,\r\n showDetails: true,\r\n showVORPopup: false,\r\n upcomingEventsList: [],\r\n open: false,\r\n showCheck: false,\r\n\r\n showArchivePopup: false\r\n });\r\n\r\n const pullData = async () => {\r\n if (props.VehicleID) {\r\n setData((st) => ({\r\n ...st,\r\n VehicleID: props.VehicleID\r\n }));\r\n let res = await getUpcomingEvents(props.VehicleID);\r\n if (res.success) {\r\n setData((st) => ({ ...st, upcomingEventsList: res.data.vehicleUncompletedSchedulesList }));\r\n } else {\r\n setData((st) => ({ ...st, upcomingEventsList: [] }));\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n pullData();\r\n }, [data.show, data.showBreakDownPopup, data.showDefectPopup, props.VehicleID]);\r\n\r\n const prepareData = () => ({\r\n show: false,\r\n showDetails: false,\r\n showBreakDownPopup: false,\r\n showDefectPopup: false,\r\n showArchivePopup: false\r\n });\r\n\r\n const handleAdd = (id, name) => {\r\n setData((st) => ({ ...prepareData(), [name]: true, VehicleID: id }));\r\n };\r\n\r\n const handleAddPopUp = (id, name) => {\r\n setData((st) => ({ ...st, [name]: true, VehicleID: id }));\r\n };\r\n\r\n const closeAddPopUp = (flag, name) => {\r\n setData((st) => ({ ...st, showVORPopup: false }));\r\n flag && getVehicleDataById();\r\n flag && props.pullDetails();\r\n };\r\n\r\n const closeModal = (res) => {\r\n setData((st) => ({\r\n ...st,\r\n show: false,\r\n showBreakDownPopup: false,\r\n showDefectPopup: false,\r\n showDetails: true,\r\n showCheck: false,\r\n showArchivePopup: false\r\n }));\r\n res && props.pullDetails();\r\n res && getVehicleDataById();\r\n };\r\n const showBtn = data.showBreakDownPopup || data.showDefectPopup || data.show;\r\n let { isReadOnlyUser } = useLoginInfo();\r\n\r\n const Header = () => {\r\n return !isReadOnlyUser && !showBtn ? (\r\n \r\n \r\n \r\n Vehicle Profile  \r\n \r\n \r\n \r\n \r\n \r\n {checkhaveAccess?.CanUpdateVehicles && (\r\n <>\r\n \r\n \r\n
\r\n  \r\n {jobFields?.vehicleActive && (\r\n <>\r\n {checkhaveAccess?.CanUpdateVehicles && (\r\n handleAdd(data.VehicleID, 'show')} />\r\n )}\r\n {jobFields.vorVehicleID ? null : (\r\n <>\r\n {checkhaveAccess?.CanAddVOR ? (\r\n handleAddPopUp(data.VehicleID, 'showVORPopup')}\r\n />\r\n ) : null}\r\n \r\n )}\r\n {checkhaveAccess?.CanAddDailyChecks && (\r\n handleAdd(data.VehicleID, 'showCheck')}\r\n />\r\n )}\r\n {checkhaveAccess?.CanAddBreakdowns && (\r\n handleAdd(data.VehicleID, 'showBreakDownPopup')}\r\n />\r\n )}\r\n {checkhaveAccess?.CanAddDefects && (\r\n handleAdd(data.VehicleID, 'showDefectPopup')}\r\n />\r\n )}\r\n \r\n )}\r\n handleAddPopUp(data.VehicleID, 'showArchivePopup')}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n  \r\n {jobFields?.vehicleActive && (\r\n <>\r\n handleAdd(data.VehicleID, 'show')} />\r\n {jobFields.vorVehicleID ? null : (\r\n <>\r\n {checkhaveAccess?.CanAddVOR ? (\r\n handleAddPopUp(data.VehicleID, 'showVORPopup')}\r\n />\r\n ) : null}\r\n \r\n )}\r\n {checkhaveAccess?.CanAddDailyChecks && (\r\n handleAdd(data.VehicleID, 'showCheck')}\r\n />\r\n )}\r\n {checkhaveAccess?.CanAddBreakdowns && (\r\n handleAdd(data.VehicleID, 'showBreakDownPopup')}\r\n />\r\n )}\r\n {checkhaveAccess?.CanAddDefects && (\r\n handleAdd(data.VehicleID, 'showDefectPopup')}\r\n />\r\n )}\r\n \r\n )}\r\n handleAddPopUp(data.VehicleID, 'showArchivePopup')}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n\r\n {/* \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n ) : null;\r\n };\r\n const KeyDateHeader = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n Key Dates\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n return (\r\n <>\r\n {modalState.customerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {modalState.depotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {modalState.serviceAgentModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {modalState.endUserModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n
\r\n {!(data.show || data.showBreakDownPopup || data.showDefectPopup || data.showCheck) && (\r\n \r\n \r\n \r\n {!showBtn && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n {data.showDetails && }\r\n \r\n \r\n \r\n \r\n {jobFields?.vehicleActive && (\r\n <>\r\n {otherFields.displayBatteryLevel == 'Y' && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n {!showBtn && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!showBtn && }\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n )}\r\n\r\n {/* {!(data.show || data.showBreakDownPopup || data.showDefectPopup || data.showCheck) && (\r\n \r\n {!showBtn && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n {data.showDetails && }\r\n \r\n \r\n \r\n \r\n {jobFields?.vehicleActive && (\r\n <>\r\n {otherFields.displayBatteryLevel == 'Y' && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {!showBtn && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!showBtn && }\r\n \r\n \r\n \r\n )}\r\n
\r\n )} */}\r\n\r\n
\r\n {data.show ? : null}\r\n {data.showBreakDownPopup ? closeModal()} /> : null}\r\n {data.showDefectPopup ? closeModal()} /> : null}\r\n {data.showCheck ? closeModal()} /> : null}\r\n {data.showArchivePopup ? (\r\n \r\n ) : null}\r\n {data.showVORPopup ? (\r\n closeAddPopUp(false)}\r\n maxWidth=\"lg\"\r\n overflow=\"auto\"\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useState, useMemo, createContext, useCallback } from 'react';\r\nimport { getAllNotes, addUpdateNote, getNoteById, getNotesStickButtons } from '../../../../Core/Services/InternalUser/ControllerService/noteService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport moment from 'moment';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nexport const NotesScreenContext = createContext();\r\n\r\nexport const NotesProvider = (props) => {\r\n const { showToastError, showToastSuccess } = useToast();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n show: false,\r\n showDelete: false,\r\n showLoader: true,\r\n NoteList: [],\r\n noteID: null,\r\n noteTitle: props.notesTitle === 'Defects' ? 'Defect notes' : props.notesTitle === 'BreakDown' ? 'Breakdown notes' : '',\r\n noteDescription: '',\r\n noteActive: true,\r\n errors: {},\r\n noteVehicleID: null,\r\n noteRefsID: null,\r\n noteStickyDisplayType: '',\r\n NotesButtons: [],\r\n noteStickyDisplayFromDate: '',\r\n noteStickyDisplayEndDate: '',\r\n noteStickyDisplayType: 'A',\r\n noteSendSMSNumber: props.notesTitle === 'Defects' || 'BreakDown' ? props.DisplayData : '',\r\n noteSendSMS: false,\r\n noteSendSMSReported: false,\r\n noteSendSMSReportedNo: props.notesTitle === 'Defects' || 'BreakDown' ? props.reportedPhone : '',\r\n driverName: props.driverName,\r\n reportedBy: props.reportedBy\r\n });\r\n const pullNoteAndUpdateState = async () => {\r\n let respons;\r\n let userBasePermi = true;\r\n if (props.frompage === 'Vehicles') {\r\n respons = `note/notelist?notefrompage=${props.frompage}&VehicleID=${props.NoteVehicleID}`;\r\n userBasePermi = checkhaveAccess?.CanUpdateVehicleNotes;\r\n }\r\n if (props.frompage === 'Defects') {\r\n respons = `VehicleDefectNotes?DefectID=${props.defectID}`;\r\n }\r\n if (props.frompage === 'Drivers') {\r\n respons = `note/notelist?notefrompage=${props.frompage}&DriverID=${props.NoteDriverID}`;\r\n userBasePermi = checkhaveAccess?.CanUpdateDriverNotes;\r\n }\r\n if (props.frompage === 'ServiceAgents') {\r\n respons = `note/notelist?notefrompage=${props.frompage}&ServiceAgentID=${props.NoteServiceAgID}`;\r\n userBasePermi = checkhaveAccess?.CanUpdateServiceAgentNotes;\r\n }\r\n if (props.frompage === 'Customers') {\r\n respons = `note/notelist?notefrompage=${props.frompage}&customerID=${props.customerID}`;\r\n userBasePermi = checkhaveAccess?.CanUpdateCustomerNotes;\r\n }\r\n if (props.frompage === 'Jobs') {\r\n respons = `note/notelist?notefrompage=${props.frompage}&JobID=${props.JobID}`;\r\n }\r\n\r\n setState((w) => ({ ...w, response: respons, userBasePermi: userBasePermi }));\r\n\r\n let res2 = await getNotesStickButtons();\r\n if (res2.success) {\r\n setState((st) => ({ ...st, NotesButtons: res2.data.stickyDisPlayType }));\r\n }\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n useEffect(async () => {\r\n if (props.frompage) {\r\n setState((st) => ({ ...st, noteVehicleID: props.NoteVehicleID, noteRefsID: props.noteRefsID, noteRefsGuidID: props.noteRefsGuidID }));\r\n }\r\n if (props.NoteID) {\r\n let res = await getNoteById(props.NoteID, props.frompage, props.NoteVehicleID, props.noteRefsID);\r\n const Notedata = res.data;\r\n setState((st) => ({\r\n ...st,\r\n noteID: Notedata.noteID,\r\n noteActive: Notedata.noteActive,\r\n noteDescription: Notedata.noteDescription,\r\n noteRefsID: Notedata.noteRefsID || props.noteRefsID,\r\n noteRefsGuidID: Notedata.noteRefsGuidID || props.noteRefsGuidID,\r\n noteTitle: Notedata.noteTitle,\r\n noteStickyDisplayType: Notedata.noteStickyDisplayType,\r\n noteStickyDisplayFromDate: Notedata.noteStickyDisplayFromDate ? moment(Notedata.noteStickyDisplayFromDate).format('YYYY-MM-DDTHH:mm') : '-',\r\n noteStickyDisplayEndDate: Notedata.noteStickyDisplayEndDate ? moment(Notedata.noteStickyDisplayEndDate).format('YYYY-MM-DDTHH:mm') : '-'\r\n }));\r\n }\r\n pullNoteAndUpdateState();\r\n }, [props.NoteVehicleID]);\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n noteID: record\r\n }));\r\n };\r\n\r\n const handleDelete = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n showDelete: true,\r\n noteID: record\r\n }));\r\n };\r\n\r\n const closeNoteModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false,\r\n showDelete: false\r\n }));\r\n res && pullNoteAndUpdateState();\r\n };\r\n\r\n const validations = () => {\r\n const { noteTitle, noteDescription, noteSendSMSReportedNo, noteSendSMS, noteSendSMSNumber, noteSendSMSReported } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(noteDescription)) {\r\n errors.noteDescription = 'The description field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(noteTitle)) {\r\n errors.noteTitle = 'The title field is required';\r\n formIsValid = false;\r\n }\r\n if (noteSendSMS) {\r\n if (!noteSendSMSNumber) {\r\n errors.noteSendSMSNumber = 'Phone Number is required';\r\n formIsValid = false;\r\n }\r\n }\r\n if (noteSendSMSReported) {\r\n if (!noteSendSMSReportedNo) {\r\n errors.noteSendSMSReportedNo = 'Phone Number is required';\r\n formIsValid = false;\r\n }\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async (isCreateNote) => {\r\n if (validations()) {\r\n let formData;\r\n formData = {\r\n noteTitle: state.noteTitle,\r\n noteDescription: state.noteDescription,\r\n noteActive: state.noteActive,\r\n noteVehicleID: state.noteVehicleID,\r\n noteRefsGuidID: state.noteRefsGuidID,\r\n noteRefsID: state.noteRefsID,\r\n noteID: state.noteID,\r\n notefrompage: props.frompage,\r\n noteStickyDisplayType: state.noteStickyDisplayType,\r\n noteStickyDisplayFromDate: state.noteStickyDisplayType === 'D' ? state.noteStickyDisplayFromDate : '',\r\n noteStickyDisplayEndDate: state.noteStickyDisplayType === 'D' ? state.noteStickyDisplayEndDate : ''\r\n };\r\n let number = '';\r\n if (state.noteSendSMS && state.noteSendSMSReported) {\r\n number = state.noteSendSMSReportedNo + ',' + state.noteSendSMSNumber;\r\n } else if (state.noteSendSMSReported) {\r\n number = state.noteSendSMSReportedNo;\r\n } else if (state.noteSendSMS) {\r\n number = state.noteSendSMSNumber;\r\n }\r\n if (props.frompage === 'Defects') {\r\n formData['noteSendSMSNumber'] = number;\r\n formData['noteSendSMS'] = state.noteSendSMS || state.noteSendSMSReported;\r\n }\r\n setBtnLoader(true);\r\n let res = await addUpdateNote(formData);\r\n if (res.success) {\r\n showToastSuccess('Notes Added Successfully!');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n const handleDeleteSubmit = async (data) => {\r\n const formData = {\r\n noteTitle: state.noteTitle,\r\n noteDescription: state.noteDescription,\r\n noteActive: false,\r\n noteVehicleID: state.noteVehicleID,\r\n noteRefsID: state.noteRefsID,\r\n noteID: state.noteID,\r\n notefrompage: props.frompage\r\n };\r\n let res = await addUpdateNote(formData);\r\n if (res.success) {\r\n showToastSuccess('Notes Deleted Successfully!');\r\n props.onFormCancel(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const resetInput = (name) => {\r\n setState((st) => ({ ...st, [name]: '' }));\r\n };\r\n\r\n const title = `${state.noteID ? 'Update' : 'Add'} ${props.frompage === 'ServiceAgents' ? 'Service Agent' : props.frompage} Notes`;\r\n const deleteTitle = `Do You Want Delete ${props.frompage === 'ServiceAgents' ? 'Service Agent' : props.frompage} Note?`;\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useContext, useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, SecondaryCheckbox, DatePicker, DateTimePicker, SimpleField } from '../../../../Core/Controls';\r\nimport { NotesProvider, NotesScreenContext } from './NotesProvider';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport { FormControlLabel } from '@material-ui/core';\r\n\r\nconst FlaggedBox = (props) => {\r\n // useEffect(() => {\r\n // !props.chkValue && props.resetInput(props.txtName);\r\n // }, [props.chkValue]);\r\n return (\r\n <>\r\n {props.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\nconst AddEditNotes = (props) => {\r\n const { state, btnLoader, handleSubmit, inputChange, handleCheckbox, resetInput } = useContext(NotesScreenContext);\r\n\r\n return (\r\n \r\n \r\n Note Title\r\n \r\n {state.errors.noteTitle}\r\n \r\n \r\n Description\r\n \r\n {state.errors.noteDescription}\r\n \r\n {props.frompage === 'Defects' && (\r\n \r\n \r\n {state.errors.noteSendSMSNumber}\r\n \r\n )}\r\n {props.frompage !== 'Defects' && (\r\n \r\n Settings\r\n \r\n {state.NotesButtons.map((i, index) => (\r\n } label={i.name} />\r\n ))}\r\n \r\n \r\n )}\r\n {state.noteStickyDisplayType === 'D' ? (\r\n \r\n \r\n Start Date & Time\r\n \r\n \r\n \r\n End Date & Time\r\n \r\n \r\n {state.errors.noteStickyDisplayEndDate}\r\n \r\n ) : null}\r\n {props.frompage === 'Jobs' ? (\r\n \r\n \r\n handleSubmit(false)} fullWidth>\r\n Save\r\n \r\n \r\n {/* \r\n handleSubmit(true)} fullWidth >\r\n Create New Note\r\n \r\n */}\r\n \r\n ) : (\r\n \r\n \r\n Save\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useContext } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { FormHelperText, InputLabel } from \"@material-ui/core\";\r\nimport { InputText, SecondaryButton, SecondaryCheckbox } from \"../../../../Core/Controls\";\r\nimport { NotesProvider, NotesScreenContext } from \"./NotesProvider\";\r\n\r\nconst DeleteNotes = (props) => {\r\n const { state, handleSubmit, inputChange, handleCheckbox, handleDeleteSubmit } = useContext(NotesScreenContext);\r\n return (\r\n \r\n \r\n \r\n Yes\r\n \r\n \r\n \r\n {\r\n props.onFormCancel();\r\n }}\r\n className=\"submit_btn\"\r\n >\r\n No\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useContext, useEffect, useMemo, useState } from 'react';\r\nimport { AddButton, DataGrid, EditButton, formatters, DeleteButton } from '../../../../Core/Controls';\r\nimport AddEditNotes from './addEditNotes';\r\nimport DeleteNotes from './deleteNotes';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport '../../../commonStyle.scss';\r\nimport { NotesProvider, NotesScreenContext } from './NotesProvider';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst baseColumns = [\r\n { key: 'noteTitle', name: 'Title' },\r\n { key: 'noteDescription', name: 'Description' },\r\n { key: 'noteStickyDisplayFromDate', name: 'Start Date', formatter: formatters.Date_DDMMMYYYY_HHMM, width: 150 },\r\n { key: 'noteStickyDisplayEndDate', name: 'End Date', formatter: formatters.Date_DDMMMYYYY_HHMM, width: 150 }\r\n];\r\n\r\nexport const NoteDashboard = (props) => {\r\n const { state, handleAdd, closeNoteModal, title, handleDelete, deleteTitle, handleDeleteSubmit } = useContext(NotesScreenContext);\r\n let { isReadOnlyUser } = useLoginInfo();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n
\r\n {\r\n <>\r\n handleAdd(row.noteId)} toolTipTitle=\"Edit Note\" />\r\n {!isReadOnlyUser && handleDelete(row.noteId)} toolTipTitle=\"Delete Note\" />}\r\n \r\n }\r\n
\r\n );\r\n };\r\n console.log(state.userBasePermi, 'userBasePermi');\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n\r\n if (checkhaveAccess?.CanViewNotes && state.userBasePermi) {\r\n tempCols.splice(0, 0, {\r\n key: 'action',\r\n name: 'Action',\r\n width: '5%',\r\n formatter: dataFormatter\r\n });\r\n }\r\n return tempCols;\r\n }, [state.userBasePermi]);\r\n const gridBtnTitle = `Add ${props.frompage === 'ServiceAgents' ? 'Service Agent' : props.frompage} Notes`;\r\n return (\r\n
\r\n ({\r\n records: res.data.notelist,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle={state.userBasePermi ? gridBtnTitle : ''}\r\n onBtnClick={() => handleAdd(null)}\r\n />\r\n {state.show ? (\r\n closeNoteModal(false)} maxWidth=\"sm\">\r\n closeNoteModal(true)} {...props} />\r\n \r\n ) : null}\r\n {state.showDelete ? (\r\n closeNoteModal(false)} maxWidth=\"sm\">\r\n closeNoteModal(true)} onFormSubmit={() => handleDeleteSubmit()} {...props} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useContext, useState, useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Backdrop, FormControlLabel, FormHelperText, Typography } from '@material-ui/core';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { formatters, DataGrid } from '../../../../Core/Controls';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport { DefectsProvider as StateProvider, DefectsScreenContext } from './DefectsProvider';\r\nimport DefectDetails from './defectDetail';\r\nimport CustomizedSteppers from '../BreackdownDefectStepper/defectBreackDownStepper';\r\nimport '../../Controllers/controllerStyle.scss';\r\nimport AddEditNotes from '../../Controllers/Notes/progressReminder'; //'./addEditNotes';\r\nimport { CustomChip } from '../../../../Core/Controls';\r\nimport AddVor from '../../Controllers/VOR/AddEditVor';\r\nimport FileUploaderButton from '../../../../Core/Controls/GenericFileUploader';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { FromLoader } from '../../../../Core/Loader/formLoader';\r\nimport moment from 'moment';\r\nimport AddEditNewNotes from '../../Controllers/Notes/jobNotes'; //'./addEditNotes';\r\nimport DeleteJobModal from '../../Controllers/JOBS/deleteJobModal';\r\nimport JobStepperScreen from '../BreackdownDefectStepper/addJobStepper';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport AddDefectBreakEditJobsNotes from '../../Controllers/Notes/defectBreakdownNotes';\r\n\r\nconst JobSingleNote = (props) => {\r\n const [state, setState] = useState({ show: false });\r\n const { note, createdBy, dateCreated, dateClosed, closedBy, noteID, rd } = props.note;\r\n let checkIsClosed = dateClosed || closedBy;\r\n const closeModal = (res) => {\r\n setState({ show: false });\r\n res && props.onFormSubmit(true);\r\n };\r\n const showModal = () => {\r\n if (!checkIsClosed) {\r\n setState({ show: true });\r\n }\r\n };\r\n return (\r\n <>\r\n {state.show ? (\r\n closeModal(false)}\r\n reportedBy={props.reportedBy}\r\n titleModal=\"Progress Update Notes\"\r\n reportedPhone={props.reportedPhone}\r\n onFormSubmit={() => closeModal(true)}\r\n />\r\n ) : null}\r\n
\r\n \r\n {note}\r\n
\r\n
\r\n {moment(rd).format('LLL')}\r\n
\r\n
\r\n {createdBy} @ {moment(dateCreated).format('LLL')}\r\n {(dateClosed || closedBy) && ` (Closed by: ${closedBy} @ ${moment(dateClosed).format('LLL')} )`}\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nconst DefectEditDetails = (props) => {\r\n const { defectFields, userSettings, submitHandler, DefectID, pullDefectByID, pullNotes, setDefectFields } = useContext(DefectsScreenContext);\r\n const [state, setState] = useState({});\r\n const { userRoles } = useLoginInfo();\r\n const isDriver = userRoles.includes('driver');\r\n const isCustomer = userRoles.includes('customer');\r\n const isInternal = userRoles.includes('internal');\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n const history = useHistory();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const closeNoteModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false,\r\n showDefectBreakNotes: false\r\n }));\r\n res && pullNotes();\r\n };\r\n\r\n const closeVORModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showVORPopup: false,\r\n showJobStepperScreen: false\r\n }));\r\n // res && props.pullDetails();\r\n res && pullDefectByID();\r\n };\r\n\r\n const closeDeleteDefectModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showJobDeleteModal: false\r\n }));\r\n if (res) {\r\n history.push({\r\n pathname: `/maintenance/defects`,\r\n search: '',\r\n state: ''\r\n });\r\n }\r\n };\r\n\r\n const addNotes = (show) => {\r\n setState((st) => ({\r\n ...st,\r\n [show]: true\r\n }));\r\n };\r\n\r\n const showModalHandler = (screenName) => {\r\n setState((st) => ({\r\n ...st,\r\n [screenName]: true\r\n }));\r\n };\r\n function isValYesNo(val) {\r\n return val ? 'Yes' : 'No';\r\n }\r\n\r\n const handleColse = () => {\r\n setDefectFields((st) => ({ ...st, defectNumberGenerated: false }));\r\n props.onClose();\r\n };\r\n\r\n const handleDefetcBreakDownReporting = (val) => {\r\n history.push({\r\n pathname: `/maintenance/defect/reporting/${defectFields.customerID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n let currentNoteID = defectFields?.NoteList ? defectFields?.NoteList[0]?.noteID : null;\r\n let newNoteID = defectFields?.NoteList?.find((o) => o.closedBy !== null)?.noteID;\r\n return (\r\n
\r\n {defectFields.isReload ? (\r\n \r\n ) : (\r\n <>\r\n {defectFields.defectNumberGenerated ? (\r\n \r\n ) : null}\r\n \r\n {defectFields.vehicleJobProgress.map((a, index) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n {/* \r\n \r\n \r\n Defect Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!defectFields.vorVehicleID && (\r\n \r\n \r\n \r\n )}\r\n \r\n */}\r\n \r\n \r\n \r\n Defect Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!defectFields.vorVehicleID && !isDriver && !isCustomer && !isServiceAgent && (\r\n showModalHandler('showVORPopup')}\r\n style={{ fontWeight: 'bold', marginRight: 10 }}\r\n />\r\n )}\r\n {!isDriver && !isCustomer && !isServiceAgent && (\r\n <>\r\n {defectFields.defectNumberGenerated && !props.isAddJobBtnShow ? (\r\n showModalHandler('showJobStepperScreen')}\r\n style={{ fontWeight: 'bold', marginRight: 10 }}\r\n />\r\n ) : null}\r\n showModalHandler('showJobDeleteModal')}\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n {/* Defect Details */}\r\n \r\n {defectFields.defectDescription?.toUpperCase() || 'N\\\\A'}\r\n \r\n \r\n \r\n \r\n Reporting Depot\r\n {defectFields.reportingDepot || 'N\\\\A'}\r\n \r\n \r\n Customer Defect Number\r\n {defectFields.defectCustomerDefectNumber || 'N\\\\A'}\r\n \r\n \r\n Vehicle Location\r\n {defectFields.defectLocation || 'N\\\\A'}\r\n \r\n \r\n \r\n \r\n Mileage\r\n {defectFields.defectMileage || 'N\\\\A'}\r\n \r\n \r\n Reported By\r\n {defectFields.defectContactName || 'N\\\\A'}\r\n \r\n \r\n Reported Phone\r\n \r\n {formatters.phoneNumberFormatter(defectFields.defectContactNumber) || 'N\\\\A'}\r\n \r\n \r\n \r\n \r\n \r\n Driver Name\r\n {defectFields.defectDriverName || 'N\\\\A'}\r\n \r\n \r\n Driver Phone\r\n \r\n {formatters.phoneNumberFormatter(defectFields.defectDriverTelephone) || 'N\\\\A'}\r\n \r\n \r\n\r\n \r\n Authorised By\r\n {defectFields.defectAuthorisedBy || 'N\\\\A'}\r\n \r\n \r\n \r\n \r\n Preferred Service Agent\r\n {defectFields.defectPreferredServiceAgent || 'N\\\\A'}\r\n \r\n \r\n Already Booked?\r\n {isValYesNo(userSettings.defectAlreadyBooked)}\r\n \r\n \r\n Already Completed?\r\n {isValYesNo(userSettings.defectAlreadyCompleted)}\r\n \r\n \r\n \r\n \r\n Call Out Required\r\n {isValYesNo(userSettings.defectCallOutRequired)}\r\n \r\n \r\n Urgent Call Out\r\n {isValYesNo(userSettings.defectUrgentCallOut)}\r\n \r\n \r\n Put On VOR\r\n {isValYesNo(userSettings.defectVOR)}\r\n \r\n \r\n \r\n \r\n Advised Don't Drive?\r\n {isValYesNo(userSettings.defectAdvisedDontDrive)}\r\n \r\n \r\n Passenger Involved?\r\n {isValYesNo(userSettings.defectPassengersInvolved)}\r\n \r\n \r\n Number Of Passenger\r\n {defectFields.defectNumberOfPassengers || 'N\\\\A'}\r\n \r\n \r\n \r\n \r\n Accident Damage?\r\n {isValYesNo(userSettings.defectAccidentDamage)}\r\n \r\n \r\n Insurance Reference\r\n {defectFields.defectInsuranceReference || 'N\\\\A'}\r\n \r\n \r\n Replacement vehicle Required?\r\n {isValYesNo(userSettings.defectReplacementVehicle)}\r\n \r\n \r\n \r\n \r\n Vehicle Loaded?\r\n {isValYesNo(userSettings.defectVehicleLoaded)}\r\n \r\n \r\n Load Type\r\n {userSettings.vehicleLoadTypeDescription}\r\n \r\n \r\n Police On Scene?\r\n {isValYesNo(userSettings.defectPoliceOnScene)}\r\n \r\n \r\n \r\n \r\n Mobility Requested?\r\n {isValYesNo(userSettings.defectMobilityRequested)}\r\n \r\n \r\n Mobility Used?\r\n {isValYesNo(userSettings.defectMobilityUsed)}\r\n \r\n \r\n PG9 Issued?\r\n {isValYesNo(userSettings.defectPG9Issued)}\r\n \r\n \r\n \r\n \r\n\r\n {!isServiceAgent && (\r\n \r\n \r\n \r\n \r\n Job Progress\r\n \r\n \r\n \r\n {/* */}\r\n\r\n {isInternal && checkhaveAccess?.CanViewNotes && (\r\n addNotes('show')}\r\n style={{ fontWeight: 'bold', marginRight: 10 }}\r\n />\r\n )}\r\n {isInternal && checkhaveAccess?.CanViewNotes && (\r\n addNotes('showDefectBreakNotes')}\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n )}\r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n {defectFields.NoteList?.map((n, i) => (\r\n <>\r\n closeNoteModal(true)}\r\n noteRefsGuidID={defectFields.defectID}\r\n defectID={defectFields.defectID}\r\n />\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n {state.show ? (\r\n closeNoteModal(false)}\r\n onFormSubmit={closeNoteModal}\r\n reportedBy={defectFields.defectContactName}\r\n reportedPhone={defectFields.defectContactNumber}\r\n />\r\n ) : null}\r\n {state.showDefectBreakNotes ? (\r\n closeNoteModal(false)}\r\n onFormSubmit={closeNoteModal}\r\n reportedBy={defectFields.defectContactName}\r\n reportedPhone={defectFields.defectContactNumber}\r\n />\r\n ) : null}\r\n {state.showVORPopup ? (\r\n closeVORModal(false)} maxWidth=\"lg\" overflow=\"auto\">\r\n \r\n \r\n ) : null}\r\n {state.showJobDeleteModal ? (\r\n closeDeleteDefectModal(false)} title={'Delete Job'} maxWidth=\"sm\" fullWidth>\r\n \r\n \r\n ) : null}\r\n {state.showJobStepperScreen ? (\r\n closeVORModal(false)} maxWidth=\"sm\">\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport AddEditDefectModal from './addEditDefectScreen';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport { getAllDefects, getAllVehicleDefects, getAllCustomerDefects } from '../../../../Core/Services/InternalUser/Maintenance/DefectsService';\r\nimport { getVechicleIDByRegNO } from '../../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { Link } from 'react-router-dom';\r\nimport DefectEditDetails from './DefectEditDetails';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { InputText, SecondaryButton, MandatoryField, SimpleField, Accordion, SingleSelect } from '../../../../Core/Controls';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { VideogameAssetOutlined } from '@material-ui/icons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport CustomerDetails from '../../Controllers/DetailsModal/customerDetails';\r\nimport ServiceAgentDetails from '../../Controllers/DetailsModal/serviceAgent';\r\nimport ReactDOM from 'react-dom';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst modalgridStyle = {\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\n\r\nconst baseCrumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Maintenance', active: true },\r\n { name: 'Defects', path: '/', active: true }\r\n];\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 120, addFileUploaderIcon: true },\r\n\r\n {\r\n key: 'defectNumberGenerated',\r\n name: 'Defect No',\r\n headerRenderer: formatters.ColumnHeaderAlignLeft,\r\n formatter: formatters.ColumnTextAlignLeft,\r\n width: '6%'\r\n },\r\n {\r\n key: 'defectDate',\r\n name: 'Date ',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: '7%'\r\n },\r\n\r\n { key: 'defectDescription', name: 'Details' },\r\n { key: 'defectContactName', name: 'Reported By', width: '8%' },\r\n // { key: 'serviceAgentName', name: 'Service Agent', width: '10%' },\r\n { key: 'status', name: 'Status', width: '15%' }\r\n // { key: 'defectDriverName', name: 'Driver Name', width: 110 },\r\n // { key: 'defectDriverTelephone', name: 'Driver Phone', width: 120 },\r\n // { key: 'defectType', name: 'Defect Type', width: 130 }\r\n];\r\n\r\nconst DefectsScreen = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n rowVehicleID: null,\r\n defectID: null,\r\n List: [],\r\n showLoader: true,\r\n fromPage: 'Defects',\r\n show: false,\r\n filterVal: ''\r\n });\r\n let history = useHistory();\r\n const { userRoles } = useLoginInfo();\r\n const isDriver = userRoles.includes('driver');\r\n\r\n const handleFilter = (e) => {\r\n const { value } = e.target;\r\n setState((st) => ({ ...st, filterVal: value }));\r\n };\r\n\r\n useEffect(async () => {\r\n if (!props.VehicleID) {\r\n if (state.filterVal.length > 4) {\r\n let resBrekDown = await getVechicleIDByRegNO(state.filterVal);\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (resBrekDown.data?.list) {\r\n newSt.show = resBrekDown.success;\r\n newSt.filterVehicleID = resBrekDown.data?.list[0].vehicleID;\r\n } else {\r\n newSt.show = false;\r\n }\r\n\r\n return newSt;\r\n });\r\n } else {\r\n setState((st) => ({ ...st, show: false }));\r\n }\r\n }\r\n if (props.frompage === 'Vehicles') {\r\n setState((st) => ({\r\n ...st,\r\n fromPage: props.frompage\r\n }));\r\n }\r\n pullDefects();\r\n }, [props.VehicleID, state.filterVal]);\r\n\r\n const pullDefects = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.defectJobID}/${val?.defectVehicleID}`,\r\n state: 'defects'\r\n });\r\n };\r\n const handleEditDefect = (val) => {\r\n history.push({\r\n pathname: `/maintenance/defect/edit/${val?.defectID}/${val?.defectVehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n const renderEdit = (data, row) => {\r\n return (\r\n \r\n handleUpdate(row, null, 'modalEditDetail')}\r\n onClick={() => handleEditDefect(row)}\r\n toolTipTitle=\"Edit Defect\"\r\n />\r\n {/* handleUpdate(row, null, 'modalEditDetail')} /> */}\r\n {/* {isDriver ? null : (\r\n handleEditClick(row)}\r\n toolTipTitle=\"Job Details\"\r\n />\r\n )} */}\r\n \r\n );\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.defectRegNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.serviceAgentName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customer}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.defectVehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showSaModal: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n let agentNameCol = tempCols.find((element) => element.key === 'serviceAgentName');\r\n if (agentNameCol) {\r\n agentNameCol.formatter = renderAgentName;\r\n }\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n if (!props.VehicleID) {\r\n if (!props.isCust) {\r\n tempCols.splice(1, 0, { key: 'customer', name: 'Customer Name', width: '8%', formatter: renderCustomerName });\r\n }\r\n\r\n tempCols.splice(!props.isCust ? 1 : 2, 0, { key: 'defectRegNumber', name: 'Reg Number', width: '8%', formatter: renderRegNumberEdit });\r\n }\r\n // if (window.innerWidth > 600) {\r\n // tempCols.splice(\r\n // 6,\r\n // 0,\r\n // { key: 'defectDriverName', name: 'Driver Name', width: 110 },\r\n // { key: 'defectDriverTelephone', name: 'Driver Phone', width: 120 }\r\n // );\r\n // // tempCols.splice(1, 0, { key: 'defectType', name: 'Defect Type', width: 130 });\r\n // }\r\n return tempCols;\r\n }, []);\r\n const inputChange = (e) => {\r\n const value = e.target.value;\r\n setState((st) => ({\r\n ...st,\r\n filterVal: value\r\n }));\r\n };\r\n\r\n const crumbs = useMemo(() => {\r\n const tempCrumbs = [...baseCrumbs];\r\n if (state.modalEditDetail) {\r\n tempCrumbs.splice(3, 0, { name: `Defect Number ${state.defectNumberGenerated} [${formatters.DateTimeFormatter(state.defectDate)}]`, active: true });\r\n }\r\n return tempCrumbs;\r\n }, [state.modalToggle]);\r\n\r\n const handleUpdate = (data, vehicleId, modalName) => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (data) {\r\n newSt.defectID = data.defectID;\r\n newSt.rowVehicleID = data.defectVehicleID;\r\n newSt.defectNumberGenerated = data.defectNumberGenerated;\r\n newSt.defectDate = data.defectDate;\r\n }\r\n if (vehicleId) {\r\n newSt.rowVehicleID = vehicleId;\r\n }\r\n newSt[modalName] = true;\r\n\r\n return newSt;\r\n });\r\n };\r\n\r\n const closeModalHandler = (res, modalName) => {\r\n setState((state) => ({ ...state, [modalName]: false, show: false, filterVal: false }));\r\n res && pullDefects();\r\n };\r\n\r\n let urlForcondition = `VehicleDefects${props.VehicleID ? `?VehicleID=${props.VehicleID}` : ''}${props.customerID ? `?customerID=${props.customerID}` : ''}`;\r\n\r\n const gridBtnTitle = state.show || (props.VehicleID && checkhaveAccess.CanAddDefects) ? 'Add Defect' : null;\r\n const isPage = !!(props.VehicleID || props.customerID);\r\n return (\r\n
\r\n {state.modalToggle ? (\r\n closeModalHandler(true, 'modalToggle')}\r\n fromPage={state.fromPage}\r\n />\r\n ) : state.modalEditDetail ? (\r\n closeModalHandler(true, 'modalEditDetail')}\r\n // fromPage={state.fromPage}\r\n // pullDetails={props.pullDetails}\r\n />\r\n ) : (\r\n <>\r\n {!isPage && (\r\n
\r\n
\r\n \r\n
\r\n   \r\n
\r\n \r\n
\r\n
\r\n )}\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={urlForcondition}\r\n btnTitle={gridBtnTitle}\r\n idFieldName=\"defectID\"\r\n fileUploaderConfigName=\"DefectScreen\"\r\n onBtnClick={() => handleUpdate(null, state.filterVehicleID, 'modalToggle')}\r\n isReload={state.isReload}\r\n />\r\n \r\n )}\r\n {state.showSaModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default DefectsScreen;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { BreadCrumbs, DataGrid, EditButton, formatters, InputText, SimpleField } from '../../../../Core/Controls';\r\nimport { getVechicleIDByRegNO } from '../../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport AddBreaddownModal from './AddBreakdown';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ReactDOM from 'react-dom';\r\nimport ServiceAgentDetails from '../../Controllers/DetailsModal/serviceAgent';\r\nimport CustomerDetails from '../../Controllers/DetailsModal/customerDetails';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Maintenance', active: true },\r\n { name: 'Breakdowns', path: '/maintenance/breakdowns/:all', active: true }\r\n];\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 120, addFileUploaderIcon: true },\r\n\r\n {\r\n key: 'defectDate',\r\n name: 'Date ',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: '7%'\r\n },\r\n { key: 'defectDescription', name: 'Details' },\r\n { key: 'defectContactName', name: 'Reported By', width: '8%' },\r\n // { key: 'defectDriverName', name: 'Driver Name', width: 160 },\r\n // { key: 'defectDriverTelephone', name: 'Driver Phone', width: 120 },\r\n // { key: 'serviceAgentName', name: 'Service Agent', width: '10%' },\r\n { key: 'status', name: 'Status', width: '15%' }\r\n // { key: 'defectType', name: 'Defect Type', width: 160 }\r\n];\r\n\r\nconst BreakDownDashboard = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n let history = useHistory();\r\n const [state, setState] = useState({\r\n breakdownList: [],\r\n loader: true,\r\n modalToggle: false,\r\n breakID: null,\r\n rowVehicleID: null,\r\n show: false,\r\n filterVal: ''\r\n });\r\n\r\n const { userRoles } = useLoginInfo();\r\n const isDriver = userRoles.includes('driver');\r\n\r\n const handleBreakDown = (params, VehicleID, modalName) => {\r\n setState((st) => ({\r\n ...st,\r\n modalName: modalName,\r\n modalToggle: true,\r\n breakID: params,\r\n rowVehicleID: VehicleID\r\n }));\r\n };\r\n const closeModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: false,\r\n show: false,\r\n filterVal: ''\r\n }));\r\n res && pullBreakDownAndUpdateState();\r\n };\r\n\r\n const inputChange = (e) => {\r\n const value = e.target.value;\r\n setState((st) => ({\r\n ...st,\r\n filterVal: value\r\n }));\r\n };\r\n\r\n const getRegNumberVal = (setRegNumber) => {\r\n // setState((st) => ({\r\n // ...st,\r\n // filterVal: setRegNumber\r\n // }));\r\n };\r\n\r\n useEffect(async () => {\r\n if (!props.VehicleID) {\r\n if (state.filterVal.length > 4) {\r\n let resBrekDown = await getVechicleIDByRegNO(state.filterVal);\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (resBrekDown.data?.list) {\r\n newSt.show = resBrekDown.success;\r\n newSt.filterVehicleID = resBrekDown.data?.list[0].vehicleID;\r\n } else {\r\n newSt.show = false;\r\n }\r\n return newSt;\r\n });\r\n } else {\r\n setState((st) => ({ ...st, show: false }));\r\n }\r\n }\r\n\r\n pullBreakDownAndUpdateState();\r\n }, [props.VehicleID, state.filterVal]);\r\n\r\n const pullBreakDownAndUpdateState = async () => {\r\n let defecttypecode = '';\r\n if (props.VehicleID) {\r\n defecttypecode = '';\r\n }\r\n if (props?.match?.params?.all == 'typebo') {\r\n defecttypecode = 'bo';\r\n }\r\n if (props?.match?.params?.all == 'typebr') {\r\n defecttypecode = 'br';\r\n }\r\n if (props?.match?.params?.all == ':all') {\r\n defecttypecode = '';\r\n }\r\n\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date(),\r\n defecttypecode: defecttypecode\r\n }));\r\n };\r\n\r\n let urlForcondition = `VehicleBreakdowns/?${props.VehicleID ? `VehicleID=${props.VehicleID}` : ''}defecttypecode=${state.defecttypecode}`;\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.defectJobID}/${val?.defectVehicleID}`,\r\n state: 'breakdown'\r\n });\r\n };\r\n\r\n const handleEditBreakdown = (val) => {\r\n history.push({\r\n pathname: `/maintenance/breakdowns/Edit/${val?.defectID}/${val?.defectVehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n \r\n handleBreakDown(row.defectID, row.defectVehicleID, 'Edit')}\r\n onClick={() => handleEditBreakdown(row)}\r\n />\r\n {/* handleBreakDown(row.defectID, row.defectVehicleID, 'Edit')} /> */}\r\n {/* {isDriver ? null : (\r\n handleEditClick(row)}\r\n />\r\n )} */}\r\n \r\n );\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.defectVehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.defectRegNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.serviceAgentName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customer}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showSaModal: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n let agentNameCol = tempCols.find((element) => element.key === 'serviceAgentName');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (agentNameCol) {\r\n agentNameCol.formatter = renderAgentName;\r\n }\r\n if (!props.VehicleID) {\r\n tempCols.splice(1, 0, { key: 'customer', name: 'Customer Name', width: '10%', formatter: renderCustomerName });\r\n tempCols.splice(2, 0, { key: 'defectRegNumber', name: 'Reg Number', width: '8%', formatter: renderRegNumberEdit });\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n const gridBtnTitle = state.show || (props.VehicleID && checkhaveAccess?.CanAddBreakdowns) ? 'Add Breakdown' : null;\r\n\r\n return (\r\n
\r\n {state.modalToggle ? (\r\n <>\r\n
\r\n closeModal(true)}\r\n breakDownID={state.breakID}\r\n modalName={state.modalName}\r\n frompage={props.frompage || 'Breakdown'}\r\n />\r\n \r\n ) : (\r\n <>\r\n {props.frompage !== 'Vehicles' ? (\r\n
\r\n
\r\n \r\n
\r\n   \r\n
\r\n \r\n
\r\n
\r\n ) : null}\r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n idFieldName=\"defectID\"\r\n fileUploaderConfigName=\"BreakdownScreen\"\r\n getUrl={urlForcondition}\r\n btnTitle={gridBtnTitle}\r\n onBtnClick={() => handleBreakDown(null, state.filterVehicleID, 'Add')}\r\n isReload={state.isReload}\r\n getRegNumberVal={getRegNumberVal}\r\n />\r\n \r\n )}\r\n {state.showSaModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default BreakDownDashboard;\r\n","import { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\nimport { DatePicker, InputText, NoButton, SecondaryButton, SelectBox, YesButton, SingleSelect } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport '../../../../commonStyle.scss';\r\nimport { getAllScheduleEvents, getAllScheduleDropdowns } from '../../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport { getSchedulesById, postSchedule } from '../../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\n\r\nconst ScheduleAddEdit = (props) => {\r\n console.log(props, 'props');\r\n const [state, setState] = useState({\r\n vehicleID: null,\r\n scheduleID: null,\r\n scheduleEventID: props.vehicleServiceScheduleID || '',\r\n scheduleDateDue: props.vehicleNextServiceDateDue || '',\r\n scheduleEndDate: '',\r\n scheduleMilesDue: props.vehicleNextServiceMileage || '',\r\n scheduleFirstEvent: '',\r\n dropList: [],\r\n serviceAgentsList: [],\r\n scheduleEventName: '',\r\n scheduleServiceAgentIDValue: null\r\n });\r\n\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const pullDropList = async () => {\r\n let res = await getAllScheduleDropdowns(props.vehicleId);\r\n setState((st) => ({\r\n ...st,\r\n dropList: res.data.scheduleEvents,\r\n serviceAgentsList: res.data.serviceAgents\r\n }));\r\n };\r\n\r\n const pullSchedule = async () => {\r\n let res = await getSchedulesById(props.scheduleId);\r\n let temp = res.data;\r\n setState((st) => ({\r\n ...st,\r\n scheduleID: temp.scheduleID || null,\r\n vehicleID: temp.vehicleID || '',\r\n scheduleEventID: temp.scheduleEventID || '',\r\n scheduleDateDue: temp.scheduleDateDue || '',\r\n scheduleMilesDue: temp.scheduleMilesDue || '',\r\n scheduleFirstEvent: temp.scheduleFirstEvent || '',\r\n scheduleServiceAgentID: temp.scheduleServiceAgentID || '',\r\n scheduleEventName: temp.scheduleEventName,\r\n scheduleEndDate: temp.scheduleEndDate || ''\r\n }));\r\n };\r\n useEffect(() => {\r\n pullDropList();\r\n if (!props.isAdd) {\r\n pullSchedule();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n\r\n if (state.scheduleServiceAgentID && state.serviceAgentsList.length > 0) {\r\n newSt.scheduleServiceAgentIDValue = state.serviceAgentsList.find(({ id }) => id === state.scheduleServiceAgentID);\r\n }\r\n\r\n setState((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [state.scheduleServiceAgentID, state.serviceAgentsList]);\r\n\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n if (!/[^\\s]/.test(state.scheduleEventID)) {\r\n err.scheduleEventID = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.scheduleServiceAgentID)) {\r\n err.scheduleServiceAgentID = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.scheduleDateDue)) {\r\n err.scheduleDateDue = true;\r\n noErrors = false;\r\n }\r\n\r\n let temp = state.scheduleMilesDue;\r\n\r\n if (+temp < 0) {\r\n err.scheduleMilesDueN = true;\r\n noErrors = false;\r\n }\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n\r\n const handleData = async () => {\r\n if (validate()) {\r\n let response = await postSchedule({\r\n scheduleID: state.scheduleID || null,\r\n vehicleID: state.vehicleID || props.vehicleId,\r\n scheduleEventID: state.scheduleEventID || null,\r\n scheduleDateDue: state.scheduleDateDue || '',\r\n scheduleMilesDue: +state.scheduleMilesDue || null,\r\n // scheduleFirstEvent: state.scheduleFirstEvent || false,\r\n scheduleServiceAgentID: state.scheduleServiceAgentIDValue?.id,\r\n scheduleEndDate: state.scheduleEndDate\r\n });\r\n if (response) {\r\n response.success ? showToastSuccess('Vehicle Schedule updated successfully') : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n props.onClose();\r\n }\r\n };\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n setErrors({});\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const yesNoClicked = (ev) => {\r\n if (ev.target.innerText == 'YES') {\r\n setState((st) => ({\r\n ...st,\r\n scheduleFirstEvent: true\r\n }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n scheduleFirstEvent: false\r\n }));\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n \r\n Schedule Event\r\n \r\n \r\n \r\n Date Due\r\n \r\n {errors.scheduleDateDue ? 'This field is required' : null}\r\n \r\n \r\n Miles Due\r\n \r\n {errors.scheduleMilesDueN ? 'Negative value not allowed' : null}\r\n \r\n \r\n Service Agent\r\n \r\n {errors.scheduleServiceAgentID ? 'This field is required' : null}\r\n \r\n\r\n \r\n {'SAVE'}\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n );\r\n};\r\nexport default ScheduleAddEdit;\r\n","import { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport React, { useEffect, useState, useMemo } from 'react';\r\nimport { DataGrid, InputText, SecondaryButton, formatters } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport '../../../../commonStyle.scss';\r\nimport './scheduleVehicleStyle.scss';\r\nimport { getAllNotesById, postScheduleNotes } from '../../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport moment from 'moment';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst basecolumns = [\r\n { key: 'scheduleNoteDateCreated', width: '23%', name: 'Created on', formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'scheduleNoteCreatedBy', width: ' 22%', name: 'From User' },\r\n { key: 'scheduleNoteDescription', width: '55%', name: 'Notes' }\r\n];\r\n\r\nconst ScheduleNotes = (props) => {\r\n let getAccessParam = AppStorage.getAllowAcces();\r\n\r\n const [state, setState] = useState({\r\n noteText: '',\r\n showLoader: true\r\n });\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n const pullNoteList = async (Id) => {\r\n let res = await getAllNotesById(Id);\r\n\r\n setState((st) => ({\r\n ...st,\r\n rows: [...(res.data.schedules || [])],\r\n showLoader: false\r\n }));\r\n };\r\n useEffect(() => {\r\n pullNoteList(props.scheduleId);\r\n }, []);\r\n\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n if (!/[^\\s]/.test(state.noteText)) {\r\n err.noteText = true;\r\n noErrors = false;\r\n }\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n\r\n const handleData = async () => {\r\n if (validate()) {\r\n let response = await postScheduleNotes({\r\n scheduleNoteScheduleID: props.scheduleId,\r\n scheduleNoteDescription: state.noteText\r\n });\r\n if (response) {\r\n response.success ? showToastSuccess('Note added successfully') : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n props.onClose();\r\n }\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n return tempCols;\r\n }, []);\r\n\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n setErrors({});\r\n };\r\n\r\n const JobSingleNote = (props) => {\r\n return (\r\n
\r\n
\r\n {props.note.scheduleNoteDescription}\r\n
\r\n
\r\n {props.note.scheduleNoteCreatedBy} @ {moment(props.note.scheduleNoteDateCreated).format('LLL')}\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 ADD\r\n \r\n \r\n \r\n \r\n {errors.noteText ? 'Note is empty!' : null}\r\n \r\n\r\n {/* \r\n \r\n */}\r\n\r\n \r\n {state.rows?.map((n, i) => (\r\n <>\r\n \r\n
\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default ScheduleNotes;\r\n","import { FormHelperText, Grid, InputLabel, Typography } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\nimport { DatePicker, InputText, NoButton, SecondaryButton, SelectBox, TimePicker, YesButton } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport '../../../../commonStyle.scss';\r\nimport './scheduleVehicleStyle.scss';\r\nimport {\r\n getScheduleRequestBookingById,\r\n getAllDropDowns,\r\n postScheduleRequestBooking\r\n} from '../../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\n\r\nconst ScheduleBookingStatus = (props) => {\r\n const [state, setState] = useState({\r\n scheduleDateDue: '',\r\n scheduleID: null,\r\n scheduleNightBooking: null,\r\n scheduleRequestedBookingDate: '',\r\n scheduleRequestedBookingTimeSlot: '',\r\n dropList: [],\r\n showLocationBox: false,\r\n scheduleCollectionLocation: '',\r\n scheduleDeliveryLocation: ''\r\n });\r\n const [errors, setErrors] = useState([]);\r\n const { showToastSuccess, showToastError } = useToast();\r\n const pullBookingData = async () => {\r\n let DataList = await getAllDropDowns();\r\n setState((st) => ({\r\n ...st,\r\n dropList: DataList.data\r\n }));\r\n let res = await getScheduleRequestBookingById(props.scheduleId);\r\n let bookingData = res.data;\r\n setState((st) => ({\r\n ...st,\r\n vehicleID: bookingData.vehicleID || null,\r\n scheduleCollectAfter: bookingData.scheduleCollectAfter,\r\n scheduleCollectionAndDeliverID: bookingData.scheduleCollectionAndDeliverID,\r\n scheduleDateDue: bookingData.scheduleDateDue || '',\r\n scheduleDeliverBefore: bookingData.scheduleDeliverBefore,\r\n scheduleEventID: bookingData.scheduleEventID,\r\n scheduleEventName: bookingData.scheduleEventName,\r\n scheduleID: bookingData.scheduleID,\r\n scheduleNightBooking: bookingData.scheduleNightBooking,\r\n scheduleRequestedBookingDate: bookingData.scheduleRequestedBookingDate,\r\n scheduleRequestedBookingTimeSlot: bookingData.scheduleRequestedBookingTimeSlot,\r\n scheduleCollectionLocation: bookingData.scheduleCollectionLocation || '',\r\n scheduleDeliveryLocation: bookingData.scheduleDeliveryLocation || ''\r\n }));\r\n };\r\n useEffect(() => {\r\n pullBookingData();\r\n }, []);\r\n\r\n const checkNull = (param) => {\r\n if (/[^\\s]/.test(param)) {\r\n return param;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const validations = () => {\r\n const errors = [];\r\n let noErrors = true;\r\n if (state.showLocationBox) {\r\n if (!/[^\\s]/.test(state.scheduleCollectionLocation)) {\r\n errors.scheduleCollectionLocation = 'Collection Location Required';\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.scheduleDeliveryLocation)) {\r\n errors.scheduleDeliveryLocation = 'Delivery Location Required';\r\n noErrors = false;\r\n }\r\n setErrors(errors);\r\n return noErrors;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n const handleData = async (ev) => {\r\n if (validations()) {\r\n let response = await postScheduleRequestBooking({\r\n vehicleID: props.vehicleId,\r\n scheduleEventID: state.scheduleEventID,\r\n scheduleID: state.scheduleID,\r\n scheduleCollectionAndDeliverID: state.scheduleCollectionAndDeliverID,\r\n scheduleEventName: state.scheduleEventName,\r\n scheduleDateDue: state.scheduleDateDue,\r\n scheduleRequestedBookingDate: checkNull(state.scheduleRequestedBookingDate),\r\n scheduleRequestedBookingTimeSlot: checkNull(state.scheduleRequestedBookingTimeSlot),\r\n scheduleCollectAfter: checkNull(state.scheduleCollectAfter),\r\n scheduleDeliverBefore: checkNull(state.scheduleDeliverBefore),\r\n scheduleNightBooking: state.scheduleNightBooking,\r\n scheduleCollectionLocation: state.showLocationBox ? state.scheduleCollectionLocation : null,\r\n scheduleDeliveryLocation: state.showLocationBox ? state.scheduleDeliveryLocation : null\r\n });\r\n if (response) {\r\n response.success ? showToastSuccess('Request Booking Updated Successfully') : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n props.onClose(true);\r\n }\r\n };\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n setErrors({});\r\n };\r\n const yesNoChanged = (ev) => {\r\n if (ev.target.innerText == 'YES') {\r\n setState((st) => ({\r\n ...st,\r\n scheduleNightBooking: true\r\n }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n scheduleNightBooking: false\r\n }));\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (state.scheduleCollectionAndDeliverID === 3 || state.scheduleCollectionAndDeliverID === 4 || state.scheduleCollectionAndDeliverID === 5) {\r\n setState((st) => ({ ...st, showLocationBox: true }));\r\n } else {\r\n setState((st) => ({ ...st, showLocationBox: false }));\r\n }\r\n }, [state.scheduleCollectionAndDeliverID]);\r\n return (\r\n
\r\n \r\n \r\n Event\r\n {state.scheduleEventName}\r\n \r\n \r\n Date Due\r\n {state.scheduleDateDue ? moment(state.scheduleDateDue).format('DD/MM/YYYY') : 'No Date Assigned'}\r\n \r\n \r\n
\r\n\r\n \r\n \r\n Requested Booking Date\r\n \r\n \r\n \r\n Requested Booking Time Slot\r\n \r\n \r\n \r\n Is Night Booking?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Collection And Delivery\r\n \r\n \r\n \r\n Deliver Before\r\n \r\n \r\n \r\n Collect After\r\n \r\n \r\n {state.showLocationBox && (\r\n <>\r\n \r\n \r\n Collection Location\r\n \r\n \r\n {errors.scheduleCollectionLocation}\r\n \r\n \r\n \r\n Pickup Location\r\n \r\n \r\n {errors.scheduleDeliveryLocation}\r\n \r\n \r\n )}\r\n\r\n \r\n Save\r\n \r\n \r\n props.onClose(false)}>Cancel\r\n \r\n \r\n
\r\n );\r\n};\r\nexport default ScheduleBookingStatus;\r\n","import { FormHelperText, Grid, InputLabel, Typography } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\nimport { DatePicker, InputText, NoButton, SecondaryButton, SelectBox, YesButton } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport '../../../../commonStyle.scss';\r\nimport './scheduleVehicleStyle.scss';\r\nimport {\r\n getScheduleBookingSectionById,\r\n getAllDropDowns,\r\n postScheduleBookingSection,\r\n getScheduleRequestBookingById\r\n} from '../../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\n\r\nlet domainName = window.location.host;\r\nlet trimedhost = domainName.includes('localhost') ? 'localhost' : domainName;\r\nconst ScheduleBookingSection = (props) => {\r\n const [state, setState] = useState({\r\n scheduleBookingDate: '',\r\n scheduleDateDue: '',\r\n scheduleEventName: '',\r\n scheduleID: null,\r\n schedulePrepDate: '',\r\n scheduleServiceAgentID: '',\r\n dropList: []\r\n });\r\n const [requestBookingData, setRequestBookingData] = useState({\r\n scheduleRequestedBookingDate: 'N/A',\r\n scheduleRequestedBookingTimeSlot: 'N/A',\r\n scheduleNightBooking: 'N/A',\r\n scheduleCollectionAndDeliverID: null,\r\n scheduleCollectionAndDeliver: 'N/A',\r\n scheduleDeliverBefore: 'N/A',\r\n scheduleCollectAfter: 'N/A'\r\n });\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const formatTime = (value) => {\r\n let formattedTime = value ? moment(value, 'HH:mm:ss').format('hh:mm A') : 'N/A';\r\n return formattedTime;\r\n };\r\n\r\n const pullRequestBookingData = async () => {\r\n let res = await getScheduleRequestBookingById(props.scheduleId);\r\n let bookingData = res.data;\r\n setRequestBookingData((st) => ({\r\n ...st,\r\n scheduleCollectAfter: formatTime(bookingData.scheduleCollectAfter),\r\n scheduleCollectionAndDeliverID: bookingData.scheduleCollectionAndDeliverID || null,\r\n scheduleDeliverBefore: formatTime(bookingData.scheduleDeliverBefore),\r\n scheduleNightBooking: bookingData.scheduleNightBooking ? 'Yes' : bookingData.scheduleNightBooking === null ? 'N/A' : 'No',\r\n scheduleRequestedBookingDate: bookingData.scheduleRequestedBookingDate\r\n ? moment(bookingData.scheduleRequestedBookingDate).format('DD/MM/YYYY')\r\n : 'N/A',\r\n scheduleRequestedBookingTimeSlot: formatTime(bookingData.scheduleRequestedBookingTimeSlot)\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n scheduleBookingDate: bookingData.scheduleRequestedBookingDate || ''\r\n }));\r\n };\r\n\r\n const pullBookingData = async () => {\r\n let DataList = await getAllDropDowns();\r\n setState((st) => ({\r\n ...st,\r\n dropList: DataList.data\r\n }));\r\n let res = await getScheduleBookingSectionById(props.scheduleId);\r\n let bookingData = res.data;\r\n setState((st) => ({\r\n ...st,\r\n vehicleID: bookingData.vehicleID || null,\r\n // scheduleBookingDate: bookingData.scheduleBookingDate || bookingData.scheduleRequestedBookingDate || '',\r\n scheduleDateDue: moment(bookingData.scheduleDateDue).format('DD/MM/YYYY') || '',\r\n scheduleEventName: bookingData.scheduleEventName,\r\n scheduleID: bookingData.scheduleID,\r\n schedulePrepDate: bookingData.schedulePrepDate || '',\r\n scheduleServiceAgentID: bookingData.scheduleServiceAgentID || ''\r\n }));\r\n };\r\n useEffect(() => {\r\n pullBookingData();\r\n pullRequestBookingData();\r\n }, []);\r\n useEffect(() => {\r\n let collName = state.dropList.collectionAndDelivery?.filter((x) => x.id == requestBookingData.scheduleCollectionAndDeliverID).map((z) => z.name)[0];\r\n setRequestBookingData((st) => ({\r\n ...st,\r\n scheduleCollectionAndDeliver: collName || 'N/A'\r\n }));\r\n }, [state.dropList, requestBookingData.scheduleCollectionAndDeliverID]);\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n // if (!/[^\\s]/.test(state.schedulePrepDate)) {\r\n // err.schedulePrepDate = true;\r\n // noErrors = false;\r\n // }\r\n if (!/[^\\s]/.test(state.scheduleServiceAgentID)) {\r\n err.scheduleServiceAgentID = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.scheduleBookingDate)) {\r\n err.scheduleBookingDate = true;\r\n noErrors = false;\r\n }\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n const checkNull = (param) => {\r\n if (/[^\\s]/.test(param)) {\r\n return param;\r\n } else {\r\n return null;\r\n }\r\n };\r\n const handleData = async (ev) => {\r\n if (validate()) {\r\n let response = await postScheduleBookingSection({\r\n vehicleID: props.vehicleId,\r\n scheduleID: state.scheduleID,\r\n scheduleBookingDate: checkNull(state.scheduleBookingDate),\r\n scheduleServiceAgentsID: state.scheduleServiceAgentID,\r\n domainName: trimedhost,\r\n schedulePrepDate: checkNull(state.schedulePrepDate)\r\n });\r\n if (response) {\r\n response.success ? showToastSuccess('Job Booked Successfully') : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n props.onClose(true);\r\n }\r\n };\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n setErrors({});\r\n };\r\n const yesNoChanged = (ev) => {\r\n if (ev.target.innerText == 'YES') {\r\n setState((st) => ({\r\n ...st,\r\n scheduleNightBooking: true\r\n }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n scheduleNightBooking: false\r\n }));\r\n }\r\n };\r\n return (\r\n
\r\n \r\n \r\n Event\r\n {state.scheduleEventName}\r\n \r\n \r\n Date Due\r\n {state.scheduleDateDue || 'No Date Assigned'}\r\n \r\n \r\n \r\n Requested Booking Date\r\n {requestBookingData.scheduleRequestedBookingDate}\r\n \r\n \r\n Requested Booking Time Slot\r\n {requestBookingData.scheduleRequestedBookingTimeSlot}\r\n \r\n \r\n Is Night Booking?\r\n {requestBookingData.scheduleNightBooking}\r\n \r\n \r\n Collection And Delivery\r\n {requestBookingData.scheduleCollectionAndDeliver}\r\n \r\n \r\n Deliver Before\r\n {requestBookingData.scheduleDeliverBefore}\r\n \r\n \r\n Collect After\r\n {requestBookingData.scheduleCollectAfter}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Booking Date\r\n \r\n {errors.scheduleBookingDate ? 'This field is required' : null}\r\n \r\n \r\n Prep Date\r\n \r\n {errors.schedulePrepDate ? 'This field is required' : null}\r\n \r\n \r\n Service Agent\r\n \r\n {errors.scheduleServiceAgentID ? 'This field is required' : null}\r\n \r\n \r\n Book Job\r\n \r\n \r\n props.onClose(false)}>Cancel\r\n \r\n \r\n
\r\n );\r\n};\r\nexport default ScheduleBookingSection;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\nimport { memoize } from 'lodash';\r\n\r\nexport const getChecksAddTabByID = memoize(async (id) => {\r\n let res = await getWithAuth(`VehicleInspection/AddScreenDetails/${id}`);\r\n return res;\r\n});\r\n\r\nexport const postChecksData = async (data) => {\r\n let res = await postWithAuth(`VehicleInspection`, data);\r\n return res;\r\n};\r\n\r\nexport const getChecksEditByID = async (id) => {\r\n let res = await getWithAuth(`VehicleInspection/EditScreenDetails/${id}`);\r\n return res;\r\n};\r\n\r\nexport const getChecks = async (id) => {\r\n let res = await getWithAuth(`VehicleInspection/list`);\r\n return res;\r\n};\r\n\r\nexport const getSingleChecks = async (id) => {\r\n let res = await getWithAuth(`VehicleInspection/DefectDetails?ResultID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const postSingleChecksData = async (data) => {\r\n let res = await postWithAuth(`VehicleInspection/DefectDetails `, data);\r\n return res;\r\n};\r\n\r\nexport const PostImage = async (data) => {\r\n let res = await postWithAuth(`VehicleInspectionsPhoto`, data);\r\n return res;\r\n};\r\nexport const getImageByID = async (id) => {\r\n let res = await getWithAuth(`VehicleInspectionsPhoto/${id}`);\r\n return res;\r\n};\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI0AAABRCAYAAADvoiXxAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMSSURBVHhe7dzLqhpBFIXh8o6CgigIguBM8f1fRkQcCIqgHEG8XxJXUwYjHjjb2NVx7/VBky4dZNB/qsqOdurXlaO/DIdDt16v/eh7+XzedbtdP7Ij7f8k+jFGQ2KMhsQYDYkxGhJjNCTGaEiM0ZAYoyExRkNijIbEGA2JMRoSYzQkxmhIjNGQGKN5At9Lu1wu7ng8RsfhcIiO2xjvWf7uGqO5czqd3GQycavVKjpHGPdx3MZ4D/Hs9/vosIZf9/QQymg0imYUqWazGR1WMJqr2WzmxuOxH72m0Wi4VqvlR7qZjwbLEY53qNfrrt1u+5Fepvc0X19fbwsG5vP5P89Yn8BsNNjAxnGBsdQtl0s/0slsNNPp9KVN709gQ30+n/1IH5PRYBnBERcE885l739jMpoQFxTLlNZ7OOaiwf2YuJalR4vFwp/pYi6akBcSs43GvY2paHAB49zLPMLft9ls/EgPU9FgaQotZKShmIomifsnGu/ZmIomiaUCS5S2T1GMJoDtduvPdDATTZIbUs40HyrJj77aPkGZiSbUDT0LTO1pkqItWEZDYoyGxBhNAHjesCZmoknywmWzWX+mA6MJgDPNhyoUCi6TyfhRWKVSyZ/pYGpPk9TFYzQfrFwu+7NwisViYjNcXBhNzCqVij/Tw1w0of/V12o1f6aHqWgAv7kOBZ+atO1ngNHESOuTJMxFg+UpxJKBWQYPBNDIXDSAGSDuvY3m59WYjAY3+uK8qNhwa51lwGQ0gL1NHB/BsSxpf0aN2WgAF/fd/y+Ep2FhJtPMdDS4uJ1O523hIMJqtepHevGZe1f4tUC/33/5a5nYVGOG0byPucdoPPxaAY8gwY/2JbAvwgyjfUm6x2geYNYZDAZut9v5V55LpVLRf0b2ej3/ih2m9zTPYMZADLlcLvrGHZaedDr958BreA8HxhYxmm9gJkEUiAah3A68hvcsYzQkxmhIjNGQGKMhMUZDYoyGxBgNiTEaEmM0JMZoSIzRkBijITFGQ2KMhsQYDYkxGhJjNCTGaEiM0ZAYoyEh534Dro8Yg7Uu3YAAAAAASUVORK5CYIJVNxErAAAAAElFTkSuQmCCgg==\"","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport singleAxel from './VehicleDiagrams/images1.png';\r\nimport doubleAxelOne from './VehicleDiagrams/axImage01.png';\r\nimport doubleAxelTwo from './VehicleDiagrams/azImage02.png';\r\nimport doubleAxelThree from './VehicleDiagrams/axImage03.png';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SimpleField, SecondaryCheckbox, InputText } from '../../../../../Core/Controls';\r\nimport { InputLabel, Typography, FormHelperText } from '@material-ui/core';\r\n\r\nconst style = {\r\n axOS: {\r\n marginTop: '45px'\r\n },\r\n axOS2: {\r\n marginTop: '152px'\r\n },\r\n ax2OS: {\r\n marginTop: '-17px'\r\n },\r\n ax2OS2: {\r\n marginTop: '8px'\r\n },\r\n ax2NS: { marginTop: '150px' },\r\n ax2Break: { marginBottom: '5px' },\r\n axBreakHeading: { textAlign: 'center' }\r\n};\r\n\r\nconst Axel = (props) => {\r\n const { handleInputs, state, classes } = props;\r\n\r\n return (\r\n <>\r\n \r\n {/* Axel 1...................... */}\r\n \r\n \r\n

AXLE 1

\r\n
\r\n \r\n \r\n \r\n \r\n Depth*\r\n \r\n\r\n \r\n \r\n Depth*\r\n \r\n\r\n \r\n \r\n \r\n \r\n Brakelining*\r\n \r\n \r\n \r\n \r\n Brakelining*\r\n \r\n \r\n \r\n \r\n \r\n Pressure*\r\n \r\n \r\n \r\n Pressure*\r\n \r\n \r\n \r\n \r\n \r\n {state.errors?.axelone}\r\n \r\n \r\n
\r\n {/* Axel 2 ..................... */}\r\n \r\n

AXLE 2

\r\n \r\n \r\n \r\n \r\n Depth*\r\n \r\n \r\n \r\n Depth*\r\n \r\n \r\n \r\n Depth*\r\n \r\n \r\n \r\n Depth*\r\n \r\n \r\n \r\n \r\n \r\n \r\n Brakelining*\r\n \r\n \r\n \r\n \r\n Brakelining*\r\n \r\n \r\n \r\n \r\n \r\n \r\n Pressure*\r\n \r\n \r\n \r\n Pressure*\r\n \r\n \r\n \r\n Pressure*\r\n \r\n \r\n \r\n Pressure*\r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors?.axeltwo}\r\n \r\n
\r\n\r\n {/* Axel 3 ..................... */}\r\n \r\n

AXLE 3

\r\n \r\n \r\n \r\n \r\n Depth\r\n \r\n \r\n \r\n Depth\r\n \r\n \r\n \r\n Depth\r\n \r\n \r\n \r\n Depth\r\n \r\n \r\n \r\n \r\n \r\n \r\n Brakelining\r\n \r\n \r\n\r\n \r\n \r\n Brakelining\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Pressure\r\n \r\n \r\n \r\n Pressure\r\n \r\n \r\n \r\n Pressure\r\n \r\n \r\n \r\n Pressure\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n {/* Axel 4 ..................... */}\r\n \r\n

AXLE 4

\r\n \r\n \r\n \r\n \r\n Depth\r\n \r\n \r\n \r\n Depth\r\n \r\n \r\n \r\n Depth\r\n \r\n \r\n \r\n Depth\r\n \r\n \r\n \r\n \r\n \r\n \r\n Brakelining\r\n \r\n \r\n\r\n \r\n \r\n Brakelining\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Pressure\r\n \r\n \r\n \r\n Pressure\r\n \r\n \r\n \r\n Pressure\r\n \r\n \r\n \r\n Pressure\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n {state.showTost ? state.axleErrors.message : ''}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Axel;\r\n","import React, { useEffect, useState, useRef, useLayoutEffect } from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport SignaturePad from 'react-signature-canvas';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\n\r\nimport moment from 'moment';\r\nimport {\r\n Tooltip,\r\n InputLabel,\r\n Grid,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableContainer,\r\n TableHead,\r\n TableRow,\r\n Paper,\r\n Button,\r\n FormHelperText,\r\n Typography,\r\n CircularProgress,\r\n Hidden\r\n} from '@material-ui/core';\r\nimport {\r\n SecondaryButton,\r\n InputText,\r\n FailButton,\r\n PassButton,\r\n NAButton,\r\n MButton,\r\n RButton,\r\n DatePicker,\r\n SecondaryCheckbox,\r\n UploadWithBadge,\r\n PassAllbutton\r\n} from '../../../../../Core/Controls';\r\nimport { getChecksAddTabByID, postChecksData, PostImage, getImageByID } from '../../../../../Core/Services/InternalUser/Vehicle/vehicleTabChecks';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport { getVehicleById } from '../../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport Axle from './vehicleAxel';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\r\nimport '../../controllerStyle.scss';\r\nimport ImageModal from '../DriverDailyChecks/imageModal';\r\nimport ConfirmationModal from '../../../../../Core/Modal/ConfirmationModal';\r\n\r\nimport { getTitleData } from '../../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '8px 20px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '8px 10px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n marginTop: 15\r\n },\r\n table: {\r\n minWidth: '100%'\r\n },\r\n loader: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: 300\r\n },\r\n\r\n title: {\r\n color: '#f50057',\r\n marginLeft: 8,\r\n marginTop: 8,\r\n marginBottom: 8\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n color: theme.palette.text.secondary,\r\n border: '1px solid rgba(0,0,0,0.2)'\r\n },\r\n axelTitles: {\r\n textAlign: 'center',\r\n color: '#f50057',\r\n width: '100%'\r\n },\r\n headings: {\r\n color: '#f50057',\r\n margin: 0,\r\n marginLeft: -4,\r\n marginBottom: 20\r\n },\r\n loader: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: 300\r\n }\r\n}));\r\n\r\nconst CheckButtons = {\r\n D: FailButton,\r\n M: MButton,\r\n N: NAButton,\r\n S: PassButton,\r\n R: RButton\r\n};\r\n\r\nconst VehicleDailyChecks = (props) => {\r\n const classes = useStyles();\r\n const { displayName } = useLoginInfo();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const [state, setState] = useState({\r\n checksList: [],\r\n buttonList: [],\r\n passVal: false,\r\n imageUpload: [],\r\n date: moment().format('YYYY-MM-DD'),\r\n inspectionSheetAxlesVM: [],\r\n VehicleDailyCheckResultsVM: [],\r\n vehicleInspectionID: null,\r\n vehicleInspectionScheduleID: props.sheduleID,\r\n vehicleDailyCheckCheckerName: displayName,\r\n vehicleInspectionStatusID: null,\r\n vehicleInspectionDateInspected: moment().format('YYYY-MM-DD'),\r\n vehicleInspectionResult: null,\r\n vehicleInspectionSignedOffComment: null,\r\n vehicleInspectionSignedOffName: null,\r\n vehicleInspectionSignedOffSignature: null,\r\n vehicleInspectionSignedOffDate: null,\r\n vehicleInspectionSignedOffIPAddress: null,\r\n loader: true,\r\n signAvailable: AppStorage.getSignature() === 'absent' ? false : true,\r\n windowWidth: window.innerWidth,\r\n axleErrors: {},\r\n showTost: false,\r\n showConfirmMessage: false\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const handleInput = (e) => {\r\n const { name, value } = e.target;\r\n if (name === 'vehicleInspectionBrakeTestTypeID') {\r\n setState((state) => ({ ...state, [name]: +value }));\r\n } else {\r\n setState((state) => ({ ...state, [name]: value }));\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n if (props.sheduleVechicleID) {\r\n let vehicleInformation = await getTitleData(props.sheduleVechicleID);\r\n\r\n if (vehicleInformation.success) {\r\n setState((st) => ({\r\n ...st,\r\n vehicleInfo: vehicleInformation.data.details[0]?.vehicleDescription\r\n }));\r\n }\r\n let res2 = await getVehicleById(props.sheduleVechicleID);\r\n if (res2.success) {\r\n const data = res2.data;\r\n setState((st) => ({\r\n ...st,\r\n regNumber: data.vehicleRegNumber,\r\n modelID: data.vehicleModel,\r\n makeID: data.vehicleMake\r\n }));\r\n }\r\n let res = await getChecksAddTabByID(props.sheduleVechicleID);\r\n if (res.success) {\r\n let tempArray = [];\r\n res.data.inspectionSheetSectionsVM?.map((q) => {\r\n q.inspectionSheetChecksVM?.map((r) => {\r\n r.inspectionSheetCheckResultCheckID = r.inspectionSheetCheckID;\r\n r.inspectionSheetCheckResultOptionCode = null;\r\n r.inspectionSheetCheckResultNotes = null;\r\n r.inspectionSheetCheckResultIMReference = null;\r\n r.inspectionSheetCheckResultDefectID = null;\r\n tempArray.push(r);\r\n });\r\n });\r\n\r\n setState((st) => ({\r\n ...st,\r\n checksList: res.data.inspectionSheetSectionsVM,\r\n buttonList: res.data.inspectionSheetCheckOptionsVM,\r\n VehicleDailyCheckResultsVM: tempArray,\r\n loader: false\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const signCanvas = useRef({});\r\n\r\n const clear = () => {\r\n if (state.imgtechniciansign) {\r\n setState((st) => ({\r\n ...st,\r\n imgtechniciansign: false,\r\n techniciansign: null\r\n }));\r\n } else {\r\n signCanvas.current.clear();\r\n }\r\n };\r\n\r\n const GetTechnicianSign = () => {\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n techniciansign: signCanvas.current.toDataURL()\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n const useWindowSize = () => {\r\n const [size, setSize] = useState([0, 0]);\r\n useLayoutEffect(() => {\r\n const updateSize = () => {\r\n setSize([window.innerWidth, window.innerHeight]);\r\n };\r\n window.addEventListener('resize', updateSize);\r\n updateSize();\r\n return () => window.removeEventListener('resize', updateSize);\r\n }, []);\r\n return size;\r\n };\r\n const [widths, heights] = useWindowSize();\r\n\r\n const imageHandler = (inspectioncheckID) => {\r\n let changedArray = [...state.VehicleDailyCheckResultsVM];\r\n let objIndex = state.VehicleDailyCheckResultsVM.findIndex((x) => x.inspectionSheetCheckID === inspectioncheckID);\r\n setState((st) => ({ ...st, showImageModal: true, inspectioncheckID: inspectioncheckID, selectedImages: changedArray[objIndex].images || [] }));\r\n };\r\n const onImageChange = (imageList, addUpdateIndex) => {\r\n // let tempArray = [];\r\n let changedArray = [...state.VehicleDailyCheckResultsVM];\r\n let FilterimagesList;\r\n let objIndex = state.VehicleDailyCheckResultsVM.findIndex((x) => x.inspectionSheetCheckID === state.inspectioncheckID);\r\n\r\n if (`${objIndex}`) {\r\n FilterimagesList = imageList.map((m) => (m.data_url ? m.data_url : m));\r\n changedArray[objIndex].images = FilterimagesList;\r\n }\r\n\r\n let tempArray = [...state.imageUpload];\r\n tempArray.push({ inspectionSheetCheckCheckID: state.inspectioncheckID, inspectionSheetCheckPhotos: FilterimagesList });\r\n\r\n // let tempImgUploadArray = { inspectionSheetCheckCheckID: state.inspectioncheckID, inspectionSheetCheckPhotos: [...FilterimagesList] };\r\n // tempArray.push(tempImgUploadArray);\r\n setState((st) => ({ ...st, VehicleDailyCheckResultsVM: changedArray, selectedImages: FilterimagesList, imageUpload: tempArray }));\r\n };\r\n\r\n const changeState = (buttonVal, checkId) => {\r\n let changedArray = [...state.VehicleDailyCheckResultsVM];\r\n let objIndex = state.VehicleDailyCheckResultsVM.findIndex((x) => x.inspectionSheetCheckID === checkId);\r\n changedArray[objIndex].inspectionSheetCheckResultOptionCode = buttonVal;\r\n setState((st) => ({ ...st, VehicleDailyCheckResultsVM: changedArray }));\r\n };\r\n\r\n const changeNotesState = (id, des) => (e) => {\r\n let changedArray = [...state.VehicleDailyCheckResultsVM];\r\n let objIndex = state.VehicleDailyCheckResultsVM.findIndex((x) => x.inspectionSheetCheckID === id);\r\n changedArray[objIndex].inspectionSheetCheckResultNotes = e.target.value;\r\n setState((st) => ({ ...st, VehicleDailyCheckResultsVM: changedArray }));\r\n };\r\n\r\n const changeAllChildChecks = (buttonId, condition, groupLabel) => () => {\r\n const grp = state.checksList.find((l) => l.inspectionSheetSectionDescription === groupLabel);\r\n if (grp.state === true) {\r\n grp.state = false;\r\n } else {\r\n grp.state = condition;\r\n }\r\n if (grp) {\r\n const sheetsCheckIds = grp.inspectionSheetChecksVM.map((p) => p.inspectionSheetCheckID);\r\n setState((st) => {\r\n const newSt = { ...st };\r\n sheetsCheckIds.forEach((id) => {\r\n const sheetsCheck = newSt.VehicleDailyCheckResultsVM.find((c) => c.inspectionSheetCheckID === id);\r\n if (sheetsCheck) {\r\n sheetsCheck.inspectionSheetCheckResultOptionCode = grp.state ? buttonId : null;\r\n newSt[id] = grp.state ? buttonId : null;\r\n }\r\n });\r\n return { ...newSt, VehicleDailyCheckResultsVM: [...newSt.VehicleDailyCheckResultsVM] };\r\n });\r\n }\r\n };\r\n\r\n const handleInputs = (axelNo) => (e) => {\r\n let showError = {};\r\n const { name, value } = e.target;\r\n let showTost = false;\r\n setState((st) => {\r\n let ax = st.inspectionSheetAxlesVM.find((a) => a.axleNumber === axelNo);\r\n if (!ax) {\r\n ax = { axleNumber: axelNo };\r\n st.inspectionSheetAxlesVM.push(ax);\r\n }\r\n ax[name] = value;\r\n switch (name) {\r\n case 'osTreadDepth':\r\n showError.message = (value > 0 && value > 20) || value < 0 ? `Axle ${axelNo} ${name} must be Smaller than 20 and greater than 0` : null;\r\n showTost = true;\r\n break;\r\n case 'osFrontTreadDepth':\r\n showError.message = (value > 0 && value > 20) || value < 0 ? `Axle ${axelNo} ${name} must be Smaller than 20 and greater than 0` : null;\r\n showTost = true;\r\n break;\r\n case 'nsTreadDepth':\r\n showError.message = (value > 0 && value > 20) || value < 0 ? `Axle ${axelNo} ${name} must be Smaller than 20 and greater than 0` : null;\r\n showTost = true;\r\n break;\r\n case 'nsFrontTreadDepth':\r\n showError.message = (value > 0 && value > 20) || value < 0 ? `Axle ${axelNo} ${name} must be Smaller than 20 and greater than 0` : null;\r\n showTost = true;\r\n break;\r\n case 'oSTyrePressure':\r\n showError.message = (value > 0 && value > 70) || value < 0 ? `Axle ${axelNo} ${name} must be Smaller than 70 and greater than 0` : null;\r\n showTost = true;\r\n break;\r\n case 'oSFrontTyrePressure':\r\n showError.message = (value > 0 && value > 70) || value < 0 ? `Axle ${axelNo} ${name} must be Smaller than 70 and greater than 0` : null;\r\n showTost = true;\r\n break;\r\n case 'nSTyrePressure':\r\n showError.message = (value > 0 && value > 70) || value < 0 ? `Axle ${axelNo} ${name} must be Smaller than 70 and greater than 0` : null;\r\n showTost = true;\r\n break;\r\n case 'nSFrontTyrePressure':\r\n showError.message = (value > 0 && value > 70) || value < 0 ? `Axle ${axelNo} ${name} must be Smaller than 70 and greater than 0` : null;\r\n showTost = true;\r\n break;\r\n case 'nsBrakeLineRemaining':\r\n showError.message = (value > 0 && value > 100) || value < 0 ? `Axle ${axelNo} ${name} must be Smaller than 100 and greater than 0` : null;\r\n showTost = true;\r\n break;\r\n case 'osBrakeLineRemaining':\r\n showError.message = (value > 0 && value > 100) || value < 0 ? `Axle ${axelNo} ${name} must be Smaller than 100 and greater than 0` : null;\r\n showTost = true;\r\n break;\r\n\r\n default:\r\n showError.message = null;\r\n showTost = false;\r\n break;\r\n }\r\n\r\n return { ...st, inspectionSheetAxlesVM: [...st.inspectionSheetAxlesVM], axleErrors: showError, showTost: showTost };\r\n });\r\n };\r\n\r\n const validations = () => {\r\n let formIsValid = true;\r\n let errors = {};\r\n let checksOption = state.VehicleDailyCheckResultsVM.filter((x) => {\r\n return x.inspectionSheetCheckResultOptionCode === null;\r\n });\r\n\r\n let checksNotes = state.VehicleDailyCheckResultsVM.filter((x) => {\r\n return (\r\n (x.inspectionSheetCheckResultOptionCode === 'D' && x.inspectionSheetCheckResultNotes == null) ||\r\n (x.inspectionSheetCheckResultOptionCode === 'M' && x.inspectionSheetCheckResultNotes == null)\r\n );\r\n });\r\n let axel1Validation = state.inspectionSheetAxlesVM.find((a) => a.axleNumber === 1);\r\n let axel2Validation = state.inspectionSheetAxlesVM.find((a) => a.axleNumber === 2);\r\n let Axeloneval = 1;\r\n let Axeltwoval = 1;\r\n\r\n if (axel1Validation) {\r\n Axeloneval = Object.keys(axel1Validation).length;\r\n }\r\n if (axel2Validation) {\r\n Axeltwoval = Object.keys(axel2Validation).length;\r\n }\r\n\r\n if (!state.vehicleDailyCheckMileage) {\r\n errors.vehicleDailyCheckMileage = `Odometer Reading  is required`;\r\n formIsValid = false;\r\n }\r\n if (checksOption.length > 0) {\r\n errors.message = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (Axeloneval <= 6) {\r\n errors.axelone = 'Axel 1 fields are required';\r\n formIsValid = false;\r\n }\r\n\r\n if (Axeltwoval <= 10) {\r\n errors.axeltwo = 'Axel 2 fields are required';\r\n formIsValid = false;\r\n }\r\n\r\n if (checksNotes.length > 0) {\r\n errors.note = 'Note is required';\r\n formIsValid = false;\r\n }\r\n\r\n if (!state.techniciansign) {\r\n errors.techniciansign = 'Signature is required';\r\n formIsValid = false;\r\n }\r\n if (!state.vehicleInspectionInspectionComment) {\r\n errors.vehicleInspectionInspectionComment = 'Vehicle checker Comment is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors: errors\r\n }));\r\n return formIsValid;\r\n };\r\n const useDefaultSig = () => {\r\n setState((st) => ({ ...st, imgtechniciansign: true, techniciansign: AppStorage.getSignature() }));\r\n };\r\n const handleConfirmPopup = () => {\r\n if (validations()) {\r\n setState((st) => ({\r\n ...st,\r\n showConfirmMessage: !st.showConfirmMessage\r\n }));\r\n }\r\n };\r\n\r\n const submitData = async () => {\r\n let resultVM = state.VehicleDailyCheckResultsVM.map((e) => ({\r\n inspectionSheetCheckResultCheckID: e.inspectionSheetCheckResultCheckID,\r\n inspectionSheetCheckResultOptionCode: e.inspectionSheetCheckResultOptionCode,\r\n inspectionSheetCheckResultNotes: e.inspectionSheetCheckResultNotes,\r\n inspectionSheetCheckResultIMReference: e.inspectionSheetCheckResultIMReference,\r\n inspectionSheetCheckResultDefectID: e.inspectionSheetCheckResultDefectID\r\n }));\r\n\r\n let data = {\r\n vehicleInspectionScheduleID: state.vehicleInspectionScheduleID,\r\n vehicleInspectionStatusID: state.vehicleInspectionStatusID,\r\n vehicleInspectionDateInspected: state.vehicleInspectionDateInspected,\r\n vehicleInspectionResult: state.vehicleInspectionResult,\r\n vehicleInspectionMileage: state.vehicleDailyCheckMileage,\r\n vehicleInspectionInspectorName: state.vehicleDailyCheckCheckerName,\r\n vehicleInspectionInspectorSignature: state.techniciansign,\r\n vehicleInspectionInspectionComment: state.vehicleInspectionInspectionComment,\r\n vehicleInspectionSignedOffName: state.vehicleInspectionSignedOffName,\r\n vehicleInspectionSignedOffSignature: state.vehicleInspectionSignedOffSignature,\r\n vehicleInspectionSignedOffDate: state.vehicleInspectionSignedOffDate,\r\n vehicleInspectionSignedOffIPAddress: state.vehicleInspectionSignedOffIPAddress,\r\n vehicleInspectionBrakeTestTypeID: state.vehicleInspectionBrakeTestTypeID,\r\n vehicleInspectionBrakeTestNumber: state.vehicleInspectionBrakeTestNumber,\r\n vehicleInspectionRoadCondition: state.vehicleInspectionRoadCondition,\r\n vehicleInspectionServiceBrakePerformance: state.vehicleInspectionServiceBrakePerformance,\r\n vehicleInspectionSecondaryBrakePerformance: state.vehicleInspectionSecondaryBrakePerformance,\r\n vehicleInspectionParkingBrakePerformance: state.vehicleInspectionParkingBrakePerformance,\r\n vehicleInspectionID: state.vhicleInspectionID,\r\n vehicleInspectionSignedOffComment: state.vehicleInspectionSignedOffComment,\r\n inspectionSheetCheckResultsVM: resultVM,\r\n inspectionSheetAxlesVM: state.inspectionSheetAxlesVM,\r\n inspectionSheetCheckPhotoVM: state.imageUpload\r\n };\r\n setBtnLoader(true);\r\n let res = await postChecksData(data);\r\n if (res.success) {\r\n showToastSuccess('Vehicle Checks added successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n };\r\n\r\n const sumbitImage = () => {\r\n if (state.selectedImages.length > 0) {\r\n showToastSuccess('Images Uploaded successfully');\r\n let changedArray = [...state.VehicleDailyCheckResultsVM];\r\n let objIndex = state.VehicleDailyCheckResultsVM.findIndex((x) => x.inspectionSheetCheckID === state.inspectioncheckID);\r\n changedArray[objIndex].basicCount = changedArray[objIndex].images.length; // changedArray[objIndex].inspectionSheetCheckResultNotes = e.target.value;\r\n setState((st) => ({ ...st, VehicleDailyCheckResultsVM: changedArray }));\r\n }\r\n setState((st) => ({ ...st, showImageModal: false }));\r\n };\r\n\r\n return (\r\n
\r\n {state.loader ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n {props.frompage ? (\r\n \r\n \r\n {state.vehicleInfo?.toUpperCase() || ''}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n {state.date}\r\n \r\n \r\n \r\n \r\n \r\n = 960 ? 'space-evenly' : 'flex-start'}>\r\n {state.buttonList?.map((k) => {\r\n const Comp = CheckButtons[k.inspectionSheetCheckOptionCode];\r\n return (\r\n \r\n {/* */}\r\n \r\n \r\n {k.inspectionSheetCheckOptionDescription}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n {state.buttonList?.map((k) => {\r\n const Comp = CheckButtons[k.inspectionSheetCheckOptionCode];\r\n return (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n   \r\n \r\n {k.inspectionSheetCheckOptionDescription}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n {state.checksList?.map((m) => (\r\n \r\n \r\n \r\n

{m.inspectionSheetSectionDescription}

\r\n
\r\n \r\n \r\n {/* ....For xl and lg view... */}\r\n \r\n \r\n Check\r\n \r\n \r\n Action{' '}\r\n \r\n \r\n Upload\r\n \r\n = 1268 ? '40%' : '35%'}>Defect\r\n \r\n \r\n {/* ....only for md view... */}\r\n \r\n \r\n Check\r\n \r\n \r\n Actions{' '}\r\n \r\n {/* \r\n Upload\r\n \r\n = 1268 ? '40%' : '35%'}>Defect */}\r\n \r\n \r\n {/* ....for sm and xs view.... */}\r\n \r\n \r\n {/* Check */}\r\n \r\n \r\n Check{' '}\r\n \r\n {/* \r\n Upload\r\n \r\n = 1268 ? '40%' : '35%'}>Defect */}\r\n \r\n \r\n \r\n \r\n {m.inspectionSheetChecksVM?.map((p) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {p.inspectionSheetCheckDescription}\r\n
\r\n {!p.inspectionSheetCheckResultOptionCode && state.errors?.message ? (\r\n {state.errors?.message}\r\n ) : null}\r\n
\r\n\r\n \r\n \r\n {state.buttonList.map((b) => {\r\n const Comp = CheckButtons[b.inspectionSheetCheckOptionCode] || Button;\r\n return (\r\n \r\n \r\n changeState(b.inspectionSheetCheckOptionCode, p.inspectionSheetCheckID)\r\n }\r\n state={\r\n p.inspectionSheetCheckResultOptionCode ===\r\n b.inspectionSheetCheckOptionCode\r\n }\r\n />\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n imageHandler(p.inspectionSheetCheckID)}\r\n count={p.basicCount}\r\n state={p.basicCount > 0}\r\n />\r\n \r\n\r\n \r\n \r\n {/* {p.inspectionSheetCheckResultOptionCode === 'D' || p.inspectionSheetCheckResultOptionCode === 'M' ? ( */}\r\n \r\n {state.errors?.note}\r\n \r\n {/* ) : null} */}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {p.inspectionSheetCheckDescription}\r\n
\r\n {!p.inspectionSheetCheckResultOptionCode && state.errors?.message ? (\r\n {state.errors?.message}\r\n ) : null}\r\n
\r\n\r\n \r\n \r\n {state.buttonList.map((b) => {\r\n const Comp = CheckButtons[b.inspectionSheetCheckOptionCode] || Button;\r\n return (\r\n \r\n \r\n changeState(b.inspectionSheetCheckOptionCode, p.inspectionSheetCheckID)\r\n }\r\n state={\r\n p.inspectionSheetCheckResultOptionCode ===\r\n b.inspectionSheetCheckOptionCode\r\n }\r\n />\r\n \r\n );\r\n })}\r\n \r\n imageHandler(p.inspectionSheetCheckID)}\r\n count={p.basicCount}\r\n state={p.basicCount > 0}\r\n />\r\n \r\n \r\n \r\n {/* {p.inspectionSheetCheckResultOptionCode === 'D' || p.inspectionSheetCheckResultOptionCode === 'M' ? ( */}\r\n {/* \r\n {state.errors?.note}\r\n */}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {p.inspectionSheetCheckDescription}\r\n
\r\n {!p.inspectionSheetCheckResultOptionCode && state.errors?.message ? (\r\n {state.errors?.message}\r\n ) : null}\r\n
\r\n \r\n \r\n Action\r\n \r\n \r\n {state.buttonList.map((b) => {\r\n const Comp = CheckButtons[b.inspectionSheetCheckOptionCode] || Button;\r\n return (\r\n \r\n \r\n changeState(\r\n b.inspectionSheetCheckOptionCode,\r\n p.inspectionSheetCheckID\r\n )\r\n }\r\n state={\r\n p.inspectionSheetCheckResultOptionCode ===\r\n b.inspectionSheetCheckOptionCode\r\n }\r\n />\r\n \r\n );\r\n })}\r\n \r\n imageHandler(p.inspectionSheetCheckID)}\r\n count={p.basicCount}\r\n state={p.basicCount > 0}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Defect\r\n \r\n \r\n {/* {p.inspectionSheetCheckResultOptionCode === 'D' || p.inspectionSheetCheckResultOptionCode === 'M' ? ( */}\r\n \r\n {state.errors?.note}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n
\r\n \r\n \r\n ))}\r\n {/* Tyres Checks. */}\r\n \r\n \r\n \r\n

Tyres Checks

\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Type of brake test\r\n \r\n \r\n \r\n \r\n } label=\"Roller Test\" />\r\n } label=\"Decelerometer\" />\r\n } label=\"Road Test\" />\r\n \r\n \r\n\r\n \r\n Brake Test Number\r\n \r\n \r\n \r\n {/* Upload \r\n upload */}\r\n \r\n \r\n \r\n \r\n {' '}\r\n \r\n Road Conditions\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Brake Performance

\r\n \r\n \r\n \r\n \r\n IM Reference\r\n \r\n Item Inspected\r\n \r\n \r\n Efficiency\r\n \r\n \r\n \r\n \r\n \r\n 71\r\n Service Brake Performance\r\n \r\n \r\n \r\n \r\n \r\n 72\r\n Secondary Brake Performance\r\n \r\n \r\n \r\n \r\n \r\n 73\r\n Parking Brake Performance\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n Road Test  (Brake Temperature Assessment)\r\n

\r\n \r\n \r\n \r\n \r\n Side\r\n Axle 1\r\n Axle 2\r\n Axle 3\r\n Axle 4\r\n \r\n \r\n \r\n \r\n \r\n O/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 \r\n \r\n \r\n \r\n \r\n N/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 \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n {/* Sign Off */}\r\n \r\n \r\n \r\n

Vehicle Inspector Sign-off

\r\n
\r\n \r\n \r\n \r\n \r\n Vehicle Checker Comment\r\n \r\n \r\n {state.errors?.vehicleInspectionInspectionComment}\r\n \r\n \r\n \r\n \r\n Date Of Check\r\n \r\n \r\n \r\n Check carried out by\r\n \r\n \r\n \r\n Current Mileage\r\n \r\n {state.errors?.vehicleDailyCheckMileage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Signature{' '}\r\n {state.signAvailable ? (\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 {state.imgtechniciansign ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n GetTechnicianSign();\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n {state.errors?.techniciansign}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Submit{' '}\r\n \r\n \r\n \r\n props.onClose()}>Cancel\r\n \r\n \r\n )}\r\n {state.showImageModal ? (\r\n // setState((st) => ({ ...st, show: false }))} maxWidth=\"lg\">\r\n setState((st) => ({ ...st, showImageModal: false }))}\r\n maxNumber={10}\r\n />\r\n ) : // \r\n null}\r\n\r\n {state.showConfirmMessage ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default VehicleDailyChecks;\r\n","import React from 'react';\r\nimport singleAxel from './VehicleDiagrams/images1.png';\r\nimport doubleAxelOne from './VehicleDiagrams/axImage01.png';\r\nimport doubleAxelTwo from './VehicleDiagrams/azImage02.png';\r\nimport doubleAxelThree from './VehicleDiagrams/axImage03.png';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, Typography, Paper } from '@material-ui/core';\r\n\r\nconst style = {\r\n typography: {\r\n padding: '1.5px 14px'\r\n // fontWeight: 600\r\n // width: '560px'\r\n },\r\n brakeTypography: {\r\n padding: '0px 35px'\r\n // fontWeight: 600\r\n },\r\n Ax2osOut: {\r\n marginTop: '-5px'\r\n },\r\n Ax2osin: {\r\n marginTop: 8\r\n },\r\n Ax2nsin: {\r\n marginTop: 150\r\n },\r\n axBreak: {\r\n paddingLeft: '0px'\r\n },\r\n axOsout: { marginTop: 50 },\r\n axNsout: { marginTop: 168 },\r\n axImage: { marginTop: 5, marginBottom: 5 }\r\n};\r\n\r\nconst setValue = (val, unit) => {\r\n if (val) {\r\n return (\r\n <>\r\n {val}\r\n {unit}\r\n \r\n );\r\n } else {\r\n return 'N/A';\r\n }\r\n};\r\n\r\nconst EditAxel = (props) => {\r\n const { state, classes } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n

Tyres Checks

\r\n
\r\n \r\n {/* Axel 1...................... */}\r\n \r\n \r\n

AXLE 1

\r\n
\r\n \r\n \r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[0]?.osTreadDepth, 'mm')}\r\n \r\n\r\n Depth\r\n \r\n {setValue(state.tyreAxles[0]?.nsTreadDepth, 'mm')}\r\n \r\n \r\n \r\n Brake lining\r\n \r\n {setValue(state.tyreAxles[0]?.nsBrakeLineRemaining, '%')}\r\n \r\n \r\n Brake lining\r\n \r\n {setValue(state.tyreAxles[0]?.osBrakeLineRemaining, '%')}\r\n \r\n \r\n \r\n Pressure\r\n \r\n {setValue(state.tyreAxles[0]?.osTyrePressure, 'psi')}\r\n \r\n Pressure\r\n \r\n {setValue(state.tyreAxles[0]?.nsTyrePressure, 'psi')}\r\n \r\n \r\n \r\n \r\n
\r\n {/* Axel 2 ..................... */}\r\n \r\n

AXLE 2

\r\n \r\n \r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[1]?.osTreadDepth, 'mm')}\r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[1]?.osFrontTreadDepth, 'mm')}\r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[1]?.nsFrontTreadDepth, 'mm')}\r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[1]?.nsTreadDepth, 'mm')}\r\n \r\n \r\n \r\n \r\n Brake lining\r\n \r\n {setValue(state.tyreAxles[1]?.osBrakeLineRemaining, '%')}\r\n \r\n\r\n \r\n Brake lining\r\n \r\n {setValue(state.tyreAxles[1]?.nsBrakeLineRemaining, '%')}\r\n \r\n\r\n \r\n \r\n \r\n Pressure\r\n \r\n {setValue(state.tyreAxles[1]?.osTyrePressure, 'psi')}\r\n \r\n Pressure\r\n \r\n {setValue(state.tyreAxles[1]?.osFrontTyrePressure, 'psi')}\r\n \r\n\r\n Pressure\r\n \r\n {setValue(state.tyreAxles[1]?.nsFrontTyrePressure, 'psi')}\r\n \r\n\r\n Pressure\r\n \r\n {setValue(state.tyreAxles[1]?.nsTyrePressure, 'psi')}\r\n \r\n \r\n \r\n \r\n
\r\n\r\n {/* Axel 3 ..................... */}\r\n \r\n

AXLE 3

\r\n \r\n \r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[2]?.osTreadDepth, 'mm')}\r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[2]?.osFrontTreadDepth, 'mm')}\r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[2]?.nsFrontTreadDepth, 'mm')}\r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[2]?.nsTreadDepth, 'mm')}\r\n \r\n \r\n \r\n \r\n Brake lining\r\n \r\n {setValue(state.tyreAxles[2]?.osBrakeLineRemaining, '%')}\r\n \r\n\r\n \r\n Brake lining\r\n \r\n {setValue(state.tyreAxles[2]?.nsBrakeLineRemaining, '%')}\r\n \r\n\r\n \r\n \r\n \r\n Pressure\r\n \r\n {setValue(state.tyreAxles[2]?.osTyrePressure, 'psi')}\r\n \r\n Pressure\r\n \r\n {setValue(state.tyreAxles[2]?.osFrontTyrePressure, 'psi')}\r\n \r\n\r\n Pressure\r\n \r\n {setValue(state.tyreAxles[2]?.nsFrontTyrePressure, 'psi')}\r\n \r\n\r\n Pressure\r\n \r\n {setValue(state.tyreAxles[2]?.nsTyrePressure, 'psi')}\r\n \r\n \r\n \r\n \r\n
\r\n {/* Axel 4 ..................... */}\r\n \r\n

AXLE 4

\r\n \r\n \r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[3]?.osTreadDepth, 'mm')}\r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[3]?.osFrontTreadDepth, 'mm')}\r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[3]?.nsFrontTreadDepth, 'mm')}\r\n \r\n Depth\r\n \r\n {setValue(state.tyreAxles[3]?.nsTreadDepth, 'mm')}\r\n \r\n \r\n \r\n \r\n Brake lining\r\n \r\n {setValue(state.tyreAxles[3]?.osBrakeLineRemaining, '%')}\r\n \r\n\r\n \r\n Brake lining\r\n \r\n {setValue(state.tyreAxles[3]?.nsBrakeLineRemaining, '%')}\r\n \r\n\r\n \r\n \r\n \r\n Pressure\r\n \r\n {setValue(state.tyreAxles[3]?.osTyrePressure, 'psi')}\r\n \r\n Pressure\r\n \r\n {setValue(state.tyreAxles[3]?.osFrontTyrePressure, 'psi')}\r\n \r\n\r\n Pressure\r\n \r\n {setValue(state.tyreAxles[3]?.nsFrontTyrePressure, 'psi')}\r\n \r\n\r\n Pressure\r\n \r\n {setValue(state.tyreAxles[3]?.nsTyrePressure, 'psi')}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default EditAxel;\r\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\r\nimport {\r\n Table,\r\n TableBody,\r\n TableContainer,\r\n TableRow,\r\n Paper,\r\n TableCell,\r\n Typography,\r\n InputLabel,\r\n Tooltip,\r\n FormHelperText,\r\n ButtonGroup,\r\n Button\r\n} from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport SignaturePad from 'react-signature-canvas';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\n\r\nimport moment from 'moment';\r\nimport { AppButtonGroup, MandatoryField, SecondaryButton } from '../../../../../Core/Controls';\r\nimport { getSingleChecks, postSingleChecksData } from '../../../../../Core/Services/InternalUser/Vehicle/vehicleTabChecks';\r\n\r\nexport const ActionTakenModal = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const [state, setState] = useState({\r\n errors: {},\r\n statusList: [],\r\n signAvailable: AppStorage.getSignature() === 'absent' ? false : true\r\n });\r\n const signCanvas = useRef({});\r\n\r\n useEffect(() => {\r\n getCheckData();\r\n }, []);\r\n\r\n const getCheckData = async () => {\r\n let res = await getSingleChecks(props.selectedCheck.inspectionSheetCheckResultID);\r\n if (res.success) {\r\n let data = res.data.defect[0];\r\n\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (data) {\r\n newSt.defectDetail = data.defect;\r\n newSt.vehicleInspectionsDefectActionTaken = data.vehicleInspectionsDefectActionTaken;\r\n newSt.vehicleInspectionsDefectRectifiedSignature = data.vehicleInspectionsDefectRectifiedSignature;\r\n newSt.vehicleInspectionsDefectStatusID = data.vehicleInspectionsDefectStatusID;\r\n newSt.imgtechniciansign = data.vehicleInspectionsDefectRectifiedSignature ? true : false;\r\n newSt.isDisabled = data.rectifiedBy ? true : false;\r\n newSt.vehicleInspectionsDefectRectifiedDate = data.vehicleInspectionsDefectRectifiedDate\r\n ? moment(data.vehicleInspectionsDefectRectifiedDate).format('DD-MM-YYYY hh:mm')\r\n : '';\r\n newSt.vehicleInspectionsDefectRectifiedName = data.vehicleInspectionsDefectRectifiedName;\r\n newSt.vehicleInspectionsDefectID = data.vehicleInspectionsDefectID;\r\n }\r\n newSt.statusList = res.data.list;\r\n return newSt;\r\n });\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const validations = () => {\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n if (!state.vehicleInspectionsDefectActionTaken) {\r\n errors.vehicleInspectionsDefectActionTaken = `Action taken is required`;\r\n formIsValid = false;\r\n }\r\n if (state.vehicleInspectionsDefectStatusID == 1 || !state.vehicleInspectionsDefectStatusID) {\r\n errors.vehicleInspectionsDefectStatusID = `Please select defect status`;\r\n formIsValid = false;\r\n }\r\n if (!state.vehicleInspectionsDefectRectifiedSignature) {\r\n errors.vehicleInspectionsDefectRectifiedSignature = `Technician Signature is required`;\r\n formIsValid = false;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors: errors\r\n }));\r\n return formIsValid;\r\n };\r\n\r\n const submitData = async () => {\r\n if (validations()) {\r\n let data = {\r\n vehicleInspectionsDefectID: state.vehicleInspectionsDefectID,\r\n vehicleInspectionsDefectActionTaken: state.vehicleInspectionsDefectActionTaken,\r\n // vehicleInspectionsDefectRectifiedName: state.vehicleInspectionsDefectRectifiedName,\r\n vehicleInspectionsDefectRectifiedSignature: state.vehicleInspectionsDefectRectifiedSignature,\r\n vehicleInspectionsDefectStatusID: state.vehicleInspectionsDefectStatusID\r\n };\r\n setBtnLoader(true);\r\n let res = await postSingleChecksData(data);\r\n if (res.success) {\r\n showToastSuccess('Defect Details Added Successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n const useDefaultSig = () => {\r\n setState((st) => ({ ...st, imgtechniciansign: true, vehicleInspectionsDefectRectifiedSignature: AppStorage.getSignature() }));\r\n };\r\n\r\n const clear = () => {\r\n if (state.imgtechniciansign) {\r\n setState((st) => ({\r\n ...st,\r\n imgtechniciansign: false,\r\n vehicleInspectionsDefectRectifiedSignature: null\r\n }));\r\n } else {\r\n signCanvas.current.clear();\r\n setState((st) => ({\r\n ...st,\r\n vehicleInspectionsDefectRectifiedSignature: null\r\n }));\r\n }\r\n };\r\n\r\n const GetTechnicianSign = () => {\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n vehicleInspectionsDefectRectifiedSignature: signCanvas.current.toDataURL()\r\n };\r\n return nst;\r\n });\r\n };\r\n const onBtnSelected = (o) => {\r\n setState((dt) => ({\r\n ...dt,\r\n ...o\r\n }));\r\n };\r\n return (\r\n \r\n \r\n {state.defectDetail}\r\n {/* {state.defectDetail} */}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n Defect Status\r\n \r\n \r\n {state.errors.vehicleInspectionsDefectStatusID}\r\n \r\n\r\n \r\n
\r\n \r\n Technician Signature\r\n {!state.isDisabled && state.signAvailable && (\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n \r\n {!state.isDisabled && (\r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n {state.imgtechniciansign ? (\r\n \r\n \r\n {state.vehicleInspectionsDefectRectifiedName}\r\n {state.vehicleInspectionsDefectRectifiedDate}\r\n \r\n \r\n \r\n ) : (\r\n
\r\n {\r\n GetTechnicianSign();\r\n }}\r\n />\r\n
\r\n )}\r\n\r\n {state.errors.vehicleInspectionsDefectRectifiedSignature}\r\n \r\n
\r\n {!state.isDisabled ? (\r\n \r\n \r\n Confirm\r\n \r\n \r\n ) : (\r\n \r\n props.onClose(false)}>Cancel\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ActionTakenModal;\r\n","import React, { useEffect, useState, useRef } from 'react';\r\nimport moment from 'moment';\r\nimport SignaturePad from 'react-signature-canvas';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport {\r\n Tooltip,\r\n InputLabel,\r\n Grid,\r\n Table,\r\n TableBody,\r\n TableCell,\r\n TableContainer,\r\n TableHead,\r\n TableRow,\r\n Paper,\r\n FormHelperText,\r\n Typography,\r\n CircularProgress,\r\n Modal,\r\n Hidden\r\n} from '@material-ui/core';\r\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\r\nimport {\r\n SecondaryButton,\r\n InputText,\r\n FailButton,\r\n PassButton,\r\n NAButton,\r\n MButton,\r\n RButton,\r\n CheckCustomdBtn,\r\n SecondaryCheckbox,\r\n CustomChip,\r\n UploadWithBadge\r\n} from '../../../../../Core/Controls';\r\nimport { getChecksEditByID, postChecksData, PostImage, getImageByID } from '../../../../../Core/Services/InternalUser/Vehicle/vehicleTabChecks';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport EditAxle from './editAxel';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\nimport { getTitleData } from '../../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { useWindowSize } from '../../../../../Core/Hooks/useWindowSize';\r\nimport '../../controllerStyle.scss';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport ActionTakenModal from './actionTakenModal';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport ConfirmationModal from '../../../../../Core/Modal/ConfirmationModal';\r\nimport { usePortalSettings } from '../../../../../Core/Hooks/usePortalSettings';\r\nimport ImageModal from '../DriverDailyChecks/imageModal';\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '8px 20px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '8px 20px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n marginTop: 15\r\n },\r\n table: {\r\n minWidth: '100%'\r\n },\r\n\r\n title: {\r\n color: '#f50057',\r\n marginLeft: 8,\r\n marginTop: 8,\r\n marginBottom: 8\r\n },\r\n loader: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: 300\r\n },\r\n paper: {\r\n padding: theme.spacing(2),\r\n // color: theme.palette.text.secondary,\r\n border: '1px solid rgba(0,0,0,0.2)',\r\n width: '100%'\r\n },\r\n axelTitles: {\r\n textAlign: 'center',\r\n color: '#f50057',\r\n width: '100%'\r\n },\r\n headings: {\r\n color: '#f50057',\r\n margin: 0,\r\n marginLeft: -4,\r\n marginBottom: 20\r\n }\r\n}));\r\n\r\nconst CheckButtons = {\r\n S: PassButton,\r\n D: FailButton,\r\n M: MButton,\r\n N: NAButton,\r\n R: RButton\r\n};\r\n\r\nconst StatusButtons = {\r\n 1: { name: 'Unreviewed', btnName: 'U' },\r\n 2: { name: 'Satisfactory', btnName: 'S' },\r\n 3: { name: 'Safety Item Defect', btnName: 'SD' },\r\n 4: { name: 'Repair Required', btnName: 'R' },\r\n 5: { name: 'Monitor', btnName: 'M' },\r\n 6: { name: 'Customer Declined', btnName: 'C' }\r\n};\r\n\r\nconst brakeTest = {\r\n 1: 'Roller Test',\r\n 2: 'Decelerometer',\r\n 3: 'Road Test'\r\n};\r\n\r\nconst setValue = (val, unit) => {\r\n if (val) {\r\n return (\r\n <>\r\n {val}\r\n {unit}\r\n \r\n );\r\n } else {\r\n return 'N/A';\r\n }\r\n};\r\n\r\nconst EditVehicleDailyChecks = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const classes = useStyles();\r\n const [widths, heights] = useWindowSize();\r\n const portalSettings = usePortalSettings();\r\n\r\n const [state, setState] = useState({\r\n vehicleDailyChecks: [],\r\n tyreAxles: [],\r\n buttonList: [],\r\n load: true,\r\n showbtn: true,\r\n signAvailable: AppStorage.getSignature() === 'absent' ? false : true,\r\n isSignOff: false,\r\n isCustomerSignOff: false,\r\n submitArray: []\r\n });\r\n\r\n const [isModal, setIsModal] = useState({ actionTaken: false, selectedCheck: null, showConfirm: false });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const handleInput = (e) => {\r\n const { name, value } = e.target;\r\n setState((state) => ({ ...state, [name]: value }));\r\n };\r\n\r\n useEffect(() => {\r\n getCheckDetails();\r\n }, []);\r\n\r\n const getCheckDetails = async () => {\r\n if (props.checkID) {\r\n let isSignOff = false;\r\n let isCustomerSignOff = false;\r\n let res = await getChecksEditByID(props.checkID);\r\n if (res.success) {\r\n res.data.vehicleDailyChecksResult.map((m, i) => {\r\n if (!m.inspectionSheetCheckResultStatusID) {\r\n m.inspectionSheetCheckResultStatusID = 1;\r\n }\r\n });\r\n let TempData = [...res.data.vehicleDailyChecksResult];\r\n\r\n let checksList = TempData.map((m, i) => {\r\n let checksObject;\r\n if (TempData.length > 0) {\r\n checksObject = TempData.filter((p) => {\r\n if (m.inspectionSheetSectionDescription === p.inspectionSheetSectionDescription) {\r\n if (p.defectStatusID == 3) {\r\n isCustomerSignOff = true;\r\n } else if (p.defectStatusID == 1) {\r\n isSignOff = true;\r\n }\r\n return m;\r\n }\r\n });\r\n }\r\n checksObject.name = m.inspectionSheetSectionDescription;\r\n return checksObject;\r\n });\r\n\r\n let vehicleChecksList = Object.values(checksList.reduce((acc, cur) => Object.assign(acc, { [cur.name]: cur }), {}));\r\n\r\n let TempAxel = [];\r\n if (res.data.tyreAxles) {\r\n let IsAxel1 = res.data.tyreAxles.find((x) => x.axleNumber === 1);\r\n let IsAxel2 = res.data.tyreAxles.find((x) => x.axleNumber === 2);\r\n let IsAxel3 = res.data.tyreAxles.find((x) => x.axleNumber === 3);\r\n let IsAxel4 = res.data.tyreAxles.find((x) => x.axleNumber === 4);\r\n if (!IsAxel1) {\r\n IsAxel1 = { axleNumber: 1 };\r\n }\r\n if (!IsAxel2) {\r\n IsAxel2 = { axleNumber: 2 };\r\n }\r\n if (!IsAxel3) {\r\n IsAxel3 = { axleNumber: 3 };\r\n }\r\n if (!IsAxel4) {\r\n IsAxel4 = { axleNumber: 4 };\r\n }\r\n TempAxel = [IsAxel1, IsAxel2, IsAxel3, IsAxel4];\r\n }\r\n\r\n setState((st) => {\r\n if (res.success) {\r\n return {\r\n ...st,\r\n load: false,\r\n vehicleDailyChecks: vehicleChecksList,\r\n tyreAxles: [...TempAxel],\r\n buttonList: res.data.vehicleDailyCheckOptions,\r\n ChecksObj: res.data.vehicleDailyChecksResult,\r\n statusList: res.data.inspectionSheetCheckResultStatus,\r\n isSignOff: isSignOff,\r\n isCustomerSignOff: isCustomerSignOff\r\n };\r\n }\r\n });\r\n res.data.vehicleDailyChecks.map((item) => {\r\n if (item.vehicleInspectionSignedOffSignature) {\r\n setState((st) => ({\r\n ...st,\r\n showbtn: false\r\n }));\r\n }\r\n\r\n setState((st) => ({\r\n ...st,\r\n vehicleID: item.vehicleID,\r\n vehicleRegNumber: item.vehicleRegNumber,\r\n date: moment(item.vehicleInspectionDateInspected).format('YYYY-MM-DD'),\r\n makeID: item.vehicleMake,\r\n modelID: item.vehicleModel,\r\n imgtechniciansign: item.vehicleInspectionInspectorSignature,\r\n vehicleInspectionScheduleID: item.vehicleInspectionScheduleID,\r\n vehicleInspectionStatusID: item.vehicleInspectionStatusID,\r\n vehicleInspectionDateInspected: moment(item.vehicleInspectionDateInspected).format('YYYY-MM-DD hh:mm'),\r\n vehicleInspectionResult: item.vehicleInspectionResult,\r\n vehicleDailyCheckMileage: item.vehicleInspectionMileage,\r\n vehicleDailyCheckCheckerName: item.vehicleInspectionInspectorName,\r\n vehicleInspectionInspectionComment: item.vehicleInspectionInspectionComment,\r\n vehicleInspectionSignedOffName: item.vehicleInspectionSignedOffName,\r\n vehicleInspectionSignedOffSignature: item.vehicleInspectionSignedOffSignature,\r\n vehicleInspectionSignedOffDate: item.vehicleInspectionSignedOffDate,\r\n vehicleInspectionSignedOffIPAddress: item.vehicleInspectionSignedOffIPAddress,\r\n vehicleInspectionID: item.vehicleInspectionID,\r\n vehicleInspectionSignedOffComment: item.vehicleInspectionSignedOffComment,\r\n\r\n vehicleInspectionBrakeTestTypeID: item.vehicleInspectionBrakeTestTypeID, // 2,\r\n vehicleInspectionBrakeTestNumber: item.vehicleInspectionBrakeTestNumber, // \"12345\",\r\n vehicleInspectionRoadCondition: item.vehicleInspectionRoadCondition, // \"Test Road Conditions\",\r\n vehicleInspectionServiceBrakePerformance: item.vehicleInspectionServiceBrakePerformance, // 71,\r\n vehicleInspectionSecondaryBrakePerformance: item.vehicleInspectionSecondaryBrakePerformance, // 72,\r\n vehicleInspectionParkingBrakePerformance: item.vehicleInspectionParkingBrakePerformance // 73\r\n }));\r\n });\r\n }\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n if (state.vehicleID) {\r\n getTitle();\r\n }\r\n }, [state.vehicleID]);\r\n\r\n const getTitle = async () => {\r\n let vehicleInformation = await getTitleData(state.vehicleID);\r\n\r\n if (vehicleInformation.success) {\r\n setState((st) => ({\r\n ...st,\r\n vehicleInfo: vehicleInformation.data.details[0]?.vehicleDescription\r\n }));\r\n }\r\n };\r\n\r\n const signCanvas = useRef({});\r\n const clear = () => {\r\n if (state.vehicleInspectionSignedOffSignature) {\r\n setState((st) => ({\r\n ...st,\r\n vehicleInspectionSignedOffSignature: null\r\n }));\r\n } else {\r\n signCanvas.current.clear();\r\n }\r\n };\r\n\r\n const GetTechnicianSign = () => {\r\n let fields = state.fields;\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n vehicleInspectionSignedOffSignature: signCanvas.current.toDataURL(),\r\n fields: fields\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n const changeState = (buttonVal, checkId) => {\r\n let changedArray = [...state.ChecksObj];\r\n let objIndex = state.ChecksObj.findIndex((x) => x.inspectionSheetCheckID === checkId);\r\n changedArray[objIndex].inspectionSheetCheckResultStatusID = buttonVal;\r\n\r\n setState((st) => ({ ...st, ChecksObj: changedArray }));\r\n };\r\n\r\n // const handleInputs = (axelNo) => (e) => {\r\n // const { name, value } = e.target;\r\n // setState((st) => {\r\n // let ax = st.tyreAxles.find((a) => a.axleNumber === axelNo);\r\n // if (!ax) {\r\n // ax = { axleNumber: axelNo };\r\n // st.tyreAxles.push(ax);\r\n // }\r\n // ax[name] = value;\r\n\r\n // return { ...st, tyreAxles: [...st.tyreAxles] };\r\n // });\r\n // };\r\n\r\n const imageHandler = async (inspectionCheckResultID) => {\r\n let res = await getImageByID(inspectionCheckResultID);\r\n if (!res.data.list) {\r\n let changedArray = [...state.ChecksObj];\r\n let objIndex = state.ChecksObj.findIndex((x) => x.inspectionSheetCheckResultID === inspectionCheckResultID);\r\n setState((st) => ({\r\n ...st,\r\n showImageModal: true,\r\n inspectionCheckResultID: inspectionCheckResultID,\r\n selectedImages: changedArray[objIndex].images || []\r\n }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n showImageModal: true,\r\n inspectionCheckResultID: inspectionCheckResultID,\r\n selectedImages: res.data.list.map((m) => m.vehicleInspectionsPhotoObject) || []\r\n }));\r\n }\r\n };\r\n\r\n const onImageChange = (imageList, addUpdateIndex) => {\r\n let changedArray = [...state.ChecksObj];\r\n let FilterimagesList;\r\n let objIndex = state.ChecksObj.findIndex((x) => x.inspectionSheetCheckResultID === state.inspectionCheckResultID);\r\n\r\n if (`${objIndex}`) {\r\n FilterimagesList = imageList.map((m) => (m.data_url ? m.data_url : m));\r\n changedArray[objIndex].images = FilterimagesList;\r\n }\r\n let uniqueImages = FilterimagesList.filter((g) => {\r\n let isImage = state.selectedImages.find((w) => w == g);\r\n if (!isImage) {\r\n return g;\r\n }\r\n });\r\n\r\n setState((st) => ({ ...st, ChecksObj: changedArray, selectedImages: FilterimagesList, submitArray: [...state.submitArray, ...uniqueImages] }));\r\n };\r\n\r\n const useDefaultSig = () => {\r\n setState((st) => ({ ...st, img: true, vehicleInspectionSignedOffSignature: AppStorage.getSignature() }));\r\n };\r\n\r\n const validations = () => {\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n if (!state.vehicleInspectionSignedOffComment) {\r\n errors.vehicleInspectionSignedOffComment = `Signed Off Comment is required`;\r\n formIsValid = false;\r\n }\r\n if (!state.vehicleInspectionSignedOffSignature) {\r\n errors.vehicleInspectionSignedOffSignature = `Signature is required`;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors: errors\r\n }));\r\n return formIsValid;\r\n };\r\n\r\n const submitData = async () => {\r\n let resultVM = state.ChecksObj.map((e) => ({\r\n inspectionSheetCheckResultCheckID: e.inspectionSheetCheckResultCheckID,\r\n inspectionSheetCheckResultOptionCode: e.inspectionSheetCheckResultOptionCode,\r\n inspectionSheetCheckResultNotes: e.inspectionSheetCheckResultNotes,\r\n inspectionSheetCheckResultIMReference: e.inspectionSheetCheckResultIMReference,\r\n inspectionSheetCheckResultDefectID: e.inspectionSheetCheckResultDefectID,\r\n inspectionSheetCheckResultStatusID: e.inspectionSheetCheckResultStatusID\r\n }));\r\n\r\n // if (validations()) {\r\n let data = {\r\n vehicleInspectionScheduleID: state.vehicleInspectionScheduleID,\r\n vehicleInspectionStatusID: state.vehicleInspectionStatusID,\r\n vehicleInspectionDateInspected: state.vehicleInspectionDateInspected,\r\n vehicleInspectionResult: state.vehicleInspectionResult,\r\n vehicleInspectionMileage: state.vehicleDailyCheckMileage,\r\n vehicleInspectionInspectorName: state.vehicleDailyCheckCheckerName,\r\n vehicleInspectionInspectorSignature: state.techniciansign,\r\n vehicleInspectionInspectionComment: state.vehicleInspectionInspectionComment,\r\n vehicleInspectionSignedOffName: state.vehicleInspectionSignedOffName, //loged user name\r\n vehicleInspectionSignedOffSignature: state.vehicleInspectionSignedOffSignature, //current date and time\r\n vehicleInspectionSignedOffDate: state.vehicleInspectionSignedOffDate,\r\n vehicleInspectionSignedOffIPAddress: state.vehicleInspectionSignedOffIPAddress,\r\n vehicleInspectionID: state.vehicleInspectionID,\r\n vehicleInspectionBrakeTestTypeID: state.vehicleInspectionBrakeTestTypeID,\r\n vehicleInspectionBrakeTestNumber: state.vehicleInspectionBrakeTestNumber,\r\n vehicleInspectionRoadCondition: state.vehicleInspectionRoadCondition,\r\n vehicleInspectionServiceBrakePerformance: state.vehicleInspectionServiceBrakePerformance,\r\n vehicleInspectionSecondaryBrakePerformance: state.vehicleInspectionSecondaryBrakePerformance,\r\n vehicleInspectionParkingBrakePerformance: state.vehicleInspectionParkingBrakePerformance,\r\n vehicleInspectionSignedOffComment: state.vehicleInspectionSignedOffComment,\r\n inspectionSheetCheckResultsVM: resultVM,\r\n inspectionSheetAxlesVM: state.tyreAxles\r\n };\r\n\r\n let res = await postChecksData(data);\r\n if (res.success) {\r\n showToastSuccess('Inspection Check signed Off successfully');\r\n props.onClose();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n // }\r\n };\r\n\r\n const actionTakenHandle = (check) => {\r\n setIsModal((st) => ({\r\n ...st,\r\n actionTaken: true,\r\n selectedCheck: check\r\n }));\r\n };\r\n\r\n const closeActionTakenhandle = (res) => {\r\n setIsModal((st) => ({\r\n ...st,\r\n actionTaken: false,\r\n showConfirm: false\r\n }));\r\n res && getCheckDetails();\r\n };\r\n\r\n const confirmHandle = () => {\r\n if (validations()) {\r\n setIsModal((st) => ({\r\n ...st,\r\n showConfirm: true\r\n }));\r\n }\r\n };\r\n\r\n const sumbitImage = async () => {\r\n let tempArray = [...state.submitArray];\r\n let data = {\r\n vehicleInspectionsPhotoID: null,\r\n vehicleInspectionsPhotoResultID: state.inspectionCheckResultID,\r\n vehicleInspectionsPhotoObject: tempArray\r\n };\r\n let res = await PostImage(data);\r\n if (res.success) {\r\n let changedArray = [...state.ChecksObj];\r\n let objIndex = state.ChecksObj.findIndex((x) => x.inspectionSheetCheckResultID === state.inspectionCheckResultID);\r\n changedArray[objIndex].basicCount = changedArray[objIndex].images.length;\r\n showToastSuccess('image Uploaded successfully');\r\n setState((st) => ({\r\n ...st,\r\n showImageModal: false,\r\n ChecksObj: changedArray\r\n }));\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {!state.load ? (\r\n \r\n {props.frompage ? (\r\n \r\n \r\n {state.vehicleInfo?.toUpperCase() || ''}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n {state.date}\r\n \r\n \r\n \r\n {widths >= 960 ? null :
Result
}\r\n \r\n \r\n = 960 ? 'space-evenly' : 'flex-start'}>\r\n {state.buttonList?.map((k, i) => {\r\n const Comp = CheckButtons[k.inspectionSheetCheckOptionCode];\r\n return (\r\n \r\n {/* */}\r\n \r\n \r\n {k.inspectionSheetCheckOptionDescription}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n {state.buttonList?.map((k, i) => {\r\n const Comp = CheckButtons[k.inspectionSheetCheckOptionCode];\r\n return (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n   \r\n \r\n {k.inspectionSheetCheckOptionDescription}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n
\r\n\r\n {state.vehicleDailyChecks.map((m, i) => (\r\n \r\n \r\n \r\n

{m.name}

\r\n
\r\n \r\n \r\n \r\n \r\n Check\r\n \r\n Result\r\n \r\n \r\n Upload\r\n \r\n \r\n Defect Found\r\n \r\n \r\n \r\n \r\n \r\n Check\r\n \r\n \r\n \r\n \r\n {m.map((p, i) => (\r\n <>\r\n \r\n \r\n \r\n {p.inspectionSheetCheckDescription}\r\n {/*
*/}\r\n {/* {p.inspectionSheetCheckResultNotes} */}\r\n
\r\n {state.buttonList.map((b) => {\r\n {\r\n const Comp = CheckButtons[b.inspectionSheetCheckOptionCode] || ' Button';\r\n const checks = p.inspectionSheetCheckResultOptionCode;\r\n\r\n if (checks === b.inspectionSheetCheckOptionCode) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n })}\r\n \r\n {' '}\r\n imageHandler(p.inspectionSheetCheckResultID)}\r\n count={p.photosUploaded || p.basicCount}\r\n state={p.photosUploaded > 0 || p.basicCount > 0}\r\n />\r\n \r\n\r\n \r\n {/* {p.inspectionSheetCheckResultOptionCode !== 'S' && p.inspectionSheetCheckResultOptionCode !== 'N' && ( */}\r\n \r\n \r\n \r\n {' '}\r\n {p.inspectionSheetCheckResultNotes ? p.inspectionSheetCheckResultNotes : 'N/A'}{' '}\r\n \r\n \r\n {p.defectStatusID && (\r\n \r\n actionTakenHandle(p)}\r\n className=\"btn-m\"\r\n style={{\r\n fontWeight: 'bold',\r\n backgroundColor:\r\n p.defectStatusID && p.rectifiedBy ? `${p.backgroundColour}` : ''\r\n }}\r\n />\r\n \r\n )}\r\n \r\n {/* )} */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {' '}\r\n {p.inspectionSheetCheckDescription}\r\n \r\n \r\n {state.buttonList.map((b) => {\r\n {\r\n const Comp = CheckButtons[b.inspectionSheetCheckOptionCode] || ' Button';\r\n const checks = p.inspectionSheetCheckResultOptionCode;\r\n\r\n if (checks === b.inspectionSheetCheckOptionCode) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n })}\r\n \r\n imageHandler(p.inspectionSheetCheckResultID)}\r\n count={p.photosUploaded || p.basicCount}\r\n state={p.photosUploaded > 0 || p.basicCount > 0}\r\n />\r\n \r\n \r\n \r\n \r\n {/* Defect */}\r\n \r\n {' '}\r\n Defect Found:{' '}\r\n {p.inspectionSheetCheckResultNotes ? p.inspectionSheetCheckResultNotes : 'N/A'}{' '}\r\n {p.defectStatusID && (\r\n actionTakenHandle(p)}\r\n className=\"btn-m\"\r\n style={{\r\n fontWeight: 'bold',\r\n backgroundColor:\r\n p.defectStatusID && p.rectifiedBy ? `${p.backgroundColour}` : ''\r\n }}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
\r\n
\r\n \r\n \r\n ))}\r\n {/* Tyre checks column */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Type of brake test \r\n {brakeTest[state.vehicleInspectionBrakeTestTypeID] || 'N/A'}\r\n \r\n \r\n Brake Test Number \r\n {state.vehicleInspectionBrakeTestNumber || 'N/A'}\r\n \r\n \r\n Road Conditions \r\n {state.vehicleInspectionRoadCondition || 'N/A'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Brake Performance

\r\n \r\n \r\n \r\n \r\n IM Reference\r\n \r\n Item Inspected\r\n \r\n \r\n Efficiency\r\n \r\n \r\n \r\n \r\n \r\n 71\r\n Service Brake Performance\r\n \r\n {setValue(state.vehicleInspectionServiceBrakePerformance, '%')}\r\n \r\n \r\n \r\n 72\r\n Secondary Brake Performance\r\n \r\n {setValue(state.vehicleInspectionSecondaryBrakePerformance, '%')}\r\n \r\n \r\n \r\n 73\r\n Parking Brake Performance\r\n \r\n {setValue(state.vehicleInspectionParkingBrakePerformance, '%')}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n Road Test  (Brake Temperature Assessment)\r\n

\r\n \r\n \r\n \r\n \r\n Side\r\n Axle 1\r\n Axle 2\r\n Axle 3\r\n Axle 4\r\n \r\n \r\n \r\n \r\n \r\n O/S\r\n \r\n\r\n \r\n {setValue(state.tyreAxles[0]?.osBrakeTemperatureAxle, '°C')}\r\n \r\n \r\n {setValue(state.tyreAxles[1]?.osBrakeTemperatureAxle, '°C')}\r\n \r\n \r\n {setValue(state.tyreAxles[2]?.osBrakeTemperatureAxle, '°C')}\r\n \r\n \r\n {setValue(state.tyreAxles[3]?.osBrakeTemperatureAxle, '°C')}\r\n \r\n \r\n \r\n \r\n N/S\r\n \r\n\r\n \r\n {setValue(state.tyreAxles[0]?.nsBrakeTemperatureAxle, '°C')}\r\n \r\n \r\n {setValue(state.tyreAxles[1]?.nsBrakeTemperatureAxle, '°C')}\r\n \r\n \r\n {setValue(state.tyreAxles[2]?.nsBrakeTemperatureAxle, '°C')}\r\n \r\n \r\n {setValue(state.tyreAxles[3]?.nsBrakeTemperatureAxle, '°C')}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {/* Vehicle SignOff page */}\r\n \r\n \r\n \r\n

Vehicle Inspector Sign Off

\r\n
\r\n \r\n \r\n \r\n Vehicle Checker Comment\r\n {state.vehicleInspectionInspectionComment}\r\n \r\n \r\n \r\n \r\n Current Mileage\r\n {state.vehicleDailyCheckMileage}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Signature\r\n
\r\n \r\n {state.vehicleDailyCheckCheckerName}\r\n {state.vehicleInspectionDateInspected}\r\n \r\n\r\n {state.imgtechniciansign ? (\r\n
\r\n \"my\r\n
\r\n ) : (\r\n
\r\n No Signature Found\r\n
\r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

Sign Off

\r\n
\r\n \r\n \r\n \r\n {/* I consider that the above defects have been rectified satisfactorily and this vehicle is now in a safe and roadworthy\r\n condition. */}\r\n {!state.isSignOff && state.isCustomerSignOff\r\n ? portalSettings.portalSettingSignOffCustomerDeclaration\r\n : portalSettings.portalSettingSignOffManagerDeclaration}\r\n \r\n {/* {state.defectDetail} */}\r\n \r\n\r\n \r\n Comment *\r\n {state.vehicleInspectionStatusID === 2 ? (\r\n {state.vehicleInspectionSignedOffComment} \r\n ) : (\r\n \r\n )}\r\n {state.errors?.vehicleInspectionSignedOffComment}\r\n \r\n \r\n \r\n
\r\n \r\n Signature\r\n {state.signAvailable && state.vehicleInspectionStatusID !== 2 ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n {state.showbtn ? (\r\n \r\n \r\n \r\n \r\n
\r\n ) : null}\r\n\r\n {state.vehicleInspectionStatusID === 2 ? (\r\n \r\n {state.vehicleInspectionSignedOffName}\r\n \r\n {moment(state.vehicleInspectionSignedOffDate).format('DD-MM-yyyy HH:MM')}\r\n \r\n \r\n ) : null}\r\n
\r\n {state.vehicleInspectionSignedOffSignature ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n GetTechnicianSign();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {state.errors?.vehicleInspectionSignedOffSignature}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {state.isSignOff || state.vehicleInspectionStatusID === 2 ? null : (\r\n \r\n {state.isCustomerSignOff ? (\r\n \r\n Customer Sign Off\r\n \r\n ) : (\r\n \r\n Sign Off\r\n \r\n )}\r\n \r\n )}\r\n \r\n props.onClose()}>Cancel\r\n \r\n \r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n {/* Checks Table */}\r\n\r\n {isModal.actionTaken ? (\r\n closeActionTakenhandle(false)} maxWidth=\"md\" overflow=\"auto\" fullWidth>\r\n \r\n \r\n ) : null}\r\n\r\n {isModal.showConfirm ? (\r\n closeActionTakenhandle(false)} maxWidth=\"sm\">\r\n closeActionTakenhandle(false)}\r\n title={`Confirm ${state.isCustomerSignOff ? 'Customer' : ''} Sign Off`}\r\n />\r\n \r\n ) : null}\r\n {state.showImageModal ? (\r\n // setState((st) => ({ ...st, show: false }))} maxWidth=\"lg\">\r\n setState((st) => ({ ...st, showImageModal: false }))}\r\n maxNumber={10}\r\n />\r\n ) : // \r\n null}\r\n \r\n );\r\n};\r\n\r\nexport default EditVehicleDailyChecks;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, Typography } from '@material-ui/core';\r\nimport { SecondaryButton, MandatoryField, DatePicker, SimpleField, YesButton, NoButton, SelectBox, SingleSelect, formatters } from '../../../Core/Controls';\r\nimport { PositiveInput } from '../../../Core/Controls/Inputs/PositiveInput';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport '../../commonStyle.scss';\r\nimport moment from 'moment';\r\nimport { isNull } from 'lodash';\r\nimport { getCompleteScheduleDropdowns, postCompletedSchedule } from '../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\n\r\n// const isOverDueSchedule = (dateCompleted, scheduleDateDue, dayRange) => {\r\n// dateCompleted = dateCompleted ? dateCompleted : moment().format();\r\n// let isSameWeek = moment(dateCompleted).isSame(scheduleDateDue, 'week');\r\n// let isSameMonth = moment(dateCompleted).isSame(scheduleDateDue, 'month');\r\n// if (scheduleDateDue < dateCompleted) {\r\n// if ((dayRange == 1 && scheduleDateDue < dateCompleted) || (dayRange == 2 && !isSameWeek) || (dayRange == 3 && !isSameMonth)) {\r\n// return true;\r\n// }\r\n// }\r\n// return false;\r\n// };\r\n\r\n// const getScheduleColour = (dateCompleted, scheduleDateDue, dayRange) => {\r\n// let isOverDueSchedule = isOverDueSchedule(dateCompleted, scheduleDateDue, dayRange);\r\n// // dateCompleted = dateCompleted ? dateCompleted : moment().format();\r\n// if (dateCompleted && !isOverDueSchedule) {\r\n// return 'green';\r\n// } else if (isOverDueSchedule) {\r\n// return 'red';\r\n// } else {\r\n// return 'black';\r\n// }\r\n// };\r\n\r\nfunction CompleteScheduleModal(props) {\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const [state, setState] = useState({\r\n date: moment().format('YYYY-MM-DD'),\r\n scheduleID: null,\r\n isActive: true,\r\n regno: '',\r\n scheduleDateDue: '',\r\n createNewEvent: true,\r\n slippageValue: null,\r\n customer: '',\r\n serviceAgent: '',\r\n slippage: '',\r\n dateCompleted: '',\r\n mandateSlippage: false,\r\n failReason: '',\r\n mileage: null,\r\n dropDown: [],\r\n errors: {},\r\n dayRange: 1,\r\n scheduleEventName: ''\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n useEffect(async () => {\r\n if (props.rowData.scheduleID) {\r\n setState((state) => ({\r\n ...state,\r\n scheduleID: props.rowData.scheduleID,\r\n regno: props.rowData.vehicleRegNumber,\r\n scheduleDateDue: props.rowData.scheduleDateDue,\r\n customer: props.rowData.customerCompanyName,\r\n serviceAgent: props.rowData.agentName,\r\n dayRange: props.rowData?.dayRange,\r\n scheduleEventName: props.rowData?.scheduleEventName,\r\n createNewEvent: props.rowData.createNew ==true ? true : false\r\n // dateCompleted: props.rowData.scheduleCompletionDate || ''\r\n // scheduleDescription: res.data.scheduleDescription\r\n }));\r\n }\r\n let res = await getCompleteScheduleDropdowns();\r\n setState((state) => ({\r\n ...state,\r\n dropDown: res.data.slippageReasons\r\n }));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (formatters.isOverDueSchedule(state.dateCompleted, state.scheduleDateDue, state.dayRange)) {\r\n setState((state) => ({\r\n ...state,\r\n mandateSlippage: true\r\n }));\r\n }\r\n\r\n // else {\r\n // setState((state) => ({\r\n // ...state,\r\n // mandateSlippage: false\r\n // }));\r\n // }\r\n if (state.isActive !== false) {\r\n setState((state) => ({\r\n ...state,\r\n failReason: ''\r\n }));\r\n }\r\n }, [state.scheduleDateDue, state.dateCompleted, state.isActive]);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n if (name === 'dateCompleted') {\r\n setState((state) => ({\r\n ...state,\r\n mandateSlippage: false\r\n }));\r\n }\r\n setState((state) => ({\r\n ...state,\r\n [name]: value,\r\n errors: {}\r\n }));\r\n };\r\n\r\n const handleClick = (name, value) => {\r\n setState((st) => {\r\n const nst = { ...st, [name]: value };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { dateCompleted, mandateSlippage, slippage, slippageValue, failReason, isActive } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(dateCompleted)) {\r\n errors.dateCompleted = ' Date completed is required';\r\n formIsValid = false;\r\n }\r\n if (isNull(slippageValue) && mandateSlippage) {\r\n errors.slippage = ' Slippage reason is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(failReason) && isActive === false) {\r\n errors.failReason = ' Failure reason is required';\r\n formIsValid = false;\r\n }\r\n if (state.mileage < 0) {\r\n errors.mileage = ' Odometer reading can not be negative';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n setBtnLoader(true);\r\n let res = await postCompletedSchedule({\r\n scheduleID: props.rowData.scheduleID,\r\n scheduleDateCompleted: state.dateCompleted,\r\n scheduleTestResult: state.isActive === true ? 1 : state.isActive === false ? 2 : 3,\r\n scheduleFailReason: state.failReason || null,\r\n scheduleSlippageReasonID: state.slippageValue?.id || null,\r\n scheduleActualMiles: +state.mileage || null,\r\n createNewEvent: state.createNewEvent\r\n });\r\n if (res?.success) {\r\n showToastSuccess('Schedule Completed Successfully');\r\n props.onClose(true);\r\n } else {\r\n for (const [key, value] of Object.entries(res.errors)) {\r\n showToastError(`${key}: ${value}`);\r\n }\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n return (\r\n \r\n \r\n Reg Number\r\n {state.regno}\r\n \r\n \r\n Date Due\r\n {state.scheduleDateDue && moment(state.scheduleDateDue).format('DD/MM/YYYY')}\r\n \r\n \r\n Customer\r\n {state.customer}\r\n \r\n \r\n Service Agent\r\n {state.serviceAgent}\r\n \r\n \r\n Event\r\n {state.scheduleEventName}\r\n \r\n\r\n \r\n \r\n Date Completed\r\n \r\n \r\n {state.errors.dateCompleted}\r\n \r\n {\r\n \r\n \r\n Slippage Reason\r\n \r\n {/* */}\r\n \r\n {state.errors.slippage}\r\n \r\n }\r\n \r\n Odometer Reading\r\n \r\n {state.errors.mileage}\r\n \r\n {props.rowData.scheduleEventDisplayResult && (\r\n \r\n Result\r\n \r\n \r\n handleClick('isActive', true)} />\r\n \r\n \r\n handleClick('isActive', false)}\r\n />\r\n \r\n \r\n \r\n )}\r\n {state.isActive === false && (\r\n \r\n \r\n \r\n )}\r\n \r\n Create New Schedule?\r\n \r\n \r\n handleClick('createNewEvent', true)} />\r\n \r\n \r\n handleClick('createNewEvent', false)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Complete and Schedule Next\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default CompleteScheduleModal;\r\n","import { FormHelperText, Grid, InputLabel, Typography } from '@material-ui/core';\r\nimport moment from 'moment';\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\nimport { DatePicker, DateTimePicker, MandatoryField, SecondaryButton, SelectBox } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport {\r\n getScheduleRequestBookingById,\r\n getAllDropDowns,\r\n getScheduleBookingSectionById\r\n} from '../../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport { setBookingDate } from '../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\nimport { getAllDelayReason } from '../../../../../Core/Services/InternalUser/bookingDelayReason';\r\n\r\nconst ScheduleRevise = (props) => {\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [state, setState] = useState({\r\n // bookingDate: props.rowData.bookingDate || '',\r\n bookingDate:props.rowData.bookingDate ? moment(props.rowData.bookingDate).format('YYYY-MM-DDTHH:mm') : '',\r\n scheduleDateDue: '',\r\n scheduleEventName: '',\r\n scheduleID: null,\r\n schedulePrepDate: '',\r\n serviceAgentID: '',\r\n bookingReasonID:'',\r\n dropList: [],\r\n jobReasonList:[]\r\n });\r\n\r\n const [requestBookingData, setRequestBookingData] = useState({\r\n scheduleRequestedBookingDate: 'N/A',\r\n scheduleRequestedBookingTimeSlot: 'N/A',\r\n scheduleNightBooking: 'N/A',\r\n scheduleCollectionAndDeliverID: null,\r\n scheduleCollectionAndDeliver: 'N/A',\r\n scheduleDeliverBefore: 'N/A',\r\n scheduleCollectAfter: 'N/A'\r\n });\r\n\r\n const formatTime = (value) => {\r\n let formattedTime = value ? moment(value, 'HH:mm:ss').format('hh:mm A') : 'N/A';\r\n return formattedTime;\r\n };\r\n\r\n const pullRequestBookingData = async () => {\r\n let res = await getScheduleRequestBookingById(props.scheduleId);\r\n let bookingData = res.data;\r\n setRequestBookingData((st) => ({\r\n ...st,\r\n scheduleCollectAfter: formatTime(bookingData.scheduleCollectAfter),\r\n scheduleCollectionAndDeliverID: bookingData.scheduleCollectionAndDeliverID || null,\r\n scheduleDeliverBefore: formatTime(bookingData.scheduleDeliverBefore),\r\n scheduleNightBooking: bookingData.scheduleNightBooking ? 'Yes' : bookingData.scheduleNightBooking === null ? 'N/A' : 'No',\r\n scheduleRequestedBookingDate: bookingData.scheduleRequestedBookingDate\r\n ? moment(bookingData.scheduleRequestedBookingDate).format('DD/MM/YYYY')\r\n : 'N/A',\r\n scheduleRequestedBookingTimeSlot: formatTime(bookingData.scheduleRequestedBookingTimeSlot)\r\n }));\r\n // setState((st) => ({\r\n // ...st,\r\n // bookingDate: bookingData.scheduleRequestedBookingDate || ''\r\n // }));\r\n };\r\n const pullBookingData = async () => {\r\n let listReason = await getAllDelayReason();\r\n let jobReasonList = listReason?.data?.list.map((m) => ({\r\n id: m.bookingDateDelayReasonID,\r\n name: m.bookingDateDelayReasonDescription\r\n }));\r\n\r\n setState((st) => ({\r\n ...st,\r\n jobReasonList: jobReasonList||[]\r\n }));\r\n let DataList = await getAllDropDowns();\r\n setState((st) => ({\r\n ...st,\r\n dropList: DataList.data\r\n }));\r\n let res = await getScheduleBookingSectionById(props.scheduleId);\r\n let bookingData = res.data;\r\n setState((st) => ({\r\n ...st,\r\n vehicleID: bookingData.vehicleID || null,\r\n scheduleDateDue: moment(bookingData.scheduleDateDue).format('DD/MM/YYYY') || '',\r\n scheduleEventName: bookingData.scheduleEventName,\r\n scheduleID: bookingData.scheduleID,\r\n schedulePrepDate: bookingData.schedulePrepDate || '',\r\n serviceAgentID: bookingData.scheduleServiceAgentID || ''\r\n }));\r\n };\r\n useEffect(() => {\r\n pullBookingData();\r\n pullRequestBookingData();\r\n }, []);\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n setErrors({});\r\n };\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n if (!/[^\\s]/.test(state.serviceAgentID)) {\r\n err.serviceAgentID = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.bookingDate)) {\r\n err.bookingDate = true;\r\n noErrors = false;\r\n }\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n const handleData = async (ev) => {\r\n if (validate()) {\r\n let response = await setBookingDate({\r\n jobID: props?.rowData?.scheduleJobID,\r\n serviceAgentID: state.serviceAgentID,\r\n bookingDate: state.bookingDate,\r\n bookingNotes: state.bookingNotes,\r\n bookingReasonID: state.bookingReasonID\r\n });\r\n if (response.success) {\r\n showToastSuccess(response?.data?.message || 'Something went wrong');\r\n props.onClose(true);\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n \r\n \r\n Event\r\n {state.scheduleEventName}\r\n \r\n \r\n Date Due\r\n {state.scheduleDateDue || 'No Date Assigned'}\r\n \r\n \r\n \r\n Requested Booking Date\r\n {requestBookingData.scheduleRequestedBookingDate}\r\n \r\n \r\n Requested Booking Time Slot\r\n {requestBookingData.scheduleRequestedBookingTimeSlot}\r\n \r\n \r\n Is Night Booking?\r\n {requestBookingData.scheduleNightBooking}\r\n \r\n \r\n Collection And Delivery\r\n {requestBookingData.scheduleCollectionAndDeliver}\r\n \r\n \r\n Deliver Before\r\n {requestBookingData.scheduleDeliverBefore}\r\n \r\n \r\n Collect After\r\n {requestBookingData.scheduleCollectAfter}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Service Agent\r\n \r\n {errors.serviceAgentID ? 'This field is required' : null}\r\n \r\n \r\n New Booking Date\r\n \r\n {errors.bookingDate ? 'This field is required' : null}\r\n \r\n \r\n \r\n Select Reason\r\n \r\n \r\n {errors.bookingReasonID}\r\n \r\n \r\n \r\n \r\n \r\n Change Booking Date\r\n \r\n \r\n props.onClose(false)}>Cancel\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ScheduleRevise;\r\n","import { Grid } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport FileUploaderButton from '../../../Core/Controls/GenericFileUploader';\r\nimport { getJobRequireScheduledDocuments } from '../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\n\r\nconst RequiredDocumentsModal = (props) => {\r\n const [jobdocument, setJobDocument] = useState({\r\n list: [],\r\n refresherFlag: ''\r\n });\r\n useEffect(async () => {\r\n if (props.rowData.scheduleID) {\r\n let res = await getJobRequireScheduledDocuments(props.rowData.scheduleID);\r\n setJobDocument((jobdocument) => ({ ...jobdocument, list: res.data.list }));\r\n }\r\n }, [props.rowData.scheduleID, jobdocument.refresherFlag]);\r\n\r\n const dataReload = () => {\r\n setJobDocument((jobdocument) => ({ ...jobdocument, refresherFlag: new Date() }));\r\n props?.onFormSubmit && props?.onFormSubmit(true);\r\n };\r\n\r\n return (\r\n \r\n {jobdocument.list.length > 0 ? (\r\n jobdocument.list.map((m) => {\r\n return (\r\n \r\n
\r\n {m.docName}\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n })\r\n ) : (\r\n

No Required Documents Found...

\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default RequiredDocumentsModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../../Core/Controls/Grid/index';\r\nimport { EditButton, formatters } from '../../../../../Core/Controls';\r\nimport DialogBox from './scheduleVehicleAdd';\r\nimport EditSchedule from './scheduleVehicleEdit';\r\nimport ScheduleNotes from './scheduleVehicleNotes';\r\nimport ScheduleBookingStatus from './scheduleBookingStatus';\r\nimport ScheduleBookingSection from './scheduleBookingSection';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport EventIcon from '@material-ui/icons/Event';\r\nimport ConfirmationNumberIcon from '@material-ui/icons/ConfirmationNumber';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport '../../../../commonStyle.scss';\r\nimport './scheduleVehicleStyle.scss';\r\nimport { Link } from 'react-router-dom';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport VehicleDailyChecks from '../VehicleDailyChecks/vehicleDailyChecks';\r\nimport EditVehicleDailyChecks from '../VehicleDailyChecks/editVehicleDailyCheck';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { getScheduleVehicleById, deleteFutureUnCompletedSchedules } from '../../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport { CustomIconButton, SecondaryButton } from '../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { SecondaryCheckbox } from '../../../../../Core/Controls';\r\nimport CompleteScheduleModal from '../../../Schedule/completeSchedule';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { Grid } from '@material-ui/core';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport ScheduleRevise from './scheduleRevise';\r\nimport SyncIcon from '@material-ui/icons/Sync';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\nimport PostAddIcon from '@material-ui/icons/PostAdd';\r\nimport RequiredDocumentsModal from '../../../../ServiceAgent/Schedules/requiredDocumentsModal';\r\nimport EventNoteIcon from '@material-ui/icons/EventNote';\r\nimport moment from 'moment';\r\nimport ReactDOM from 'react-dom';\r\nimport ServiceAgentDetails from '../../DetailsModal/serviceAgent';\r\n\r\n// Date Due, Event, Booking Date, Completion Date, Agent, Status\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 160, addFileUploaderIcon: true },\r\n { key: 'scheduleEventName', name: 'Event', width: 150 },\r\n { key: 'dueDateISOWeek', name: 'ISO Week', width: 90 },\r\n { key: 'scheduleDateDue', name: 'Due', width: 110 },\r\n { key: 'scheduleRequestedBookingDate', name: 'Requested', width: 110 },\r\n { key: 'bookingDate', name: 'Booked', width: 110 },\r\n { key: 'scheduleCompletionDate', name: 'Completed', width: 140 },\r\n { key: 'scheduleBookingStatus', name: 'Status', width: 210 },\r\n { key: 'agentName', name: 'Agent' }\r\n];\r\nconst ScheduleVehicle = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const { userRoles } = useLoginInfo();\r\n const isCustomer = userRoles.includes('customer');\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n isAdd: true,\r\n showChecks: false,\r\n showEditChecks: false,\r\n showDelete: false,\r\n isDeleteFuture: false,\r\n scheduleID: null,\r\n data: [],\r\n isReload: null\r\n });\r\n const [openDialog, setOpenDialog] = useState({});\r\n const history = useHistory();\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n pullApiData();\r\n }, [props.scheduleVehicleID]);\r\n\r\n const reg = props.vehicleDisc ? props.vehicleDisc : '';\r\n\r\n const handleCheck = (ev, val) => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (val === 'Ad') {\r\n newSt.showChecks = true;\r\n newSt.selectedRowData = ev;\r\n }\r\n if (val === 'Ed') {\r\n newSt.showEditChecks = true;\r\n newSt.selectedRowData = ev;\r\n }\r\n return newSt;\r\n });\r\n };\r\n\r\n const closeCheck = () => {\r\n setState((st) => ({\r\n ...st,\r\n showChecks: false,\r\n showEditChecks: false\r\n }));\r\n pullApiData();\r\n };\r\n\r\n const onSelectCheckbox = (event) => {\r\n const { name, checked } = event.target;\r\n setState((st) => ({ ...st, [name]: checked }));\r\n };\r\n\r\n const deleteFutureUnComSchedules = async () => {\r\n let data = {\r\n scheduleVehicleID: props.scheduleVehicleID,\r\n scheduleEventID: state.data.scheduleEventID,\r\n isDeleteFuture: state.isDeleteFuture,\r\n scheduleID: state.data.scheduleID\r\n };\r\n let res = await deleteFutureUnCompletedSchedules(data);\r\n if (res.success) {\r\n showToastSuccess('Record deleted successfully');\r\n setState((st) => ({ ...st, showDelete: false }));\r\n pullApiData();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n const pullApiData = async () => {\r\n // let res = await getScheduleVehicleById(props.scheduleVehicleID);\r\n // setState((st) => ({\r\n // ...st,\r\n // rows: [...(res.data.schedules || [])],\r\n // showLoader: false\r\n // }));\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.scheduleJobID}/${val?.scheduleVehicleID}`,\r\n search: '',\r\n state: ''\r\n });\r\n };\r\n const modelgridStyle = {\r\n styleCol: {\r\n cursor: 'pointer',\r\n fontStyle: 'italic',\r\n textDecorationLine: 'underline'\r\n },\r\n NoneCondition: {}\r\n };\r\n const renderEdit = (ev, row) => {\r\n return (\r\n
\r\n {/* {row?.displayNotes === 'Y' && (\r\n {\r\n checkButton(row, 'notes');\r\n }}\r\n toolTipTitle=\"Notes\"\r\n />\r\n )} */}\r\n {/* {row?.displayEditVehicleSchedule === 'Y' && checkhaveAccess?.CanUpdateSchedules && (\r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n selectedRowData: row,\r\n isAdd: false\r\n }));\r\n }}\r\n />\r\n \r\n )} */}\r\n {/* {row?.displayReviseSchedule === 'Y' && (\r\n {\r\n checkButton(row, 'revise');\r\n }}\r\n toolTipTitle=\"Change Booking Date\"\r\n />\r\n )} */}\r\n {row?.scheduleBookingStatusID == 5 && (\r\n {\r\n checkButton(row, 'showRequiredDocumentsModal');\r\n }}\r\n toolTipTitle=\"Required Documents\"\r\n />\r\n )}\r\n\r\n {row?.displayJobDetails === 'Y' && checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)}\r\n />\r\n )}\r\n\r\n {/* {row?.displayCompleteSchedule === 'Y' && (\r\n {\r\n checkButton(row, 'complete');\r\n }}\r\n toolTipTitle=\"Complete schedule\"\r\n />\r\n )} */}\r\n\r\n {/* {row?.displayBookingRequest === 'Y' && (\r\n {\r\n checkButton(row, 'status');\r\n }}\r\n toolTipTitle=\"Update Booking Request\"\r\n />\r\n )} */}\r\n\r\n {/* {row?.displayBookJob === 'Y' && (\r\n {\r\n checkButton(row, 'section');\r\n }}\r\n toolTipTitle=\"Book Job\"\r\n />\r\n )} */}\r\n\r\n {row?.displayAddInspectionCheck === 'Y' && checkhaveAccess?.CanAddInspections && (\r\n {\r\n handleCheck(row, 'Ad');\r\n }}\r\n toolTipTitle=\"Add Inspection Check\"\r\n />\r\n )}\r\n\r\n {row?.displayEditInspectionCheck === 'Y' && (\r\n {\r\n handleCheck(row, 'Ed');\r\n }}\r\n toolTipTitle=\"Edit Inspection Check\"\r\n />\r\n )}\r\n\r\n {row?.displayDeleteSchedules === 'Y' && checkhaveAccess?.CanDeleteSchedules && (\r\n {\r\n setState((st) => ({\r\n ...st,\r\n showDelete: true,\r\n data: row\r\n }));\r\n }}\r\n toolTipTitle=\"Delete future uncompleted schedules\"\r\n />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const dateFormatter = (date) => {\r\n return date ? moment(date).format('DD/MM/YYYY') : '--:--';\r\n };\r\n const getRenderValue = (val, row) => {\r\n if (val === 'scheduleEventName') {\r\n return (\r\n (row?.displayNotes === 'Y' && row?.isNote > 0 ? checkButton(row, 'notes') : '')}\r\n style={row?.displayNotes === 'Y' && row?.isNote > 0 ? modelgridStyle.styleCol : modelgridStyle.NoneCondition}\r\n >\r\n {' '}\r\n {row.scheduleEventName}\r\n \r\n );\r\n } else if (val === 'scheduleRequestedBookingDate') {\r\n return (\r\n (row?.displayBookingRequest === 'Y' ? checkButton(row, 'status') : '')}\r\n >\r\n {row?.displayBookingRequest === 'Y' && row.scheduleRequestedBookingDate\r\n ? dateFormatter(row.scheduleRequestedBookingDate)\r\n : row?.displayBookingRequest === 'Y'\r\n ? 'Request'\r\n : dateFormatter(row.scheduleRequestedBookingDate)}\r\n \r\n );\r\n } else if (val === 'bookingDate') {\r\n return (\r\n \r\n row?.displayBookJob === 'Y' ? checkButton(row, 'section') : row?.displayReviseSchedule === 'Y' ? checkButton(row, 'revise') : ''\r\n }\r\n >\r\n {row?.displayReviseSchedule === 'Y'\r\n ? dateFormatter(row.bookingDate)\r\n : row?.displayBookJob === 'Y'\r\n ? 'Book Job'\r\n : dateFormatter(row.bookingDate)}\r\n \r\n );\r\n } else if (val === 'scheduleCompletionDate') {\r\n return (\r\n (row?.displayCompleteSchedule === 'Y' ? checkButton(row, 'complete') : '')}\r\n >\r\n {row?.displayCompleteSchedule === 'Y' ? 'Complete' : dateFormatter(row.scheduleCompletionDate)}\r\n \r\n );\r\n } else {\r\n return '';\r\n }\r\n };\r\n const BasicColFormate =\r\n (clVal) =>\r\n ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = getRenderValue(clVal, row);\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n const dueDateFormatter = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n let textColor = formatters.getScheduleColour(row.scheduleCompletionDate, row.scheduleDateDue, row.dayRange);\r\n const dueDate = row.scheduleDateDue;\r\n let show = row?.displayEditVehicleSchedule === 'Y' && checkhaveAccess?.CanUpdateSchedules;\r\n const HandeClick = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n selectedRowData: row,\r\n isAdd: false\r\n }));\r\n };\r\n const lnk = (\r\n (show ? HandeClick() : '')}\r\n >\r\n {dateFormatter(dueDate)}\r\n \r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
checkButton(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.agentName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n let dateDueCol = tempCols.find((e) => e.key === 'scheduleDateDue');\r\n let scheduleEventNameCol = tempCols.find((e) => e.key === 'scheduleEventName');\r\n let scheduleRequestedDatecol = tempCols.find((e) => e.key === 'scheduleRequestedBookingDate');\r\n let bookingDateCol = tempCols.find((e) => e.key === 'bookingDate');\r\n let scheduleCompletionDateCol = tempCols.find((e) => e.key === 'scheduleCompletionDate');\r\n if (scheduleCompletionDateCol) scheduleCompletionDateCol.formatter = BasicColFormate('scheduleCompletionDate');\r\n if (bookingDateCol) bookingDateCol.formatter = BasicColFormate('bookingDate');\r\n if (scheduleRequestedDatecol) scheduleRequestedDatecol.formatter = BasicColFormate('scheduleRequestedBookingDate');\r\n if (scheduleEventNameCol) scheduleEventNameCol.formatter = BasicColFormate('scheduleEventName');\r\n let agentCol = tempCols.find((element) => element.key === 'agentName');\r\n if (agentCol) {\r\n agentCol.formatter = renderAgentName;\r\n }\r\n if (dateDueCol) {\r\n dateDueCol.formatter = dueDateFormatter;\r\n }\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n isAdd: true,\r\n selectedRowData: {}\r\n }));\r\n };\r\n\r\n const handleClose = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n selectedRowData: {}\r\n }));\r\n res && pullApiData();\r\n };\r\n\r\n const closeTheDialog = (res) => {\r\n setOpenDialog({});\r\n res && pullApiData();\r\n };\r\n\r\n const checkButton = (ev, label) => {\r\n setOpenDialog({ [label]: true });\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: ev\r\n }));\r\n // pullApiData();\r\n };\r\n\r\n let getUrl = `Schedules?vehicleId=${props.scheduleVehicleID}`;\r\n let addBtnTitle = isCustomer ? '' : 'Add Vehicle Schedule';\r\n\r\n return (\r\n
\r\n {state.showChecks ? (\r\n \r\n ) : state.showEditChecks ? (\r\n \r\n ) : (\r\n ({\r\n records: res.data.schedules,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n getUrl={getUrl}\r\n downloadBtnName={`${reg}_Schedule`}\r\n />\r\n )}\r\n {state.open ? (\r\n {\r\n handleClose(false);\r\n }}\r\n title={state.isAdd ? `Add Schedule (${reg})` : `Edit Schedule (${reg})`}\r\n maxWidth=\"sm\"\r\n name=\"addEdit\"\r\n >\r\n {state.isAdd ? (\r\n {\r\n handleClose(true);\r\n }}\r\n />\r\n ) : (\r\n {\r\n handleClose(true);\r\n }}\r\n />\r\n )}\r\n \r\n ) : null}\r\n {openDialog.notes ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.status ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.section ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.complete ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.revise ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.showRequiredDocumentsModal ? (\r\n closeTheDialog(false)} title={'Required Documents'} maxWidth=\"sm\" fullWidth>\r\n \r\n \r\n ) : null}\r\n {state.showDelete ? (\r\n setState((st) => ({ ...st, showDelete: false }))} maxWidth=\"sm\">\r\n \r\n \r\n \r\n \r\n Date Due:{formatters.DateFormatter(state.data?.scheduleDateDue)}\r\n \r\n \r\n \r\n \r\n Event Name:{state.data?.scheduleEventName}\r\n \r\n \r\n \r\n Are you sure you want to delete this record?\r\n \r\n \r\n \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n setState((st) => ({ ...st, showDelete: false }))} fullWidth className=\"submit_btn\">\r\n Cancel\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {openDialog.showSaModal ? (\r\n closeTheDialog(false)} title={'Service Agent Details'}>\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default ScheduleVehicle;\r\n\r\n//Please Ignore\r\n{\r\n /* \r\n */\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText } from '@material-ui/core';\r\nimport { SingleSelect, SecondaryButton, SelectBox, MandatoryField, SimpleField } from '../../../../Core/Controls';\r\nimport { getAllJobDropDowns } from '../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\nimport { postJobData } from '../../../../Core/Services/InternalUser/JOB/jobService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../controllerStyle.scss';\r\n\r\nfunction JobScreenModal(props) {\r\n const [state, setState] = useState({\r\n errors: {},\r\n description: '',\r\n customerOrderNo: '',\r\n serviceAgentList: [],\r\n jobDepotList: [],\r\n jobAuthorityRef: ''\r\n });\r\n\r\n \r\n const [tempOptions, setTempOptions] = useState({\r\n jobDepotID: null,\r\n serviceAgentID: null\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n let res = await getAllJobDropDowns(props.VehicleID);\r\n setState((state) => ({\r\n ...state,\r\n jobDepotList: res.data.depots,\r\n serviceAgentList: res.data.serviceAgents,\r\n vehicleId: props.VehicleID\r\n }));\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n const { serviceAgentID, jobDepotID, description } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(description)) {\r\n errors.description = 'Description is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(serviceAgentID)) {\r\n errors.serviceAgentID = ' Service Agent is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(jobDepotID)) {\r\n errors.jobDepotID = ' Job Depot is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => ({ ...st, [nm]: val }));\r\n };\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const data = {\r\n vehicleID: props.VehicleID,\r\n description: state.description,\r\n jobCustomerOrderNo: state.customerOrderNo,\r\n jobServiceAgentID: tempOptions.serviceAgentID?.id,\r\n jobDepotID: tempOptions.jobDepotID?.id,\r\n jobAuthorityRef: state.jobAuthorityRef\r\n };\r\n props.onClose(true);\r\n let res = await postJobData(data);\r\n if (res.success) {\r\n showToastSuccess('Job added sucessfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {state.errors.description}\r\n \r\n \r\n \r\n Service Agent\r\n \r\n \r\n \r\n \r\n \r\n Job Depot\r\n \r\n \r\n {state.errors.jobDepotID}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Add\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default JobScreenModal;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\nimport { memoize } from 'lodash';\r\n\r\nexport const getAllJobQueryList = async (id) => {\r\n let res = await getWithAuth(`JobQuery/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postJobQueryModal = async (data) => {\r\n let res = await postWithAuth(`JobQuery`, data);\r\n return res;\r\n};\r\n\r\nexport const UpdateJobStatus = async (data) => {\r\n let res = await postWithAuth(`VehicleJob/VehicleJobsUpdateStatus`, data);\r\n return res;\r\n};\r\n\r\nexport const JobsSubmitcost = async (data) => {\r\n let res = await postWithAuth(`VehicleJob/VehicleJobsSubmitcost`, data);\r\n return res;\r\n};\r\n\r\nexport const JobsApproveJob = async (data) => {\r\n let res = await postWithAuth(`VehicleJob/VehicleJobsApproveJob`, data);\r\n return res;\r\n};\r\n\r\nexport const JobsConfirmJob = async (data) => {\r\n let res = await postWithAuth(`VehicleJob/ConfirmJob/${data.id}`, data);\r\n return res;\r\n};\r\n\r\nexport const getAllJobUpdateNotesList = async (id) => {\r\n let res = await getWithAuth(`JobUpdates?JobUpdateJobID=${id}`);\r\n return res;\r\n};\r\nexport const addUpdateJobUpdateNote = async (data) => {\r\n let res = await postWithAuth(`JobUpdates`, data);\r\n return res;\r\n};\r\nexport const getJobUpdateNotesbyId = async (id) => {\r\n let res = await getWithAuth(`JobUpdates/${id}`);\r\n return res;\r\n};\r\n","import { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport React, { useEffect, useState, useMemo } from 'react';\r\nimport { InputText, SecondaryButton, YesButton, NoButton } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport '../../controllerStyle.scss';\r\nimport { getAllJobQueryList, postJobQueryModal } from '../../../../../Core/Services/InternalUser/JOB/jobQueryService';\r\nimport moment from 'moment';\r\nimport './style.scss';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst JobSingleNote = (props) => {\r\n return (\r\n
\r\n
{props.note.message}
\r\n
\r\n {props.note.name} @ {moment(props.note.dateCreated).format('LLL')}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst JobQueryModal = (props) => {\r\n const [state, setState] = useState({\r\n jobQueryMessage: '',\r\n jobQueryClosed: false,\r\n showLoader: true,\r\n rows: []\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n const pullJobQueryList = async () => {\r\n let res = await getAllJobQueryList(props.jobQueryJobID);\r\n setState((st) => ({\r\n ...st,\r\n rows: [...(res.data?.list || [])],\r\n showLoader: false\r\n }));\r\n };\r\n useEffect(() => {\r\n pullJobQueryList();\r\n }, []);\r\n\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n if (!/[^\\s]/.test(state.jobQueryMessage)) {\r\n err.jobQueryMessage = true;\r\n noErrors = false;\r\n }\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n\r\n const handleClick = (name, value) => {\r\n setState((st) => {\r\n const nst = { ...st, [name]: value };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleData = async () => {\r\n if (validate()) {\r\n let response = '';\r\n if (props.title == 'Reply Customer') {\r\n response = await postJobQueryModal({\r\n jobQueryJobID: props.jobQueryJobID,\r\n jobQueryMessage: state.jobQueryMessage,\r\n customerMessage: true\r\n });\r\n } else {\r\n response = await postJobQueryModal({\r\n jobQueryJobID: props.jobQueryJobID,\r\n jobQueryMessage: state.jobQueryMessage\r\n });\r\n }\r\n if (response) {\r\n response.success ? showToastSuccess('Job query saved successfully') : showToastError(response.message || 'Something went wrong');\r\n pullJobQueryList();\r\n props.onClose(true);\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n }\r\n };\r\n\r\n const inputChange = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n setErrors({});\r\n };\r\n\r\n return (\r\n
\r\n \r\n {props.title && (\r\n
\r\n \r\n {props.title}\r\n \r\n
\r\n )}\r\n {props.title && (\r\n \r\n \r\n Message\r\n \r\n \r\n {errors.jobQueryMessage ? 'Message is empty!' : null}\r\n \r\n )}\r\n {props.title == 'Reply Query' && (\r\n \r\n Close Query\r\n \r\n \r\n handleClick('jobQueryClosed', true)}\r\n />\r\n \r\n \r\n handleClick('jobQueryClosed', false)}\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n {state.rows.length > 0 ? (\r\n
\r\n {state.rows?.map((n, i) => (\r\n \r\n ))}\r\n
\r\n ) : (\r\n
No data found
\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default JobQueryModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllVehicleJob, getAllJob, getAllCustomerJob } from '../../../../Core/Services/InternalUser/JOB/jobService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport JobScreenModal from './JobScreenModal';\r\nimport { Link } from 'react-router-dom';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { useHistory } from 'react-router-dom';\r\nimport JobQueryModal from './JobStatusBtn/JobQuery';\r\nimport SpeakerNotesIcon from '@material-ui/icons/SpeakerNotes';\r\nimport ReactDOM from 'react-dom';\r\nimport DepotDetails from '../DetailsModal/depotDetails';\r\nimport CustomerDetails from '../DetailsModal/customerDetails';\r\nimport ServiceAgentDetails from '../DetailsModal/serviceAgent';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: 120, addFileUploaderIcon: true },\r\n { key: 'jobDate', name: 'Date', formatter: formatters.Date_DDMMYYYY, width: 100 },\r\n { key: 'agentOrderNo', name: 'Job Ref', width: 150 },\r\n { key: 'vehicleJobStatus', name: 'Job Status', width: 110 },\r\n { key: 'jobDescription', name: 'Job Description' },\r\n { key: 'serviceAgentName', name: 'Service Agent', width: 200 },\r\n { key: 'depotName', name: 'Depots', width: 100 },\r\n {\r\n key: 'partsTotal',\r\n name: 'Parts',\r\n formatter: formatters.NumberWithPound,\r\n align: 'right',\r\n width: 110\r\n },\r\n {\r\n key: 'labourTotal',\r\n name: 'Labour',\r\n formatter: formatters.NumberWithPound,\r\n align: 'right',\r\n width: 110\r\n },\r\n {\r\n key: 'orderTotal',\r\n name: 'Total',\r\n formatter: formatters.NumberWithPound,\r\n align: 'right',\r\n width: 80\r\n }\r\n];\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Jobs', active: true },\r\n { name: 'All Jobs', active: true }\r\n];\r\n\r\nfunction JobScreen(props) {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const history = useHistory();\r\n let getUrl = `VehicleJob/${props.VehicleID ? `?VehicleID=${props.VehicleID}` : ''}${props.customerID ? `?customerID=${props.customerID}` : ''}`;\r\n const [state, setState] = useState({\r\n jobList: [],\r\n loader: true,\r\n open: false\r\n });\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n useEffect(async () => {\r\n pullJobList();\r\n }, [props.VehicleID]);\r\n\r\n const pullJobList = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const jobHandler = (params) => {\r\n setState((state) => ({ ...state, open: true }));\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.jobID}/${props.VehicleID ? props.VehicleID : val?.vehicleID}`,\r\n search: '',\r\n state: { position: 'jobs', vorVehicleID: val.vorVehicleID }\r\n });\r\n };\r\n\r\n const handleShowQueries = (val) => {\r\n setState((state) => ({ ...state, showJobQuery: true, jobID: val?.jobID }));\r\n };\r\n\r\n const closeTheDialog = (val) => {\r\n setState((state) => ({ ...state, showJobQuery: false, jobID: '' }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n handleShowQueries(row)}\r\n />\r\n {checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)} />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.vehicleRegNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.serviceAgentName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderDepotName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showDepotModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.depotName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customerCompanyName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.vehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showSaModal: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n let agentNameCol = newColumn.find((element) => element.key === 'serviceAgentName');\r\n let depotNameCol = newColumn.find((element) => element.key === 'depotName');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n if (depotNameCol) {\r\n depotNameCol.formatter = renderDepotName;\r\n }\r\n if (agentNameCol) {\r\n agentNameCol.formatter = renderAgentName;\r\n }\r\n if (!props.VehicleID) {\r\n newColumn.splice(3, 0, { key: 'vehicleRegNumber', name: 'Reg Number', width: 110, formatter: renderRegNumberEdit });\r\n }\r\n if (!props.customerID && !isCustomer && !props.VehicleID) {\r\n newColumn.splice(5, 0, { key: 'customerCompanyName', name: 'Customer', formatter: renderCustomerName, width: 150 });\r\n }\r\n return newColumn;\r\n }, []);\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullJobList();\r\n };\r\n const gridBtnTitle = !props.VehicleID ? '' : isCustomer ? '' : 'Add Job';\r\n const page = props.VehicleID ? true : props.customerID ? true : false;\r\n return (\r\n
\r\n {state.open && (\r\n closeModal(false)} title=\"Add Job\" maxWidth=\"md\">\r\n closeModal(true)} />\r\n \r\n )}\r\n {!page && }\r\n {state.showJobQuery && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n getUrl={getUrl}\r\n />\r\n {state.showSaModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\nexport default JobScreen;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getJourney = async (Id) => {\r\n let res = await getWithAuth(`Journeys?VehicleID=${Id}&Active=true`);\r\n return res;\r\n};\r\n\r\nexport const getJourneyById = async (Id) => {\r\n let res = await getWithAuth(`Journeys/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const postJourney = async (data) => {\r\n let res = await postWithAuth(`Journeys`, data);\r\n return res;\r\n};\r\n\r\nexport const journeyDropDown = async () => {\r\n let res = await getWithAuth(`Journeys/screenDropdowns`);\r\n return res;\r\n};\r\n\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { getJourneyById, postJourney, journeyDropDown } from '../../../../../Core/Services/InternalUser/ControllerService/journeyService';\r\nimport { SelectBox, DateTimePicker, InputText, SecondaryButton, MandatoryField } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\n\r\nimport moment from 'moment';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst JourneysAddEditModal = (props) => {\r\n const [state, setState] = useState({\r\n journeyActive: true,\r\n journeyDriverID: null,\r\n journeyID: null,\r\n journeyVehicleID: props.VehicleID,\r\n journeyEndLocationCoordinates: null,\r\n journeyStartLocationCoordinates: null,\r\n journeyEndOdometerReading: null,\r\n errors: {},\r\n driversList: [],\r\n typeList: [],\r\n date: moment().format('YYYY-MM-DDTHH:mm')\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.journeyID) {\r\n let res = await getJourneyById(props.journeyID);\r\n let data = res.data;\r\n setState((st) => ({\r\n ...st,\r\n journeyID: data.journeyID,\r\n journeyVehicleID: data.journeyVehicleID,\r\n journeyDriverID: data.journeyDriverID,\r\n journeyTypeID: data.journeyTypeID,\r\n journeyDateStarted: moment(data.journeyDateStarted).format('YYYY-MM-DDTHH:mm'),\r\n journeyDateEnded: moment(data.journeyDateEnded).format('YYYY-MM-DDTHH:mm'),\r\n journeyStartOdometerReading: data.journeyStartOdometerReading,\r\n journeyEndOdometerReading: data.journeyEndOdometerReading,\r\n journeyStartLocation: data.journeyStartLocation,\r\n journeyStartLocationCoordinates: data.journeyStartLocationCoordinates,\r\n journeyEndLocation: data.journeyEndLocation,\r\n journeyEndLocationCoordinates: data.journeyEndLocationCoordinates,\r\n journeyActive: data.journeyActive,\r\n journeyNote: data.journeyNote\r\n }));\r\n }\r\n let dropDownRes = await journeyDropDown();\r\n if (dropDownRes.success) {\r\n const driversList = dropDownRes.data.drivers.map((m) => ({\r\n id: m.id,\r\n name: m.name\r\n }));\r\n const typeList = dropDownRes.data.journeyTypes.map((m) => ({\r\n id: m.id,\r\n name: m.name\r\n }));\r\n\r\n setState((st) => ({ ...st, driversList: driversList, typeList: typeList }));\r\n }\r\n }, []);\r\n\r\n const handleInputs = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({\r\n ...st,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!state.journeyDriverID) {\r\n errors.journeyDriverID = 'Driver is required';\r\n formIsValid = false;\r\n }\r\n if (!state.journeyTypeID) {\r\n errors.journeyTypeID = 'Journey Type is required ';\r\n formIsValid = false;\r\n }\r\n if (!state.journeyDateStarted) {\r\n errors.journeyDateStarted = `Start date is required`;\r\n formIsValid = false;\r\n }\r\n if (!state.journeyDateEnded) {\r\n errors.journeyDateEnded = 'End date is required';\r\n formIsValid = false;\r\n }\r\n if (!state.journeyStartOdometerReading) {\r\n errors.journeyStartOdometerReading = 'Start Odometer is required';\r\n formIsValid = false;\r\n }\r\n if (!state.journeyEndOdometerReading) {\r\n errors.journeyEndOdometerReading = 'End Odometer is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors: errors\r\n }));\r\n return formIsValid;\r\n };\r\n\r\n const duration = moment(state.journeyDateEnded).diff(state.journeyDateStarted, 'minute');\r\n var Hours = Math.floor(duration / 60);\r\n var minutes = duration % 60;\r\n const setDuration = state.journeyDateEnded && duration > 0 ? `${Hours}:${minutes}` : duration < 0 ? 'End time must be later than the start time' : null;\r\n\r\n const distance = state.journeyEndOdometerReading ? state.journeyEndOdometerReading - state.journeyStartOdometerReading : null;\r\n\r\n const HandleSubmit = async () => {\r\n if (validations()) {\r\n let journeyData = {\r\n journeyID: state.journeyID,\r\n journeyVehicleID: state.journeyVehicleID,\r\n journeyTypeID: state.journeyTypeID,\r\n journeyDriverID: state.journeyDriverID,\r\n journeyDateStarted: state.journeyDateStarted,\r\n journeyDateEnded: state.journeyDateEnded,\r\n journeyStartOdometerReading: state.journeyStartOdometerReading,\r\n journeyEndOdometerReading: state.journeyEndOdometerReading,\r\n journeyStartLocation: state.journeyStartLocation,\r\n journeyStartLocationCoordinates: state.journeyStartLocationCoordinates,\r\n journeyEndLocation: state.journeyEndLocation,\r\n journeyEndLocationCoordinates: state.journeyEndLocationCoordinates,\r\n journeyActive: state.journeyActive,\r\n journeyNote: state.journeyNote\r\n };\r\n\r\n let res = await postJourney(journeyData);\r\n if (res.success) {\r\n showToastSuccess('Journey added successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n // props.onClose(false);\r\n }\r\n }\r\n };\r\n return (\r\n \r\n \r\n \r\n Driver\r\n \r\n {state.errors.journeyDriverID}\r\n \r\n \r\n Journey\r\n \r\n {state.errors.journeyTypeID}\r\n \r\n \r\n\r\n \r\n \r\n Start Date/Time\r\n \r\n {state.errors.journeyDateStarted}\r\n \r\n \r\n End Date/Time\r\n \r\n {state.errors.journeyDateEnded}\r\n \r\n \r\n {setDuration ? (\r\n <>\r\n Duration\r\n \r\n {setDuration}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n Start Odometer\r\n \r\n {state.errors.journeyStartOdometerReading}\r\n \r\n \r\n End Odometer\r\n \r\n {state.errors.journeyEndOdometerReading}\r\n \r\n \r\n {distance ? (\r\n <>\r\n Distance\r\n \r\n {distance > 0 ? distance : 'End odometer reading must be greater than start odometer reading '}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n Location: Start\r\n \r\n \r\n \r\n Location: End\r\n \r\n \r\n \r\n \r\n \r\n Notes\r\n \r\n \r\n \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default JourneysAddEditModal;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { getJourney } from '../../../../../Core/Services/InternalUser/ControllerService/journeyService';\r\nimport { EditButton, DataGrid, formatters } from '../../../../../Core/Controls';\r\nimport moment from 'moment';\r\nimport JourneysAddEditModal from './journeysaddEdit';\r\nimport '../../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 60 },\r\n { key: 'journeyDateStarted', name: 'Start Date', formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'journeyDateEnded', name: 'End Date', formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'journeyStartOdometerReading', name: 'Start Mileage' },\r\n { key: 'journeyEndOdometerReading', name: 'End Mileage' },\r\n { key: 'journeyStartLocation', name: 'Location Start' },\r\n { key: 'journeyEndLocation', name: 'Location End' },\r\n { key: 'driver', name: 'Driver' }\r\n];\r\n\r\nconst VehicleJourneys = (props) => {\r\n const [state, setState] = useState({\r\n show: false,\r\n journeyList: [],\r\n showLoader: true,\r\n isReload: null\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n useEffect(async () => {\r\n pullJourneyData();\r\n }, [props.VehicleID]);\r\n\r\n const pullJourneyData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleAddEdit = (data) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n journeyID: data?.journeyID\r\n }));\r\n };\r\n\r\n const closeModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullJourneyData();\r\n };\r\n\r\n const editFormatter = (data, row) => {\r\n return (\r\n
\r\n handleAddEdit(row)} />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = editFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n let getUrl = `Journeys?VehicleID=${props.VehicleID}&Active=true`;\r\n\r\n return (\r\n
\r\n {state.show ? (\r\n \r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle={checkhaveAccess?.CanUpdateVehicleJourneys ? 'Add Journey' : ''}\r\n onBtnClick={() => handleAddEdit(null)}\r\n isReload={state.isReload}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\nexport default VehicleJourneys;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../../Basic/HttpService';\r\nimport { memoize } from 'lodash';\r\n\r\nexport const getAllFuelPurchase = async (id) => {\r\n let res = await getWithAuth(`FuelPurchases?VehicleID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getFuelPurchaseById = async (vehicleid, Id) => {\r\n // let res = await getWithAuth(`FuelPurchases?VehicleID=${vehicleid}/${Id}`);\r\n\r\n let res = await getWithAuth(`FuelPurchases/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const getFuelPurchaseScreenDropdowns = memoize(async () => {\r\n let res = await getWithAuth(`FuelPurchases/screenDropdowns`);\r\n return res;\r\n});\r\n\r\nexport const addFuelPurchase = async (data) => {\r\n let res = await postWithAuth('FuelPurchases', data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState, useMemo, createContext, useCallback } from 'react';\r\nimport {\r\n getAllFuelPurchase,\r\n getFuelPurchaseById,\r\n getFuelPurchaseScreenDropdowns,\r\n addFuelPurchase\r\n} from '../../../../Core/Services/InternalUser/ControllerService/fuelPurchaseService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport moment from 'moment';\r\n\r\nexport const FuelPurchaseScreenContext = createContext();\r\n\r\nexport const FuelPurchaseProvider = (props) => {\r\n const { showToastError, showToastSuccess } = useToast();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n fuelPurchaseActive: false,\r\n FuelPurchaseList: [],\r\n purchaseDate: '',\r\n paymentMethodList: [],\r\n fuelID: null,\r\n liters: '',\r\n mileage: '',\r\n errors: {},\r\n cost: '',\r\n paymentMethod: '',\r\n notes: ''\r\n });\r\n\r\n const pullFuelPurchaseAndUpdateState = async () => {\r\n let res1 = await getFuelPurchaseScreenDropdowns();\r\n if (res1) {\r\n setState((st) => ({ ...st, showLoader: false, paymentMethodList: res1.data.fuelPaymentMethods }));\r\n }\r\n };\r\n\r\n const handleCheckbox = useCallback((e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.fuelID) {\r\n let res = await getFuelPurchaseById(props.VehicleID, props.fuelID);\r\n const data = res.data;\r\n setState((st) => ({\r\n ...st,\r\n fuelID: data.fuelPurchaseID,\r\n fuelPurchaseActive: data.fuelPurchaseActive,\r\n mileage: data.fuelPurchaseOdometer,\r\n liters: data.fuelPurchaseLitres,\r\n cost: data.fuelPurchaseCost,\r\n paymentMethod: data.fuelPurchasePaymentMethodID,\r\n notes: data.fuelPurchaseNotes,\r\n fuelPurchaseActive: data.fuelPurchaseActive,\r\n fuelPurchaseVehicleID: data.fuelPurchaseVehicleID,\r\n fuelPurchaseDriverID: data.fuelPurchaseDriverID,\r\n purchaseDate: data.fuelPurchaseDate\r\n }));\r\n }\r\n pullFuelPurchaseAndUpdateState();\r\n }, []);\r\n\r\n const validations = () => {\r\n const { liters, cost, paymentMethod, purchaseDate } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(liters)) {\r\n errors.liters = 'The litres field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(cost)) {\r\n errors.cost = 'The cost field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(paymentMethod)) {\r\n errors.paymentMethod = 'The payment method field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(purchaseDate)) {\r\n errors.purchaseDate = 'The purchase date is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n let formData;\r\n formData = {\r\n fuelPurchaseID: state.fuelID,\r\n fuelPurchaseLitres: state.liters,\r\n fuelPurchaseOdometer: state.mileage,\r\n fuelPurchaseCost: state.cost,\r\n fuelPurchasePaymentMethodID: state.paymentMethod,\r\n fuelPurchaseNotes: state.notes,\r\n fuelPurchaseActive: state.fuelPurchaseActive,\r\n fuelPurchaseVehicleID: props.VehicleID,\r\n fuelPurchaseDriverID: null,\r\n fuelPurchaseDate: state.purchaseDate\r\n };\r\n let res = await addFuelPurchase(formData);\r\n if (res.success) {\r\n showToastSuccess('Fuel Purchase Saved Successfully!');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const dateFieldsChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, Typography } from '@material-ui/core';\r\nimport { SecondaryButton, MandatoryField, DateTimePicker, SimpleField, SelectBox, SecondaryCheckbox } from '../../../../Core/Controls';\r\nimport '../../../commonStyle.scss';\r\nimport { FuelPurchaseProvider, FuelPurchaseScreenContext } from './FuelPurchaseProvider';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nfunction FuelPurchaseModal(props) {\r\n const { state, handleSubmit, inputChange, handleCheckbox, dateFieldsChange } = useContext(FuelPurchaseScreenContext);\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n return (\r\n \r\n \r\n \r\n Purchase Date\r\n \r\n \r\n {state.errors.purchaseDate}\r\n \r\n \r\n \r\n {state.errors.liters}\r\n \r\n \r\n \r\n {state.errors.cost}\r\n \r\n \r\n \r\n Payment Method\r\n \r\n \r\n {state.errors.paymentMethod}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.notes}\r\n \r\n {props.fuelID && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n );\r\n}\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useState, useMemo, createContext, useCallback } from 'react';\r\nimport { AddButton, DataGrid, EditButton, formatters } from '../../../../Core/Controls';\r\nimport '../../../commonStyle.scss';\r\nimport { getAllFuelPurchase } from '../../../../Core/Services/InternalUser/ControllerService/fuelPurchaseService';\r\nimport FuelPurchaseModal from './addEditFuelPurchase';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: '5%'\r\n },\r\n { key: 'fuelPurchaseDate', name: 'Purchase Date', formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'fuelPurchaseLitres', name: 'Litres' },\r\n { key: 'fuelPurchaseCost', name: 'Cost' },\r\n { key: 'paymentMethod', name: 'Payment Method' },\r\n { key: 'fuelPurchaseNotes', name: 'Notes' }\r\n];\r\n\r\nexport const FuelPurchaseDashboard = (props) => {\r\n const { showToastError, showToastSuccess } = useToast();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n FuelPurchaseList: [],\r\n fuelID: null\r\n });\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n fuelID: record\r\n }));\r\n };\r\n\r\n const title = `${state.fuelID ? 'Update' : 'Add'} Fuel`;\r\n\r\n const pullFuelPurchaseAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n pullFuelPurchaseAndUpdateState();\r\n }, [props.VehicleID]);\r\n\r\n const closeFuelPurchasesModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false,\r\n showDelete: false\r\n }));\r\n res && pullFuelPurchaseAndUpdateState();\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n
\r\n handleAdd(row.fuelPurchaseID)} toolTipTitle=\"Edit Fuel\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n const gridBtnTitle = `Add Fuel`;\r\n return (\r\n
\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle={checkhaveAccess?.CanUpdateVehicleFuelRecords ? gridBtnTitle : ''}\r\n onBtnClick={() => handleAdd(null)}\r\n />\r\n {state.show && (\r\n closeFuelPurchasesModal(false)} maxWidth=\"sm\">\r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default FuelPurchaseDashboard;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { FailButton, InputText, NAButton, PassButton, SecondaryButton, SelectBox, MButton, Accordion, UploadWithBadge } from '../../../../../Core/Controls';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport {\r\n Grid,\r\n Paper,\r\n InputLabel,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n Typography,\r\n Tooltip,\r\n CircularProgress,\r\n FormHelperText,\r\n Badge,\r\n Hidden\r\n} from '@material-ui/core';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport SignaturePad from 'react-signature-canvas';\r\n\r\nimport '../../controllerStyle.scss';\r\nimport { getEditDriverChekssById, postvehiclecheckchecksData, PostImage, getImageByID } from '../../../../../Core/Services/InternalUser/Vehicle/driverVehicle';\r\nimport moment from 'moment';\r\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport '../../controllerStyle.scss';\r\nimport ImageModal from './imageModal';\r\nimport _ from 'lodash';\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '8px 20px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '8px 20px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\nconst useStyles = makeStyles((theme) => ({\r\n title: {\r\n fontSize: '25px',\r\n color: '#f50057',\r\n fontWeight: 600,\r\n paddingLeft: 9\r\n },\r\n loader: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: 300\r\n },\r\n sign: {\r\n border: '1px solid grey',\r\n height: 180\r\n }\r\n}));\r\n\r\nconst CheckButtons = {\r\n 1: PassButton,\r\n 2: FailButton,\r\n 3: NAButton,\r\n 5: MButton\r\n};\r\n\r\nconst statusObj = { 1: 'Unreviewed', 2: 'Satisfactory', 3: 'Safety Item Defect', 4: 'Repair Required', 5: 'Monitor' };\r\n\r\nconst EditDriverDailyChecks = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { displayName } = useLoginInfo();\r\n const classes = useStyles();\r\n const [state, setState] = useState({\r\n vehicleID: props.VehicleID,\r\n vehicleDailyCheckCheckTypeID: 1,\r\n vehicleDailyCheckStatusId: null,\r\n vehicleDailyCheckDateExpire: null,\r\n vehicleDailyCheckDriverComment: '',\r\n vehicleDailyCheckDriverId: null,\r\n vehicleDailyCheckId: props.chekcsID,\r\n selectAll: false,\r\n flag: false,\r\n vehicleDailyCheckCheckerName: displayName,\r\n submitArray: []\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.chekcsID) {\r\n let res = await getEditDriverChekssById(props.chekcsID);\r\n if (res.success) {\r\n res.data.driverDailyChecks.map((x) => {\r\n setState((st) => ({\r\n ...st,\r\n regNumber: x.vehicleRegNumber,\r\n modelID: x.vehicleModel,\r\n makeID: x.vehicleMake,\r\n vehicleID: x.vehicleID,\r\n vehicleDailyCheckId: props.chekcsID,\r\n vehicleDailyCheckStatusId: x.vehicleDailyCheckStatusId,\r\n vehicleDailyCheckCheckTypeID: x.vehicleDailyCheckCheckTypeID,\r\n date: moment(x.vehicleDailyCheckDateStarted).format('YYYY-MM-DD hh:mm'),\r\n vehicleDailyCheckDateExpire: x.vehicleDailyCheckDateExpire,\r\n vehicleDailyCheckReportedUserID: x.vehicleDailyCheckReportedUserID,\r\n vehicleDailyCheckDriverName: x.vehicleDailyCheckDriverName,\r\n vehicleDailyCheckDriverId: x.vehicleDailyCheckDriverId,\r\n vehicleDailyCheckMileage: x.vehicleDailyCheckMileage,\r\n vehicleDailyCheckDriverComment: x.vehicleDailyCheckDriverComment,\r\n vehicleDailyCheckCheckerName: x.vehicleDailyCheckCheckerName,\r\n driverDailyCheckResultsVM: x.driverDailyCheckResultsVM,\r\n imgtechniciansign: x.vehicleDailyCheckCreatorSignature,\r\n signImg: x.vehicleDailyCheckCompletedBySignature,\r\n vehicleDailyCheckReviewerComment: x.vehicleDailyCheckReviewerComment\r\n }));\r\n });\r\n const checkStatus = res.data.vehicleDailyCheckResultStatus.map((x) => ({\r\n id: x.id,\r\n name: x.name\r\n }));\r\n const reportedUser = res.data.reportedUser.map((x) => ({\r\n id: x.id,\r\n name: x.name\r\n }));\r\n const checkType = res.data.dailyCheckTypes.map((m) => ({\r\n id: m.id,\r\n name: m.name\r\n }));\r\n const checkQueList = res.data.driverDailyCheckResult;\r\n const checkOptions = res.data.driverDailyCheckOptions;\r\n\r\n setState((st) => ({\r\n ...st,\r\n checklist: checkQueList,\r\n checkOptions: checkOptions,\r\n checkType: checkType,\r\n reportedUser: reportedUser,\r\n checkStatus: checkStatus\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const signCanvas = useRef({});\r\n\r\n const clear = () => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (state.flag) {\r\n newSt.flag = false;\r\n newSt.vehicleDailyCheckCompletedBySignature = null;\r\n } else {\r\n newSt.vehicleDailyCheckCompletedBySignature = null;\r\n signCanvas.current.clear();\r\n }\r\n\r\n return newSt;\r\n });\r\n };\r\n\r\n const GetTechnicianSign = () => {\r\n let fields = state.fields;\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n vehicleDailyCheckCompletedBySignature: signCanvas.current.toDataURL(),\r\n fields: fields\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleInputs = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({\r\n ...st,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const handleStatus = (id) => (e) => {\r\n let changedArray = [...state.checklist];\r\n let objIndex = state.checklist.findIndex((x) => x.vehicleDailyCheckSectionID === id);\r\n changedArray[objIndex][e.target.name] = e.target.value;\r\n setState((st) => ({ ...st, checklist: changedArray }));\r\n };\r\n\r\n const setCommonStatus = (e) => {\r\n let changedArray = [...state.checklist].map((p) => {\r\n return {\r\n ...p,\r\n vehicleDailyCheckResultsStatusId: e.target.value\r\n };\r\n });\r\n setState((st) => ({ ...st, checklist: changedArray }));\r\n };\r\n\r\n const validations = () => {\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n let changedArray = [...state.checklist].map((p) => {\r\n if (p.vehicleDailyCheckResultsStatusId == 1) {\r\n formIsValid = false;\r\n return {\r\n ...p,\r\n statusError: 'Please Select Status'\r\n };\r\n } else {\r\n return {\r\n ...p,\r\n statusError: ''\r\n };\r\n }\r\n });\r\n\r\n if (!state.vehicleDailyCheckReviewerComment) {\r\n errors.vehicleDailyCheckReviewerComment = 'Reviewer comment is required';\r\n formIsValid = false;\r\n }\r\n if (!state.signImg) {\r\n if (!state.vehicleDailyCheckCompletedBySignature) {\r\n errors.vehicleDailyCheckCompletedBySignature = 'Signature is required';\r\n formIsValid = false;\r\n }\r\n }\r\n\r\n setState((st) => ({\r\n ...st,\r\n errors: errors,\r\n checklist: changedArray\r\n }));\r\n return formIsValid;\r\n };\r\n const handleNote = (id) => (e) => {\r\n let changedArray = [...state.checklist];\r\n let objIndex = state.checklist.findIndex((x) => x.vehicleDailyCheckSectionID === id);\r\n changedArray[objIndex][e.target.name] = e.target.value;\r\n setState((st) => ({ ...st, checklist: changedArray }));\r\n };\r\n\r\n const useDefaultSig = () => {\r\n setState((st) => ({ ...st, flag: true, vehicleDailyCheckCompletedBySignature: AppStorage.getSignature() }));\r\n };\r\n\r\n const handleSubmit = async () => {\r\n let driverDailyCheckResultsVM = state.checklist.map((m) => ({\r\n vehicleDailyCheckSectionID: m.vehicleDailyCheckSectionID,\r\n vehicleDailyCheckResultsVehicleDailyCheckOptionId: m.vehicleDailyCheckResultsVehicleDailyCheckOptionId\r\n ? m.vehicleDailyCheckResultsVehicleDailyCheckOptionId\r\n : null,\r\n vehicleDailyCheckResultsNotes: m.vehicleDailyCheckResultsNotes ? m.vehicleDailyCheckResultsNotes : null,\r\n vehicleDailyCheckResultsAssesementNotes: m.vehicleDailyCheckResultsAssesementNotes ? m.vehicleDailyCheckResultsAssesementNotes : null,\r\n vehicleDailyCheckResultsDefectID: m.vehicleDailyCheckResultsDefectID ? m.vehicleDailyCheckResultsDefectID : null,\r\n vehicleDailyCheckResultsStatusId: m.vehicleDailyCheckResultsStatusId\r\n }));\r\n if (validations()) {\r\n let formData = {\r\n vehicleID: state.vehicleID,\r\n vehicleDailyCheckId: state.vehicleDailyCheckId,\r\n vehicleDailyCheckStatusId: state.vehicleDailyCheckStatusId,\r\n vehicleDailyCheckCheckTypeID: state.vehicleDailyCheckCheckTypeID,\r\n vehicleDailyCheckDateStarted: state.date,\r\n vehicleDailyCheckDateExpire: state.vehicleDailyCheckDateExpire,\r\n vehicleDailyCheckReportedUserID: state.vehicleDailyCheckReportedUserID,\r\n vehicleDailyCheckDriverName: state.vehicleDailyCheckDriverName,\r\n vehicleDailyCheckDriverId: state.vehicleDailyCheckDriverId,\r\n vehicleDailyCheckMileage: state.vehicleDailyCheckMileage,\r\n vehicleDailyCheckDriverComment: state.vehicleDailyCheckDriverComment,\r\n vehicleDailyCheckCheckerName: state.vehicleDailyCheckCheckerName,\r\n driverDailyCheckResultsVM: driverDailyCheckResultsVM,\r\n vehicleDailyCheckCreatorSignature: state.imgtechniciansign,\r\n vehicleDailyCheckCompletedBySignature: state.vehicleDailyCheckCompletedBySignature,\r\n vehicleDailyCheckReviewerComment: state.vehicleDailyCheckReviewerComment\r\n };\r\n let res = await postvehiclecheckchecksData(formData);\r\n if (res.success) {\r\n showToastSuccess('Driver Daily checks updated successfully ');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n props.onClose(false);\r\n }\r\n }\r\n };\r\n\r\n //Images Handler .....\r\n\r\n const imageHandler = async (driverDailyCheckResultID, checkDescription) => {\r\n let res = await getImageByID(driverDailyCheckResultID);\r\n if (res.data.list.length == 0) {\r\n let changedArray = [...state.checklist];\r\n let objIndex = state.checklist.findIndex((x) => x.vehicleDailyCheckResultId === driverDailyCheckResultID);\r\n setState((st) => ({\r\n ...st,\r\n showImageModal: true,\r\n driverDailyCheckResultID: driverDailyCheckResultID,\r\n selectedImages: changedArray[objIndex].images || [],\r\n checkDescription: checkDescription\r\n }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n showImageModal: true,\r\n driverDailyCheckResultID: driverDailyCheckResultID,\r\n selectedImages: res.data.list.map((k) => k.vehicleDailyCheckPhotoObject),\r\n checkDescription: checkDescription\r\n }));\r\n }\r\n };\r\n\r\n const onImageChange = (imageList, addUpdateIndex) => {\r\n let changedArray = [...state.checklist];\r\n let FilterimagesList;\r\n let objIndex = state.checklist.findIndex((x) => x.vehicleDailyCheckResultId === state.driverDailyCheckResultID);\r\n\r\n if (`${objIndex}`) {\r\n FilterimagesList = imageList.map((m) => (m.data_url ? m.data_url : m));\r\n changedArray[objIndex].image = FilterimagesList;\r\n }\r\n let uniqueImages = FilterimagesList.filter((g) => {\r\n let isImage = state.selectedImages.find((w) => w == g);\r\n if (!isImage) {\r\n return g;\r\n }\r\n });\r\n setState((st) => ({ ...st, checklist: changedArray, selectedImages: FilterimagesList, submitArray: [...state.submitArray, ...uniqueImages] }));\r\n };\r\n\r\n const sumbitImage = async () => {\r\n let tempArray = [...state.submitArray];\r\n\r\n let data = {\r\n VehicleDailyCheckPhotoID: null,\r\n VehicleDailyCheckPhotoResultID: state.driverDailyCheckResultID,\r\n VehicleDailyCheckPhotoObject: tempArray\r\n };\r\n let res = await PostImage(data);\r\n if (res.success) {\r\n let changedArray = [...state.checklist];\r\n let objIndex = state.checklist.findIndex((x) => x.vehicleDailyCheckResultId === state.driverDailyCheckResultID);\r\n changedArray[objIndex].basicCount = changedArray[objIndex].image.length;\r\n showToastSuccess('image Uploaded successfully');\r\n setState((st) => ({\r\n ...st,\r\n showImageModal: false,\r\n checklist: changedArray\r\n }));\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {state.checkType ? (\r\n \r\n {/* Disabled fields........... */}\r\n \r\n \r\n \r\n \r\n Reg Number.\r\n {state.regNumber}\r\n \r\n \r\n Make/Model\r\n \r\n {state.makeID} \r\n {state.modelID}\r\n \r\n \r\n \r\n Date \r\n {state.date}\r\n \r\n \r\n Check Type\r\n {state.checkType.map((m) => {\r\n if (state.vehicleDailyCheckCheckTypeID === m.id) {\r\n return {m.name};\r\n }\r\n })}\r\n \r\n \r\n\r\n \r\n \r\n Driver Name\r\n {state.vehicleDailyCheckDriverName}\r\n \r\n \r\n Checker Name\r\n {state.vehicleDailyCheckCheckerName}\r\n \r\n \r\n Defect Reported to \r\n {state.reportedUser.map((x) => {\r\n if (x.id === state.vehicleDailyCheckReportedUserID) {\r\n return {x.name};\r\n }\r\n })}\r\n \r\n \r\n Odometer Reading\r\n {state.vehicleDailyCheckMileage}\r\n \r\n \r\n \r\n \r\n\r\n {/* Checks quetion table.......... */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Result Legend{' '}\r\n \r\n {state.checkOptions.map((m) => {\r\n const Comp = CheckButtons[m.vehicleDailyCheckOptionId];\r\n return (\r\n \r\n \r\n \r\n \r\n {m.vehicleDailyCheckOptionDescription[0]}\r\n \r\n \r\n {m.vehicleDailyCheckOptionDescription}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Check\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Check\r\n \r\n Result\r\n \r\n \r\n Upload\r\n \r\n\r\n \r\n Defect Assessment and Rectification\r\n \r\n \r\n \r\n Status\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.checklist.map((x) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {x.dailyCheckSectionDescription}\r\n {x.vehicleDailyCheckResultsNotes}\r\n \r\n \r\n {state.checkOptions.map((m) => {\r\n const Comp = CheckButtons[m.vehicleDailyCheckOptionId];\r\n const checks = x.vehicleDailyCheckResultsVehicleDailyCheckOptionId;\r\n if (checks === m.vehicleDailyCheckOptionId) {\r\n return (\r\n \r\n {m.vehicleDailyCheckOptionDescription[0]}\r\n \r\n );\r\n }\r\n })}\r\n \r\n imageHandler(\r\n x.vehicleDailyCheckResultId,\r\n x.dailyCheckSectionDescription\r\n )\r\n }\r\n count={x.photosUploaded || x.basicCount}\r\n state={x.photosUploaded > 0 || x.basicCount > 0}\r\n />\r\n \r\n \r\n\r\n \r\n Defect Assessment and Rectification\r\n {state.signImg ? (\r\n \r\n {x.vehicleDailyCheckResultsAssesementNotes || 'N/A'}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {' '}\r\n Status\r\n \r\n {state.signImg ? (\r\n \r\n {statusObj[x.vehicleDailyCheckResultsStatusId]}\r\n \r\n ) : (\r\n \r\n )}\r\n {x.statusError}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {x.dailyCheckSectionDescription}\r\n
\r\n {x.vehicleDailyCheckResultsNotes}\r\n
\r\n {state.checkOptions.map((m) => {\r\n const Comp = CheckButtons[m.vehicleDailyCheckOptionId];\r\n const checks = x.vehicleDailyCheckResultsVehicleDailyCheckOptionId;\r\n if (checks === m.vehicleDailyCheckOptionId) {\r\n return (\r\n \r\n \r\n {m.vehicleDailyCheckOptionDescription[0]}\r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n imageHandler(x.vehicleDailyCheckResultId, x.dailyCheckSectionDescription)\r\n }\r\n count={x.photosUploaded || x.basicCount}\r\n state={x.photosUploaded > 0 || x.basicCount > 0}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {x.statusError}\r\n \r\n
\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/*driver details...................*/}\r\n \r\n \r\n \r\n Reviewer comments/notes\r\n \r\n {state.errors?.vehicleDailyCheckReviewerComment}\r\n \r\n
\r\n \r\n
\r\n
\r\n Driver/Checker Signature \r\n
\r\n {state.imgtechniciansign ? (\r\n
\r\n \"my\r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n Signature\r\n {!state.signImg ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n\r\n \r\n {!state.signImg ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n {state.signImg ? (\r\n
\r\n \"my\r\n
\r\n ) : state.flag ? (\r\n
\r\n \"my\r\n
\r\n ) : (\r\n
\r\n {\r\n GetTechnicianSign();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {state.errors?.vehicleDailyCheckCompletedBySignature}\r\n \r\n
\r\n \r\n \r\n\r\n {state.signImg ? null : (\r\n \r\n sign off\r\n \r\n )}\r\n \r\n props.onClose()}>Cancel\r\n \r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n {state.showImageModal ? (\r\n // setState((st) => ({ ...st, show: false }))} maxWidth=\"lg\">\r\n \r\n setState((st) => ({\r\n ...st,\r\n showImageModal: false,\r\n selectedImages: [],\r\n driverDailyCheckResultID: null,\r\n checkDescription: '',\r\n submitArray: []\r\n }))\r\n }\r\n maxNumber={20}\r\n />\r\n ) : // \r\n null}\r\n \r\n );\r\n};\r\n\r\nexport default EditDriverDailyChecks;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { getChecks } from '../../../../../Core/Services/InternalUser/Vehicle/vehicleTabChecks';\r\nimport { EditButton, DataGrid, formatters } from '../../../../../Core/Controls';\r\nimport { getDriverVehicleCheck } from '../../../../../Core/Services/InternalUser/Vehicle/driverVehicle';\r\nimport DriverDailyChecks from './driverDailyChecks';\r\nimport EditDriverDailyChecks from './editDriverChecks';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\n\r\nimport moment from 'moment';\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'vehicleDailyCheckDateCheck', name: 'Checked', formatter: formatters.Date_DDMMMYYYY_HHMM, width: '12%' },\r\n { key: 'vehicleDailyCheckResult', name: 'Result', width: '7%' },\r\n { key: 'status', name: 'Status' },\r\n { key: 'vehicleDailyCheckCheckerName', name: 'Checker Name' },\r\n { key: 'vehicleDailyCheckDriverName', name: 'Driver Name' },\r\n { key: 'vehicleDailyCheckDriverComment', name: 'Driver Comment' },\r\n { key: 'vehicleDailyCheckCheckerComment', name: 'Checker Comment' }\r\n];\r\n\r\nconst DriverDailyChecksGrid = (props) => {\r\n const [checks, setChecks] = useState({\r\n addChecksShow: false,\r\n editChecksShow: false,\r\n checklist: [],\r\n showLoader: true\r\n });\r\n\r\n useEffect(async () => {\r\n pullChecksData();\r\n }, [props.VehicleID]);\r\n\r\n const pullChecksData = async () => {\r\n setChecks((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const editChecksScreen = (id) => {\r\n setChecks((st) => ({\r\n ...st,\r\n editChecksShow: true,\r\n checksID: id.vehicleDailyCheckId\r\n }));\r\n };\r\n\r\n const actionButton = (data, row) => {\r\n return (\r\n
\r\n editChecksScreen(row)} toolTipTitle=\"Edit Check\" />\r\n
\r\n );\r\n };\r\n\r\n const onClose = () => {\r\n setChecks((st) => ({\r\n ...st,\r\n addChecksShow: false\r\n }));\r\n pullChecksData();\r\n };\r\n\r\n const handleAddChecks = () => {\r\n setChecks((st) => ({\r\n ...st,\r\n addChecksShow: true\r\n }));\r\n };\r\n\r\n const editClose = () => {\r\n setChecks((st) => ({\r\n ...st,\r\n editChecksShow: false\r\n }));\r\n pullChecksData();\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = actionButton;\r\n }\r\n return tempCols;\r\n }, []);\r\n return (\r\n
\r\n {checks.editChecksShow ? (\r\n \r\n ) : checks.addChecksShow ? (\r\n \r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={checks.isReload}\r\n onBtnClick={handleAddChecks}\r\n btnTitle=\"Add Check\"\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default DriverDailyChecksGrid;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getVehicleMessages = async (id) => {\r\n let res = await getWithAuth(`VehicleMessages?VehicleID=${id}`);\r\n return res;\r\n};\r\nexport const postMessage = async (data) => {\r\n let res = await postWithAuth(`VehicleMessages/SendMessage`, data);\r\n return res;\r\n};\r\n","import { Grid, Paper, Button, OutlinedInput, InputAdornment, IconButton } from '@material-ui/core';\r\nimport React, { useEffect, useState, useRef } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport SendIcon from '@material-ui/icons/Send';\r\nimport moment from 'moment';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { getVehicleMessages, postMessage } from '../../../../../Core/Services/InternalUser/Vehicle/messageService';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n paper: {\r\n width: '40%',\r\n marginLeft: 'auto',\r\n margin: 10,\r\n backgroundColor: '#fef0d2',\r\n padding: 20\r\n },\r\n outgoning: {\r\n width: '40%',\r\n margin: 10,\r\n backgroundColor: '#a7ebf3',\r\n padding: 20\r\n },\r\n empty: {\r\n textAlign: 'center',\r\n margin: 10,\r\n padding: 20\r\n },\r\n customScroll: {\r\n overflow: 'auto',\r\n '&::-webkit-scrollbar': {\r\n width: '0.1em'\r\n },\r\n '&::-webkit-scrollbar-track': {\r\n boxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)',\r\n webkitBoxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)'\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n backgroundColor: '#1976d2',\r\n opacity: 5,\r\n outline: '1px solid slategrey'\r\n }\r\n },\r\n activeBorder: {\r\n borderLeft: '7px solid #1976d2 '\r\n }\r\n}));\r\n\r\nconst borderStyle = {\r\n br: {\r\n borderRight: '5px solid #ffae00'\r\n },\r\n bl: {\r\n borderLeft: '5px solid #1976d2'\r\n }\r\n};\r\n\r\nconst DefaultMesaage = (props) => {\r\n const { displayName } = useLoginInfo();\r\n const [state, setState] = useState({\r\n message: null,\r\n customerName: null,\r\n messageList: [],\r\n showLoader: true\r\n });\r\n\r\n const AlwaysScrollToBottom = () => {\r\n const elementRef = useRef();\r\n useEffect(() => elementRef.current.scrollIntoView());\r\n return
;\r\n };\r\n\r\n const getMessages = async () => {\r\n if (props.VehicleID) {\r\n let res = await getVehicleMessages(props.VehicleID);\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n messageList: res.data.list.sort((a, b) => (a.sdate > b.sdate ? 1 : b.sdate > a.sdate ? -1 : 0)),\r\n showLoader: false\r\n }));\r\n }\r\n }\r\n };\r\n useEffect(async () => {\r\n getMessages();\r\n }, []);\r\n\r\n function handleEnter(e) {\r\n if (e.key === 'Enter' || e.key === 'NumpadEnter') {\r\n submitMessage();\r\n }\r\n }\r\n\r\n const handleInput = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({\r\n ...st,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const validation = () => {\r\n let isValid = true;\r\n if (!state.message) {\r\n isValid = false;\r\n }\r\n if (!/[^\\s]/.test(state.message)) {\r\n isValid = false;\r\n }\r\n return isValid;\r\n };\r\n\r\n const submitMessage = async () => {\r\n if (validation()) {\r\n let data = {\r\n ID: props.VehicleID,\r\n message: state.message\r\n };\r\n\r\n let res = await postMessage(data);\r\n if (res.success) {\r\n getMessages();\r\n setState((st) => ({\r\n ...st,\r\n message: ''\r\n }));\r\n }\r\n }\r\n };\r\n\r\n const classes = useStyles();\r\n\r\n return (\r\n
\r\n \r\n {' '}\r\n \r\n  \r\n {state.showLoader ? (\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n {state.messageList.length !== 0 ? (\r\n <>\r\n {state.messageList.map((m, i) => {\r\n let classText = m.name === displayName ? classes.outgoning : classes.paper;\r\n return (\r\n
\r\n \r\n \r\n
\r\n {m.notes}\r\n
\r\n
\r\n \r\n {m.name} @ {moment(m.sdate).format('MMM Do YYYY, h:mm a')}\r\n \r\n
\r\n\r\n {m.rdate && (\r\n
\r\n seen {moment(m.rdate).format('MMM Do YYYY, h:mm a')}\r\n
\r\n )}\r\n
\r\n \r\n
\r\n );\r\n })}\r\n \r\n \r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n There are no messages sent/received\r\n
\r\n
\r\n {moment().format('MMM Do YYYY, h:mm a')}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\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 DefaultMesaage;\r\n","import { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport React, { useState } from 'react';\r\nimport { DatePicker, SecondaryButton } from '../../../../Core/Controls';\r\nimport { MandatoryPositiveInput } from '../../../../Core/Controls/Inputs/PositiveInput';\r\nimport '../../../commonStyle.scss';\r\nimport { postMileageLog } from '../../../../Core/Services/InternalUser/ControllerService/mileageLogService';\r\nimport { useEffect } from 'react';\r\nimport moment from 'moment';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\n\r\nconst MileageLogDialog = (props) => {\r\n const [state, setState] = useState({\r\n odometerReadingID: null,\r\n odometerReadingVehicleID: props.vehicleID,\r\n odometerReadingDate: '',\r\n odometerReading: ''\r\n });\r\n const [error, setError] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n useEffect(() => {\r\n if (props.rowData.odometerReadingID) {\r\n setState((st) => ({\r\n ...st,\r\n odometerReadingID: props.rowData.odometerReadingID,\r\n odometerReadingVehicleID: props.rowData.odometerReadingVehicleID,\r\n odometerReadingDate: props.rowData.odometerReadingDate,\r\n odometerReading: props.rowData.odometerReading\r\n }));\r\n }\r\n }, []);\r\n\r\n const validate = () => {\r\n let errors = {};\r\n let isValid = true;\r\n const { odometerReadingDate, odometerReading } = state;\r\n if (!/[^\\s]/.test(odometerReadingDate)) {\r\n errors.odometerReadingDate = 'Reading date is required';\r\n isValid = false;\r\n }\r\n if (+odometerReading < 0) {\r\n errors.odometerReading = 'Odometer reading can not be negative';\r\n isValid = false;\r\n }\r\n if (!/[^\\s]/.test(odometerReading)) {\r\n errors.odometerReading = 'Odometer reading is required';\r\n isValid = false;\r\n }\r\n setError(errors);\r\n return isValid;\r\n };\r\n\r\n const handleData = async () => {\r\n if (validate()) {\r\n let res = await postMileageLog({\r\n odometerReadingID: state.odometerReadingID,\r\n odometerReadingVehicleID: state.odometerReadingVehicleID,\r\n odometerReadingDate: state.odometerReadingDate,\r\n odometerReading: +state.odometerReading,\r\n odometerReadingCaptureSource: 'Manual Entry',\r\n odometerReadingActive: props.btnFlag == 'delete' ? false : true\r\n });\r\n if (res.success) {\r\n props.btnFlag == 'add'\r\n ? showToastSuccess('Mileage Log added sucessfully')\r\n : props.btnFlag == 'save'\r\n ? showToastSuccess('Mileage Log updated sucessfully')\r\n : props.btnFlag == 'delete'\r\n ? showToastSuccess('Mileage Log deleted sucessfully')\r\n : showToastError('Something went wrong!');\r\n } else {\r\n showToastError(res.message);\r\n }\r\n props.onClose();\r\n }\r\n };\r\n\r\n const inputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Reading Date\r\n \r\n \r\n {error.odometerReadingDate}\r\n \r\n \r\n \r\n \r\n \r\n {props.btnFlag}\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MileageLogDialog;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { DeleteButton, EditButton, formatters } from '../../../../Core/Controls';\r\nimport '../../../commonStyle.scss';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { getAllMileageLogById } from '../../../../Core/Services/InternalUser/ControllerService/mileageLogService';\r\nimport DialogBox from './mileageLogDialog';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst basecolumns = [\r\n { key: 'odometerReadingDate', name: 'Date', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'odometerReading', name: 'Odometer Reading' },\r\n { key: 'odometerReadingCaptureSource', name: 'Type' },\r\n { key: 'addBy', name: 'Added By' }\r\n];\r\n\r\nconst MileageLog = (props) => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n title: '',\r\n btnFlag: '',\r\n isReload: null\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n useEffect(async () => {\r\n pullApiData();\r\n }, [props.VehicleID]);\r\n\r\n const pullApiData = async () => {\r\n // let res = await getAllMileageLogById(props.VehicleID);\r\n // setState((st) => ({\r\n // ...st,\r\n // rows: [...res.data.list],\r\n // showLoader: false\r\n // }));\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const renderEdit = (data, row) => {\r\n return (\r\n \r\n {\r\n setState((st) => ({ ...st, selectedRowData: row, open: true, title: 'Edit Mileage Log', btnFlag: 'save' }));\r\n }}\r\n />\r\n  \r\n {!isCustomer && (\r\n {\r\n setState((st) => ({ ...st, selectedRowData: row, open: true, title: 'Delete Mileage Log', btnFlag: 'delete' }));\r\n }}\r\n />\r\n )}\r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n if (checkhaveAccess?.CanUpdateVehicleMileages) {\r\n tempCols.splice(0, 0, { key: 'action', name: 'Action', width: 80, formatter: renderEdit });\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const addBtnClicked = () => {\r\n setState((st) => ({ ...st, title: 'Add Mileage Log', open: true, btnFlag: 'add' }));\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n selectedRowData: {}\r\n }));\r\n pullApiData();\r\n };\r\n\r\n let getUrl = `OdometerReadings?vehicleID=${props.VehicleID}`;\r\n\r\n return (\r\n
\r\n {/* */}\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle={checkhaveAccess?.CanUpdateVehicleMileages ? 'Add Entry' : ''}\r\n onBtnClick={addBtnClicked}\r\n isReload={state.isReload}\r\n />\r\n {state.open ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default MileageLog;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../../Basic/HttpService';\r\nimport { memoize } from 'lodash';\r\n\r\nexport const getAllDriver = async () => {\r\n let res = await getWithAuth('drivers');\r\n return res;\r\n};\r\n\r\nexport const getDataById = async (Id) => {\r\n let res = await getWithAuth(`drivers/${Id}`);\r\n return res;\r\n};\r\nexport const getDriverById = async (Id) => {\r\n let res = await getWithAuth(`drivers/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const getDriverScreenDropdowns = memoize(async () => {\r\n let res = await getWithAuth(`drivers/screenDropdowns`);\r\n return res;\r\n});\r\n\r\nexport const addDriver = async (data) => {\r\n let res = await postWithAuth('drivers', data);\r\n return res;\r\n};\r\n\r\nexport const updateDriver = async (id, data) => {\r\n let res = await putWithAuth(`drivers/${id}`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { getAllDriver } from '../../../../Core/Services/InternalUser/ControllerService/driverService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { EditButton, DataGrid, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport { getAllVor, getVorByVehicle } from '../../../../Core/Services/InternalUser/VOR/addEditVor';\r\nimport AddVor from './AddEditVor';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport Switch from '@material-ui/core/Switch';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nimport '../../../commonStyle.scss';\r\nimport { Link } from 'react-router-dom';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\n\r\nimport DepotDetails from '../DetailsModal/depotDetails';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ReactDOM from 'react-dom';\r\nimport CustomerDetails from '../DetailsModal/customerDetails';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport moment from 'moment';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 70\r\n },\r\n\r\n { key: 'vorVehicleDateStarted', name: 'Start Date', width: '9%', formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'vorVehicleLocation', name: 'Location' },\r\n { key: 'vorTypeDescription', name: 'Type', width: '9%' },\r\n { key: 'vorTypeDetailDescription', name: 'Reason', width: '9%' },\r\n { key: 'vehicleCategoryDescription', name: 'Sub Category', width: '8%' },\r\n { key: 'lastUpdateDate', name: 'Date/Time Last Update', width: '10%', formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'lastUpdate', name: 'Last Update', width: '10%' }\r\n];\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'VOR', active: true }\r\n];\r\n\r\nconst VorScreen = (props) => {\r\n const { showToastError } = useToast();\r\n const FromDash = props.location?.query?.FromDash;\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n VorList: [],\r\n DriverID: null,\r\n checkedA: true,\r\n filterFlag: FromDash ? true : false,\r\n activeOrInactive: FromDash ? true : false,\r\n vorFlag: FromDash ? true : '',\r\n isReload: null,\r\n getUrl: props.VehicleID\r\n ? `VORVehicles?VehicleID=${props.VehicleID}`\r\n : `VORVehicles?active=${FromDash ? true : ''}&StartDate=${props.location.startDate ? props.location.startDate : ''}&EndDate=${\r\n props.location.endDate ? props.location.endDate : ''\r\n }&CustomerId=${props.location.customerID ? props.location.customerID : ''}&Make=${props.location.make ? props.location.make : ''}&Model=${\r\n props.location.model ? props.location.model : ''\r\n }`\r\n });\r\n\r\n // long? CustomerId, string Make,string Model\r\n\r\n let history = useHistory();\r\n\r\n const handleChange = (event) => {\r\n const { name, checked } = event.target;\r\n let tempSt = {};\r\n if (name === 'filterFlag') {\r\n tempSt = {\r\n filterFlag: checked,\r\n activeOrInactive: checked ? true : false,\r\n vorFlag: checked ? true : ''\r\n };\r\n } else if (name === 'activeOrInactive') {\r\n tempSt = {\r\n activeOrInactive: checked,\r\n vorFlag: checked\r\n };\r\n }\r\n\r\n setState((st) => ({ ...st, ...tempSt, getUrl: `VORVehicles?active=${tempSt.vorFlag}` }));\r\n };\r\n\r\n const handleAdd = (data) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n vorVehicleID: data.vorVehicleID,\r\n regNo: data.vehicleRegNumber,\r\n VehicleID: data.vorVehicleVehicleID\r\n }));\r\n };\r\n\r\n const closeVorModal = (res) => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (res) {\r\n newSt.isReload = new Date();\r\n }\r\n newSt.show = false;\r\n\r\n return newSt;\r\n });\r\n // res && pullAllVor();\r\n };\r\n const handleEditDefect = (val) => {\r\n if (val.defectTypeCode == 'DD') {\r\n history.push({\r\n pathname: `/maintenance/defect/edit/${val?.defectID}/${val?.vorVehicleVehicleID}`,\r\n state: 'Edit'\r\n });\r\n } else {\r\n history.push({\r\n pathname: `/maintenance/breakdowns/edit/${val?.defectID}/${val?.vorVehicleVehicleID}`,\r\n state: 'Edit'\r\n });\r\n }\r\n };\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.jobID}/${val?.vorVehicleVehicleID}`,\r\n search: '',\r\n state: 'jobs'\r\n });\r\n };\r\n const dataFormatter = (data, row) => {\r\n return (\r\n
\r\n handleAdd(row)} />\r\n {row.defectID && (\r\n handleUpdate(row, null, 'modalEditDetail')}\r\n onClick={() => handleEditDefect(row)}\r\n toolTipTitle=\"Edit Defect\"\r\n />\r\n )}\r\n {checkhaveAccess?.CanViewJobs && row.jobID && (\r\n handleEditClick(row)} />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.vorVehicleVehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.vehicleRegNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderDepotName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showDepotModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.depotName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customerCompanyName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showSaModal: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (state.activeOrInactive) {\r\n tempCols.splice(2, 0, { key: 'vorVehicleEstimatedEndDate', name: 'Estimated Completion', width: '10%', formatter: formatters.Date_DDMMYYYY });\r\n } else {\r\n tempCols.splice(2, 0, { key: 'vorVehicleDateEnded', name: 'End Date', width: '10%', formatter: formatters.Date_DDMMMYYYY_HHMM });\r\n }\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (!props.VehicleID) {\r\n tempCols.splice(1, 0, { key: 'vehicleRegNumber', name: 'Reg Number', width: 90, formatter: renderRegNumberEdit });\r\n tempCols.splice(7, 0, { key: 'customerCompanyName', name: 'Customer', formatter: renderCustomerName });\r\n tempCols.splice(8, 0, { key: 'depotName', name: 'Depot', width: '10%', formatter: renderDepotName });\r\n }\r\n\r\n return tempCols;\r\n }, [state.activeOrInactive]);\r\n\r\n const onRowDataBound = (e, $row, id, record) => {\r\n $row.css('background-color', `white`);\r\n const lastUpdateDate = moment(record.lastUpdateDate).format('MM/DD/YYYY');\r\n const daysPast = moment().diff(lastUpdateDate, 'days');\r\n if (daysPast > 1) {\r\n $row.css('background-color', 'orange');\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {state.show ? (\r\n // \r\n closeVorModal(false)} maxWidth=\"lg\" overflow=\"auto\">\r\n \r\n \r\n ) : null}\r\n {!props.VehicleID && }\r\n {!props.VehicleID && (\r\n \r\n \r\n Filter : Off\r\n \r\n \r\n \r\n On\r\n \r\n \r\n Inactive\r\n \r\n \r\n \r\n Active\r\n \r\n \r\n )}\r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n onRowDataBound={(e, $row, id, record) => onRowDataBound(e, $row, id, record)}\r\n columns={columns}\r\n getUrl={state.getUrl}\r\n btnTitle=\"\"\r\n onBtnClick={handleAdd}\r\n isReload={state.isReload}\r\n filterVal={props?.location?.state || {}}\r\n />\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default VorScreen;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getVehicleInvoice = async (vehicleID, status) => {\r\n let res = '';\r\n if (status) {\r\n res = await getWithAuth(`Invoices?VehicleID=${vehicleID}&Status=${status}`);\r\n } else {\r\n res = await getWithAuth(`Invoices?VehicleID=${vehicleID}`);\r\n }\r\n return res;\r\n};\r\n\r\nexport const getJobInvoice = async (JobID) => {\r\n let res = await getWithAuth(`Invoices?JobID=${JobID}`);\r\n return res;\r\n};\r\n\r\nexport const getVehicleInvoiceById = async (id) => {\r\n let res = await getWithAuth(`Invoices/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postgetVehicleInvoiceData = async (data) => {\r\n let res = await postWithAuth(`Invoices`, data);\r\n return res;\r\n};\r\n\r\nexport const invoiceScreenDropdowns = async () => {\r\n let res = await getWithAuth(`Invoices/screenDropdowns`);\r\n return res;\r\n};\r\n\r\nexport const invoiceSearchOrderNo = async (val) => {\r\n let res = await getWithAuth(`VehicleJob/SearchOrderNo/${val}`);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, Typography } from '@material-ui/core';\r\nimport {\r\n SecondaryButton,\r\n SelectBox,\r\n SingleSelect,\r\n MandatoryField,\r\n SimpleField,\r\n DatePicker,\r\n PrimaryButton,\r\n formatters,\r\n DeleteButton\r\n} from '../../../Core/Controls';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport '../Controllers/controllerStyle.scss';\r\nimport { useLoginInfo } from '../../..//Core/Hooks/useLoginInfo';\r\n\r\nimport {\r\n postgetVehicleInvoiceData,\r\n invoiceScreenDropdowns,\r\n getVehicleInvoiceById,\r\n invoiceSearchOrderNo\r\n} from '../../../Core/Services/InternalUser/invoicesService';\r\nimport { Tooltip } from '@material-ui/core';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\n\r\nfunction InvoiceModalScreen(props) {\r\n const { userRoles } = useLoginInfo();\r\n const isCustomer = userRoles.includes('customer');\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const [state, setState] = useState({\r\n errors: {},\r\n orderNumberList: [],\r\n purchaseInvoiceStatusIDList: [],\r\n invoiceItemTypes: [],\r\n invoiceAgentList: [],\r\n purchaseInvoiceVehicleID: props.VehicleID || null,\r\n purchaseInvoiceID: null,\r\n purchaseInvoiceAgentID: props.ServiceAgentID || null,\r\n purchaseInvoiceDate: '',\r\n purchaseInvoiceJobDate: '',\r\n purchaseInvoiceAgentName: '',\r\n purchaseInvoiceNumber: null,\r\n purchaseInvoiceJobID: null,\r\n purchaseInvoiceNominalCode: '',\r\n purchaseInvoiceStatusID: null,\r\n purchaseInvoiceDateDue: null,\r\n purchaseInvoiceOrderNumber: '',\r\n purchaseInvoiceDatePaid: '',\r\n tempInputList: []\r\n });\r\n\r\n const [inputList, setInputList] = useState([\r\n {\r\n purchaseInvoiceItemID: null,\r\n purchaseInvoiceItemQuantity: '',\r\n purchaseInvoiceItemTypeID: '',\r\n purchaseInvoiceItemDescription: '',\r\n purchaseInvoiceItemNet: '',\r\n purchaseInvoiceItemVAT: '',\r\n purchaseInvoiceItemTypeIDValue: null\r\n }\r\n ]);\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n purchaseInvoiceAgentIDValue: null,\r\n purchaseInvoiceStatusIDValue: null\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n let res = await invoiceScreenDropdowns();\r\n let data = res.data;\r\n setState((state) => ({\r\n ...state,\r\n purchaseInvoiceStatusIDList: data.purchaseInvoiceStatus,\r\n invoiceItemTypes: data.invoiceItemTypes,\r\n invoiceAgentList: data.serviceAgents\r\n }));\r\n\r\n if (props.invoiceID) {\r\n let res = await getVehicleInvoiceById(props.invoiceID);\r\n let data = res?.data?.details[0];\r\n setState((st) => ({\r\n ...st,\r\n purchaseInvoiceAgentID: data.purchaseInvoiceAgentID,\r\n purchaseInvoiceAgentName: data.purchaseInvoiceAgentName,\r\n purchaseInvoiceDate: formatters.DateFormatter(data.purchaseInvoiceDate),\r\n purchaseInvoiceDateDue: formatters.DateFormatter(data.purchaseInvoiceDateDue),\r\n purchaseInvoiceDatePaid: formatters.DateFormatter(data.purchaseInvoiceDatePaid),\r\n purchaseInvoiceID: data.purchaseInvoiceID,\r\n purchaseInvoiceJobDate: data.purchaseInvoiceJobDate,\r\n purchaseInvoiceJobID: data.purchaseInvoiceJobID,\r\n purchaseInvoiceNominalCode: data.purchaseInvoiceNominalCode,\r\n purchaseInvoiceNumber: data.purchaseInvoiceNumber,\r\n purchaseInvoiceOrderNumber: data.orderNo,\r\n purchaseInvoiceStatusID: data.purchaseInvoiceStatusID,\r\n purchaseInvoiceVehicleID: data.purchaseInvoiceVehicleID,\r\n tempInputList: res?.data?.purchaseInvoiceItems\r\n }));\r\n }\r\n }, []);\r\n useEffect(() => {\r\n getOrderNo();\r\n }, [state.purchaseInvoiceOrderNumber]);\r\n\r\n useEffect(() => {\r\n if (state.invoiceItemTypes) {\r\n if (state.tempInputList.length > 0) {\r\n setInputList(\r\n state.tempInputList.map((o) => {\r\n o.purchaseInvoiceItemTypeIDValue = state.invoiceItemTypes.find(({ id }) => id == o.purchaseInvoiceItemTypeID);\r\n return o;\r\n })\r\n );\r\n } else {\r\n return {\r\n purchaseInvoiceItemID: null,\r\n purchaseInvoiceItemQuantity: '',\r\n purchaseInvoiceItemTypeID: '',\r\n purchaseInvoiceItemDescription: '',\r\n purchaseInvoiceItemNet: '',\r\n purchaseInvoiceItemVAT: '',\r\n purchaseInvoiceItemTypeIDValue: null\r\n };\r\n }\r\n }\r\n }, [state.invoiceItemTypes, state.tempInputList]);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n\r\n if (state.purchaseInvoiceAgentID && state.invoiceAgentList.length > 0) {\r\n newSt.purchaseInvoiceAgentIDValue = state.invoiceAgentList.find(({ id }) => id === state.purchaseInvoiceAgentID);\r\n }\r\n if (state.purchaseInvoiceStatusID && state.purchaseInvoiceStatusIDList.length > 0) {\r\n newSt.purchaseInvoiceStatusIDValue = state.purchaseInvoiceStatusIDList.find(({ id }) => id === state.purchaseInvoiceStatusID);\r\n }\r\n setTempOptions((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [state.purchaseInvoiceAgentID, state.purchaseInvoiceStatusID]);\r\n\r\n const getOrderNo = async () => {\r\n if (state.purchaseInvoiceOrderNumber?.length > 3) {\r\n let res = await invoiceSearchOrderNo(state.purchaseInvoiceOrderNumber);\r\n setState((state) => ({\r\n ...state,\r\n orderNumberList: res.data.list.map((row) => ({\r\n id: row.jobID,\r\n name: row.jobAgentOrderNo,\r\n ApproveOrderNo: row.jobApprovedOrderNo,\r\n jobDate: row.jobDate\r\n }))\r\n }));\r\n }\r\n };\r\n\r\n const setOrderNo = (e, val) => {\r\n setState((state) => ({\r\n ...state,\r\n purchaseInvoiceJobDate: val?.jobDate,\r\n purchaseInvoiceJobID: val?.id\r\n //ApproveOrderNo\r\n }));\r\n };\r\n\r\n const inputChange = (event, val) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const singleSelectInputChange = (nm, index) => (ev, val) => {\r\n const list = [...inputList];\r\n list[index][nm] = val;\r\n setInputList(list);\r\n };\r\n\r\n const handleInputChange = (e, index) => {\r\n const { name, value } = e.target;\r\n const list = [...inputList];\r\n list[index][name] = value;\r\n setInputList(list);\r\n };\r\n\r\n const handleRemoveClick = (index) => {\r\n const list = [...inputList];\r\n list.splice(index, 1);\r\n setInputList(list);\r\n };\r\n\r\n const handleAddClick = () => {\r\n setInputList([\r\n ...inputList,\r\n {\r\n purchaseInvoiceItemID: null,\r\n purchaseInvoiceItemQuantity: '',\r\n purchaseInvoiceItemDescription: '',\r\n purchaseInvoiceItemTypeID: '',\r\n purchaseInvoiceItemNet: ''\r\n }\r\n ]);\r\n };\r\n\r\n const validations = () => {\r\n const { purchaseInvoiceStatusID, purchaseInvoiceDate, purchaseInvoiceDatePaid, purchaseInvoiceNumber, purchaseInvoiceAgentID } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n const list = [...inputList];\r\n let errors = {};\r\n if (!emptyStrigPattern.test(purchaseInvoiceDate)) {\r\n errors.purchaseInvoiceDate = 'Date of invoice is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(purchaseInvoiceNumber)) {\r\n errors.purchaseInvoiceNumber = 'Purchase invoice number is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(purchaseInvoiceAgentID)) {\r\n errors.purchaseInvoiceAgentID = 'Agent is required';\r\n formIsValid = false;\r\n }\r\n if (!tempOptions.purchaseInvoiceStatusIDValue) {\r\n errors.purchaseInvoiceStatusIDValue = 'status is required';\r\n formIsValid = false;\r\n }\r\n if (tempOptions?.purchaseInvoiceStatusIDValue?.id == 'P') {\r\n if (!emptyStrigPattern.test(purchaseInvoiceDatePaid)) {\r\n errors.purchaseInvoiceDatePaid = 'Paid date is required';\r\n formIsValid = false;\r\n }\r\n }\r\n if (list[0]['purchaseInvoiceItemDescription'] === '') {\r\n formIsValid = false;\r\n errors['purchaseInvoiceItemDescription'] = 'Description cannot be empty';\r\n }\r\n if (list[0]['purchaseInvoiceItemQuantity'] === '') {\r\n formIsValid = false;\r\n errors['purchaseInvoiceItemQuantity'] = 'Quantity cannot be empty';\r\n }\r\n if (list[0]['purchaseInvoiceItemNet'] === '') {\r\n formIsValid = false;\r\n errors['purchaseInvoiceItemNet'] = 'Net cannot be empty';\r\n }\r\n if (list[0]['purchaseInvoiceItemNet'] === '') {\r\n formIsValid = false;\r\n errors['purchaseInvoiceItemNet'] = 'Net cannot be empty';\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const data = {\r\n purchaseInvoiceID: state.purchaseInvoiceID,\r\n purchaseInvoiceStatusID: tempOptions.purchaseInvoiceStatusIDValue?.id,\r\n purchaseInvoiceVehicleID: state.purchaseInvoiceVehicleID,\r\n purchaseInvoiceDate: state.purchaseInvoiceDate,\r\n purchaseInvoiceDateDue: state.purchaseInvoiceDateDue,\r\n purchaseInvoiceAgentID: tempOptions.purchaseInvoiceAgentIDValue?.id,\r\n purchaseInvoiceNumber: state.purchaseInvoiceNumber,\r\n purchaseInvoiceJobDate: state.purchaseInvoiceJobDate,\r\n purchaseInvoiceDatePaid: state.purchaseInvoiceDatePaid,\r\n purchaseInvoiceJobID: state.purchaseInvoiceJobID,\r\n purchaseInvoiceNominalCode: state.purchaseInvoiceNominalCode,\r\n purchaseInvoiceItems: inputList.map((o) => {\r\n if (o.purchaseInvoiceItemTypeIDValue) {\r\n o.purchaseInvoiceItemTypeID = o.purchaseInvoiceItemTypeIDValue?.id;\r\n delete o.purchaseInvoiceItemTypeIDValue;\r\n }\r\n return o;\r\n })\r\n };\r\n setBtnLoader(true);\r\n let res = await postgetVehicleInvoiceData(data);\r\n if (res.success) {\r\n showToastSuccess('Invoice saved successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Date of Invoice\r\n \r\n \r\n {state.errors.purchaseInvoiceDate}\r\n \r\n \r\n Job Number\r\n {\r\n setState((state) => ({\r\n ...state,\r\n purchaseInvoiceOrderNumber: val\r\n }));\r\n }}\r\n options={state.orderNumberList}\r\n disabled={isCustomer}\r\n value={state.purchaseInvoiceOrderNumber}\r\n onChange={setOrderNo}\r\n />\r\n \r\n \r\n Invoice Due Date\r\n \r\n \r\n \r\n \r\n Invoice Date Paid\r\n \r\n \r\n {state.errors.purchaseInvoiceDatePaid}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Agent\r\n \r\n {/* */}\r\n \r\n {state.errors.purchaseInvoiceAgentID}\r\n \r\n \r\n \r\n Payment Status\r\n \r\n {/* */}\r\n \r\n {state.errors.purchaseInvoiceStatusIDValue}\r\n \r\n \r\n \r\n Item(s)\r\n \r\n
\r\n
\r\n \r\n {inputList.length > 0 &&\r\n inputList.map((x, i) => (\r\n \r\n \r\n \r\n Quantity\r\n \r\n handleInputChange(e, i)}\r\n />\r\n {state.errors['purchaseInvoiceItemQuantity']}\r\n \r\n \r\n \r\n Description\r\n \r\n handleInputChange(e, i)}\r\n />\r\n {state.errors['purchaseInvoiceItemDescription']}\r\n \r\n \r\n \r\n Type\r\n \r\n {/* handleInputChange(e, i)}\r\n List={state.invoiceItemTypes}\r\n /> */}\r\n \r\n \r\n \r\n \r\n Net\r\n \r\n handleInputChange(e, i)}\r\n />\r\n {state.errors['purchaseInvoiceItemNet']}\r\n \r\n \r\n \r\n VAT\r\n \r\n handleInputChange(e, i)}\r\n />\r\n \r\n \r\n \r\n Price (Total)\r\n \r\n {inputList.length !== 1 && (\r\n \r\n handleRemoveClick(i)} toolTipTitle=\"Remove Item\" />\r\n\r\n {/* \r\n handleRemoveClick(i)} />\r\n */}\r\n \r\n )}\r\n handleInputChange(e, i)}\r\n />\r\n \r\n {inputList.length - 1 === i && (\r\n \r\n \r\n \r\n Add Another\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n \r\n \r\n {props.invoiceID ? 'Update' : 'Add'}\r\n \r\n \r\n \r\n props.onClose(false)}>\r\n Cancel\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default InvoiceModalScreen;\r\n","import { FormHelperText, Grid, Typography, InputLabel } from '@material-ui/core';\r\nimport React, { useEffect, useState, useMemo } from 'react';\r\nimport { formatters } from '../../../../../Core/Controls';\r\nimport '../../../../commonStyle.scss';\r\nimport '../../controllerStyle.scss';\r\nimport { getJobDetailsById } from '../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport '../../Notes/NotesandSticky.scss';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst alertBoxColorCode = {\r\n AA: 'warning',\r\n EP: 'warning',\r\n JP: 'warning',\r\n AU: 'error',\r\n JQ: 'error',\r\n FR: 'error',\r\n JD: 'error',\r\n JR: 'error',\r\n CA: 'success',\r\n JC: 'success',\r\n JA: 'success'\r\n};\r\n\r\nconst JobDetail = (props) => {\r\n const history = useHistory();\r\n\r\n const [jobDetails, setJobDetails] = useState({\r\n jobDescription: '',\r\n jobDepotID: '',\r\n jobServiceAgentID: '',\r\n vehicleMake: '',\r\n vehicleModel: '',\r\n jobRegNumber: ''\r\n });\r\n\r\n useEffect(async () => {\r\n let res = await getJobDetailsById(props.scheduleJobID);\r\n let res1 = res.data.list;\r\n let data = res1?.length > 0 ? res.data?.list[0] : res.data?.list;\r\n if (data) {\r\n setJobDetails((st) => ({\r\n ...st,\r\n jobAgentOrderNo: data.jobAgentOrderNo,\r\n jobOrderDate: formatters.DateOnlyFormatter(data.jobDate),\r\n jobOrderTotal: data.orderTotal,\r\n jobCustomerOrderNo: data.jobCustomerOrderNo || '',\r\n jobEstimatedCost: data.jobEstimatedCost || '',\r\n jobProformaInvNet: data.jobProformaInvNet || '',\r\n jobLimit: data.jobLimit || '',\r\n jobAuthorityRef: data.jobAuthorityRef || '',\r\n jobMileageDate: data.jobMileageDate || '',\r\n jobMileage: data.jobMileage || '',\r\n jobDepotID: data.jobDepotID || '',\r\n jobServiceAgentID: data.jobServiceAgentID || '',\r\n jobVehicleID: data.jobVehicleID,\r\n jobRegNumber: data.jobRegNumber,\r\n vehicleMake: data.vehicleMake,\r\n vehicleModel: data.vehicleModel,\r\n vehicleJobStatus: data.vehicleJobStatus,\r\n customerName: data.customerCompanyName,\r\n jobDescription: data.jobDescription,\r\n jobStatusID: data.jobStatusID,\r\n jobOrderNo: data.jobOrderNo\r\n }));\r\n }\r\n }, [props.refresherFlag]);\r\n const getMakeModel =\r\n jobDetails.vehicleMake || jobDetails.vehicleModel\r\n ? ` (${jobDetails.vehicleMake ? jobDetails.vehicleMake : ''} ${jobDetails.vehicleModel ? jobDetails.vehicleModel : ''})`\r\n : '';\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${props.VehicleID}`,\r\n search: ''\r\n });\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n {jobDetails?.jobOrderNo ? (\r\n \r\n Final Order No \r\n \r\n {jobDetails?.jobOrderNo || ''}({jobDetails?.jobAgentOrderNo})\r\n \r\n \r\n ) : (\r\n \r\n Job Reference\r\n {jobDetails?.jobAgentOrderNo || ''}\r\n \r\n )}\r\n \r\n Order Date\r\n {jobDetails.jobOrderDate}\r\n \r\n \r\n Customer\r\n {jobDetails.customerName}\r\n \r\n {/* \r\n Order Type\r\n Test Ask\r\n */}\r\n \r\n Vehicle Detail\r\n \r\n \r\n {jobDetails.jobRegNumber}\r\n \r\n {getMakeModel}\r\n \r\n \r\n {/* \r\n Job Status\r\n {jobDetails.vehicleJobStatus}\r\n */}\r\n \r\n {' '}\r\n
\r\n Total\r\n \r\n £{jobDetails.jobOrderTotal?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}\r\n \r\n
\r\n
\r\n {/* \r\n Reg Number\r\n {jobDetails.jobRegNumber}\r\n \r\n \r\n Make\r\n {jobDetails.vehicleMake}\r\n \r\n \r\n Model\r\n {jobDetails.vehicleModel}\r\n */}\r\n
\r\n
\r\n {/* \r\n } severity=\"warning\" className=\"alert-items\">\r\n {jobDetails.jobDescription}\r\n \r\n */}\r\n \r\n \r\n \r\n \r\n Status\r\n {jobDetails.vehicleJobStatus}\r\n \r\n \r\n \r\n } severity=\"warning\" className=\"alert-items\">\r\n Job Description\r\n {jobDetails.jobDescription}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\nexport default JobDetail;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport InvoiceModalScreen from './addEditInvoice';\r\nimport { EditButton, BreadCrumbs, DataGrid, formatters } from '../../../Core/Controls';\r\nimport '../../commonStyle.scss';\r\nimport { getVehicleInvoice, getJobInvoice } from '../../../Core/Services/InternalUser/invoicesService';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport JobDetail from '../Controllers/JOBS/JOBItems/JobDetails';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Maintenance', active: true },\r\n { name: 'Invoice', active: true }\r\n];\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 80, addFileUploaderIcon: true },\r\n { key: 'invoiceDate', name: 'Invoice Date', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'dateDue', name: 'Due Date', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'datePaid', name: 'Date Paid', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'invoiceNumber', name: 'Number' },\r\n { key: 'status', name: 'Status' },\r\n { key: 'supplier', name: 'Supplier' },\r\n { key: 'vat', name: 'VAT' },\r\n { key: 'net', name: 'NET' }\r\n];\r\n\r\nconst InvoiceScreen = (props) => {\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n invoiceID: null,\r\n invoiceList: [],\r\n showLoader: true,\r\n VehicleID: props.VehicleID || null,\r\n ServiceAgentID: props.ServiceAgentID || null,\r\n isReload: null\r\n });\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n\r\n useEffect(async () => {\r\n let getUrl;\r\n if (props.fromPage === 'job') {\r\n getUrl = `Invoices${props.JobID ? `?JobID=${props.JobID}` : ''}`;\r\n } else {\r\n if (props.VehicleID) {\r\n getUrl = `Invoices${props.VehicleID ? `?VehicleID=${props.VehicleID}` : ''}`;\r\n } else {\r\n getUrl = `Invoices?status=${props.statusCode}`;\r\n }\r\n }\r\n\r\n setState((st) => ({\r\n ...st,\r\n getUrl: getUrl\r\n }));\r\n // pullInvoiceData();\r\n }, []);\r\n\r\n const pullInvoiceData = async () => {\r\n // let res = {};\r\n // if (props.fromPage === 'job') {\r\n // res = await getJobInvoice(props.JobID, null);\r\n // } else {\r\n // if (props.VehicleID) {\r\n // res = await getVehicleInvoice(props.VehicleID, null);\r\n // } else {\r\n // res = await getVehicleInvoice();\r\n // }\r\n // }\r\n // setState((st) => ({\r\n // ...st,\r\n // invoiceList: res.data?.list,\r\n // showLoader: false\r\n // }));\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const actionButton = (data, row) => {\r\n return (\r\n
\r\n handleInvoiceUpdate(row)} toolTipTitle=\"Edit Invoice\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = actionButton;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const title = `${props.fromPage === 'job' ? '' : isCustomer ? '' : 'Add Invoice'}`;\r\n\r\n const handleInvoiceUpdate = (params) => {\r\n setState((state) => ({ ...state, modalToggle: true, invoiceID: params?.invoiceID }));\r\n };\r\n\r\n const closeAddDialog = (res) => {\r\n setState((state) => ({ ...state, modalToggle: false }));\r\n res && pullInvoiceData();\r\n };\r\n\r\n return (\r\n
\r\n {state.modalToggle ? (\r\n \r\n ) : (\r\n <>\r\n {!props.VehicleID && }\r\n {props.JobID && }\r\n {/* */}\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={state.getUrl}\r\n btnTitle={title}\r\n onBtnClick={handleInvoiceUpdate}\r\n idFieldName=\"invoiceID\"\r\n fileUploaderConfigName=\"Invoice\"\r\n isReload={state.isReload}\r\n offset={props.fromPage === 'job' ? 410 : 350}\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default InvoiceScreen;\r\n","import { getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllVehicleSchedules = async (filterID, custId, depotId, year, serviceAgentID) => {\r\n if (filterID === ':') filterID = '';\r\n let res = await getWithAuth(\r\n `Schedules?mode=${filterID}&CustomerID=${custId || ''}&DepotID=${depotId || ''}&Year=${year || ''}&ServiceAgentID=${serviceAgentID || ''}`\r\n );\r\n return res;\r\n};\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardActions from '@material-ui/core/CardActions';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport Button from '@material-ui/core/Button';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport CardHeader from '@material-ui/core/CardHeader';\r\nimport VpnKeyIcon from '@material-ui/icons/VpnKey';\r\nimport ConfirmationNumberIcon from '@material-ui/icons/ConfirmationNumber';\r\nimport { CustomIconButton, PrimaryButton, SecondaryButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport EventIcon from '@material-ui/icons/Event';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { Link } from 'react-router-dom';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport { EditButton, formatters, BreadCrumbs, DatePicker, SpeedDials, SelectBox, SingleSelect } from '../../../Core/Controls';\r\n// import ScheduleSpeedDials from '../../../Core/Controls/SpeedDial/scheduleSpeedDial';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport DialogBox from '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleAdd';\r\nimport EditSchedule from '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleEdit';\r\nimport ScheduleNotes from '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleNotes';\r\nimport ScheduleBookingStatus from '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleBookingStatus';\r\nimport ScheduleBookingSection from '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleBookingSection';\r\nimport CompleteScheduleModal from '../../InternalUser/Schedule/completeSchedule';\r\nimport DataGrid from '../../../Core/Controls/Grid/index';\r\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport AutorenewIcon from '@material-ui/icons/Autorenew';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport AspectRatioIcon from '@material-ui/icons/AspectRatio';\r\nimport { InputLabel, FormHelperText, MenuItem, TextField } from '@material-ui/core';\r\n\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport { getScheduleVehicleById } from '../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\n\r\nimport moment from 'moment';\r\n\r\n// import './allSchedulesStyle.scss';\r\n\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\nimport { getAllVehicleSchedules } from '../../../Core/Services/InternalUser/Maintenance/scheduleService';\r\nimport {\r\n getCustomersListDropdowns,\r\n getSchedulePlannerData,\r\n getSchedulePlannerDropdowns,\r\n getVehicleScreenDropdowns\r\n} from '../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\n\r\nconst useStyles = makeStyles({\r\n yearInput: {\r\n '& .MuiOutlinedInput-inputMarginDense': {\r\n paddingTop: '4.1px',\r\n paddingBottom: '4.1px',\r\n color: 'white'\r\n }\r\n },\r\n root: {\r\n minWidth: 275,\r\n border: ' 1px solid black',\r\n height: '100%'\r\n },\r\n bullet: {\r\n display: 'inline-block',\r\n margin: '0 2px',\r\n transform: 'scale(0.8)'\r\n },\r\n title: {\r\n fontSize: 14\r\n },\r\n pos: {\r\n marginBottom: 12\r\n },\r\n cardContent: (props) => {\r\n let cardContentHeight = props.fromTab ? Math.max(120, (window.innerHeight - 170) / 4 - 60) : Math.max(120, (window.innerHeight - 80) / 4 - 60);\r\n return {\r\n height: cardContentHeight,\r\n overflowY: 'auto',\r\n '&::-webkit-scrollbar': {\r\n width: '0.3em'\r\n },\r\n '&::-webkit-scrollbar-track': {\r\n boxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)',\r\n webkitBoxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)'\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n backgroundColor: '#1976d2',\r\n opacity: 5,\r\n outline: '1px solid slategrey'\r\n }\r\n };\r\n }\r\n});\r\n\r\nconst YEARS = () => {\r\n const years = [];\r\n const d = new Date();\r\n let startYear = d.getFullYear() - 7;\r\n let endYear = d.getFullYear() + 7;\r\n\r\n while (endYear - startYear >= 0) {\r\n years.push({ name: startYear, id: startYear });\r\n startYear = startYear + 1;\r\n }\r\n return years;\r\n};\r\n\r\nconst ScheduleDashboard = (props) => {\r\n const classes = useStyles(props);\r\n const [state, setState] = useState({\r\n scheduleEventNames: [],\r\n sortedScheduleEvent: [],\r\n uniqueYear: [],\r\n showLoader: true,\r\n customerID: null,\r\n depotsID: null,\r\n customerList: [],\r\n depotWithCustList: [],\r\n serviceAgentsList: [],\r\n isDisabled: false,\r\n scheduleCustomerIDValue: '',\r\n scheduleDepotsIDValue: '',\r\n scheduleServiceAgentIDValue: ''\r\n });\r\n const [openDialog, setOpenDialog] = useState({});\r\n const { userRoles } = useLoginInfo();\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n const pos = isServiceAgent ? 's' : 'm';\r\n\r\n useEffect(async () => {\r\n pullApiData();\r\n }, [state.scheduleCustomerIDValue?.id, state.scheduleDepotsIDValue?.id, state.scheduleServiceAgentIDValue?.id]);\r\n\r\n // useEffect(async () => {\r\n // let res = await getVehicleScreenDropdowns();\r\n // setState((st) => ({\r\n // ...st,\r\n // customerList: res.data.customers,\r\n // depotsList: res.data.depots,\r\n // serviceAgentsList: res.data.serviceAgents\r\n // }));\r\n // }, []);\r\n\r\n useEffect(async () => {\r\n let resCust = await getCustomersListDropdowns();\r\n setState((st) => ({\r\n ...st,\r\n customerList: resCust.data.customer.table\r\n }));\r\n }, []);\r\n\r\n const pullApiData = async (year = moment().format('YYYY')) => {\r\n let tempSortedScheduleEvent = [\r\n { month: 'January', events: [] },\r\n { month: 'February', events: [] },\r\n { month: 'March', events: [] },\r\n { month: 'April', events: [] },\r\n { month: 'May', events: [] },\r\n { month: 'June', events: [] },\r\n { month: 'July', events: [] },\r\n { month: 'August', events: [] },\r\n { month: 'September', events: [] },\r\n { month: 'October', events: [] },\r\n { month: 'November', events: [] },\r\n { month: 'December', events: [] }\r\n ];\r\n\r\n let res = props.fromTab\r\n ? await getScheduleVehicleById(\r\n props.scheduleVehicleID,\r\n state.scheduleCustomerIDValue?.id,\r\n state.scheduleDepotsIDValue?.id,\r\n year,\r\n state.scheduleServiceAgentIDValue?.id || ''\r\n )\r\n : await getAllVehicleSchedules(\r\n '',\r\n state.scheduleCustomerIDValue?.id,\r\n state.scheduleDepotsIDValue?.id,\r\n year,\r\n state.scheduleServiceAgentIDValue?.id || ''\r\n );\r\n\r\n const uniquescheduleEventNames = [...new Set(res.data?.schedules.map((item) => item.scheduleEventName))].map((w) => {\r\n return { name: w, icon: 'VpnKeyIcon' };\r\n });\r\n\r\n const uniqueYear = YEARS();\r\n\r\n res.data?.schedules\r\n // .filter((s) => moment(s.scheduleDateDue).format('YYYY') == year)\r\n .forEach((item) => {\r\n let objIndex = tempSortedScheduleEvent.findIndex((x) => x.month == moment(item.scheduleDateDue).format('MMMM'));\r\n if (objIndex + 1) {\r\n tempSortedScheduleEvent[objIndex].events.push(item);\r\n }\r\n });\r\n setState((st) => ({\r\n ...st,\r\n scheduleEventNames: uniquescheduleEventNames,\r\n sortedScheduleEvent: tempSortedScheduleEvent,\r\n uniqueYear: uniqueYear,\r\n selectedYear: year,\r\n showLoader: false,\r\n gridShow: false\r\n }));\r\n };\r\n\r\n // useEffect(async () => {\r\n // let Depots = [];\r\n // if (state.customerID) {\r\n // state.depotsList.filter((obj) => {\r\n // if (state.customerID === obj.depotCustomerID) {\r\n // Depots.push(obj);\r\n // }\r\n // });\r\n // setState((st) => ({ ...st, depotWithCustList: Depots, depotsID: '' }));\r\n // } else {\r\n // setState((st) => ({ ...st, depotWithCustList: [], depotsID: '' }));\r\n // }\r\n // }, [state.customerID, state.depotsList]);\r\n\r\n useEffect(async () => {\r\n let Depots = [];\r\n let endUsers = [];\r\n let serviceAgents = [];\r\n if (state.scheduleCustomerIDValue?.id) {\r\n let resCust = await getSchedulePlannerDropdowns(state.scheduleCustomerIDValue?.id);\r\n Depots = resCust.data.depots;\r\n endUsers = resCust.data.endUsers;\r\n serviceAgents = resCust.data.serviceAgents;\r\n setState((st) => ({\r\n ...st,\r\n depotWithCustList: Depots,\r\n scheduleDepotsIDValue: '',\r\n endUserWithCustList: endUsers,\r\n serviceAgentsList: serviceAgents\r\n }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n depotWithCustList: [],\r\n scheduleDepotsIDValue: '',\r\n endUserWithCustList: endUsers,\r\n scheduleEndUserIDValue: '',\r\n serviceAgentsList: serviceAgents,\r\n scheduleServiceAgentIDValue: ''\r\n }));\r\n }\r\n }, [state.scheduleCustomerIDValue?.id]);\r\n\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => {\r\n let newSt = { ...st, [name]: value };\r\n newSt.isDisabled = newSt.customerID || false;\r\n return newSt;\r\n });\r\n };\r\n\r\n const handleInputChange2 = (e) => {\r\n if (e.target.value == '') {\r\n pullApiData();\r\n } else pullApiData(e.target.value);\r\n };\r\n\r\n const checkButton = (j, label) => {\r\n setOpenDialog({ [label]: true });\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: j,\r\n scheduleVehicleID: j.scheduleVehicleID\r\n }));\r\n };\r\n\r\n const handleClose = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n selectedRowData: {}\r\n }));\r\n res && pullApiData();\r\n };\r\n\r\n const closeTheDialog = (res) => {\r\n setOpenDialog({});\r\n pullApiData();\r\n };\r\n\r\n const handleClick = (data, month) => {\r\n setState((st) => ({\r\n ...st,\r\n RowData: data,\r\n selectedMonth: month,\r\n gridShow: true\r\n }));\r\n };\r\n\r\n const closeGrid = () => {\r\n setState((st) => ({\r\n ...st,\r\n gridShow: false\r\n }));\r\n };\r\n\r\n const dueDateFormatter = (data) => {\r\n let textColor = formatters.getScheduleColour(data.scheduleCompletionDate, data.scheduleDateDue, data.dayRange);\r\n\r\n return {data.scheduleEventName};\r\n };\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const renderEdit = (j, param) => {\r\n return (\r\n \r\n {!isServiceAgent && j?.scheduleBookingStatus != 'Completed' && (\r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n selectedRowData: j,\r\n isAdd: false\r\n }));\r\n }}\r\n toolTipTitle=\"Edit Vehicle Schedule\"\r\n />\r\n \r\n )}\r\n {\r\n checkButton(j, 'notes');\r\n }}\r\n toolTipTitle=\"Notes\"\r\n />\r\n\r\n {j?.scheduleBookingStatus != 'Booked and Confirmed' && j?.scheduleBookingStatus != 'Completed' && !isServiceAgent ? (\r\n {\r\n checkButton(j, 'status');\r\n }}\r\n toolTipTitle=\"Update Booking Request\"\r\n />\r\n ) : null}\r\n\r\n {!isServiceAgent &&\r\n (j?.scheduleBookingStatus != 'Booked and Confirmed' && j?.scheduleBookingStatus != 'Completed' ? (\r\n <>\r\n {\r\n checkButton(j, 'section');\r\n }}\r\n toolTipTitle=\"Book Job\"\r\n />\r\n \r\n ) : j?.scheduleBookingStatus == 'Completed' ? (\r\n <>\r\n {checkhaveAccess?.CanViewJobs && (\r\n \r\n \r\n \r\n )}\r\n \r\n ) : (\r\n checkhaveAccess?.CanViewJobs && (\r\n \r\n \r\n \r\n )\r\n ))}\r\n {!isServiceAgent && j?.scheduleBookingStatus == 'Booked and Confirmed' && (\r\n <>\r\n  \r\n {\r\n checkButton(j, 'complete');\r\n }}\r\n toolTipTitle=\"Complete Schedule\"\r\n />\r\n \r\n )}\r\n {isServiceAgent && checkhaveAccess?.CanViewJobs && (\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n let regNumber = props.fromTab ? '' : `(${state.selectedRowData?.vehicleRegNumber})`;\r\n\r\n const downloadPdf = async () => {\r\n let res = await getSchedulePlannerData(\r\n `${state.selectedYear}-01-01`,\r\n `${state.selectedYear}-12-31`,\r\n state.scheduleCustomerIDValue?.id || '',\r\n state.scheduleDepotsIDValue?.id || '',\r\n state.scheduleServiceAgentIDValue?.id || ''\r\n );\r\n if (res) {\r\n const url = window.URL.createObjectURL(new Blob([res.data]));\r\n const link = document.getElementById('tempDownloadPDFLink') || document.createElement('a');\r\n link.id = 'tempDownloadPDFLink';\r\n link.href = url;\r\n link.setAttribute('download', `SchedulePlanner${moment().format('DD-MMM-YYYY HH:mm')}.pdf`);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n return true;\r\n }\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => {\r\n let newSt = { ...st, [nm]: val };\r\n newSt.isDisabled = newSt.scheduleCustomerIDValue || false;\r\n return newSt;\r\n });\r\n };\r\n\r\n return (\r\n
\r\n {state.showLoader ? (\r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n {!props.fromTab && (\r\n <>\r\n {/* \r\n \r\n Select Customer\r\n \r\n \r\n */}\r\n \r\n \r\n Select Customer\r\n \r\n \r\n \r\n {/* \r\n Select Depot\r\n \r\n */}\r\n \r\n Select Depots\r\n \r\n \r\n \r\n Service Agent\r\n \r\n \r\n \r\n \r\n \r\n Get Schedule planner\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n Schedules\r\n \r\n \r\n \r\n \r\n \r\n {state.scheduleEventNames.map((q) => {\r\n return (\r\n \r\n \r\n ⓘ\r\n \r\n \r\n {q.name}\r\n \r\n \r\n );\r\n })}\r\n \r\n {!state.gridShow ? (\r\n \r\n {state.sortedScheduleEvent.map((p) => {\r\n return (\r\n \r\n \r\n \r\n handleClick(p.events, p.month)} />\r\n \r\n }\r\n titleTypographyProps={{ variant: 'body1' }}\r\n title={`${p.month} ${state.selectedYear}`}\r\n style={{ height: '10px', backgroundColor: '#26a0b5', border: ' 1px solid black', color: 'white' }}\r\n >\r\n \r\n {p.events.length !== 0 ? (\r\n p.events.map((j) => {\r\n let isCompleteDate = j.scheduleBookingStatus === 'Completed' ? j.scheduleCompletionDate : j.bookingDate;\r\n\r\n return (\r\n \r\n \r\n ⓘ\r\n \r\n\r\n \r\n \r\n \r\n {`${moment(j.scheduleDateDue).format('dddd')} ${moment(j.scheduleDateDue).format(\r\n 'DD MMM YYYY'\r\n )} (${isCompleteDate ? moment(isCompleteDate).format('dddd') : ''} ${\r\n isCompleteDate ? moment(isCompleteDate).format('DD MMM YYYY') : '--:--'\r\n })`}\r\n \r\n \r\n \r\n
\r\n {props.fromTab ? null : (\r\n <>\r\n {dueDateFormatter(j)}\r\n  ({j.vehicleRegNumber})\r\n \r\n )}\r\n {renderEdit(j)}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n })\r\n ) : (\r\n \r\n
\r\n There are no schedules\r\n
\r\n \r\n )}\r\n \r\n \r\n
\r\n );\r\n })}\r\n \r\n ) : (\r\n \r\n \r\n {`${state.selectedMonth} ${state.selectedYear}`}\r\n \r\n \r\n \r\n \r\n \r\n {state.RowData.map((j) => {\r\n let isCompleteDate = j.scheduleBookingStatus === 'Completed' ? j.scheduleCompletionDate : j.bookingDate;\r\n return (\r\n \r\n ⓘ\r\n\r\n \r\n \r\n \r\n {`${moment(j.scheduleDateDue).format('dddd')} ${moment(j.scheduleDateDue).format('DD MMM YYYY')} (${\r\n isCompleteDate ? moment(isCompleteDate).format('dddd') : ''\r\n } ${isCompleteDate ? moment(isCompleteDate).format('DD MMM YYYY') : '--:--'})`}\r\n \r\n \r\n \r\n {dueDateFormatter(j)}\r\n {j.agentName}\r\n {j.vehicleRegNumber}\r\n \r\n \r\n {renderEdit(j)}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n {state.open ? (\r\n {\r\n handleClose(false);\r\n }}\r\n title={state.isAdd ? 'Add Schedule' : `Edit Schedule ${regNumber}`}\r\n maxWidth=\"sm\"\r\n name=\"addEdit\"\r\n >\r\n {state.isAdd ? (\r\n {\r\n handleClose(true);\r\n }}\r\n />\r\n ) : (\r\n {\r\n handleClose(true);\r\n }}\r\n />\r\n )}\r\n \r\n ) : null}\r\n {openDialog.notes ? (\r\n \r\n \r\n \r\n ) : null}\r\n {openDialog.status ? (\r\n \r\n \r\n \r\n ) : null}\r\n {openDialog.section ? (\r\n \r\n \r\n \r\n ) : null}\r\n {openDialog.complete ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default ScheduleDashboard;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getContracts = async (id) => {\r\n let res = await getWithAuth(`Contracts/${id}`);\r\n return res;\r\n};\r\n\r\nexport const getContractsDropDown = async () => {\r\n let res = await getWithAuth(`Contracts/screenDropdowns`);\r\n return res;\r\n};\r\n\r\nexport const postContracts = async (data) => {\r\n let res = await postWithAuth(`Contracts`, data);\r\n return res;\r\n};\r\n","import { createContext, useEffect, useState, useCallback } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, Typography, FormControlLabel, Radio, RadioGroup } from '@material-ui/core';\r\nimport { getContracts, getContractsDropDown, postContracts } from '../../../../../Core/Services/InternalUser/Vehicle/contractVechicleService';\r\nimport moment from 'moment';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\n\r\nexport const ContractContext = createContext();\r\n\r\nexport const ContractProvider = (props) => {\r\n console.log(props);\r\n const [state, setState] = useState({\r\n errors: {},\r\n contractID: props.vehicleContractID,\r\n contractVehicleID: props.vehicleID,\r\n showLoader: props.vehicleContractID ? true : false\r\n });\r\n const [dropdown, setDropdown] = useState({\r\n contractDurationTypes: [],\r\n contractTypes: [],\r\n agreementTypes: [],\r\n maintenanceProviders: [],\r\n contractStatus: [],\r\n serviceAgents: []\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n pullEditData();\r\n }, []);\r\n\r\n const pullEditData = async () => {\r\n if (state.contractID) {\r\n let res = await getContracts(state.contractID);\r\n let data = res.data?.details[0];\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n contractID: data.contractID,\r\n contractVehicleID: data.contractVehicleID,\r\n contractStatusID: data.contractStatusID,\r\n contractTypeID: data.contractTypeID,\r\n contractReference: data.contractReference,\r\n contractNominalCode: data.contractNominalCode,\r\n contractDurationTypeID: data.contractDurationTypeID,\r\n contractAgreementTypeID: data.contractAgreementTypeID,\r\n contractTerm: data.contractTerm,\r\n contractStartDate: data.contractStartDate,\r\n contractEndDate: data.contractEndDate,\r\n contractExtendedDate: data.contractExtendedDate,\r\n contractAnticipatedRenewalDate: data.contractAnticipatedRenewalDate,\r\n contractPurchasePrice: data.contractPurchasePrice,\r\n contractPurchaseDate: data.contractPurchaseDate,\r\n contractFinalPayment: data.contractFinalPayment,\r\n contractAdminCost: data.contractAdminCost,\r\n contractRAndMIncluded: data.contractRAndMIncluded,\r\n contractRAndMCost: data.contractRAndMCost,\r\n contractTyresIncluded: data.contractTyresIncluded,\r\n contractTyresCost: data.contractTyresCost,\r\n contractSubstituteIncluded: data.contractSubstituteIncluded,\r\n contractSubstituteCost: data.contractSubstituteCost,\r\n contractBreakdownIncluded: data.contractBreakdownIncluded,\r\n contractBreakdownCost: data.contractBreakdownCost,\r\n contractInspectionsIncluded: data.contractInspectionsIncluded,\r\n contractInspectionsCost: data.contractInspectionsCost,\r\n contractTachographIncluded: data.contractTachographIncluded,\r\n contractTachographCost: data.contractTachographCost,\r\n contractRFLIncluded: data.contractRFLIncluded,\r\n contractRFLCost: data.contractRFLCost,\r\n contractAncEquipmentIncluded: data.contractAncEquipmentIncluded,\r\n contractAncEquipmentCost: data.contractAncEquipmentCost,\r\n contractReSellValue: data.contractReSellValue,\r\n contractRAndMStartDate: data.contractRAndMStartDate,\r\n contractRAndMEndDate: data.contractRAndMEndDate,\r\n contractMileage: data.contractMileage,\r\n contractExcessMileage: data.contractExcessMileage,\r\n contractP11DValue: data.contractP11DValue,\r\n contractInitialMileage: data.contractInitialMileage,\r\n contractAnticipatedAnnualMileage: data.contractAnticipatedAnnualMileage,\r\n contractFundingCompanyName: data.contractFundingCompanyName,\r\n contractFundingCompanyTelephone: data.contractFundingCompanyTelephone,\r\n contractInitialPayment: data.contractInitialPayment,\r\n contractMonthlyPayment: data.contractMonthlyPayment,\r\n contractBroker: data.contractBroker,\r\n contractTotalCostOfFunding: data.contractTotalCostOfFunding,\r\n contractInclusiveofMaintenance: data.contractInclusiveofMaintenance,\r\n contractMaintenanceCost: data.contractMaintenanceCost,\r\n contractMaintenanceProviderId: data.contractMaintenanceProviderId,\r\n contractTyreSupplier: data.contractTyreSupplier,\r\n showLoader: false\r\n }));\r\n }\r\n }\r\n };\r\n\r\n // DropDown Api side\r\n useEffect(async () => {\r\n let res = await getContractsDropDown();\r\n if (res.success) {\r\n setDropdown((st) => ({\r\n ...st,\r\n contractDurationTypes: res.data.contractDurationTypes.map((m) => ({\r\n id: m.contractDurationTypeID,\r\n name: m.contractDurationTypeDescription\r\n })),\r\n contractTypes: res.data.contractTypes.map((m) => ({\r\n id: m.contractTypeID,\r\n name: m.contractTypeDescription\r\n })),\r\n agreementTypes: res.data.agreementTypes.map((m) => ({\r\n id: m.agreementTypeID,\r\n name: m.agreementTypeDescription\r\n })),\r\n maintenanceProviders: res.data.maintenanceProviders.map((m) => ({\r\n id: m.maintenanceProviderID,\r\n name: m.maintenanceProviderName\r\n })),\r\n contractStatus: res.data.contractStatus.map((m) => ({\r\n id: m.contractStatusID,\r\n name: m.contractStatusDescription\r\n })),\r\n serviceAgents: res.data.serviceAgents.map((m) => ({\r\n id: m.id,\r\n name: m.name\r\n }))\r\n }));\r\n }\r\n }, []);\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: true }));\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setState((st) => ({ ...st, [name]: value }));\r\n }\r\n }, []);\r\n\r\n const validation = () => {\r\n let isValid = true;\r\n let errors = {};\r\n let {\r\n contractStartDate,\r\n contractMaintenanceCost,\r\n contractReSellValue,\r\n contractRAndMCost,\r\n contractSubstituteCost,\r\n contractBreakdownCost,\r\n contractInspectionsCost,\r\n contractTyresCost,\r\n contractTachographCost,\r\n contractRFLCost,\r\n contractAncEquipmentCost,\r\n contractAdminCost\r\n } = state;\r\n\r\n if (!contractMaintenanceCost) {\r\n isValid = false;\r\n errors.contractMaintenanceCost = 'Contract Maintenance Cost is required';\r\n }\r\n if (!contractReSellValue) {\r\n isValid = false;\r\n errors.contractReSellValue = 'Contract ReSell Value is required';\r\n }\r\n if (!contractRAndMCost) {\r\n isValid = false;\r\n errors.contractRAndMCost = 'Contract RAndM Cost is required';\r\n }\r\n if (!contractSubstituteCost) {\r\n isValid = false;\r\n errors.contractSubstituteCost = 'Contract Substitute Cost is required';\r\n }\r\n if (!contractBreakdownCost) {\r\n isValid = false;\r\n errors.contractBreakdownCost = 'Contract Breakdown Cost is required';\r\n }\r\n if (!contractInspectionsCost) {\r\n isValid = false;\r\n errors.contractInspectionsCost = 'Contract Inspections Cost is required';\r\n }\r\n if (!contractTyresCost) {\r\n isValid = false;\r\n errors.contractTyresCost = 'Contract Tyres Cost is required';\r\n }\r\n if (!contractTachographCost) {\r\n isValid = false;\r\n errors.contractTachographCost = 'Contract Tachograph Cost is required';\r\n }\r\n if (!contractRFLCost) {\r\n isValid = false;\r\n errors.contractRFLCost = 'Contract RFL Cost is required';\r\n }\r\n if (!contractAncEquipmentCost) {\r\n isValid = false;\r\n errors.contractAncEquipmentCost = 'Contract Anc Equipment Cost is required';\r\n }\r\n if (!contractAdminCost) {\r\n isValid = false;\r\n errors.contractAdminCost = 'Contract Admin Cost is required';\r\n }\r\n if (!contractStartDate) {\r\n isValid = false;\r\n errors.contractStartDate = 'Contract Start Date is required';\r\n }\r\n\r\n setState((st) => ({\r\n ...st,\r\n errors: errors\r\n }));\r\n return isValid;\r\n };\r\n\r\n // submit data\r\n const submitData = async () => {\r\n if (validation()) {\r\n let data = {\r\n contractID: state.contractID || null,\r\n contractVehicleID: state.contractVehicleID || null,\r\n contractStatusID: state.contractStatusID || null,\r\n contractTypeID: state.contractTypeID || null,\r\n contractReference: state.contractReference || null,\r\n contractNominalCode: state.contractNominalCode || null,\r\n contractDurationTypeID: state.contractDurationTypeID || null,\r\n contractAgreementTypeID: state.contractAgreementTypeID || null,\r\n contractTerm: state.contractTerm || null,\r\n contractStartDate: state.contractStartDate || null,\r\n contractEndDate: state.contractEndDate || null,\r\n contractExtendedDate: state.contractExtendedDate || null,\r\n contractAnticipatedRenewalDate: state.contractAnticipatedRenewalDate || null,\r\n contractPurchasePrice: state.contractPurchasePrice || null,\r\n contractPurchaseDate: state.contractPurchaseDate || null,\r\n contractFinalPayment: state.contractFinalPayment || null,\r\n contractAdminCost: state.contractAdminCost || null,\r\n contractRAndMIncluded: state.contractRAndMIncluded,\r\n contractRAndMCost: state.contractRAndMCost || null,\r\n contractTyresIncluded: state.contractTyresIncluded,\r\n contractTyresCost: state.contractTyresCost || null,\r\n contractSubstituteIncluded: state.contractSubstituteIncluded,\r\n contractSubstituteCost: state.contractSubstituteCost || null,\r\n contractBreakdownIncluded: state.contractBreakdownIncluded,\r\n contractBreakdownCost: state.contractBreakdownCost || null,\r\n contractInspectionsIncluded: state.contractInspectionsIncluded,\r\n contractInspectionsCost: state.contractInspectionsCost || null,\r\n contractTachographIncluded: state.contractTachographIncluded,\r\n contractTachographCost: state.contractTachographCost || null,\r\n contractRFLIncluded: state.contractRFLIncluded,\r\n contractRFLCost: state.contractRFLCost || null,\r\n contractAncEquipmentIncluded: state.contractAncEquipmentIncluded,\r\n contractAncEquipmentCost: state.contractAncEquipmentCost || null,\r\n contractReSellValue: state.contractReSellValue || null,\r\n contractRAndMStartDate: state.contractRAndMStartDate || null,\r\n contractRAndMEndDate: state.contractRAndMEndDate || null,\r\n contractMileage: state.contractMileage || null,\r\n contractExcessMileage: state.contractExcessMileage || null,\r\n contractP11DValue: state.contractP11DValue || null,\r\n contractInitialMileage: state.contractInitialMileage || null,\r\n contractAnticipatedAnnualMileage: state.contractAnticipatedAnnualMileage || null,\r\n contractFundingCompanyName: state.contractFundingCompanyName || null,\r\n contractFundingCompanyTelephone: state.contractFundingCompanyTelephone || null,\r\n contractInitialPayment: state.contractInitialPayment || null,\r\n contractMonthlyPayment: state.contractMonthlyPayment || null,\r\n contractBroker: state.contractBroker || null,\r\n contractTotalCostOfFunding: state.contractTotalCostOfFunding || null,\r\n contractInclusiveofMaintenance: state.contractInclusiveofMaintenance || null,\r\n contractMaintenanceCost: state.contractMaintenanceCost || null,\r\n contractMaintenanceProviderId: state.contractMaintenanceProviderId || null,\r\n contractTyreSupplier: state.contractTyreSupplier || null\r\n };\r\n\r\n let message = !state.contractID ? 'Contract Added Successfully' : 'Contract Update Successfully';\r\n\r\n let res = await postContracts(data);\r\n if (res.success) {\r\n showToastSuccess(message);\r\n props.pullDetails();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (state.contractTerm) {\r\n let changeDate = moment(state.contractStartDate).add(state.contractTerm, 'months').format('YYYY-MM-DD');\r\n setState((st) => ({\r\n ...st,\r\n contractEndDate: changeDate\r\n }));\r\n }\r\n }, [state.contractTerm]);\r\n\r\n const YesNoRadio = (props) => {\r\n return (\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, Typography, FormHelperText } from '@material-ui/core';\r\nimport { ContractProvider as StateProvider, ContractContext } from './contractProvider';\r\nimport { SecondaryButton, SimpleField, SelectBox, DatePicker } from '../../../../../Core/Controls';\r\nimport moment from 'moment';\r\nimport { FromLoader } from '../../../../../Core/Loader/formLoader';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst ContractField = (props) => {\r\n const { state, YesNoRadio, dropdown, inputChange, submitData } = useContext(ContractContext);\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n return (\r\n <>\r\n {state.showLoader ? (\r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n Start date\r\n \r\n \r\n {state.errors.contractStartDate}\r\n \r\n \r\n Contract Term (Months)\r\n \r\n \r\n \r\n End date\r\n \r\n \r\n \r\n Extended Date\r\n \r\n \r\n \r\n Contract mileage\r\n \r\n \r\n \r\n Access Mileage (p/mile)\r\n \r\n \r\n \r\n Purchase Date\r\n \r\n {' '}\r\n \r\n Purchase Price\r\n \r\n \r\n \r\n Contract type\r\n \r\n \r\n \r\n Duration Type\r\n \r\n \r\n \r\n Contract Status\r\n \r\n \r\n \r\n Nominal Code\r\n \r\n \r\n \r\n P11D Value\r\n \r\n \r\n \r\n Initial mileage\r\n \r\n \r\n \r\n Anticipated annual mileage\r\n \r\n \r\n \r\n Anticipated renewal date\r\n \r\n \r\n \r\n \r\n Contract Funding\r\n \r\n
\r\n \r\n \r\n Agreement type\r\n \r\n \r\n \r\n Agreement ref number\r\n \r\n \r\n \r\n Funding company name\r\n \r\n \r\n \r\n Funding company telephone\r\n \r\n \r\n \r\n Initial payment\r\n \r\n \r\n \r\n Monthly payment\r\n \r\n \r\n \r\n Final payment\r\n \r\n \r\n \r\n \r\n Contract resell value\r\n \r\n \r\n {state.errors.contractReSellValue}\r\n \r\n \r\n Broker\r\n \r\n \r\n \r\n Total cost of funding \r\n \r\n \r\n \r\n \r\n Contract Costing\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Inclusive of Maintenance?\r\n \r\n \r\n \r\n \r\n {' '}\r\n Maintenance cost\r\n \r\n \r\n {state.errors.contractMaintenanceCost}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Inclusive of R&M?\r\n \r\n \r\n \r\n \r\n {' '}\r\n R&M cost\r\n \r\n \r\n {state.errors.contractRAndMCost}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Inclusive of Substitude?\r\n \r\n \r\n \r\n \r\n {' '}\r\n Substitude cost\r\n \r\n \r\n {state.errors.contractSubstituteCost}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Inclusive of Breakdown?\r\n \r\n \r\n \r\n \r\n Breakdown cost\r\n \r\n \r\n {state.errors.contractBreakdownCost}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Inclusive of Inspections?\r\n \r\n \r\n \r\n \r\n Inspections cost\r\n \r\n \r\n {state.errors.contractInspectionsCost}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Inclusive of Tyre?\r\n \r\n \r\n \r\n \r\n Tyre Cost\r\n \r\n \r\n {state.errors.contractTyresCost}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Inclusive of Tachograph?\r\n \r\n \r\n \r\n \r\n Tachograph cost\r\n \r\n \r\n {state.errors.contractTachographCost}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Inclusive of RFL?\r\n \r\n \r\n \r\n \r\n RFL cost\r\n \r\n \r\n {state.errors.contractRFLCost}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Inclusive of AncEquipment?\r\n \r\n \r\n \r\n \r\n AncEquipment cost\r\n \r\n \r\n {state.errors.contractAncEquipmentCost}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {' '}\r\n {'\\u{2800}'}\r\n \r\n {/* <||>{'\\u{2800}'}\r\n {'\\u{2800}'} */}\r\n \r\n \r\n \r\n Admin cost\r\n \r\n \r\n {state.errors.contractAdminCost}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Maintenance Contract\r\n \r\n
\r\n \r\n \r\n R&M Start Date\r\n \r\n \r\n \r\n R&M End Date\r\n \r\n \r\n \r\n Maintainance provider\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Contract Tyre\r\n \r\n
\r\n \r\n \r\n Tyre supplier\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.vehicleContractID ? 'Update' : 'Submit'}\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Screen;\r\n","// import React from 'react';\r\nimport React, { useState, useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Table, TableBody, TableContainer, TableRow, Paper, TableCell, Typography, TableHead } from '@material-ui/core';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport { CustomChip } from '../../../../../Core/Controls';\r\nimport ContractField from './contractTab';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst gridStyle = {\r\n title: {\r\n color: '#f50057'\r\n },\r\n header: {\r\n border: '1px solid rgba(0,0,0,0.2)'\r\n },\r\n tbHead: {\r\n padding: '5px 0px 6px 8px'\r\n },\r\n tbContent: {\r\n margin: '8px 0px 14px 0px;'\r\n }\r\n};\r\n\r\nconst ContractDash = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n const [show, setShow] = useState(false);\r\n useEffect(() => {\r\n if (props.vehicleContractID) {\r\n setShow(true);\r\n }\r\n }, []);\r\n\r\n const hadleScreen = () => {\r\n setShow(!show);\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 Contract Details\r\n \r\n \r\n\r\n \r\n {!isCustomer && (\r\n
\r\n {!show && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {!show ? (\r\n
\r\n {' '}\r\n Contract detail is not set up for this vehicle. \r\n {/* Click here to set contract details. */}\r\n {!isCustomer && (\r\n \r\n Click here to set contract details.\r\n \r\n )}\r\n
\r\n ) : (\r\n \r\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 ContractDash;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const postRecalls = async (data) => {\r\n let res = await postWithAuth(`recalls `, data);\r\n return res;\r\n};\r\n\r\nexport const getRecallByID = async (id) => {\r\n let res = await getWithAuth(`recalls/${id}`);\r\n return res;\r\n};\r\n\r\nexport const getRecallLogByID = async (id) => {\r\n let res = await getWithAuth(`recalls/RecallLog?RecallID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const postRecallLog = async (data) => {\r\n let res = await postWithAuth(`recalls/RecallLog`, data);\r\n return res;\r\n};\r\n\r\nexport const postRecallBookedStep = async (data) => {\r\n let res = await postWithAuth(`recalls/AssignAgent`, data);\r\n return res;\r\n};\r\n\r\nexport const postRecallOnsiteAndWorkedShop = async (data) => {\r\n let res = await postWithAuth(`recalls/AddOnSiteWorkShop`, data);\r\n return res;\r\n};\r\n\r\nexport const postRecallCompleted = async (data) => {\r\n let res = await postWithAuth(`recalls/RecallComplete`, data);\r\n return res;\r\n};\r\n","import React, { createContext, useEffect, useState } from 'react';\r\nimport { getRecallByID } from '../../../../../Core/Services/InternalUser/Vehicle/vehicleRecallService';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { postRecalls, postRecallLog, getRecallLogByID } from '../../../../../Core/Services/InternalUser/Vehicle/vehicleRecallService';\r\nimport { formatters } from '../../../../../Core/Controls';\r\n\r\nexport const RecallScreenContext = createContext();\r\n\r\nexport const RecallProvider = (props) => {\r\n const [state, setState] = useState({\r\n recallVehicleID: props.VehicleID,\r\n showNote: false,\r\n showEdit: false,\r\n showLoader: true,\r\n error: {},\r\n isReload: null\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const validation = () => {\r\n let error = {};\r\n let isValid = true;\r\n const { recallNumber, recallDate, recallDescription, recallExpiryDate } = state;\r\n if (!recallNumber) {\r\n error.recallNumber = 'Recall number is required';\r\n isValid = false;\r\n }\r\n if (!recallDate) {\r\n error.recallDate = 'Recall date is required';\r\n isValid = false;\r\n }\r\n if (!recallDescription) {\r\n error.recallDescription = 'Description number is required';\r\n isValid = false;\r\n }\r\n if (!recallExpiryDate) {\r\n error.recallExpiryDate = 'ExpiryDate number is required';\r\n isValid = false;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n error\r\n }));\r\n\r\n return isValid;\r\n };\r\n\r\n const handleSubmit = async (fromScreen) => {\r\n if (validation()) {\r\n let data = {\r\n recallID: state.recallID || null,\r\n recallVehicleID: state.recallVehicleID || null,\r\n recallNumber: state.recallNumber || null,\r\n recallDate: state.recallDate || null,\r\n recallExpiryDate: state.recallExpiryDate || null,\r\n recallDescription: state.recallDescription || null\r\n };\r\n\r\n let res = await postRecalls(data);\r\n if (res.success) {\r\n showToastSuccess('Vehicle Recall added successfully');\r\n if (state.recallID) {\r\n handleEditForm();\r\n } else {\r\n props.onClose(fromScreen, res?.data?.recallID, true);\r\n }\r\n } else {\r\n showToastError('Vehicle Recall Not added');\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (props.reCallId) {\r\n getRecallDetails();\r\n pullrecallLog();\r\n }\r\n }, [state.isReload]);\r\n\r\n const isRefreshDetails = () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const getRecallDetails = async () => {\r\n let res = await getRecallByID(props.reCallId);\r\n const data = res.data?.list[0];\r\n setState((st) => ({\r\n ...st,\r\n recallID: data.recallID || null,\r\n recallVehicleID: data.recallVehicleID || null,\r\n recallNumber: data.recallNumber || null,\r\n recallDate: formatters.DateFormatter(data.recallDate),\r\n recallExpiryDate: formatters.DateFormatter(data.recallExpiryDate),\r\n recallDescription: data.recallDescription || null,\r\n recallDateCreated: data.recallDateCreated || null,\r\n serviceAgent: data.serviceAgent,\r\n recallStatusID: data.recallStatusID,\r\n recallDateBooked: data.recallDateBooked,\r\n recallDateOnSite: data.recallDateOnSite,\r\n recallDateWorkshop: data.recallDateWorkshop,\r\n recallDateCompleted: data.recallDateCompleted,\r\n fileCount: data.fileCount\r\n }));\r\n };\r\n const inputChange = (e) => {\r\n let { name, value } = e.target;\r\n setState((st) => ({\r\n ...st,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const handleNote = () => {\r\n setState((st) => ({ ...st, showNote: !st.showNote, recallLogNotes: '', error: {} }));\r\n };\r\n\r\n const logvalidation = () => {\r\n let error = {};\r\n let isValid = true;\r\n if (!state.recallLogNotes) {\r\n error.recallLogNotes = 'Log note is required';\r\n isValid = false;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n error: error\r\n }));\r\n\r\n return isValid;\r\n };\r\n\r\n const handleSubmitLog = async () => {\r\n if (logvalidation()) {\r\n let data = {\r\n recallID: state.recallID,\r\n recallLogNotes: state.recallLogNotes\r\n };\r\n let res = await postRecallLog(data);\r\n if (res.success) {\r\n if (res.success) {\r\n showToastSuccess('Vehicle Recall Log added successfully');\r\n handleNote();\r\n pullrecallLog();\r\n } else {\r\n showToastError('Vehicle Recall Log Not added');\r\n }\r\n }\r\n }\r\n };\r\n\r\n const pullrecallLog = async () => {\r\n if (props.reCallId) {\r\n let res = await getRecallLogByID(props.reCallId);\r\n setState((st) => ({ ...st, logList: res.data?.list, showLoader: false }));\r\n }\r\n };\r\n\r\n const handleEditForm = () => {\r\n setState((st) => ({ ...st, showEdit: !st.showEdit }));\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useContext } from 'react';\r\nimport { DatePicker, InputText, SecondaryButton, SimpleField, MandatoryField } from '../../../../../Core/Controls';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nimport { RecallProvider as StateProvider, RecallScreenContext } from './reCallProvider';\r\n\r\nconst AddRecall = (props) => {\r\n const { state, inputChange, handleSubmit } = useContext(RecallScreenContext);\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n Recall Number\r\n \r\n \r\n {state.error.recallNumber}\r\n \r\n \r\n \r\n Recall Date\r\n \r\n \r\n {state.error.recallDate}\r\n \r\n \r\n \r\n Expiry Date\r\n \r\n \r\n {state.error.recallExpiryDate}\r\n \r\n \r\n \r\n Description\r\n \r\n \r\n {state.error.recallDescription}\r\n \r\n\r\n \r\n handleSubmit('add')}>\r\n Submit\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n
\r\n );\r\n};\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { DateTimePicker, InputText, SecondaryButton, SingleSelect } from '../../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../../Core/Hooks/useToast';\r\nimport { getAllScheduleDropdowns } from '../../../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport {\r\n postRecallBookedStep,\r\n postRecallOnsiteAndWorkedShop,\r\n postRecallCompleted\r\n} from '../../../../../../Core/Services/InternalUser/Vehicle/vehicleRecallService';\r\nimport moment from 'moment';\r\n\r\nconst AssignServiceAgentModal = (props) => {\r\n const [state, setState] = useState({\r\n commonDate: moment().format('YYYY-MM-DDTHH:mm'),\r\n // commonDate: '',\r\n errors: {},\r\n serviceAgentID: props.stepData.recallServiceAgentID,\r\n serviceAgentIDValue: null\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(() => {\r\n if (props.fromPage === 'serviceAgent') {\r\n getServiceAgentList();\r\n }\r\n }, []);\r\n\r\n const getServiceAgentList = async () => {\r\n let newSt = {};\r\n let res = await getAllScheduleDropdowns(props.stepData.recallVehicleID);\r\n if (state.serviceAgentID && res.data.serviceAgents.length > 0) {\r\n newSt.serviceAgentIDValue = res.data.serviceAgents.find(({ id }) => id === state.serviceAgentID);\r\n }\r\n setState((st) => ({\r\n ...st,\r\n serviceAgentsList: res.data.serviceAgents,\r\n ...newSt\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n const { serviceAgentIDValue, commonDate, recallCompletedComments } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!serviceAgentIDValue && props.fromPage === 'serviceAgent') {\r\n errors.serviceAgentIDValue = ' This field is required';\r\n formIsValid = false;\r\n }\r\n if (!commonDate) {\r\n errors.commonDate = ' This field is required';\r\n formIsValid = false;\r\n }\r\n if (!recallCompletedComments && props.fromPage === 'CompleteRecall') {\r\n errors.recallCompletedComments = ' This field is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => ({ ...st, [nm]: val }));\r\n };\r\n const dateFieldsChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const SubmitHandler = async () => {\r\n let FormData;\r\n let res = {};\r\n if (validations()) {\r\n if (props.fromPage === 'serviceAgent') {\r\n FormData = {\r\n recallID: props.recallID,\r\n recallDateBooked: state.commonDate,\r\n recallServiceAgentID: state.serviceAgentIDValue?.id\r\n };\r\n res = await postRecallBookedStep(FormData);\r\n }\r\n if (props.fromPage === 'workShop' || props.fromPage === 'onSite') {\r\n FormData = {\r\n fromPage: props.fromPage === 'onSite' ? 'O' : '',\r\n recallID: props.recallID,\r\n recallDateOnSite: props.fromPage === 'onSite' ? state.commonDate : '',\r\n recallDateWorkshop: props.fromPage === 'workShop' ? state.commonDate : ''\r\n };\r\n res = await postRecallOnsiteAndWorkedShop(FormData);\r\n }\r\n if (props.fromPage === 'CompleteRecall') {\r\n FormData = {\r\n recallID: props.recallID,\r\n recallDateCompleted: state.commonDate,\r\n recallCompletedComments: state.recallCompletedComments\r\n };\r\n res = await postRecallCompleted(FormData);\r\n }\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n {props.fromPage === 'serviceAgent' ? (\r\n \r\n Service Agent\r\n \r\n {state.errors.serviceAgentIDValue}\r\n \r\n ) : null}\r\n \r\n Date\r\n \r\n {state.errors.commonDate}\r\n \r\n {props.fromPage === 'CompleteRecall' && (\r\n \r\n Comment\r\n \r\n {state.errors.recallCompletedComments}\r\n \r\n )}\r\n \r\n \r\n {props.fromPage === 'serviceAgent'\r\n ? 'Booked Recall'\r\n : props.fromPage === 'CompleteRecall'\r\n ? 'Complete Recall'\r\n : props.fromPage === 'onSite'\r\n ? 'Set On Site Date'\r\n : props.fromPage === 'workShop'\r\n ? 'Set In Work Shop Date'\r\n : ''}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AssignServiceAgentModal;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport clsx from 'clsx';\r\nimport Stepper from '@material-ui/core/Stepper';\r\nimport Step from '@material-ui/core/Step';\r\nimport StepLabel from '@material-ui/core/StepLabel';\r\nimport Check from '@material-ui/icons/Check';\r\nimport SettingsIcon from '@material-ui/icons/Settings';\r\nimport GroupAddIcon from '@material-ui/icons/GroupAdd';\r\nimport VideoLabelIcon from '@material-ui/icons/VideoLabel';\r\nimport StepConnector from '@material-ui/core/StepConnector';\r\nimport Button from '@material-ui/core/Button';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { formatters } from '../../../../../../Core/Controls';\r\nimport AssignServiceAgentModal from './assignServiceAgentModal';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport HomeWorkIcon from '@material-ui/icons/HomeWork';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport TrendingUpIcon from '@material-ui/icons/TrendingUp';\r\n\r\nconst ColorlibConnector = withStyles({\r\n alternativeLabel: {\r\n top: 22\r\n },\r\n active: {\r\n '& $line': {\r\n backgroundImage: 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)'\r\n }\r\n },\r\n completed: {\r\n '& $line': {\r\n backgroundImage: 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)'\r\n }\r\n },\r\n line: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: '#eaeaf0',\r\n borderRadius: 1\r\n }\r\n})(StepConnector);\r\n\r\nconst useColorlibStepIconStyles = makeStyles({\r\n root: {\r\n backgroundColor: '#ccc',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 50,\r\n height: 50,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n },\r\n active: {\r\n backgroundImage: 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)',\r\n boxShadow: '0 4px 10px 0 rgba(0,0,0,.25)'\r\n },\r\n completed: {\r\n backgroundImage: 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)'\r\n }\r\n});\r\n\r\nfunction ColorlibStepIcon(props) {\r\n const classes = useColorlibStepIconStyles();\r\n const { active, completed } = props;\r\n\r\n const icons = {\r\n 1: ,\r\n 2: ,\r\n 3: ,\r\n 4: ,\r\n 5: \r\n };\r\n\r\n return (\r\n \r\n {icons[String(props.icon)]}\r\n \r\n );\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%'\r\n },\r\n button: {\r\n marginRight: theme.spacing(1)\r\n },\r\n instructions: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1)\r\n }\r\n}));\r\n\r\nexport default function CustomizedRecallSteppers(props) {\r\n const classes = useStyles();\r\n const [activeStep, setActiveStep] = React.useState(1);\r\n\r\n const [step, setStep] = React.useState({ steps: [], serviceDate: false });\r\n\r\n useEffect(async () => {\r\n let TempStep = [\r\n {\r\n title: 'Created',\r\n value: formatters.DateTimeFormatter(props.stepData.recallDateCreated)\r\n },\r\n {\r\n title: 'Booked',\r\n AgentName: props.stepData.serviceAgent,\r\n value: formatters.DateTimeFormatter(props.stepData.recallDateBooked)\r\n },\r\n {\r\n title: 'Onsite',\r\n value: formatters.DateTimeFormatter(props.stepData.recallDateOnSite)\r\n },\r\n {\r\n title: 'In Workshop',\r\n value: formatters.DateTimeFormatter(props.stepData.recallDateWorkshop)\r\n },\r\n {\r\n title: 'Completed',\r\n value: formatters.DateTimeFormatter(props.stepData.recallDateCompleted)\r\n }\r\n ];\r\n\r\n setActiveStep(props.stepData.recallStatusID);\r\n setStep((st) => ({ ...st, steps: TempStep, totalSteps: TempStep.length }));\r\n }, [props.stepData]);\r\n\r\n const popUpHandler = (label) => {\r\n setStep((st) => ({\r\n ...st,\r\n serviceDate: true,\r\n fromPage:\r\n label === 'Booked'\r\n ? 'serviceAgent'\r\n : label === 'Completed'\r\n ? 'CompleteRecall'\r\n : label === 'Onsite'\r\n ? 'onSite'\r\n : label === 'In Workshop'\r\n ? 'workShop'\r\n : ''\r\n }));\r\n };\r\n\r\n const closeServiceAgentModal = (res) => {\r\n setStep((st) => ({\r\n ...st,\r\n serviceDate: false\r\n }));\r\n res && props.isRefreshDetails();\r\n };\r\n\r\n const ServiceAgentArrivalTimetitle =\r\n step.fromPage === 'serviceAgent'\r\n ? 'Booked Recall'\r\n : step.fromPage === 'CompleteRecall'\r\n ? 'Complete Recall'\r\n : step.fromPage === 'onSite'\r\n ? 'On Site'\r\n : step.fromPage === 'workShop'\r\n ? 'In Work Shop'\r\n : '';\r\n\r\n return (\r\n
\r\n }>\r\n {step.steps.map((s, i) => (\r\n \r\n popUpHandler(s.title) : ''}>\r\n
\r\n
{s.AgentName ? `${s.AgentName}` : s.title}
\r\n \r\n {s.value}\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n {step.serviceDate ? (\r\n closeServiceAgentModal(false)} maxWidth=\"xs\" fullWidth>\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\n","import { FormHelperText, Grid, InputLabel, Typography } from '@material-ui/core';\r\nimport React, { useContext } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { CustomChip, DatePicker, InputText, SimpleField, DataGrid, SecondaryButton, formatters } from '../../../../../Core/Controls';\r\nimport FileUploaderButton from '../../../../../Core/Controls/GenericFileUploader';\r\nimport { RecallProvider as StateProvider, RecallScreenContext } from './reCallProvider';\r\nimport CustomizedRecallSteppers from './RecallStepper/recallStepper';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport DoneIcon from '@material-ui/icons/Done';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport { Widgets } from '@material-ui/icons';\r\nimport moment from 'moment';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n inputContainer: {\r\n padding: '5px',\r\n marginBottom: '5px',\r\n '& .MuiOutlinedInput-input': {\r\n padding: '4px 4px'\r\n }\r\n },\r\n textAreaContainer: {\r\n padding: '5px',\r\n marginBottom: '5px',\r\n height: '400px'\r\n }\r\n}));\r\n\r\nconst JobSingleNote = props => {\r\n return
\r\n
{props.note.notes}
\r\n
\r\n {props.note.createdBy} @ {moment(props.note.recallLogDateCreated).format(\"LLL\")}\r\n
\r\n
\r\n}\r\n\r\nconst columns = [\r\n {\r\n key: 'recallLogDateCreated',\r\n name: 'Date',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 100\r\n },\r\n {\r\n key: 'notes',\r\n name: 'Log'\r\n },\r\n {\r\n key: 'createdBy',\r\n name: 'Created By',\r\n width: 170\r\n }\r\n];\r\n\r\nconst RecallDashboard = (props) => {\r\n const classes = useStyles();\r\n\r\n const { state, inputChange, handleNote, handleSubmitLog, handleEditForm, handleSubmit, isRefreshDetails } = useContext(RecallScreenContext);\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 Recall Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n {!state.showEdit ? (\r\n \r\n ) : (\r\n <>\r\n handleSubmit('edit')}\r\n style={{ fontWeight: 'bold', height: '29px', marginRight: 10 }}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n Recall Number\r\n {state.showEdit ? (\r\n \r\n ) : (\r\n {state.recallNumber}\r\n )}\r\n \r\n \r\n Recall Date\r\n {state.showEdit ? (\r\n \r\n ) : (\r\n {formatters.DateOnlyFormatter(state.recallDate)}\r\n )}\r\n \r\n \r\n Expiry Date \r\n {state.showEdit ? (\r\n \r\n ) : (\r\n {formatters.DateOnlyFormatter(state.recallExpiryDate)}\r\n )}\r\n \r\n \r\n \r\n \r\n Description\r\n {state.showEdit ? (\r\n \r\n ) : (\r\n \r\n {state.recallDescription}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Recall Logs\r\n \r\n \r\n \r\n {\r\n \r\n }\r\n \r\n \r\n {/* */}\r\n\r\n {state.logList?.map((n, i) =>\r\n <>\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n\r\n {state.showNote ? (\r\n \r\n \r\n \r\n \r\n Log\r\n \r\n \r\n {state.error.recallLogNotes}\r\n \r\n \r\n Submit\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { EditButton, DataGrid, formatters } from '../../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport AddRecall from './addRecallScreen';\r\nimport RecallDashboard from './recallDashDetail';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 80 },\r\n { key: 'recallDate', name: 'Recall Date', formatter: formatters.Date_DDMMYYYY, width: 150 },\r\n { key: 'recallNumber', name: 'Recall Number', width: 100 },\r\n { key: 'recallExpiryDate', name: 'Expiry Date', formatter: formatters.Date_DDMMYYYY, width: 150 },\r\n {\r\n key: 'recallDescription',\r\n name: 'Description'\r\n },\r\n { key: 'recallStatus', name: 'Status', width: 120 }\r\n];\r\n\r\nconst VehicleRecalls = (props) => {\r\n const [state, setState] = useState({\r\n showRecall: false\r\n });\r\n\r\n useEffect(async () => {\r\n // pullChecksData();\r\n }, []);\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const pullChecksData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const actionButton = (data, row) => {\r\n return (\r\n
\r\n \r\n setState((st) => ({\r\n ...st,\r\n reCallId: row.recallID,\r\n showDetails: true\r\n }))\r\n }\r\n toolTipTitle=\"Edit Recall\"\r\n />\r\n
\r\n );\r\n };\r\n\r\n const onClose = (fromScreen, recallID) => {\r\n setState((st) => ({\r\n ...st,\r\n showRecall: false,\r\n showDetails: fromScreen === 'add' ? true : false,\r\n reCallId: recallID\r\n }));\r\n pullChecksData();\r\n };\r\n\r\n const handleAdd = () => {\r\n setState((st) => ({\r\n ...st,\r\n showRecall: true\r\n }));\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = actionButton;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n let loadUrl = `recalls?VehicleID=${props.VehicleID}`;\r\n return (\r\n
\r\n {state.showRecall ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {state.showDetails ? (\r\n // \r\n \r\n ) : (\r\n // \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n btnTitle={`${checkhaveAccess?.CanUpdateVehicleRecalls ? 'Add Recall' : ''}`}\r\n onBtnClick={handleAdd}\r\n isReload={state.isReload}\r\n getUrl={loadUrl}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default VehicleRecalls;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../Core/Controls';\r\nimport '../../commonStyle.scss';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport JobDetail from '../Controllers/JOBS/JOBItems/JobDetails';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nlet final = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Invoices', active: true }\r\n];\r\nconst getCrumbs = (code) => {\r\n let newColumn = [...final];\r\n if (code === 'p') {\r\n newColumn.splice(3, 0, { name: 'Sales-Paid', active: true });\r\n } else if (code === 'u') {\r\n newColumn.splice(3, 0, { name: 'Sales-Unpaid', active: true });\r\n } else {\r\n newColumn.splice(2, 0, { name: 'Paid', active: true });\r\n }\r\n return newColumn;\r\n};\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 80, addFileUploaderIcon: true },\r\n { key: 'ino', name: 'Number' },\r\n { key: 'idate', name: 'Invoice Date', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'dd', name: 'Due Date', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'total', name: 'Total', formatter: formatters.NumberWithPound, align: 'right' },\r\n { key: 'c', name: 'Customer' }\r\n];\r\n\r\nconst SalesInvoiceScreen = (props) => {\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n invoiceID: null,\r\n VehicleID: props.VehicleID || null,\r\n ServiceAgentID: props.ServiceAgentID || null,\r\n isReload: null\r\n });\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n const crumbs = getCrumbs(props.statusCode);\r\n const history = useHistory();\r\n\r\n useEffect(async () => {\r\n let getUrl;\r\n if (props.fromPage === 'job') {\r\n getUrl = `Invoices/SalesInvoiceByStatus${props.JobID ? `?JobID=${props.JobID}` : ''}`;\r\n } else {\r\n if (props.VehicleID) {\r\n getUrl = `Invoices/SalesInvoiceByStatus${props.VehicleID ? `?VehicleID=${props.VehicleID}` : ''}`;\r\n } else {\r\n getUrl = `Invoices/SalesInvoiceByStatus?status=${props.statusCode}`;\r\n }\r\n }\r\n setState((st) => ({\r\n ...st,\r\n getUrl: getUrl\r\n }));\r\n }, []);\r\n\r\n const pullInvoiceData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const actionButton = (data, row) => {\r\n return (\r\n
\r\n handleInvoiceUpdate(row)} toolTipTitle=\"Edit Invoice\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = actionButton;\r\n }\r\n if (!props.VehicleID || props.JobID) {\r\n tempCols.splice(5, 0, { key: 'regno', name: 'Reg No', width: '20%' });\r\n }\r\n if (props.statusCode != 'u') {\r\n tempCols.splice(4, 0, { key: 'dp', name: 'Date Paid', formatter: formatters.Date_DDMMYYYY });\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleInvoiceUpdate = (val) => {\r\n history.push({\r\n pathname: `/update_sales_invoice/${val.invoiceID}`,\r\n search: ''\r\n });\r\n };\r\n return (\r\n
\r\n <>\r\n {!props.VehicleID && }\r\n {props.JobID && }\r\n ({\r\n records: res.data.list.map((m) => ({ ...m, total: m.vat + m.net })),\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={state.getUrl}\r\n idFieldName=\"invoiceID\"\r\n fileUploaderConfigName=\"SalesInvoice\"\r\n isReload={state.isReload}\r\n offset={props.fromPage === 'job' ? 410 : 350}\r\n />\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SalesInvoiceScreen;\r\n","import React, { useEffect } from 'react';\r\nimport { TabView, CustomChip } from '../../../../Core/Controls';\r\nimport VehicleDashBoard from './vehicleDash';\r\nimport NoteDashboard from './../Notes/index';\r\nimport DefectScreen from '../../Maintenance/Defects/defectScreen';\r\nimport BreakDownDashboard from '../../Maintenance/BreakDown/breakDownDashboard';\r\nimport ScheduleDashboard from './ScheduleVehicle/scheduleVehicle';\r\nimport JobScreen from '../JOBS/JobScreen';\r\nimport VehicleJourneys from './VehicleJourneys';\r\nimport FuelPurchaseDashboard from './../FuelPurchaseTab';\r\nimport DriverDailyChecksGrid from './DriverDailyChecks';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport DefaultMesaage from './Message/index';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport MileageLog from '../MileageLog/mileageLog';\r\nimport { useState } from 'react';\r\nimport VorScreen from '../VOR/VorIndex';\r\nimport { getTitleData } from '../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { useLoader } from '../../../../Core/Hooks/useLoader';\r\nimport AddVor from '../VOR/AddEditVor';\r\nimport InvoiceScreen from '../../Invoices';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport ScheduleCalender from '../../../ServiceAgent/Schedules/ScheduleDashboard';\r\nimport ContractDash from '../Vehicles/Contract/index';\r\nimport VehicleRecalls from './VehicleRecall/index';\r\nimport SalesInvoiceScreen from '../../Invoices/salesInvoice';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\n\r\nexport default function EditVehicle(props) {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const { userRoles } = useLoginInfo();\r\n const isCustomer = userRoles.includes('customer');\r\n const id = props.match.params.id;\r\n const serviceAgentid = props.match.params.serviceAgentid;\r\n\r\n const { showLoader, hideLoader } = useLoader();\r\n\r\n const [tabIndex, setTabIndex] = useState(undefined);\r\n const [state, setState] = useState({\r\n desc: '',\r\n vorID: null,\r\n loader: true,\r\n regNumber: '',\r\n vehiclePrimaryServiceAgentID: null,\r\n vehicleContractID: null\r\n });\r\n const selectTabIndex = (index) => {\r\n var d = new Date();\r\n var n = d.getTime();\r\n setState((st) => ({ ...st, timeDependency: n }));\r\n setTabIndex(index);\r\n };\r\n\r\n const pullDetails = async () => {\r\n showLoader();\r\n let res = await getTitleData(id);\r\n if (res.success) {\r\n let data = res.data.details[0];\r\n setState((st) => ({\r\n ...st,\r\n desc: data?.vehicleDescription,\r\n vorID: data?.vorVehicleID,\r\n loader: false,\r\n vehicleContractID: data.vehicleContractID,\r\n regNumber: data?.vehicleDescription.split('-')[0].trim(),\r\n vehiclePrimaryServiceAgentID: data?.vehiclePrimaryServiceAgentID\r\n }));\r\n hideLoader();\r\n } else {\r\n hideLoader();\r\n }\r\n };\r\n\r\n const closeAddPopUp = (flag, name) => {\r\n setState((st) => ({ ...st, showVORPopup: false }));\r\n flag && pullDetails();\r\n };\r\n\r\n const handleAddPopUp = () => {\r\n setState((st) => ({ ...st, showVORPopup: true }));\r\n };\r\n\r\n const tabs = [\r\n {\r\n label: 'Dashboard',\r\n body: \r\n },\r\n {\r\n label: 'Breakdowns',\r\n body: \r\n },\r\n {\r\n label: 'Defects',\r\n body: \r\n },\r\n {\r\n label: 'VOR',\r\n body: \r\n },\r\n {\r\n label: 'Calendar',\r\n body: \r\n },\r\n {\r\n label: 'Schedules',\r\n body: \r\n },\r\n // {\r\n // label: 'Estimates',\r\n // body:

Estimates Screen

\r\n // },\r\n\r\n {\r\n label: 'Jobs',\r\n body: (\r\n <>\r\n \r\n \r\n )\r\n },\r\n ...(checkhaveAccess?.CanViewInvoices\r\n ? [\r\n ...(!isCustomer\r\n ? [\r\n {\r\n label: 'Purchase Invoices',\r\n body: \r\n }\r\n ]\r\n : []),\r\n {\r\n label: 'Sales Invoices',\r\n body: \r\n }\r\n ]\r\n : []),\r\n { label: 'Mileage', body: },\r\n ...(checkhaveAccess?.CanViewNotes\r\n ? [\r\n {\r\n label: 'Notes',\r\n body: \r\n }\r\n ]\r\n : []),\r\n {\r\n label: 'Journeys',\r\n body: \r\n },\r\n\r\n {\r\n label: 'Checks',\r\n body: \r\n },\r\n {\r\n label: 'Recalls',\r\n body: \r\n },\r\n { label: 'Fuel', body: },\r\n {\r\n label: 'Messages',\r\n body: \r\n },\r\n {\r\n label: 'Contract',\r\n body: \r\n }\r\n ];\r\n let newTabs = () => {\r\n let newTabs = [...tabs];\r\n if (!checkhaveAccess?.CanViewBreakdowns) {\r\n let index = newTabs.findIndex((m) => m.label === 'Breakdowns');\r\n newTabs.splice(index, 1);\r\n }\r\n if (!checkhaveAccess?.CanViewDefects) {\r\n let index = newTabs.findIndex((m) => m.label === 'Defects');\r\n newTabs.splice(index, 1);\r\n }\r\n if (!checkhaveAccess?.CanViewDailyChecks) {\r\n let index = newTabs.findIndex((m) => m.label === 'Checks');\r\n newTabs.splice(index, 1);\r\n }\r\n if (!checkhaveAccess?.CanViewSchedules) {\r\n let index = newTabs.findIndex((m) => m.label === 'Schedules');\r\n newTabs.splice(index, 1);\r\n }\r\n if (!checkhaveAccess?.CanViewJobs) {\r\n let index = newTabs.findIndex((m) => m.label === 'Jobs');\r\n newTabs.splice(index, 1);\r\n }\r\n if (!checkhaveAccess?.CanViewMessages) {\r\n let index = newTabs.findIndex((m) => m.label === 'Messages');\r\n newTabs.splice(index, 1);\r\n }\r\n if (!checkhaveAccess?.CanViewSalesInvoices) {\r\n let index = newTabs.findIndex((m) => m.label === 'Sales Invoices');\r\n newTabs.splice(index, 1);\r\n }\r\n if (!checkhaveAccess?.CanViewVOR) {\r\n let index = newTabs.findIndex((m) => m.label === 'VOR');\r\n newTabs.splice(index, 1);\r\n }\r\n\r\n return newTabs;\r\n };\r\n\r\n useEffect(async () => {\r\n pullDetails();\r\n }, [id]);\r\n\r\n return (\r\n
\r\n \r\n \r\n {state.desc?.toUpperCase() || ''}\r\n \r\n {state.vorID && (\r\n \r\n \r\n {/* handleAddPopUp(data.VehicleID, 'showVORPopup')} className=\"btn-m\" /> */}\r\n \r\n )}\r\n \r\n \r\n {state.showVORPopup ? (\r\n closeAddPopUp(false)}\r\n maxWidth=\"lg\"\r\n overflow=\"auto\"\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { getAllVehicle } from '../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { AddButton, EditButton, DataGrid, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport AddEditVehicle from './addEditVehicle';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport EditVehicle from './editVehicle';\r\nimport { Link } from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport ReactDOM from 'react-dom';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport CustomerDetails from '../DetailsModal/customerDetails';\r\nimport DepotDetails from '../DetailsModal/depotDetails';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport Switch from '@material-ui/core/Switch';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 80,\r\n\r\n addFileUploaderIcon: true\r\n },\r\n { key: 'vehicleRegNumber', name: 'Reg Number', width: 90 },\r\n { key: 'vehicleMakeModel', name: 'Vehicle Description', width: 220 },\r\n {\r\n key: 'vehicleDateOfRegistration',\r\n name: 'Date Of Reg',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 90\r\n },\r\n {\r\n key: 'vehicleMOTExpiry',\r\n name: 'MOT Expiry',\r\n formatter: formatters.dueDateFormatter,\r\n width: 90\r\n },\r\n {\r\n key: 'vehicleTaxDue',\r\n name: 'Tax Due',\r\n formatter: formatters.dueDateFormatter,\r\n width: 90\r\n },\r\n { key: 'mileage', name: 'Mileage', width: 90 },\r\n { key: 'driver', name: 'Driver', width: 90 },\r\n { key: 'customerCompanyName', name: 'Customer' },\r\n { key: 'depotName', name: 'Depot' },\r\n { key: 'endUser', name: 'End User' }\r\n];\r\n\r\nconst baseCrumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', path: '/controller/Vehicles/:all', active: true }\r\n];\r\n\r\nconst VehicleScreen = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const { showToastError } = useToast();\r\n const [state, setState] = useState({\r\n show: false,\r\n showEditPopup: false,\r\n showLoader: true,\r\n vehicleList: [],\r\n VehicleID: null,\r\n isReload: null,\r\n\r\n activeToggle: true\r\n });\r\n\r\n let history = useHistory();\r\n\r\n const pullVehicleAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n let url = props.location.pathname;\r\n let urlIndex = url.lastIndexOf('/') + 1;\r\n let filterID = '';\r\n if (url[urlIndex] === ':' || url[urlIndex] === undefined || url[urlIndex] === null) {\r\n filterID = '';\r\n } else {\r\n filterID = url[urlIndex];\r\n }\r\n setState((st) => ({\r\n ...st,\r\n filterID: filterID\r\n }));\r\n }, [props.location.pathname]);\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n VehicleID: record?.vehicleID\r\n }));\r\n };\r\n\r\n const closeVehicleModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullVehicleAndUpdateState();\r\n };\r\n\r\n const closeByBredCrumb = () => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/editVehicle/${val.vehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.vehicleRegNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customerCompanyName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderDepotName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showDepotModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.depotName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.vehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n };\r\n\r\n const dataFormatter = (id, val) => {\r\n return (\r\n \r\n handleEditClick(val)} />\r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n let customerNameCol = tempCols.find((element) => element.key === 'customerCompanyName');\r\n let depotNameCol = tempCols.find((element) => element.key === 'depotName');\r\n let regNumberCol = tempCols.find((element) => element.key === 'vehicleRegNumber');\r\n if (regNumberCol) {\r\n regNumberCol.formatter = renderRegNumberEdit;\r\n }\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (customerNameCol) {\r\n customerNameCol.formatter = renderCustomerName;\r\n }\r\n if (depotNameCol) {\r\n depotNameCol.formatter = renderDepotName;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const crumbs = useMemo(() => {\r\n const tempCrums = [...baseCrumbs];\r\n let url = props.location.pathname;\r\n let urlIndex = url.lastIndexOf('/') + 1;\r\n if (url[urlIndex] === 'T') {\r\n tempCrums.push({ name: 'Tax Due' });\r\n }\r\n if (url[urlIndex] === 'I') {\r\n tempCrums.push({ name: 'Insurance' });\r\n }\r\n return tempCrums;\r\n }, [props.location.pathname]);\r\n\r\n const title = state.VehicleID ? 'Update Vehicle' : 'Add Vehicle';\r\n\r\n const handleChange = (e) => {\r\n const { name, checked } = e.target;\r\n\r\n setState((st) => ({\r\n ...st,\r\n [name]: checked\r\n }));\r\n };\r\n\r\n return (\r\n
\r\n {state.show ? (\r\n closeVehicleModal(true)} crumbClose={closeByBredCrumb} />\r\n ) : (\r\n <>\r\n
\r\n \r\n\r\n
\r\n Archived\r\n \r\n Active\r\n
\r\n
\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n onBtnClick={handleAdd}\r\n btnTitle={`${checkhaveAccess?.CanUpdateVehicles ? 'Add Vehicle' : ''}`}\r\n />\r\n \r\n )}\r\n {state.showEditPopup ? : null}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default VehicleScreen;\r\n","import { FormHelperText, Grid, InputLabel } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { InputText, SecondaryButton, MandatoryField } from \"../../../../Core/Controls\";\r\nimport \"../../../commonStyle.scss\";\r\n\r\nconst BookingStatusDialog = (props) => {\r\n const [state, setState] = useState({ id: null, value: \"\", isError: false });\r\n const { collectionAndDeliverID, collectionAndDeliverDescription } = props.data.selectedRowData;\r\n useEffect(() => {\r\n if (!props.data.isAdd) {\r\n setState((st) => ({\r\n ...st,\r\n id: collectionAndDeliverID,\r\n value: collectionAndDeliverDescription,\r\n }));\r\n }\r\n }, []);\r\n const validate = () => {\r\n if (/[^\\s]/.test(state.value)) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n const handleData = () => {\r\n if (validate()) {\r\n props.saveData(state);\r\n props.onClose();\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n isError: true,\r\n }));\r\n }\r\n };\r\n return (\r\n <>\r\n \r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n value: event.target.value,\r\n isError: false,\r\n }));\r\n }}\r\n errors={state.isError ? \"This field is required\" : null}\r\n />\r\n \r\n \r\n {props.data.isAdd ? \"ADD\" : \"UPDATE\"}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default BookingStatusDialog;\r\n","import { postWithAuth, getWithAuth,putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllCollectionNDelivery = async () => {\r\n let res = await getWithAuth(`CollectionAndDelivery`);\r\n return res;\r\n};\r\n\r\n\r\nexport const postCollectionNDelivery = async (data) => {\r\n let res = await postWithAuth(`CollectionAndDelivery`, data);\r\n return res;\r\n};\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { AddButton, EditButton, BreadCrumbs } from '../../../../Core/Controls';\r\nimport DialogBox from './collectionNDeliveryDialog';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport DialogComp from '../../../../Core//Dialog/DialogComp';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nimport { getAllCollectionNDelivery, postCollectionNDelivery } from '../../../../Core/Services/InternalUser/collectionNDeliveryService';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Jobs', active: true },\r\n { name: 'Collection And Deliveries', active: true }\r\n];\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'collectionAndDeliverDescription', name: 'Description' }\r\n];\r\nconst BookingDelayReason = () => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {}\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n pullApiData();\r\n }, []);\r\n\r\n const pullApiData = async () => {\r\n setState((state) => ({\r\n ...state,\r\n isReload: new Date()\r\n }));\r\n };\r\n const renderEdit = (ev, row) => {\r\n return (\r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Edit Collection And Delivery',\r\n selectedRowData: row,\r\n isAdd: false\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const saveData = async (outData) => {\r\n let response = await postCollectionNDelivery({\r\n collectionAndDeliverID: outData.id || null,\r\n collectionAndDeliverDescription: outData.value\r\n });\r\n if (response) {\r\n response.success\r\n ? showToastSuccess(state.isAdd ? 'Collection And Delivery added successfully' : 'Collection And Delivery updated successfully')\r\n : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n pullApiData();\r\n };\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Add Collection And Delivery',\r\n isAdd: true,\r\n selectedRowData: {}\r\n }));\r\n };\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false\r\n }));\r\n };\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Collection And Delivery\"\r\n onBtnClick={addBtnClicked}\r\n />\r\n {state.open ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default BookingDelayReason;\r\n","import { FormHelperText, Grid, InputLabel } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { InputText, SecondaryButton, SecondaryCheckbox, MandatoryField } from \"../../../../Core/Controls\";\r\nimport \"../../../commonStyle.scss\";\r\n\r\nconst EventDocumentsDialog = (props) => {\r\n const [state, setState] = useState({\r\n eventDocName: \"\",\r\n eventDocRequiredInDays: \"\",\r\n });\r\n const [errors, setErrors] = useState({});\r\n\r\n useEffect(() => {\r\n if (!props.data.isAdd) {\r\n let temp = props.data.selectedRowData;\r\n setState((st) => ({\r\n ...st,\r\n eventDocID: temp.eventDocID,\r\n eventDocName: temp.eventDocName,\r\n eventDocRequiredInDays: temp.eventDocRequiredInDays,\r\n eventDocChase: temp.eventDocChase,\r\n eventDocLegal: temp.eventDocLegal,\r\n }));\r\n }\r\n }, []);\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n\r\n if (!/[^\\s]/.test(state.eventDocName)) {\r\n err.eventDocName = true;\r\n noErrors = false;\r\n }\r\n let temp = state.eventDocRequiredInDays;\r\n if (!/[^\\s]/.test(temp)) {\r\n err.eventDocRequiredInDays = true;\r\n noErrors = false;\r\n } else if (+temp < 0) {\r\n err.eventDocRequiredInDaysN = true;\r\n noErrors = false;\r\n }\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n const handleData = () => {\r\n if (validate()) {\r\n props.saveData(state);\r\n props.onClose();\r\n }\r\n };\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.type === \"checkbox\" ? temp.checked : temp.value,\r\n }));\r\n setErrors({});\r\n };\r\n const checkPrevention = (event) => {\r\n if (/[^0-9]/.test(event.key)) {\r\n event.preventDefault();\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 \r\n {props.data.isAdd ? \"ADD\" : \"UPDATE\"}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default EventDocumentsDialog;\r\n","import { postWithAuth, getWithAuth,putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllEventDocs = async () => {\r\n let res = await getWithAuth(`Eventdocs`);\r\n return res;\r\n};\r\n\r\n\r\nexport const postEventDocs = async (data) => {\r\n let res = await postWithAuth(`Eventdocs`, data);\r\n return res;\r\n};\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { AddButton, EditButton, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport DialogBox from './eventDocumentsDialog';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport DialogComp from '../../../../Core//Dialog/DialogComp';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nimport { getAllEventDocs, postEventDocs } from '../../../../Core/Services/InternalUser/eventDocumentsService';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Events', active: true },\r\n { name: 'Event Documents', active: true }\r\n];\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'eventDocName', name: 'Name' },\r\n {\r\n key: 'eventDocRequiredInDays',\r\n name: 'Required In Days',\r\n headerRenderer: formatters.ColumnHeaderAlignRight,\r\n formatter: formatters.ColumnTextAlignRight,\r\n width: '15%'\r\n },\r\n {\r\n key: 'eventDocChase',\r\n name: 'Chase',\r\n formatter: formatters.YesNo,\r\n width: '9%'\r\n },\r\n {\r\n key: 'eventDocLegal',\r\n name: 'Legal',\r\n formatter: formatters.YesNo,\r\n width: '9%'\r\n }\r\n];\r\nconst EventDocuments = () => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {}\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const pullApiData = async () => {\r\n setState((state) => ({\r\n ...state,\r\n isReload: new Date()\r\n }));\r\n };\r\n const renderEdit = (ev, row) => {\r\n return (\r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Edit Event Document',\r\n selectedRowData: row,\r\n isAdd: false\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const saveData = async (outData) => {\r\n let response = await postEventDocs({\r\n eventDocID: outData.eventDocID || null,\r\n eventDocName: outData.eventDocName,\r\n eventDocRequiredInDays: parseInt(outData.eventDocRequiredInDays),\r\n eventDocChase: outData.eventDocChase || false,\r\n eventDocLegal: outData.eventDocLegal || false\r\n });\r\n if (response) {\r\n response.success\r\n ? showToastSuccess(state.isAdd ? 'Event documents added successfully' : 'Event documents updated successfully')\r\n : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n pullApiData();\r\n };\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n title: 'Add Event Document',\r\n isAdd: true,\r\n selectedRowData: {}\r\n }));\r\n };\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false\r\n }));\r\n };\r\n\r\n const urlState = 'Eventdocs';\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Event Document\"\r\n onBtnClick={() => addBtnClicked(null)}\r\n />\r\n {state.open ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default EventDocuments;\r\n","import { postWithAuth, getWithAuth } from \"../../Basic/HttpService\";\r\n\r\nexport const getAllVehicleTypes = async () => {\r\n let res = await getWithAuth(`vehicletypes`);\r\n return res;\r\n};\r\n\r\nexport const getVehicleTypesById = async (id) => {\r\n let res = await getWithAuth(`vehicletypes/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postVehicleTypesData = async (data) => {\r\n let res = await postWithAuth(`vehicletypes`, data);\r\n return res;\r\n};\r\n\r\nexport const getVehicleTypesDropDown = async () => {\r\n let res = await getWithAuth(`vehicletypes/Dropdowns`);\r\n return res;\r\n};\r\n","import { postWithAuth, getWithAuth } from \"../../Basic/HttpService\";\r\n\r\nexport const getAllVehicleCategories = async () => {\r\n let res = await getWithAuth(`VehicleCategories`);\r\n return res;\r\n};\r\n\r\nexport const getVehicleCategoriesById = async (id) => {\r\n let res = await getWithAuth(`VehicleCategories/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postVehicleCategoriesData = async (data) => {\r\n let res = await postWithAuth(`VehicleCategories`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText } from '@material-ui/core';\r\nimport { SecondaryButton, MandatoryField } from '../../../../Core/Controls';\r\nimport { getVehicleTypesById, postVehicleTypesData } from '../../../../Core/Services/InternalUser/vehicleTypeService';\r\nimport { SecondaryCheckbox, SelectBox } from '../../../../Core/Controls';\r\nimport { getAllVehicleCategories } from '../../../../Core/Services/InternalUser/vehicleCategoryService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../.././commonStyle.scss';\r\n\r\nfunction VehicleTypeModal(props) {\r\n const [state, setState] = useState({\r\n vehicleTypeID: null,\r\n vehicleTypeDescription: '',\r\n vehicleTypeCategoryID: '',\r\n vehicleTypeList: [],\r\n vehicleTypeActive: true,\r\n VehicleTypeRFLApplicable: true,\r\n VehicleTypeInsuranceApplicable: true,\r\n VehicleTypeMOTApplicable: true,\r\n VehicleTypeFuelCardApplicable: true,\r\n vehicleTypeMileageApplicable:false,\r\n errors: {}\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.vehicleTypeID) {\r\n let res = await getVehicleTypesById(props.vehicleTypeID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n vehicleTypeID: res.data.vehicleTypeID,\r\n vehicleTypeDescription: res.data.vehicleTypeDescription,\r\n vehicleTypeCategoryID: res.data.vehicleTypeCategoryID,\r\n vehicleTypeActive: res.data.vehicleTypeActive,\r\n VehicleTypeRFLApplicable: res.data.vehicleTypeRFLApplicable,\r\n VehicleTypeInsuranceApplicable: res.data.vehicleTypeInsuranceApplicable,\r\n VehicleTypeMOTApplicable: res.data.vehicleTypeMOTApplicable,\r\n VehicleTypeFuelCardApplicable: res.data.vehicleTypeFuelCardApplicable,\r\n vehicleTypeMileageApplicable:res.data.vehicleTypeMileageApplicable\r\n }));\r\n }\r\n }\r\n let vehicleCategory = await getAllVehicleCategories();\r\n if (vehicleCategory.success) {\r\n const vehiclename = vehicleCategory.data?.list?.map((item) => ({\r\n id: item.vehicleCategoryID,\r\n name: item.vehicleCategoryDescription\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n vehicleTypeList: vehiclename\r\n }));\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { vehicleTypeDescription, vehicleTypeCategoryID } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(vehicleTypeDescription)) {\r\n errors.vehicleTypeDescription = 'Vehicle Type Description is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(vehicleTypeCategoryID)) {\r\n errors.vehicleTypeCategoryID = 'Vehicle Category is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const vehicleData = {\r\n vehicleTypeID: state.vehicleTypeID,\r\n vehicleTypeDescription: state.vehicleTypeDescription,\r\n vehicleTypeCategoryID: state.vehicleTypeCategoryID,\r\n vehicleTypeActive: state.vehicleTypeActive,\r\n VehicleTypeRFLApplicable: state.VehicleTypeRFLApplicable,\r\n VehicleTypeInsuranceApplicable: state.VehicleTypeInsuranceApplicable,\r\n VehicleTypeMOTApplicable: state.VehicleTypeMOTApplicable,\r\n VehicleTypeFuelCardApplicable: state.VehicleTypeFuelCardApplicable,\r\n vehicleTypeMileageApplicable:state.vehicleTypeMileageApplicable\r\n };\r\n let res = await postVehicleTypesData(vehicleData);\r\n if (res.success) {\r\n showToastSuccess('VehicleType Updated sucessfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 Vehicle Category\r\n \r\n \r\n {state.errors.vehicleTypeCategoryID}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.vehicleTypeID ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default VehicleTypeModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllVehicleTypes } from '../../../../Core/Services/InternalUser/vehicleTypeService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport { formatters } from '../../../../Core/Controls';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport VehicleTypeModal from './VehicleTypeModal';\r\nimport { BreadCrumbs, AddButton, EditButton } from '../../../../Core/Controls';\r\nimport '../../.././commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Vehicle Types', active: true }\r\n];\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'vehicleTypeDescription', name: 'Vehicle Type' },\r\n { key: 'vehicleCategoryDescription', name: 'Category', width: '9%' },\r\n { key: 'vehicleTypeActive', name: 'Is Active ?', formatter: formatters.YesNo, width: '8%' },\r\n { key: 'vehicleTypeRFLApplicable', name: 'RFL Applicable?', formatter: formatters.YesNo, width: '12%' },\r\n { key: 'vehicleTypeInsuranceApplicable', name: 'Insurance Applicable?', formatter: formatters.YesNo },\r\n { key: 'vehicleTypeMOTApplicable', name: 'MOT Applicable?', formatter: formatters.YesNo, width: '13%' },\r\n { key: 'vehicleTypeMileageApplicable', name: 'Mileage Applicable?', formatter: formatters.YesNo, width: '13%' },\r\n { key: 'vehicleTypeFuelCardApplicable', name: 'Fuel Card Applicable?', formatter: formatters.YesNo }\r\n];\r\n\r\nfunction VehicleType(props) {\r\n const [state, setState] = useState({\r\n vehicleTypeList: [],\r\n loader: true,\r\n open: false\r\n });\r\n\r\n useEffect(async () => {\r\n pullVehicleType();\r\n }, []);\r\n\r\n const pullVehicleType = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleVehicleType = (params) => {\r\n setState((state) => ({ ...state, open: true, vehicleTypeID: params }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n handleVehicleType(row.vehicleTypeID)} toolTipTitle=\"Edit Vehicle Type\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.vehicleTypeID ? 'Update Vehicle Types' : 'Add Vehicle Types';\r\n\r\n const closeVehicleModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullVehicleType();\r\n };\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={'vehicletypes'}\r\n btnTitle=\"Add Vehicle Type\"\r\n onBtnClick={() => handleVehicleType(null)}\r\n isReload={state.isReload}\r\n />\r\n {state.open ? (\r\n closeVehicleModal(false)} maxWidth=\"md\">\r\n closeVehicleModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\n\r\nexport default VehicleType;\r\n","import { createContext, useEffect, useState, useCallback } from 'react';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport {\r\n getServiceAgentById,\r\n postServiceAgentData,\r\n getServiceAgentFacilities,\r\n getServiceAgentsDropDown\r\n} from '../../../Core/Services/InternalUser/ServiceAgent/serviceAgentService';\r\nimport moment from 'moment';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { emailValidation } from '../../../Core/Basic/StaticService';\r\nimport { isNull } from 'lodash';\r\nimport { formatters } from '../../../Core/Controls';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\n\r\nexport const ServiceAgentScreenContext = createContext();\r\n\r\nexport const ServiceAgentProvider = (props) => {\r\n let history = useHistory();\r\n const { userRoles } = useLoginInfo();\r\n const isAdmin = userRoles.includes('admin');\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n const { showToastSuccess, showToastError } = useToast();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n errors: {},\r\n serviceAgentID: '',\r\n serviceAgentName: '',\r\n serviceAgentAddress1: '',\r\n serviceAgentAddress2: '',\r\n serviceAgentCounty: '',\r\n serviceAgentCity: '',\r\n serviceAgentPostCode: '',\r\n serviceAgentPhone: '',\r\n serviceAgentFax: '',\r\n serviceAgentEmail: '',\r\n serviceAgentWebSite: '',\r\n serviceAgentStartDate: '',\r\n serviceAgentMaintenanceContractRef: '',\r\n serviceAgentAccountCentreID: '',\r\n serviceAgentOrderEmail: '',\r\n serviceAgentCurrencyID: '',\r\n serviceAgentLabourRate: '',\r\n serviceAgentOutOfHoursLabourRate: '',\r\n serviceAgentOrderConfirmationName: '',\r\n serviceAgentOrderConfirmationPhone: '',\r\n serviceAgentSendOrderConfirmation: false,\r\n serviceAgentOrderConfirmationEmail: '',\r\n serviceAgentBookingName: '',\r\n serviceAgentBookingPhone: '',\r\n serviceAgentSendBookingEmail: false,\r\n serviceAgentBookingEmail: '',\r\n serviceAgentSendJobUpdateEmail: false,\r\n serviceAgentJobUpdateEmail: '',\r\n serviceAgentSendQueryResponseReceived: false,\r\n serviceAgentQueryResponseReceivedEmail: '',\r\n serviceAgentSendJobApprovalReceived: false,\r\n serviceAgentobApprovalReceivedEmail: '',\r\n serviceAgentNominalCode: '',\r\n serviceAgentServiceManagerName: '',\r\n serviceAgentServiceManagerPhone: '',\r\n serviceAgentServiceManagerEmail: '',\r\n handlingDefects: false,\r\n serviceAgentActive: true,\r\n hasInspectionSheetControl: false,\r\n serviceAgentOpenMonday: true,\r\n serviceAgentMondayOpeningTime: '',\r\n serviceAgentMondayClosingTime: '',\r\n serviceAgentOpenTuesday: true,\r\n serviceAgentTuesdayOpeningTime: '',\r\n serviceAgentTuesdayClosingTime: '',\r\n serviceAgentOpenWednesday: true,\r\n serviceAgentWednesdayOpeningTime: '',\r\n serviceAgentWednesdayClosingTime: '',\r\n serviceAgentOpenThursday: true,\r\n serviceAgentThursdayOpeningTime: '',\r\n serviceAgentThursdayClosingTime: '',\r\n serviceAgentOpenFriday: true,\r\n serviceAgentFridayOpeningTime: '',\r\n serviceAgentFridayClosingTime: '',\r\n serviceAgentOpenSaturday: true,\r\n serviceAgentSaturdayOpeningTime: '',\r\n serviceAgentSaturdayClosingTime: '',\r\n serviceAgentOpenSunday: true,\r\n serviceAgentSundayOpeningTime: '',\r\n serviceAgentSundayClosingTime: '',\r\n serviceAgentOpenBankHoliday: true,\r\n serviceAgentBankHolidayOpeningTime: '',\r\n serviceAgentBankHolidayClosingTime: '',\r\n serviceAgentFacilitieslist: [],\r\n serviceAgentFacilities: [],\r\n serviceAgentFacilitiId: [],\r\n isDisable: false,\r\n serviceAgentCurrencyIDList: [],\r\n serviceAgentCurrencyIDValue: null,\r\n serviceAgentPaymentDays: null,\r\n serviceAgentPaymentDaysValue: null,\r\n serviceAgentPaymentDaysList: [\r\n { name: '30 Days', id: 30 },\r\n { name: '45 Days', id: 45 },\r\n { name: '60 Days', id: 60 },\r\n { name: '90 Days', id: 90 }\r\n ]\r\n });\r\n\r\n const [selectedData, setSelectedData] = useState({\r\n modules: []\r\n });\r\n\r\n function pad(d) {\r\n return d < 10 ? '0' + d.toFixed(2).replace('.', ':') : d.toFixed(2).replace('.', ':');\r\n }\r\n\r\n function padValue(val) {\r\n if (val) {\r\n return pad(val);\r\n }\r\n return '';\r\n }\r\n\r\n useEffect(async () => {\r\n if (props.serviceAgentID) {\r\n let res = await getServiceAgentById(props.serviceAgentID);\r\n const data = res.data.details[0];\r\n const facilitiesData = res.data;\r\n setState((st) => ({\r\n ...st,\r\n serviceAgentID: data.serviceAgentID,\r\n serviceAgentName: data.serviceAgentName,\r\n serviceAgentAddress1: data.serviceAgentAddress1,\r\n serviceAgentAddress2: data.serviceAgentAddress2,\r\n serviceAgentCounty: data.serviceAgentCounty,\r\n serviceAgentCity: data.serviceAgentCity,\r\n serviceAgentPostCode: data.serviceAgentPostCode,\r\n serviceAgentPhone: data.serviceAgentPhone,\r\n serviceAgentFax: data.serviceAgentFax,\r\n serviceAgentEmail: data.serviceAgentEmail,\r\n serviceAgentWebSite: data.serviceAgentWebSite,\r\n serviceAgentStartDate: formatters.DateFormatter(data.serviceAgentStartDate),\r\n serviceAgentMaintenanceContractRef: data.serviceAgentMaintenanceContractRef,\r\n serviceAgentAccountCentreID: data.serviceAgentAccountCentreID,\r\n serviceAgentOrderEmail: data.serviceAgentOrderEmail,\r\n serviceAgentCurrencyID: data.serviceAgentCurrencyID,\r\n serviceAgentLabourRate: data.serviceAgentLabourRate,\r\n serviceAgentOutOfHoursLabourRate: data.serviceAgentOutOfHoursLabourRate,\r\n serviceAgentOrderConfirmationName: data.serviceAgentOrderConfirmationName,\r\n serviceAgentOrderConfirmationPhone: data.serviceAgentOrderConfirmationPhone,\r\n serviceAgentSendOrderConfirmation: data.serviceAgentSendOrderConfirmation,\r\n serviceAgentOrderConfirmationEmail: data.serviceAgentOrderConfirmationEmail,\r\n serviceAgentBookingName: data.serviceAgentBookingName,\r\n serviceAgentBookingPhone: data.serviceAgentBookingPhone,\r\n serviceAgentSendBookingEmail: data.serviceAgentSendBookingEmail,\r\n serviceAgentBookingEmail: data.serviceAgentBookingEmail,\r\n serviceAgentSendJobUpdateEmail: data.serviceAgentSendJobUpdateEmail,\r\n serviceAgentJobUpdateEmail: data.serviceAgentJobUpdateEmail,\r\n serviceAgentSendQueryResponseReceived: data.serviceAgentSendQueryResponseReceived,\r\n serviceAgentQueryResponseReceivedEmail: data.serviceAgentQueryResponseReceivedEmail,\r\n serviceAgentSendJobApprovalReceived: data.serviceAgentSendJobApprovalReceived,\r\n serviceAgentobApprovalReceivedEmail: data.serviceAgentobApprovalReceivedEmail,\r\n serviceAgentNominalCode: data.serviceAgentNominalCode,\r\n serviceAgentServiceManagerName: data.serviceAgentServiceManagerName,\r\n serviceAgentServiceManagerPhone: data.serviceAgentServiceManagerPhone,\r\n serviceAgentServiceManagerEmail: data.serviceAgentServiceManagerEmail,\r\n handlingDefects: data.handlingDefects,\r\n serviceAgentActive: data.serviceAgentActive,\r\n hasInspectionSheetControl: data.hasInspectionSheetControl,\r\n serviceAgentRating: data.serviceAgentRating,\r\n serviceAgentFacilitiId: facilitiesData.serviceAgentFacilities,\r\n\r\n serviceAgentOpenMonday: data.serviceAgentOpenMonday,\r\n serviceAgentMondayOpeningTime: padValue(data.serviceAgentMondayOpeningTime),\r\n serviceAgentMondayClosingTime: padValue(data.serviceAgentMondayClosingTime),\r\n serviceAgentOpenTuesday: data.serviceAgentOpenTuesday,\r\n serviceAgentTuesdayOpeningTime: padValue(data.serviceAgentTuesdayOpeningTime),\r\n serviceAgentTuesdayClosingTime: padValue(data.serviceAgentTuesdayClosingTime),\r\n serviceAgentOpenWednesday: data.serviceAgentOpenWednesday,\r\n serviceAgentWednesdayOpeningTime: padValue(data.serviceAgentWednesdayOpeningTime),\r\n serviceAgentWednesdayClosingTime: padValue(data.serviceAgentWednesdayClosingTime),\r\n serviceAgentOpenThursday: data.serviceAgentOpenThursday,\r\n serviceAgentThursdayOpeningTime: padValue(data.serviceAgentThursdayOpeningTime),\r\n serviceAgentThursdayClosingTime: padValue(data.serviceAgentThursdayClosingTime),\r\n serviceAgentOpenFriday: data.serviceAgentOpenFriday,\r\n serviceAgentFridayOpeningTime: padValue(data.serviceAgentFridayOpeningTime),\r\n serviceAgentFridayClosingTime: padValue(data.serviceAgentFridayClosingTime),\r\n serviceAgentOpenSaturday: data.serviceAgentOpenSaturday,\r\n serviceAgentSaturdayOpeningTime: padValue(data.serviceAgentSaturdayOpeningTime),\r\n serviceAgentSaturdayClosingTime: padValue(data.serviceAgentSaturdayClosingTime),\r\n serviceAgentOpenSunday: data.serviceAgentOpenSunday,\r\n serviceAgentSundayOpeningTime: padValue(data.serviceAgentSundayOpeningTime),\r\n serviceAgentSundayClosingTime: padValue(data.serviceAgentSundayClosingTime),\r\n serviceAgentOpenBankHoliday: data.serviceAgentOpenBankHoliday,\r\n serviceAgentBankHolidayOpeningTime: padValue(data.serviceAgentBankHolidayOpeningTime),\r\n serviceAgentBankHolidayClosingTime: padValue(data.serviceAgentBankHolidayClosingTime),\r\n serviceAgentPaymentDays: data.serviceAgentPaymentDays,\r\n serviceAgentAccountCode: data.serviceAgentAccountCode,\r\n\r\n //\r\n isDisable: !checkhaveAccess?.CanUpdateServiceAgents\r\n }));\r\n }\r\n\r\n let dropDownlist = await getServiceAgentsDropDown();\r\n setState((st) => ({\r\n ...st,\r\n serviceAgentFacilitieslist: dropDownlist.data.serviceAgentFacilities,\r\n serviceAgentCurrencyIDList: dropDownlist.data.currencies\r\n }));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.serviceAgentFacilitiId) {\r\n const selectedServiceAgent = state.serviceAgentFacilitieslist.filter((w) => state.serviceAgentFacilitiId.indexOf(w.id) > -1);\r\n setSelectedData((st) => ({\r\n ...st,\r\n modules: selectedServiceAgent\r\n }));\r\n }\r\n }, [state.serviceAgentFacilitiId, state.serviceAgentFacilitieslist]);\r\n\r\n useEffect(() => {\r\n let serviceAgentCurrencyIDValue = null;\r\n let serviceAgentPaymentDaysValue = null;\r\n if (state.serviceAgentPaymentDays) {\r\n serviceAgentPaymentDaysValue = state.serviceAgentPaymentDaysList.find(({ id }) => id === state.serviceAgentPaymentDays);\r\n }\r\n if (state.serviceAgentCurrencyID && state.serviceAgentCurrencyIDList.length > 0) {\r\n serviceAgentCurrencyIDValue = state.serviceAgentCurrencyIDList.find(({ id }) => id === state.serviceAgentCurrencyID);\r\n } else {\r\n serviceAgentCurrencyIDValue = state.serviceAgentCurrencyIDList[0];\r\n }\r\n setState((st) => ({\r\n ...st,\r\n serviceAgentCurrencyIDValue: serviceAgentCurrencyIDValue,\r\n serviceAgentPaymentDaysValue: serviceAgentPaymentDaysValue\r\n }));\r\n }, [state.serviceAgentCurrencyID, state.serviceAgentCurrencyIDList]);\r\n\r\n const checkNull = (param) => {\r\n if (/[^\\s]/.test(param)) {\r\n return param;\r\n } else {\r\n return null;\r\n }\r\n };\r\n const resetInput = (name) => {\r\n setState((st) => ({ ...st, [name]: '' }));\r\n };\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: true }));\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setState((st) => ({ ...st, [name]: value }));\r\n }\r\n }, []);\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const setAllTime = (isOpenClose) => {\r\n if (isOpenClose === 'open') {\r\n setState((st) => ({\r\n ...st,\r\n serviceAgentTuesdayOpeningTime: state.serviceAgentMondayOpeningTime,\r\n serviceAgentWednesdayOpeningTime: state.serviceAgentMondayOpeningTime,\r\n serviceAgentThursdayOpeningTime: state.serviceAgentMondayOpeningTime,\r\n serviceAgentFridayOpeningTime: state.serviceAgentMondayOpeningTime,\r\n serviceAgentSaturdayOpeningTime: state.serviceAgentMondayOpeningTime,\r\n serviceAgentSundayOpeningTime: state.serviceAgentMondayOpeningTime,\r\n serviceAgentBankHolidayOpeningTime: state.serviceAgentMondayOpeningTime\r\n }));\r\n }\r\n if (isOpenClose === 'close') {\r\n setState((st) => ({\r\n ...st,\r\n serviceAgentTuesdayClosingTime: state.serviceAgentMondayClosingTime,\r\n serviceAgentWednesdayClosingTime: state.serviceAgentMondayClosingTime,\r\n serviceAgentThursdayClosingTime: state.serviceAgentMondayClosingTime,\r\n serviceAgentFridayClosingTime: state.serviceAgentMondayClosingTime,\r\n serviceAgentSaturdayClosingTime: state.serviceAgentMondayClosingTime,\r\n serviceAgentSundayClosingTime: state.serviceAgentMondayClosingTime,\r\n serviceAgentBankHolidayClosingTime: state.serviceAgentMondayClosingTime\r\n }));\r\n }\r\n };\r\n\r\n const ModuleChange = (e, value) => {\r\n setSelectedData((st) => ({ ...st, modules: value }));\r\n setState((st) => {\r\n const nst = { ...st, serviceAgentFacilitiId: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n\r\n const selectHandler = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => ({ ...state, [name]: checked }));\r\n };\r\n\r\n const setVal = (s) => {\r\n setState((st) => ({\r\n ...st,\r\n serviceAgentAddress1: s.addressLine1,\r\n serviceAgentAddress2: s.addressLine2,\r\n serviceAgentCity: s.town,\r\n serviceAgentCounty: s.county,\r\n serviceAgentPostCode: s.postCode\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n const {\r\n serviceAgentAddress1,\r\n serviceAgentCity,\r\n serviceAgentPostCode,\r\n serviceAgentCurrencyIDValue,\r\n serviceAgentEmail,\r\n serviceAgentName,\r\n serviceAgentSendJobApprovalReceived,\r\n serviceAgentobApprovalReceivedEmail,\r\n serviceAgentSendQueryResponseReceived,\r\n serviceAgentQueryResponseReceivedEmail,\r\n serviceAgentSendOrderConfirmation,\r\n serviceAgentOrderConfirmationEmail,\r\n serviceAgentSendBookingEmail,\r\n serviceAgentBookingEmail,\r\n serviceAgentSendJobUpdateEmail,\r\n serviceAgentJobUpdateEmail,\r\n serviceAgentServiceManagerEmail\r\n } = state;\r\n const re =\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 let formIsValid = true;\r\n let errors = {};\r\n if (!emailValidation(serviceAgentEmail)) {\r\n errors.serviceAgentEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n } else if (!re.test(serviceAgentEmail)) {\r\n errors.serviceAgentEmail = \"Emai must be contain '@'\";\r\n formIsValid = false;\r\n }\r\n if (!serviceAgentAddress1) {\r\n errors.serviceAgentAddress1 = 'Address1 is required';\r\n formIsValid = false;\r\n }\r\n if (!serviceAgentCity) {\r\n errors.serviceAgentCity = 'City is required';\r\n formIsValid = false;\r\n }\r\n if (!serviceAgentPostCode) {\r\n errors.serviceAgentPostCode = 'Post Code is required';\r\n formIsValid = false;\r\n }\r\n if (!serviceAgentCurrencyIDValue) {\r\n errors.serviceAgentCurrencyIDValue = 'Currency is required';\r\n formIsValid = false;\r\n }\r\n if (!serviceAgentName) {\r\n errors.serviceAgentName = 'Name is required';\r\n formIsValid = false;\r\n }\r\n if (!emailValidation(serviceAgentServiceManagerEmail) && /[^\\s]/.test(serviceAgentServiceManagerEmail) && !isNull(serviceAgentServiceManagerEmail)) {\r\n errors.serviceAgentServiceManagerEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n\r\n if (serviceAgentSendJobApprovalReceived && !emailValidation(serviceAgentobApprovalReceivedEmail) && !isNull(serviceAgentobApprovalReceivedEmail)) {\r\n errors.serviceAgentobApprovalReceivedEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n if (serviceAgentSendOrderConfirmation && !emailValidation(serviceAgentOrderConfirmationEmail) && !isNull(serviceAgentOrderConfirmationEmail)) {\r\n errors.serviceAgentOrderConfirmationEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n\r\n if (serviceAgentSendBookingEmail && !emailValidation(serviceAgentBookingEmail) && !isNull(serviceAgentBookingEmail)) {\r\n errors.serviceAgentBookingEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n if (serviceAgentSendJobUpdateEmail && !emailValidation(serviceAgentJobUpdateEmail) && !isNull(serviceAgentJobUpdateEmail)) {\r\n errors.serviceAgentJobUpdateEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n if (\r\n serviceAgentSendQueryResponseReceived &&\r\n !emailValidation(serviceAgentQueryResponseReceivedEmail) &&\r\n !isNull(serviceAgentQueryResponseReceivedEmail)\r\n ) {\r\n errors.serviceAgentQueryResponseReceivedEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const formData = {\r\n serviceAgentID: state.serviceAgentID,\r\n serviceAgentName: state.serviceAgentName,\r\n serviceAgentAddress1: state.serviceAgentAddress1,\r\n serviceAgentAddress2: state.serviceAgentAddress2,\r\n serviceAgentCounty: state.serviceAgentCounty, //state change kar\r\n serviceAgentCity: state.serviceAgentCity,\r\n serviceAgentPostCode: state.serviceAgentPostCode,\r\n serviceAgentPhone: state.serviceAgentPhone,\r\n serviceAgentFax: state.serviceAgentFax,\r\n serviceAgentEmail: state.serviceAgentEmail,\r\n serviceAgentWebSite: state.serviceAgentWebSite,\r\n serviceAgentStartDate: state.serviceAgentStartDate,\r\n serviceAgentMaintenanceContractRef: state.serviceAgentMaintenanceContractRef,\r\n serviceAgentAccountCentreID: state.serviceAgentAccountCentreID,\r\n serviceAgentOrderEmail: state.serviceAgentOrderEmail,\r\n serviceAgentCurrencyID: state.serviceAgentCurrencyIDValue?.id,\r\n serviceAgentLabourRate: state.serviceAgentLabourRate,\r\n serviceAgentOutOfHoursLabourRate: state.serviceAgentOutOfHoursLabourRate,\r\n serviceAgentOrderConfirmationName: state.serviceAgentOrderConfirmationName,\r\n serviceAgentOrderConfirmationPhone: state.serviceAgentOrderConfirmationPhone,\r\n serviceAgentSendOrderConfirmation: state.serviceAgentSendOrderConfirmation,\r\n serviceAgentOrderConfirmationEmail: state.serviceAgentOrderConfirmationEmail,\r\n serviceAgentBookingName: state.serviceAgentBookingName,\r\n serviceAgentBookingPhone: state.serviceAgentBookingPhone,\r\n serviceAgentSendBookingEmail: state.serviceAgentSendBookingEmail,\r\n serviceAgentBookingEmail: state.serviceAgentBookingEmail,\r\n serviceAgentSendJobUpdateEmail: state.serviceAgentSendJobUpdateEmail,\r\n serviceAgentJobUpdateEmail: state.serviceAgentJobUpdateEmail,\r\n serviceAgentSendQueryResponseReceived: state.serviceAgentSendQueryResponseReceived,\r\n serviceAgentQueryResponseReceivedEmail: state.serviceAgentQueryResponseReceivedEmail,\r\n serviceAgentSendJobApprovalReceived: state.serviceAgentSendJobApprovalReceived,\r\n serviceAgentobApprovalReceivedEmail: state.serviceAgentobApprovalReceivedEmail,\r\n serviceAgentNominalCode: state.serviceAgentNominalCode,\r\n serviceAgentServiceManagerName: state.serviceAgentServiceManagerName,\r\n serviceAgentServiceManagerPhone: state.serviceAgentServiceManagerPhone,\r\n serviceAgentServiceManagerEmail: state.serviceAgentServiceManagerEmail,\r\n handlingDefects: state.handlingDefects,\r\n serviceAgentActive: state.serviceAgentActive,\r\n hasInspectionSheetControl: state.hasInspectionSheetControl,\r\n serviceAgentPaymentDays: state.serviceAgentPaymentDaysValue?.id,\r\n serviceAgentAccountCode: state.serviceAgentAccountCode,\r\n serviceAgentFacilities: state.serviceAgentFacilitiId,\r\n\r\n serviceAgentOpenMonday: state.serviceAgentOpenMonday,\r\n serviceAgentMondayOpeningTime: state.serviceAgentMondayOpeningTime ? state.serviceAgentMondayOpeningTime.replace(':', '.') : '',\r\n serviceAgentMondayClosingTime: state.serviceAgentMondayClosingTime ? state.serviceAgentMondayClosingTime.replace(':', '.') : '',\r\n serviceAgentOpenTuesday: state.serviceAgentOpenTuesday,\r\n serviceAgentTuesdayOpeningTime: state.serviceAgentTuesdayOpeningTime ? state.serviceAgentTuesdayOpeningTime.replace(':', '.') : '',\r\n serviceAgentTuesdayClosingTime: state.serviceAgentTuesdayClosingTime ? state.serviceAgentTuesdayClosingTime.replace(':', '.') : '',\r\n serviceAgentOpenWednesday: state.serviceAgentOpenWednesday,\r\n serviceAgentWednesdayOpeningTime: state.serviceAgentWednesdayOpeningTime ? state.serviceAgentWednesdayOpeningTime.replace(':', '.') : '',\r\n serviceAgentWednesdayClosingTime: state.serviceAgentWednesdayClosingTime ? state.serviceAgentWednesdayClosingTime.replace(':', '.') : '',\r\n serviceAgentOpenThursday: state.serviceAgentOpenThursday,\r\n serviceAgentThursdayOpeningTime: state.serviceAgentThursdayOpeningTime ? state.serviceAgentThursdayOpeningTime.replace(':', '.') : '',\r\n serviceAgentThursdayClosingTime: state.serviceAgentThursdayClosingTime ? state.serviceAgentThursdayClosingTime.replace(':', '.') : '',\r\n serviceAgentOpenFriday: state.serviceAgentOpenFriday,\r\n serviceAgentFridayOpeningTime: state.serviceAgentFridayOpeningTime ? state.serviceAgentFridayOpeningTime.replace(':', '.') : '',\r\n serviceAgentFridayClosingTime: state.serviceAgentFridayClosingTime ? state.serviceAgentFridayClosingTime.replace(':', '.') : '',\r\n serviceAgentOpenSaturday: state.serviceAgentOpenSaturday,\r\n serviceAgentSaturdayOpeningTime: state.serviceAgentSaturdayOpeningTime ? state.serviceAgentSaturdayOpeningTime.replace(':', '.') : '',\r\n serviceAgentSaturdayClosingTime: state.serviceAgentSaturdayClosingTime ? state.serviceAgentSaturdayClosingTime.replace(':', '.') : '',\r\n serviceAgentOpenSunday: state.serviceAgentOpenSunday,\r\n serviceAgentSundayOpeningTime: state.serviceAgentSundayOpeningTime ? state.serviceAgentSundayOpeningTime.replace(':', '.') : '',\r\n serviceAgentSundayClosingTime: state.serviceAgentSundayClosingTime ? state.serviceAgentSundayClosingTime.replace(':', '.') : '',\r\n serviceAgentOpenBankHoliday: state.serviceAgentOpenBankHoliday,\r\n serviceAgentBankHolidayOpeningTime: state.serviceAgentBankHolidayOpeningTime ? state.serviceAgentBankHolidayOpeningTime.replace(':', '.') : '',\r\n serviceAgentBankHolidayClosingTime: state.serviceAgentBankHolidayClosingTime ? state.serviceAgentBankHolidayClosingTime.replace(':', '.') : ''\r\n };\r\n setBtnLoader(true);\r\n let res = await postServiceAgentData(formData);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onFormSubmit(true);\r\n history.push(`/serviceagent`);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useContext, useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Box from '@material-ui/core/Box';\r\nimport { FormHelperText, InputLabel, FormControlLabel, Typography } from '@material-ui/core';\r\nimport {\r\n SecondaryButton,\r\n SecondaryCheckbox,\r\n Multiselect,\r\n MandatoryField,\r\n SimpleField,\r\n YesButton,\r\n NoButton,\r\n DatePicker,\r\n DateTimePicker,\r\n TimePicker,\r\n SelectBox,\r\n Postcode,\r\n SingleSelect\r\n} from '../../../Core/Controls';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport ArrowDownwardIcon from '@material-ui/icons/ArrowDownward';\r\nimport AlarmIcon from '@material-ui/icons/Alarm';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\n\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport { ServiceAgentProvider as StateProvider, ServiceAgentScreenContext } from './ServiceAgentProvider';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\n\r\nconst YesNoRadio = (props) => {\r\n return (\r\n \r\n \r\n {props.label}\r\n \r\n \r\n \r\n } label=\"Yes\" disabled={props.disabled} />\r\n } label=\"No\" disabled={props.disabled} />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst FlaggedBox = (props) => {\r\n useEffect(() => {\r\n !props.chkValue && props.resetInput(props.txtName);\r\n }, [props.chkValue]);\r\n return (\r\n <>\r\n {props.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\nconst AddEditServiceAgent = (props) => {\r\n const { state, submitHandler, inputChange, setAllTime, selectHandler, ModuleChange, selectedData, resetInput, setVal, singleSelectChange, btnLoader } =\r\n useContext(ServiceAgentScreenContext);\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.serviceAgentAccountCode}\r\n \r\n\r\n \r\n {/* \r\n {state.errors.serviceAgentPostCode} */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.serviceAgentAddress2}\r\n \r\n \r\n \r\n {state.errors.serviceAgentCounty}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.serviceAgentPhone}\r\n \r\n \r\n \r\n {state.errors.serviceAgentFax}\r\n \r\n \r\n \r\n {state.errors.serviceAgentWebSite}\r\n \r\n \r\n \r\n Service Agent Start Date\r\n \r\n \r\n\r\n {state.errors.serviceAgentStartDate}\r\n \r\n \r\n \r\n {state.errors.serviceAgentNominalCode}\r\n \r\n \r\n \r\n \r\n \r\n Settings\r\n \r\n
\r\n \r\n \r\n \r\n {state.errors.serviceAgentLabourRate}\r\n \r\n \r\n \r\n {state.errors.serviceAgentOutOfHoursLabourRate}\r\n \r\n \r\n \r\n \r\n {state.errors.serviceAgentMaintenanceContractRef}\r\n \r\n \r\n \r\n Currency\r\n \r\n \r\n {state.errors.serviceAgentCurrencyIDValue ? 'This field is required' : null}\r\n \r\n \r\n \r\n {state.errors.serviceAgentServiceManagerName}\r\n \r\n \r\n \r\n {state.errors.serviceAgentServiceManagerPhone}\r\n \r\n \r\n \r\n {state.errors.serviceAgentServiceManagerEmail}\r\n \r\n {/* \r\n \r\n {state.errors.serviceAgentOrderEmail}\r\n */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n {/* */}\r\n \r\n \r\n Payment Terms\r\n \r\n \r\n \r\n \r\n \r\n Service Agent Facilities\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n Notifications\r\n \r\n
\r\n \r\n \r\n \r\n {state.errors.serviceAgentOrderConfirmationName}\r\n \r\n \r\n \r\n {state.errors.serviceAgentOrderConfirmationPhone}\r\n \r\n \r\n \r\n {state.errors.serviceAgentOrderConfirmationEmail}\r\n \r\n \r\n \r\n {state.errors.serviceAgentBookingName}\r\n \r\n \r\n \r\n {state.errors.serviceAgentBookingPhone}\r\n \r\n \r\n \r\n {state.errors.serviceAgentBookingEmail}\r\n \r\n \r\n \r\n {state.errors.serviceAgentobApprovalReceivedEmail}\r\n \r\n \r\n \r\n {state.errors.serviceAgentJobUpdateEmail}\r\n \r\n \r\n \r\n {state.errors.serviceAgentQueryResponseReceivedEmail}\r\n \r\n \r\n
\r\n
\r\n
\r\n {/* */}\r\n\r\n \r\n \r\n Opening Times\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n {/* */}\r\n \r\n {/* \r\n Open\r\n */}\r\n \r\n Open\r\n \r\n \r\n Opening Time\r\n \r\n \r\n setAllTime('open')}\r\n disabled={state.serviceAgentMondayOpeningTime ? false : true}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n Closing Time\r\n \r\n \r\n setAllTime('close')}\r\n disabled={state.serviceAgentMondayClosingTime ? false : true}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Monday\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Tuesday\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Wednesday\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thursday\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Friday\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Saturday\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Sunday\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Bank Holiday\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n <>\r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport DataGrid from '../../../Core/Controls/Grid';\r\nimport { Link } from 'react-router-dom';\r\nimport AddEditServiceAgent from './addEditServiceAgent';\r\nimport { getAllServiceAgents, postServiceAgentRating, getMapNewData } from '../../../Core/Services/InternalUser/ServiceAgent/serviceAgentService';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport { AddButton, EditButton, BreadCrumbs, formatters, SecondaryButton, SimpleRating, CustomChip } from '../../../Core/Controls';\r\nimport '../Controllers/controllerStyle.scss';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport { getByDisplayValue } from '@testing-library/react';\r\nimport './serviceAgent.scss';\r\nimport RoomIcon from '@material-ui/icons/Room';\r\nimport GetAgentLocation from '../Maintenance/BreakDown/getLocations';\r\nimport ConfirmationModal from '../../../Core/Modal/ConfirmationModal';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { Grid } from '@material-ui/core';\r\nimport ReactDOM from 'react-dom';\r\nimport { ChipWithoutLable } from '../../../Core/Controls/Inputs/DatePicker';\r\nimport SyncIcon from '@material-ui/icons/Sync';\r\nimport Mapheader from '../Maintenance/BreakDown/locationHeaderComp';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Service Agents', path: '/', active: true }\r\n];\r\n\r\nconst modalgridStyle = {\r\n formatterImageContainer: { width: '100%', textAlign: 'center' },\r\n formatterImage: { width: 90, height: 'auto', backgroundSize: 'cover' },\r\n formatterEditBtn: { textAlign: 'center' },\r\n dialogTitleStyle: { paddingLeft: '50px' }\r\n};\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 80, addFileUploaderIcon: true },\r\n { key: 'serviceAgentName', name: 'Agent Name', width: '15%' },\r\n // { key: 'serviceAgentPostCode', name: 'Post Code' },\r\n { key: 'facilities', name: 'Service Agent Facilities' },\r\n { key: 'serviceAgentPhone', name: 'Phone', width: '11%' },\r\n // { key: 'serviceAgentEmail', name: 'Email', width: '18%' },\r\n {\r\n key: 'serviceAgentAddress',\r\n name: 'Address'\r\n },\r\n { key: 'serviceAgentRating', name: 'Rating ', width: '18%', filterable: 'no' }\r\n];\r\n\r\nconst ServiceAgent = (props) => {\r\n const [state, setState] = useState({\r\n show: false,\r\n showEditPopup: false,\r\n List: [],\r\n showLoader: true,\r\n serviceAgentID: null,\r\n gooleSearchValue: null,\r\n showGoogleValue: false\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { userRoles } = useLoginInfo();\r\n const isAdmin = userRoles.includes('admin');\r\n const isInternal = userRoles.includes('internal');\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n // useEffect(async () => {\r\n // pullAllServiceAgent();\r\n // }, []);\r\n\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/editServiceAgent/${val.serviceAgentID}`,\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const renderEdit = (data, row) => {\r\n return (\r\n
\r\n handleEditClick(row)} />\r\n
\r\n );\r\n };\r\n\r\n const renderRating = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderAgentAddress = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
rowSelctedValues(row)} style={{ cursor: 'pointer', color: '#f50057' }}>\r\n {row.serviceAgentAddress}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderPhone = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk =
{formatters.phoneNumberFormatter(row.serviceAgentPhone)}
;\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let ratingCol = tempCols.find((element) => element.key === 'serviceAgentRating');\r\n let agentAddressCol = tempCols.find((element) => element.key === 'serviceAgentAddress');\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n let phoneCol = tempCols.find((element) => element.key === 'serviceAgentPhone');\r\n\r\n if (phoneCol) {\r\n phoneCol.formatter = renderPhone;\r\n }\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n if (ratingCol) {\r\n ratingCol.formatter = renderRating;\r\n }\r\n if (agentAddressCol) {\r\n agentAddressCol.formatter = renderAgentAddress;\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n\r\n const rowSelctedValues = (row) => {\r\n setState((st) => ({\r\n ...st,\r\n gooleSearchValue: row.serviceAgentName,\r\n showGoogleValue: true\r\n }));\r\n };\r\n\r\n const closeGoogleSerach = () => {\r\n setState((st) => ({\r\n ...st,\r\n showGoogleValue: false,\r\n showMap: false\r\n }));\r\n };\r\n\r\n const pullAllServiceAgent = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleAdd = () => {\r\n setState((st) => ({\r\n ...st,\r\n show: true\r\n }));\r\n };\r\n\r\n const closeServiceAgentModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullAllServiceAgent();\r\n };\r\n\r\n const handleUpdateLocation = (location) => {\r\n setState((st) => ({ ...st, breakDownLocation: location, showMap: false }));\r\n };\r\n\r\n const handleShowLocation = (id) => {\r\n setState((st) => ({ ...st, showMap: true }));\r\n\r\n // history.push(`/controller/getagentLocation/${state.breakDownLocation}`);\r\n };\r\n\r\n const showRatingModal = (data) => (name, value) => {\r\n setState((st) => ({\r\n ...st,\r\n showRating: true,\r\n selectedRatingValue: value,\r\n serviceAgentID: data.serviceAgentID\r\n }));\r\n };\r\n\r\n const closeRatingModal = (value) => {\r\n setState((st) => ({\r\n ...st,\r\n showRating: false\r\n }));\r\n value && pullAllServiceAgent();\r\n };\r\n\r\n const ratingSubmit = async (value) => {\r\n let ratingData = {\r\n serviceAgentID: state.serviceAgentID,\r\n serviceAgentRating: state.selectedRatingValue\r\n };\r\n let res = await postServiceAgentRating(ratingData);\r\n if (res.success) {\r\n showToastSuccess(res.data.message);\r\n closeRatingModal(true);\r\n } else {\r\n showToastError(res.data.message);\r\n }\r\n };\r\n\r\n const reGenrateMap = async () => {\r\n let res = await getMapNewData();\r\n if (res.data.success) {\r\n showToastSuccess(res.data.message);\r\n } else {\r\n showToastError(res.data.message);\r\n }\r\n };\r\n\r\n let getUrl = `ServiceAgents`;\r\n const title = state.subCategoryId ? 'Update Service Agent' : 'Add Service Agent';\r\n const btnTitle = checkhaveAccess?.CanUpdateServiceAgents ? 'Add Service Agent' : null;\r\n const mapBtnTitle = !isAdmin ? 'Map' : null;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n {isAdmin && (\r\n \r\n \r\n {/* */}\r\n \r\n )}\r\n \r\n {state.show ? (\r\n // closeServiceAgentModal(false)} overflow=\"auto\" maxWidth=\"lg\">\r\n closeServiceAgentModal(true)} />\r\n ) : !state.showGoogleValue ? (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle={btnTitle}\r\n onBtnClick={handleAdd}\r\n isReload={state.isReload}\r\n idFieldName=\"serviceAgentID\"\r\n fileUploaderConfigName=\"ServiceAgentScreen\"\r\n // mapBtnToolTipTitle={mapBtnTitle}\r\n // mapBtnIcon={RoomIcon}\r\n // mapBtnLabel={mapBtnTitle}\r\n // onMapBtnClick={handleShowLocation}\r\n />\r\n ) : (\r\n <>\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n )}\r\n {state.showMap ? (\r\n } onClose={() => closeGoogleSerach(false)} maxWidth=\"lg\" fullScreen>\r\n \r\n \r\n ) : null}\r\n {state.showRating ? (\r\n closeRatingModal(false)} maxWidth=\"sm\">\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default ServiceAgent;\r\n","import React, { useEffect, useState, useContext } from 'react';\r\nimport { EditButton, SimpleRating } from '../../../Core/Controls';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { ServiceAgentProvider as StateProvider, ServiceAgentScreenContext } from './ServiceAgentProvider';\r\nimport AddEditServiceAgent from './addEditServiceAgent';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport { Button } from '@material-ui/core';\r\nimport './serviceAgent.scss';\r\nimport StickyNotes from '../Controllers/Notes/stickyNotes';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport { CustomChip, formatters } from '../../../Core/Controls';\r\nimport FileUploaderButton from '../../../Core/Controls/GenericFileUploader';\r\n\r\nexport const ServiceAgentDashboard = (props) => {\r\n const { state, selectedData } = useContext(ServiceAgentScreenContext);\r\n\r\n const [data, setData] = useState({\r\n show: false,\r\n serviceAgentID: null\r\n });\r\n\r\n useEffect(() => {\r\n if (props.serviceAgentID) {\r\n setData((st) => ({\r\n ...st,\r\n serviceAgentID: props.serviceAgentID\r\n }));\r\n }\r\n }, []);\r\n\r\n const handleAdd = (record) => {\r\n setData((st) => ({\r\n ...st,\r\n show: true,\r\n serviceAgentID: record\r\n }));\r\n };\r\n\r\n const closeVehicleModal = () => {\r\n setData((st) => ({\r\n ...st,\r\n show: !data.show\r\n }));\r\n };\r\n\r\n const isNullCheck = (val) => {\r\n if (val) {\r\n return val;\r\n }\r\n return 'N/A';\r\n };\r\n\r\n return (\r\n
\r\n {data.show ? (\r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Service Agent Details\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n   \r\n {!data.show ? (\r\n handleAdd(data.serviceAgentID)}\r\n className=\"btn-m\"\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Name\r\n
\r\n {isNullCheck(state.serviceAgentName)}\r\n
\r\n \r\n
\r\n Address \r\n
\r\n \r\n {`\r\n ${state.serviceAgentAddress1 ? state.serviceAgentAddress1 : ''}\r\n ${state.serviceAgentAddress2 ? state.serviceAgentAddress2 : ''}\r\n ${state.serviceAgentCity ? state.serviceAgentCity : ''}\r\n ${state.serviceAgentPostCode ? state.serviceAgentPostCode : ''}`}\r\n \r\n
\r\n \r\n
\r\n Labour Rate\r\n
\r\n {isNullCheck(state.serviceAgentLabourRate)}\r\n {/* {state.serviceAgentLabourRate} */}\r\n
\r\n
\r\n \r\n \r\n
\r\n Out Of Hour Labour Rate\r\n
\r\n {isNullCheck(state.serviceAgentOutOfHoursLabourRate)}\r\n
\r\n \r\n
\r\n Phone\r\n
\r\n {formatters.phoneNumberFormatter(state.serviceAgentPhone)}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n E-mail\r\n
\r\n {formatters.mailFormatter(state.serviceAgentEmail)}\r\n
\r\n \r\n
\r\n Service Manager Name\r\n
\r\n {isNullCheck(state.serviceAgentServiceManagerName)}\r\n
\r\n \r\n
\r\n Service Manager Phone\r\n
\r\n {formatters.phoneNumberFormatter(state.serviceAgentServiceManagerPhone)}\r\n
\r\n
\r\n \r\n \r\n
\r\n Service Manager Email\r\n
\r\n {formatters.mailFormatter(state.serviceAgentServiceManagerEmail)}\r\n
\r\n \r\n
\r\n Order Confirmation\r\n
\r\n {isNullCheck(state.serviceAgentOrderConfirmationName)}\r\n
\r\n \r\n
\r\n Order Confirmation Phone\r\n
\r\n {formatters.phoneNumberFormatter(state.serviceAgentOrderConfirmationPhone)}\r\n
\r\n
\r\n \r\n \r\n
\r\n Order Confirmation Email\r\n
\r\n {formatters.mailFormatter(state.serviceAgentOrderConfirmationEmail)}\r\n
\r\n \r\n
\r\n Service Agent Facilities\r\n
\r\n {selectedData.modules.map((p) => `${p.name}`).join(', ')}\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n Opening Times\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Open\r\n
\r\n
\r\n \r\n
\r\n Opening Time\r\n
\r\n
\r\n \r\n
\r\n Closing Time\r\n
\r\n
\r\n
\r\n \r\n \r\n Monday\r\n \r\n \r\n \r\n {state.serviceAgentOpenMonday ? : }\r\n \r\n \r\n \r\n {state.serviceAgentMondayOpeningTime} \r\n \r\n \r\n {state.serviceAgentMondayClosingTime} \r\n \r\n \r\n \r\n \r\n Tuesday\r\n \r\n \r\n \r\n {state.serviceAgentOpenTuesday ? : }\r\n \r\n \r\n \r\n {state.serviceAgentTuesdayOpeningTime} \r\n \r\n \r\n {state.serviceAgentTuesdayClosingTime} \r\n \r\n \r\n \r\n \r\n Wednesday\r\n \r\n \r\n \r\n {state.serviceAgentOpenWednesday ? : }\r\n \r\n \r\n \r\n {state.serviceAgentWednesdayOpeningTime} \r\n \r\n \r\n {state.serviceAgentWednesdayClosingTime} \r\n \r\n \r\n \r\n \r\n Thursday\r\n \r\n \r\n \r\n {state.serviceAgentOpenThursday ? : }\r\n \r\n \r\n \r\n {state.serviceAgentThursdayOpeningTime} \r\n \r\n \r\n {state.serviceAgentThursdayClosingTime} \r\n \r\n \r\n \r\n \r\n Friday\r\n \r\n \r\n \r\n {state.serviceAgentOpenFriday ? : }\r\n \r\n \r\n \r\n {state.serviceAgentFridayOpeningTime} \r\n \r\n \r\n {state.serviceAgentFridayClosingTime} \r\n \r\n \r\n \r\n \r\n Saturday\r\n \r\n \r\n \r\n {state.serviceAgentOpenSaturday ? : }\r\n \r\n \r\n \r\n {state.serviceAgentSaturdayOpeningTime} \r\n \r\n \r\n {state.serviceAgentSaturdayClosingTime} \r\n \r\n \r\n \r\n \r\n Sunday\r\n \r\n \r\n \r\n {state.serviceAgentOpenSunday ? : }\r\n \r\n \r\n \r\n {state.serviceAgentSundayOpeningTime} \r\n \r\n \r\n {state.serviceAgentSundayClosingTime} \r\n \r\n \r\n \r\n \r\n Bank Holiday\r\n \r\n \r\n \r\n {state.serviceAgentOpenBankHoliday ? : }\r\n \r\n \r\n \r\n {state.serviceAgentBankHolidayOpeningTime} \r\n \r\n \r\n {state.serviceAgentBankHolidayClosingTime} \r\n \r\n \r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React from 'react';\r\nimport { BreadCrumbs, TabView } from '../../../Core/Controls';\r\nimport ServiceAgentDashboard from './serviceAgentDash';\r\nimport ServiceAgentDetails from './serviceAgentDetail';\r\nimport NoteDashboard from './../Controllers/Notes';\r\nimport './serviceAgent.scss';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Service Agents', path: '/serviceagent' },\r\n { name: 'Add/Update Service Agent', path: '/', active: true }\r\n];\r\n\r\nexport default function EditServiceAgent(props) {\r\n const id = props.match.params.id;\r\n const fileCount = props.location.state.fileCount;\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const tabs = [\r\n {\r\n label: 'Dashboard',\r\n body: (\r\n <>\r\n \r\n \r\n )\r\n },\r\n ...(checkhaveAccess?.CanViewNotes\r\n ? [\r\n {\r\n label: 'Notes',\r\n body: \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","export default __webpack_public_path__ + \"static/media/mileageimportsample.070679a6.xlsx\";","import React, { useState } from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport { Grid, Paper, TableContainer, Table, TableBody, TableRow, TableCell } from '@material-ui/core';\r\nimport { postImportMileage } from '../../../../../Core/Services/InternalUser/ControllerService/customerService';\r\nimport { SecondaryButton } from '../../../../../Core/Controls';\r\nimport { InputLabel, Typography } from '@material-ui/core';\r\nimport { FormHelperText } from '@material-ui/core';\r\nimport downloadFile from '../../../../../Template/mileageimportsample.xlsx';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { DataGrid } from '../../../../../Core/Controls';\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '8px 20px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '8px 20px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(even)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n title: {\r\n fontSize: '25px',\r\n color: '#f50057',\r\n fontWeight: 600,\r\n paddingLeft: 9\r\n },\r\n loader: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: 300\r\n }\r\n}));\r\n\r\nconst columns = [\r\n { key: 'registration', name: 'Reg No.', width: '15%' },\r\n\r\n {\r\n key: 'depot',\r\n name: 'Depot',\r\n width: '8%'\r\n },\r\n { key: 'date', name: 'Date', width: '20%' },\r\n { key: 'mileage', name: 'Mileage', width: '10%' },\r\n { key: 'result', name: 'Result', flex: 1 }\r\n];\r\n\r\nconst ImportMileage = (props) => {\r\n const [state, setState] = useState({\r\n errors: {},\r\n file: '',\r\n rows: [],\r\n showTable: false\r\n });\r\n const classes = useStyles();\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const onFileSelect = (e) => {\r\n const { files } = e.target;\r\n if (files.length) {\r\n setState((st) => ({ ...st, fileName: files[0].name, selectedFile: files[0] }));\r\n }\r\n };\r\n\r\n const validations = () => {\r\n const { file } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!file) {\r\n errors.file = 'File is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (state.fileName && state.selectedFile) {\r\n setState((st) => ({ ...st, uploading: true }));\r\n const data = new FormData();\r\n // const data={postedFiles:state.selectedFile}\r\n data.append(state.fileName, state.selectedFile);\r\n let res = await postImportMileage(data);\r\n if (res.success) {\r\n setState((st) => ({ ...st, rows: res.data.res }));\r\n } else {\r\n showToastError(res.message);\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 Upload Data File\r\n \r\n \r\n \r\n \r\n \r\n \r\n To import mileages into your account, please{' '}\r\n {/* \r\n Download file\r\n */}\r\n \r\n download and complete the template spreadsheet\r\n \r\n . Data MUST be in this format to be imported. Please note:\r\n
    \r\n
  • Dates must be in this format: dd/mm/yyyy
  • \r\n
  • \r\n The first row in the spreadsheet contains column headings and will be ignored - all other rows will considered as\r\n data to be imported.\r\n
  • \r\n
  • Mileages will be imported if there is matching vehicle against {props.name}
  • \r\n
  • \r\n There is no option to undo an import-any mistakes or incorrect records will need to be corrected/deleted manually\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Data file\r\n \r\n \r\n {state.errors.file}\r\n \r\n \r\n \r\n \r\n \r\n Please check your spreadsheet has been completed correctly before continuing\r\n \r\n \r\n \r\n Import Mileage\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n To avoid errors, please press button ONCE and wait for confirmation. The import process may take several minuets to complete\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n {state.rows && state.rows.length > 0 && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ImportMileage;\r\n","export default __webpack_public_path__ + \"static/media/Journeyimportsample.e0196861.xlsx\";","import React, { useState } from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport { Grid, Paper, TableContainer, Table, TableBody, TableRow, TableCell } from '@material-ui/core';\r\nimport { postImportJourney } from '../../../../../Core/Services/InternalUser/ControllerService/customerService';\r\nimport { SecondaryButton, formatters } from '../../../../../Core/Controls';\r\nimport { InputLabel, Typography } from '@material-ui/core';\r\nimport { FormHelperText } from '@material-ui/core';\r\nimport downloadFile from '../../../../../Template/Journeyimportsample.xlsx';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { DataGrid } from '../../../../../Core/Controls';\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '8px 20px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '8px 20px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(even)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n title: {\r\n fontSize: '25px',\r\n color: '#f50057',\r\n fontWeight: 600,\r\n paddingLeft: 9\r\n },\r\n loader: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: 300\r\n }\r\n}));\r\n\r\nconst columns = [\r\n { key: 'registration', name: 'Reg No.', width: '5%' },\r\n\r\n {\r\n key: 'driverFirstName',\r\n name: 'First Name',\r\n width: '7%'\r\n },\r\n { key: 'driverLastName', name: 'Last Name', width: '7%' },\r\n { key: 'journey', name: 'Journey', width: '6%' },\r\n { key: 'startDate', name: 'Start Date', width: '7%', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'startTime', name: 'Start Time', width: '6%' },\r\n { key: 'endDate', name: 'End Date', width: '7%', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'endTime', name: 'End Time', width: '6%' },\r\n { key: 'startMileage', name: 'Start Mileage', width: '7%' },\r\n { key: 'endMileage', name: 'End Mileage', width: '7%' },\r\n { key: 'locationStart', name: 'Location Start', width: '8%' },\r\n { key: 'locationEnd', name: 'Location End', width: '8%' },\r\n { key: 'notes', name: 'Notes', flex: 1 },\r\n { key: 'result', name: 'Result', flex: 1 }\r\n];\r\n\r\nconst ImportJourney = (props) => {\r\n const [state, setState] = useState({\r\n errors: {},\r\n file: '',\r\n rows: [],\r\n showTable: false\r\n });\r\n\r\n const classes = useStyles();\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const onFileSelect = (e) => {\r\n const { files } = e.target;\r\n if (files.length) {\r\n setState((st) => ({ ...st, fileName: files[0].name, selectedFile: files[0] }));\r\n }\r\n };\r\n\r\n const validations = () => {\r\n const { file } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!file) {\r\n errors.file = 'File is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (state.fileName && state.selectedFile) {\r\n setState((st) => ({ ...st, uploading: true }));\r\n const data = new FormData();\r\n data.append(state.fileName, state.selectedFile);\r\n let res = await postImportJourney(data);\r\n if (res.success) {\r\n setState((st) => ({ ...st, rows: res.data.res }));\r\n } else {\r\n showToastError(res.message);\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 Upload Data File\r\n \r\n \r\n \r\n \r\n \r\n \r\n To import journey into your account, please{' '}\r\n {/* \r\n Download file\r\n */}\r\n \r\n download and complete the template spreadsheet\r\n \r\n . Data MUST be in this format to be imported. Please note:\r\n
    \r\n
  • Dates must be in this format: dd/mm/yyyy
  • \r\n
  • \r\n The first row in the spreadsheet contains column headings and will be ignored - all other rows will considered as\r\n data to be imported.\r\n
  • \r\n
  • Journey will be imported if there is matching vehicle against {props.name}
  • \r\n
  • \r\n There is no option to undo an import-any mistakes or incorrect records will need to be corrected/deleted manually\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Data file\r\n \r\n \r\n {state.errors.file}\r\n \r\n \r\n \r\n \r\n \r\n Please check your spreadsheet has been completed correctly before continuing\r\n \r\n \r\n \r\n Import Journey\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n To avoid errors, please press button ONCE and wait for confirmation. The import process may take several minuets to complete\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n {state.rows && state.rows.length > 0 && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ImportJourney;\r\n","export default __webpack_public_path__ + \"static/media/import-fuel_purchasesSample.f86efc43.xlsx\";","import React, { useState } from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport { Grid, Paper, TableContainer, Table, TableBody, TableRow, TableCell } from '@material-ui/core';\r\nimport { postImportFuel } from '../../../../../Core/Services/InternalUser/ControllerService/customerService';\r\nimport { SecondaryButton, formatters } from '../../../../../Core/Controls';\r\n\r\nimport { InputLabel, Typography } from '@material-ui/core';\r\nimport { FormHelperText } from '@material-ui/core';\r\nimport downloadFile from '../../../../../Template/import-fuel_purchasesSample.xlsx';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { DataGrid } from '../../../../../Core/Controls';\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '8px 20px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '8px 20px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(even)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n title: {\r\n fontSize: '25px',\r\n color: '#f50057',\r\n fontWeight: 600,\r\n paddingLeft: 9\r\n },\r\n loader: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: 300\r\n }\r\n}));\r\n\r\nconst columns = [\r\n { key: 'registration', name: 'Reg No.', width: '5%' },\r\n { key: 'dateofPurchase', name: 'Date Purchase', width: '12%', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'volume', name: 'Volume', width: '7%' },\r\n { key: 'totalCost', name: 'Total Cost', width: '10%' },\r\n { key: 'mileageAtTimeOfPurchase', name: 'Time Of Purchase', width: '15%' },\r\n { key: 'paymentMethod', name: 'Payment Method', width: '20%' },\r\n { key: 'notes', name: 'Notes', flex: 1 },\r\n { key: 'result', name: 'Result', flex: 1 }\r\n];\r\n\r\nconst ImportFuel = (props) => {\r\n const [state, setState] = useState({\r\n errors: {},\r\n file: '',\r\n rows: [],\r\n showTable: false\r\n });\r\n\r\n const classes = useStyles();\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const onFileSelect = (e) => {\r\n const { files } = e.target;\r\n if (files.length) {\r\n setState((st) => ({ ...st, fileName: files[0].name, selectedFile: files[0] }));\r\n }\r\n };\r\n\r\n const validations = () => {\r\n const { file } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!file) {\r\n errors.file = 'File is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (state.fileName && state.selectedFile) {\r\n setState((st) => ({ ...st, uploading: true }));\r\n const data = new FormData();\r\n data.append(state.fileName, state.selectedFile);\r\n let res = await postImportFuel(data);\r\n if (res.success) {\r\n setState((st) => ({ ...st, rows: res.data.res }));\r\n } else {\r\n showToastError(res.message);\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 Upload Data File\r\n \r\n \r\n \r\n \r\n \r\n \r\n To import fuel purches into your account, please{' '}\r\n {/* \r\n Download file\r\n */}\r\n \r\n download and complete the template spreadsheet\r\n \r\n . Data MUST be in this format to be imported. Please note:\r\n
    \r\n
  • Dates must be in this format: dd/mm/yyyy
  • \r\n
  • \r\n The first row in the spreadsheet contains column headings and will be ignored - all other rows will considered as\r\n data to be imported.\r\n
  • \r\n
  • Fuel Purches will be imported if there is matching vehicle against {props.name}
  • \r\n
  • \r\n There is no option to undo an import-any mistakes or incorrect records will need to be corrected/deleted manually\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Data file\r\n \r\n \r\n {state.errors.file}\r\n \r\n \r\n \r\n \r\n \r\n Please check your spreadsheet has been completed correctly before continuing\r\n \r\n \r\n \r\n Import Fuel Purchase\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n To avoid errors, please press button ONCE and wait for confirmation. The import process may take several minuets to complete\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n {state.rows && state.rows.length > 0 && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ImportFuel;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const postCustomerLicence = async (CustomerId) => {\r\n let res = await postWithAuth(`DavisCompanies/${CustomerId}`);\r\n return res;\r\n};\r\n\r\nexport const getCustomerLicence = async (CompanyCode) => {\r\n let res = await getWithAuth(`DavisCompanies/Credits/${CompanyCode}`);\r\n return res;\r\n};\r\n\r\nexport const postArchiveCustomerLicence = async (id) => {\r\n let res = await postWithAuth(`DavisCompanies/ArchiveCompany/${id}`);\r\n return res;\r\n};\r\n","import { SimpleField, SecondaryButton } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport { Grid, Paper, TableContainer, Table, TableHead, TableBody, TableRow, TableCell } from '@material-ui/core';\r\nimport { postArchiveCustomerLicence } from '../../../../../Core/Services/Admin/licenceCheck';\r\nimport { FromLoader } from '../../../../../Core/Loader/formLoader';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '8px 20px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '8px 20px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\n\r\nexport const CreditTopup = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const submitArchive = async () => {\r\n let res = await postArchiveCustomerLicence(props.accountCode);\r\n if (res.success) {\r\n showToastSuccess('Company Remove from successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n return (\r\n \r\n \r\n Are you sure to archive the account in licence check system? You will not be able to restore the account.\r\n \r\n \r\n \r\n Confirm\r\n \r\n \r\n \r\n props.onClose(false)} fullWidth className=\"submit_btn\">\r\n Cancel\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const LicenceResponseTable = (props) => {\r\n return (\r\n
\r\n {!props.showLoader ? (\r\n
\r\n \r\n \r\n \r\n \r\n Depots\r\n Status\r\n Location\r\n \r\n \r\n \r\n {props.resList.davisDepots.length > 0 &&\r\n props.resList.davisDepots.map((m) => {\r\n return (\r\n \r\n {m.depotName}\r\n \r\n {m.davissuccess ? (\r\n Depot Added Successfully\r\n ) : (\r\n Depot Fail To Add \r\n )}\r\n \r\n \r\n {m.setLicenceCheckLocationIdSuccess ? (\r\n Location Added Successfully\r\n ) : (\r\n Location Fail to Add \r\n )}\r\n \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 Status\r\n \r\n \r\n \r\n {props.resList.davisDepartmentResponse.length > 0 &&\r\n props.resList.davisDepartmentResponse.map((m) => {\r\n return (\r\n \r\n {m.departmentName}\r\n \r\n {m.davissuccess ? (\r\n Department Successfully\r\n ) : (\r\n Department Fail To Add \r\n )}\r\n \r\n \r\n );\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.onClose(true, true)} fullWidth className=\"submit_btn\">\r\n Cancel\r\n \r\n
\r\n );\r\n};\r\n","import { Grid, Typography } from '@material-ui/core';\r\nimport React, { useEffect, useState, useMemo } from 'react';\r\nimport { TabView, DataGrid, formatters } from '../../../../../Core/Controls';\r\nimport { getTop10VORVehiclesByOccurance, getTop10VORVehiclesByDays } from '../../../../../Core/Services/InternalUser/ControllerService/customerService';\r\n\r\nconst columns = [\r\n { key: 'reg', name: 'Reg No' },\r\n { key: 'make', name: 'Make' },\r\n { key: 'total', name: 'Total' }\r\n];\r\n\r\nconst VorReportingTab = (props) => {\r\n const [data, setData] = useState({\r\n showLoader1: true,\r\n showLoader2: true,\r\n vehiclesByOccurance: [],\r\n vehiclesByDay: []\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.customerID) {\r\n let res = await getTop10VORVehiclesByOccurance(props.customerID);\r\n if (res.success) {\r\n setData((st) => ({ ...st, vehiclesByOccurance: res?.data?.list || [], showLoader1: false }));\r\n }\r\n let res1 = await getTop10VORVehiclesByDays(props.customerID);\r\n if (res1.success) {\r\n setData((st) => ({ ...st, vehiclesByDay: res1?.data?.list || [], showLoader2: false }));\r\n }\r\n }\r\n }, []);\r\n\r\n const tempTab = [\r\n {\r\n label: 'VOR Vehicle By Occurance',\r\n body: (\r\n
\r\n \r\n
\r\n )\r\n },\r\n {\r\n label: 'VOR Vehicle By Days',\r\n body: (\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\nexport default VorReportingTab;\r\n","export default __webpack_public_path__ + \"static/media/depotimportsample.9aad7f5d.xlsx\";","import React, { useState } from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport { Grid, Paper, TableContainer, Table, TableBody, TableRow, TableCell } from '@material-ui/core';\r\nimport { postImportDepot } from '../../../../../Core/Services/InternalUser/ControllerService/customerService';\r\nimport { SecondaryButton, formatters } from '../../../../../Core/Controls';\r\nimport { InputLabel, Typography } from '@material-ui/core';\r\nimport { FormHelperText } from '@material-ui/core';\r\nimport downloadFile from '../../../../../Template/depotimportsample.xlsx';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { DataGrid } from '../../../../../Core/Controls';\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '8px 20px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '8px 20px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(even)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n title: {\r\n fontSize: '25px',\r\n color: '#f50057',\r\n fontWeight: 600,\r\n paddingLeft: 9\r\n },\r\n loader: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: 300\r\n }\r\n}));\r\n\r\nconst columns = [\r\n { key: 'registration', name: 'Reg No.', width: '10%' },\r\n { key: 'depot', name: 'Depot', width: '40%' },\r\n { key: 'date', name: 'Date', width: '10%', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'result', name: 'Result', width: '40%' }\r\n];\r\n\r\nconst ImportDepot = (props) => {\r\n const [state, setState] = useState({\r\n errors: {},\r\n file: '',\r\n rows: [],\r\n showTable: false\r\n });\r\n\r\n const classes = useStyles();\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const onFileSelect = (e) => {\r\n const { files } = e.target;\r\n if (files.length) {\r\n setState((st) => ({ ...st, fileName: files[0].name, selectedFile: files[0] }));\r\n }\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (state.fileName && state.selectedFile) {\r\n setState((st) => ({ ...st, uploading: true }));\r\n const data = new FormData();\r\n data.append(state.fileName, state.selectedFile);\r\n let res = await postImportDepot(props.customerID, data);\r\n if (res.success) {\r\n setState((st) => ({ ...st, rows: res.data.res }));\r\n } else {\r\n showToastError(res.message);\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 Upload Data File\r\n \r\n \r\n \r\n \r\n \r\n \r\n To import depots into your account, please{' '}\r\n \r\n download and complete the template spreadsheet\r\n \r\n . Data MUST be in this format to be imported. Please note:\r\n
    \r\n
  • Dates must be in this format: dd/mm/yyyy
  • \r\n
  • \r\n The first row in the spreadsheet contains column headings and will be ignored - all other rows will considered as\r\n data to be imported.\r\n
  • \r\n
  • Depot will be set against the vehicle if there is a matching vehicle against {props.name}
  • \r\n
  • \r\n There is no option to undo an import-any mistakes or incorrect records will need to be corrected/deleted manually\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Data file\r\n \r\n \r\n {state.errors.file}\r\n \r\n \r\n \r\n \r\n \r\n Please check your spreadsheet has been completed correctly before continuing\r\n \r\n \r\n \r\n Import Depot\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n To avoid errors, please press button ONCE and wait for confirmation. The import process may take several minutes to complete\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n {state.rows && state.rows.length > 0 && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ImportDepot;\r\n","export default __webpack_public_path__ + \"static/media/serviceagentimportsample.1b4707fd.xlsx\";","import React, { useState } from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport { Grid, Paper, TableContainer, Table, TableBody, TableRow, TableCell } from '@material-ui/core';\r\nimport { postImportServiceAgent } from '../../../../../Core/Services/InternalUser/ControllerService/customerService';\r\nimport { SecondaryButton, formatters } from '../../../../../Core/Controls';\r\nimport { InputLabel, Typography } from '@material-ui/core';\r\nimport { FormHelperText } from '@material-ui/core';\r\nimport downloadFile from '../../../../../Template/serviceagentimportsample.xlsx';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { DataGrid } from '../../../../../Core/Controls';\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '8px 20px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '8px 20px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(even)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n title: {\r\n fontSize: '25px',\r\n color: '#f50057',\r\n fontWeight: 600,\r\n paddingLeft: 9\r\n },\r\n loader: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginTop: 300\r\n }\r\n}));\r\n\r\nconst columns = [\r\n { key: 'registration', name: 'Reg No.', width: '10%' },\r\n { key: 'serviceAgent', name: 'Service Agent', width: '40%' },\r\n { key: 'date', name: 'Date', width: '10%', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'result', name: 'Result', width: '40%' }\r\n];\r\n\r\nconst ImportServiceAgent = (props) => {\r\n const [state, setState] = useState({\r\n errors: {},\r\n file: '',\r\n rows: [],\r\n showTable: false\r\n });\r\n\r\n const classes = useStyles();\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const onFileSelect = (e) => {\r\n const { files } = e.target;\r\n if (files.length) {\r\n setState((st) => ({ ...st, fileName: files[0].name, selectedFile: files[0] }));\r\n }\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (state.fileName && state.selectedFile) {\r\n setState((st) => ({ ...st, uploading: true }));\r\n const data = new FormData();\r\n data.append(state.fileName, state.selectedFile);\r\n let res = await postImportServiceAgent(props.customerID, data);\r\n if (res.success) {\r\n setState((st) => ({ ...st, rows: res.data.res }));\r\n } else {\r\n showToastError(res.message);\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 Upload Data File\r\n \r\n \r\n \r\n \r\n \r\n \r\n To import Service Agents into your account, please{' '}\r\n \r\n download and complete the template spreadsheet\r\n \r\n . Data MUST be in this format to be imported. Please note:\r\n
    \r\n
  • Dates must be in this format: dd/mm/yyyy
  • \r\n
  • \r\n The first row in the spreadsheet contains column headings and will be ignored - all other rows will considered as\r\n data to be imported.\r\n
  • \r\n
  • Service Agent will be set against the vehicle if there is matching vehicle against {props.name}
  • \r\n
  • \r\n There is no option to undo an import-any mistakes or incorrect records will need to be corrected/deleted manually\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Data file\r\n \r\n \r\n {state.errors.file}\r\n \r\n \r\n \r\n \r\n \r\n Please check your spreadsheet has been completed correctly before continuing\r\n \r\n \r\n \r\n Import Service Agent\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n To avoid errors, please press button ONCE and wait for confirmation. The import process may take several minutes to complete\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n {state.rows && state.rows.length > 0 && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ImportServiceAgent;\r\n","import { InputLabel } from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport moment from 'moment';\r\nimport React, { useContext, useEffect, useState } from 'react';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport StickyNotes from '../../Controllers/Notes/stickyNotes';\r\nimport '../controllerStyle.scss';\r\nimport AddEditCustomer from './addCustomer';\r\nimport { CustomerProvider, CustomerScreenContext } from './CustomerProvider';\r\nimport { CustomChip } from '../../../../Core/Controls';\r\nimport ImportMileage from './ImportMileage';\r\nimport ImportJourney from './ImportMileage/importJourney';\r\nimport ImportFuel from './ImportMileage/importFuel';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { formatters } from '../../../../Core/Controls';\r\nimport ErrorIcon from '@material-ui/icons/Error';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { postCustomerLicence } from '../../../../Core/Services/Admin/licenceCheck';\r\nimport { CreditTopup, LicenceResponseTable } from './LicenceCheckTopUp';\r\nimport Badge from '@material-ui/core/Badge';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport LocalShippingIcon from '@material-ui/icons/LocalShipping';\r\nimport LocalGasStationIcon from '@material-ui/icons/LocalGasStation';\r\nimport LocalTaxiIcon from '@material-ui/icons/LocalTaxi';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { FromLoader } from '../../../../Core/Loader/formLoader';\r\nimport { Link } from 'react-router-dom';\r\nimport VorReportingTab from './VorTab';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport ImportDepot from './ImportMileage/importDepot';\r\nimport ImportServiceAgent from './ImportMileage/importServiceAgent';\r\nimport { Person } from '@material-ui/icons';\r\n\r\nconst ISODays = [\r\n { id: 1, name: 'Monday' },\r\n { id: 2, name: 'Tuesday' },\r\n { id: 3, name: 'Wednesday' },\r\n { id: 4, name: 'Thursday' },\r\n { id: 5, name: 'Friday' },\r\n { id: 6, name: 'Saturday' }\r\n];\r\n\r\nexport const CustomerDashBoard = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { state, optionsState, pullCustomerdata, activeLoader } = useContext(CustomerScreenContext);\r\n const { userRoles } = useLoginInfo();\r\n const isAdmin = userRoles.includes('admin');\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const [listNames, setListNames] = useState({\r\n accountManagaerName: null,\r\n currency: null,\r\n isoStartDate: null\r\n });\r\n\r\n const [licence, setLicence] = useState({ checkBtn: false, isMandatory: '', show: true, showTopUp: false, showRes: false });\r\n const [resList, setResList] = useState([]);\r\n\r\n const [data, setData] = useState({\r\n show: false,\r\n CustomerID: null\r\n });\r\n\r\n useEffect(() => {\r\n if (props.customerID) {\r\n setData((st) => ({\r\n ...st,\r\n CustomerID: props.customerID\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let accName = optionsState.aCManagerList?.filter((x) => {\r\n return x.id == state.customerAccountManagerID;\r\n })[0]?.name;\r\n let currencyName = optionsState.currencyList?.filter((x) => {\r\n return x.id == state.customerCurrencyID;\r\n })[0]?.name;\r\n let isoName = ISODays?.filter((x) => {\r\n return x.id == state.customerISOWeekStartDay;\r\n })[0]?.name;\r\n setListNames((st) => ({\r\n ...st,\r\n accountManagaerName: accName,\r\n currency: currencyName,\r\n isoStartDate: isoName\r\n }));\r\n }, [state.customerAccountManagerID, state.customerCurrencyID, state.customerISOWeekStartDay]);\r\n\r\n const handleAdd = (id, name) => {\r\n setData((st) => ({\r\n ...st,\r\n [name]: true\r\n }));\r\n };\r\n\r\n useEffect(() => {\r\n setlicenceCheckMessage();\r\n }, [state.customerLicenceCheckAccountCode]);\r\n\r\n const setlicenceCheckMessage = () => {\r\n let isMandatory = true;\r\n let { customerCompanyName, customerPostCode, customerAddress1, customerCity, customerTelephone, customerEmail, customerLicenceCheckAccountCode } =\r\n state;\r\n let licenceCheckMessage = [];\r\n let show = true;\r\n\r\n if (!customerCompanyName) {\r\n licenceCheckMessage.push('Company Name');\r\n isMandatory = false;\r\n }\r\n if (!customerPostCode) {\r\n licenceCheckMessage.push('PostCode');\r\n isMandatory = false;\r\n }\r\n if (!customerAddress1) {\r\n licenceCheckMessage.push('Address1');\r\n isMandatory = false;\r\n }\r\n if (!customerCity) {\r\n licenceCheckMessage.push('Town');\r\n isMandatory = false;\r\n }\r\n if (!customerTelephone) {\r\n licenceCheckMessage.push('Telephone');\r\n isMandatory = false;\r\n }\r\n if (!customerEmail) {\r\n licenceCheckMessage.push('Email');\r\n isMandatory = false;\r\n }\r\n if (customerLicenceCheckAccountCode) {\r\n isMandatory = false;\r\n show = false;\r\n }\r\n\r\n setLicence((w) => {\r\n let newSt = { ...w };\r\n newSt.isMandatory = licenceCheckMessage.toString();\r\n newSt.show = show;\r\n if (isMandatory) {\r\n newSt.checkBtn = true;\r\n } else {\r\n newSt.checkBtn = false;\r\n }\r\n return newSt;\r\n });\r\n\r\n return isMandatory;\r\n };\r\n\r\n const handleTopup = () => {\r\n setLicence((w) => ({ ...w, showTopUp: true }));\r\n };\r\n\r\n const closeCustomerModal = (res, showTost) => {\r\n setData((st) => ({\r\n ...st,\r\n show: false,\r\n showMileage: false,\r\n showJourney: false,\r\n showFuel: false,\r\n showDepot: false,\r\n showServiceAgent: false,\r\n }));\r\n res && activeLoader(true);\r\n res && pullCustomerdata();\r\n\r\n setLicence((w) => ({ ...w, showTopUp: false, showRes: false }));\r\n\r\n if (showTost) {\r\n showToastSuccess('Licence Check Account created successfully');\r\n }\r\n };\r\n\r\n const addLicenceChecks = async (id) => {\r\n if (setlicenceCheckMessage()) {\r\n activeLoader(true);\r\n let res = await postCustomerLicence(id);\r\n if (res.success) {\r\n let list = res.data;\r\n setResList(list);\r\n setLicence((w) => ({ ...w, showRes: true }));\r\n activeLoader(false);\r\n } else {\r\n showToastError('Failed to create company');\r\n activeLoader(false);\r\n }\r\n } else {\r\n showToastError(`Fields ${licence.isMandatory} must be set to create Licence Check account`);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {data.show ? (\r\n \r\n ) : data.showMileage ? (\r\n \r\n ) : data.showDepot ? (\r\n \r\n ) : data.showServiceAgent ? (\r\n \r\n ) : data.showJourney ? (\r\n \r\n ) : data.showFuel ? (\r\n \r\n ) : licence.showRes ? (\r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Customer Profile\r\n \r\n \r\n \r\n
\r\n {!data.show ? (\r\n <>\r\n handleAdd(data.CustomerID, 'show')}\r\n className=\"btn-m\"\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n {isAdmin && (\r\n <>\r\n {licence.show ? (\r\n addLicenceChecks(data.CustomerID)}\r\n className=\"btn-m\"\r\n style={{ fontWeight: 'bold', color: !licence.checkBtn ? 'red' : 'green' }}\r\n />\r\n ) : (\r\n \r\n handleTopup(data.CustomerID)}\r\n className=\"btn-m\"\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n \r\n )}\r\n \r\n )}\r\n\r\n {checkhaveAccess?.CanImportDepots && (\r\n handleAdd(data.CustomerID, 'showDepot')}\r\n className=\"btn-m\"\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n )}\r\n {checkhaveAccess?.CanImportServiceAgents && (\r\n handleAdd(data.CustomerID, 'showServiceAgent')}\r\n className=\"btn-m\"\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n )}\r\n {checkhaveAccess?.CanImportMileages && (\r\n handleAdd(data.CustomerID, 'showMileage')}\r\n className=\"btn-m\"\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n )}\r\n {checkhaveAccess?.CanImportJourneys && (\r\n handleAdd(data.CustomerID, 'showJourney')}\r\n className=\"btn-m\"\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n )}\r\n {checkhaveAccess?.CanImportFuelPurchases && (\r\n handleAdd(data.CustomerID, 'showFuel')}\r\n className=\"btn-m\"\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n )}\r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n {!state.isLoader ? (\r\n <>\r\n \r\n \r\n
\r\n Short Name\r\n
\r\n \r\n {state.customerShortName || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Name\r\n
\r\n \r\n {state.customerCompanyName || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Address\r\n
\r\n \r\n {formatters.formatWithComma(state.customerAddress1) +\r\n formatters.formatWithComma(state.customerAddress2) +\r\n formatters.formatWithComma(state.customerCity) +\r\n formatters.formatWithComma(state.customerCounty) +\r\n formatters.formatWithComma(state.customerPostCode)}\r\n \r\n
\r\n \r\n
\r\n Phone\r\n
\r\n \r\n {formatters.phoneNumberFormatter(state.customerTelephone)}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Email\r\n
\r\n \r\n {formatters.mailFormatter(state.customerEmail)}\r\n \r\n
\r\n \r\n
\r\n Website\r\n
\r\n \r\n {state.customerWebSite || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Account Manager\r\n
\r\n \r\n {listNames.accountManagaerName || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Earned Recognition?\r\n
\r\n \r\n {state.customerEarnedRecognition ? 'Yes' : 'No' || 'N/A'}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Earned Recognition Start Date\r\n
\r\n \r\n {(state.customerERStartDate && moment(state.customerERStartDate).format('DD/MM/YYYY')) || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Operation Manager Name\r\n
\r\n \r\n {state.customerOperationsManagerName || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Operation Manager Phone\r\n
\r\n \r\n {formatters.phoneNumberFormatter(state.customerOperationsManagerPhone)}\r\n \r\n
\r\n \r\n
\r\n Operation Manager Email\r\n
\r\n \r\n {formatters.mailFormatter(state.customerOperationsManagerEmail)}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Finance Director Name\r\n
\r\n \r\n {state.customerFinanceDirectorName || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Finance Director Phone\r\n
\r\n \r\n {formatters.phoneNumberFormatter(state.customerFinanceDirectorPhone)}\r\n \r\n
\r\n \r\n
\r\n Finance Director Email\r\n
\r\n \r\n {formatters.mailFormatter(state.customerFinanceDirectorEmail)}\r\n \r\n
\r\n {/* \r\n
\r\n Auto Approve Order Number\r\n
\r\n \r\n {state.autoApproveOrderAckNo ? 'Yes' : 'No' || 'N/A'}\r\n \r\n
*/}\r\n
\r\n \r\n \r\n
\r\n Handling Breakdowns\r\n
\r\n \r\n {state.customerHandlingDefects ? 'Yes' : 'No' || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Handling Olicense\r\n
\r\n \r\n {state.handlingOLicense ? 'Yes' : 'No' || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Handling Defects\r\n
\r\n \r\n {state.customerHandlingDefects ? 'Yes' : 'No' || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Order Approval Limit\r\n
\r\n \r\n {state.customerAutoApprovalLimit || 'N/A'}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Auto Approve Query Days\r\n
\r\n \r\n {state.autoApproveQueryDays ? 'Yes' : 'No' || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Overdue Queries Days\r\n
\r\n \r\n {state.overdueQueriesDays || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n Currency\r\n
\r\n \r\n {listNames.currency || 'N/A'}\r\n \r\n
\r\n \r\n
\r\n ISO Week Start Date\r\n
\r\n \r\n {listNames.isoStartDate || 'N/A'}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Licence Check Account Code\r\n
\r\n \r\n {state.customerLicenceCheckAccountCode || 'N/A'}\r\n \r\n
\r\n
\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n {licence.showTopUp ? (\r\n closeCustomerModal(false)} maxWidth=\"sm\" overflow=\"auto\">\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { getAllVehicle } from '../../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { EditButton, DataGrid, formatters } from '../../../../../Core/Controls';\r\nimport AddEditVehicle from '../../Vehicles/addEditVehicle';\r\nimport { Link } from 'react-router-dom';\r\nimport '../../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 110,\r\n addFileUploaderIcon: true\r\n },\r\n { key: 'vehicleRegNumber', name: 'Reg Number' },\r\n { key: 'vehicleMakeModel', name: 'Make/Model' },\r\n {\r\n key: 'vehicleDateOfRegistration',\r\n name: 'Date Of Reg',\r\n formatter: formatters.Date_DDMMYYYY\r\n },\r\n {\r\n key: 'vehicleMOTExpiry',\r\n name: 'MOT Expiry',\r\n formatter: formatters.Date_DDMMYYYY\r\n },\r\n {\r\n key: 'vehicleTaxDue',\r\n name: 'Tax Due',\r\n formatter: formatters.Date_DDMMYYYY\r\n }\r\n];\r\n\r\nconst CustVehicleScreen = (props) => {\r\n const { showToastError } = useToast();\r\n const history = useHistory();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showEditPopup: false,\r\n showLoader: true,\r\n vehicleList: [],\r\n VehicleID: null\r\n });\r\n\r\n const pullVehicleAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n pullVehicleAndUpdateState();\r\n }, []);\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true\r\n // VehicleID: record.vehicleID\r\n }));\r\n };\r\n\r\n const closeVehicleModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullVehicleAndUpdateState();\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.vehicleID}`\r\n });\r\n };\r\n\r\n const dataFormatter = (val, row) => {\r\n return (\r\n \r\n handleEditClick(row)} />\r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n // let setRow = (val) => {\r\n // let filterRow = val.filter((m) => m.vehicleCustomerId == props.customerID);\r\n // return filterRow;\r\n // };\r\n const title = state.VehicleID ? 'Update Vehicle' : 'Add Vehicle';\r\n return (\r\n
\r\n {state.show ? (\r\n closeVehicleModal(true)} customerID={props.customerID} />\r\n ) : (\r\n <>\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\nexport default CustVehicleScreen;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { DataGrid, EditButton, formatters } from '../../../../../Core/Controls';\r\nimport { getCustomerBreakdowns } from '../../../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport AddBreaddownModal from '../../../Maintenance/BreakDown/AddBreakdown';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { Link } from 'react-router-dom';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 145, addFileUploaderIcon: true },\r\n {\r\n key: 'defectDate',\r\n name: 'Date',\r\n formatter: formatters.Date_DDMMYYYY\r\n },\r\n { key: 'defectRegNumber', name: 'Registration' },\r\n { key: 'defectLocation', name: 'Location' },\r\n // { key: 'defectDriverName', name: 'Driver Name' },\r\n // { key: 'defectDriverTelephone', name: 'Driver Number' },\r\n { key: 'defectContactName', name: 'Reported By' },\r\n { key: 'defectContactNumber', name: 'Reported Phone' },\r\n { key: 'defectJobStatusDescription', name: 'Status' },\r\n { key: 'defectType', name: 'Defect Type' }\r\n];\r\n\r\nconst BreakDownDashboard = (props) => {\r\n const [state, setState] = useState({\r\n breakdownList: [],\r\n loader: true,\r\n modalToggle: false,\r\n breakID: null,\r\n rowVehicleID: null\r\n });\r\n let history = useHistory();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const handleBreakDown = (params, VehicleID) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: true,\r\n breakID: params,\r\n rowVehicleID: VehicleID\r\n }));\r\n };\r\n const closeModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: false\r\n }));\r\n res && pullBreakDownAndUpdateState();\r\n };\r\n\r\n useEffect(async () => {\r\n pullBreakDownAndUpdateState();\r\n }, []);\r\n\r\n const pullBreakDownAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.defectJobID}/${val?.defectVehicleID}`,\r\n\r\n state: 'breakdown'\r\n });\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n <>\r\n handleBreakDown(row.defectID, row.defectVehicleID)} />\r\n\r\n {checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)}\r\n />\r\n )}\r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n const gridBtnTitle = !props.VehicleID ? '' : 'Add Breakdown';\r\n\r\n return (\r\n
\r\n {state.modalToggle ? (\r\n closeModal(true)} breakDownID={state.breakID} />\r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n idFieldName=\"defectID\"\r\n fileUploaderConfigName=\"BreakdownScreen\"\r\n getUrl={`VehicleBreakdowns?customerID=${props.customerID}`}\r\n btnTitle={gridBtnTitle}\r\n onBtnClick={() => handleBreakDown(null)}\r\n isReload={state.isReload}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default BreakDownDashboard;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const fleetInsuranceList = async (id) => {\r\n let res = await getWithAuth(`FleetInsurances?CustomerID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getFleetInsurancesByID = async (id) => {\r\n let res = await getWithAuth(`FleetInsurances/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postFleetInsurances = async (data) => {\r\n let res = await postWithAuth(`FleetInsurances`, data);\r\n return res;\r\n};\r\n","import React, { useState, useCallback, useEffect } from 'react';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { InputLabel, Grid, Typography, RadioGroup, Radio, FormControlLabel, FormHelperText } from '@material-ui/core';\r\nimport { MandatoryField, SelectBox, SimpleField, DatePicker, SecondaryButton, formatters } from '../../../../../Core/Controls';\r\nimport { getFleetInsurancesByID, postFleetInsurances } from '../../../../../Core/Services/InternalUser/fleetInsurance';\r\nimport { FromLoader } from '../../../../../Core/Loader/formLoader';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\nconst AddFleetInsurance = (props) => {\r\n const [state, setState] = useState({\r\n fleetInsuranceCustomerID: props.customerID,\r\n fleetInsuranceId: props.fleetInsuranceId,\r\n fleetInsurancePremiumFrequency: null,\r\n fleetInsuranceUseBusiness: false,\r\n fleetInsuranceDriversAgency: false,\r\n fleetInsuranceUseSDP: false,\r\n fleetInsuranceUseCarriage: false,\r\n errors: {},\r\n showLoader: props.fleetInsuranceId ? true : false\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const handleInput = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n setState((st) => {\r\n let state = { ...st };\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n state[name] = true;\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n state[name] = false;\r\n } else {\r\n state[name] = value;\r\n }\r\n\r\n return state;\r\n });\r\n }, []);\r\n\r\n let premiumFrequency = [\r\n {\r\n id: 'A',\r\n name: 'Annual'\r\n },\r\n {\r\n id: 'M',\r\n name: 'Monthly'\r\n }\r\n ];\r\n\r\n useEffect(async () => {\r\n if (props.fleetInsuranceId) {\r\n let res = await getFleetInsurancesByID(props.fleetInsuranceId);\r\n if (res.success) {\r\n let data = res.data?.list[0];\r\n setState((st) => ({\r\n ...st,\r\n fleetInsuranceId: data.fleetInsuranceId,\r\n fleetInsuranceCustomerID: data.fleetInsuranceCustomerID,\r\n fleetInsuranceInsurerName: data.fleetInsuranceInsurerName,\r\n fleetInsuranceInsurerContactName: data.fleetInsuranceInsurerContactName,\r\n fleetInsuranceInsurerTelephone: data.fleetInsuranceInsurerTelephone,\r\n fleetInsuranceInsurerEmail: data.fleetInsuranceInsurerEmail,\r\n fleetInsurancePolicyNumber: data.fleetInsurancePolicyNumber,\r\n fleetInsuranceBrokerName: data.fleetInsuranceBrokerName,\r\n fleetInsuranceBrokerContactName: data.fleetInsuranceBrokerContactName,\r\n fleetInsuranceBrokerTelephone: data.fleetInsuranceBrokerTelephone,\r\n fleetInsuranceBrokerEmail: data.fleetInsuranceBrokerEmail,\r\n fleetInsuranceStartDate: formatters.DateFormatter(data.fleetInsuranceStartDate),\r\n fleetInsuranceExpiryDate: formatters.DateFormatter(data.fleetInsuranceExpiryDate),\r\n fleetInsuranceReviewFrom: formatters.DateFormatter(data.fleetInsuranceReviewFrom),\r\n fleetInsurancePremium: data.fleetInsurancePremium,\r\n fleetInsuranceBusinessType: data.fleetInsuranceBusinessType,\r\n fleetInsuranceBusinessEstablished: data.fleetInsuranceBusinessEstablished,\r\n fleetInsuranceUseSDP: data.fleetInsuranceUseSDP,\r\n fleetInsuranceUseBusiness: data.fleetInsuranceUseBusiness,\r\n fleetInsuranceUseCarriage: data.fleetInsuranceUseCarriage,\r\n fleetInsuranceUseOther: data.fleetInsuranceUseOther,\r\n fleetInsuranceExcessAccidentDamage: data.fleetInsuranceExcessAccidentDamage,\r\n fleetInsuranceExcessFireAndTheft: data.fleetInsuranceExcessFireAndTheft,\r\n fleetInsuranceExcessWindcreen: data.fleetInsuranceExcessWindcreen,\r\n fleetInsuranceDriversUnder25: data.fleetInsuranceDriversUnder25,\r\n fleetInsuranceDrivers25to29: data.fleetInsuranceDrivers25to29,\r\n fleetInsuranceDrivers30orOver: data.fleetInsuranceDrivers30orOver,\r\n fleetInsuranceDriversAgency: data.fleetInsuranceDriversAgency,\r\n fleetInsuranceNotes: data.fleetInsuranceNotes,\r\n fleetInsuranceMIDUpdatedBy: data.fleetInsuranceMIDUpdatedBy,\r\n fleetInsurancePremiumFrequency: data.fleetInsurancePremiumFrequency,\r\n showLoader: false\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const validation = () => {\r\n const { fleetInsuranceInsurerName, fleetInsurancePolicyNumber, fleetInsuranceExpiryDate, fleetInsurancePremiumFrequency } = state;\r\n let errors = {};\r\n let isValid = true;\r\n if (!fleetInsuranceInsurerName) {\r\n errors.fleetInsuranceInsurerName = 'Insurer Name is required';\r\n isValid = false;\r\n }\r\n if (!fleetInsurancePolicyNumber) {\r\n errors.fleetInsurancePolicyNumber = 'Policy Number is required';\r\n isValid = false;\r\n }\r\n if (!fleetInsuranceExpiryDate) {\r\n errors.fleetInsuranceExpiryDate = 'Renew Date is required';\r\n isValid = false;\r\n }\r\n if (!fleetInsurancePremiumFrequency) {\r\n errors.fleetInsurancePremiumFrequency = 'Premium Frequency is required';\r\n isValid = false;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors: errors\r\n }));\r\n return isValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validation()) {\r\n let data = {\r\n fleetInsuranceId: state.fleetInsuranceId || null,\r\n fleetInsuranceCustomerID: state.fleetInsuranceCustomerID || null,\r\n fleetInsuranceInsurerName: state.fleetInsuranceInsurerName || null,\r\n fleetInsuranceInsurerContactName: state.fleetInsuranceInsurerContactName || null,\r\n fleetInsuranceInsurerTelephone: state.fleetInsuranceInsurerTelephone || null,\r\n fleetInsuranceInsurerEmail: state.fleetInsuranceInsurerEmail || null,\r\n fleetInsurancePolicyNumber: state.fleetInsurancePolicyNumber || null,\r\n fleetInsuranceBrokerName: state.fleetInsuranceBrokerName || null,\r\n fleetInsuranceBrokerContactName: state.fleetInsuranceBrokerContactName || null,\r\n fleetInsuranceBrokerTelephone: state.fleetInsuranceBrokerTelephone || null,\r\n fleetInsuranceBrokerEmail: state.fleetInsuranceBrokerEmail || null,\r\n fleetInsuranceStartDate: formatters.DateFormatter(state.fleetInsuranceStartDate) || null,\r\n fleetInsuranceExpiryDate: formatters.DateFormatter(state.fleetInsuranceExpiryDate) || null,\r\n fleetInsuranceReviewFrom: formatters.DateFormatter(state.fleetInsuranceReviewFrom) || null,\r\n fleetInsurancePremium: state.fleetInsurancePremium || null,\r\n fleetInsuranceBusinessType: state.fleetInsuranceBusinessType || null,\r\n fleetInsuranceBusinessEstablished: state.fleetInsuranceBusinessEstablished || null,\r\n fleetInsuranceUseSDP: state.fleetInsuranceUseSDP,\r\n fleetInsuranceUseBusiness: state.fleetInsuranceUseBusiness,\r\n fleetInsuranceUseCarriage: state.fleetInsuranceUseCarriage,\r\n fleetInsuranceUseOther: state.fleetInsuranceUseOther || null,\r\n fleetInsuranceExcessAccidentDamage: state.fleetInsuranceExcessAccidentDamage || null,\r\n fleetInsuranceExcessFireAndTheft: state.fleetInsuranceExcessFireAndTheft || null,\r\n fleetInsuranceExcessWindcreen: state.fleetInsuranceExcessWindcreen || null,\r\n fleetInsuranceDriversUnder25: state.fleetInsuranceDriversUnder25 || null,\r\n fleetInsuranceDrivers25to29: state.fleetInsuranceDrivers25to29 || null,\r\n fleetInsuranceDrivers30orOver: state.fleetInsuranceDrivers30orOver || null,\r\n fleetInsuranceDriversAgency: state.fleetInsuranceDriversAgency,\r\n fleetInsuranceNotes: state.fleetInsuranceNotes || null,\r\n fleetInsuranceMIDUpdatedBy: state.fleetInsuranceMIDUpdatedBy || null,\r\n fleetInsurancePremiumFrequency: state.fleetInsurancePremiumFrequency || null\r\n };\r\n\r\n let res = await postFleetInsurances(data);\r\n if (res.success) {\r\n showToastSuccess('Fleet Insurance added successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n // props.onClose(true);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {state.showLoader ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n Insurer & Policy Details{' '}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {' '}\r\n \r\n Policy Start Date\r\n \r\n \r\n \r\n Renewal Date *\r\n \r\n {state.errors.fleetInsuranceExpiryDate}\r\n \r\n \r\n Review From Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Premium Frequency\r\n \r\n \r\n {state.errors.fleetInsurancePremiumFrequency}\r\n \r\n
\r\n \r\n \r\n \r\n Broker Details\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Driver Details{' '}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {' '}\r\n Are Agency Drivers Employed?\r\n \r\n\r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n
\r\n \r\n \r\n \r\n Proposer Details{' '}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Vehicle Use\r\n \r\n
\r\n
\r\n \r\n Social Domestic and Pleasure\r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n Business Class 3 / Carriage of Own Goods\r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n Carriage of Goods for Hire & Reward\r\n \r\n } label=\"Yes\" />\r\n } label=\"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 Submit\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default AddFleetInsurance;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport AddFleetInsurance from './addfleetInsurance';\r\nimport { DataGrid, EditButton, formatters } from '../../../../../Core/Controls';\r\nimport { fleetInsuranceList } from '../../../../../Core/Services/InternalUser/fleetInsurance';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: '5%'\r\n },\r\n { key: 'fleetInsuranceInsurerName', name: 'Name' },\r\n { key: 'fleetInsuranceInsurerTelephone', name: 'Phone' },\r\n { key: 'fleetInsurancePolicyNumber', name: 'Policy Number' },\r\n { key: 'fleetInsuranceStartDate', name: 'Period From', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'fleetInsuranceExpiryDate', name: 'Period To', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'fleetInsuranceBusinessEstablished', name: 'Vehicle Years' },\r\n { key: 'fleetInsuranceBrokerName', name: 'Broker ' },\r\n { key: 'fleetInsuranceBrokerTelephone', name: 'Broker Phone' }\r\n];\r\n\r\nconst FleetInsurance = (props) => {\r\n const [state, setState] = useState({\r\n showDialog: false,\r\n resList: [],\r\n isReload: null\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n
\r\n handleDialog(row.fleetInsuranceId)} />\r\n
\r\n );\r\n };\r\n\r\n const pullListData = async () => {\r\n // let res = await fleetInsuranceList(props.customerID);\r\n setState((st) => ({\r\n ...st,\r\n // resList: res.data.list\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleDialog = (data) => {\r\n setState((st) => ({\r\n ...st,\r\n showDialog: true,\r\n fleetInsuranceId: data\r\n }));\r\n };\r\n\r\n const closeDialog = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showDialog: false\r\n }));\r\n res && pullListData();\r\n };\r\n const gridBtnTitle = 'Add Insurance';\r\n\r\n let getUrl = `FleetInsurances?CustomerID=${props.customerID}`;\r\n\r\n return (\r\n
\r\n {state.showDialog ? (\r\n \r\n ) : (\r\n // handleDialog(null)}\r\n // rows={state.resList}\r\n // />\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle={`${checkhaveAccess?.CanUpdateCustomerFleetInsurance ? gridBtnTitle : ''}`}\r\n onBtnClick={() => handleDialog(null)}\r\n isReload={state.isReload}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default FleetInsurance;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { Postcode, SimpleField, SelectBox, SecondaryButton, MandatoryField } from '../../../../../Core/Controls';\r\nimport { postEndUser, getEndUserByID } from '../../../../../Core/Services/InternalUser/ControllerService/endUserService';\r\n\r\nconst AddEditEndUser = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n const [state, setState] = useState({\r\n endUserCountryCode: 'GB',\r\n endUserID: null,\r\n endUserCustomerID: props.customerID,\r\n errors: {}\r\n });\r\n const setVal = (s) => {\r\n setState((st) => ({\r\n ...st,\r\n endUserAddress1: s.addressLine1,\r\n endUserAddress2: s.addressLine2,\r\n endUserTown: s.town,\r\n endUserCounty: s.county,\r\n endUserPostCode: s.postCode\r\n }));\r\n };\r\n\r\n const countryList = [\r\n { id: 'GB', name: 'GB' },\r\n { id: 'IE', name: 'IE' }\r\n ];\r\n\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n useEffect(async () => {\r\n if (props.endUserId) {\r\n let res = await getEndUserByID(props.endUserId);\r\n let data = res.data.list[0];\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n endUserID: data.endUserID || null,\r\n endUserCustomerID: data.endUserCustomerID || null,\r\n endUserName: data.endUserName || null,\r\n endUserAddress1: data.endUserAddress1 || null,\r\n endUserAddress2: data.endUserAddress2 || null,\r\n endUserTown: data.endUserTown || null,\r\n endUserCounty: data.endUserCounty || null,\r\n endUserCountryCode: data.endUserCountryCode || null,\r\n endUserPostCode: data.endUserPostCode || null,\r\n endUserContactName: data.endUserContactName || null,\r\n endUserContactPhone: data.endUserContactPhone || null,\r\n endUserContactEmail: data.endUserContactEmail || null\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n let validation = () => {\r\n let errors = {};\r\n let isValid = true;\r\n let { endUserName } = state;\r\n if (!endUserName) {\r\n errors.endUserName = 'Name is required';\r\n isValid = false;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors\r\n }));\r\n return isValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validation()) {\r\n setBtnLoader(true);\r\n let data = {\r\n endUserID: state.endUserID || null,\r\n endUserCustomerID: state.endUserCustomerID || null,\r\n endUserName: state.endUserName || null,\r\n endUserAddress1: state.endUserAddress1 || null,\r\n endUserAddress2: state.endUserAddress2 || null,\r\n endUserTown: state.endUserTown || null,\r\n endUserCounty: state.endUserCounty || null,\r\n endUserCountryCode: state.endUserCountryCode || null,\r\n endUserPostCode: state.endUserPostCode || null,\r\n endUserContactName: state.endUserContactName || null,\r\n endUserContactPhone: state.endUserContactPhone || null,\r\n endUserContactEmail: state.endUserContactEmail || null\r\n };\r\n let res = await postEndUser(data);\r\n if (res.success) {\r\n showToastSuccess(`End User ${props.endUserId ? `Updated` : `Added`} Successfully`);\r\n props.onClose();\r\n } else {\r\n showToastError(`Fail to ${props.endUserId ? `Updated` : `Added`} End User`);\r\n }\r\n setBtnLoader(false);\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 \r\n \r\n \r\n \r\n {' '}\r\n \r\n Country Code\r\n \r\n \r\n \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.endUserId ? 'Update' : 'Submit'}\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddEditEndUser;\r\n","import React, { useState, useMemo, useEffect } from 'react';\r\nimport { EditButton, formatters } from '../../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport AddEditEndUser from './addEditEndUSer';\r\nimport ReactDOM from 'react-dom';\r\n// import { postEndUser } from '../../../../../Core/Services/InternalUser/ControllerService/endUserService';\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 70\r\n },\r\n {\r\n key: 'endUserName',\r\n name: 'Name',\r\n width: 150\r\n },\r\n\r\n {\r\n key: 'endUserContactName',\r\n name: 'Contact Name',\r\n width: 150\r\n },\r\n {\r\n key: 'endUserContactPhone',\r\n name: 'Contact Phone',\r\n width: 170\r\n },\r\n {\r\n key: 'endUserContactEmail',\r\n name: 'Contact Email',\r\n width: 170\r\n },\r\n {\r\n key: 'endUserAddress',\r\n name: 'Address'\r\n }\r\n];\r\n\r\nconst EndUser = (props) => {\r\n const [state, setState] = useState({\r\n showModal: false\r\n });\r\n const pullApiData = () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n const handleModal = (val, res) => {\r\n setState((st) => ({ ...st, showModal: !st.showModal, endUserId: val?.endUserID }));\r\n res && pullApiData();\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n
\r\n handleModal(row, false)} toolTipTitle=\"Edit Report Catalogue\" />\r\n
\r\n );\r\n };\r\n\r\n const renderEmail = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk =
{formatters.mailFormatter(row.endUserContactEmail)}
;\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderPhone = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk =
{formatters.phoneNumberFormatter(row.endUserContactPhone)}
;\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n let emailCol = tempCols.find((element) => element.key === 'endUserContactEmail');\r\n let phoneCol = tempCols.find((element) => element.key === 'endUserContactPhone');\r\n\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (emailCol) {\r\n emailCol.formatter = renderEmail;\r\n }\r\n if (phoneCol) {\r\n phoneCol.formatter = renderPhone;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const getUrl = `endusers?CustomerID=${props.customerID}`;\r\n return (\r\n
\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle=\"Add Item\"\r\n onBtnClick={() => handleModal(null, false)}\r\n isReload={state.isReload}\r\n />\r\n\r\n {state.showModal ? (\r\n handleModal(null, false)} maxWidth=\"lg\">\r\n handleModal(null, true)} endUserId={state.endUserId} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default EndUser;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getFaultTypesByID = async (Id) => {\r\n let res = await getWithAuth(`faultTypes/${Id}`);\r\n return res;\r\n};\r\nexport const getFaultTypesById = async (Id) => {\r\n let res = await getWithAuth(`faultTypes/CustomerID=${Id}`);\r\n return res;\r\n};\r\n\r\nexport const postFaultTypes = async (data) => {\r\n let res = await postWithAuth('faultTypes', data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { SecondaryButton, MandatoryField } from '../../../../../Core/Controls';\r\nimport { postFaultTypes, getFaultTypesByID } from '../../../../../Core/Services/InternalUser/ControllerService/faultTypeService';\r\n\r\nconst AddEditFaultTypes = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n const [state, setState] = useState({\r\n faultTypeID: null,\r\n faultTypeCustomerID: props.customerID,\r\n errors: {}\r\n });\r\n\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n useEffect(async () => {\r\n if (props.faultTypeID) {\r\n let res = await getFaultTypesByID(props.faultTypeID);\r\n let data = res.data.list[0];\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n faultTypeID: data.faultTypeID || null,\r\n faultTypeCustomerID: data.faultTypeCustomerID || null,\r\n faultTypeDescription: data.faultTypeDescription || null\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n let validation = () => {\r\n let errors = {};\r\n let isValid = true;\r\n let { faultTypeDescription } = state;\r\n if (!faultTypeDescription) {\r\n errors.faultTypeDescription = 'Description is required';\r\n isValid = false;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors\r\n }));\r\n return isValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validation()) {\r\n setBtnLoader(true);\r\n let data = {\r\n faultTypeID: state.faultTypeID || null,\r\n faultTypeCustomerID: state.faultTypeCustomerID || null,\r\n faultTypeDescription: state.faultTypeDescription || null\r\n };\r\n let res = await postFaultTypes(data);\r\n if (res.success) {\r\n showToastSuccess(`Fault Type ${props.faultTypeID ? `Updated` : `Added`} Successfully`);\r\n props.onClose();\r\n } else {\r\n showToastError(`Fail to ${props.faultTypeID ? `Updated` : `Added`} Fault Type`);\r\n }\r\n setBtnLoader(false);\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 {props.faultTypeID ? 'Update' : 'Submit'}\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddEditFaultTypes;\r\n","import React, { useState, useMemo } from 'react';\r\nimport { EditButton } from '../../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport AddEditFaultTypes from './AddEditFaultTypes';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 60\r\n },\r\n {\r\n key: 'faultTypeDescription',\r\n name: 'Description'\r\n }\r\n];\r\n\r\nconst FaultTypes = (props) => {\r\n const [state, setState] = useState({\r\n showModal: false\r\n });\r\n const pullApiData = () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n const handleModal = (val, res) => {\r\n setState((st) => ({ ...st, showModal: !st.showModal, faultTypeID: val?.faultTypeID }));\r\n res && pullApiData();\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n
\r\n handleModal(row, false)} toolTipTitle=\"Edit Fault Type\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const getUrl = `FaultTypes?CustomerID=${props.customerID}`;\r\n return (\r\n
\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle=\"Add Fault Type\"\r\n onBtnClick={() => handleModal(null, false)}\r\n isReload={state.isReload}\r\n />\r\n\r\n {state.showModal ? (\r\n handleModal(null, false)} maxWidth=\"lg\">\r\n handleModal(null, true)} faultTypeID={state.faultTypeID} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default FaultTypes;\r\n","import { Card, Grid, Tooltip, Typography } from '@material-ui/core';\r\nimport './vorReporting.scss';\r\n\r\nexport const RenderReportingByFilter = (props) => {\r\n return (\r\n \r\n \r\n {props.list?.length > 0 ? (\r\n props.list?.map((option, i = 1) => {\r\n return (\r\n \r\n
\r\n {/* */}\r\n
\r\n props.handleEditRegClick(option, props.label) : ''}\r\n style={{ cursor: props.handleEditRegClick ? 'pointer' : 'default' }}\r\n >\r\n
{option.sum ? option.sum : 0}
\r\n {option.val ? option.val : `${'\\u{2800}'}`}\r\n
\r\n
\r\n {/* */}\r\n \r\n
\r\n );\r\n })\r\n ) : (\r\n \r\n
{props.noRow}
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst RenderReporting = (props) => {\r\n let getSize = props.label === 'Top 5 Vehicles' || props.label === 'Top 5 Makes' || props.label === 'Top 5 Models';\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n {props.label}\r\n \r\n
\r\n
\r\n {props.list?.length > 0 ? (\r\n props.list?.map((option, i = 1) => {\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n
{option.total}
\r\n {option.val}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n })\r\n ) : (\r\n \r\n {props.noRow}\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RenderReporting;\r\n","import { Grid, Typography } from '@material-ui/core';\r\nimport React from 'react';\r\nimport { BarChart, Bar, Cell, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, Label, ComposedChart } from 'recharts';\r\nimport { PieChart, Pie, Sector, LabelList } from 'recharts';\r\n\r\nconst barColors = {\r\n 0: '#0074D9',\r\n 1: '#FF4136',\r\n 2: '#2ECC40',\r\n 3: '#FF851B',\r\n 4: '#7FDBFF',\r\n 5: '#B10DC9',\r\n 6: '#FFDC00',\r\n 7: '#001f3f',\r\n 8: '#39CCCC',\r\n 9: '#01FF70',\r\n 10: '#85144b',\r\n 11: '#F012BE',\r\n 12: '#3D9970',\r\n 13: '#111111',\r\n 14: '#AAAAAA'\r\n};\r\nconst renderCurrencyLabel = (props) => {\r\n const { x, y, width, height, value } = props;\r\n const radius = 10;\r\n\r\n return (\r\n \r\n \r\n {value ? <>£{value.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} : <>£0.00}\r\n \r\n \r\n );\r\n};\r\n\r\nconst renderCustomizedLabel = (props) => {\r\n const { x, y, width, height, value } = props;\r\n const radius = 10;\r\n\r\n return (\r\n \r\n \r\n {value}\r\n \r\n \r\n );\r\n};\r\n\r\nexport const ReportingBarChart = (props) => {\r\n const { list, label, hideCurrnecy } = props;\r\n return (\r\n
\r\n
\r\n {list.length > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {hideCurrnecy ? (\r\n \r\n \r\n {list.map((entry, index) => {\r\n if (props.handleEditRegClick) {\r\n return (\r\n {\r\n props.handleEditRegClick(entry, props.setval);\r\n }}\r\n style={{ cursor: 'pointer' }}\r\n />\r\n );\r\n } else {\r\n return ;\r\n }\r\n })}\r\n \r\n ) : (\r\n \r\n \r\n {list.map((entry, index) => (\r\n {\r\n // handleDetailpopUp(entry, ' Depots');\r\n // }}\r\n style={{ cursor: 'pointer' }}\r\n />\r\n ))}\r\n \r\n )}\r\n \r\n \r\n ) : (\r\n \r\n
\r\n
No Records Found
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\nimport moment from 'moment';\r\nimport _ from 'lodash';\r\n\r\nconst downloadFileWithExt = async (res, fileExt) => {\r\n if (res) {\r\n const url = window.URL.createObjectURL(new Blob([res.data]));\r\n const link = document.getElementById('tempDownloadPDFLink') || document.createElement('a');\r\n link.id = 'tempDownloadPDFLink';\r\n link.href = url;\r\n link.setAttribute('download', `Report${moment().format('DD-MMM-YYYY HH:mm')}.${fileExt}`);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n return true;\r\n }\r\n};\r\n\r\nexport const GetVORReportingExcelFile = async (params) => {\r\n let res = await getWithAuth(\r\n `VORVehicles/GetExcelFile?startDate=${params.fromDate}&endDate=${params.toDate}&Id=${params.customerID}&vehicleCategoryID=${params.vehicleCategoryID}&makeID=${params.makeID}`,\r\n {\r\n responseType: 'blob',\r\n returnOrgRes: true\r\n }\r\n );\r\n downloadFileWithExt(res, params.fileExt);\r\n};\r\nexport const GetDefectReportingExcelFile = async (params) => {\r\n let res = await getWithAuth(`VehicleDefects/GetDefectExcelFile?startDate=${params.fromDate}&endDate=${params.toDate}&Id=${params.customerID}`, {\r\n responseType: 'blob',\r\n returnOrgRes: true\r\n });\r\n downloadFileWithExt(res, params.fileExt);\r\n};\r\nexport const GetBreakdownReportingExcelFile = async (params) => {\r\n let res = await getWithAuth(`VehicleBreakdowns/GetBreakdownExcelFile?startDate=${params.fromDate}&endDate=${params.toDate}&Id=${params.customerID}`, {\r\n responseType: 'blob',\r\n returnOrgRes: true\r\n });\r\n downloadFileWithExt(res, params.fileExt);\r\n};\r\nexport const GetJobReportingExcelFile = async (params) => {\r\n let res = await getWithAuth(`VehicleJob/GetJobExcelFile?startDate=${params.fromDate}&endDate=${params.toDate}&Id=${params.customerID}`, {\r\n responseType: 'blob',\r\n returnOrgRes: true\r\n });\r\n downloadFileWithExt(res, params.fileExt);\r\n};\r\n\r\nexport const GetSchedulesExcelFile = async (params) => {\r\n let res = await getWithAuth(\r\n `Schedules/DownLoadExcelFile?status=${params.status}\r\n &mode=${params.mode}\r\n &startDate=${params.startDate}\r\n &endDate=${params.endDate}`,\r\n {\r\n responseType: 'blob',\r\n returnOrgRes: true\r\n }\r\n );\r\n downloadFileWithExt(res, params.fileExt);\r\n};\r\n\r\nexport const GetOutstandingDocSchedulesExcelFile = async (params) => {\r\n let temp = '';\r\n\r\n if (!_.isEmpty(params.filterValues)) {\r\n for (const property in params.filterValues) {\r\n temp = temp + `&${property}=${params.filterValues[property]}`;\r\n }\r\n }\r\n let res = await getWithAuth(`Schedules/OutstandingScheduleDoc/DownLoadExcelFile?received=${params.received}${temp}`, {\r\n responseType: 'blob',\r\n returnOrgRes: true\r\n });\r\n downloadFileWithExt(res, params.fileExt);\r\n};\r\n","import React, { useEffect, useState, useCallback, useMemo } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, Card, Typography, ButtonGroup, Button } from '@material-ui/core';\r\nimport { SingleSelect, DatePicker, formatters, BreadCrumbs, SecondaryButton } from '../../../Core/Controls';\r\nimport { getVehicleScreenDropdowns } from '../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport '../Controllers/controllerStyle.scss';\r\nimport { getVORVehiclesByType } from '../../../Core/Services/InternalUser/ControllerService/customerService';\r\nimport moment from 'moment';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport './vorReporting.scss';\r\nimport RenderReporting from './RenderReportingDesign';\r\nimport { RenderReportingByFilter } from './RenderReportingDesign';\r\nimport { ReportingBarChart } from '../../../Core/Controls/Charts/index';\r\nimport { GetVORReportingExcelFile } from '../../../Core/Services/InternalUser/excelDownload';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ReactDOM from 'react-dom';\r\nimport AddVor from '../Controllers/VOR/AddEditVor';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport FaultTypes from './../Controllers/Customers/FaultTypes/index';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'VOR Reporting', active: true }\r\n];\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n border: '2px solid #f5f5f5',\r\n Opacity: 0.9,\r\n minWidth: 120,\r\n borderRadius: 10,\r\n boxShadow: 'none',\r\n background: '#8080800d',\r\n height: '100%',\r\n width: '100%'\r\n }\r\n}));\r\n\r\nconst baseColumns = [\r\n // { key: 'action', name: 'Action', width: 100 },\r\n { key: 'vehicleRegNumber', name: 'Reg Number', width: 120 },\r\n { key: 'vorVehicleDateStarted', name: 'Start Date', width: '13%', formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'vorVehicleDateEnded', name: 'End Date', width: '13%', formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'vorDays', name: 'VOR Days', width: '20%' },\r\n { key: 'vorTypeDescription', name: 'Type', width: '10%' },\r\n { key: 'vorTypeDetailDescription', name: 'Reason' },\r\n { key: 'vehicleCategoryDescription', name: 'Sub Category', width: '10%' },\r\n { key: 'depotName', name: 'Depot', width: '10%' }\r\n];\r\n\r\nlet startDate = moment().startOf('month').format('YYYY-MM-DD');\r\nlet endDate = moment().format('YYYY-MM-DD');\r\nfunction VorReportingModal(props) {\r\n let history = useHistory();\r\n const [state, setState] = useState({\r\n customerList: [],\r\n errors: {},\r\n depotWithCustList: [],\r\n depotsList: [],\r\n customerID: +props?.match?.params.id || props.customerID || null,\r\n depotsID: null,\r\n startDate: startDate,\r\n endDate: endDate,\r\n VehicleByType: [],\r\n VorList: [],\r\n NumberOfDepot: [],\r\n sumOfAllDepot: 0,\r\n setTop5ID: 1,\r\n setBarData: 4,\r\n top5Days: 1,\r\n setBarVal: 1,\r\n set_type: 6,\r\n show: false,\r\n vehicleCategoryList: [],\r\n vehicleDepotsList: [],\r\n byReg: [],\r\n depot: [],\r\n faultType: [],\r\n make: [],\r\n model: [],\r\n reason: [],\r\n type: [],\r\n TypeIsReload: null,\r\n reasonList: [],\r\n FaultTypes: [],\r\n makeList: [],\r\n vehicleCategoryListdropdown: []\r\n });\r\n\r\n const handleEditRegClick = (val, cond) => {\r\n switch (cond) {\r\n case 'Vehicles':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n state: { vehicleRegNumber: val.reg },\r\n startDate: state.startDate,\r\n endDate: state.endDate,\r\n customerID: val.customer\r\n });\r\n break;\r\n case 'Models':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n // state: { customerCompanyName: val.customer, vehicleRegNumber: val.reg },\r\n startDate: state.startDate,\r\n endDate: state.endDate,\r\n customerID: val.customer,\r\n model: val.model\r\n });\r\n break;\r\n case 'Makes':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n // state: { customerCompanyName: val.customer, vehicleRegNumber: val.reg },\r\n startDate: state.startDate,\r\n endDate: state.endDate,\r\n customerID: val.customer,\r\n make: val.make\r\n });\r\n break;\r\n case 'Category':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n state: { vorTypeDescription: val.vorType },\r\n startDate: state.startDate,\r\n endDate: state.endDate,\r\n customerID: val.customer\r\n });\r\n break;\r\n case 'Depots':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n state: { depotName: val.name },\r\n startDate: state.startDate,\r\n endDate: state.endDate,\r\n customerID: val.customer\r\n });\r\n break;\r\n case 'reg':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n state: val,\r\n startDate: state.startDate,\r\n endDate: state.endDate\r\n });\r\n break;\r\n }\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
closeVorModal(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.vehicleRegNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const classes = useStyles();\r\n\r\n const handleReports = (val) => {\r\n setState((st) => ({ ...st, top5Days: val }));\r\n };\r\n\r\n const handleBarChart = (val) => {\r\n setState((st) => ({ ...st, setBarVal: val }));\r\n };\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n customerIDValue: null,\r\n depotsIDValue: null,\r\n vehicleCategoryIDValue: null,\r\n makeIDValue: null\r\n });\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n let getURl = () => {\r\n return `VORVehicles?startDate=${state.startDate}&endDate=${state.endDate}&CustomerId=${tempOptions.customerIDValue?.id || ''}&vehicleCategoryID=${\r\n tempOptions.vehicleCategoryIDValue?.id || ''\r\n }&makeID=${tempOptions.makeIDValue?.id || ''}`;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...baseColumns];\r\n let actionCol = newColumn.find((item) => item.key === 'vehicleRegNumber');\r\n if (actionCol) {\r\n actionCol.formatter = renderRegNumberEdit;\r\n }\r\n return newColumn;\r\n }, []);\r\n\r\n const title = state.navigationMenuID ? 'Update Menu Items' : 'Add Menu Items';\r\n\r\n useEffect(async () => {\r\n let res = await getVehicleScreenDropdowns();\r\n setState((st) => ({\r\n ...st,\r\n customerList: res.data.customers,\r\n depotsList: res.data.depots,\r\n makeList: res.data.makes || [],\r\n vehicleCategoryListdropdown: res.data.vehicleCategories || []\r\n }));\r\n }, []);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n if (state.customerID && state.customerList?.length > 0) {\r\n newSt.customerIDValue = state.customerList.find(({ id }) => id === +state.customerID);\r\n } else {\r\n newSt.customerIDValue = state.customerList[0];\r\n }\r\n setTempOptions((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [state.customerID, state.customerList]);\r\n\r\n //bar Data Days/Occurrence handler\r\n\r\n useEffect(() => {\r\n let vehicleCategoryList = [];\r\n let vehicleDepotsList = [];\r\n let reasonList = [];\r\n let FaultTypes = [];\r\n switch (state.setBarVal) {\r\n case 1:\r\n vehicleCategoryList =\r\n state.type &&\r\n state.type.map((m) => ({\r\n ...m,\r\n name: m.vorType,\r\n ['Total Days']: m.totalDays,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n vehicleDepotsList =\r\n state.depot &&\r\n state.depot.map((m) => ({\r\n ...m,\r\n name: m.depot,\r\n ['Total Days']: m.totalDays,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n reasonList =\r\n state.reason &&\r\n state.reason.map((m) => ({\r\n ...m,\r\n name: m.vorTypeDetailDescription,\r\n ['Total Days']: m.totalDays,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n FaultTypes =\r\n state.faultType &&\r\n state.faultType.map((m) => ({\r\n ...m,\r\n name: m.faultTypeDescription,\r\n ['Total Days']: m.totalDays,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n break;\r\n case 2:\r\n vehicleCategoryList =\r\n state.type &&\r\n state.type.map((m) => ({\r\n ...m,\r\n name: m.vorType,\r\n ['Total Days']: m.total,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n vehicleDepotsList =\r\n state.depot &&\r\n state.depot.map((m) => ({\r\n ...m,\r\n name: m.depot,\r\n ['Total Days']: m.total,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n reasonList =\r\n state.reason &&\r\n state.reason.map((m) => ({\r\n ...m,\r\n name: m.vorTypeDetailDescription,\r\n ['Total Days']: m.total,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n FaultTypes =\r\n state.faultType &&\r\n state.faultType.map((m) => ({\r\n ...m,\r\n name: m.faultTypeDescription,\r\n ['Total Days']: m.total,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n break;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n vehicleCategoryList: vehicleCategoryList,\r\n vehicleDepotsList: vehicleDepotsList,\r\n reasonList: reasonList,\r\n FaultTypes: FaultTypes\r\n }));\r\n }, [state.setBarVal, state.TypeIsReload]);\r\n\r\n //Top 5 Days/Occurrence handler\r\n\r\n useEffect(() => {\r\n let top5Reg = [];\r\n let top5Makes = [];\r\n let top5models = [];\r\n switch (state.top5Days) {\r\n case 1:\r\n top5Reg = state.byReg && state.byReg.map((m) => ({ ...m, val: m.reg, sum: m.totalDays, customer: tempOptions.customerIDValue.id }));\r\n top5Makes = state.make && state.make?.map((m) => ({ ...m, val: m.make, sum: m.totalDays, customer: tempOptions.customerIDValue.id }));\r\n top5models = state.model && state.model?.map((m) => ({ ...m, val: m.model, sum: m.totalDays, customer: tempOptions.customerIDValue.id }));\r\n break;\r\n\r\n case 2:\r\n top5Reg = state.byReg && state.byReg.map((m) => ({ ...m, val: m.reg, sum: m.total, customer: tempOptions.customerIDValue.id }));\r\n top5Makes = state.make && state.make?.map((m) => ({ ...m, val: m.make, sum: m.total, customer: tempOptions.customerIDValue.id }));\r\n top5models = state.model && state.model?.map((m) => ({ ...m, val: m.model, sum: m.total, customer: tempOptions.customerIDValue.id }));\r\n\r\n break;\r\n }\r\n setState((st) => ({ ...st, top5Reg: top5Reg, top5Makes: top5Makes, top5models: top5models }));\r\n }, [state.top5Days, state.TypeIsReload]);\r\n\r\n useEffect(async () => {\r\n if (state.customerList?.length > 0) {\r\n let res = await getVORVehiclesByType(\r\n tempOptions.customerIDValue?.id || '',\r\n state.startDate,\r\n state.endDate,\r\n tempOptions.vehicleCategoryIDValue?.id || '',\r\n tempOptions.makeIDValue?.id || ''\r\n );\r\n let newSt = {};\r\n let data = res?.data;\r\n if (res.success) {\r\n newSt.TypeIsReload = new Date();\r\n newSt.byReg = data.byReg;\r\n newSt.depot = data.depot;\r\n newSt.faultType = data.faultType;\r\n newSt.make = data.make;\r\n newSt.model = data.model;\r\n newSt.reason = data.reason;\r\n newSt.type = data.type;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n ...newSt,\r\n url: getURl()\r\n }));\r\n }\r\n }, [state.startDate, state.endDate, tempOptions.customerIDValue, tempOptions.makeIDValue, tempOptions.vehicleCategoryIDValue]);\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n if (val) {\r\n setTempOptions((st) => {\r\n let newSt = { ...st, [nm]: val };\r\n if (nm === 'customerIDValue') {\r\n newSt.depotsIDValue = null;\r\n }\r\n return newSt;\r\n });\r\n } else {\r\n setTempOptions((st) => ({ ...st, [nm]: null }));\r\n }\r\n };\r\n useEffect(() => {\r\n const uniquescheduleEventNames = [...new Set(state.VorList.map((item) => item.depotName))];\r\n let Depot = uniquescheduleEventNames.map((m) => {\r\n let a = state.VorList.filter(function (val) {\r\n return val.depotName === m;\r\n }).length;\r\n return { name: m || 'No Depot Found', ['Total Days']: a, customer: tempOptions.customerIDValue.name };\r\n });\r\n let sumOfAllDepot = 0;\r\n let totalCount = [...Depot].forEach(function (item) {\r\n sumOfAllDepot += item.total;\r\n });\r\n setState((st) => ({ ...st, NumberOfDepot: Depot, sumOfAllDepot: sumOfAllDepot }));\r\n }, [state.VorList]);\r\n\r\n const convertData = (res) => {\r\n setState((st) => ({ ...st, VorList: res.data.list }));\r\n return {\r\n records: res.data.list,\r\n total: res.data.total\r\n };\r\n };\r\n const handleStatus = (val) => {\r\n setState((st) => ({ ...st, setTop5ID: val }));\r\n };\r\n\r\n const handleBar = (val) => {\r\n setState((st) => ({ ...st, setBarData: val }));\r\n };\r\n\r\n let settop5List = {\r\n 1: state.top5Reg,\r\n 2: state.top5models,\r\n 3: state.top5Makes,\r\n 4: state.vehicleCategoryList,\r\n 5: state.vehicleDepotsList,\r\n 6: state.reasonList,\r\n 7: state.FaultTypes\r\n };\r\n let label = {\r\n 1: 'Vehicles',\r\n 2: 'Models',\r\n 3: 'Makes',\r\n 4: 'By Category',\r\n 5: 'By Depot',\r\n 6: 'By Reason',\r\n 7: 'By Fault Type'\r\n };\r\n\r\n const closeVorModal = (val) => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n newSt.show = !st.show;\r\n newSt.vorVehicleID = val.vorVehicleID || '';\r\n newSt.VehicleID = val.vorVehicleVehicleID || '';\r\n newSt.regNo = val.vehicleRegNumber;\r\n return newSt;\r\n });\r\n };\r\n\r\n return (\r\n
\r\n {props.fromTab ? '' : }\r\n \r\n \r\n \r\n \r\n Customer\r\n \r\n \r\n {state.errors.customerID}\r\n \r\n \r\n Start Date\r\n \r\n \r\n \r\n End Date\r\n \r\n \r\n \r\n \r\n Vehicle Category\r\n \r\n \r\n {state.errors.vehicleCategoryID}\r\n \r\n \r\n Make\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Top 5 {label[state.setTop5ID]}  \r\n \r\n handleReports(1)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Days\r\n \r\n handleReports(2)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Occurrence\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n handleStatus(1)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Vehicles\r\n \r\n handleStatus(2)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Models\r\n \r\n handleStatus(3)}\r\n style={{ fontSize: 10 }}\r\n >\r\n {' '}\r\n Makes\r\n \r\n \r\n
\r\n {/* */}\r\n
\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[state.setBarData]}\r\n   \r\n \r\n handleBarChart(1)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Days\r\n \r\n handleBarChart(2)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Occurrence\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n handleBar(4)}\r\n style={{ fontSize: 10 }}\r\n >\r\n By Category\r\n \r\n handleBar(5)}\r\n style={{ fontSize: 10 }}\r\n >\r\n {' '}\r\n By Depot\r\n \r\n handleBar(6)}\r\n style={{ fontSize: 10 }}\r\n >\r\n By Reason\r\n \r\n handleBar(7)}\r\n style={{ fontSize: 10 }}\r\n >\r\n {' '}\r\n By Fault Type\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {state.url && (\r\n convertData(res)}\r\n columns={columns}\r\n getUrl={state.url}\r\n isReload={state.isReload}\r\n showDownload={true}\r\n downloadBtnName=\"Download xlsx\"\r\n downloadCustomUrl={() =>\r\n GetVORReportingExcelFile({\r\n fromDate: state.startDate,\r\n toDate: state.endDate,\r\n customerID: tempOptions.customerIDValue?.id || '',\r\n vehicleCategoryID: tempOptions.vehicleCategoryIDValue?.id || '',\r\n makeID: tempOptions.makeIDValue?.id || '',\r\n fileExt: 'xlsx'\r\n })\r\n }\r\n />\r\n )}\r\n \r\n
\r\n {state.show ? (\r\n // \r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\n\r\nexport default VorReportingModal;\r\n","import { Card, FormHelperText, Grid, InputLabel, Tooltip, Typography, ButtonGroup, Button } from '@material-ui/core';\r\nimport React, { useCallback, useEffect, useState, useMemo } from 'react';\r\nimport { BreadCrumbs, DatePicker, formatters, SingleSelect } from '../../../../Core/Controls';\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport moment from 'moment';\r\nimport { getVehicleScreenDropdowns } from '../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { getBreakDownFaultType, getDefectFaultType } from '../../../../Core/Services/InternalUser/Maintenance/DefectsService';\r\nimport '../../VorReporting/vorReporting.scss';\r\nimport { RenderReportingByFilter } from '../../VorReporting/RenderReportingDesign';\r\nimport { ReportingBarChart } from './../../../../Core/Controls/Charts/index';\r\nimport { GetBreakdownReportingExcelFile, GetDefectReportingExcelFile } from '../../../../Core/Services/InternalUser/excelDownload';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ReactDOM from 'react-dom';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Reporting', active: true }\r\n];\r\n\r\nconst crumdsPath = (val) => {\r\n if (val == 'defect') {\r\n return '/maintenance/defects';\r\n }\r\n if (val == 'breakdown') {\r\n return '/maintenance/breakdowns/:all';\r\n }\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n border: '2px solid #f5f5f5',\r\n Opacity: 0.9,\r\n minWidth: 120,\r\n borderRadius: 10,\r\n boxShadow: 'none',\r\n background: '#8080800d',\r\n height: '100%',\r\n width: '100%'\r\n }\r\n}));\r\n\r\nconst baseColumns = [\r\n // { key: 'action', name: 'Action', width: 100 },\r\n {\r\n key: 'regNo',\r\n name: 'Reg Number',\r\n width: 120\r\n },\r\n { key: 'defectNo', name: 'Defect No', width: 120 },\r\n { key: 'defectDate', name: 'Start Date', formatter: formatters.Date_DDMMMYYYY_HHMM, width: 150 },\r\n { key: 'defectDesc', name: 'Description' },\r\n { key: 'customer', name: 'Customer' },\r\n { key: 'depotName', name: 'Depot' },\r\n { key: 'faultTypes', name: 'Fault Types', filterable: 'no', sortable: false }\r\n];\r\n\r\nfunction capitalizeFirstLetter(string) {\r\n return string.charAt(0).toUpperCase() + string.slice(1);\r\n}\r\n\r\nlet startDate = moment().startOf('month').format('YYYY-MM-DD');\r\nlet endDate = moment().format('YYYY-MM-DD');\r\n\r\nconst BreakdownDefectReporting = (props) => {\r\n const classes = useStyles();\r\n let history = useHistory();\r\n\r\n const [state, setState] = useState({\r\n customerList: [],\r\n errors: {},\r\n depotWithCustList: [],\r\n depotsList: [],\r\n customerID: +props?.match?.params.id || props.customerID || null,\r\n depotsID: null,\r\n startDate: startDate,\r\n endDate: endDate,\r\n fromScreen: window.location.pathname.includes('defect') ? 'defect' : 'breakdown',\r\n VehicleByType: [],\r\n VorList: [],\r\n NumberOfDepot: [],\r\n sumOfAllDepot: 0,\r\n url: '',\r\n vorByReg: [],\r\n top5Make: [],\r\n top5Model: [],\r\n setTop5ID: 1,\r\n setBarData: 4,\r\n depot: [],\r\n barValues: 4,\r\n makeList: [],\r\n vehicleCategoryListdropdown: []\r\n });\r\n\r\n const handleReports = (val) => {\r\n setState((st) => ({ ...st, setTop5ID: val }));\r\n };\r\n\r\n const handleBarChart = (val) => {\r\n setState((st) => ({ ...st, setBarData: val }));\r\n };\r\n\r\n const handleBar = (val) => {\r\n setState((st) => ({ ...st, barValues: val }));\r\n };\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n customerIDValue: null,\r\n depotsIDValue: null,\r\n vehicleCategoryIDValue: null,\r\n makeIDValue: null\r\n });\r\n\r\n const Crumbs = useMemo(() => {\r\n const tempCols = [...crumbs];\r\n tempCols.splice(1, 0, { name: `${capitalizeFirstLetter(state.fromScreen)}`, path: crumdsPath(state.fromScreen) });\r\n return tempCols;\r\n }, [state.fromScreen]);\r\n\r\n useEffect(async () => {\r\n let res = await getVehicleScreenDropdowns();\r\n setState((st) => ({\r\n ...st,\r\n customerList: res.data.customers,\r\n depotsList: res.data.depots,\r\n makeList: res.data.makes || [],\r\n vehicleCategoryListdropdown: res.data.vehicleCategories || []\r\n }));\r\n }, []);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n if (state.customerID && state.customerList.length > 0) {\r\n newSt.customerIDValue = state.customerList.find(({ id }) => id === +state.customerID);\r\n } else {\r\n newSt.customerIDValue = state.customerList[0];\r\n }\r\n\r\n setTempOptions((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [state.customerID, state.customerList]);\r\n\r\n let getURl = () => {\r\n if (state.fromScreen == 'defect') {\r\n return `VehicleDefects/ByStartEndDate?startDate=${state.startDate}&endDate=${state.endDate}&CustomerId=${\r\n tempOptions.customerIDValue?.id || ''\r\n }&vehicleCategoryID=${tempOptions.vehicleCategoryIDValue?.id || ''}&makeID=${tempOptions.makeIDValue?.id || ''}`;\r\n }\r\n if (state.fromScreen == 'breakdown') {\r\n return `VehicleBreakdowns/ByStartEndDate?startDate=${state.startDate}&endDate=${state.endDate}&CustomerId=${\r\n tempOptions.customerIDValue?.id || ''\r\n }&vehicleCategoryID=${tempOptions.vehicleCategoryIDValue?.id || ''}&makeID=${tempOptions.makeIDValue?.id || ''}`;\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n let res = {};\r\n if (state.customerList.length > 0 && tempOptions.customerIDValue?.id) {\r\n let newst = {};\r\n if (state.fromScreen == 'defect') {\r\n res = await getDefectFaultType(\r\n tempOptions.customerIDValue?.id || '',\r\n state.startDate,\r\n state.endDate,\r\n tempOptions.vehicleCategoryIDValue?.id || '',\r\n tempOptions.makeIDValue?.id || ''\r\n );\r\n }\r\n if (state.fromScreen == 'breakdown') {\r\n res = await getBreakDownFaultType(\r\n tempOptions.customerIDValue?.id || '',\r\n state.startDate,\r\n state.endDate,\r\n tempOptions.vehicleCategoryIDValue?.id || '',\r\n tempOptions.makeIDValue?.id || ''\r\n );\r\n }\r\n if (res.success) {\r\n newst.VehicleByType = res.data?.list ? res.data?.list?.map((m) => ({ ...m, name: m.faultType, ['Total Days']: m.total })) : [];\r\n newst.depot = res.data?.depot?.map((m) => ({ ...m, name: m.depot, ['Total Days']: m.total })) || [];\r\n newst.vorByReg = res.data?.byReg ? res.data?.byReg?.map((m) => ({ ...m, val: m.reg, sum: m.total })) : [];\r\n newst.top5Make = res.data?.top5Make ? res.data?.top5Make?.map((m) => ({ ...m, val: m.make, sum: m.total })) : [];\r\n newst.top5Model = res.data?.top5Model ? res.data?.top5Model?.map((m) => ({ ...m, val: m.model, sum: m.total })) : [];\r\n }\r\n setState((st) => ({\r\n ...st,\r\n ...newst,\r\n url: getURl()\r\n }));\r\n }\r\n }, [state.startDate, state.endDate, tempOptions.customerIDValue, tempOptions.makeIDValue, tempOptions.vehicleCategoryIDValue]);\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n if (val) {\r\n setTempOptions((st) => {\r\n let newSt = { ...st, [nm]: val };\r\n if (nm === 'customerIDValue') {\r\n newSt.depotsIDValue = null;\r\n }\r\n return newSt;\r\n });\r\n } else {\r\n setTempOptions((st) => ({ ...st, [nm]: null }));\r\n }\r\n };\r\n\r\n const convertData = (res) => {\r\n setState((st) => ({ ...st, VorList: res.data.list }));\r\n return {\r\n records: res.data.list,\r\n total: res.data.total\r\n };\r\n };\r\n\r\n let settop5List = {\r\n 1: state.vorByReg,\r\n 2: state.top5Model,\r\n 3: state.top5Make,\r\n 4: state.VehicleByType,\r\n 5: state.depot\r\n };\r\n let label = {\r\n 1: 'Vehicles (Occurrence)',\r\n 2: 'Models (Occurrence)',\r\n 3: 'Makes (Occurrence)',\r\n 4: 'By Fault Type (Occurrence)',\r\n 5: 'By Depot (Occurrence)'\r\n };\r\n const renderVehicleReg = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n \r\n history.push({\r\n pathname: `/controller/editVehicle/${row.vehicleID}`\r\n })\r\n }\r\n style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}\r\n >\r\n {row.regNo}\r\n \r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n const gotoDefectEditScreen = (row) => {\r\n return state.fromScreen == 'defect'\r\n ? history.push({\r\n pathname: `/maintenance/defect/Edit/${row.defectID}/${row.vehicleID}`,\r\n state: 'Edit'\r\n })\r\n : history.push({\r\n pathname: `/maintenance/breakdowns/Edit/${row.defectID}/${row.vehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n const rendeDefectNo = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
gotoDefectEditScreen(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.defectNo}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n const tempCol = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'regNo');\r\n let agentNameCol = tempCols.find((element) => element.key === 'defectNo');\r\n if (actionCol) {\r\n actionCol.formatter = renderVehicleReg;\r\n }\r\n if (agentNameCol) {\r\n agentNameCol.formatter = rendeDefectNo;\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n\r\n return (\r\n
\r\n {props.fromTab ? '' : }\r\n \r\n \r\n \r\n \r\n Customer\r\n \r\n \r\n {state.errors.customerID}\r\n \r\n \r\n Start Date\r\n \r\n \r\n \r\n End Date\r\n \r\n \r\n \r\n \r\n Vehicle Category\r\n \r\n \r\n {state.errors.vehicleCategoryID}\r\n \r\n \r\n Make\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Top 5 {label[state.setTop5ID]}\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n handleReports(1)}\r\n >\r\n Vehicles\r\n \r\n handleReports(2)}\r\n >\r\n Models\r\n \r\n handleReports(3)}\r\n >\r\n {' '}\r\n Makes\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n {/* \r\n \r\n
\r\n By Category (Occurance)\r\n
\r\n
\r\n
*/}\r\n \r\n \r\n
\r\n {label[state.barValues]}\r\n
\r\n
\r\n \r\n
\r\n \r\n handleBar(4)}\r\n style={{ fontSize: 10 }}\r\n >\r\n By Fault Type\r\n \r\n handleBar(5)}\r\n style={{ fontSize: 10 }}\r\n >\r\n {' '}\r\n By Depot\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {/* */}\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n
\r\n \r\n {state.url && (\r\n convertData(res)}\r\n columns={tempCol}\r\n getUrl={state.url}\r\n showDownload={true}\r\n downloadBtnName=\"Download xlsx\"\r\n downloadCustomUrl={() => {\r\n let params = {\r\n fromDate: state.startDate,\r\n toDate: state.endDate,\r\n customerID: tempOptions.customerIDValue?.id || '',\r\n fileExt: 'xlsx'\r\n };\r\n state.fromScreen == 'defect' ? GetDefectReportingExcelFile(params) : GetBreakdownReportingExcelFile(params);\r\n }}\r\n />\r\n )}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default BreakdownDefectReporting;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getjobByType = async (start, end, Id) => {\r\n let res = await getWithAuth(`customers/GetCustomerJobSpend?custid=${Id || ''}&startDate=${start}&endDate=${end}`);\r\n // let res = await getWithAuth(`customers/GetCustomerJobSpend?startDate=2020-03-01&endDate=2022-06-28&custId=2`);\r\n return res;\r\n};\r\n","import React, { useCallback, useEffect } from 'react';\r\nimport { BreadCrumbs, DatePicker, DateTimePicker, formatters, SingleSelect } from '../../../../Core/Controls';\r\nimport { Card, Grid, InputLabel, Typography, CircularProgress } from '@material-ui/core';\r\nimport { PureComponent } from 'react';\r\nimport { BarChart, Bar, Cell, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, Label, ComposedChart } from 'recharts';\r\nimport { PieChart, Pie, Sector, LabelList } from 'recharts';\r\nimport './jobReport.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { useState } from 'react';\r\nimport moment from 'moment';\r\nimport { getjobByType } from '../../../../Core/Services/InternalUser/jobReportingService';\r\nimport { getVehicleScreenDropdowns } from '../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { GetJobReportingExcelFile } from '../../../../Core/Services/InternalUser/excelDownload';\r\n\r\nconst Crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Job Reporting', active: true }\r\n];\r\n\r\nconst COLORS = [\r\n '#0074D9',\r\n '#FF4136',\r\n '#2ECC40',\r\n '#FF851B',\r\n '#7FDBFF',\r\n '#B10DC9',\r\n '#FFDC00',\r\n '#001f3f',\r\n '#39CCCC',\r\n '#01FF70',\r\n '#85144b',\r\n '#F012BE',\r\n '#3D9970',\r\n '#111111',\r\n '#AAAAAA'\r\n];\r\n\r\nconst barColors = {\r\n 0: '#0074D9',\r\n 1: '#FF4136',\r\n 2: '#2ECC40',\r\n 3: '#FF851B',\r\n 4: '#7FDBFF',\r\n 5: '#B10DC9',\r\n 6: '#FFDC00',\r\n 7: '#001f3f',\r\n 8: '#39CCCC',\r\n 9: '#01FF70',\r\n 10: '#85144b',\r\n 11: '#F012BE',\r\n 12: '#3D9970',\r\n 13: '#111111',\r\n 14: '#AAAAAA'\r\n};\r\n\r\nconst columns = [\r\n { key: 'depot', name: 'Depots', width: '10%' },\r\n { key: 'reg', name: 'Reg No.', width: '10%' },\r\n { key: 'orderNo', name: 'Order No.', width: '10%' },\r\n { key: 'jobDate', name: 'Job Date', width: '13%', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'bookedDate', name: 'Booked Date', width: '13%', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'approvedDate', name: 'Approved Date', width: '15%', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'description', name: 'Description', width: '10%' },\r\n { key: 'jobType', name: 'Job Type', width: '10%' },\r\n { key: 'part', name: 'Part', width: '10%', formatter: formatters.NumberWithPound },\r\n { key: 'labour', name: 'Labour', width: '10%', formatter: formatters.NumberWithPound },\r\n { key: 'total', name: 'Total', width: '10%', formatter: formatters.NumberWithPound }\r\n];\r\n\r\nlet startDate = moment().startOf('month').format('YYYY-MM-DD');\r\nlet endDate = moment().format('YYYY-MM-DD');\r\n\r\nconst JobReportScreen = (props) => {\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n const [state, setState] = useState({\r\n startDate: startDate,\r\n endDate: endDate,\r\n deoptList: [],\r\n jobTypeList: [],\r\n monthYearList: [],\r\n vmrsDescriptionList: [],\r\n url: `vehicleJob/GetCustomerSpend?startDate=${startDate}&endDate=${endDate}`,\r\n checkCondition: false,\r\n showDetailsPopup: false\r\n });\r\n\r\n const [value, setValue] = useState({\r\n name: '',\r\n value: '',\r\n heading: ''\r\n });\r\n\r\n const handleDetailpopUp = (params, heading) => {\r\n setState((st) => ({ ...st, showDetailsPopup: !st.showDetailsPopup }));\r\n setValue((st) => ({ ...st, name: params.name || '', value: params.Total || '', heading: heading || '' }));\r\n };\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n customerIDValue: null\r\n });\r\n\r\n let getURl = () => {\r\n return `vehicleJob/GetCustomerSpend?startDate=${state.startDate}&endDate=${state.endDate}&custId=${tempOptions.customerIDValue?.id || ''}`;\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n if (val) {\r\n setTempOptions((st) => {\r\n let newSt = { ...st, [nm]: val };\r\n if (nm === 'customerIDValue') {\r\n newSt.depotsIDValue = null;\r\n }\r\n return newSt;\r\n });\r\n } else {\r\n setTempOptions((st) => ({ ...st, [nm]: null }));\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n let isCustSelected;\r\n let res = await getVehicleScreenDropdowns();\r\n setState((st) => ({\r\n ...st,\r\n customerList: res.data.customers\r\n }));\r\n\r\n if (props.customerID && props.fromTab) {\r\n isCustSelected = res.data.customers.find((p) => props.customerID == p.id);\r\n } else if (isCustomer) {\r\n isCustSelected = res.data.customers[0];\r\n }\r\n setTempOptions((st) => ({ ...st, customerIDValue: isCustSelected }));\r\n }, []);\r\n\r\n useEffect(async () => {\r\n let res = await getjobByType(state.startDate, state.endDate, tempOptions.customerIDValue?.id || '');\r\n if (res.success) {\r\n let deoptList = [...res?.data?.depot].map((m, i) => ({\r\n name: m.depot,\r\n Total: m.jobTotal\r\n }));\r\n let vmrsDescriptionList = [...res?.data?.vmrsDescription].map((m, i) => ({\r\n name: m.vmrsDescription,\r\n Total: m.jobTotal\r\n }));\r\n\r\n let jobTypeList = [...res?.data?.jobType].map((m) => ({\r\n name: m.jobType,\r\n Total: m.jobTotal\r\n }));\r\n\r\n let monthYearList = [...res?.data?.monthYear].map((m) => ({\r\n name: m.monthYear,\r\n Total: m.jobTotal\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n deoptList: deoptList,\r\n jobTypeList: jobTypeList,\r\n monthYearList: monthYearList,\r\n vmrsDescriptionList: vmrsDescriptionList,\r\n checkCondition: jobTypeList.length > 0 ? true : false,\r\n url: getURl()\r\n }));\r\n }\r\n getURl();\r\n }, [tempOptions.customerIDValue, state.startDate, state.endDate]);\r\n\r\n const convertData = (res) => {\r\n setState((st) => ({ ...st, VorList: res.data.list }));\r\n return {\r\n records: res.data.list,\r\n total: res.data.total\r\n };\r\n };\r\n\r\n const renderCustomizedLabel = (props) => {\r\n const { x, y, width, height, value } = props;\r\n const radius = 10;\r\n\r\n return (\r\n \r\n \r\n {value ? <>£{value.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} : <>£0.00}\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n {props.fromTab ? '' : }\r\n\r\n \r\n {!isCustomer && (\r\n \r\n \r\n Customer\r\n \r\n \r\n {/* {state.errors.customerID} */}\r\n \r\n )}\r\n\r\n {tempOptions.customerIDValue ? (\r\n <>\r\n \r\n Start Date\r\n \r\n \r\n \r\n End Date\r\n \r\n \r\n \r\n {isCustomer && }\r\n {!state.checkCondition ? (\r\n \r\n
\r\n

No Records Found

\r\n
\r\n
\r\n ) : (\r\n <>\r\n \r\n
\r\n Month Year\r\n
\r\n {state.monthYearList.length > 0 ? (\r\n \r\n \r\n \r\n \r\n {state.monthYearList.map((entry, index) => (\r\n <>\r\n {\r\n // handleDetailpopUp(entry, 'Month Year');\r\n // }}\r\n />\r\n \r\n ))}\r\n \r\n \r\n \r\n ) : (\r\n \r\n
\r\n

No Records Found

\r\n
\r\n
\r\n )}\r\n
\r\n \r\n {state.monthYearList.map((m, i) => {\r\n let color = COLORS[i];\r\n return (\r\n
\r\n
\r\n {' '}\r\n
\r\n
 {m.name}
\r\n
\r\n  ({' '}\r\n {m.Total ? £{m.Total.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}) : <>£0.00}\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n \r\n \r\n VMRS Description\r\n
\r\n {state.vmrsDescriptionList.length > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {state.vmrsDescriptionList.map((entry, index) => (\r\n {\r\n // handleDetailpopUp(entry, 'VMRS');\r\n // }}\r\n style={{ cursor: 'pointer' }}\r\n />\r\n ))}\r\n \r\n \r\n \r\n ) : (\r\n \r\n
\r\n

No Records Found

\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n Job Type\r\n
\r\n {state.jobTypeList.length > 0 ? (\r\n \r\n \r\n \r\n {state.jobTypeList.map((entry, index) => (\r\n <>\r\n {\r\n // handleDetailpopUp(entry, ' Job Type');\r\n // }}\r\n />\r\n \r\n ))}\r\n \r\n \r\n \r\n ) : (\r\n \r\n
\r\n

No Records Found

\r\n
\r\n
\r\n )}\r\n
\r\n \r\n {state.jobTypeList.map((m, i) => {\r\n let color = COLORS[i];\r\n return (\r\n
\r\n
\r\n {' '}\r\n
\r\n
 {m.name}
\r\n
\r\n   (\r\n {m.Total ? £{m.Total.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}) : <>£0.00}\r\n )\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n Depots\r\n \r\n
\r\n {state.deoptList.length > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {state.deoptList.map((entry, index) => (\r\n {\r\n // handleDetailpopUp(entry, ' Depots');\r\n // }}\r\n style={{ cursor: 'pointer' }}\r\n />\r\n ))}\r\n \r\n \r\n \r\n ) : (\r\n \r\n
\r\n

No Records Found

\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n convertData(res)}\r\n columns={columns}\r\n getUrl={state.url}\r\n // isReload={state.isReload}\r\n showDownload={true}\r\n downloadBtnName=\"Download xlsx\"\r\n downloadCustomUrl={() =>\r\n GetJobReportingExcelFile({\r\n fromDate: state.startDate,\r\n toDate: state.endDate,\r\n customerID: tempOptions.customerIDValue?.id || '',\r\n fileExt: 'xlsx'\r\n })\r\n }\r\n />\r\n \r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {!isCustomer ? (\r\n
\r\n

Select customer to view report 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 {state.showDetailsPopup ? (\r\n \r\n
\r\n \r\n \r\n Name :{value.name}\r\n \r\n \r\n Total :{value.value}\r\n \r\n \r\n
\r\n
\r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default JobReportScreen;\r\n","import React from 'react';\r\nimport { BreadCrumbs, TabView } from '../../../../Core/Controls';\r\nimport CustomerDashBoard from './dashboard';\r\nimport DepoDashboard from '../Depots/index';\r\nimport NoteDashBoard from './../Notes/index';\r\nimport CustVehicleScreen from './CustVehicle';\r\nimport DefectScreen from '../../Maintenance/Defects/defectScreen';\r\nimport BreakDownDashboard from './CustBreakdown';\r\nimport FleetInsurance from './FleetInsurance';\r\nimport EndUser from './EndUser';\r\nimport CostCenter from '../../Vehicles/CostCenterScreen/costCenter';\r\n\r\nimport JobScreen from '../JOBS/JobScreen';\r\nimport './customer.scss';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport FaultTypes from './FaultTypes';\r\nimport VorReportingModal from '../../VorReporting/vorReporting';\r\nimport BreakdownDefectReporting from '../../Maintenance/BreakDownDefectReporting';\r\nimport JobReportScreen from '../JOBS/jobReporting';\r\n\r\nexport default function EditCustomer(props) {\r\n const id = props.match.params.id;\r\n const customer = props.match.params.customer;\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Customers', path: '/controller/Customer' },\r\n { name: `${customer}`, active: true }\r\n ];\r\n\r\n const tabs = [\r\n {\r\n label: 'Dashboard',\r\n body: \r\n },\r\n ...(checkhaveAccess?.CanViewNotes\r\n ? [\r\n {\r\n label: 'Notes',\r\n body: \r\n }\r\n ]\r\n : []),\r\n {\r\n label: 'Defects',\r\n body: \r\n },\r\n {\r\n label: 'Breakdowns',\r\n body: \r\n },\r\n {\r\n label: 'Depots',\r\n body: \r\n },\r\n { label: 'Vehicles', body: },\r\n {\r\n label: 'Jobs',\r\n body: \r\n },\r\n {\r\n label: 'Fleet Insurance',\r\n body: \r\n },\r\n {\r\n label: 'Cost Centers',\r\n body: \r\n },\r\n {\r\n label: 'End User',\r\n body: \r\n },\r\n {\r\n label: 'Fault Types',\r\n body: \r\n },\r\n {\r\n label: 'VOR Reporting',\r\n body: \r\n },\r\n {\r\n label: 'Defect Reporting',\r\n body: \r\n },\r\n {\r\n label: 'Breakdown Reporting',\r\n body: \r\n },\r\n {\r\n label: 'Job Reporting',\r\n body: \r\n }\r\n ];\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllvehiclecheckchecks = async () => {\r\n let res = await getWithAuth(`vehiclecheckchecks`);\r\n return res;\r\n};\r\n\r\nexport const getvehiclecheckchecksById = async (id) => {\r\n let res = await getWithAuth(`vehiclecheckchecks/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postvehiclecheckchecksData = async (data) => {\r\n let res = await postWithAuth(`vehiclecheckchecks`, data);\r\n return res;\r\n};\r\nexport const getVehicleCategory = async (data) => {\r\n let res = await getWithAuth(`VehicleCategories`);\r\n return res;\r\n};\r\n\r\nexport const getVehicleCheckSection = async (data) => {\r\n let res = await getWithAuth(`vehiclechecksection`);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { SelectBox, InputText, SecondaryButton, SecondaryCheckbox, MandatoryField, SimpleField } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { getvehiclecheckchecksById, getVehicleCheckSection, postvehiclecheckchecksData } from '../../../../Core/Services/InternalUser/Vehicle/vehicleChecks';\r\nimport { FormControlLabel, FormHelperText, InputLabel } from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nconst VehicleCheckCheckMdal = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [state, setState] = useState({\r\n inspectionSheetCheckID: null,\r\n inspectionSheetCheckDescription: '',\r\n inspectionSheetSectionID: props.addID,\r\n inspectionSheetCheckPosition: '',\r\n inspectionSheetCheckLegalRequirement: false,\r\n inspectionSheetCheckActive: true,\r\n inspectionSheetIMReference: '',\r\n dropdownList: [],\r\n errors: {}\r\n });\r\n useEffect(async () => {\r\n if (props.checkUserID) {\r\n let res = await getvehiclecheckchecksById(props.checkUserID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n inspectionSheetCheckID: res.data.inspectionSheetCheckID,\r\n inspectionSheetSectionID: res.data.inspectionSheetCheckSectionID,\r\n inspectionSheetCheckDescription: res.data.inspectionSheetCheckDescription,\r\n inspectionSheetCheckPosition: res.data.inspectionSheetCheckPosition,\r\n inspectionSheetIMReference: res.data.inspectionSheetIMReference,\r\n inspectionSheetCheckLegalRequirement: res.data.inspectionSheetCheckLegalRequirement,\r\n inspectionSheetCheckActive: res.data.inspectionSheetCheckActive\r\n }));\r\n }\r\n }\r\n\r\n let dropDownRes = await getVehicleCheckSection();\r\n const listss = dropDownRes.data.map((dropDownData) => ({\r\n id: dropDownData.inspectionSheetSectionID,\r\n name: dropDownData.inspectionSheetSectionDescription\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n dropdownList: listss\r\n }));\r\n }, []);\r\n\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((state) => ({ ...state, [name]: value }));\r\n };\r\n\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { inspectionSheetCheckDescription, inspectionSheetCheckPosition } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!inspectionSheetCheckDescription) {\r\n errors.inspectionSheetCheckDescription = 'Description is required';\r\n formIsValid = false;\r\n }\r\n if (!inspectionSheetCheckPosition) {\r\n errors.inspectionSheetCheckPosition = 'Position is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n let formData = {\r\n inspectionSheetCheckID: state.inspectionSheetCheckID,\r\n inspectionSheetCheckSectionID: state.inspectionSheetSectionID,\r\n inspectionSheetCheckDescription: state.inspectionSheetCheckDescription,\r\n inspectionSheetIMReference: state.inspectionSheetIMReference,\r\n inspectionSheetCheckPosition: state.inspectionSheetCheckPosition,\r\n inspectionSheetCheckLegalRequirement: state.inspectionSheetCheckLegalRequirement,\r\n inspectionSheetCheckActive: state.inspectionSheetCheckActive\r\n };\r\n let res = await postvehiclecheckchecksData(formData);\r\n if (res.success) {\r\n showToastSuccess('Vehicle Check Checks Added Successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n // props.onClose(false);\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.checkUserID ? 'Update' : 'Add'} \r\n \r\n \r\n props.onClose()}>Cancel \r\n \r\n \r\n );\r\n};\r\n\r\nexport default VehicleCheckCheckMdal;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Table, TableRow, TableHead, TableContainer, TableBody, TableCell, Button } from '@material-ui/core';\r\nimport { getAllvehiclecheckchecks } from '../../../../Core/Services/InternalUser/Vehicle/vehicleChecks';\r\nimport { AddButton, EditButton } from '../../../../Core/Controls';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport VehicleCheckCheckMdal from './vehicleCheckCheckModal';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport './vehicleStyle.scss';\r\n\r\nexport const BasicTable = (props) => {\r\n const [state, setState] = useState({\r\n checkCheckList: [],\r\n modalToggle: false,\r\n userID: null,\r\n addID: null\r\n });\r\n\r\n useEffect(async () => {\r\n pullData();\r\n }, []);\r\n\r\n const pullData = async () => {\r\n let res = await getAllvehiclecheckchecks();\r\n setState((st) => ({\r\n ...st,\r\n checkCheckList: res.data.filter((data) => {\r\n return data.inspectionSheetSectionDescription === props.accName && data.vehicleCategoryID == props.checksMainID;\r\n })\r\n }));\r\n };\r\n const handleAddEditModal = (id, addID, accHeading) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: true,\r\n userID: id,\r\n addID: addID\r\n }));\r\n };\r\n\r\n const closeDialog = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: false\r\n }));\r\n res && pullData();\r\n };\r\n\r\n const title = state.userID ? `Update Vehicle Check in ${props.accName}` : `Add Vehicle Check in ${props.accName}`;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAddEditModal(null, props.checksID)}>{/* */}\r\n \r\n \r\n \r\n Title\r\n \r\n IM Reference\r\n Position\r\n Legally Required\r\n Is Active ?\r\n \r\n \r\n \r\n {state.checkCheckList.map((m) => (\r\n \r\n \r\n handleAddEditModal(m.inspectionSheetCheckID)} />\r\n \r\n {m.inspectionSheetCheckDescription}\r\n {m.inspectionSheetIMReference}\r\n {m.inspectionSheetCheckPosition}\r\n {m.inspectionSheetCheckLegalRequirement ? 'Yes' : 'No'} \r\n {m.inspectionSheetCheckActive ? 'Yes' : 'No'}\r\n \r\n ))}\r\n \r\n
\r\n
\r\n {state.modalToggle ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { getAllvehiclecheckchecks, getVehicleCategory, getVehicleCheckSection } from '../../../../Core/Services/InternalUser/Vehicle/vehicleChecks';\r\nimport { BreadCrumbs, Accordion, TabView } from '../../../../Core/Controls';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { BasicTable } from './tableCheckcheck';\r\nimport { Button, Grid } from '@material-ui/core';\r\nimport CheckSectionModal from '../CheckSection/checkSectionModal';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport './vehicleStyle.scss';\r\nimport { CustomIconButton, SecondaryButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicle Checks', active: true },\r\n { name: 'Inspection Checks', active: true }\r\n];\r\n\r\nconst VehicleCheckCheck = (props) => {\r\n const [state, setState] = useState({\r\n checkList: [],\r\n VehicleCategoryList: [],\r\n accOpen: false,\r\n tabs: [],\r\n accHeading: [],\r\n modalToggle: false,\r\n expandCollapsedAt: null\r\n });\r\n\r\n useEffect(async () => {\r\n pullcheckData();\r\n }, []);\r\n\r\n const pullcheckData = async () => {\r\n let pros = [];\r\n pros.push(getVehicleCategory(), getVehicleCheckSection());\r\n let responses = await Promise.all(pros);\r\n // accordion data.....\r\n const accHeading = responses[1].data.map((m) => ({\r\n id: m.inspectionSheetSectionVehicleCategoryID,\r\n heading: m.inspectionSheetSectionDescription,\r\n addid: m.inspectionSheetSectionID\r\n }));\r\n // Tabs data....\r\n const tabs = responses[0].data.list.map((item) => ({\r\n id: item.vehicleCategoryID,\r\n label: item.vehicleCategoryDescription,\r\n accData: accHeading.filter((data) => data.id === item.vehicleCategoryID)\r\n }));\r\n\r\n setState((st) => ({\r\n ...st,\r\n accHeading,\r\n tabs\r\n }));\r\n };\r\n\r\n const closeDialog = (res) => {\r\n setState((state) => ({ ...state, modalToggle: false }));\r\n res && pullcheckData();\r\n };\r\n\r\n const handleExpand = (value) => {\r\n setState((state) => ({\r\n ...state,\r\n expandCollapsedAt: new Date(),\r\n accOpen: value\r\n }));\r\n };\r\n const addCheckSections = () => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: true\r\n }));\r\n };\r\n\r\n const title = 'Add Check Section';\r\n\r\n const checkChecks = state.tabs.map((tab) => {\r\n const heading = tab.accData.map((o) => o.heading);\r\n const filterAccordion = tab.accData.filter((o, index) => !heading.includes(o.heading, index + 1));\r\n return {\r\n label: tab.label,\r\n body: (\r\n
\r\n \r\n \r\n addCheckSections()}>\r\n   Add Section\r\n \r\n \r\n \r\n {filterAccordion.map((ad) => (\r\n }\r\n Expand={state.accOpen}\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 handleExpand(true);\r\n }}\r\n size=\"small\"\r\n color=\"secondary\"\r\n style={{ textTransform: 'capitalize' }}\r\n >\r\n  Expand All\r\n \r\n {\r\n handleExpand(false);\r\n }}\r\n size=\"small\"\r\n color=\"secondary\"\r\n style={{ marginLeft: 2, textTransform: 'capitalize' }}\r\n >\r\n  Collapse All\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n {state.modalToggle ? (\r\n closeDialog(false)}>\r\n closeDialog(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default VehicleCheckCheck;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { DataGrid, formatters } from '../../../../../Core/Controls';\r\nimport { getJobHistory } from '../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\n\r\nconst columns = [\r\n { key: 'dateStarted', name: 'Date', formatter: formatters.Date_DDMMMYYYY_HHMM, width: 150 },\r\n { key: 'startedBy', name: 'Name' },\r\n { key: 'status', name: 'Status' }\r\n];\r\n\r\nconst JobHistory = (props) => {\r\n const { showToastError } = useToast();\r\n const [state, setState] = useState({\r\n showLoader: true,\r\n jobHistoryList: []\r\n });\r\n\r\n const pullHistoryAndUpdateState = async () => {\r\n let res = await getJobHistory(props.jobID);\r\n if (res.success) {\r\n setState((st) => ({ ...st, showLoader: false, jobHistoryList: res.data.jobHistoryList }));\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n pullHistoryAndUpdateState();\r\n }, [props.refreshDependancy]);\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\nexport default JobHistory;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { DataGrid, EditButton, formatters } from '../../../../../Core/Controls';\r\nimport { getUpcomingEvents, mergeJobToMaster } from '../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\nimport { CustomIconButton } from '../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport LockIcon from '@material-ui/icons/Lock';\r\nimport { Grid } from '@material-ui/core';\r\nimport MergeTypeIcon from '@material-ui/icons/MergeType';\r\n\r\nconst UpcomingEvents = (props) => {\r\n const dataFormatter = (data, row) => {\r\n return (\r\n \r\n jobMerge(data.row)} />\r\n \r\n );\r\n };\r\n\r\n const columns = [\r\n { key: 'dateDue', name: 'Date', formatter: formatters.Date_DDMMMYYYY, width: 150 },\r\n { key: 'scheduleName', name: 'Event Name' },\r\n\r\n {\r\n key: 'scheduleID',\r\n name: 'Action',\r\n formatter: dataFormatter,\r\n width: 20\r\n }\r\n ];\r\n\r\n if (props.fromPage !== 'jobItem') {\r\n columns.splice(2, 0, { key: 'bookingStatus', name: 'Status' });\r\n }\r\n\r\n const { showToastError, showToastSuccess } = useToast();\r\n\r\n const [state, setState] = useState({\r\n showLoader: true,\r\n upcomingEventsList: []\r\n });\r\n\r\n const jobMerge = async (jobData) => {\r\n let data = {\r\n scheduleID: jobData.scheduleID,\r\n jobID: props.jobID\r\n };\r\n let res = await mergeJobToMaster(data);\r\n if (res.success) {\r\n showToastSuccess('Successfully added to the job');\r\n pullUpcomingEventsAndUpdateState();\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n const pullUpcomingEventsAndUpdateState = async () => {\r\n let res = await getUpcomingEvents(props.vehicleID);\r\n if (res.success) {\r\n setState((st) => ({ ...st, showLoader: false, upcomingEventsList: res.data.vehicleUncompletedSchedulesList }));\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n pullUpcomingEventsAndUpdateState();\r\n }, [props.refreshDependancy]);\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\nexport default UpcomingEvents;\r\n","import { FormHelperText, Grid, InputLabel, Typography } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { InputText, SecondaryButton, MandatoryField, formatters } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport '../../controllerStyle.scss';\r\nimport { UpdateJobStatus, JobsApproveJob, JobsConfirmJob } from '../../../../../Core/Services/InternalUser/JOB/jobQueryService';\r\n\r\nconst JobEstimateModal = (props) => {\r\n const [state, setState] = useState({\r\n jobQueryMessage: '',\r\n jobQueryClosed: 1,\r\n jobEstimatedCost: null,\r\n showLoader: true,\r\n errors: {}\r\n });\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n if (props.title == 'Revise Estimate' && !state.jobQueryMessage) {\r\n err.jobQueryMessage = 'This field is requried';\r\n noErrors = false;\r\n }\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n\r\n const handleData = async (isAccept) => {\r\n let data = {\r\n jobID: props.jobQueryJobID,\r\n notes: state.jobQueryMessage,\r\n requestEstimate: false,\r\n markInProgress: false\r\n };\r\n let res = '';\r\n if (props.title == 'Submit Estimate') {\r\n data.jobEstimate = 1;\r\n res = await UpdateJobStatus(data);\r\n } else if (props.title == 'Revise Estimate') {\r\n if (validate()) {\r\n data.estimateRevised = true;\r\n res = await UpdateJobStatus(data);\r\n } else {\r\n return;\r\n }\r\n } else if (props.title == 'Set In Progress') {\r\n data.markInProgress = true;\r\n res = await UpdateJobStatus(data);\r\n } else if (props.title == 'Accept Estimate') {\r\n if (isAccept == '1') {\r\n data.acceptEstimate = isAccept;\r\n res = await UpdateJobStatus(data);\r\n } else {\r\n props.onClose(false);\r\n return;\r\n }\r\n } else if (props.title == 'Approve Order') {\r\n if (isAccept == '1') {\r\n errors.approvOrder = 'Approve Order is required';\r\n data.jobApprovedOrderNo = state.approvOrder;\r\n data.approved = true;\r\n state.approvOrder ? (res = await JobsApproveJob(data)) : setState((state) => ({ ...state, errors: errors }));\r\n } else {\r\n // errors.jobQueryMessage = 'Message is required';\r\n // data.approved = true;\r\n // state.jobQueryMessage ? (res = await JobsApproveJob(data)) : setState((state) => ({ ...state, errors: errors }));\r\n props.onClose(false);\r\n return;\r\n }\r\n } else if (props.title == 'Send for customer approval') {\r\n if (isAccept == '1') {\r\n res = await JobsConfirmJob({ id: props.jobQueryJobID });\r\n props.onClose(true);\r\n } else {\r\n props.onClose(false);\r\n }\r\n return;\r\n } else if (props.title == 'Send To Customer') {\r\n data.passToCustomer = true;\r\n res = await UpdateJobStatus(data);\r\n } else {\r\n alert('This Functionality is pending');\r\n }\r\n if (res.success) {\r\n showToastSuccess('Job saved sucessfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n const inputChange = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n };\r\n\r\n return (\r\n \r\n \r\n Order Date\r\n {props.jobOrderDate}\r\n \r\n \r\n \r\n {props.title == 'Send for customer approval' ||\r\n props.title == 'Approve Order' ||\r\n props.title == 'Revise Estimate' ||\r\n props.title == 'Accept Estimate' ||\r\n props.title == 'Send To Customer'\r\n ? 'Job Reference'\r\n : 'Order Number'}\r\n \r\n \r\n {props.jobOrderNo ? props.jobOrderNo : props.jobAgentOrderNo}\r\n {/* {(props.title == 'Send for customer approval' || props.title == 'Approve Order'||props.title == 'Revise Estimate') ? `${props.jobAgentOrderNo}` : `${props.jobOrderNo}`} */}\r\n \r\n \r\n {props.title == 'Accept Estimate' ? (\r\n \r\n Estimate Cost\r\n £{formatters.ToFixedDigit(props?.jobEstimatedCost)}\r\n \r\n ) : (\r\n \r\n Order Total\r\n £{formatters.ToFixedDigit(props?.jobOrderTotal)}\r\n \r\n )}\r\n \r\n Reg Number\r\n {props.jobRegNumber}\r\n \r\n {props.title == 'Submit Estimate' && (\r\n \r\n \r\n Clicking the \"Submit Estimate\" button will submit cost for approval. Please note that the job will be locked and further changes to job\r\n costing will not be allowed.\r\n \r\n {props.jobOrderTotal == 0 && (\r\n \r\n (There is no cost set against the job, are you sure to submit with zero cost)\r\n \r\n )}\r\n \r\n )}\r\n {props.title == 'Approve Order' && (\r\n \r\n \r\n {state.errors.approvOrder}\r\n \r\n )}\r\n {props.title == 'Send To Customer' && (\r\n \r\n \r\n Clicking the \"Send to Customer\" button below will send the estimate to customer for approval.\r\n \r\n \r\n )}\r\n {props.title !== 'Submit Estimate' && props.title !== 'Send for customer approval' && (\r\n \r\n \r\n Message\r\n \r\n \r\n {errors.jobQueryMessage}\r\n \r\n )}\r\n {props.title == 'Send for customer approval' && (\r\n \r\n Clicking the Send button will send the job to customer for approval{' '}\r\n \r\n //\r\n )}\r\n {props.title == 'Accept Estimate' ||\r\n props.title == 'Revise Estimate' ||\r\n props.title == 'Approve Order' ||\r\n props.title == 'Send for customer approval' ? (\r\n <>\r\n \r\n handleData(1)}>\r\n {props.title == 'Approve Order'\r\n ? 'Approve'\r\n : props.title == 'Accept Estimate' || props.title == 'Estimate Update'\r\n ? 'Accept'\r\n : 'Send'}\r\n \r\n \r\n \r\n handleData(-1)}>\r\n {props.title == 'Send for customer approval' ? 'Cancel' : 'Cancel'}\r\n \r\n \r\n \r\n ) : (\r\n \r\n {props.title}\r\n \r\n )}\r\n \r\n );\r\n};\r\nexport default JobEstimateModal;\r\n","import React, { useState } from 'react';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { FormHelperText, Grid, Typography, InputLabel } from '@material-ui/core';\r\nimport { SecondaryButton, DatePicker, InputText, MandatoryField, formatters } from '../../../../../Core/Controls';\r\nimport { JobsSubmitcost } from '../../../../../Core/Services/InternalUser/JOB/jobQueryService';\r\n\r\nconst SubmitEstimateModal = (props) => {\r\n console.log(props, 'props');\r\n const [state, setState] = useState({\r\n jobQueryMessage: '',\r\n errors: {},\r\n odometerReading: props.jobMileage,\r\n jobMileageDate: formatters.DateFormatter(props.jobMileageDate)\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const validations = () => {\r\n const { jobMileageDate, odometerReading, jobQueryMessage } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (props.mileageIsRequired) {\r\n if (!jobMileageDate) {\r\n errors.jobMileageDate = 'Mileage date is required';\r\n formIsValid = false;\r\n }\r\n if (!odometerReading) {\r\n errors.odometerReading = 'Mileage is required';\r\n formIsValid = false;\r\n }\r\n if (props.jobStatus == 'JQ' && !jobQueryMessage) {\r\n errors.jobQueryMessage = 'Message is required';\r\n formIsValid = false;\r\n }\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleData = async () => {\r\n if (validations()) {\r\n let data = {\r\n jobID: props.jobQueryJobID,\r\n notes: state.jobQueryMessage,\r\n mileageDate: state.jobMileageDate,\r\n odometerReading: state.odometerReading\r\n };\r\n let res = await JobsSubmitcost(data);\r\n if (res.success) {\r\n showToastSuccess('Job saved sucessfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n const inputChange = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n };\r\n\r\n return (\r\n \r\n \r\n Order Date\r\n {props.jobOrderDate}\r\n \r\n \r\n Job Reference\r\n {props.jobAgentOrderNo}\r\n \r\n\r\n \r\n Order Total\r\n £{props.jobOrderTotal?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}\r\n \r\n\r\n \r\n Reg Number\r\n {props.jobRegNumber}\r\n \r\n \r\n \r\n Job Mileage Date\r\n \r\n \r\n {state.errors.jobMileageDate}\r\n \r\n \r\n \r\n \r\n \r\n Message\r\n \r\n {state.errors.jobQueryMessage}\r\n \r\n \r\n {props.title || 'submit'}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SubmitEstimateModal;\r\n","import { Grid, InputLabel } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { YesButton, NoButton } from '../../../../../Core/Controls';\r\nimport './style.scss';\r\n\r\nconst SubmitWarnngModal = (props) => {\r\n const [state, setState] = useState({\r\n jobQueryMessage: '',\r\n jobQueryClosed: false,\r\n showLoader: true\r\n });\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n props.onYes()} />\r\n \r\n \r\n props.onClose(false)} />\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nexport default SubmitWarnngModal;\r\n","import React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport { SecondaryButton, PrimaryButton } from '../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport JobEstimateModal from './JobEstimate';\r\nimport JobQueryModal from './JobQuery';\r\nimport AcceptEstimateModal from './AcceptEstimateModal';\r\nimport SubmitWarnngModal from './SubmitWarning';\r\nimport DeleteJobModal from '../deleteJobModal';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { CustomChip } from '../../../../../Core/Controls';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\n\r\nconst CancelButton = (props) => {\r\n return (\r\n // \r\n Cancel\r\n // \r\n );\r\n};\r\n\r\nfunction StatusBasedButton(props) {\r\n const [state, setState] = useState({\r\n showJobQuery: false,\r\n showEstimate: false,\r\n showSubmitCostModal: false,\r\n title: ''\r\n });\r\n\r\n const { userRoles } = useLoginInfo();\r\n const isServiceagent = userRoles.includes('serviceagent');\r\n const isInternalUser = userRoles.includes('internal');\r\n const isCustomer = userRoles.includes('customer');\r\n const { status, vehicleID, handleData, data } = props;\r\n const history = useHistory();\r\n\r\n const handelPopup = async (title, setShow) => {\r\n if (data.jobOrderTotal != 0 && title == 'Submit Cost') {\r\n setShow = 'showSubmitCostModal';\r\n }\r\n setState((st) => ({\r\n ...st,\r\n title: title,\r\n [setShow]: true\r\n }));\r\n };\r\n const showSubmitModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showSubmitCostModal: true,\r\n showSubmit: false\r\n }));\r\n };\r\n const closeTheDialog = async (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showJobQuery: false,\r\n showEstimate: false,\r\n showSubmitCostModal: false,\r\n showSubmit: false\r\n }));\r\n res && props.refreshScreen(res);\r\n };\r\n\r\n const closeDeleteDefectModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showJobDeleteModal: false\r\n }));\r\n if (res) {\r\n history.goBack();\r\n }\r\n };\r\n\r\n const CostomButton = (btnLable, modalName, icon) => {\r\n return (\r\n <>\r\n {props.btnType == 'chip' ? (\r\n \r\n {\r\n handelPopup(`${btnLable}`, `${modalName}`);\r\n }}\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n \r\n ) : (\r\n {\r\n handelPopup(`${btnLable}`, `${modalName}`);\r\n }}\r\n >\r\n {`${btnLable}`}\r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n {isServiceagent ? (\r\n \r\n {status !== 'AU' && (\r\n \r\n )}\r\n {(status == 'CQ' || status == 'IQ') && props.otherOptionsBtnShow ? CostomButton('Reply Query', 'showJobQuery', AddIcon) : null}\r\n {(status == 'AA' || status == 'JP' || status == 'ER' || status == 'EP' || status == 'AQ' || status == 'AR' || status == 'JC') &&\r\n props.otherOptionsBtnShow\r\n ? CostomButton('Send Query', 'showJobQuery', AddIcon)\r\n : null}\r\n {(status == 'AA' || status == 'JP') && props.otherOptionsBtnShow ? CostomButton('Submit Cost', 'showSubmit', AddIcon) : null}\r\n {status == 'ER' && props.otherOptionsBtnShow ? CostomButton('Submit Estimate', 'showEstimate', AddIcon) : null}\r\n {status == 'AA' && props.otherOptionsBtnShow ? CostomButton('Set In Progress', 'showEstimate', AddIcon) : null}\r\n \r\n ) : null}\r\n {isInternalUser ? (\r\n \r\n {props.isShownHeadrer ? null : (\r\n <>\r\n {(status == 'AU' ||\r\n status == 'AA' ||\r\n status == 'JP' ||\r\n status == 'ER' ||\r\n status == 'AQ' ||\r\n status == 'CQ' ||\r\n status == 'IQ' ||\r\n status == 'AR') &&\r\n props.showSave ? (\r\n \r\n Save\r\n \r\n ) : null}\r\n \r\n \r\n )}\r\n {(status == 'CQ' || status == 'AQ') && props.otherOptionsBtnShow ? CostomButton('Reply Query', 'showJobQuery', AddIcon) : null}\r\n {(status == 'AA' || status == 'JP' || status == 'ER' || status == 'EP' || status == 'IQ' || status == 'AR') && props.otherOptionsBtnShow\r\n ? CostomButton('Send Query', 'showJobQuery', AddIcon)\r\n : null}\r\n {status == 'EP' && props.otherOptionsBtnShow ? CostomButton('Estimate Accept', 'showEstimate', AddIcon) : null}\r\n {(status == 'AA' || status == 'JP') && props.otherOptionsBtnShow ? CostomButton('Request Estimate', 'showEstimate', AddIcon) : null}\r\n {status == 'AR' && props.otherOptionsBtnShow ? CostomButton('Approve Order', 'showEstimate', AddIcon) : null}\r\n {status !== 'JD' && props.otherOptionsBtnShow ? CostomButton('Delete Job', 'showJobDeleteModal', DeleteIcon) : null}\r\n \r\n ) : null}\r\n {isCustomer ? (\r\n \r\n {props.isShownHeadrer ? null : (\r\n \r\n )}\r\n {(status == 'AQ' || status == 'IQ') && props.otherOptionsBtnShow ? CostomButton('Reply Query', 'showJobQuery', AddIcon) : null}\r\n {(status == 'AA' || status == 'JP' || status == 'AU' || status == 'ER' || status == 'EP' || status == 'CQ' || status == 'AR') &&\r\n props.otherOptionsBtnShow\r\n ? CostomButton('Send Query', 'showJobQuery', AddIcon)\r\n : null}\r\n {(status == 'AA' || status == 'JP') && props.otherOptionsBtnShow ? CostomButton('Request Estimate', 'showJobQuery', AddIcon) : null}\r\n {status == 'EP' && props.otherOptionsBtnShow ? CostomButton('Estimate Accept', 'showEstimate', AddIcon) : null}\r\n {status == 'AR' && props.otherOptionsBtnShow ? CostomButton('Approve Order', 'showEstimate', AddIcon) : null}\r\n {/* {status !== 'AU' && (\r\n \r\n )} */}\r\n \r\n ) : null}\r\n {state.showSubmit && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n {state.showJobQuery && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n {state.showSubmitCostModal && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n {state.showEstimate && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n {/* //handleSubmitCost */}\r\n {state.showJobDeleteModal ? (\r\n closeDeleteDefectModal(false)} title={'Delete Job'} maxWidth=\"sm\" fullWidth>\r\n \r\n \r\n ) : null}\r\n \r\n );\r\n}\r\n\r\nexport default StatusBasedButton;\r\n","import { FormHelperText, Grid, Typography } from '@material-ui/core';\r\nimport React from 'react';\r\n\r\nconst JobDetailsInfo = (props) => {\r\n const { jobDetails } = props;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n Service Agent\r\n {jobDetails?.serviceAgentName}\r\n \r\n \r\n Job Depot\r\n {jobDetails.depotName}\r\n \r\n \r\n Customer Order No\r\n {jobDetails.jobCustomerOrderNo}\r\n \r\n \r\n Estimated Cost\r\n {jobDetails.jobEstimatedCost}\r\n \r\n \r\n Proforma Invoice Net\r\n {jobDetails.jobProformaInvNet}\r\n \r\n \r\n Order Limit\r\n {jobDetails.jobLimit}\r\n \r\n \r\n Authority Reference\r\n {jobDetails.jobAuthorityRef}\r\n \r\n \r\n Mileage Date\r\n {jobDetails.jobMileageDate}\r\n \r\n \r\n Mileage\r\n {jobDetails.jobMileage}\r\n \r\n \r\n Approved By\r\n {jobDetails.approvedBy}\r\n \r\n \r\n Approved Date\r\n {jobDetails.jobApprovedDate}\r\n \r\n \r\n Approved Order No\r\n {jobDetails.jobApprovedOrderNo}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nexport default JobDetailsInfo;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\nimport { memoize } from 'lodash';\r\n\r\nexport const getAllJobItems = async (id) => {\r\n let res = await getWithAuth(`VehicleJobItems?VehicleJobID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getJobItemById = async (id) => {\r\n let res = await getWithAuth(`VehicleJobItems/${id}`);\r\n return res;\r\n};\r\n\r\nexport const getJobItemsDropDown = memoize(async () => {\r\n let res = await getWithAuth(`VehicleJobItems/Dropdowns`);\r\n return res;\r\n});\r\n\r\nexport const postJobItem = async (data) => {\r\n let res = await postWithAuth(`VehicleJobItems`, data);\r\n return res;\r\n};\r\nexport const createInvoice = async (data) => {\r\n let res = await postWithAuth(`Invoices/InvoiceAddFromApprovedItems`, data);\r\n return res;\r\n};\r\n\r\nexport const salesInvoice = async (data) => {\r\n let res = await postWithAuth(`Invoices/SalesInvoiceAddFromApprovedItems`, data);\r\n return res;\r\n};\r\n\r\nexport const getSalesDropdown = async (id) => {\r\n let res = await getWithAuth(`Invoices/SalesInvoiceScreenDropdowns?id=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getPastJobByVMRSCategoryNSubCategory = async (jobId, VehicleId, VMRSCatId, VMRSSubCatId) => {\r\n let res = await getWithAuth(\r\n `VehicleJobItems/GetPastJobsByVMRSCategorySubCategory/${jobId}?VehicleID=${VehicleId}&VMRSCategoryID=${VMRSCatId}&VMRSSubCategoryID=${VMRSSubCatId}`\r\n );\r\n return res;\r\n};\r\n\r\nexport const GetPurchaseInvoice = async (id) => {\r\n let res = await getWithAuth(`Invoices/GetPurchaseInvoiceLines?id=${id}`);\r\n\r\n return res;\r\n};\r\n\r\nexport const GetSalesInvoice = async (id) => {\r\n let res = await getWithAuth(`Invoices/GetSalesInvoiceLines?id=${id}`);\r\n\r\n return res;\r\n};\r\n\r\nexport const SalesInvoiceAddHeaderLabourPart = async (data) => {\r\n let res = await postWithAuth(`Invoices/SalesInvoiceAddHeaderLabourPart`, data);\r\n\r\n return res;\r\n};\r\nexport const GetVehicleSalesInvoice = async (id) => {\r\n let res = await getWithAuth(`Invoices/VehicleSalesInvoice?id=${id}`);\r\n return res;\r\n};\r\nexport const UpdateVehicleSalesInvoice = async (data) => {\r\n let res = await postWithAuth(`Invoices/UpdateVehicleSalesInvoice`, data);\r\n\r\n return res;\r\n};\r\nexport const PostInternalVehicleJobsItem = async (data) => {\r\n let res = await postWithAuth(`VehicleJobItems/InternalVehicleJobsItem`, data);\r\n return res;\r\n};\r\nexport const VehicleSalesInvoiceGenratePdf = async (data) => {\r\n let res = await getWithAuth(`Invoices/VehicleSalesInvoiceGenratePdf?Id=${data}`, { Id: data });\r\n return res;\r\n};\r\n","import { FormHelperText, Grid, Typography, InputLabel } from '@material-ui/core';\r\nimport React, { useEffect, useState, useMemo } from 'react';\r\nimport { formatters } from '../../../../../Core/Controls';\r\nimport '../../../../commonStyle.scss';\r\nimport '../../controllerStyle.scss';\r\nimport { getPastJobByVMRSCategoryNSubCategory } from '../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport DataGrid from '../../../../../Core/Controls/Grid';\r\nimport ReactDOM from 'react-dom';\r\n\r\nconst PastJobs = (props) => {\r\n const [state, setState] = useState({ pastJobs: [] });\r\n\r\n useEffect(async () => {\r\n if (props.vehicleID && props.jobId && props.VMRSCategoryID && props.VMRSSubCategoryID) {\r\n let res = await getPastJobByVMRSCategoryNSubCategory(props.jobId, props.vehicleID, props.VMRSCategoryID, props.VMRSSubCategoryID);\r\n let data = res.data?.details;\r\n if (data) {\r\n setState((st) => ({\r\n ...st,\r\n pastJobs: data\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const handleEditClick = (row) => {\r\n props.history.push({\r\n pathname: `/controller/jobTabScreen/${row?.jobID}/${props.vehicleID}`,\r\n state: 'jobs'\r\n });\r\n };\r\n const columns = [\r\n { key: 'jobDate', name: 'Date', width: 110, formatter: formatters.Date_DDMMMYYYY },\r\n {\r\n key: 'orderNo',\r\n name: 'Job Ref',\r\n width: 91,\r\n formatter: (params) => {\r\n return (\r\n
\r\n \r\n {params.row.orderNo}\r\n \r\n
\r\n );\r\n }\r\n },\r\n { key: 'labourLine', name: 'Description' },\r\n {\r\n key: 'labour',\r\n name: 'Labour',\r\n width: 94,\r\n formatter: formatters.NumberWithPound,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n { key: 'parts', name: 'Parts', width: 100, formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight },\r\n { key: 'agent', name: 'Agent' }\r\n ];\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default PastJobs;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, Typography } from '@material-ui/core';\r\nimport { SecondaryButton, SelectBox, EditButton, DeleteButton, formatters, MandatoryField, SingleSelect, SimpleField } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport '../../../../commonStyle.scss';\r\nimport DataGrid from '../../../../../Core/Controls/Grid';\r\nimport { getJobItemById, getJobItemsDropDown, postJobItem } from '../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport { isNull } from 'lodash';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport { CustomIconButton } from '../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport PastJobs from './getPastJobBy';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport ConfirmationModal from '../../../../../Core/Modal/ConfirmationModal';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst base_columns = [\r\n {\r\n key: 'vehicleJobPartNumber',\r\n name: 'Part Number',\r\n width: '10%'\r\n },\r\n {\r\n key: 'vehicleJobPartDescription',\r\n name: 'Part Description',\r\n width: '23%'\r\n },\r\n {\r\n key: 'vehicleJobPartQuantity',\r\n name: 'Quantity',\r\n width: '8%',\r\n formatter: formatters.ColumnTextAlignRight,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'vehicleJobPartUnitPrice',\r\n name: 'Unit Price',\r\n width: '17%',\r\n formatter: formatters.NumberWithPound,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'vehicleJobPartDiscount',\r\n name: 'Discount',\r\n width: '5%',\r\n formatter: (data) =>
{data.row.vehicleJobPartDiscount || 0 + '%'}
,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'getTotal',\r\n name: 'Total',\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n }\r\n];\r\n\r\nfunction AddJobItemModal(props) {\r\n const [state, setState] = useState({\r\n setBackup: [],\r\n jobItemID: null,\r\n labourDescription: '',\r\n jobItemStatusID: null,\r\n JobItemCostTypeID: null,\r\n jobItemStatus: [],\r\n labourHours: '',\r\n labourRate: '',\r\n labourDiscount: 0,\r\n labourTotal: '',\r\n workCategory: '',\r\n costCategory: '',\r\n partNumber: '',\r\n partQuantity: null,\r\n partUnitPrice: null,\r\n partDescription: '',\r\n partsDiscount: '',\r\n partsTotal: '',\r\n workList: [],\r\n costCategories: [],\r\n rows: [],\r\n errors: {},\r\n readOnly: false,\r\n showPastJob: false,\r\n costCategoryValue: null,\r\n jobItemStatusIDValue: null,\r\n jobItemCostTypeIDValue: null,\r\n workCategoryValue: null,\r\n showCancelConfirmModal: false\r\n });\r\n const { userRoles } = useLoginInfo();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n const isCustomer = userRoles.includes('customer');\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const handleUpdatePart = (params) => {\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n id: params.id,\r\n partNumber: params.vehicleJobPartNumber,\r\n partQuantity: params.vehicleJobPartQuantity,\r\n partsDiscount: params.vehicleJobPartDiscount,\r\n partUnitPrice: params.vehicleJobPartUnitPrice,\r\n partDescription: params.vehicleJobPartDescription,\r\n partsTotal: params.partsTotal,\r\n partId: params.id,\r\n isUpdate: true\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleDeletePart = (params) => {\r\n const id = params.id;\r\n const newList = state.rows.filter((item) => item.id !== id);\r\n let newPartToSetIsDelete = {\r\n id: params.id,\r\n partId: params.id,\r\n vehicleJobPartNumber: params.vehicleJobPartNumber,\r\n vehicleJobPartQuantity: params.vehicleJobPartQuantity,\r\n vehicleJobPartDiscount: params.vehicleJobPartDiscount,\r\n vehicleJobPartUnitPrice: params.vehicleJobPartUnitPrice,\r\n vehicleJobPartDescription: params.vehicleJobPartDescription,\r\n partsTotal: params.partsTotal,\r\n isDeleted: true\r\n };\r\n newList.push(newPartToSetIsDelete);\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n rows: newList\r\n };\r\n return nst;\r\n });\r\n };\r\n let checkStatus =\r\n (props.Status === 'AA' || props.Status === 'JP' || props.Status === 'JQ' || props.Status === 'EA' || props.Status === 'EU') &&\r\n !props.isCustomer &&\r\n checkhaveAccess?.CanUpdateJobs; //hide if role is customer\r\n\r\n const ActionButtons = (data) => {\r\n return (\r\n
\r\n handleUpdatePart(data.row)} />\r\n {checkhaveAccess?.CanDeleteJobLines && handleDeletePart(data.row)} toolTipTitle=\"Delete Job Item\" />}\r\n
\r\n );\r\n };\r\n\r\n const CalculateTotal = (data) => {\r\n const { vehicleJobPartQuantity, vehicleJobPartUnitPrice, vehicleJobPartDiscount } = data.row;\r\n const total = (vehicleJobPartUnitPrice * vehicleJobPartQuantity * (100 - vehicleJobPartDiscount || 0)) / 100;\r\n return
£{total.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}
;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol2 = newColumn.find((item) => item.key === 'getTotal');\r\n if (checkStatus) {\r\n newColumn.splice(0, 0, { key: 'action', name: 'Action', formatter: ActionButtons, width: '5%' });\r\n }\r\n if (actionCol2) {\r\n actionCol2.formatter = CalculateTotal;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n setState((st) => ({ ...st, islabourRateSet: props.islabourRateSet, labourRate: props.labourRate }));\r\n let res1 = await getJobItemsDropDown();\r\n if (res1.success) {\r\n const category = res1.data.vmrsCategory.map((item) => ({\r\n id: item.catid + ',' + item.subcatid,\r\n name: item.subcatname\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n workList: category,\r\n costCategories: res1.data.costCategories,\r\n jobItemStatus: res1.data.jobItemStatus,\r\n costTypeList: res1.data.costType\r\n }));\r\n }\r\n if (props.jobItemID) {\r\n let partList = [];\r\n let res = await getJobItemById(props.jobItemID);\r\n if (isCustomer) {\r\n partList = res.data.vehicleJobPartsDetails.map((item, index) => ({\r\n ...item,\r\n vehicleJobPartDiscount: item.vehicleJobPartCustomerDiscount,\r\n vehicleJobPartQuantity: item.vehicleJobPartCustomerQuantity,\r\n vehicleJobPartUnitPrice: item.vehicleJobPartCustomerUnitPrice,\r\n id: index + 1,\r\n isDeleted: false\r\n }));\r\n } else {\r\n partList = res.data.vehicleJobPartsDetails.map((item, index) => ({\r\n ...item,\r\n id: index + 1,\r\n isDeleted: false\r\n }));\r\n }\r\n const info = res.data.vehicleJobitemdetails[0];\r\n if (res.success) {\r\n // setState((state) => ({\r\n // ...state,\r\n // jobItemID: info.jobItemID,\r\n // labourDescription: info.jobItemDescription,\r\n // labourHours: info.jobItemLabourHours,\r\n // labourRate: info.jobItemLabHourRate,\r\n // labourDiscount: info.jobItemLabourDiscount,\r\n // labourTotal: info.labourTotal,\r\n // jobItemJobID: info.jobItemJobID,\r\n // jobItemStatusID: info.jobItemStatusID,\r\n // jobItemCostTypeID: info.jobItemCostTypeID,\r\n // workCategory: info.jobItemVMRSCategoryID + ',' + info.jobItemVMRSSubCategoryID, //state.workList?.find(({ id }) => id === info.jobItemVMRSCategoryID + ',' + info.jobItemVMRSSubCategoryID)?.name,\r\n // jobItemVMRSCategoryID: info.jobItemVMRSCategoryID,\r\n // jobItemVMRSSubCategoryID: info.jobItemVMRSSubCategoryID,\r\n // costCategory: info.jobItemCostCategoryID,\r\n // rows: partList,\r\n // readOnly: info.allowUpdate == 'Y' ? false : true,\r\n // allowUpdate: info.allowUpdate\r\n // }));\r\n let newSt = {};\r\n newSt.jobItemID = info.jobItemID;\r\n newSt.labourDescription = info.jobItemDescription;\r\n newSt.jobItemJobID = info.jobItemJobID;\r\n newSt.jobItemStatusID = info.jobItemStatusID;\r\n newSt.jobItemCostTypeID = info.jobItemCostTypeID;\r\n newSt.workCategory = info.jobItemVMRSCategoryID + ',' + info.jobItemVMRSSubCategoryID;\r\n newSt.jobItemVMRSCategoryID = info.jobItemVMRSCategoryID;\r\n newSt.jobItemVMRSSubCategoryID = info.jobItemVMRSSubCategoryID;\r\n newSt.costCategory = info.jobItemCostCategoryID;\r\n newSt.rows = partList;\r\n newSt.readOnly = info.allowUpdate == 'Y' ? false : true;\r\n newSt.allowUpdate = info.allowUpdat;\r\n newSt.labourTotal = info.labourTotal;\r\n if (isCustomer) {\r\n newSt.labourHours = info.jobItemCustomerLabourHours;\r\n newSt.labourRate = info.jobItemCustomerLabHourRate;\r\n newSt.labourDiscount = info.jobItemCustomerLabourDiscount;\r\n newSt.jobItemCostTypeID = info.jobItemCustomerLabourCost;\r\n } else {\r\n newSt.labourHours = info.jobItemLabourHours;\r\n newSt.labourRate = info.jobItemLabHourRate;\r\n newSt.labourDiscount = info.jobItemLabourDiscount;\r\n newSt.jobItemCostTypeID = info.jobItemCostTypeID;\r\n }\r\n setState((state) => ({\r\n ...state,\r\n ...newSt\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n if (state.workCategory && state.workList.length > 0) {\r\n newSt.workCategoryValue = state.workList?.find(({ id }) => id === state.workCategory);\r\n }\r\n if (state.costCategory && state.costCategories.length > 0) {\r\n newSt.costCategoryValue = state.costCategories?.find(({ id }) => id === state.costCategory);\r\n }\r\n\r\n if (state.jobItemStatusID && state.jobItemStatus.length > 0) {\r\n newSt.jobItemStatusIDValue = state.jobItemStatus?.find(({ id }) => id === state.jobItemStatusID);\r\n }\r\n if (state.jobItemCostTypeID && state.costTypeList.length > 0) {\r\n newSt.jobItemCostTypeIDValue = state.costTypeList?.find(({ id }) => id === state.jobItemCostTypeID);\r\n }\r\n setState((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [\r\n state.workCategory,\r\n state.workList,\r\n state.costCategory,\r\n state.costCategories,\r\n state.jobItemStatusID,\r\n state.jobItemStatus,\r\n state.costTypeList,\r\n state.jobItemCostTypeID\r\n ]);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n // let temparr = [];\r\n // temparr.push(name);\r\n setState((state) => ({\r\n ...state,\r\n [name]: value,\r\n setBackup: [...state.setBackup, name]\r\n }));\r\n };\r\n\r\n const caltotal = (state.partUnitPrice * state.partQuantity * (100 - state.partsDiscount || 0)) / 100;\r\n const total = caltotal.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\r\n const total1 = (state.labourRate * state.labourHours * (100 - state.labourDiscount || 0)) / 100;\r\n\r\n const WorkCategoryChange = (nm) => (e, val) => {\r\n if (nm === 'workCategoryValue') {\r\n const cat = val?.id?.split(',');\r\n if (cat?.length) {\r\n setState((state) => ({\r\n ...state,\r\n jobItemVMRSCategoryID: cat[0],\r\n jobItemVMRSSubCategoryID: cat[1],\r\n // workCategory: val.name\r\n [nm]: val\r\n }));\r\n }\r\n } else {\r\n setState((state) => ({\r\n ...state,\r\n [nm]: val\r\n }));\r\n }\r\n };\r\n\r\n const validations = () => {\r\n const { labourDescription, workCategoryValue, labourRate, jobItemStatusID, labourHours, jobItemCostTypeIDValue } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(labourDescription)) {\r\n errors.labourDescription = 'Description is required';\r\n formIsValid = false;\r\n }\r\n if (!workCategoryValue) {\r\n errors.workCategory = 'Work Category is required';\r\n formIsValid = false;\r\n }\r\n if (!state.costCategoryValue) {\r\n errors.costCategory = 'Cost Category is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(labourRate)) {\r\n errors.labourRate = 'Rate is required';\r\n formIsValid = false;\r\n }\r\n if (!isServiceAgent && !state.jobItemStatusIDValue) {\r\n errors.jobItemStatusID = 'Status is required';\r\n formIsValid = false;\r\n }\r\n if (!jobItemCostTypeIDValue) {\r\n errors.jobItemCostTypeIDValue = 'Cost Type is required';\r\n formIsValid = false;\r\n }\r\n\r\n if (!labourHours) {\r\n errors.labourHours = 'Hours is required';\r\n formIsValid = false;\r\n }\r\n\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitSendForApproval = async (val) => {\r\n if (validations()) {\r\n setBtnLoader(true);\r\n const PartsVM = state.rows\r\n .filter((data) => data.isDeleted != true)\r\n .map((row) => ({\r\n vehicleJobPartNumber: row.vehicleJobPartNumber,\r\n vehicleJobPartQuantity: row.vehicleJobPartQuantity,\r\n vehicleJobPartDiscount: row.vehicleJobPartDiscount,\r\n vehicleJobPartUnitPrice: row.vehicleJobPartUnitPrice,\r\n vehicleJobPartDescription: row.vehicleJobPartDescription\r\n }));\r\n const data = {\r\n jobItemDescription: state.labourDescription,\r\n jobItemLabourHours: state.labourHours,\r\n jobItemLabHourRate: state.labourRate,\r\n jobItemLabourDiscount: state.labourDiscount || 0,\r\n jobItemID: state.jobItemID,\r\n jobItemVMRSCategoryID: state.jobItemVMRSCategoryID,\r\n jobItemVMRSSubCategoryID: state.jobItemVMRSSubCategoryID,\r\n jobItemJobID: props.jobItemJobID,\r\n jobItemCostCategoryID: state.costCategoryValue?.id,\r\n vehicleJobPartsVM: PartsVM,\r\n jobItemStatusID: state.jobItemStatusIDValue?.id,\r\n jobItemCostTypeID: state.jobItemCostTypeIDValue?.id,\r\n sendForApproval: 0\r\n };\r\n let res = await postJobItem(data);\r\n if (res.success) {\r\n showToastSuccess('Job item saved successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n const addPartToLocally = () => {\r\n if (state.partDescription === '') {\r\n showToastError('Description is required');\r\n }\r\n if (state.partNumber === '') {\r\n showToastError('Quantity is required');\r\n }\r\n if (state.partQuantity === null || state.partQuantity === '') {\r\n showToastError('Quantity is required');\r\n }\r\n if (state.partUnitPrice === null || state.partUnitPrice === '') {\r\n showToastError('Price is required');\r\n } else {\r\n let newPartToAdd = {\r\n vehicleJobPartNumber: state.partNumber,\r\n vehicleJobPartQuantity: state.partQuantity,\r\n vehicleJobPartDiscount: state.partsDiscount,\r\n vehicleJobPartUnitPrice: state.partUnitPrice,\r\n vehicleJobPartDescription: state.partDescription,\r\n isDeleted: false,\r\n partsTotal: total\r\n };\r\n setState((st) => ({\r\n ...st,\r\n rows: state.rows.filter((item) => item.id !== state.partId)\r\n }));\r\n\r\n setState((st) => {\r\n newPartToAdd.id = st.rows.length === 0 ? 1 : Math.max(...st.rows.map((c) => c.id)) + 1;\r\n return {\r\n ...st,\r\n rows: [...st.rows, newPartToAdd],\r\n partNumber: '',\r\n partQuantity: '',\r\n partsDiscount: '',\r\n partUnitPrice: '',\r\n partDescription: '',\r\n partsTotal: '',\r\n isUpdate: false,\r\n partId: undefined\r\n };\r\n });\r\n }\r\n };\r\n const closeTheDialog = () => {\r\n setState((st) => ({ ...st, showPastJob: false }));\r\n };\r\n\r\n const handleClose = () => {\r\n props.onClose(false);\r\n };\r\n\r\n const handleOpen = () => {\r\n setState((st) => ({ ...st, showCancelConfirmModal: !st.showCancelConfirmModal }));\r\n };\r\n\r\n let setbtn = state.setBackup.length > 0 ? handleOpen : handleClose;\r\n return (\r\n
\r\n {state.showPastJob && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {checkStatus && (\r\n \r\n \r\n Save\r\n \r\n \r\n )}\r\n \r\n {\r\n // props.onClose(false);\r\n // }\r\n }\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Total\r\n £{total1?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}\r\n \r\n \r\n \r\n \r\n \r\n {(state.workCategory || !isServiceAgent) && (\r\n \r\n {'\\u{2800}'}\r\n {\r\n setState((st) => ({ ...st, showPastJob: true }));\r\n }}\r\n icon={SearchIcon}\r\n />\r\n \r\n )}\r\n {state.errors.workCategory}\r\n \r\n \r\n \r\n {state.errors.costCategory}\r\n \r\n {!isServiceAgent && (\r\n <>\r\n \r\n \r\n {state.errors.jobItemCostTypeIDValue}\r\n \r\n \r\n \r\n {state.errors.jobItemStatusID}\r\n \r\n \r\n )}\r\n \r\n {checkStatus && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.partId ? 'Update' : 'Add'}\r\n \r\n \r\n \r\n \r\n )}\r\n {state.showCancelConfirmModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n
\r\n item.isDeleted !== true)}\r\n isRowHovered={true}\r\n loadingData={state.loader}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AddJobItemModal;\r\n","import React, { useState } from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport { SecondaryButton } from '../../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport JobEstimateModal from '../../JobStatusBtn/JobEstimate';\r\nimport JobQueryModal from '../../JobStatusBtn/JobQuery';\r\nimport SubmitWarnngModal from '../../JobStatusBtn/SubmitWarning';\r\nimport { CustomChip } from '../../../../../../Core/Controls';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport AcceptEstimateModal from '../../JobStatusBtn/AcceptEstimateModal';\r\nimport HelpIcon from '@material-ui/icons/Help';\r\n\r\nconst CancelButton = (props) => {\r\n return Cancel;\r\n};\r\n\r\nfunction ServiceAgentstatusBasedButton(props) {\r\n const [state, setState] = useState({\r\n showEstimate: false,\r\n title: ''\r\n });\r\n\r\n const { status, vehicleID, data } = props;\r\n\r\n const handelPopup = async (title, setShow) => {\r\n if (data.jobOrderTotal != 0 && title == 'Submit Cost') {\r\n setShow = 'showSubmitCostModal';\r\n }\r\n setState((st) => ({\r\n ...st,\r\n title: title,\r\n [setShow]: true\r\n }));\r\n };\r\n const showSubmitModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showSubmit: false\r\n }));\r\n };\r\n const closeTheDialog = async (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showEstimate: false,\r\n showSubmit: false,\r\n showSubmitCostModal: false\r\n }));\r\n res && props.refreshScreen(res);\r\n };\r\n\r\n const CostomButton = (btnLable, modalName, icon) => {\r\n return (\r\n <>\r\n {props.btnType == 'chip' ? (\r\n \r\n {\r\n handelPopup(`${btnLable}`, `${modalName}`);\r\n }}\r\n style={{ fontWeight: 'bold' }}\r\n color=\"green\"\r\n />\r\n \r\n ) : (\r\n {\r\n handelPopup(`${btnLable}`, `${modalName}`);\r\n }}\r\n >\r\n {`${btnLable}`}\r\n \r\n )}\r\n \r\n );\r\n };\r\n return (\r\n \r\n \r\n {(status == 'JQ' && data.jobInAgentQuery) || (status == 'EA' && data.jobIsEstimate)\r\n ? CostomButton('Revise Estimate', 'showEstimate', AddIcon)\r\n : null}\r\n {/* {(status == 'JQ' || status == 'EA') && data.jobIsEstimate && data.jobInAgentQuery? CostomButton('Revise Estimate', 'showEstimate', AddIcon) : null} */}\r\n {(status == 'AA' || status == 'JP') && CostomButton('Submit Estimate', 'showEstimate', AddIcon)}\r\n {(status == 'AA' || status == 'JP' || (status == 'JQ' && data.jobInAgentQuery) || status == 'EA') &&\r\n CostomButton('Submit Cost', 'showSubmit', AddIcon)}\r\n {status == 'AA' && CostomButton('Set In Progress', 'showEstimate', AddIcon)}\r\n {/* {status !== 'AU' && (\r\n \r\n )} */}\r\n \r\n\r\n {state.showSubmit && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n {state.showSubmitCostModal && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n {state.showEstimate && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ServiceAgentstatusBasedButton;\r\n","import { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport { TableRow, TableCell } from '@material-ui/core';\r\nimport { yellow } from '@material-ui/core/colors';\r\n\r\nexport const StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '2px 8px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '2px 8px',\r\n '&.MuiTableCell-root': {\r\n verticalAlign: 'top !important'\r\n }\r\n }\r\n}))(TableCell);\r\n\r\nexport const StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { Table, TableBody, TableHead, Divider } from '@material-ui/core';\r\nimport { useToast } from '../../../../../../Core/Hooks/useToast';\r\nimport TableContainer from '@material-ui/core/TableContainer';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { SingleSelect, SimpleField, SecondaryCheckbox } from '../../../../../../Core/Controls';\r\nimport { StyledTableCell, StyledTableRow } from '../../../../../../Core/Controls/Table/StyledCell&Row';\r\nimport { some } from 'lodash';\r\n\r\nimport { useWindowSize } from '../../../../../../Core/Hooks/useWindowSize';\r\n\r\nfunction SalesLines(props) {\r\n const {\r\n invoiceLinesCheckBox,\r\n invoiceLinesCheckField,\r\n PartSelectChange,\r\n handleFields,\r\n invoiceLines,\r\n partsDetails,\r\n vatRate,\r\n invoiceItemVATRateID,\r\n onInvoiceItemChange\r\n } = props;\r\n const [width, height] = useWindowSize();\r\n\r\n let checkSize = width <= 1760 ? 2 : 1;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {invoiceLines.map((m, i) => {\r\n let temp = 0;\r\n return (\r\n \r\n \r\n \r\n \r\n Labour\r\n \r\n \r\n {i == 0 && (\r\n \r\n VAT Rate\r\n \r\n \r\n )}\r\n  \r\n \r\n \r\n \r\n \r\n \r\n \r\n Labour Description\r\n \r\n {m.labourDescription || 'N/A'}\r\n
Cost Type: {m.costType || 'N/A'}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n VAT Rate\r\n \r\n {m.vatIdError ? 'This Field is Required' : null}\r\n \r\n \r\n \r\n \r\n
\r\n {some(partsDetails, (r) => r.jobItemID == m.itemID) && (\r\n \r\n \r\n  \r\n \r\n \r\n Parts\r\n \r\n \r\n \r\n {partsDetails.map((p, k) => {\r\n if (p.jobItemID == m.itemID) {\r\n temp++;\r\n return (\r\n \r\n  \r\n \r\n \r\n \r\n {'\\u{2800}'}\r\n \r\n \r\n \r\n {temp == 1 && Part Number }\r\n \r\n {p.partNumber || 'N/A'}\r\n
Description:{p.partDescription || 'N/A'}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {temp == 1 && VAT Rate}\r\n \r\n {p.vatIdError ? 'This Field is Required' : 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 );\r\n}\r\nexport default SalesLines;\r\n","import { postWithAuth, getWithAuth } from \"../../../Basic/HttpService\";\r\n\r\nexport const getAllRetorqueTypes = async () => {\r\n let res = await getWithAuth(`Retorquereasons`);\r\n return res;\r\n};\r\n\r\nexport const getRetorqueById = async (id) => {\r\n let res = await getWithAuth(`Retorquereasons/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postRetorqueData = async (data) => {\r\n let res = await postWithAuth(`Retorquereasons`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { InputLabel, FormHelperText } from \"@material-ui/core\";\r\nimport { InputText, SecondaryButton, MandatoryField } from \"../../../Core/Controls\";\r\nimport { getRetorqueById, postRetorqueData } from \"../../../Core/Services/InternalUser/VOR/retorqueReasonsService\";\r\nimport { useToast } from \"../../../Core/Hooks/useToast\";\r\nimport \"../../commonStyle.scss\";\r\n\r\nfunction RetorqueReasonsModal(props) {\r\n const [state, setState] = useState({\r\n retorqueReasonID: null,\r\n retorqueReasonDescription: \"\",\r\n errors: {},\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.retorqueReasonID) {\r\n let res = await getRetorqueById(props.retorqueReasonID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n retorqueReasonID: res.data.retorqueReasonID,\r\n retorqueReasonDescription: res.data.retorqueReasonDescription,\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value,\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n const { retorqueReasonDescription } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(retorqueReasonDescription)) {\r\n errors.retorqueReasonDescription = \"Retorque Reason is required\";\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const retorqueData = {\r\n retorqueReasonID: state.retorqueReasonID,\r\n retorqueReasonDescription: state.retorqueReasonDescription,\r\n };\r\n let res = await postRetorqueData(retorqueData);\r\n if (res.success) {\r\n showToastSuccess(\"Retorque Reason Updated sucessfully\");\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 {props.retorqueReasonID ? \"Update\" : \"Add\"}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default RetorqueReasonsModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllRetorqueTypes } from '../../../Core/Services/InternalUser/VOR/retorqueReasonsService';\r\nimport DataGrid from '../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport RetorqueReasonsModal from './RetorqueReasonsModal';\r\nimport { BreadCrumbs, AddButton, EditButton } from '../../../Core/Controls';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport '../../commonStyle.scss';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Retorque Reasons', active: true }\r\n];\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'retorqueReasonDescription', name: 'Description' }\r\n];\r\n\r\nfunction RetorqueReasons(props) {\r\n const [state, setState] = useState({\r\n RetorqueList: [],\r\n loader: true,\r\n open: false\r\n });\r\n\r\n useEffect(async () => {\r\n pullRetorquereasons();\r\n }, []);\r\n\r\n const pullRetorquereasons = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const retorqueHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, retorqueReasonID: params?.retorqueReasonID }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n retorqueHandler(row)} toolTipTitle=\"Edit Retorque Reason\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.retorqueReasonID ? 'Update Retorque Reason' : 'Add Retorque Reason';\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullRetorquereasons();\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={'Retorquereasons'}\r\n btnTitle=\"Add Retorque Reason\"\r\n onBtnClick={() => retorqueHandler(null)}\r\n isReload={state.isReload}\r\n />\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"md\">\r\n closeModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\nexport default RetorqueReasons;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, Typography, Divider } from '@material-ui/core';\r\nimport {\r\n SecondaryButton,\r\n SelectBox,\r\n formatters,\r\n MandatoryField,\r\n SingleSelect,\r\n SimpleField,\r\n DatePicker,\r\n SecondaryCheckbox\r\n} from '../../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../../Core/Hooks/useToast';\r\nimport '../../../../../commonStyle.scss';\r\nimport { GetSalesInvoice, SalesInvoiceAddHeaderLabourPart } from '../../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport { useLoginInfo } from '../../../../../../Core/Hooks/useLoginInfo';\r\nimport moment from 'moment';\r\nimport { some } from 'lodash';\r\n//import './jobstyle.scss';\r\nimport { useWindowSize } from '../../../../../../Core/Hooks/useWindowSize';\r\nimport SalesLines from './sellerLines';\r\nimport RetorqueReasons from '../../../../../VOR/RetorqueReasonsScreen/RetorqueReasons';\r\nfunction AddJobItemModal(props) {\r\n const [width, height] = useWindowSize();\r\n const [state, setState] = useState({\r\n invoiceLines: [],\r\n vatRate: [],\r\n vehicleDetails: [],\r\n partsDetails: [],\r\n purchaseInvoiceDate: moment().format('YYYY-DD-MM'),\r\n purchaseInvoiceDateDue: '',\r\n purchaseInvoiceDate: '',\r\n purchaseNominalCode: '',\r\n errors: {},\r\n vatRate: null\r\n });\r\n const { userRoles } = useLoginInfo();\r\n\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n let res1 = await GetSalesInvoice(props.scheduleJobID);\r\n if (res1.success) {\r\n setState((st) => ({\r\n ...st,\r\n vatRate: res1.data.vatRate,\r\n vehicleDetails: res1.data?.vehicleDetails || [],\r\n invoiceLines: res1.data.invoiceLines.map((m) => ({ ...m, invoiceItemVATRateID: null, invoiceItemVAT: null, isSelected: true })) || [],\r\n partsDetails: res1.data.partsDetails.map((m) => ({ ...m, invoiceItemVATRateID: null, invoiceItemVAT: null, isSelected: true }))\r\n }));\r\n }\r\n }, []);\r\n\r\n const inputChange = (e) => {\r\n const { name, value, type } = e.target;\r\n if (name === 'purchaseInvoiceDate') {\r\n let dueDate = moment(value).add(state.vehicleDetails[0]?.paymentDays, 'd');\r\n setState((st) => ({ ...st, [name]: value, purchaseInvoiceDateDue: moment(dueDate).format('YYYY-MM-DD') }));\r\n } else {\r\n setState((st) => ({ ...st, [name]: value }));\r\n }\r\n };\r\n const percentage = (num, per) => {\r\n return (num / 100) * per;\r\n };\r\n const getFixedDigit = (val) => {\r\n return val ? val.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,') : 0;\r\n };\r\n const onInvoiceItemChange = (ev, val) => {\r\n if (val) {\r\n\r\n let invoiceLines = state.invoiceLines.map((x) => ({\r\n ...x,\r\n invoiceItemVAT: getFixedDigit(percentage(x.labourExVAT, val.vatRatePercent)),\r\n invoiceItemVATRateID: val\r\n }));\r\n let changedArray = state.partsDetails.map((x) => ({\r\n ...x,\r\n invoiceItemVAT: getFixedDigit(percentage(x.total, val.vatRatePercent)),\r\n invoiceItemVATRateID: val\r\n }));\r\n setState((state) => {\r\n const nst = { ...state, partsDetails: changedArray, invoiceLines: invoiceLines };\r\n return nst;\r\n });\r\n }\r\n };\r\n\r\n const invoiceLinesCheckField = (num, i) => (e, val) => {\r\n const { name, checked, type, value } = e.target;\r\n let changedArray = [...state.invoiceLines];\r\n let objIndex = state.invoiceLines.findIndex((x) => x.itemID == i);\r\n if (type?.toLowerCase() === 'text' || type.toLowerCase() === 'number') {\r\n changedArray[objIndex][name] = value;\r\n if (name == 'labourHours' || name == 'labourRate' || name == 'labourDiscount') {\r\n let data = changedArray[objIndex];\r\n const total1 = (data['labourHours'] * data['labourRate'] * (100 - data['labourDiscount'] || 0)) / 100;\r\n data['labourExVAT'] = getFixedDigit(total1);\r\n }\r\n } else if (val) {\r\n changedArray[objIndex]['invoiceItemVATRateID'] = val;\r\n changedArray[objIndex]['invoiceItemVAT'] = getFixedDigit(percentage(num, val.vatRatePercent));\r\n }\r\n setState((state) => {\r\n const nst = { ...state, invoiceLines: changedArray };\r\n return nst;\r\n });\r\n };\r\n\r\n const invoiceLinesCheckBox = (i) => (e) => {\r\n const { name, checked } = e.target;\r\n let changedArray = [...state.invoiceLines];\r\n let objIndex = state.invoiceLines.findIndex((x) => x.itemID == i);\r\n changedArray[objIndex][name] = checked;\r\n setState((state) => {\r\n const nst = { ...state, invoiceLines: changedArray };\r\n return nst;\r\n });\r\n };\r\n const PartSelectChange = (num, id) => (ev, val) => {\r\n let changedArray = [...state.partsDetails];\r\n let objIndex = state.partsDetails.findIndex((x) => x.partID == id);\r\n if (val) {\r\n let calPercentage = percentage(num, val.vatRatePercent);\r\n changedArray[objIndex]['invoiceItemVATRateID'] = val;\r\n changedArray[objIndex]['invoiceItemVAT'] = getFixedDigit(calPercentage);\r\n setState((state) => {\r\n const nst = { ...state, partsDetails: changedArray };\r\n return nst;\r\n });\r\n }\r\n };\r\n\r\n const handleFields = (i) => (e) => {\r\n const { name, value, checked, type } = e.target;\r\n let changedArray = [...state.partsDetails];\r\n let objIndex = state.partsDetails.findIndex((x) => x.partID == i);\r\n if (type.toLowerCase() === 'text' || type.toLowerCase() === 'number') {\r\n changedArray[objIndex][name] = value;\r\n if (name == 'qty' || name == 'unitPrice' || name == 'discount') {\r\n let data = changedArray[objIndex];\r\n const total1 = (data['qty'] * data['unitPrice'] * (100 - data['discount'] || 0)) / 100;\r\n data['total'] = getFixedDigit(total1);\r\n }\r\n } else {\r\n changedArray[objIndex][name] = checked;\r\n }\r\n\r\n setState((state) => {\r\n const nst = { ...state, partsDetails: changedArray };\r\n return nst;\r\n });\r\n };\r\n\r\n const validation = () => {\r\n const { purchaseInvoiceDate, purchaseInvoiceDateDue, invoiceLines, partsDetails } = state;\r\n let errors = {};\r\n let isValid = true;\r\n if (!purchaseInvoiceDate) {\r\n errors.purchaseInvoiceDate = 'Date is required';\r\n isValid = false;\r\n }\r\n if (!purchaseInvoiceDateDue) {\r\n errors.purchaseInvoiceDateDue = 'Due Date is required';\r\n isValid = false;\r\n }\r\n\r\n let data = invoiceLines.map((r) => {\r\n if (r.isSelected && r.invoiceItemVATRateID == null) {\r\n isValid = false;\r\n return { ...r, vatIdError: true };\r\n } else {\r\n return { ...r, vatIdError: false };\r\n }\r\n });\r\n\r\n let part = partsDetails.map((r) => {\r\n if (r.isSelected && r.invoiceItemVATRateID == null) {\r\n isValid = false;\r\n return { ...r, vatIdError: true };\r\n } else {\r\n return { ...r, vatIdError: false };\r\n }\r\n });\r\n setState((st) => ({\r\n ...st,\r\n errors: errors,\r\n invoiceLines: data,\r\n partsDetails: part\r\n }));\r\n return isValid;\r\n };\r\n const handelSubmit = async () => {\r\n if (validation()) {\r\n let salesLabourItems = state.invoiceLines\r\n .filter((m) => m.isSelected)\r\n .map((m) => ({\r\n jobItemID: m.itemID,\r\n labourVATRateID: m.invoiceItemVATRateID?.id,\r\n labourHours: m.labourHours,\r\n labourRate: m.labourRate,\r\n labourDescription: m.labourDescription,\r\n labourDiscount: m.labourDiscount,\r\n labourVATPercent: m.invoiceItemVATRateID?.vatRatePercent,\r\n labourVATAmount: m.invoiceItemVAT,\r\n labourCost: m.labourExVAT\r\n }));\r\n let salesPartsItems = state.partsDetails\r\n .filter((m) => m.isSelected)\r\n .map((m) => ({\r\n jobItemID: m.jobItemID,\r\n partNumber: m.partNumber,\r\n partDescription: m.partDescription,\r\n partQuantity: m.qty,\r\n partUnitPrice: m.unitPrice,\r\n partDiscount: m.discount,\r\n partVATRateID: m.invoiceItemVATRateID?.id,\r\n partVATPercent: m.invoiceItemVATRateID?.vatRatePercent,\r\n partVATAmount: m.invoiceItemVAT\r\n }));\r\n let formData = {\r\n salesLabourItems: salesLabourItems,\r\n salesPartsItems: salesPartsItems,\r\n // salesInvoiceNumber: state.purchaseInvoiceNumber,\r\n salesInvoiceDate: state.purchaseInvoiceDate,\r\n salesInvoiceDateDue: state.purchaseInvoiceDateDue,\r\n salesInvoiceJobID: props.scheduleJobID\r\n };\r\n let res = await SalesInvoiceAddHeaderLabourPart(formData);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Reg Number\r\n {state.vehicleDetails[0]?.regNumber || 'N/A'}\r\n \r\n \r\n Order No\r\n {state.vehicleDetails[0]?.orderRef || 'N/A'}\r\n \r\n \r\n Customer\r\n {state.vehicleDetails[0]?.customer || 'N/A'}\r\n \r\n \r\n Booked Date\r\n {formatters.DateOnlyFormatter(state.vehicleDetails[0]?.bookedDate)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Invoice Date\r\n \r\n \r\n {state.errors.purchaseInvoiceDate}\r\n \r\n \r\n \r\n Due Date\r\n \r\n \r\n {state.errors.purchaseInvoiceDateDue}\r\n \r\n \r\n {'\\u{2800}'}\r\n Submit\r\n \r\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 AddJobItemModal;\r\n","import React, { useState } from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport { useLoginInfo } from '../../../../../../Core/Hooks/useLoginInfo';\r\nimport { SecondaryButton } from '../../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport JobEstimateModal from '../../JobStatusBtn/JobEstimate';\r\nimport JobQueryModal from '../../JobStatusBtn/JobQuery';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { CustomChip } from '../../../../../../Core/Controls';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport HelpIcon from '@material-ui/icons/Help';\r\n\r\nconst CancelButton = (props) => {\r\n return Cancel;\r\n};\r\n\r\nfunction CuststatusBasedButton(props) {\r\n const [state, setState] = useState({\r\n showJobQuery: false,\r\n showEstimate: false,\r\n title: ''\r\n });\r\n\r\n const { userRoles } = useLoginInfo();\r\n const isCustomer = userRoles.includes('customer');\r\n const { status, vehicleID, data } = props;\r\n const handelPopup = async (title, setShow) => {\r\n setState((st) => ({\r\n ...st,\r\n title: title,\r\n [setShow]: true\r\n }));\r\n };\r\n\r\n const closeTheDialog = async (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showJobQuery: false,\r\n showEstimate: false\r\n }));\r\n res && props.refreshScreen(res);\r\n };\r\n\r\n const CostomButton = (btnLable, modalName, icon) => {\r\n return (\r\n <>\r\n {props.btnType == 'chip' ? (\r\n \r\n {\r\n handelPopup(`${btnLable}`, `${modalName}`);\r\n }}\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n \r\n ) : (\r\n {\r\n handelPopup(`${btnLable}`, `${modalName}`);\r\n }}\r\n >\r\n {`${btnLable}`}\r\n \r\n )}\r\n \r\n );\r\n };\r\n console.log(status, 'sta');\r\n return (\r\n \r\n {isCustomer ? (\r\n \r\n {props.isShownHeadrer ? null : (\r\n \r\n )}\r\n {(status == 'AQ' || status == 'IQ') && props.otherOptionsBtnShow ? CostomButton('Reply Query', 'showJobQuery', AddIcon) : null}\r\n {status == 'AR' && props.otherOptionsBtnShow ? CostomButton('Approve Order', 'showEstimate', CheckIcon) : null}\r\n {(status == 'AA' ||\r\n status == 'JP' ||\r\n status == 'AU' ||\r\n status == 'ER' ||\r\n status == 'EP' ||\r\n status == 'CQ' ||\r\n status == 'AR' ||\r\n status == 'EC') &&\r\n props.otherOptionsBtnShow\r\n ? CostomButton('Query Job', 'showJobQuery', HelpIcon)\r\n : null}\r\n {/* {status == 'EP' && props.otherOptionsBtnShow ? CostomButton('Estimate Accept', 'showEstimate', AddIcon) : null} */}\r\n {/* {status == 'AR' && props.otherOptionsBtnShow ? CostomButton('Send for customer approval', 'showEstimate', AddIcon) : null} */}\r\n {status == 'EC' && props.otherOptionsBtnShow ? CostomButton('Accept Estimate', 'showEstimate', CheckIcon) : null}\r\n \r\n ) : null}\r\n {state.showJobQuery && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n {state.showEstimate && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default CuststatusBasedButton;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { createInvoice } from '../../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { SecondaryButton, DatePicker, MandatoryField, SecondaryCheckbox } from '../../../../../../Core/Controls';\r\nimport { Table, TableBody, TableRow, TableCell, TableHead } from '@material-ui/core';\r\nimport { useToast } from '../../../../../../Core/Hooks/useToast';\r\nimport TableContainer from '@material-ui/core/TableContainer';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { some } from 'lodash';\r\nimport moment from 'moment';\r\nimport { GetPurchaseInvoice } from '../../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nfunction PurchaseInvoice(props) {\r\n const [state, setState] = useState({\r\n jobItemsList: [],\r\n loader: true,\r\n open: false,\r\n jobStatusID: '',\r\n purchaseInvoiceDate: moment().format('YYYY-DD-MM'),\r\n purchaseInvoiceDateDue: '',\r\n purchaseNominalCode: '',\r\n invoiceLines: [],\r\n purchaseInvoiceNumber: '',\r\n errors: {},\r\n showOk: true\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n let res1 = await GetPurchaseInvoice(props.scheduleJobID);\r\n if (res1.success) {\r\n setState((st) => ({\r\n ...st,\r\n vatRate: res1.data.vatRate,\r\n vehicleDetails: res1.data?.vehicleDetails || [],\r\n invoiceLines: res1.data.invoiceLines.map((m) => ({ ...m, invoiceItemVATRateID: null, invoiceItemVAT: null, isSelected: true })) || [],\r\n partsDetails: res1.data.partsDetails.map((m) => ({ ...m, invoiceItemVATRateID: null, invoiceItemVAT: null, isSelected: true }))\r\n }));\r\n }\r\n }, []);\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n useEffect(() => {\r\n let getSelectedJob = some(state.invoiceLines, (r) => r.isSelected);\r\n setState((state) => {\r\n const nst = { ...state, showOk: getSelectedJob };\r\n return nst;\r\n });\r\n }, [state.invoiceLines]);\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false, itemID: null, showInvoice: false, showSellerInvoice: false }));\r\n };\r\n\r\n const inputChange = (e) => {\r\n const { name, value, type } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const handelSubmit = async () => {\r\n if (validations()) {\r\n setBtnLoader(true);\r\n const data = {\r\n purchaseInvoiceJobID: props.scheduleJobID,\r\n purchaseInvoiceNumber: state.purchaseInvoiceNumber,\r\n purchaseInvoiceDate: state.purchaseInvoiceDate,\r\n purchaseInvoiceDateDue: state.purchaseInvoiceDateDue,\r\n purchaseInvoiceNominalCode: state.purchaseNominalCode,\r\n CreateInvoiceItems: state.invoiceLines\r\n .filter((m) => m.isSelected)\r\n .map((i) => {\r\n if (i.isSelected) {\r\n return {\r\n itemID: i.itemID\r\n };\r\n }\r\n })\r\n };\r\n let res = await createInvoice(data);\r\n if (res.success) {\r\n showToastSuccess('Invoice created successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n const validations = () => {\r\n const { purchaseInvoiceNumber, purchaseInvoiceDate, purchaseInvoiceDateDue, purchaseNominalCode } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(purchaseInvoiceNumber)) {\r\n errors.purchaseInvoiceNumber = 'Invoice number is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(purchaseInvoiceDate)) {\r\n errors.purchaseInvoiceDate = 'Invoice date is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(purchaseInvoiceDateDue)) {\r\n errors.purchaseInvoiceDateDue = 'Invoice due date is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(purchaseNominalCode)) {\r\n errors.purchaseNominalCode = 'Nominal code is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleCheckbox = (i) => (e) => {\r\n const { name, checked } = e.target;\r\n let changedArray = [...state.invoiceLines];\r\n let objIndex = state.invoiceLines.findIndex((x) => x.itemID == i);\r\n\r\n changedArray[objIndex][name] = checked;\r\n setState((state) => {\r\n const nst = { ...state, invoiceLines: changedArray };\r\n return nst;\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 Invoice Date\r\n \r\n \r\n\r\n {state.errors.purchaseInvoiceDate}\r\n \r\n \r\n \r\n Due Date\r\n \r\n \r\n {state.errors.purchaseInvoiceDateDue}\r\n \r\n \r\n \r\n \r\n \r\n Clicking the OK button below will create invoice for following lines\r\n \r\n \r\n \r\n \r\n Create\r\n Description\r\n Part\r\n Labour Cost\r\n Total\r\n \r\n \r\n \r\n {state.invoiceLines.map((row, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {row.labourDescription}\r\n \r\n {row.partsprice ? <>£{row.partsprice.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} : <>£0.00}\r\n \r\n \r\n {row.labourCost ? <>£{row.labourCost.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} : <>£0.00}\r\n \r\n \r\n {row.total ? <>£{row.total.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} : <>£0.00}\r\n \r\n \r\n );\r\n })}\r\n {state.invoiceLines.length <= 0 && (\r\n \r\n \r\n No Record Found\r\n \r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Ok\r\n \r\n \r\n \r\n props.onClose(false)}>Cancel\r\n \r\n
\r\n
\r\n );\r\n}\r\nexport default PurchaseInvoice;\r\n","import React, { useContext, useState, useRef, useCallback, useEffect } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, SecondaryCheckbox, DatePicker } from '../../../../../Core/Controls';\r\nimport SignaturePad from 'react-signature-canvas';\r\n// import './defect.scss';\r\nimport { CustomIconButton } from '../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport { postTechnicianSignOff } from '../../../../../Core/Services/InternalUser/Maintenance/DefectBreackDownStepper/DefectBreackDownStepper';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { Tooltip } from '@material-ui/core';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport { setCompletionDate } from '../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\n\r\nconst SignOff = (props) => {\r\n const [state, setState] = useState({\r\n signedOffByName: props.displayName,\r\n errors: {},\r\n signAvailable: AppStorage.getSignature() === 'absent' ? false : true\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n const signCanvas = useRef({});\r\n const { isLoggedIn, displayName, lastLogin, userRoles } = useLoginInfo();\r\n const isInternalUser = userRoles.includes('internal');\r\n\r\n // useEffect(() => {\r\n // if (props.jobData.vehicleJobProgressTechnicianSignOffSignature) {\r\n // setState((st) => ({\r\n // ...st,\r\n // isDisabled: true,\r\n // imgtechniciansign: true,\r\n // signOffSignature : props.jobData.vehicleJobProgressTechnicianSignOffSignature,\r\n // signOffNotes : props.jobData.vehicleJobProgressSignOffNotes\r\n // }));\r\n // }\r\n // }, []);\r\n\r\n const clear = () => {\r\n if (state.imgtechniciansign) {\r\n setState((st) => ({\r\n ...st,\r\n imgtechniciansign: false,\r\n signOffSignature: null\r\n }));\r\n } else {\r\n signCanvas.current.clear();\r\n setState((st) => ({\r\n ...st,\r\n signOffSignature: null\r\n }));\r\n }\r\n };\r\n\r\n const GetTechnicianSign = () => {\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n signOffSignature: signCanvas.current.toDataURL()\r\n };\r\n return nst;\r\n });\r\n };\r\n const InputChangeHandler = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const validations = () => {\r\n const { signOffNotes, signedOffByName, signOffSignature } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!signOffNotes) {\r\n errors.signOffNotes = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!signedOffByName) {\r\n errors.signedOffByName = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!signOffSignature) {\r\n errors.signOffSignature = 'This field is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const SubmitHandler = async () => {\r\n if (validations()) {\r\n let FormData = {\r\n jobID: props.jobID,\r\n jobCompletionDate: props.jobCompletionDate,\r\n signOffNotes: state.signOffNotes,\r\n signedOffByName: state.signedOffByName,\r\n signOffSignature: state.signOffSignature\r\n };\r\n let res = await setCompletionDate(FormData);\r\n if (res.success) {\r\n showToastSuccess(`Technician sign off added successfully`);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n const useDefaultSig = () => {\r\n setState((st) => ({ ...st, imgtechniciansign: true, signOffSignature: AppStorage.getSignature() }));\r\n };\r\n\r\n return (\r\n \r\n {/* \r\n {props.jobData.defect}\r\n */}\r\n \r\n Declaration\r\n {props.declaration}\r\n \r\n \r\n Comment\r\n \r\n {state.errors.signOffNotes}\r\n \r\n \r\n Name\r\n \r\n {state.errors.signedOffByName}\r\n \r\n \r\n
\r\n \r\n Technician Signature\r\n {state.signAvailable ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n\r\n \r\n {!state.isDisabled && (\r\n \r\n \r\n \r\n )}\r\n
\r\n\r\n {state.imgtechniciansign ? (\r\n \r\n ) : (\r\n
\r\n {\r\n GetTechnicianSign();\r\n }}\r\n />\r\n
\r\n )}\r\n\r\n {state.errors.signOffSignature}\r\n \r\n
\r\n \r\n \r\n Sign off\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SignOff;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport clsx from 'clsx';\r\nimport Stepper from '@material-ui/core/Stepper';\r\nimport Step from '@material-ui/core/Step';\r\nimport StepLabel from '@material-ui/core/StepLabel';\r\nimport Check from '@material-ui/icons/Check';\r\nimport SettingsIcon from '@material-ui/icons/Settings';\r\nimport GroupAddIcon from '@material-ui/icons/GroupAdd';\r\nimport VideoLabelIcon from '@material-ui/icons/VideoLabel';\r\nimport StepConnector from '@material-ui/core/StepConnector';\r\nimport Button from '@material-ui/core/Button';\r\nimport Typography from '@material-ui/core/Typography';\r\n// import JobStepperScreen from './../../../Maintenance/BreackdownDefectStepper/addJobStepper';\r\n\r\nconst QontoConnector = withStyles({\r\n alternativeLabel: {\r\n top: 10,\r\n left: 'calc(-50% + 16px)',\r\n right: 'calc(50% + 16px)'\r\n },\r\n active: {\r\n '& $line': {\r\n borderColor: '#784af4'\r\n }\r\n },\r\n completed: {\r\n '& $line': {\r\n borderColor: '#784af4'\r\n }\r\n },\r\n line: {\r\n borderColor: '#eaeaf0',\r\n borderTopWidth: 3,\r\n borderRadius: 1\r\n }\r\n})(StepConnector);\r\n\r\nconst useQontoStepIconStyles = makeStyles({\r\n root: {\r\n color: '#eaeaf0',\r\n display: 'flex',\r\n height: 22,\r\n alignItems: 'center'\r\n },\r\n active: {\r\n color: '#784af4'\r\n },\r\n circle: {\r\n width: 8,\r\n height: 8,\r\n borderRadius: '50%',\r\n backgroundColor: 'currentColor'\r\n },\r\n completed: {\r\n color: '#784af4',\r\n zIndex: 1,\r\n fontSize: 18\r\n }\r\n});\r\n\r\nfunction QontoStepIcon(props) {\r\n const classes = useQontoStepIconStyles();\r\n const { active, completed } = props;\r\n\r\n return (\r\n \r\n {completed ? :
}\r\n
\r\n );\r\n}\r\n\r\nQontoStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n */\r\n active: PropTypes.bool,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n */\r\n completed: PropTypes.bool\r\n};\r\n\r\nconst ColorlibConnector = withStyles({\r\n alternativeLabel: {\r\n top: 22\r\n },\r\n active: {\r\n '& $line': {\r\n backgroundImage: 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)'\r\n }\r\n },\r\n completed: {\r\n '& $line': {\r\n backgroundImage: 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)'\r\n }\r\n },\r\n line: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: '#eaeaf0',\r\n borderRadius: 1\r\n }\r\n})(StepConnector);\r\n\r\nconst useColorlibStepIconStyles = makeStyles({\r\n root: {\r\n backgroundColor: '#ccc',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 50,\r\n height: 50,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n },\r\n active: {\r\n backgroundImage: 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)',\r\n boxShadow: '0 4px 10px 0 rgba(0,0,0,.25)'\r\n },\r\n completed: {\r\n backgroundImage: 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)'\r\n }\r\n});\r\n\r\nfunction ColorlibStepIcon(props) {\r\n const classes = useColorlibStepIconStyles();\r\n const { active, completed } = props;\r\n\r\n const icons = {\r\n 1: ,\r\n 2: ,\r\n 3: \r\n };\r\n\r\n return (\r\n \r\n {icons[String(props.icon)]}\r\n \r\n );\r\n}\r\n\r\nColorlibStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n */\r\n active: PropTypes.bool,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n */\r\n completed: PropTypes.bool,\r\n /**\r\n * The label displayed in the step icon.\r\n */\r\n icon: PropTypes.node\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%'\r\n },\r\n button: {\r\n marginRight: theme.spacing(1)\r\n },\r\n instructions: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1)\r\n }\r\n}));\r\n\r\nfunction getSteps() {\r\n return ['Booking Date', 'Vehicle Arrival Date', 'Job Complete Date'];\r\n}\r\n\r\nfunction getStepContent(step) {\r\n switch (step) {\r\n case 0:\r\n return 'Booking Date';\r\n case 1:\r\n return 'Vehicle Arrival Date';\r\n case 2:\r\n return 'Job Complete Date';\r\n default:\r\n return 'Unknown step';\r\n }\r\n}\r\n\r\nexport default function JobStepperScreen() {\r\n const classes = useStyles();\r\n const [activeStep, setActiveStep] = React.useState(1);\r\n const steps = getSteps();\r\n\r\n const handleNext = () => {\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n };\r\n\r\n // const handleBack = () => {\r\n // setActiveStep((prevActiveStep) => prevActiveStep - 1);\r\n // };\r\n\r\n const handleReset = () => {\r\n setActiveStep(0);\r\n };\r\n\r\n return (\r\n
\r\n {/* }>\r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n */}\r\n {/*
\r\n {/* {activeStep === steps.length ? (\r\n
\r\n All steps completed - you're finished\r\n \r\n
\r\n ) : (\r\n
\r\n {getStepContent(activeStep)}\r\n
\r\n \r\n \r\n
\r\n
\r\n )} \r\n
*/}\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport { FormHelperText, Grid, IconButton, InputLabel, Tooltip } from '@material-ui/core';\r\nimport { DateTimePicker, MandatoryField, SecondaryButton, SecondaryCheckbox, SelectBox } from '../../../../../Core/Controls';\r\nimport { useState } from 'react';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport ConfirmationModal from '../../../../../Core/Modal/ConfirmationModal';\r\nimport { postAgentArrivalTime } from '../../../../../Core/Services/InternalUser/Maintenance/DefectBreackDownStepper/DefectBreackDownStepper';\r\nimport { setBookingDate, setCompletionDate, setVehicleArrive } from '../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport UpdateIcon from '@material-ui/icons/Update';\r\nimport SignOff from './jobCompletionModal';\r\nimport moment from 'moment';\r\nimport { useEffect } from 'react';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport { getAllDelayReason } from '../../../../../Core/Services/InternalUser/bookingDelayReason';\r\nimport { usePortalSettings } from '../../../../../Core/Hooks/usePortalSettings';\r\nimport JobStepperScreen from './jobHeaderDateStepper';\r\nimport { Stepper } from '@material-ui/core/Stepper';\r\nimport CalendarTodayIcon from '@material-ui/icons/CalendarToday';\r\n\r\nconst JobItemHeaderDates = (props) => {\r\n const portalSettings = usePortalSettings();\r\n const { isLoggedIn, displayName, lastLogin, userRoles } = useLoginInfo();\r\n\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n const isCustomer = userRoles.includes('customer');\r\n const isinternal = userRoles.includes('internal');\r\n\r\n const [state, setState] = useState({\r\n vehicleArrivalDateCheck: false,\r\n jobCompleteDateCheck: false,\r\n bookingDateCheck: false,\r\n bookingDate: '',\r\n arrivedDate: '',\r\n jobCompletionDate: '',\r\n isjobCompletionDate: false,\r\n isarrivedDate: false,\r\n errors: {}\r\n });\r\n\r\n useEffect(async () => {\r\n setState((st) => ({\r\n ...st,\r\n bookingDate: props.jobDetails.bookingDate ? moment(props.jobDetails.bookingDate).format('YYYY-MM-DDTHH:mm') : '',\r\n isbookingDate: props.jobDetails.jobStatusID === 'JD' || props.jobDetails.jobStatusID === 'JP' ? true : false,\r\n arrivedDate: props.jobDetails.vehicleArrived ? moment(props.jobDetails.vehicleArrived).format('YYYY-MM-DDTHH:mm') : '',\r\n isarrivedDate: props.jobDetails.vehicleArrived ? true : false,\r\n jobCompletionDate: props.jobDetails.completionDate ? moment(props.jobDetails.completionDate).format('YYYY-MM-DDTHH:mm') : '',\r\n isjobCompletionDate: props.jobDetails.completionDate ? true : false,\r\n isReadOnly: isServiceAgent || isinternal ? false : true\r\n }));\r\n }, [props.jobDetails]);\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const dateFieldsChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const handleClick = (dateFlowName) => {\r\n // const { name, checked } = e.target;\r\n let errors = {};\r\n if (dateFlowName == 'vehicleArrivalDateCheck') {\r\n if (!state.arrivedDate) {\r\n errors.arrivedDate = 'Please set Arrival Date & Time';\r\n setState((state) => ({ ...state, errors: errors }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n [dateFlowName]: true,\r\n confirmModalTitle: 'Set Arrival Time',\r\n confirmModalText: `Please click the confirm button to set the vehicle arrival date & time`,\r\n errors: errors\r\n }));\r\n }\r\n } else if (dateFlowName == 'jobCompleteDateCheck') {\r\n if (!state.jobCompletionDate) {\r\n errors.jobCompletionDate = 'Please set Completion Date & Time';\r\n setState((state) => ({ ...state, errors: errors }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n [dateFlowName]: true,\r\n confirmModalTitle: 'Job Complete Date',\r\n confirmModalText: `Please click the confirm button to mark job as completed`,\r\n errors: errors\r\n }));\r\n }\r\n } else if (dateFlowName == 'bookingDateCheck') {\r\n if (!state.bookingDate) {\r\n errors.bookingDate = 'Please set Booking Date & Time';\r\n setState((state) => ({ ...state, errors: errors }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n [dateFlowName]: true,\r\n errors: errors\r\n }));\r\n }\r\n }\r\n };\r\n const handleConfirmPopup = (res) => {\r\n res && props.refreshScreen();\r\n setState((st) => ({\r\n ...st,\r\n vehicleArrivalDateCheck: false,\r\n jobCompleteDateCheck: false,\r\n bookingDateCheck: false\r\n }));\r\n };\r\n\r\n const submitData = async () => {\r\n let FormData;\r\n if (state.vehicleArrivalDateCheck) {\r\n FormData = {\r\n jobID: props.jobID,\r\n arrivedDate: state.arrivedDate,\r\n serviceAgentID: props.jobDetails.jobServiceAgentID\r\n };\r\n\r\n let res = await setVehicleArrive(FormData);\r\n if (res.success) {\r\n showToastSuccess(`Arrival date set successfully`);\r\n handleConfirmPopup(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n // if (state.jobCompleteDateCheck) {\r\n // FormData = {\r\n // jobID: props.jobID,\r\n // jobCompleteDateCheck: state.jobCompleteDateCheck\r\n // };\r\n // let res = await setCompletionDate(FormData);\r\n // if (res.success) {\r\n // showToastSuccess(`added successfully`);\r\n // handleConfirmPopup();\r\n // } else {\r\n // showToastError(res.message);\r\n // }\r\n // }\r\n };\r\n\r\n // const StepperList = [\r\n // {\r\n // name: 'Booking Date',\r\n // icon: CalendarTodayIcon\r\n // },\r\n // {\r\n // name: 'Vehicle Arrival Date',\r\n // icon: CalendarTodayIcon\r\n // },\r\n // {\r\n // name: 'Job Complete Date',\r\n // icon: CalendarTodayIcon\r\n // }\r\n // ];\r\n\r\n return (\r\n //date .........\r\n \r\n \r\n \r\n \r\n \r\n Booking Date\r\n \r\n {state.errors.bookingDate}\r\n \r\n \r\n \r\n \r\n handleClick('bookingDateCheck')} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Vehicle Arrival Date\r\n \r\n {state.errors.arrivedDate}\r\n \r\n \r\n \r\n \r\n handleClick('vehicleArrivalDateCheck')} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Job Complete Date\r\n \r\n {state.errors.jobCompletionDate}\r\n \r\n \r\n \r\n \r\n handleClick('jobCompleteDateCheck')} />\r\n \r\n \r\n \r\n \r\n \r\n {state.vehicleArrivalDateCheck ? (\r\n handleConfirmPopup(false)} maxWidth=\"sm\" fullWidth>\r\n handleConfirmPopup(false)}\r\n handleSubmit={submitData}\r\n title={state.confirmModalTitle}\r\n />\r\n \r\n ) : null}\r\n {state.jobCompleteDateCheck ? (\r\n handleConfirmPopup(false)} maxWidth=\"sm\" fullWidth>\r\n \r\n \r\n ) : null}\r\n {state.bookingDateCheck ? (\r\n handleConfirmPopup(false)} maxWidth=\"sm\" fullWidth>\r\n handleConfirmPopup(false)}\r\n bookingDate={state.bookingDate}\r\n jobID={props.jobID}\r\n refreshScreen={props.refreshScreen}\r\n />\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default JobItemHeaderDates;\r\n\r\nconst BookingDateModal = (props) => {\r\n const [state, setState] = useState({ errors: {}, jobReasonList: [] });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const dateFieldsChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n let listReason = await getAllDelayReason();\r\n let jobReasonList = listReason.data.list.map((m) => ({\r\n id: m.bookingDateDelayReasonID,\r\n name: m.bookingDateDelayReasonDescription\r\n }));\r\n\r\n setState((st) => ({\r\n ...st,\r\n jobReasonList: jobReasonList\r\n }));\r\n }, []);\r\n\r\n const handleSubmit = async () => {\r\n let FormData = {\r\n bookingNotes: state.bookingNotes,\r\n bookingReasonID: state.bookingReasonID,\r\n bookingDate: props.bookingDate,\r\n jobID: props.jobID\r\n };\r\n let res = await setBookingDate(FormData);\r\n if (res.success) {\r\n showToastSuccess(`Booking date set successfully`);\r\n // props.refreshScreen(true);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Select Reason\r\n \r\n \r\n {state.errors.bookingReasonID}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Add\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport '../../../commonStyle.scss';\r\nimport { getAllJobQueryList } from '../../../../Core/Services/InternalUser/JOB/jobQueryService';\r\nimport JobDetail from './JOBItems/JobDetails';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport moment from 'moment';\r\n\r\nconst JobSingleNote = (props) => {\r\n const { orderNo, name, dateCreated, message, dateReplied } = props.note;\r\n return (\r\n <>\r\n
\r\n
\r\n {message}\r\n
\r\n
\r\n {dateReplied ? moment(dateReplied).format('LLL') : '-'}\r\n
\r\n
\r\n {name} @ {dateCreated ? moment(dateCreated).format('LLL') : '-'}\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nconst JobQueriesScreen = (props) => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {}\r\n });\r\n useEffect(async () => {\r\n pullApiData();\r\n }, [props.refreshDependancy]);\r\n\r\n const pullApiData = async () => {\r\n let res = await getAllJobQueryList(props.JobID);\r\n setState((st) => ({\r\n ...st,\r\n showLoader: false,\r\n list: res.data.list\r\n }));\r\n };\r\n\r\n return (\r\n
\r\n {/* {props.JobID && } */}\r\n\r\n {!props.isHeaderNotShow && (\r\n \r\n \r\n \r\n Job Queries\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {state.list?.map((n, i) => (\r\n \r\n ))}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default JobQueriesScreen;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllJobItems, createInvoice } from '../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport { getJobDetailsById, getJobRequiredDocuments } from '../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\n\r\nimport DataGrid from '../../../../../Core/Controls/Grid';\r\nimport { AddButton, CustomChip, DateTimePicker, EditButton, formatters, PrimaryCheckbox } from '../../../../../Core/Controls';\r\nimport AddLabourModal from './addJobItem';\r\nimport '../../../../commonStyle.scss';\r\nimport '../../Notes/NotesandSticky.scss';\r\nimport JobDetail from './JobDetails';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, IconButton, InputLabel, Tooltip, Typography } from '@material-ui/core';\r\nimport { SecondaryButton, DatePicker, MandatoryField, SecondaryCheckbox } from '../../../../../Core/Controls';\r\nimport { Table, TableBody, TableRow, TableCell, TableHead } from '@material-ui/core';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport TableContainer from '@material-ui/core/TableContainer';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { some } from 'lodash';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport { useHistory } from 'react-router-dom';\r\nimport StatusBasedButton from '../JobDetails/ServiceAgent/statusBtn';\r\nimport SellerInvoiceModal from './JobInvoiceLines/sellerInvoice';\r\nimport CustStatusBasedButton from '../JobDetails/Customer/statusBtn';\r\nimport moment from 'moment';\r\nimport PurchaseInvoice from './JobInvoiceLines/purchaseInvoice';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport JobItemHeaderDates from './jobItemHeaderDates';\r\nimport FileUploaderButton from '../../../../../Core/Controls/GenericFileUploader';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport JobQueriesScreen from '../jobQueriesScreen';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport UpdateIcon from '@material-ui/icons/Update';\r\n\r\nimport UpcomingEvents from '../../Vehicles/ScheduleVehicle/upcomingEvents';\r\nimport { CustomIconButton } from '../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\n// Assigned AA, Estimate EP, JP In Progress -> Amber\r\n// Unassigned AU, Job Query JQ, FR Awaiting Cost Review, JD Job Deleted, JR Job Rejected -> Red\r\n// Costs Approved CA, JC Job Completed, JA Job Accepted -> Green\r\n\r\nconst alertBoxColorCode = {\r\n AA: 'warning',\r\n EP: 'warning',\r\n JP: 'warning',\r\n AU: 'error',\r\n JQ: 'error',\r\n FR: 'error',\r\n JD: 'error',\r\n JR: 'error',\r\n CA: 'success',\r\n JC: 'success',\r\n JA: 'success'\r\n};\r\n\r\nfunction JobItemsScreen(props) {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const { userRoles } = useLoginInfo();\r\n const isCustomer = userRoles.includes('customer');\r\n const [state, setState] = useState({\r\n jobItemsList: [],\r\n loader: true,\r\n open: false,\r\n jobStatusID: '',\r\n showInvoice: false,\r\n refresherFlag: new Date(),\r\n allApprovedJob: [],\r\n errors: {},\r\n showOk: true,\r\n showSellerBtn: true,\r\n showSellerInvoice: false,\r\n showCreate: false\r\n });\r\n const history = useHistory();\r\n\r\n const dataReload = () => {\r\n setState((state) => ({ ...state, refresherFlag: new Date() }));\r\n };\r\n\r\n const base_columns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 130\r\n },\r\n {\r\n key: 'jobItemDescription',\r\n name: 'Description',\r\n width: '40%',\r\n formatter: (params) => {\r\n return (\r\n \r\n \r\n {params.row.jobItemDescription}\r\n \r\n \r\n {params.row.vmrs}\r\n \r\n \r\n );\r\n },\r\n cellClass: 'react-data-grid-cell-line-height'\r\n }\r\n ];\r\n\r\n useEffect(async () => {\r\n pullJobDetails();\r\n pullJobItems();\r\n }, [state.refresherFlag]);\r\n\r\n const [jobDetails, setJobDetails] = useState({\r\n jobDescription: '',\r\n jobDepotID: '',\r\n jobServiceAgentID: '',\r\n vehicleMake: '',\r\n vehicleModel: '',\r\n jobRegNumber: '',\r\n refreshDependancy: ''\r\n });\r\n\r\n const [jobdocument, setJobDocument] = useState({\r\n list: []\r\n });\r\n\r\n const pullJobDetails = async () => {\r\n let res = await getJobDetailsById(props.scheduleJobID);\r\n let res1 = res.data.list;\r\n let data = res1?.length > 0 ? res.data?.list[0] : res.data?.list;\r\n if (data) {\r\n setJobDetails((st) => ({\r\n ...st,\r\n jobID: data.jobID,\r\n jobAgentOrderNo: data.jobAgentOrderNo,\r\n jobOrderDate: formatters.DateOnlyFormatter(data.jobDate),\r\n jobOrderTotal: data.orderTotal,\r\n //jobCustomerOrderNo: data.jobCustomerOrderNo || '',\r\n jobEstimatedCost: data.jobEstimatedCost || '',\r\n // jobProformaInvNet: data.jobProformaInvNet || '',\r\n jobServiceAgentID: data.jobServiceAgentID || '',\r\n jobVehicleID: data.jobVehicleID,\r\n jobRegNumber: data.jobRegNumber,\r\n vehicleMake: data.vehicleMake,\r\n vehicleModel: data.vehicleModel,\r\n vehicleJobStatus: data.vehicleJobStatus,\r\n jobStatusID: data.jobStatusID,\r\n // jobApprovedDate: formatters.DateFormatter(data.jobApprovedDate),\r\n jobApprovedOrderNo: data.jobApprovedOrderNo,\r\n // jobApproved: data.jobApproved,\r\n mileageRequired: data.mileageRequired,\r\n customerName: data.customerCompanyName,\r\n jobDescription: data.jobDescription,\r\n bookingDate: data.bookingDate,\r\n completionDate: data.completionDate,\r\n vehicleArrived: data.vehicleArrived,\r\n jobMileageDate: data.jobMileageDate || '',\r\n jobMileage: data.jobMileage || '',\r\n refreshDependancy: new Date(),\r\n jobCustomerOrderTotal: data.jobCustomerOrderTotal || 0,\r\n jobOrderNo: data.jobOrderNo,\r\n jobIsEstimate: data.jobIsEstimate,\r\n islabourRateSet: data.labourRate == 0 ? false : true,\r\n labourRate: data.labourRate,\r\n jobInAgentQuery: data.jobInAgentQuery\r\n }));\r\n }\r\n };\r\n const goPreviousScreen = () => {\r\n history.goBack();\r\n };\r\n\r\n useEffect(async () => {\r\n if (jobDetails.jobID) {\r\n let res = await getJobRequiredDocuments(jobDetails.jobID);\r\n setJobDocument((state) => ({ ...state, list: res.data.list }));\r\n }\r\n }, [jobDetails.jobID]);\r\n\r\n const pullJobItems = async () => {\r\n let res = await getAllJobItems(props.scheduleJobID);\r\n let res2 = '';\r\n if (isCustomer) {\r\n res2 = res.data.vehicleJobItems.map((m) => {\r\n let Labour = (m.jobItemCustomerLabHourRate * m.jobItemCustomerLabourHours * (100 - m.jobItemCustomerLabourDiscount)) / 100;\r\n return {\r\n totalLabour: Labour,\r\n total: Labour + m.jobItemCustomerPartsPrice,\r\n ...m\r\n };\r\n });\r\n } else {\r\n res2 = res.data.vehicleJobItems.map((m) => {\r\n let Labour = (m.jobItemLabHourRate * m.jobItemLabourHours * (100 - m.jobItemLabourDiscount)) / 100;\r\n return {\r\n totalLabour: Labour,\r\n total: Labour + m.jobItemPartsprice,\r\n ...m\r\n };\r\n });\r\n }\r\n\r\n setState((state) => {\r\n const nst = { ...state };\r\n nst.jobItemsList = res2;\r\n nst.loader = false;\r\n nst.checkApprovedJob = some(res.data.vehicleJobItems, (r) => r.jobItemStatusID == 'A');\r\n nst.allSellerJob = res2\r\n ?.filter(function (p) {\r\n return p.jobItemStatusID === 'A' && p.chargeCustomer == true;\r\n })\r\n .map(function (i) {\r\n return {\r\n ...i,\r\n salesInvoiceItemDescription: i.jobItemDescription,\r\n salesInvoiceItemVAT: null,\r\n salesInvoiceItemVATRateID: null,\r\n salesInvoiceItemNet: i.total,\r\n isSelected: true\r\n };\r\n });\r\n nst.allApprovedJob = res2\r\n ?.filter(function (p) {\r\n return p.jobItemStatusID === 'A' && p.paySupplier == true;\r\n })\r\n .map(function (i) {\r\n return { ...i, isSelected: true };\r\n });\r\n\r\n return nst;\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let getSelectedJob = some(state.allApprovedJob, (r) => r.isSelected);\r\n let getSellerJOb = some(state.allSellerJob, (r) => r.isSelected);\r\n setState((state) => {\r\n const nst = { ...state, showCreate: getSelectedJob, showOk: getSelectedJob, showSellerBtn: getSellerJOb };\r\n return nst;\r\n });\r\n }, [state.allApprovedJob, state.allSellerJob]);\r\n\r\n const btnHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, jobItemID: params.jobItemID, vehicleID: params.vehicleID, vehicleRegNumber: params.vehicleRegNumber }));\r\n };\r\n\r\n const createInvoiceHandler = (name) => {\r\n setState((state) => ({ ...state, [name]: true }));\r\n };\r\n\r\n const ActionButtons = (data) => {\r\n return (\r\n
\r\n btnHandler(data.row)} />\r\n
\r\n );\r\n };\r\n\r\n let checkStatus = jobDetails.jobStatusID === 'AA' || jobDetails.jobStatusID === 'JP' || jobDetails.jobStatusID === 'JQ';\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n actionCol.headerRenderer = () => {\r\n if (checkStatus) {\r\n return (\r\n \r\n \r\n {/* \r\n \r\n createInvoiceHandler('showUpComingEvents')} />\r\n \r\n */}\r\n {checkhaveAccess?.canAddScheduleItemstoJob && (\r\n createInvoiceHandler('showUpComingEvents')}\r\n toolTipTitle=\"Upcoming Events\"\r\n />\r\n )}\r\n Action\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n }\r\n if (isCustomer) {\r\n newColumn.splice(\r\n 2,\r\n 0,\r\n\r\n { key: 'jobItemCustomerPartsPrice', name: 'Parts', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight },\r\n { key: 'totalLabour', name: 'Labour', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight },\r\n { key: 'total', name: 'Total', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight }\r\n );\r\n } else {\r\n newColumn.splice(\r\n 2,\r\n 0,\r\n\r\n { key: 'jobItemPartsprice', name: 'Parts', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight },\r\n { key: 'totalLabour', name: 'Labour', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight },\r\n { key: 'total', name: 'Total', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight }\r\n );\r\n }\r\n if (!isServiceAgent || !isCustomer) {\r\n newColumn.splice(4, 0, { key: 'jobItemStatusDescription', name: 'Status' });\r\n }\r\n return newColumn;\r\n }, [checkStatus]);\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false, jobItemID: null, showInvoice: false, showSellerInvoice: false, showUpComingEvents: false }));\r\n res && refreshScreen();\r\n };\r\n\r\n const refreshScreen = () => {\r\n setJobDetails((st) => ({ ...st, refreshDependancy: new Date() }));\r\n pullJobItems();\r\n pullJobDetails();\r\n };\r\n\r\n const isInternal = useLoginInfo().userRoles.includes('internal');\r\n\r\n const getMakeModel =\r\n jobDetails.vehicleMake || jobDetails.vehicleModel\r\n ? ` (${jobDetails.vehicleMake ? jobDetails.vehicleMake : ''} ${jobDetails.vehicleModel ? jobDetails.vehicleModel : ''})`\r\n : '';\r\n\r\n return (\r\n
\r\n {/* */}\r\n
\r\n \r\n \r\n \r\n \r\n Job Reference\r\n {jobDetails?.jobAgentOrderNo || ''}\r\n \r\n {jobDetails?.jobOrderNo ? (\r\n \r\n Final Order No \r\n {jobDetails?.jobOrderNo || ''}\r\n \r\n ) : null}\r\n \r\n Order Date\r\n {jobDetails.jobOrderDate}\r\n \r\n \r\n Customer\r\n {jobDetails.customerName}\r\n \r\n \r\n Vehicle Detail\r\n \r\n {jobDetails.jobRegNumber} {getMakeModel}\r\n \r\n \r\n {/* \r\n Job Status\r\n {jobDetails.vehicleJobStatus}\r\n */}\r\n \r\n
\r\n Total\r\n \r\n £\r\n {isCustomer\r\n ? jobDetails.jobCustomerOrderTotal?.toFixed(2).replace(/(\\d)(?=(\\d0})+(?!\\d))/g, '$1,')\r\n : jobDetails.jobOrderTotal?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}\r\n \r\n
\r\n {/* Total */}\r\n
\r\n
\r\n
\r\n \r\n \r\n 0 ? 6 : 12} md={jobdocument.list.length > 0 ? 7 : 12} style={{ marginTop: 3 }}>\r\n \r\n \r\n \r\n Status\r\n {jobDetails.vehicleJobStatus}\r\n \r\n \r\n \r\n } severity=\"warning\" className=\"alert-items\">\r\n Job Description\r\n {jobDetails.jobDescription}\r\n \r\n \r\n \r\n \r\n {jobdocument.list.length > 0 && (\r\n \r\n \r\n {jobdocument.list.map((m) => {\r\n return (\r\n \r\n {false ? (\r\n
\r\n {m.docName}{' '}\r\n \r\n \r\n \r\n
\r\n ) : (\r\n
\r\n {m.docName}\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {state.showSellerInvoice && (\r\n closeModal(false)} title=\"Create Sales Invoice\" maxWidth=\"lg\" fullScreen>\r\n \r\n \r\n )}\r\n {state.showInvoice && (\r\n closeModal(false)} title=\"Create Purchase Invoice\" maxWidth=\"md\">\r\n \r\n \r\n )}\r\n {state.open ? (\r\n \r\n ) : (\r\n
\r\n {isServiceAgent && (\r\n \r\n \r\n \r\n )}\r\n {isCustomer && (\r\n \r\n \r\n \r\n )}\r\n\r\n {jobDetails.jobStatusID == 'CA' && isInternal && (\r\n \r\n \r\n createInvoiceHandler('showInvoice')}\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n \r\n \r\n createInvoiceHandler('showSellerInvoice')}\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n createInvoiceHandler('showInvoice')}\r\n // onSecondBtnClick={() => createInvoiceHandler('showSellerInvoice')}\r\n height={475}\r\n // offset={270}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {state.showUpComingEvents ? (\r\n closeModal(false)} maxWidth=\"md\" fullWidth>\r\n \r\n \r\n ) : null}\r\n
\r\n )}\r\n
\r\n );\r\n}\r\nexport default JobItemsScreen;\r\n","import { FormHelperText, Grid, Typography, InputLabel } from '@material-ui/core';\r\nimport React, { useEffect, useState, useMemo } from 'react';\r\nimport { DatePicker, SelectBox, formatters, TabView, SimpleField, SingleSelect } from '../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport '../../../../commonStyle.scss';\r\nimport './scheduleVehicleStyle.scss';\r\nimport '../../controllerStyle.scss';\r\nimport moment from 'moment';\r\nimport { getJobDetailsById, getAllJobDropDowns, postJobDetails } from '../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\nimport JobHistory from './jobHistory';\r\nimport UpcomingEvents from './upcomingEvents';\r\nimport StickyNotes from '../../Notes/stickyNotes';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport StatusBasedButton from '../../JOBS/JobStatusBtn/statusBasedButtons';\r\nimport { useHistory } from 'react-router-dom';\r\nimport JobDetailsInfo from './showJobDetailsInfo';\r\nimport JobItemsScreen from '../../JOBS/JOBItems/JobItemsScreen';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport FileUploaderButton from '../../../../../Core/Controls/GenericFileUploader';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst JobBookedDetail = (props) => {\r\n let getAccessParam = AppStorage.getAllowAcces();\r\n\r\n const [jobDetails, setJobDetails] = useState({\r\n jobDepotID: '',\r\n jobTypeID: '',\r\n mileageRequired: false,\r\n jobServiceAgentID: '',\r\n vehicleMake: '',\r\n vehicleModel: '',\r\n jobRegNumber: ''\r\n });\r\n const [jobDropDowns, setJobDropDowns] = useState({ serviceAgents: [], depots: [], jobTypes: [] });\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n const history = useHistory();\r\n const [tempOptions, setTempOptions] = useState({\r\n jobServiceAgentIDValue: null,\r\n jobDepotIDValue: null,\r\n jobTypeIDValue: null\r\n });\r\n const pullJobDropDowns = async () => {\r\n let res = await getAllJobDropDowns(props.vehicleID);\r\n return res.data;\r\n };\r\n const { userRoles } = useLoginInfo();\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n\r\n const PullData = async () => {\r\n let res = await getJobDetailsById(props.scheduleJobID);\r\n let res1 = res.data.list;\r\n let data = res1?.length > 0 ? res.data.list[0] : res.data.list;\r\n if (data) {\r\n setJobDetails((st) => ({\r\n ...st,\r\n jobID: data.jobID,\r\n jobAgentOrderNo: data.jobAgentOrderNo,\r\n jobOrderDate: formatters.DateOnlyFormatter(data.jobDate),\r\n jobOrderTotal: data.orderTotal,\r\n jobCustomerOrderNo: data.jobCustomerOrderNo || '',\r\n jobEstimatedCost: data.jobEstimatedCost || '',\r\n jobProformaInvNet: data.jobProformaInvNet || '',\r\n jobLimit: data.jobLimit || '',\r\n jobAuthorityRef: data.jobAuthorityRef || '',\r\n jobMileageDate: data.jobMileageDate || '',\r\n jobMileage: data.jobMileage || '',\r\n jobDepotID: data.jobDepotID || '',\r\n jobTypeID: data.jobTypeID || '',\r\n jobServiceAgentID: data.jobServiceAgentID || '',\r\n jobVehicleID: data.jobVehicleID,\r\n jobRegNumber: data.jobRegNumber,\r\n vehicleMake: data.vehicleMake,\r\n vehicleModel: data.vehicleModel,\r\n vehicleJobStatus: data.vehicleJobStatus,\r\n jobStatusID: data.jobStatusID,\r\n jobApprovedDate: formatters.DateFormatter(data.jobApprovedDate),\r\n approvedBy: data.approvedBy,\r\n jobApprovedOrderNo: data.jobApprovedOrderNo,\r\n jobApproved: data.jobApproved,\r\n serviceAgentName: data.serviceAgentName,\r\n depotName: data.depotName,\r\n mileageRequired: data.mileageRequired,\r\n customerName: data.customerCompanyName,\r\n refreshDependancy: new Date(),\r\n jobDescription: data.jobDescription,\r\n fileCount: data.fileCount\r\n }));\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n PullData();\r\n let dropDowns = await pullJobDropDowns();\r\n setJobDropDowns(dropDowns);\r\n }, []);\r\n\r\n const refreshScreen = (res) => {\r\n res && setJobDetails((st) => ({ ...st, refreshDependancy: new Date() }));\r\n res && PullData();\r\n };\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n\r\n if (jobDetails.jobServiceAgentID && jobDropDowns.serviceAgents?.length > 0) {\r\n newSt.jobServiceAgentIDValue = jobDropDowns.serviceAgents.find(({ id }) => id === jobDetails.jobServiceAgentID);\r\n }\r\n if (jobDetails.jobDepotID && jobDropDowns.depots?.length > 0) {\r\n newSt.jobDepotIDValue = jobDropDowns.depots.find(({ id }) => id === jobDetails.jobDepotID);\r\n }\r\n if (jobDetails.jobTypeID && jobDropDowns.jobTypes?.length > 0) {\r\n newSt.jobTypeIDValue = jobDropDowns.jobTypes.find(({ id }) => id === jobDetails.jobTypeID);\r\n }\r\n setTempOptions((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [jobDetails.jobServiceAgentID, jobDetails.jobDepotID, jobDropDowns.depots, jobDetails.jobTypeID, jobDropDowns.jobTypes, jobDropDowns.serviceAgents]);\r\n\r\n const tempTab = [\r\n {\r\n label: 'Upcoming Events',\r\n body: \r\n }\r\n ];\r\n\r\n const tabs = () => {\r\n const tempCols = [...tempTab];\r\n if (!isServiceAgent) {\r\n tempCols.splice(1, 0, {\r\n label: 'History',\r\n body: \r\n });\r\n }\r\n return tempCols;\r\n };\r\n\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n if (!tempOptions.jobDepotIDValue) {\r\n err.jobDepotID = true;\r\n noErrors = false;\r\n }\r\n if (!tempOptions.jobTypeIDValue) {\r\n err.jobTypeID = true;\r\n noErrors = false;\r\n }\r\n if (!tempOptions.jobServiceAgentIDValue) {\r\n err.jobServiceAgentID = true;\r\n noErrors = false;\r\n }\r\n // if (+jobDetails.jobEstimatedCost < 0) {\r\n // err.jobEstimatedCost = true;\r\n // noErrors = false;\r\n // }\r\n // if (+jobDetails.jobProformaInvNet < 0) {\r\n // err.jobProformaInvNet = true;\r\n // noErrors = false;\r\n // }\r\n if (+jobDetails.jobLimit < 0) {\r\n err.jobLimit = true;\r\n noErrors = false;\r\n }\r\n if (+jobDetails.jobMileage < 0) {\r\n err.jobMileage = true;\r\n noErrors = false;\r\n }\r\n\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n\r\n const handleData = async () => {\r\n if (validate()) {\r\n let response = await postJobDetails({\r\n jobID: props.scheduleJobID,\r\n jobServiceAgentID: tempOptions.jobServiceAgentIDValue?.id,\r\n jobDepotID: tempOptions.jobDepotIDValue?.id,\r\n jobTypeID: tempOptions.jobTypeIDValue?.id,\r\n jobCustomerOrderNo: jobDetails.jobCustomerOrderNo || null,\r\n jobEstimatedCost: jobDetails.jobEstimatedCost || null,\r\n jobProformaInvNet: jobDetails.jobProformaInvNet || null,\r\n jobLimit: jobDetails.jobLimit || null,\r\n jobAuthorityRef: jobDetails.jobAuthorityRef || null,\r\n jobMileage: jobDetails.jobMileage || null,\r\n jobMileageDate: jobDetails.jobMileageDate || null\r\n });\r\n if (response) {\r\n response.success ? showToastSuccess('Updated Job Details Successfully') : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n }\r\n };\r\n\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setJobDetails((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n setErrors({});\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const goPreviousScreen = () => {\r\n history.goBack();\r\n };\r\n const getMakeModel =\r\n jobDetails.vehicleMake || jobDetails.vehicleModel\r\n ? ` (${jobDetails.vehicleMake ? jobDetails.vehicleMake : ''} ${jobDetails.vehicleModel ? jobDetails.vehicleModel : ''})`\r\n : '';\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${props.vehicleID}`,\r\n search: ''\r\n });\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Job Reference\r\n {jobDetails?.jobAgentOrderNo || ''}\r\n \r\n \r\n Order Date\r\n {jobDetails.jobOrderDate}\r\n \r\n \r\n Customer\r\n {jobDetails.customerName}\r\n \r\n \r\n Vehicle Detail\r\n \r\n \r\n {jobDetails.jobRegNumber}\r\n \r\n {getMakeModel}\r\n \r\n \r\n \r\n Job Status\r\n {jobDetails.vehicleJobStatus}\r\n \r\n \r\n Total\r\n \r\n £{jobDetails.jobOrderTotal?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}\r\n \r\n \r\n \r\n \r\n \r\n } severity=\"warning\" className=\"alert-items\">\r\n {jobDetails.jobDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Job Details\r\n \r\n refreshScreen(true)}\r\n />\r\n \r\n \r\n \r\n \r\n {jobDetails.vehicleJobStatus && (\r\n \r\n )}\r\n \r\n \r\n\r\n \r\n {jobDetails.jobStatusID == 'JC' && jobDetails.jobApproved ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n Service Agent\r\n \r\n \r\n {errors.jobServiceAgentID ? 'This field is required' : null}\r\n \r\n\r\n \r\n \r\n Job Type\r\n \r\n \r\n {errors.jobTypeID ? 'This field is required' : null}\r\n \r\n \r\n \r\n Job Depot\r\n \r\n \r\n {errors.jobDepotID ? 'This field is required' : null}\r\n \r\n \r\n \r\n {errors.jobLimit ? 'This value can not be negative' : null}\r\n \r\n \r\n Job Mileage Date\r\n \r\n {errors.jobMileageDate ? 'This value can not be negative' : null}\r\n \r\n\r\n \r\n \r\n {errors.jobMileage ? 'This value can not be negative' : null}\r\n \r\n \r\n )}\r\n \r\n {jobDetails.vehicleJobStatus && (\r\n \r\n )}\r\n \r\n {/*
\r\n \r\n \r\n */}\r\n
\r\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 JobBookedDetail;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../Core/Controls/Grid/index';\r\nimport { EditButton, formatters, BreadCrumbs, DatePicker, SecondaryCheckbox } from '../../../Core/Controls';\r\nimport DialogBox from '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleEdit';\r\nimport ScheduleNotes from '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleNotes';\r\nimport ScheduleBookingStatus from '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleBookingStatus';\r\nimport ScheduleBookingSection from '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleBookingSection';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport EventIcon from '@material-ui/icons/Event';\r\nimport ConfirmationNumberIcon from '@material-ui/icons/ConfirmationNumber';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport '../../commonStyle.scss';\r\nimport '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleStyle.scss';\r\nimport { Link } from 'react-router-dom';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport ConfirmationModal from '../../../Core/Modal/ConfirmationModal';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { getAllVehicleSchedules } from '../../../Core/Services/InternalUser/Maintenance/scheduleService';\r\nimport { deleteFutureUnCompletedSchedules } from '../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport ReactDOM from 'react-dom';\r\nimport { CustomIconButton, PrimaryButton, SecondaryButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport './allSchedulesStyle.scss';\r\nimport { Button, Grid, InputLabel } from '@material-ui/core';\r\nimport Menu from '@material-ui/core/Menu';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport CompleteScheduleModal from '../../InternalUser/Schedule/completeSchedule';\r\nimport { NavigateBeforeSharp } from '@material-ui/icons';\r\nimport moment from 'moment';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport SyncIcon from '@material-ui/icons/Sync';\r\nimport ScheduleRevise from '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleRevise';\r\nimport { useHistory } from 'react-router-dom';\r\nimport CustomerDetails from '../../InternalUser/Controllers/DetailsModal/customerDetails';\r\nimport ServiceAgentDetails from '../../InternalUser/Controllers/DetailsModal/serviceAgent';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\nimport DateRangeIcon from '@material-ui/icons/DateRange';\r\nimport PostAddIcon from '@material-ui/icons/PostAdd';\r\nimport RequiredDocumentsModal from './requiredDocumentsModal';\r\nimport EventNoteIcon from '@material-ui/icons/EventNote';\r\nimport { GetSchedulesExcelFile } from '../../../Core/Services/InternalUser/excelDownload';\r\nimport DepotDetails from '../../InternalUser/Controllers/DetailsModal/depotDetails';\r\n\r\nconst crumbsServiceAgent = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Schedules', active: true }\r\n];\r\n\r\nconst baseCrumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Schedules', path: '/', active: true }\r\n];\r\n// Date Due, Event, Booking Date, Completion Date, Agent, Status\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 140, addFileUploaderIcon: true },\r\n { key: 'vehicleRegNumber', name: 'Reg Number', width: 110 },\r\n { key: 'scheduleEventName', name: 'Event', width: 130 },\r\n { key: 'dueDateISOWeek', name: 'ISO Week', width: 90 },\r\n { key: 'scheduleDateDue', name: 'Due', width: 90 },\r\n { key: 'scheduleRequestedBookingDate', name: 'Requested', width: 90 },\r\n { key: 'bookingDate', name: 'Booked', width: 110 },\r\n { key: 'scheduleCompletionDate', name: 'Completed', width: 140 },\r\n { key: 'customerCompanyName', name: 'Customer', width: 140 },\r\n { key: 'depotName', name: 'Depot', width: 140 },\r\n { key: 'agentName', name: 'Agent' },\r\n { key: 'scheduleBookingStatus', name: 'Status', width: 180 }\r\n];\r\nconst modelgridStyle = {\r\n styleCol: {\r\n cursor: 'pointer',\r\n fontStyle: 'italic',\r\n textDecorationLine: 'underline'\r\n },\r\n NoneCondition: {}\r\n};\r\nconst AllVehicleSchedules = (props) => {\r\n // const startOfMonth = moment().startOf('month').format('YYYY-MM-DD');\r\n // const endOfMonth = moment().endOf('month').format('YYYY-MM-DD');\r\n let getAccessParam = AppStorage.getAllowAcces();\r\n\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n rows: [],\r\n isAdd: true,\r\n filteredRows: [],\r\n finalData: [],\r\n showDelete: false,\r\n fromDate: '', //startOfMonth,\r\n toDate: '', //endOfMonth,\r\n isDeleteFuture: false\r\n });\r\n // const [dateRange, setDateRange] = useState({ fromDate: startOfMonth, toDate: endOfMonth });\r\n const [anchorEl, setAnchorEl] = useState(null);\r\n let history = useHistory();\r\n\r\n const { userRoles } = useLoginInfo();\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n const pos = isServiceAgent ? 's' : 'm';\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const [openDialog, setOpenDialog] = useState({});\r\n\r\n useEffect(async () => {\r\n let fromDate = '';\r\n let toDate = '';\r\n let url = props.location.pathname;\r\n let urlIndex = url.lastIndexOf('/') + 1;\r\n let filterID = '';\r\n if (url[urlIndex] === ':' || url[urlIndex] === undefined || url[urlIndex] === null) {\r\n filterID = '';\r\n fromDate = moment().startOf('month').format('YYYY-MM-DD');\r\n toDate = moment().endOf('month').format('YYYY-MM-DD');\r\n } else {\r\n filterID = url[urlIndex];\r\n }\r\n setState((st) => ({\r\n ...st,\r\n filterID: filterID,\r\n fromDate: fromDate,\r\n toDate: toDate\r\n }));\r\n pullApiData();\r\n }, [props.location.pathname]);\r\n\r\n const pullApiData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n // let res = await getAllVehicleSchedules(url[urlIndex]);\r\n // setState((st) => ({\r\n // ...st,\r\n // rows: [...(res.data.schedules || [])],\r\n // finalData: [...(res.data.schedules || [])],\r\n // showLoader: false\r\n // }));\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/jobTabScreen/${val?.scheduleJobID}/${val?.scheduleVehicleID}`,\r\n search: '',\r\n state: pos\r\n });\r\n };\r\n\r\n const renderEdit = (ev, row) => {\r\n return (\r\n
\r\n {/* {row?.displayNotes === 'Y' && getAccessParam['CanUpdateScheduleNotes'] && (\r\n {\r\n checkButton(row, 'notes');\r\n }}\r\n toolTipTitle=\"Notes\"\r\n />\r\n )} */}\r\n\r\n {/* {row?.displayEditVehicleSchedule === 'Y' && getAccessParam['CanUpdateSchedules'] && (\r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n selectedRowData: row,\r\n isAdd: false\r\n }));\r\n }}\r\n />\r\n \r\n )} */}\r\n {/* {row?.displayReviseSchedule === 'Y' && (\r\n {\r\n checkButton(row, 'revise');\r\n }}\r\n toolTipTitle=\"Change Booking Date\"\r\n />\r\n )} */}\r\n {row?.scheduleBookingStatusID == 5 && getAccessParam['CanViewDocuments'] && (\r\n {\r\n checkButton(row, 'showRequiredDocumentsModal');\r\n }}\r\n toolTipTitle=\"Required Documents\"\r\n />\r\n )}\r\n {/* {row?.displayBookingRequest === 'Y' && (\r\n {\r\n checkButton(row, 'status');\r\n }}\r\n toolTipTitle=\"Update Booking Request\"\r\n />\r\n )} */}\r\n {/* \r\n {row?.displayBookJob === 'Y' && (\r\n {\r\n checkButton(row, 'section');\r\n }}\r\n toolTipTitle=\"Book Job\"\r\n />\r\n )} */}\r\n\r\n {row?.displayJobDetails === 'Y' && getAccessParam?.CanViewJobs && (\r\n handleEditClick(row)} />\r\n )}\r\n {/* {row?.displayCompleteSchedule === 'Y' && (\r\n {\r\n checkButton(row, 'complete');\r\n }}\r\n toolTipTitle=\"Complete Schedule\"\r\n />\r\n )} */}\r\n\r\n {row?.displayDeleteSchedules === 'Y' && getAccessParam['CanDeleteSchedules'] && (\r\n {\r\n setState((st) => ({ ...st, showDelete: true, data: row }));\r\n }}\r\n toolTipTitle=\"Delete future uncompleted schedules\"\r\n />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const dateFormatter = (date) => {\r\n return date ? moment(date).format('DD/MM/YYYY') : '--:--';\r\n };\r\n\r\n const deleteFutureUnComSchedules = async () => {\r\n let data = {\r\n scheduleVehicleID: state.data.scheduleVehicleID,\r\n scheduleEventID: state.data.scheduleEventID,\r\n isDeleteFuture: state.isDeleteFuture,\r\n scheduleID: state.data.scheduleID\r\n };\r\n let res = await deleteFutureUnCompletedSchedules(data);\r\n if (res.success) {\r\n showToastSuccess('Record deleted successfully');\r\n setState((st) => ({ ...st, showDelete: false }));\r\n pullApiData();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n const dueDateFormatter = ({ row, column }) => {\r\n const spn = document.createElement('span');\r\n let textColor = formatters.getScheduleColour(row.scheduleCompletionDate, row.scheduleDateDue, row.dayRange);\r\n const dueDate = row.scheduleDateDue;\r\n let show = row?.displayEditVehicleSchedule === 'Y' && getAccessParam['CanUpdateSchedules'];\r\n const HandeClick = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n selectedRowData: row,\r\n isAdd: false\r\n }));\r\n };\r\n const lnk = (\r\n (show ? HandeClick() : '')}\r\n >\r\n {dateFormatter(dueDate)}\r\n \r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.scheduleVehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.vehicleRegNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customerCompanyName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.agentName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n const renderDepotName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showDepotModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.depotName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleCloseModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showSaModal: false,\r\n showCustomerModal: false,\r\n showDepotModal: false,\r\n showRequiredDocumentsModal: false,\r\n showDepotModal: false\r\n }));\r\n res && pullApiData();\r\n };\r\n const getRenderValue = (val, row) => {\r\n if (val === 'scheduleEventName') {\r\n return (\r\n (row?.displayNotes === 'Y' && row?.isNote > 0 ? checkButton(row, 'notes') : '')}\r\n style={row?.displayNotes === 'Y' && row?.isNote > 0 ? modelgridStyle.styleCol : modelgridStyle.NoneCondition}\r\n >\r\n {row.scheduleEventName}\r\n \r\n );\r\n } else if (val === 'scheduleRequestedBookingDate') {\r\n return (\r\n (row?.displayBookingRequest === 'Y' ? checkButton(row, 'status') : '')}\r\n >\r\n {row?.displayBookingRequest === 'Y' && row.scheduleRequestedBookingDate\r\n ? dateFormatter(row.scheduleRequestedBookingDate)\r\n : row?.displayBookingRequest === 'Y'\r\n ? 'Request'\r\n : dateFormatter(row.scheduleRequestedBookingDate)}\r\n \r\n );\r\n } else if (val === 'bookingDate') {\r\n return (\r\n \r\n row?.displayBookJob === 'Y' ? checkButton(row, 'section') : row?.displayReviseSchedule === 'Y' ? checkButton(row, 'revise') : ''\r\n }\r\n >\r\n {row?.displayReviseSchedule === 'Y'\r\n ? dateFormatter(row.bookingDate)\r\n : row?.displayBookJob === 'Y'\r\n ? 'Book Job'\r\n : dateFormatter(row.bookingDate || null)}\r\n \r\n );\r\n } else if (val === 'scheduleCompletionDate') {\r\n return (\r\n (row?.displayCompleteSchedule === 'Y' ? checkButton(row, 'complete') : '')}\r\n >\r\n {row?.displayCompleteSchedule === 'Y' ? 'Complete' : dateFormatter(row.scheduleCompletionDate)}\r\n \r\n );\r\n } else {\r\n return '';\r\n }\r\n };\r\n\r\n const BasicColFormate =\r\n (clVal) =>\r\n ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = getRenderValue(clVal, row);\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n let dateDueCol = tempCols.find((e) => e.key === 'scheduleDateDue');\r\n let regNumberCol = tempCols.find((element) => element.key === 'vehicleRegNumber');\r\n let customerCol = tempCols.find((element) => element.key === 'customerCompanyName');\r\n let agentCol = tempCols.find((element) => element.key === 'agentName');\r\n let depotNameCol = tempCols.find((element) => element.key === 'depotName');\r\n let scheduleEventNameCol = tempCols.find((e) => e.key === 'scheduleEventName');\r\n let scheduleRequestedDatecol = tempCols.find((e) => e.key === 'scheduleRequestedBookingDate');\r\n let bookingDateCol = tempCols.find((e) => e.key === 'bookingDate');\r\n let scheduleCompletionDateCol = tempCols.find((e) => e.key === 'scheduleCompletionDate');\r\n if (scheduleCompletionDateCol) scheduleCompletionDateCol.formatter = BasicColFormate('scheduleCompletionDate');\r\n if (bookingDateCol) bookingDateCol.formatter = BasicColFormate('bookingDate');\r\n if (scheduleRequestedDatecol) scheduleRequestedDatecol.formatter = BasicColFormate('scheduleRequestedBookingDate');\r\n if (scheduleEventNameCol) scheduleEventNameCol.formatter = BasicColFormate('scheduleEventName');\r\n\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n if (regNumberCol) {\r\n regNumberCol.formatter = renderRegNumberEdit;\r\n }\r\n if (customerCol) {\r\n customerCol.formatter = renderCustomerName;\r\n }\r\n if (agentCol) {\r\n agentCol.formatter = renderAgentName;\r\n }\r\n if (depotNameCol) depotNameCol.formatter = renderDepotName;\r\n if (dateDueCol) {\r\n dateDueCol.formatter = dueDateFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const crumbsMaintenance = useMemo(() => {\r\n const tempCrums = [...baseCrumbs];\r\n let url = props.location.pathname;\r\n let urlIndex = url.lastIndexOf('/') + 1;\r\n if (url[urlIndex] === 'M') {\r\n tempCrums.push({ name: 'MOTs' });\r\n } else if (url[urlIndex] === 'I') {\r\n tempCrums.push({ name: 'Overdue Inspections' });\r\n } else if (url[urlIndex] === 'S') {\r\n tempCrums.push({ name: 'Overdue Services' });\r\n } else if (url[urlIndex] === 'O') {\r\n tempCrums.push({ name: 'Overdue Other Schedules' });\r\n } else {\r\n tempCrums.push({ name: 'All Schedules', active: true });\r\n }\r\n return tempCrums;\r\n }, [props.location.pathname]);\r\n\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n isAdd: true,\r\n selectedRowData: {}\r\n }));\r\n };\r\n const handleClose = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n selectedRowData: {}\r\n }));\r\n res && pullApiData();\r\n };\r\n const closeTheDialog = (res) => {\r\n setOpenDialog({});\r\n res && pullApiData();\r\n };\r\n\r\n const checkButton = (row, label) => {\r\n setOpenDialog({ [label]: true });\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n scheduleVehicleID: row.scheduleVehicleID\r\n }));\r\n };\r\n\r\n const dateRangeChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({ ...st, [temp.name]: temp.value }));\r\n };\r\n\r\n useEffect(() => {\r\n let getUrl = `Schedules?mode=${state.filterID}&startDate=${state.fromDate}&endDate=${state.toDate}`;\r\n setState((st) => ({\r\n ...st,\r\n getUrl: getUrl,\r\n isReload: new Date()\r\n }));\r\n }, [state.fromDate, state.toDate, state.filterID]);\r\n\r\n const menuClicked = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const menuClose = () => {\r\n setAnchorEl(null);\r\n };\r\n const onSelectCheckbox = (event) => {\r\n const { name, checked } = event.target;\r\n setState((st) => ({ ...st, [name]: checked }));\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n From\r\n \r\n \r\n \r\n To\r\n \r\n \r\n {/* \r\n {\r\n setState((st) => ({ ...st, fromDate: startOfMonth, toDate: endOfMonth }));\r\n }}\r\n size=\"large\"\r\n style={{ marginTop: '10px' }}\r\n >\r\n Current Month\r\n \r\n */}\r\n \r\n {\r\n setState((st) => ({ ...st, fromDate: '', toDate: '' }));\r\n }}\r\n size=\"large\"\r\n style={{ marginTop: '10px' }}\r\n >\r\n Reset\r\n \r\n \r\n \r\n \r\n\r\n {/* */}\r\n ({\r\n records: res.data.schedules,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n getUrl={state.getUrl}\r\n downloadBtnName=\"Download xlsx\"\r\n downloadCustomUrl={() =>\r\n GetSchedulesExcelFile({\r\n status: props.status || '',\r\n mode: state.filterID || '',\r\n startDate: state.fromDate || '',\r\n endDate: state.toDate || '',\r\n fileExt: 'xlsx'\r\n })\r\n }\r\n />\r\n {state.open ? (\r\n {\r\n handleClose(false);\r\n }}\r\n title={state.isAdd ? 'Add Schedule' : 'Edit Schedule'}\r\n maxWidth=\"sm\"\r\n name=\"addEdit\"\r\n >\r\n {\r\n handleClose(true);\r\n }}\r\n />\r\n \r\n ) : null}\r\n {openDialog.notes ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.status ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.section ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.complete ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.revise ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {state.showDelete ? (\r\n setState((st) => ({ ...st, showDelete: false }))} maxWidth=\"sm\">\r\n \r\n \r\n \r\n \r\n Date Due:{formatters.DateFormatter(state.data?.scheduleDateDue)}\r\n \r\n \r\n \r\n \r\n Event Name:{state.data?.scheduleEventName}\r\n \r\n \r\n \r\n Are you sure you want to delete this record?\r\n \r\n \r\n \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n setState((st) => ({ ...st, showDelete: false }))} fullWidth className=\"submit_btn\">\r\n Cancel\r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n {state.showSaModal ? (\r\n handleCloseModal(false)} title={'Service Agent Details'}>\r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n handleCloseModal(false)} title={'Customer Details'}>\r\n \r\n \r\n ) : null}\r\n {openDialog.showRequiredDocumentsModal ? (\r\n closeTheDialog(false)} title={'Required Documents'} maxWidth=\"sm\" fullWidth>\r\n \r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n handleCloseModal(false)} title={'Depot Details'}>\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default AllVehicleSchedules;\r\n\r\n//Ignore This\r\n// (\r\n// \r\n// \r\n// \r\n// )\r\n","import MaintenanceSchedules from \"../../../ServiceAgent/Schedules/vehicleAllSchedules\";\r\n\r\nexport default MaintenanceSchedules;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { Grid, IconButton, InputAdornment, makeStyles, OutlinedInput, Paper, Typography } from '@material-ui/core';\r\nimport SendIcon from '@material-ui/icons/Send';\r\nimport { getMessageByID, sendMessage } from '../../../../../Core/Services/InternalUser/messageCustomer';\r\nimport '../../../../commonStyle.scss';\r\nimport '../../controllerStyle.scss';\r\nimport { useLoginInfo } from '../../../../../Core/Hooks/useLoginInfo';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport moment from 'moment';\r\nimport { CircularProgress } from '@material-ui/core';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n paper: {\r\n width: '40%',\r\n marginLeft: 'auto',\r\n margin: 10,\r\n backgroundColor: '#fef0d2',\r\n padding: 20\r\n },\r\n outgoning: {\r\n width: '40%',\r\n margin: 10,\r\n backgroundColor: '#a7ebf3',\r\n padding: 20\r\n },\r\n empty: {\r\n textAlign: 'center',\r\n margin: 10,\r\n padding: 20\r\n },\r\n customScroll: {\r\n overflow: 'auto',\r\n '&::-webkit-scrollbar': {\r\n width: '0.1em'\r\n },\r\n '&::-webkit-scrollbar-track': {\r\n boxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)',\r\n webkitBoxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)'\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n backgroundColor: '#1976d2',\r\n opacity: 5,\r\n outline: '1px solid slategrey'\r\n }\r\n },\r\n activeBorder: {\r\n borderLeft: '7px solid #1976d2 '\r\n }\r\n}));\r\n\r\nconst borderStyle = {\r\n br: {\r\n borderRight: '5px solid #ffae00'\r\n },\r\n bl: {\r\n borderLeft: '5px solid #1976d2'\r\n }\r\n};\r\n\r\nconst JobMessages = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { displayName } = useLoginInfo();\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n let [loader, setLoader] = useState(false);\r\n\r\n const [state, setState] = useState({\r\n message: null,\r\n showLoader: true,\r\n messageList: []\r\n });\r\n\r\n const AlwaysScrollToBottom = () => {\r\n const elementRef = useRef();\r\n useEffect(() => elementRef.current.scrollIntoView());\r\n return
;\r\n };\r\n\r\n const pullMessageList = async () => {\r\n let res = await getMessageByID(props.scheduleJobID);\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n messageList: res.data.list?.sort((a, b) => (a.sdate > b.sdate ? 1 : b.sdate > a.sdate ? -1 : 0)),\r\n showLoader: false\r\n }));\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n pullMessageList();\r\n }, []);\r\n\r\n const validation = () => {\r\n let isValid = true;\r\n if (!state.message) {\r\n isValid = false;\r\n showToastError('Message is required');\r\n }\r\n if (state.message == '') {\r\n isValid = false;\r\n showToastError('Message is required');\r\n }\r\n return isValid;\r\n };\r\n\r\n const handleClick = async () => {\r\n if (validation()) {\r\n setLoader(true);\r\n let res = await sendMessage(props.scheduleJobID, state.message);\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n message: ''\r\n }));\r\n pullMessageList();\r\n }\r\n setLoader(false);\r\n }\r\n };\r\n\r\n const handleInput = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({\r\n ...st,\r\n [name]: value\r\n }));\r\n };\r\n\r\n function handleEnter(e) {\r\n if (e.key === 'Enter' || e.key === 'NumpadEnter') {\r\n handleClick();\r\n }\r\n }\r\n\r\n const classes = useStyles();\r\n\r\n return (\r\n
\r\n \r\n {' '}\r\n {!isCustomer && null}\r\n \r\n  \r\n {state.showLoader ? (\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n {state.messageList?.length !== 0 ? (\r\n <>\r\n {state.messageList?.map((m, i) => {\r\n let classText = m.name === displayName ? classes.outgoning : classes.paper;\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n {m.notes}\r\n
\r\n
\r\n \r\n {m.name} @ {moment(m.sdate).format('MMM Do YYYY, h:mm a')}\r\n \r\n
\r\n\r\n {m.rdate && (\r\n
\r\n seen {moment(m.rdate).format('MMM Do YYYY, h:mm a')}\r\n
\r\n )}\r\n
\r\n \r\n
\r\n );\r\n })}\r\n \r\n \r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n There are no messages sent/received\r\n
\r\n
\r\n {moment().format('MMM Do YYYY, h:mm a')}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n )}\r\n\r\n \r\n \r\n \r\n {loader ? (\r\n \r\n ) : (\r\n \r\n \r\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 JobMessages;\r\n","import React, { useState } from 'react';\r\nimport { Grid } from '@material-ui/core';\r\nimport { SecondaryButton, PrimaryButton } from '../../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport JobEstimateModal from '../../JobStatusBtn/JobEstimate';\r\nimport JobQueryModal from '../../JobStatusBtn/JobQuery';\r\nimport AcceptEstimateModal from '../../JobStatusBtn/AcceptEstimateModal';\r\nimport SubmitWarnngModal from '../../JobStatusBtn/SubmitWarning';\r\nimport DeleteJobModal from '../../deleteJobModal';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { CustomChip } from '../../../../../../Core/Controls';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport { ChipWithoutLable } from '../../../../../../Core/Controls/Inputs/DatePicker';\r\nimport { AppStorage } from '../../../../../../Core/Basic/storage-service';\r\nimport HelpIcon from '@material-ui/icons/Help';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\n\r\nfunction InternalstatusBasedButton(props) {\r\n const [state, setState] = useState({\r\n showJobQuery: false,\r\n showEstimate: false,\r\n showSubmitCostModal: false,\r\n title: ''\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const { status, vehicleID, handleData, data } = props;\r\n const history = useHistory();\r\n\r\n const handelPopup = async (title, setShow) => {\r\n if (data.jobOrderTotal != 0 && title == 'Submit Cost') {\r\n setShow = 'showSubmitCostModal';\r\n }\r\n setState((st) => ({\r\n ...st,\r\n title: title,\r\n [setShow]: true\r\n }));\r\n };\r\n const showSubmitModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showSubmitCostModal: true,\r\n showSubmit: false\r\n }));\r\n };\r\n const closeTheDialog = async (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showJobQuery: false,\r\n showEstimate: false,\r\n showSubmitCostModal: false,\r\n showSubmit: false\r\n }));\r\n res && props.refreshScreen(res);\r\n };\r\n\r\n const closeDeleteDefectModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showJobDeleteModal: false\r\n }));\r\n if (res) {\r\n history.goBack();\r\n }\r\n };\r\n\r\n const CostomButton = (btnLable, modalName, icon) => {\r\n return (\r\n <>\r\n {props.btnType == 'chip' ? (\r\n \r\n {\r\n handelPopup(`${btnLable}`, `${modalName}`);\r\n }}\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n \r\n ) : (\r\n {\r\n handelPopup(`${btnLable}`, `${modalName}`);\r\n }}\r\n >\r\n {`${btnLable}`}\r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n {props.isShownHeadrer ? null : (\r\n <>\r\n {(status == 'AU' ||\r\n status == 'AA' ||\r\n status == 'JP' ||\r\n status == 'ER' ||\r\n status == 'AQ' ||\r\n status == 'JQ' ||\r\n status == 'AR' ||\r\n status == 'EA') &&\r\n props.showSave ? (\r\n \r\n Save\r\n \r\n ) : null}\r\n Cancel\r\n \r\n )}\r\n {status == 'JQ' && data.jobInCustomerQuery && props.otherOptionsBtnShow ? CostomButton('Reply Customer', 'showJobQuery', AddIcon) : null}\r\n {/* {status == 'JQ' && props.otherOptionsBtnShow ? CostomButton('Query Agent', 'showJobQuery', AddIcon) : null} */}\r\n {/* {(status == 'AA' || status == 'JP') && props.otherOptionsBtnShow ? CostomButton('Request Estimate', 'showEstimate', AddIcon) : null} */}\r\n {(status == 'EP' || status == 'ER' || status == 'FR' || status == 'JQ') && props.otherOptionsBtnShow\r\n ? CostomButton('Query Agent', 'showJobQuery', HelpIcon)\r\n : null}\r\n {(data.jobOrderTotal <= data.jobLimit || checkhaveAccess?.CanUpdateJobLimit) && (status == 'EP' || status == 'ER') && props.otherOptionsBtnShow\r\n ? CostomButton('Accept Estimate', 'showEstimate', CheckIcon)\r\n : null}\r\n {(status == 'EP' || status == 'ER') && props.otherOptionsBtnShow ? CostomButton('Send To Customer', 'showEstimate', AddIcon) : null}\r\n {(status == 'AR' || status == 'AA' || status == 'JP') && props.otherOptionsBtnShow\r\n ? CostomButton('Approve Order', 'showEstimate', AddIcon)\r\n : null}\r\n {status == 'FR' && props.otherOptionsBtnShow ? CostomButton('Send for customer approval', 'showEstimate', AddIcon) : null}\r\n {/* {status != 'CA' && status != 'AR' && status != 'FR' && status != 'JC' && status != 'JD' && props.otherOptionsBtnShow\r\n ? CostomButton('Delete Job', 'showJobDeleteModal', DeleteIcon)\r\n : null} */}\r\n\r\n {status != 'CA' && status != 'AR' && status != 'FR' && status != 'JC' && status != 'JD' && props.otherOptionsBtnShow ? (\r\n {\r\n handelPopup(`Delete Job`, `showJobDeleteModal`);\r\n }}\r\n className=\"btn-m\"\r\n toolTipTitle=\"Delete Job\"\r\n />\r\n ) : null}\r\n \r\n {state.showSubmit && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n {state.showJobQuery && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n {state.showSubmitCostModal && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n {state.showEstimate && (\r\n closeTheDialog(false)}\r\n >\r\n \r\n \r\n )}\r\n {/* //handleSubmitCost */}\r\n {state.showJobDeleteModal ? (\r\n closeDeleteDefectModal(false)} title={'Delete Job'} maxWidth=\"sm\" fullWidth>\r\n \r\n \r\n ) : null}\r\n \r\n );\r\n}\r\n\r\nexport default InternalstatusBasedButton;\r\n","import { DialogTitle, Divider, FormHelperText, Grid, IconButton, InputLabel, Typography } from '@material-ui/core';\r\nimport {\r\n CustomChip,\r\n DateTimePicker,\r\n DialogWithoutStaticHeader,\r\n InputText,\r\n SecondaryButton,\r\n SecondaryCheckbox,\r\n SimpleField\r\n} from '../../../../../../Core/Controls';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { useCallback, useState } from 'react';\r\nimport { addUpdateJobUpdateNote, getJobUpdateNotesbyId, getAllJobUpdateNotesList } from '../../../../../../Core/Services/InternalUser/JOB/jobQueryService';\r\nimport { useToast } from '../../../../../../Core/Hooks/useToast';\r\nimport { useEffect } from 'react';\r\nimport ConfirmationModal from '../../../../../../Core/Modal/ConfirmationModal';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport moment from 'moment';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport { JobSingleNote } from './jobUpdateNotes';\r\nimport './../../jobReport.scss';\r\nconst FlaggedBox = (props) => {\r\n return (\r\n <>\r\n {props.label}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nconst AddEditJobsNotes = (props) => {\r\n const { showToastError, showToastSuccess } = useToast();\r\n\r\n const [btnLoader, setBtnLoader] = useState({ newBtnLoader: false, extBtnLoader: false });\r\n const [state, setState] = useState({\r\n errors: {},\r\n newErrors: {},\r\n jobUpdateID: props.id || null,\r\n jobUpdateJobID: props.jobID,\r\n jobUpdateReminderDate: '',\r\n jobUpdateNotes: '',\r\n jobUpdateNotesResult: '',\r\n jobUpdateDateCreated: '',\r\n jobUpdateDateClosed: moment().format('YYYY-MM-DDTHH:mm'),\r\n jobUpdateNotesActive: false,\r\n newjobUpdateReminderDate: '',\r\n newJobUpdateNotes: '',\r\n newNoteSendSMS: false,\r\n newNoteSendSMSReported: '',\r\n NoteList: []\r\n });\r\n const pullNoteAndUpdateState = async () => {\r\n let res = await getAllJobUpdateNotesList(props.jobID);\r\n if (res.success) {\r\n let arr = res.data.notelist;\r\n const objWithIdIndex = arr.findIndex((obj) => obj.id === props.id);\r\n if (objWithIdIndex > -1) {\r\n arr.splice(objWithIdIndex, 1);\r\n }\r\n setState((st) => ({ ...st, NoteList: arr }));\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n const getAllDefectNotes = () => {\r\n pullNoteAndUpdateState();\r\n setState((st) => ({\r\n ...st,\r\n showAllNotes: true\r\n }));\r\n };\r\n const RenderTitle = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n Job Notes\r\n \r\n   {props.orderNo}   {props.regNo}\r\n \r\n {props.showHistory ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n Next Progress Reminder\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n useEffect(async () => {\r\n if (props.id) {\r\n let res = await getJobUpdateNotesbyId(props.id);\r\n let data = res.data?.details[0];\r\n setState((st) => ({\r\n ...st,\r\n jobUpdateID: data.jobUpdateID,\r\n jobUpdateJobID: data.jobUpdateJobID,\r\n jobUpdateReminderDate: data.jobUpdateReminderDate,\r\n jobUpdateNotes: data.jobUpdateNotes,\r\n jobUpdateNotesResult: data.jobUpdateNotesResult,\r\n jobUpdateDateCreated: data.jobUpdateDateCreated,\r\n jobUpdateDateClosed: data.jobUpdateDateClosed || moment().format('YYYY-MM-DDTHH:mm'),\r\n jobUpdateNotesActive: data.jobUpdateNotesActive\r\n }));\r\n }\r\n }, []);\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type, checked } = e.target;\r\n setState((st) => ({ ...st, [name]: type === 'checkbox' ? checked : value }));\r\n }, []);\r\n const closeConfirmationModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showConfirm: false\r\n }));\r\n };\r\n const confirmationModalHandler = (res) => {\r\n // if (validations()) {\r\n setState((st) => ({\r\n ...st,\r\n showConfirm: true\r\n }));\r\n // }\r\n };\r\n const validations = () => {\r\n const { jobUpdateNotes, jobUpdateReminderDate, jobUpdateDateClosed } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(jobUpdateReminderDate)) {\r\n errors.jobUpdateReminderDate = 'The progress result field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(jobUpdateNotes)) {\r\n errors.jobUpdateNotes = 'The note title field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(jobUpdateDateClosed)) {\r\n errors.jobUpdateDateClosed = 'This field is required';\r\n formIsValid = false;\r\n }\r\n\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n const newValidations = () => {\r\n const { newJobUpdateNotes, newjobUpdateReminderDate, newNoteSendSMS, newNoteSendSMSReported } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n if (!/[^\\s]/.test(newJobUpdateNotes)) {\r\n errors.newJobUpdateNotes = 'The note result is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(newjobUpdateReminderDate)) {\r\n errors.newjobUpdateReminderDate = 'The reminder start date field is required';\r\n formIsValid = false;\r\n }\r\n if (newNoteSendSMS) {\r\n if (!/[^\\s]/.test(newNoteSendSMSReported)) {\r\n errors.newNoteSendSMSReported = 'The number field is required';\r\n formIsValid = false;\r\n }\r\n }\r\n if (!validations()) {\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, newErrors: errors }));\r\n return formIsValid;\r\n };\r\n const handleSubmit = async (val) => {\r\n let formData;\r\n formData = {\r\n jobUpdateNotes: state.jobUpdateNotes,\r\n jobUpdateReminderDate: state.jobUpdateReminderDate,\r\n jobUpdateNotesResult: state.jobUpdateNotesResult,\r\n jobUpdateID: state.jobUpdateID,\r\n jobUpdateDateClosed: state.jobUpdateDateClosed,\r\n jobUpdateNotesActive: val,\r\n jobUpdateJobID: props.jobID\r\n };\r\n\r\n setBtnLoader((st) => ({ ...st, extBtnLoader: true }));\r\n let res = await addUpdateJobUpdateNote(formData);\r\n if (res.success) {\r\n showToastSuccess('Notes Added Successfully!');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader((st) => ({ ...st, extBtnLoader: false }));\r\n };\r\n const handleNewNoteSubmit = async () => {\r\n if (newValidations()) {\r\n handleSubmit(false);\r\n let formData;\r\n formData = {\r\n jobUpdateNotes: state.newJobUpdateNotes,\r\n jobUpdateReminderDate: state.newjobUpdateReminderDate,\r\n jobUpdateNotesResult: '',\r\n noteSendSMSNumber: state.newNoteSendSMSReported,\r\n noteSendSMS: state.newNoteSendSMS,\r\n jobUpdateID: null,\r\n jobUpdateJobID: props.jobID\r\n };\r\n setBtnLoader((st) => ({ ...st, newBtnLoader: true }));\r\n let res = await addUpdateJobUpdateNote(formData);\r\n if (res.success) {\r\n showToastSuccess('Notes Added Successfully!');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader((st) => ({ ...st, newBtnLoader: false }));\r\n }\r\n };\r\n const resetInput = (name) => {\r\n setState((st) => ({ ...st, [name]: '' }));\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n {props.NoteID ? 'Existing' : ''} Reminder Notes\r\n \r\n {state.jobUpdateNotes}\r\n \r\n \r\n \r\n Progress Result\r\n \r\n {state.errors.jobUpdateNotesResult}\r\n \r\n \r\n Reminder Start Date & Time\r\n \r\n \r\n \r\n Reminder End Date & Time\r\n \r\n {state.errors.jobUpdateDateClosed}\r\n \r\n \r\n \r\n \r\n \r\n New Reminder Notes\r\n \r\n {state.newErrors.newJobUpdateNotes}\r\n \r\n \r\n Reminder Start Date & Time\r\n \r\n {state.newErrors.newjobUpdateReminderDate}\r\n \r\n \r\n \r\n {state.newErrors.newNoteSendSMSReported}\r\n \r\n \r\n \r\n \r\n \r\n Close Reminder\r\n \r\n \r\n \r\n \r\n \r\n handleNewNoteSubmit(true)} fullWidth>\r\n close & Create New Reminder\r\n \r\n \r\n \r\n \r\n {state.showConfirm ? (\r\n closeConfirmationModal(false)} maxWidth=\"sm\">\r\n handleSubmit(false)}\r\n handleCancel={() => closeConfirmationModal(false)}\r\n />\r\n \r\n ) : null}\r\n {state.showAllNotes ? (\r\n \r\n setState((st) => ({\r\n ...st,\r\n showAllNotes: false\r\n }))\r\n }\r\n title={'All Notes'}\r\n maxWidth=\"lg\"\r\n >\r\n {state.NoteList.length > 0 ? (\r\n
\r\n {state.NoteList?.map((n, i) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n
\r\n ) : (\r\n
\r\n No Records Found\r\n
\r\n )}\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default AddEditJobsNotes;\r\n","import { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport { DateTimePicker, InputText, SecondaryButton, SecondaryCheckbox, SimpleField } from '../../../../../../Core/Controls';\r\nimport { useCallback, useState } from 'react';\r\nimport { addUpdateJobUpdateNote } from '../../../../../../Core/Services/InternalUser/JOB/jobQueryService';\r\nimport { useToast } from '../../../../../../Core/Hooks/useToast';\r\nimport moment from 'moment';\r\nconst FlaggedBox = (props) => {\r\n return (\r\n <>\r\n {props.label}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nconst AddJobUpdateNotes = (props) => {\r\n const { showToastError, showToastSuccess } = useToast();\r\n\r\n const [btnLoader, setBtnLoader] = useState({ newBtnLoader: false, extBtnLoader: false });\r\n const [state, setState] = useState({\r\n errors: {},\r\n jobUpdateID: props.id || null,\r\n jobUpdateJobID: props.jobID,\r\n jobUpdateReminderDate: '',\r\n jobUpdateNotes: '',\r\n jobUpdateNotesResult: '',\r\n jobUpdateDateCreated: '',\r\n jobUpdateDateClosed: moment().format('YYYY-MM-DDTHH:mm'),\r\n jobUpdateNotesActive: false\r\n });\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type, checked } = e.target;\r\n setState((st) => ({ ...st, [name]: type === 'checkbox' ? checked : value }));\r\n }, []);\r\n\r\n const validations = () => {\r\n const { jobUpdateNotes, jobUpdateReminderDate, jobUpdateDateClosed, noteSendSMSNumber, noteSendSMS } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(jobUpdateReminderDate)) {\r\n errors.jobUpdateReminderDate = 'The progress result field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(jobUpdateNotes)) {\r\n errors.jobUpdateNotes = 'The note title field is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(jobUpdateDateClosed)) {\r\n errors.jobUpdateDateClosed = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (noteSendSMS) {\r\n if (!/[^\\s]/.test(noteSendSMSNumber)) {\r\n errors.noteSendSMSNumber = 'The number field is required';\r\n formIsValid = false;\r\n }\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations) {\r\n let formData;\r\n formData = {\r\n jobUpdateNotes: state.jobUpdateNotes,\r\n jobUpdateReminderDate: state.jobUpdateReminderDate,\r\n jobUpdateNotesResult: '',\r\n noteSendSMSNumber: state.noteSendSMSNumber || '',\r\n noteSendSMS: state.noteSendSMS || false,\r\n jobUpdateID: null,\r\n jobUpdateJobID: props.jobID\r\n };\r\n setBtnLoader((st) => ({ ...st, extBtnLoader: true }));\r\n let res = await addUpdateJobUpdateNote(formData);\r\n if (res.success) {\r\n showToastSuccess('Notes Added Successfully!');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader((st) => ({ ...st, extBtnLoader: false }));\r\n }\r\n };\r\n const resetInput = (name) => {\r\n setState((st) => ({ ...st, [name]: '' }));\r\n };\r\n return (\r\n
\r\n \r\n \r\n New Reminder Notes\r\n \r\n {state.errors.jobUpdateNotes}\r\n \r\n \r\n Reminder Start Date & Time\r\n \r\n {state.errors.jobUpdateReminderDate}\r\n \r\n \r\n \r\n {state.errors.noteSendSMSNumber}\r\n \r\n \r\n \r\n \r\n \r\n Create New Reminder\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nexport default AddJobUpdateNotes;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { getAllJobUpdateNotesList } from '../../../../../../Core/Services/InternalUser/JOB/jobQueryService';\r\nimport { Grid, Typography } from '@material-ui/core';\r\nimport moment from 'moment';\r\nimport AddEditJobsNotes from './addUpdateJobNotes';\r\nimport { CustomChip } from '../../../../../../Core/Controls';\r\nimport { Add } from '@material-ui/icons';\r\nimport AddJobUpdateNotes from './addJobNotes';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\n\r\nexport const JobSingleNote = (props) => {\r\n const { id, name, jobUpdateDateCreated, notes, notesResult, jobUpdateDateClosed, jobUpdateClosedUserID } = props.note;\r\n const [stateNotes, setNotsState] = useState({ show: false });\r\n let checkIsClosed = jobUpdateDateClosed || jobUpdateClosedUserID;\r\n const closeModal = (res) => {\r\n setNotsState({ show: false });\r\n res && props.onFormSubmit(true);\r\n };\r\n\r\n const showModal = () => {\r\n if (!checkIsClosed) {\r\n setNotsState({ show: true });\r\n }\r\n };\r\n return (\r\n <>\r\n {stateNotes.show ? (\r\n closeModal(false)}\r\n jobID={props.jobID}\r\n onFormSubmit={closeModal}\r\n />\r\n ) : null}\r\n
\r\n \r\n {notes}\r\n
\r\n
{notesResult ? notesResult : ''}
\r\n
\r\n {name} @ {jobUpdateDateCreated ? moment(jobUpdateDateCreated).format('LLL') : '-'}\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\nconst JobUpdtaeNotes = (props) => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n showAddJobUpdateNotes: false\r\n });\r\n useEffect(async () => {\r\n pullApiData();\r\n }, [props.refreshDependancy]);\r\n\r\n const pullApiData = async () => {\r\n let res = await getAllJobUpdateNotesList(props.jobID);\r\n setState((st) => ({\r\n ...st,\r\n showLoader: false,\r\n list: res.data.notelist\r\n }));\r\n };\r\n const callonFormsubmit = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showAddJobUpdateNotes: false\r\n }));\r\n res && pullApiData();\r\n };\r\n const handelModal = (name, val) => {\r\n setState((st) => ({\r\n ...st,\r\n [name]: val\r\n }));\r\n };\r\n return (\r\n
\r\n \r\n handelModal('showAddJobUpdateNotes', true)} />\r\n
\r\n {state.list?.map((n, i) => (\r\n \r\n ))}\r\n \r\n {state.showAddJobUpdateNotes ? (\r\n handelModal('showAddJobUpdateNotes', false)} title={'Next Progress Reminder'} maxWidth=\"sm\" fullWidth>\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default JobUpdtaeNotes;\r\n","import { FormHelperText, Grid, Typography, InputLabel, RadioGroup, FormControlLabel, Radio } from '@material-ui/core';\r\nimport React, { useEffect, useState, useMemo, useCallback } from 'react';\r\nimport { DatePicker, YesButton, NoButton, formatters, TabView, SimpleField, SingleSelect } from '../../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../../Core/Hooks/useToast';\r\nimport '../../../../../commonStyle.scss';\r\nimport '../../../Vehicles/ScheduleVehicle/scheduleVehicleStyle.scss';\r\nimport '../../../controllerStyle.scss';\r\nimport '../../../Notes/NotesandSticky.scss';\r\nimport moment from 'moment';\r\nimport { getJobDetailsById, getAllJobDropDowns, postJobDetails } from '../../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\nimport JobHistory from '../../../Vehicles/ScheduleVehicle/jobHistory';\r\nimport UpcomingEvents from '../../../Vehicles/ScheduleVehicle/upcomingEvents';\r\nimport StickyNotes from '../../../Notes/stickyNotes';\r\nimport { useHistory } from 'react-router-dom';\r\nimport JobDetailsInfo from '../../../Vehicles/ScheduleVehicle/showJobDetailsInfo';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport FileUploaderButton from '../../../../../../Core/Controls/GenericFileUploader';\r\nimport InternalstatusBasedButton from './statusBtn';\r\nimport JobQueriesScreen from '../../jobQueriesScreen';\r\nimport { ChipWithoutLable, CustomChip } from '../../../../../../Core/Controls/Inputs/DatePicker';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { AppStorage } from '../../../../../../Core/Basic/storage-service';\r\nimport { useLoginInfo } from '../../../../../../Core/Hooks/useLoginInfo';\r\nimport AddVor from '../../../VOR/AddEditVor';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport ServiceAgentDetails from '../../../DetailsModal/serviceAgent';\r\nimport JobUpdtaeNotes from './jobUpdateNotes';\r\n\r\nconst alertBoxColorCode = {\r\n AA: 'warning',\r\n EP: 'warning',\r\n JP: 'warning',\r\n AU: 'error',\r\n JQ: 'error',\r\n FR: 'error',\r\n JD: 'error',\r\n JR: 'error',\r\n CA: 'success',\r\n JC: 'success',\r\n JA: 'success'\r\n};\r\n\r\nconst InternalJobDetail = (props) => {\r\n const [jobDetails, setJobDetails] = useState({\r\n jobDepotID: '',\r\n jobTypeID: '',\r\n mileageRequired: false,\r\n jobServiceAgentID: '',\r\n vehicleMake: '',\r\n vehicleModel: '',\r\n jobRegNumber: '',\r\n jobOutOfHours: false,\r\n showSaModal: false\r\n });\r\n const [jobDropDowns, setJobDropDowns] = useState({ serviceAgents: [], depots: [], jobTypes: [] });\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n const history = useHistory();\r\n const [tempOptions, setTempOptions] = useState({\r\n jobServiceAgentIDValue: null,\r\n jobDepotIDValue: null,\r\n jobTypeIDValue: null\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const { userRoles } = useLoginInfo();\r\n const isDriver = userRoles.includes('driver');\r\n const isCustomer = userRoles.includes('customer');\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n const pullJobDropDowns = async () => {\r\n let res = await getAllJobDropDowns(props.vehicleID);\r\n return res.data;\r\n };\r\n\r\n const PullData = async () => {\r\n let res = await getJobDetailsById(props.scheduleJobID);\r\n let res1 = res.data.list;\r\n let data = res1?.length > 0 ? res.data.list[0] : res.data.list;\r\n if (data) {\r\n setJobDetails((st) => ({\r\n ...st,\r\n jobID: data.jobID,\r\n jobAgentOrderNo: data.jobAgentOrderNo,\r\n jobOrderDate: formatters.DateOnlyFormatter(data.jobDate),\r\n jobOrderTotal: data.orderTotal,\r\n jobCustomerOrderNo: data.jobCustomerOrderNo || '',\r\n jobEstimatedCost: data.jobEstimatedCost || '',\r\n jobProformaInvNet: data.jobProformaInvNet || '',\r\n jobLimit: data.jobLimit || '',\r\n jobAuthorityRef: data.jobAuthorityRef || '',\r\n jobMileageDate: data.jobMileageDate || '',\r\n jobOutOfHours: data.jobOutOfHours || false,\r\n jobMileage: data.jobMileage || '',\r\n jobDepotID: data.jobDepotID || '',\r\n jobTypeID: data.jobTypeID || '',\r\n jobServiceAgentID: data.jobServiceAgentID || '',\r\n jobVehicleID: data.jobVehicleID,\r\n jobRegNumber: data.jobRegNumber,\r\n vehicleMake: data.vehicleMake,\r\n vehicleModel: data.vehicleModel,\r\n vehicleJobStatus: data.vehicleJobStatus,\r\n jobStatusID: data.jobStatusID,\r\n jobApprovedDate: formatters.DateFormatter(data.jobApprovedDate),\r\n approvedBy: data.approvedBy,\r\n jobApprovedOrderNo: data.jobApprovedOrderNo,\r\n jobApproved: data.jobApproved,\r\n serviceAgentName: data.serviceAgentName,\r\n depotName: data.depotName,\r\n mileageRequired: data.mileageRequired,\r\n customerName: data.customerCompanyName,\r\n refreshDependancy: new Date(),\r\n jobDescription: data.jobDescription,\r\n fileCount: data.fileCount,\r\n jobOrderNo: data.jobOrderNo,\r\n jobInCustomerQuery: data.jobInCustomerQuery,\r\n jobInAgentQuery: data.jobInAgentQuery,\r\n defectTypeCode: data.defectTypeCode,\r\n jobDefectID: data.jobDefectID,\r\n vorVehicleID: data.vorVehicleID,\r\n jobIsEstimate: data.jobIsEstimate,\r\n isEditableFields:\r\n data.jobStatusID == 'AU' ||\r\n data.jobStatusID == 'AA' ||\r\n data.jobStatusID == 'JP' ||\r\n data.jobStatusID == 'ER' ||\r\n data.jobStatusID == 'JQ' ||\r\n data.jobStatusID == 'IQ' ||\r\n data.jobStatusID == 'AR' ||\r\n data.jobStatusID == 'EA'\r\n }));\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n PullData();\r\n let dropDowns = await pullJobDropDowns();\r\n setJobDropDowns(dropDowns);\r\n }, []);\r\n\r\n const refreshScreen = (res) => {\r\n res && setJobDetails((st) => ({ ...st, refreshDependancy: new Date() }));\r\n res && PullData();\r\n };\r\n\r\n const showVorModal = (res) => {\r\n setJobDetails((st) => ({\r\n ...st,\r\n [res]: true\r\n }));\r\n };\r\n\r\n const closeVORModal = (res) => {\r\n setJobDetails((st) => ({\r\n ...st,\r\n showVORPopup: false,\r\n showSaModal: false\r\n }));\r\n res && refreshScreen(true);\r\n };\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n\r\n if (jobDetails.jobServiceAgentID && jobDropDowns.serviceAgents?.length > 0) {\r\n newSt.jobServiceAgentIDValue = jobDropDowns.serviceAgents.find(({ id }) => id === jobDetails.jobServiceAgentID);\r\n }\r\n if (jobDetails.jobDepotID && jobDropDowns.depots?.length > 0) {\r\n newSt.jobDepotIDValue = jobDropDowns.depots.find(({ id }) => id === jobDetails.jobDepotID);\r\n }\r\n if (jobDetails.jobTypeID && jobDropDowns.jobTypes?.length > 0) {\r\n newSt.jobTypeIDValue = jobDropDowns.jobTypes.find(({ id }) => id === jobDetails.jobTypeID);\r\n }\r\n setTempOptions((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [jobDetails.jobServiceAgentID, jobDetails.jobDepotID, jobDropDowns?.depots, jobDetails?.jobTypeID, jobDropDowns?.jobTypes, jobDropDowns?.serviceAgents]);\r\n const tempTab = [\r\n {\r\n label: 'Update Notes',\r\n body: (\r\n \r\n )\r\n },\r\n {\r\n label: 'Job Queries',\r\n body: (\r\n \r\n )\r\n },\r\n {\r\n label: 'Upcoming Events',\r\n body: \r\n },\r\n {\r\n label: 'History',\r\n body: \r\n }\r\n ];\r\n\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n if (!tempOptions.jobDepotIDValue) {\r\n err.jobDepotID = true;\r\n noErrors = false;\r\n }\r\n if (!tempOptions.jobTypeIDValue) {\r\n err.jobTypeID = true;\r\n noErrors = false;\r\n }\r\n if (!tempOptions.jobServiceAgentIDValue) {\r\n err.jobServiceAgentID = true;\r\n noErrors = false;\r\n }\r\n if (+jobDetails.jobLimit < 0) {\r\n err.jobLimit = true;\r\n noErrors = false;\r\n }\r\n if (+jobDetails.jobMileage < 0) {\r\n err.jobMileage = true;\r\n noErrors = false;\r\n }\r\n\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n\r\n const handleData = async () => {\r\n if (validate()) {\r\n let response = await postJobDetails({\r\n jobID: props.scheduleJobID,\r\n jobServiceAgentID: tempOptions.jobServiceAgentIDValue?.id,\r\n jobDepotID: tempOptions.jobDepotIDValue?.id,\r\n jobTypeID: tempOptions.jobTypeIDValue?.id,\r\n jobCustomerOrderNo: jobDetails.jobCustomerOrderNo || null,\r\n jobEstimatedCost: jobDetails.jobEstimatedCost || null,\r\n jobProformaInvNet: jobDetails.jobProformaInvNet || null,\r\n jobLimit: jobDetails.jobLimit || null,\r\n jobAuthorityRef: jobDetails.jobAuthorityRef || null,\r\n jobMileage: jobDetails.jobMileage || null,\r\n jobMileageDate: jobDetails.jobMileageDate || null,\r\n jobOutOfHours: jobDetails.jobOutOfHours || false\r\n });\r\n if (response) {\r\n response.success ? showToastSuccess('Updated Job Details Successfully') : showToastError(response.message || 'Something went wrong');\r\n refreshScreen(true);\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n }\r\n };\r\n\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setJobDetails((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n setErrors({});\r\n };\r\n\r\n const radioButtonChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setJobDetails((st) => ({ ...st, [name]: true }));\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n setJobDetails((st) => ({ ...st, [name]: false }));\r\n }\r\n }, []);\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const goPreviousScreen = () => {\r\n history.goBack();\r\n };\r\n\r\n const handleEditDefect = (val) => {\r\n if (jobDetails.defectTypeCode == 'DD') {\r\n history.push({\r\n pathname: `/maintenance/defect/edit/${jobDetails.jobDefectID}/${jobDetails.jobVehicleID}`,\r\n state: 'Edit'\r\n });\r\n } else {\r\n history.push({\r\n pathname: `/maintenance/breakdowns/Edit/${jobDetails.jobDefectID}/${jobDetails.jobVehicleID}`,\r\n state: 'Edit'\r\n });\r\n }\r\n };\r\n\r\n const getMakeModel =\r\n jobDetails.vehicleMake || jobDetails.vehicleModel\r\n ? ` (${jobDetails.vehicleMake ? jobDetails.vehicleMake : ''} ${jobDetails.vehicleModel ? jobDetails.vehicleModel : ''})`\r\n : '';\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${props.vehicleID}`,\r\n search: ''\r\n });\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {jobDetails?.jobOrderNo ? (\r\n \r\n Final Order No \r\n \r\n {jobDetails?.jobOrderNo || ''}({jobDetails?.jobAgentOrderNo})\r\n \r\n \r\n ) : (\r\n \r\n Job Reference\r\n {jobDetails?.jobAgentOrderNo || ''}\r\n \r\n )}\r\n \r\n Order Date\r\n {jobDetails.jobOrderDate}\r\n \r\n \r\n Customer\r\n {jobDetails.customerName}\r\n \r\n \r\n Vehicle Detail\r\n \r\n \r\n {jobDetails.jobRegNumber}\r\n \r\n {getMakeModel}\r\n \r\n \r\n {/* \r\n Job Status\r\n {jobDetails.vehicleJobStatus}\r\n */}\r\n \r\n {' '}\r\n
\r\n Total\r\n \r\n £{jobDetails.jobOrderTotal?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* \r\n } severity=\"warning\" className=\"alert-items\">\r\n {jobDetails.jobDescription}\r\n \r\n */}\r\n \r\n \r\n \r\n \r\n Status\r\n {jobDetails.vehicleJobStatus}\r\n \r\n \r\n \r\n } severity=\"warning\" className=\"alert-items\">\r\n Job Description\r\n {jobDetails.jobDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Job Details\r\n \r\n refreshScreen(true)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {jobDetails.jobDefectID && (\r\n \r\n \r\n \r\n )}\r\n {!jobDetails.vorVehicleID && !isDriver && !isCustomer && !isServiceAgent && (\r\n showVorModal('showVORPopup')}\r\n />\r\n )}\r\n \r\n {jobDetails.vehicleJobStatus && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {jobDetails.jobStatusID == 'JC' && jobDetails.jobApproved ? (\r\n \r\n ) : (\r\n \r\n {!jobDetails.isEditableFields ? (\r\n \r\n
showVorModal('showSaModal')}>\r\n \r\n Service Agent\r\n \r\n
{tempOptions.jobServiceAgentIDValue?.name}
\r\n
\r\n
\r\n ) : (\r\n \r\n \r\n {errors.jobServiceAgentID ? 'This field is required' : null}\r\n \r\n )}\r\n \r\n \r\n {errors.jobTypeID ? 'This field is required' : null}\r\n \r\n \r\n \r\n {errors.jobDepotID ? 'This field is required' : null}\r\n \r\n \r\n \r\n {errors.jobLimit ? 'This value can not be negative' : null}\r\n \r\n \r\n {/* Job Mileage Date */}\r\n \r\n {errors.jobMileageDate ? 'This value can not be negative' : null}\r\n \r\n\r\n \r\n \r\n {errors.jobMileage ? 'This value can not be negative' : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Out Of Hours?\r\n \r\n \r\n \r\n }\r\n label=\"Yes\"\r\n />\r\n }\r\n label=\"No\"\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n {jobDetails.vehicleJobStatus && (\r\n \r\n )}\r\n \r\n {/*
\r\n \r\n \r\n */}\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {jobDetails.showSaModal ? (\r\n closeVORModal(false)} title={'Service Agent Details'}>\r\n closeVORModal(false)} />\r\n \r\n ) : null}\r\n {jobDetails.showVORPopup ? (\r\n closeVORModal(false)} maxWidth=\"lg\" overflow=\"auto\">\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default InternalJobDetail;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, Typography } from '@material-ui/core';\r\nimport { SecondaryButton, EditButton, DeleteButton, formatters, MandatoryField, SingleSelect, SimpleField } from '../../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../../Core/Hooks/useToast';\r\nimport '../../../../../commonStyle.scss';\r\nimport DataGrid from '../../../../../../Core/Controls/Grid';\r\nimport { getJobItemById, getJobItemsDropDown, PostInternalVehicleJobsItem } from '../../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport { CustomIconButton } from '../../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport PastJobs from './../../JOBItems/getPastJobBy';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport { useLoginInfo } from '../../../../../../Core/Hooks/useLoginInfo';\r\nimport ConfirmationModal from '../../../../../../Core/Modal/ConfirmationModal';\r\nimport { AppStorage } from '../../../../../../Core/Basic/storage-service';\r\nimport _ from 'lodash';\r\nconst base_columns = [\r\n {\r\n key: 'vehicleJobPartNumber',\r\n name: 'Part Number',\r\n width: '10%'\r\n },\r\n {\r\n key: 'vehicleJobPartDescription',\r\n name: 'Part Description',\r\n width: '23%'\r\n },\r\n {\r\n key: 'vehicleJobPartQuantity',\r\n name: 'Quantity',\r\n width: '8%',\r\n formatter: formatters.ColumnTextAlignRight,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'vehicleJobPartUnitPrice',\r\n name: 'Unit Price',\r\n width: '17%',\r\n formatter: formatters.NumberWithPound,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'vehicleJobPartCustomerUnitPrice',\r\n name: 'Customer Unit Price',\r\n width: '17%',\r\n formatter: formatters.NumberWithPound,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'vehicleJobPartDiscount',\r\n name: 'Discount',\r\n width: '5%',\r\n formatter: (data) =>
{data.row.vehicleJobPartDiscount || 0 + '%'}
,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'getCustTotal',\r\n name: 'Customer Total',\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'getTotal',\r\n name: 'Total',\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n }\r\n];\r\nconst getTwoFixed = (val) => {\r\n return val ? val.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,') : 0;\r\n};\r\nfunction AddJobItemModal(props) {\r\n const [state, setState] = useState({\r\n setBackup: [],\r\n jobItemID: null,\r\n labourDescription: '',\r\n jobItemStatusID: null,\r\n JobItemCostTypeID: null,\r\n jobItemStatus: [],\r\n labourHours: '',\r\n labourRate: '',\r\n labourDiscount: 0,\r\n workCategory: '',\r\n costCategory: '',\r\n partNumber: '',\r\n partQuantity: null,\r\n partUnitPrice: null,\r\n vehicleJobPartCustomerUnitPrice: null,\r\n partDescription: '',\r\n partsDiscount: '',\r\n partsTotal: '',\r\n workList: [],\r\n costCategories: [],\r\n rows: [],\r\n errors: {},\r\n readOnly: false,\r\n showPastJob: false,\r\n costCategoryValue: null,\r\n jobItemStatusIDValue: null,\r\n jobItemCostTypeIDValue: null,\r\n workCategoryValue: null,\r\n showCancelConfirmModal: false,\r\n jobItemCustomerLabourTotal: 0,\r\n jobItemCustomerPartsPrice: 0\r\n });\r\n const { userRoles } = useLoginInfo();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const handleUpdatePart = (params) => {\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n id: params.id,\r\n partNumber: params.vehicleJobPartNumber,\r\n partQuantity: params.vehicleJobPartQuantity,\r\n partsDiscount: params.vehicleJobPartDiscount,\r\n partUnitPrice: params.vehicleJobPartUnitPrice,\r\n vehicleJobPartCustomerUnitPrice: params.vehicleJobPartCustomerUnitPrice,\r\n jobItemCustomerPartsPrice: getTwoFixed(\r\n (params.vehicleJobPartCustomerUnitPrice * params.vehicleJobPartCustomerQuantity * (100 - params.vehicleJobPartCustomerDiscount || 0)) / 100\r\n ),\r\n partDescription: params.vehicleJobPartDescription,\r\n partsTotal: params.partsTotal,\r\n partId: params.id,\r\n isUpdate: true\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleDeletePart = (params) => {\r\n const id = params.id;\r\n const newList = state.rows.filter((item) => item.id !== id);\r\n let newPartToSetIsDelete = {\r\n id: params.id,\r\n partId: params.id,\r\n vehicleJobPartNumber: params.vehicleJobPartNumber,\r\n vehicleJobPartQuantity: params.vehicleJobPartQuantity,\r\n vehicleJobPartDiscount: params.vehicleJobPartDiscount,\r\n vehicleJobPartUnitPrice: params.vehicleJobPartUnitPrice,\r\n vehicleJobPartCustomerUnitPrice: params.vehicleJobPartCustomerUnitPrice,\r\n vehicleJobPartDescription: params.vehicleJobPartDescription,\r\n partsTotal: params.partsTotal,\r\n isDeleted: true\r\n };\r\n newList.push(newPartToSetIsDelete);\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n rows: newList\r\n };\r\n return nst;\r\n });\r\n };\r\n let checkStatus = ['AA', 'JP', 'JQ', 'EA', 'EU'].includes(props.Status) && checkhaveAccess?.CanUpdateJobs;\r\n\r\n const ActionButtons = (data) => {\r\n return (\r\n
\r\n handleUpdatePart(data.row)} />\r\n {checkhaveAccess?.CanDeleteJobLines && handleDeletePart(data.row)} toolTipTitle=\"Delete Job Item\" />}\r\n
\r\n );\r\n };\r\n\r\n const CalculateTotal = (data) => {\r\n const { vehicleJobPartQuantity, vehicleJobPartUnitPrice, vehicleJobPartDiscount } = data.row;\r\n const total = (vehicleJobPartUnitPrice * vehicleJobPartQuantity * (100 - vehicleJobPartDiscount || 0)) / 100;\r\n return
£{getTwoFixed(total)}
;\r\n };\r\n const CalculateCutomerTotal = (data) => {\r\n const { vehicleJobPartCustomerUnitPrice, vehicleJobPartQuantity, vehicleJobPartDiscount } = data.row;\r\n let customerTotal = (vehicleJobPartCustomerUnitPrice * vehicleJobPartQuantity * (100 - vehicleJobPartDiscount || 0)) / 100;\r\n return
£{getTwoFixed(customerTotal)}
;\r\n };\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol2 = newColumn.find((item) => item.key === 'getTotal');\r\n let custTotalCol = newColumn.find((item) => item.key === 'getCustTotal');\r\n if (checkStatus) {\r\n newColumn.splice(0, 0, { key: 'action', name: 'Action', formatter: ActionButtons, width: '5%' });\r\n }\r\n if (actionCol2) {\r\n actionCol2.formatter = CalculateTotal;\r\n }\r\n if (custTotalCol) {\r\n custTotalCol.formatter = CalculateCutomerTotal;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n setState((st) => ({ ...st, islabourRateSet: props.islabourRateSet, labourRate: props.labourRate, markup: props.markup }));\r\n let res1 = await getJobItemsDropDown();\r\n if (res1.success) {\r\n const category = res1.data.vmrsCategory.map((item) => ({\r\n id: item.catid + ',' + item.subcatid,\r\n name: item.subcatname\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n workList: category,\r\n costCategories: res1.data.costCategories,\r\n jobItemStatus: res1.data.jobItemStatus,\r\n costTypeList: res1.data.costType\r\n }));\r\n }\r\n if (props.jobItemID) {\r\n let partList = [];\r\n let res = await getJobItemById(props.jobItemID);\r\n partList = res.data.vehicleJobPartsDetails.map((item, index) => ({\r\n ...item,\r\n id: index + 1,\r\n isDeleted: false\r\n }));\r\n const info = res.data.vehicleJobitemdetails[0];\r\n if (res.success) {\r\n let newSt = {};\r\n newSt.jobItemID = info.jobItemID;\r\n newSt.labourDescription = info.jobItemDescription;\r\n newSt.jobItemJobID = info.jobItemJobID;\r\n newSt.jobItemStatusID = info.jobItemStatusID;\r\n newSt.jobItemCostTypeID = info.jobItemCostTypeID;\r\n newSt.workCategory = info.jobItemVMRSCategoryID + ',' + info.jobItemVMRSSubCategoryID;\r\n newSt.jobItemVMRSCategoryID = info.jobItemVMRSCategoryID;\r\n newSt.jobItemVMRSSubCategoryID = info.jobItemVMRSSubCategoryID;\r\n newSt.costCategory = info.jobItemCostCategoryID;\r\n newSt.rows = partList;\r\n newSt.readOnly = info.allowUpdate == 'Y' ? false : true;\r\n newSt.allowUpdate = info.allowUpdat;\r\n newSt.labourHours = info.jobItemLabourHours;\r\n newSt.labourRate = info.jobItemLabHourRate;\r\n newSt.jobItemCustomerLabHourRate = info.jobItemCustomerLabHourRate;\r\n newSt.jobItemCustomerLabourTotal = getTwoFixed(info.jobItemCustomerLabourCost);\r\n newSt.labourDiscount = info.jobItemLabourDiscount;\r\n newSt.jobItemCostTypeID = info.jobItemCostTypeID;\r\n setState((state) => ({\r\n ...state,\r\n ...newSt\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n if (state.workCategory && state.workList.length > 0) {\r\n newSt.workCategoryValue = state.workList?.find(({ id }) => id === state.workCategory);\r\n }\r\n if (state.costCategory && state.costCategories.length > 0) {\r\n newSt.costCategoryValue = state.costCategories?.find(({ id }) => id === state.costCategory);\r\n }\r\n\r\n if (state.jobItemStatusID && state.jobItemStatus.length > 0) {\r\n newSt.jobItemStatusIDValue = state.jobItemStatus?.find(({ id }) => id === state.jobItemStatusID);\r\n }\r\n if (state.jobItemCostTypeID && state.costTypeList.length > 0) {\r\n newSt.jobItemCostTypeIDValue = state.costTypeList?.find(({ id }) => id === state.jobItemCostTypeID);\r\n }\r\n setState((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [\r\n state.workCategory,\r\n state.workList,\r\n state.costCategory,\r\n state.costCategories,\r\n state.jobItemStatusID,\r\n state.jobItemStatus,\r\n state.costTypeList,\r\n state.jobItemCostTypeID\r\n ]);\r\n\r\n const caltotal = (state.partUnitPrice * state.partQuantity * (100 - state.partsDiscount || 0)) / 100;\r\n const total = getTwoFixed(caltotal);\r\n\r\n const calLabourTotal = (state.labourRate * state.labourHours * (100 - state.labourDiscount || 0)) / 100;\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n let newSt = {};\r\n newSt[name] = value;\r\n newSt.setBackup = name;\r\n if (name === 'labourRate') {\r\n let val = value * (1 + state.markup / 100);\r\n newSt.jobItemCustomerLabHourRate = getTwoFixed(val);\r\n const custLabourTotal = (val * state.labourHours * (100 - state.labourDiscount || 0)) / 100;\r\n newSt.jobItemCustomerLabourTotal = getTwoFixed(custLabourTotal);\r\n }\r\n if (name === 'partUnitPrice') {\r\n let customerUnitPrice = value * (1 + state.markup / 100);\r\n newSt.vehicleJobPartCustomerUnitPrice = getTwoFixed(customerUnitPrice);\r\n const calCustTotal = (customerUnitPrice * state.partQuantity * (100 - state.partsDiscount || 0)) / 100;\r\n let customerPartsPriceTotal = getTwoFixed(calCustTotal);\r\n newSt.jobItemCustomerPartsPrice = customerPartsPriceTotal;\r\n }\r\n if (name === 'vehicleJobPartCustomerUnitPrice') {\r\n const calCustTotal = (value * state.partQuantity * (100 - state.partsDiscount || 0)) / 100;\r\n let customerPartsPriceTotal = getTwoFixed(calCustTotal);\r\n newSt.jobItemCustomerPartsPrice = customerPartsPriceTotal;\r\n }\r\n if (name === 'jobItemCustomerLabHourRate') {\r\n const custLabourTotal = (value * state.labourHours * (100 - state.labourDiscount || 0)) / 100;\r\n newSt.jobItemCustomerLabourTotal = getTwoFixed(custLabourTotal);\r\n }\r\n if (name === 'labourDiscount') {\r\n const custLabourTotal = (state.jobItemCustomerLabHourRate * state.labourHours * (100 - value || 0)) / 100;\r\n newSt.jobItemCustomerLabourTotal = getTwoFixed(custLabourTotal);\r\n }\r\n if (name === 'labourHours') {\r\n const custLabourTotal = (state.jobItemCustomerLabHourRate * value * (100 - state.labourDiscount || 0)) / 100;\r\n newSt.jobItemCustomerLabourTotal = getTwoFixed(custLabourTotal);\r\n }\r\n if (name === 'partsDiscount') {\r\n const calCustTotal = (state.vehicleJobPartCustomerUnitPrice * state.partQuantity * (100 - value || 0)) / 100;\r\n let customerPartsPriceTotal = getTwoFixed(calCustTotal);\r\n newSt.jobItemCustomerPartsPrice = customerPartsPriceTotal;\r\n }\r\n if (name === 'partQuantity') {\r\n const calCustTotal = (state.vehicleJobPartCustomerUnitPrice * value * (100 - state.partsDiscount || 0)) / 100;\r\n let customerPartsPriceTotal = getTwoFixed(calCustTotal);\r\n newSt.jobItemCustomerPartsPrice = customerPartsPriceTotal;\r\n }\r\n setState((state) => ({\r\n ...state,\r\n ...newSt\r\n }));\r\n };\r\n\r\n const WorkCategoryChange = (nm) => (e, val) => {\r\n if (nm === 'workCategoryValue') {\r\n const cat = val?.id?.split(',');\r\n if (cat?.length) {\r\n setState((state) => ({\r\n ...state,\r\n jobItemVMRSCategoryID: cat[0],\r\n jobItemVMRSSubCategoryID: cat[1],\r\n [nm]: val\r\n }));\r\n }\r\n } else {\r\n setState((state) => ({\r\n ...state,\r\n [nm]: val\r\n }));\r\n }\r\n };\r\n\r\n const validations = () => {\r\n const { labourDescription, workCategoryValue, labourRate, jobItemStatusID, labourHours, jobItemCostTypeIDValue } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(labourDescription)) {\r\n errors.labourDescription = 'Description is required';\r\n formIsValid = false;\r\n }\r\n if (!workCategoryValue) {\r\n errors.workCategory = 'Work Category is required';\r\n formIsValid = false;\r\n }\r\n if (!state.costCategoryValue) {\r\n errors.costCategory = 'Cost Category is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(labourRate)) {\r\n errors.labourRate = 'Rate is required';\r\n formIsValid = false;\r\n }\r\n if (!state.jobItemStatusIDValue) {\r\n errors.jobItemStatusID = 'Status is required';\r\n formIsValid = false;\r\n }\r\n if (!jobItemCostTypeIDValue) {\r\n errors.jobItemCostTypeIDValue = 'Cost Type is required';\r\n formIsValid = false;\r\n }\r\n\r\n if (!labourHours) {\r\n errors.labourHours = 'Hours is required';\r\n formIsValid = false;\r\n }\r\n\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitSendForApproval = async (val) => {\r\n if (validations()) {\r\n setBtnLoader(true);\r\n const PartsVM = state.rows\r\n .filter((data) => data.isDeleted != true)\r\n .map((row) => ({\r\n vehicleJobPartNumber: row.vehicleJobPartNumber,\r\n vehicleJobPartQuantity: row.vehicleJobPartQuantity,\r\n vehicleJobPartDiscount: row.vehicleJobPartDiscount,\r\n vehicleJobPartUnitPrice: row.vehicleJobPartUnitPrice,\r\n vehicleJobCustomerUnitPrice: row.vehicleJobPartCustomerUnitPrice,\r\n vehicleJobPartDescription: row.vehicleJobPartDescription\r\n }));\r\n const data = {\r\n jobItemDescription: state.labourDescription,\r\n jobItemLabourHours: state.labourHours,\r\n jobItemLabHourRate: state.labourRate,\r\n jobItemCustomerLabHourRate: state.jobItemCustomerLabHourRate,\r\n jobItemLabourDiscount: state.labourDiscount || 0,\r\n jobItemID: state.jobItemID,\r\n jobItemVMRSCategoryID: state.jobItemVMRSCategoryID,\r\n jobItemVMRSSubCategoryID: state.jobItemVMRSSubCategoryID,\r\n jobItemJobID: props.jobItemJobID,\r\n jobItemCostCategoryID: state.costCategoryValue?.id,\r\n vehicleJobPartsVM: PartsVM,\r\n jobItemStatusID: state.jobItemStatusIDValue?.id,\r\n jobItemCostTypeID: state.jobItemCostTypeIDValue?.id,\r\n sendForApproval: 0\r\n };\r\n let res = await PostInternalVehicleJobsItem(data);\r\n if (res.success) {\r\n showToastSuccess('Job item saved successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n const addPartToLocally = () => {\r\n if (state.partDescription === '') {\r\n showToastError('Description is required');\r\n }\r\n if (state.partNumber === '') {\r\n showToastError('Quantity is required');\r\n }\r\n if (state.partQuantity === null || state.partQuantity === '') {\r\n showToastError('Quantity is required');\r\n }\r\n if (state.partUnitPrice === null || state.partUnitPrice === '') {\r\n showToastError('Price is required');\r\n } else {\r\n let newPartToAdd = {\r\n vehicleJobPartNumber: state.partNumber,\r\n vehicleJobPartQuantity: state.partQuantity,\r\n vehicleJobPartDiscount: state.partsDiscount,\r\n vehicleJobPartUnitPrice: state.partUnitPrice,\r\n vehicleJobPartCustomerUnitPrice: state.vehicleJobPartCustomerUnitPrice,\r\n vehicleJobPartDescription: state.partDescription,\r\n isDeleted: false,\r\n partsTotal: getTwoFixed((state.partUnitPrice * state.partQuantity * (100 - state.partsDiscount || 0)) / 100)\r\n };\r\n setState((st) => ({\r\n ...st,\r\n rows: state.rows.filter((item) => item.id !== state.partId)\r\n }));\r\n\r\n setState((st) => {\r\n newPartToAdd.id = st.rows.length === 0 ? 1 : Math.max(...st.rows.map((c) => c.id)) + 1;\r\n return {\r\n ...st,\r\n rows: [...st.rows, newPartToAdd],\r\n partNumber: '',\r\n partQuantity: '',\r\n partsDiscount: '',\r\n partUnitPrice: '',\r\n vehicleJobPartCustomerUnitPrice: '',\r\n partDescription: '',\r\n partsTotal: '',\r\n isUpdate: false,\r\n partId: undefined,\r\n jobItemCustomerPartsPrice: 0\r\n };\r\n });\r\n }\r\n };\r\n const closeTheDialog = () => {\r\n setState((st) => ({ ...st, showPastJob: false }));\r\n };\r\n\r\n const handleClose = () => {\r\n props.onClose(false);\r\n };\r\n\r\n const handleOpen = () => {\r\n setState((st) => ({ ...st, showCancelConfirmModal: !st.showCancelConfirmModal }));\r\n };\r\n\r\n let setbtn = state.setBackup.length > 0 ? handleOpen : handleClose;\r\n return (\r\n
\r\n {state.showPastJob && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {checkStatus && (\r\n \r\n \r\n Save\r\n \r\n \r\n )}\r\n \r\n {\r\n // props.onClose(false);\r\n // }\r\n }\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Customer Total\r\n \r\n
\r\n £{state.jobItemCustomerLabourTotal || 0}\r\n
\r\n
\r\n \r\n
\r\n \r\n Total\r\n \r\n
£{calLabourTotal?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {state.workCategory && (\r\n \r\n {'\\u{2800}'}\r\n {\r\n setState((st) => ({ ...st, showPastJob: true }));\r\n }}\r\n icon={SearchIcon}\r\n />\r\n \r\n )}\r\n {state.errors.workCategory}\r\n \r\n \r\n \r\n {state.errors.costCategory}\r\n \r\n \r\n \r\n {state.errors.jobItemCostTypeIDValue}\r\n \r\n \r\n \r\n {state.errors.jobItemStatusID}\r\n \r\n
\r\n {checkStatus && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Customer Total\r\n \r\n
\r\n £{state.jobItemCustomerPartsPrice || 0}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Total\r\n \r\n
£{total}
\r\n
\r\n
\r\n\r\n \r\n \r\n {state.partId ? 'Update' : 'Add'}\r\n \r\n \r\n
\r\n \r\n )}\r\n {state.showCancelConfirmModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n
\r\n item.isDeleted !== true)}\r\n isRowHovered={true}\r\n loadingData={state.loader}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AddJobItemModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllJobItems } from '../../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport { getJobDetailsById, getJobRequiredDocuments } from '../../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\nimport DataGrid from '../../../../../../Core/Controls/Grid';\r\nimport { AddButton, CustomChip, EditButton, formatters } from '../../../../../../Core/Controls';\r\nimport AddLabourModal from './addJobItem';\r\nimport '../../../../../commonStyle.scss';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, Typography } from '@material-ui/core';\r\nimport { some } from 'lodash';\r\nimport { useHistory } from 'react-router-dom';\r\nimport SellerInvoiceModal from '../../JOBItems/JobInvoiceLines/sellerInvoice';\r\nimport PurchaseInvoice from '../../JOBItems/JobInvoiceLines/purchaseInvoice';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport JobItemHeaderDates from './../../JOBItems/jobItemHeaderDates';\r\nimport FileUploaderButton from '../../../../../../Core/Controls/GenericFileUploader';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport JobQueriesScreen from '../../jobQueriesScreen';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport UpdateIcon from '@material-ui/icons/Update';\r\nimport _ from 'lodash';\r\nimport UpcomingEvents from '../../../Vehicles/ScheduleVehicle/upcomingEvents';\r\nimport { CustomIconButton } from '../../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { AppStorage } from '../../../../../../Core/Basic/storage-service';\r\n\r\nconst alertBoxColorCode = {\r\n AA: 'warning',\r\n EP: 'warning',\r\n JP: 'warning',\r\n AU: 'error',\r\n JQ: 'error',\r\n FR: 'error',\r\n JD: 'error',\r\n JR: 'error',\r\n CA: 'success',\r\n JC: 'success',\r\n JA: 'success'\r\n};\r\n\r\nfunction InternalJobItem(props) {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n jobItemsList: [],\r\n loader: true,\r\n open: false,\r\n jobStatusID: '',\r\n showInvoice: false,\r\n refresherFlag: new Date(),\r\n errors: {},\r\n showOk: true,\r\n showSellerBtn: true,\r\n showSellerInvoice: false,\r\n showCreate: false\r\n });\r\n const history = useHistory();\r\n\r\n const dataReload = () => {\r\n setState((state) => ({ ...state, refresherFlag: new Date() }));\r\n };\r\n\r\n const base_columns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 60\r\n },\r\n {\r\n key: 'jobItemDescription',\r\n name: 'Description',\r\n formatter: (params) => {\r\n return (\r\n
\r\n
{params.row.jobItemDescription}
\r\n
{params.row.vmrs}
\r\n
\r\n );\r\n },\r\n cellClass: 'react-data-grid-cell-line-height'\r\n },\r\n { key: 'jobItemPartsprice', name: 'Parts', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight, width: 90 },\r\n { key: 'totalLabour', name: 'Labour', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight, width: 90 },\r\n { key: 'total', name: 'Total', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight, width: 90 },\r\n { key: 'custTotal', name: 'Cust Total', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight, width: 90 }\r\n // { key: 'jobItemStatusDescription', name: 'Status' }\r\n ];\r\n\r\n useEffect(async () => {\r\n pullJobDetails();\r\n pullJobItems();\r\n }, [state.refresherFlag]);\r\n\r\n const [jobDetails, setJobDetails] = useState({\r\n jobDescription: '',\r\n jobDepotID: '',\r\n jobServiceAgentID: '',\r\n vehicleMake: '',\r\n vehicleModel: '',\r\n jobRegNumber: '',\r\n refreshDependancy: ''\r\n });\r\n\r\n const [jobdocument, setJobDocument] = useState({\r\n list: []\r\n });\r\n\r\n const pullJobDetails = async () => {\r\n let res = await getJobDetailsById(props.scheduleJobID);\r\n let res1 = res.data.list;\r\n let data = res1?.length > 0 ? res.data?.list[0] : res.data?.list;\r\n if (data) {\r\n setJobDetails((st) => ({\r\n ...st,\r\n jobID: data.jobID,\r\n jobAgentOrderNo: data.jobAgentOrderNo,\r\n jobOrderDate: formatters.DateOnlyFormatter(data.jobDate),\r\n jobOrderTotal: data.orderTotal,\r\n jobEstimatedCost: data.jobEstimatedCost || '',\r\n jobServiceAgentID: data.jobServiceAgentID || '',\r\n jobVehicleID: data.jobVehicleID,\r\n jobRegNumber: data.jobRegNumber,\r\n vehicleMake: data.vehicleMake,\r\n vehicleModel: data.vehicleModel,\r\n vehicleJobStatus: data.vehicleJobStatus,\r\n jobStatusID: data.jobStatusID,\r\n jobApprovedOrderNo: data.jobApprovedOrderNo,\r\n mileageRequired: data.mileageRequired,\r\n customerName: data.customerCompanyName,\r\n jobDescription: data.jobDescription,\r\n bookingDate: data.bookingDate,\r\n completionDate: data.completionDate,\r\n vehicleArrived: data.vehicleArrived,\r\n jobMileageDate: data.jobMileageDate || '',\r\n jobMileage: data.jobMileage || '',\r\n refreshDependancy: new Date(),\r\n jobCustomerOrderTotal: data.jobCustomerOrderTotal || 0,\r\n jobOrderNo: data.jobOrderNo,\r\n jobIsEstimate: data.jobIsEstimate,\r\n islabourRateSet: data.labourRate == 0 ? false : true,\r\n labourRate: data.labourRate,\r\n jobInAgentQuery: data.jobInAgentQuery,\r\n markup: data.markup\r\n }));\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n if (jobDetails.jobID) {\r\n let res = await getJobRequiredDocuments(jobDetails.jobID);\r\n setJobDocument((state) => ({ ...state, list: res.data.list }));\r\n }\r\n }, [jobDetails.jobID]);\r\n\r\n const pullJobItems = async () => {\r\n let res = await getAllJobItems(props.scheduleJobID);\r\n let res2 = res.data.vehicleJobItems.map((m) => {\r\n let customerLabour = m.jobItemLabHourRate * (1 + state.markup / 100);\r\n let Labour = (m.jobItemLabHourRate * m.jobItemLabourHours * (100 - m.jobItemLabourDiscount)) / 100;\r\n return {\r\n custTotal: m.jobItemCustomerLabourCost + m.jobItemCustomerPartsPrice,\r\n totalLabour: Labour,\r\n total: Labour + m.jobItemPartsprice,\r\n ...m\r\n };\r\n });\r\n\r\n setState((state) => {\r\n const nst = { ...state };\r\n nst.jobItemsList = res2;\r\n nst.loader = false;\r\n nst.checkApprovedJob = some(res.data.vehicleJobItems, (r) => r.jobItemStatusID == 'A');\r\n return nst;\r\n });\r\n };\r\n\r\n const btnHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, jobItemID: params.jobItemID, vehicleID: params.vehicleID, vehicleRegNumber: params.vehicleRegNumber }));\r\n };\r\n\r\n const createInvoiceHandler = (name) => {\r\n setState((state) => ({ ...state, [name]: true }));\r\n };\r\n\r\n const ActionButtons = (data) => {\r\n return (\r\n
\r\n btnHandler(data.row)} />\r\n
\r\n );\r\n };\r\n\r\n let checkStatus = ['AA', 'JP', 'JQ', 'EA', 'EU'].includes(jobDetails.jobStatusID);\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n actionCol.headerRenderer = () => {\r\n if (checkStatus) {\r\n return (\r\n \r\n \r\n {checkhaveAccess?.canAddScheduleItemstoJob && (\r\n createInvoiceHandler('showUpComingEvents')}\r\n toolTipTitle=\"Upcoming Events\"\r\n />\r\n )}\r\n Action\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n }\r\n\r\n return newColumn;\r\n }, [checkStatus]);\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false, jobItemID: null, showInvoice: false, showSellerInvoice: false, showUpComingEvents: false }));\r\n res && refreshScreen();\r\n };\r\n\r\n const refreshScreen = () => {\r\n setJobDetails((st) => ({ ...st, refreshDependancy: new Date() }));\r\n pullJobDetails();\r\n pullJobItems();\r\n };\r\n\r\n const getMakeModel =\r\n jobDetails.vehicleMake || jobDetails.vehicleModel\r\n ? ` (${jobDetails.vehicleMake ? jobDetails.vehicleMake : ''} ${jobDetails.vehicleModel ? jobDetails.vehicleModel : ''})`\r\n : '';\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${props.VehicleID}`,\r\n search: ''\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n {jobDetails?.jobOrderNo ? (\r\n \r\n Final Order No \r\n \r\n {jobDetails?.jobOrderNo || ''}({jobDetails?.jobAgentOrderNo})\r\n \r\n \r\n ) : (\r\n \r\n Job Reference\r\n {jobDetails?.jobAgentOrderNo || ''}\r\n \r\n )}\r\n \r\n Order Date\r\n {jobDetails.jobOrderDate}\r\n \r\n \r\n Customer\r\n {jobDetails.customerName}\r\n \r\n \r\n Vehicle Detail\r\n \r\n \r\n {jobDetails.jobRegNumber}\r\n {' '}\r\n {getMakeModel}\r\n \r\n \r\n \r\n
\r\n Total\r\n \r\n £{jobDetails.jobOrderTotal?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 0 ? 6 : 12} md={jobdocument.list.length > 0 ? 7 : 12} style={{ marginTop: 3 }}>\r\n \r\n \r\n \r\n Status\r\n {jobDetails.vehicleJobStatus}\r\n \r\n \r\n \r\n } severity=\"warning\" className=\"alert-items\">\r\n Job Description\r\n {jobDetails.jobDescription}\r\n \r\n \r\n \r\n \r\n {jobdocument.list.length > 0 && (\r\n \r\n \r\n {jobdocument.list.map((m) => {\r\n return (\r\n \r\n {false ? (\r\n
\r\n {m.docName}{' '}\r\n \r\n \r\n \r\n
\r\n ) : (\r\n
\r\n {m.docName}\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {state.showSellerInvoice && (\r\n closeModal(false)} title=\"Create Sales Invoice\" maxWidth=\"lg\" fullScreen>\r\n \r\n \r\n )}\r\n {state.showInvoice && (\r\n closeModal(false)} title=\"Create Purchase Invoice\" maxWidth=\"md\">\r\n \r\n \r\n )}\r\n {state.open ? (\r\n \r\n ) : (\r\n
\r\n {jobDetails.jobStatusID == 'CA' && (\r\n \r\n \r\n createInvoiceHandler('showInvoice')}\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n \r\n \r\n createInvoiceHandler('showSellerInvoice')}\r\n style={{ fontWeight: 'bold' }}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.showUpComingEvents ? (\r\n closeModal(false)} maxWidth=\"md\" fullWidth>\r\n \r\n \r\n ) : null}\r\n
\r\n )}\r\n
\r\n );\r\n}\r\nexport default InternalJobItem;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, Typography } from '@material-ui/core';\r\nimport { SecondaryButton, EditButton, DeleteButton, formatters, MandatoryField, SingleSelect, SimpleField } from '../../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../../Core/Hooks/useToast';\r\nimport '../../../../../commonStyle.scss';\r\nimport DataGrid from '../../../../../../Core/Controls/Grid';\r\nimport { getJobItemById, getJobItemsDropDown, postJobItem } from '../../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport { CustomIconButton } from '../../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport PastJobs from './../../JOBItems/getPastJobBy';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport { useLoginInfo } from '../../../../../../Core/Hooks/useLoginInfo';\r\nimport ConfirmationModal from '../../../../../../Core/Modal/ConfirmationModal';\r\nimport { AppStorage } from '../../../../../../Core/Basic/storage-service';\r\n\r\nconst base_columns = [\r\n {\r\n key: 'vehicleJobPartNumber',\r\n name: 'Part Number',\r\n width: '10%'\r\n },\r\n {\r\n key: 'vehicleJobPartDescription',\r\n name: 'Part Description',\r\n width: '23%'\r\n },\r\n {\r\n key: 'vehicleJobPartQuantity',\r\n name: 'Quantity',\r\n width: '8%',\r\n formatter: formatters.ColumnTextAlignRight,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'vehicleJobPartUnitPrice',\r\n name: 'Unit Price',\r\n width: '17%',\r\n formatter: formatters.NumberWithPound,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'vehicleJobPartDiscount',\r\n name: 'Discount',\r\n width: '5%',\r\n formatter: (data) =>
{data.row.vehicleJobPartDiscount || 0 + '%'}
,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'getTotal',\r\n name: 'Total',\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n }\r\n];\r\n\r\nfunction AddJobItemModal(props) {\r\n const [state, setState] = useState({\r\n setBackup: [],\r\n jobItemID: null,\r\n labourDescription: '',\r\n jobItemStatusID: null,\r\n JobItemCostTypeID: null,\r\n jobItemStatus: [],\r\n labourHours: '',\r\n labourRate: '',\r\n labourDiscount: 0,\r\n workCategory: '',\r\n costCategory: '',\r\n partNumber: '',\r\n partQuantity: null,\r\n partUnitPrice: null,\r\n partDescription: '',\r\n partsDiscount: '',\r\n partsTotal: '',\r\n workList: [],\r\n costCategories: [],\r\n rows: [],\r\n errors: {},\r\n readOnly: false,\r\n showPastJob: false,\r\n costCategoryValue: null,\r\n jobItemStatusIDValue: null,\r\n jobItemCostTypeIDValue: null,\r\n workCategoryValue: null,\r\n showCancelConfirmModal: false\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const handleUpdatePart = (params) => {\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n id: params.id,\r\n partNumber: params.vehicleJobPartNumber,\r\n partQuantity: params.vehicleJobPartQuantity,\r\n partsDiscount: params.vehicleJobPartDiscount,\r\n partUnitPrice: params.vehicleJobPartUnitPrice,\r\n partDescription: params.vehicleJobPartDescription,\r\n partsTotal: params.partsTotal,\r\n partId: params.id,\r\n isUpdate: true\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleDeletePart = (params) => {\r\n const id = params.id;\r\n const newList = state.rows.filter((item) => item.id !== id);\r\n let newPartToSetIsDelete = {\r\n id: params.id,\r\n partId: params.id,\r\n vehicleJobPartNumber: params.vehicleJobPartNumber,\r\n vehicleJobPartQuantity: params.vehicleJobPartQuantity,\r\n vehicleJobPartDiscount: params.vehicleJobPartDiscount,\r\n vehicleJobPartUnitPrice: params.vehicleJobPartUnitPrice,\r\n vehicleJobPartDescription: params.vehicleJobPartDescription,\r\n partsTotal: params.partsTotal,\r\n isDeleted: true\r\n };\r\n newList.push(newPartToSetIsDelete);\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n rows: newList\r\n };\r\n return nst;\r\n });\r\n };\r\n let checkStatus = !props.isCustomer && ['AA', 'JP', 'JQ', 'EA', 'EU'].includes(props.status) && checkhaveAccess?.CanUpdateJobs; //hide if role is customer\r\n\r\n //hide if role is customer\r\n\r\n const ActionButtons = (data) => {\r\n return (\r\n
\r\n handleUpdatePart(data.row)} />\r\n {checkhaveAccess?.CanDeleteJobLines && handleDeletePart(data.row)} toolTipTitle=\"Delete Job Item\" />}\r\n
\r\n );\r\n };\r\n\r\n const CalculateTotal = (data) => {\r\n const { vehicleJobPartQuantity, vehicleJobPartUnitPrice, vehicleJobPartDiscount } = data.row;\r\n const total = (vehicleJobPartUnitPrice * vehicleJobPartQuantity * (100 - vehicleJobPartDiscount || 0)) / 100;\r\n return
£{total.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}
;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol2 = newColumn.find((item) => item.key === 'getTotal');\r\n if (checkStatus) {\r\n newColumn.splice(0, 0, { key: 'action', name: 'Action', formatter: ActionButtons, width: '5%' });\r\n }\r\n if (actionCol2) {\r\n actionCol2.formatter = CalculateTotal;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n setState((st) => ({ ...st, islabourRateSet: props.islabourRateSet, labourRate: props.labourRate, markup: props.markup }));\r\n let res1 = await getJobItemsDropDown();\r\n if (res1.success) {\r\n const category = res1.data.vmrsCategory.map((item) => ({\r\n id: item.catid + ',' + item.subcatid,\r\n name: item.subcatname\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n workList: category,\r\n costCategories: res1.data.costCategories,\r\n jobItemStatus: res1.data.jobItemStatus,\r\n costTypeList: res1.data.costType\r\n }));\r\n }\r\n if (props.jobItemID) {\r\n let partList = [];\r\n let res = await getJobItemById(props.jobItemID);\r\n partList = res.data.vehicleJobPartsDetails.map((item, index) => ({\r\n ...item,\r\n vehicleJobPartDiscount: item.vehicleJobPartCustomerDiscount,\r\n vehicleJobPartQuantity: item.vehicleJobPartCustomerQuantity,\r\n vehicleJobPartUnitPrice: item.vehicleJobPartCustomerUnitPrice,\r\n id: index + 1,\r\n isDeleted: false\r\n }));\r\n\r\n const info = res.data.vehicleJobitemdetails[0];\r\n if (res.success) {\r\n let newSt = {};\r\n newSt.jobItemID = info.jobItemID;\r\n newSt.labourDescription = info.jobItemDescription;\r\n newSt.jobItemJobID = info.jobItemJobID;\r\n newSt.jobItemStatusID = info.jobItemStatusID;\r\n newSt.jobItemCostTypeID = info.jobItemCostTypeID;\r\n newSt.workCategory = info.jobItemVMRSCategoryID + ',' + info.jobItemVMRSSubCategoryID;\r\n newSt.jobItemVMRSCategoryID = info.jobItemVMRSCategoryID;\r\n newSt.jobItemVMRSSubCategoryID = info.jobItemVMRSSubCategoryID;\r\n newSt.costCategory = info.jobItemCostCategoryID;\r\n newSt.rows = partList;\r\n newSt.readOnly = info.allowUpdate == 'Y' ? false : true;\r\n newSt.allowUpdate = info.allowUpdat;\r\n newSt.labourHours = info.jobItemCustomerLabourHours;\r\n newSt.labourRate = info.jobItemCustomerLabHourRate;\r\n newSt.labourDiscount = info.jobItemCustomerLabourDiscount;\r\n newSt.jobItemCostTypeID = info.jobItemCustomerLabourCost;\r\n setState((state) => ({\r\n ...state,\r\n ...newSt\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n if (state.workCategory && state.workList.length > 0) {\r\n newSt.workCategoryValue = state.workList?.find(({ id }) => id === state.workCategory);\r\n }\r\n if (state.costCategory && state.costCategories.length > 0) {\r\n newSt.costCategoryValue = state.costCategories?.find(({ id }) => id === state.costCategory);\r\n }\r\n\r\n if (state.jobItemStatusID && state.jobItemStatus.length > 0) {\r\n newSt.jobItemStatusIDValue = state.jobItemStatus?.find(({ id }) => id === state.jobItemStatusID);\r\n }\r\n if (state.jobItemCostTypeID && state.costTypeList.length > 0) {\r\n newSt.jobItemCostTypeIDValue = state.costTypeList?.find(({ id }) => id === state.jobItemCostTypeID);\r\n }\r\n setState((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [\r\n state.workCategory,\r\n state.workList,\r\n state.costCategory,\r\n state.costCategories,\r\n state.jobItemStatusID,\r\n state.jobItemStatus,\r\n state.costTypeList,\r\n state.jobItemCostTypeID\r\n ]);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value,\r\n setBackup: [...state.setBackup, name]\r\n }));\r\n };\r\n let customerUnitPrice = state.partUnitPrice * (1 + state.markup / 100);\r\n const calCustTotal = (customerUnitPrice * state.partQuantity * (100 - state.partsDiscount || 0)) / 100;\r\n let customerTotal = calCustTotal.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\r\n\r\n let customerLabour = state.labourRate * (1 + state.markup / 100);\r\n const total1 = (customerLabour * state.labourHours * (100 - state.labourDiscount || 0)) / 100;\r\n\r\n const WorkCategoryChange = (nm) => (e, val) => {\r\n if (nm === 'workCategoryValue') {\r\n const cat = val?.id?.split(',');\r\n if (cat?.length) {\r\n setState((state) => ({\r\n ...state,\r\n jobItemVMRSCategoryID: cat[0],\r\n jobItemVMRSSubCategoryID: cat[1],\r\n [nm]: val\r\n }));\r\n }\r\n } else {\r\n setState((state) => ({\r\n ...state,\r\n [nm]: val\r\n }));\r\n }\r\n };\r\n\r\n const closeTheDialog = () => {\r\n setState((st) => ({ ...st, showPastJob: false }));\r\n };\r\n\r\n const handleClose = () => {\r\n props.onClose(false);\r\n };\r\n\r\n const handleOpen = () => {\r\n setState((st) => ({ ...st, showCancelConfirmModal: !st.showCancelConfirmModal }));\r\n };\r\n\r\n let setbtn = state.setBackup.length > 0 ? handleOpen : handleClose;\r\n return (\r\n
\r\n {state.showPastJob && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {checkStatus && (\r\n \r\n \r\n Save\r\n \r\n \r\n )}\r\n \r\n {\r\n // props.onClose(false);\r\n // }\r\n }\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Total\r\n \r\n
£{total1?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {state.workCategory && (\r\n \r\n {'\\u{2800}'}\r\n {\r\n setState((st) => ({ ...st, showPastJob: true }));\r\n }}\r\n icon={SearchIcon}\r\n />\r\n \r\n )}\r\n {state.errors.workCategory}\r\n \r\n \r\n \r\n {state.errors.costCategory}\r\n \r\n \r\n \r\n {state.errors.jobItemCostTypeIDValue}\r\n \r\n \r\n \r\n {state.errors.jobItemStatusID}\r\n \r\n
\r\n {checkStatus && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.partId ? 'Update' : 'Add'}\r\n \r\n \r\n \r\n )}\r\n {state.showCancelConfirmModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n
\r\n item.isDeleted !== true)}\r\n isRowHovered={true}\r\n loadingData={state.loader}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AddJobItemModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllJobItems } from '../../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport { getJobDetailsById, getJobRequiredDocuments } from '../../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\nimport DataGrid from '../../../../../../Core/Controls/Grid';\r\nimport { AddButton, EditButton, formatters } from '../../../../../../Core/Controls';\r\nimport AddLabourModal from './addJobItem';\r\nimport '../../../../../commonStyle.scss';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, Typography } from '@material-ui/core';\r\nimport { some } from 'lodash';\r\nimport { useLoginInfo } from '../../../../../../Core/Hooks/useLoginInfo';\r\nimport { useHistory } from 'react-router-dom';\r\nimport CustStatusBasedButton from './statusBtn';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport JobItemHeaderDates from './../../JOBItems/jobItemHeaderDates';\r\nimport FileUploaderButton from '../../../../../../Core/Controls/GenericFileUploader';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport JobQueriesScreen from '../../jobQueriesScreen';\r\nimport UpdateIcon from '@material-ui/icons/Update';\r\nimport UpcomingEvents from '../../../Vehicles/ScheduleVehicle/upcomingEvents';\r\nimport { CustomIconButton } from '../../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { AppStorage } from '../../../../../../Core/Basic/storage-service';\r\n\r\nconst alertBoxColorCode = {\r\n AA: 'warning',\r\n EP: 'warning',\r\n JP: 'warning',\r\n AU: 'error',\r\n JQ: 'error',\r\n FR: 'error',\r\n JD: 'error',\r\n JR: 'error',\r\n CA: 'success',\r\n JC: 'success',\r\n JA: 'success'\r\n};\r\n\r\nfunction JobItemsScreen(props) {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const { userRoles } = useLoginInfo();\r\n const [state, setState] = useState({\r\n jobItemsList: [],\r\n loader: true,\r\n open: false,\r\n jobStatusID: '',\r\n refresherFlag: new Date(),\r\n errors: {},\r\n showOk: true,\r\n showSellerBtn: true,\r\n showCreate: false\r\n });\r\n const history = useHistory();\r\n\r\n const dataReload = () => {\r\n setState((state) => ({ ...state, refresherFlag: new Date() }));\r\n };\r\n\r\n const base_columns = [\r\n {\r\n key: 'jobItemDescription',\r\n name: 'Description',\r\n formatter: (params) => {\r\n return (\r\n \r\n \r\n {params.row.jobItemDescription}\r\n \r\n \r\n {params.row.vmrs}\r\n \r\n \r\n );\r\n },\r\n cellClass: 'react-data-grid-cell-line-height'\r\n },\r\n {\r\n key: 'jobItemCustomerPartsPrice',\r\n name: 'Parts',\r\n formatter: formatters.NumberWithPound,\r\n headerRenderer: formatters.ColumnHeaderAlignRight,\r\n width: 90\r\n },\r\n { key: 'totalLabour', name: 'Labour', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight, width: 90 },\r\n { key: 'total', name: 'Total', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight, width: 90 }\r\n ];\r\n\r\n useEffect(async () => {\r\n pullJobDetails();\r\n pullJobItems();\r\n }, [state.refresherFlag]);\r\n\r\n const [jobDetails, setJobDetails] = useState({\r\n jobDescription: '',\r\n jobDepotID: '',\r\n jobServiceAgentID: '',\r\n vehicleMake: '',\r\n vehicleModel: '',\r\n jobRegNumber: '',\r\n refreshDependancy: '',\r\n jobStatusID: ''\r\n });\r\n\r\n const [jobdocument, setJobDocument] = useState({\r\n list: []\r\n });\r\n\r\n const pullJobDetails = async () => {\r\n let res = await getJobDetailsById(props.scheduleJobID);\r\n let res1 = res.data.list;\r\n let data = res1?.length > 0 ? res.data?.list[0] : res.data?.list;\r\n if (data) {\r\n setJobDetails((st) => ({\r\n ...st,\r\n jobID: data.jobID,\r\n jobAgentOrderNo: data.jobAgentOrderNo,\r\n jobOrderDate: formatters.DateOnlyFormatter(data.jobDate),\r\n jobOrderTotal: data.orderTotal,\r\n jobEstimatedCost: data.jobEstimatedCost || '',\r\n jobServiceAgentID: data.jobServiceAgentID || '',\r\n jobVehicleID: data.jobVehicleID,\r\n jobRegNumber: data.jobRegNumber,\r\n vehicleMake: data.vehicleMake,\r\n vehicleModel: data.vehicleModel,\r\n vehicleJobStatus: data.vehicleJobStatus,\r\n jobStatusID: data.jobStatusID,\r\n jobApprovedOrderNo: data.jobApprovedOrderNo,\r\n mileageRequired: data.mileageRequired,\r\n customerName: data.customerCompanyName,\r\n jobDescription: data.jobDescription,\r\n bookingDate: data.bookingDate,\r\n completionDate: data.completionDate,\r\n vehicleArrived: data.vehicleArrived,\r\n jobMileageDate: data.jobMileageDate || '',\r\n jobMileage: data.jobMileage || '',\r\n refreshDependancy: new Date(),\r\n jobCustomerOrderTotal: data.jobCustomerOrderTotal || 0,\r\n jobOrderNo: data.jobOrderNo,\r\n jobIsEstimate: data.jobIsEstimate,\r\n islabourRateSet: data.labourRate == 0 ? false : true,\r\n labourRate: data.labourRate,\r\n markup: data.markup,\r\n jobInAgentQuery: data.jobInAgentQuery\r\n }));\r\n }\r\n };\r\n const goPreviousScreen = () => {\r\n history.goBack();\r\n };\r\n\r\n useEffect(async () => {\r\n if (jobDetails.jobID) {\r\n let res = await getJobRequiredDocuments(jobDetails.jobID);\r\n setJobDocument((state) => ({ ...state, list: res.data.list }));\r\n }\r\n }, [jobDetails.jobID]);\r\n\r\n const pullJobItems = async () => {\r\n let res = await getAllJobItems(props.scheduleJobID);\r\n let res2 = res.data.vehicleJobItems.map((m) => {\r\n let Labour = (m.jobItemCustomerLabHourRate * m.jobItemCustomerLabourHours * (100 - m.jobItemCustomerLabourDiscount)) / 100;\r\n return {\r\n totalLabour: Labour,\r\n total: Labour + m.jobItemCustomerPartsPrice,\r\n ...m\r\n };\r\n });\r\n\r\n setState((state) => {\r\n const nst = { ...state };\r\n nst.jobItemsList = res2;\r\n nst.loader = false;\r\n return nst;\r\n });\r\n };\r\n\r\n const btnHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, jobItemID: params.jobItemID, vehicleID: params.vehicleID, vehicleRegNumber: params.vehicleRegNumber }));\r\n };\r\n\r\n const createInvoiceHandler = (name) => {\r\n setState((state) => ({ ...state, [name]: true }));\r\n };\r\n\r\n const ActionButtons = (data) => {\r\n return (\r\n
\r\n btnHandler(data.row)} />\r\n
\r\n );\r\n };\r\n\r\n let checkStatus = ['AA', 'JP', 'JQ'].includes(jobDetails?.jobStatusID);\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n\r\n if (checkhaveAccess?.CanUpdateJobs) {\r\n newColumn.splice(0, 0, {\r\n key: 'action',\r\n name: 'Action',\r\n width: 60,\r\n formatter: ActionButtons,\r\n headerRenderer: () => {\r\n if (checkStatus) {\r\n return (\r\n \r\n \r\n {checkhaveAccess?.canAddScheduleItemstoJob && (\r\n createInvoiceHandler('showUpComingEvents')}\r\n toolTipTitle=\"Upcoming Events\"\r\n />\r\n )}\r\n Action\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n }\r\n });\r\n }\r\n return newColumn;\r\n }, [checkStatus]);\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false, jobItemID: null, showUpComingEvents: false }));\r\n res && refreshScreen();\r\n };\r\n\r\n const refreshScreen = () => {\r\n setJobDetails((st) => ({ ...st, refreshDependancy: new Date() }));\r\n pullJobItems();\r\n pullJobDetails();\r\n };\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${props.VehicleID}`,\r\n search: ''\r\n });\r\n };\r\n const getMakeModel =\r\n jobDetails.vehicleMake || jobDetails.vehicleModel\r\n ? ` (${jobDetails.vehicleMake ? jobDetails.vehicleMake : ''} ${jobDetails.vehicleModel ? jobDetails.vehicleModel : ''})`\r\n : '';\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n {jobDetails?.jobOrderNo ? (\r\n \r\n Final Order No \r\n \r\n {jobDetails?.jobOrderNo || ''}({jobDetails?.jobAgentOrderNo})\r\n \r\n \r\n ) : (\r\n \r\n Job Reference\r\n {jobDetails?.jobAgentOrderNo || ''}\r\n \r\n )}\r\n \r\n Order Date\r\n {jobDetails.jobOrderDate}\r\n \r\n \r\n Customer\r\n {jobDetails.customerName}\r\n \r\n \r\n Vehicle Detail\r\n \r\n \r\n {jobDetails.jobRegNumber}\r\n \r\n {getMakeModel}\r\n \r\n \r\n \r\n
\r\n Total\r\n \r\n £{jobDetails.jobCustomerOrderTotal?.toFixed(2).replace(/(\\d)(?=(\\d0})+(?!\\d))/g, '$1,')}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n 0 ? 6 : 12} md={jobdocument.list.length > 0 ? 7 : 12} style={{ marginTop: 3 }}>\r\n \r\n \r\n \r\n Status\r\n {jobDetails.vehicleJobStatus}\r\n \r\n \r\n \r\n } severity=\"warning\" className=\"alert-items\">\r\n Job Description\r\n {jobDetails.jobDescription}\r\n \r\n \r\n \r\n \r\n {jobdocument.list.length > 0 && (\r\n \r\n \r\n {jobdocument.list.map((m) => {\r\n return (\r\n \r\n {false ? (\r\n
\r\n {m.docName}{' '}\r\n \r\n \r\n \r\n
\r\n ) : (\r\n
\r\n {m.docName}\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {state.open ? (\r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.showUpComingEvents ? (\r\n closeModal(false)} maxWidth=\"md\" fullWidth>\r\n \r\n \r\n ) : null}\r\n
\r\n )}\r\n
\r\n );\r\n}\r\nexport default JobItemsScreen;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, Typography } from '@material-ui/core';\r\nimport { SecondaryButton, EditButton, DeleteButton, formatters, MandatoryField, SingleSelect, SimpleField } from '../../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../../Core/Hooks/useToast';\r\nimport '../../../../../commonStyle.scss';\r\nimport DataGrid from '../../../../../../Core/Controls/Grid';\r\nimport { getJobItemById, getJobItemsDropDown, postJobItem } from '../../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport { CustomIconButton } from '../../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport PastJobs from './../../JOBItems/getPastJobBy';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport { useLoginInfo } from '../../../../../../Core/Hooks/useLoginInfo';\r\nimport ConfirmationModal from '../../../../../../Core/Modal/ConfirmationModal';\r\nimport { AppStorage } from '../../../../../../Core/Basic/storage-service';\r\n\r\nconst base_columns = [\r\n {\r\n key: 'vehicleJobPartNumber',\r\n name: 'Part Number',\r\n width: '10%'\r\n },\r\n {\r\n key: 'vehicleJobPartDescription',\r\n name: 'Part Description',\r\n width: '23%'\r\n },\r\n {\r\n key: 'vehicleJobPartQuantity',\r\n name: 'Quantity',\r\n width: '8%',\r\n formatter: formatters.ColumnTextAlignRight,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'vehicleJobPartUnitPrice',\r\n name: 'Unit Price',\r\n width: '17%',\r\n formatter: formatters.NumberWithPound,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'vehicleJobPartDiscount',\r\n name: 'Discount',\r\n width: '5%',\r\n formatter: (data) =>
{data.row.vehicleJobPartDiscount || 0 + '%'}
,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n {\r\n key: 'getTotal',\r\n name: 'Total',\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n }\r\n];\r\n\r\nfunction AddJobItemModal(props) {\r\n const [state, setState] = useState({\r\n setBackup: [],\r\n jobItemID: null,\r\n labourDescription: '',\r\n jobItemStatusID: null,\r\n JobItemCostTypeID: null,\r\n jobItemStatus: [],\r\n labourHours: '',\r\n labourRate: '',\r\n labourDiscount: 0,\r\n workCategory: '',\r\n costCategory: '',\r\n partNumber: '',\r\n partQuantity: null,\r\n partUnitPrice: null,\r\n partDescription: '',\r\n partsDiscount: '',\r\n partsTotal: '',\r\n workList: [],\r\n costCategories: [],\r\n rows: [],\r\n errors: {},\r\n readOnly: false,\r\n showPastJob: false,\r\n costCategoryValue: null,\r\n jobItemStatusIDValue: null,\r\n jobItemCostTypeIDValue: null,\r\n workCategoryValue: null,\r\n showCancelConfirmModal: false\r\n });\r\n const { userRoles } = useLoginInfo();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const handleUpdatePart = (params) => {\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n id: params.id,\r\n partNumber: params.vehicleJobPartNumber,\r\n partQuantity: params.vehicleJobPartQuantity,\r\n partsDiscount: params.vehicleJobPartDiscount,\r\n partUnitPrice: params.vehicleJobPartUnitPrice,\r\n partDescription: params.vehicleJobPartDescription,\r\n partsTotal: params.partsTotal,\r\n partId: params.id,\r\n isUpdate: true\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleDeletePart = (params) => {\r\n const id = params.id;\r\n const newList = state.rows.filter((item) => item.id !== id);\r\n let newPartToSetIsDelete = {\r\n id: params.id,\r\n partId: params.id,\r\n vehicleJobPartNumber: params.vehicleJobPartNumber,\r\n vehicleJobPartQuantity: params.vehicleJobPartQuantity,\r\n vehicleJobPartDiscount: params.vehicleJobPartDiscount,\r\n vehicleJobPartUnitPrice: params.vehicleJobPartUnitPrice,\r\n vehicleJobPartDescription: params.vehicleJobPartDescription,\r\n partsTotal: params.partsTotal,\r\n isDeleted: true\r\n };\r\n newList.push(newPartToSetIsDelete);\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n rows: newList\r\n };\r\n return nst;\r\n });\r\n };\r\n let checkStatus = ['AA', 'JP', 'JQ', 'EA', 'EU'].includes(props.Status) && checkhaveAccess?.CanUpdateJobs; //hide if role is customer\r\n\r\n const ActionButtons = (data) => {\r\n return (\r\n
\r\n handleUpdatePart(data.row)} />\r\n {checkhaveAccess?.CanDeleteJobLines && handleDeletePart(data.row)} toolTipTitle=\"Delete Job Item\" />}\r\n
\r\n );\r\n };\r\n\r\n const CalculateTotal = (data) => {\r\n const { vehicleJobPartQuantity, vehicleJobPartUnitPrice, vehicleJobPartDiscount } = data.row;\r\n const total = (vehicleJobPartUnitPrice * vehicleJobPartQuantity * (100 - vehicleJobPartDiscount || 0)) / 100;\r\n return
£{total.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}
;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol2 = newColumn.find((item) => item.key === 'getTotal');\r\n if (checkStatus) {\r\n newColumn.splice(0, 0, { key: 'action', name: 'Action', formatter: ActionButtons, width: '5%' });\r\n }\r\n if (actionCol2) {\r\n actionCol2.formatter = CalculateTotal;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n setState((st) => ({ ...st, islabourRateSet: props.islabourRateSet, labourRate: props.labourRate }));\r\n let res1 = await getJobItemsDropDown();\r\n if (res1.success) {\r\n const category = res1.data.vmrsCategory.map((item) => ({\r\n id: item.catid + ',' + item.subcatid,\r\n name: item.subcatname\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n workList: category,\r\n costCategories: res1.data.costCategories,\r\n jobItemStatus: res1.data.jobItemStatus,\r\n costTypeList: res1.data.costType\r\n }));\r\n }\r\n if (props.jobItemID) {\r\n let partList = [];\r\n let res = await getJobItemById(props.jobItemID);\r\n partList = res.data.vehicleJobPartsDetails.map((item, index) => ({\r\n ...item,\r\n id: index + 1,\r\n isDeleted: false\r\n }));\r\n const info = res.data.vehicleJobitemdetails[0];\r\n if (res.success) {\r\n let newSt = {};\r\n newSt.jobItemID = info.jobItemID;\r\n newSt.labourDescription = info.jobItemDescription;\r\n newSt.jobItemJobID = info.jobItemJobID;\r\n newSt.jobItemStatusID = info.jobItemStatusID;\r\n newSt.jobItemCostTypeID = info.jobItemCostTypeID;\r\n newSt.workCategory = info.jobItemVMRSCategoryID + ',' + info.jobItemVMRSSubCategoryID;\r\n newSt.jobItemVMRSCategoryID = info.jobItemVMRSCategoryID;\r\n newSt.jobItemVMRSSubCategoryID = info.jobItemVMRSSubCategoryID;\r\n newSt.costCategory = info.jobItemCostCategoryID;\r\n newSt.rows = partList;\r\n newSt.readOnly = info.allowUpdate == 'Y' ? false : true;\r\n newSt.allowUpdate = info.allowUpdat;\r\n newSt.labourHours = info.jobItemLabourHours;\r\n newSt.labourRate = info.jobItemLabHourRate;\r\n newSt.labourDiscount = info.jobItemLabourDiscount;\r\n newSt.jobItemCostTypeID = info.jobItemCostTypeID;\r\n setState((state) => ({\r\n ...state,\r\n ...newSt\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n if (state.workCategory && state.workList.length > 0) {\r\n newSt.workCategoryValue = state.workList?.find(({ id }) => id === state.workCategory);\r\n }\r\n if (state.costCategory && state.costCategories.length > 0) {\r\n newSt.costCategoryValue = state.costCategories?.find(({ id }) => id === state.costCategory);\r\n }\r\n\r\n if (state.jobItemStatusID && state.jobItemStatus.length > 0) {\r\n newSt.jobItemStatusIDValue = state.jobItemStatus?.find(({ id }) => id === state.jobItemStatusID);\r\n }\r\n if (state.jobItemCostTypeID && state.costTypeList.length > 0) {\r\n newSt.jobItemCostTypeIDValue = state.costTypeList?.find(({ id }) => id === state.jobItemCostTypeID);\r\n }\r\n setState((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [\r\n state.workCategory,\r\n state.workList,\r\n state.costCategory,\r\n state.costCategories,\r\n state.jobItemStatusID,\r\n state.jobItemStatus,\r\n state.costTypeList,\r\n state.jobItemCostTypeID\r\n ]);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n // let temparr = [];\r\n // temparr.push(name);\r\n setState((state) => ({\r\n ...state,\r\n [name]: value,\r\n setBackup: [...state.setBackup, name]\r\n }));\r\n };\r\n\r\n const caltotal = (state.partUnitPrice * state.partQuantity * (100 - state.partsDiscount || 0)) / 100;\r\n const total = caltotal.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\r\n const total1 = (state.labourRate * state.labourHours * (100 - state.labourDiscount || 0)) / 100;\r\n\r\n const WorkCategoryChange = (nm) => (e, val) => {\r\n if (nm === 'workCategoryValue') {\r\n const cat = val?.id?.split(',');\r\n if (cat?.length) {\r\n setState((state) => ({\r\n ...state,\r\n jobItemVMRSCategoryID: cat[0],\r\n jobItemVMRSSubCategoryID: cat[1],\r\n [nm]: val\r\n }));\r\n }\r\n } else {\r\n setState((state) => ({\r\n ...state,\r\n [nm]: val\r\n }));\r\n }\r\n };\r\n\r\n const validations = () => {\r\n const { labourDescription, workCategoryValue, labourRate, jobItemStatusID, labourHours, jobItemCostTypeIDValue } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(labourDescription)) {\r\n errors.labourDescription = 'Description is required';\r\n formIsValid = false;\r\n }\r\n if (!workCategoryValue) {\r\n errors.workCategory = 'Work Category is required';\r\n formIsValid = false;\r\n }\r\n if (!state.costCategoryValue) {\r\n errors.costCategory = 'Cost Category is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(labourRate)) {\r\n errors.labourRate = 'Rate is required';\r\n formIsValid = false;\r\n }\r\n\r\n if (!labourHours) {\r\n errors.labourHours = 'Hours is required';\r\n formIsValid = false;\r\n }\r\n\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitSendForApproval = async (val) => {\r\n if (validations()) {\r\n setBtnLoader(true);\r\n const PartsVM = state.rows\r\n .filter((data) => data.isDeleted != true)\r\n .map((row) => ({\r\n vehicleJobPartNumber: row.vehicleJobPartNumber,\r\n vehicleJobPartQuantity: row.vehicleJobPartQuantity,\r\n vehicleJobPartDiscount: row.vehicleJobPartDiscount,\r\n vehicleJobPartUnitPrice: row.vehicleJobPartUnitPrice,\r\n vehicleJobPartDescription: row.vehicleJobPartDescription\r\n }));\r\n const data = {\r\n jobItemDescription: state.labourDescription,\r\n jobItemLabourHours: state.labourHours,\r\n jobItemLabHourRate: state.labourRate,\r\n jobItemLabourDiscount: state.labourDiscount || 0,\r\n jobItemID: state.jobItemID,\r\n jobItemVMRSCategoryID: state.jobItemVMRSCategoryID,\r\n jobItemVMRSSubCategoryID: state.jobItemVMRSSubCategoryID,\r\n jobItemJobID: props.jobItemJobID,\r\n jobItemCostCategoryID: state.costCategoryValue?.id,\r\n vehicleJobPartsVM: PartsVM,\r\n jobItemStatusID: state.jobItemStatusIDValue?.id,\r\n jobItemCostTypeID: state.jobItemCostTypeIDValue?.id,\r\n sendForApproval: 0\r\n };\r\n let res = await postJobItem(data);\r\n if (res.success) {\r\n showToastSuccess('Job item saved successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n const addPartToLocally = () => {\r\n if (state.partDescription === '') {\r\n showToastError('Description is required');\r\n }\r\n if (state.partNumber === '') {\r\n showToastError('Quantity is required');\r\n }\r\n if (state.partQuantity === null || state.partQuantity === '') {\r\n showToastError('Quantity is required');\r\n }\r\n if (state.partUnitPrice === null || state.partUnitPrice === '') {\r\n showToastError('Price is required');\r\n } else {\r\n let newPartToAdd = {\r\n vehicleJobPartNumber: state.partNumber,\r\n vehicleJobPartQuantity: state.partQuantity,\r\n vehicleJobPartDiscount: state.partsDiscount,\r\n vehicleJobPartUnitPrice: state.partUnitPrice,\r\n vehicleJobPartDescription: state.partDescription,\r\n isDeleted: false,\r\n partsTotal: total\r\n };\r\n setState((st) => ({\r\n ...st,\r\n rows: state.rows.filter((item) => item.id !== state.partId)\r\n }));\r\n\r\n setState((st) => {\r\n newPartToAdd.id = st.rows.length === 0 ? 1 : Math.max(...st.rows.map((c) => c.id)) + 1;\r\n return {\r\n ...st,\r\n rows: [...st.rows, newPartToAdd],\r\n partNumber: '',\r\n partQuantity: '',\r\n partsDiscount: '',\r\n partUnitPrice: '',\r\n partDescription: '',\r\n partsTotal: '',\r\n isUpdate: false,\r\n partId: undefined\r\n };\r\n });\r\n }\r\n };\r\n const closeTheDialog = () => {\r\n setState((st) => ({ ...st, showPastJob: false }));\r\n };\r\n\r\n const handleClose = () => {\r\n props.onClose(false);\r\n };\r\n\r\n const handleOpen = () => {\r\n setState((st) => ({ ...st, showCancelConfirmModal: !st.showCancelConfirmModal }));\r\n };\r\n\r\n let setbtn = state.setBackup.length > 0 ? handleOpen : handleClose;\r\n return (\r\n
\r\n {state.showPastJob && (\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {checkStatus && (\r\n \r\n \r\n Save\r\n \r\n \r\n )}\r\n \r\n {\r\n // props.onClose(false);\r\n // }\r\n }\r\n >\r\n Cancel\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Total\r\n \r\n
£{total1?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {state.workCategory && (\r\n \r\n {'\\u{2800}'}\r\n {\r\n setState((st) => ({ ...st, showPastJob: true }));\r\n }}\r\n icon={SearchIcon}\r\n />\r\n \r\n )}\r\n {state.errors.workCategory}\r\n \r\n \r\n \r\n {state.errors.costCategory}\r\n \r\n
\r\n {checkStatus && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.partId ? 'Update' : 'Add'}\r\n \r\n \r\n \r\n \r\n )}\r\n {state.showCancelConfirmModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n
\r\n item.isDeleted !== true)}\r\n isRowHovered={true}\r\n loadingData={state.loader}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AddJobItemModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllJobItems } from '../../../../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport { getJobDetailsById, getJobRequiredDocuments } from '../../../../../../Core/Services/InternalUser/ControllerService/jobDetailsService';\r\nimport DataGrid from '../../../../../../Core/Controls/Grid';\r\nimport { AddButton, EditButton, formatters } from '../../../../../../Core/Controls';\r\nimport AddLabourModal from './addJobItem';\r\nimport '../../../../../commonStyle.scss';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, Typography } from '@material-ui/core';\r\nimport { _, some } from 'lodash';\r\nimport { useHistory } from 'react-router-dom';\r\nimport StatusBasedButton from './statusBtn';\r\nimport Alert from '@material-ui/lab/Alert';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport JobItemHeaderDates from './../../JOBItems/jobItemHeaderDates';\r\nimport FileUploaderButton from '../../../../../../Core/Controls/GenericFileUploader';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport JobQueriesScreen from '../../jobQueriesScreen';\r\nimport UpdateIcon from '@material-ui/icons/Update';\r\nimport UpcomingEvents from '../../../Vehicles/ScheduleVehicle/upcomingEvents';\r\nimport { CustomIconButton } from '../../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { AppStorage } from '../../../../../../Core/Basic/storage-service';\r\n\r\nconst alertBoxColorCode = {\r\n AA: 'warning',\r\n EP: 'warning',\r\n JP: 'warning',\r\n AU: 'error',\r\n JQ: 'error',\r\n FR: 'error',\r\n JD: 'error',\r\n JR: 'error',\r\n CA: 'success',\r\n JC: 'success',\r\n JA: 'success'\r\n};\r\n\r\nfunction AgentJobItemsScreen(props) {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n jobItemsList: [],\r\n loader: true,\r\n open: false,\r\n jobStatusID: '',\r\n refresherFlag: new Date(),\r\n allApprovedJob: [],\r\n errors: {},\r\n showOk: true,\r\n showSellerBtn: true,\r\n showCreate: false\r\n });\r\n const history = useHistory();\r\n\r\n const dataReload = () => {\r\n setState((state) => ({ ...state, refresherFlag: new Date() }));\r\n };\r\n\r\n const base_columns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 60\r\n },\r\n {\r\n key: 'jobItemDescription',\r\n name: 'Description',\r\n formatter: (params) => {\r\n return (\r\n \r\n \r\n {params.row.jobItemDescription}\r\n \r\n \r\n {params.row.vmrs}\r\n \r\n \r\n );\r\n },\r\n cellClass: 'react-data-grid-cell-line-height'\r\n },\r\n { key: 'jobItemPartsprice', name: 'Parts', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight, width: 90 },\r\n { key: 'totalLabour', name: 'Labour', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight, width: 90 },\r\n { key: 'total', name: 'Total', formatter: formatters.NumberWithPound, headerRenderer: formatters.ColumnHeaderAlignRight, width: 90 }\r\n ];\r\n\r\n useEffect(async () => {\r\n pullJobDetails();\r\n pullJobItems();\r\n }, [state.refresherFlag]);\r\n\r\n const [jobDetails, setJobDetails] = useState({\r\n jobDescription: '',\r\n jobDepotID: '',\r\n jobServiceAgentID: '',\r\n vehicleMake: '',\r\n vehicleModel: '',\r\n jobRegNumber: '',\r\n refreshDependancy: '',\r\n jobStatusID: ''\r\n });\r\n\r\n const [jobdocument, setJobDocument] = useState({\r\n list: []\r\n });\r\n\r\n const pullJobDetails = async () => {\r\n let res = await getJobDetailsById(props.scheduleJobID);\r\n let res1 = res.data.list;\r\n let data = res1?.length > 0 ? res.data?.list[0] : res.data?.list;\r\n if (data) {\r\n setJobDetails((st) => ({\r\n ...st,\r\n jobID: data.jobID,\r\n jobAgentOrderNo: data.jobAgentOrderNo,\r\n jobOrderDate: formatters.DateOnlyFormatter(data.jobDate),\r\n jobOrderTotal: data.orderTotal,\r\n //jobCustomerOrderNo: data.jobCustomerOrderNo || '',\r\n jobEstimatedCost: data.jobEstimatedCost || '',\r\n // jobProformaInvNet: data.jobProformaInvNet || '',\r\n jobServiceAgentID: data.jobServiceAgentID || '',\r\n jobVehicleID: data.jobVehicleID,\r\n jobRegNumber: data.jobRegNumber,\r\n vehicleMake: data.vehicleMake,\r\n vehicleModel: data.vehicleModel,\r\n vehicleJobStatus: data.vehicleJobStatus,\r\n jobStatusID: data.jobStatusID,\r\n // jobApprovedDate: formatters.DateFormatter(data.jobApprovedDate),\r\n jobApprovedOrderNo: data.jobApprovedOrderNo,\r\n // jobApproved: data.jobApproved,\r\n mileageRequired: data.mileageRequired,\r\n customerName: data.customerCompanyName,\r\n jobDescription: data.jobDescription,\r\n bookingDate: data.bookingDate,\r\n completionDate: data.completionDate,\r\n vehicleArrived: data.vehicleArrived,\r\n jobMileageDate: data.jobMileageDate || '',\r\n jobMileage: data.jobMileage || '',\r\n refreshDependancy: new Date(),\r\n jobCustomerOrderTotal: data.jobCustomerOrderTotal || 0,\r\n jobOrderNo: data.jobOrderNo,\r\n jobIsEstimate: data.jobIsEstimate,\r\n islabourRateSet: data.labourRate == 0 ? false : true,\r\n labourRate: data.labourRate,\r\n jobInAgentQuery: data.jobInAgentQuery\r\n }));\r\n }\r\n };\r\n const goPreviousScreen = () => {\r\n history.goBack();\r\n };\r\n\r\n useEffect(async () => {\r\n if (jobDetails.jobID) {\r\n let res = await getJobRequiredDocuments(jobDetails.jobID);\r\n setJobDocument((state) => ({ ...state, list: res.data.list }));\r\n }\r\n }, [jobDetails.jobID]);\r\n\r\n const pullJobItems = async () => {\r\n let res = await getAllJobItems(props.scheduleJobID);\r\n let res2 = res.data.vehicleJobItems.map((m) => {\r\n let Labour = (m.jobItemLabHourRate * m.jobItemLabourHours * (100 - m.jobItemLabourDiscount)) / 100;\r\n return {\r\n totalLabour: Labour,\r\n total: Labour + m.jobItemPartsprice,\r\n ...m\r\n };\r\n });\r\n setState((state) => {\r\n const nst = { ...state };\r\n nst.jobItemsList = res2;\r\n nst.loader = false;\r\n return nst;\r\n });\r\n };\r\n\r\n const btnHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, jobItemID: params.jobItemID, vehicleID: params.vehicleID, vehicleRegNumber: params.vehicleRegNumber }));\r\n };\r\n\r\n const createInvoiceHandler = (name) => {\r\n setState((state) => ({ ...state, [name]: true }));\r\n };\r\n\r\n const ActionButtons = (data) => {\r\n return (\r\n
\r\n btnHandler(data.row)} />\r\n
\r\n );\r\n };\r\n\r\n let checkStatus = ['AA', 'JP', 'JQ', 'EA', 'EU'].includes(jobDetails?.jobStatusID);\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n actionCol.headerRenderer = () => {\r\n if (checkStatus) {\r\n return (\r\n \r\n \r\n {checkhaveAccess?.canAddScheduleItemstoJob && (\r\n createInvoiceHandler('showUpComingEvents')}\r\n toolTipTitle=\"Upcoming Events\"\r\n />\r\n )}\r\n Action\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n }\r\n return newColumn;\r\n }, [checkStatus]);\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false, jobItemID: null, showUpComingEvents: false }));\r\n res && refreshScreen();\r\n };\r\n\r\n const refreshScreen = () => {\r\n setJobDetails((st) => ({ ...st, refreshDependancy: new Date() }));\r\n pullJobItems();\r\n pullJobDetails();\r\n };\r\n\r\n const getMakeModel =\r\n jobDetails.vehicleMake || jobDetails.vehicleModel\r\n ? ` (${jobDetails.vehicleMake ? jobDetails.vehicleMake : ''} ${jobDetails.vehicleModel ? jobDetails.vehicleModel : ''})`\r\n : '';\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${props.vehicleID}`,\r\n search: ''\r\n });\r\n };\r\n return (\r\n
\r\n {/* */}\r\n
\r\n \r\n \r\n \r\n {jobDetails?.jobOrderNo ? (\r\n \r\n Final Order No \r\n \r\n {jobDetails?.jobOrderNo || ''}({jobDetails?.jobAgentOrderNo})\r\n \r\n \r\n ) : (\r\n \r\n Job Reference\r\n {jobDetails?.jobAgentOrderNo || ''}\r\n \r\n )}\r\n \r\n Order Date\r\n {jobDetails.jobOrderDate}\r\n \r\n \r\n Customer\r\n {jobDetails.customerName}\r\n \r\n \r\n Vehicle Detail\r\n \r\n \r\n {jobDetails.jobRegNumber}\r\n {' '}\r\n {getMakeModel}\r\n \r\n \r\n {/* \r\n Job Status\r\n {jobDetails.vehicleJobStatus}\r\n */}\r\n \r\n
\r\n Total\r\n \r\n £{jobDetails.jobOrderTotal?.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}\r\n \r\n
\r\n {/* Total */}\r\n
\r\n
\r\n
\r\n \r\n \r\n 0 ? 6 : 12} md={jobdocument.list.length > 0 ? 7 : 12} style={{ marginTop: 3 }}>\r\n \r\n \r\n \r\n Status\r\n {jobDetails.vehicleJobStatus}\r\n \r\n \r\n \r\n } severity=\"warning\" className=\"alert-items\">\r\n Job Description\r\n {jobDetails.jobDescription}\r\n \r\n \r\n \r\n \r\n {jobdocument.list.length > 0 && (\r\n \r\n \r\n {jobdocument.list.map((m) => {\r\n return (\r\n \r\n {false ? (\r\n
\r\n {m.docName}{' '}\r\n \r\n \r\n \r\n
\r\n ) : (\r\n
\r\n {m.docName}\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n {state.open ? (\r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.showUpComingEvents ? (\r\n closeModal(false)} maxWidth=\"md\" fullWidth>\r\n \r\n \r\n ) : null}\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default AgentJobItemsScreen;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { BreadCrumbs, CustomChip, TabView } from '../../../../Core/Controls';\r\nimport JobBookingDetail from '../Vehicles/ScheduleVehicle/scheduleJobDetail';\r\nimport JobItems from './JOBItems/JobItemsScreen';\r\nimport JobNotes from '../../Controllers/Notes/index';\r\nimport JobDetail from './JOBItems/JobDetails';\r\nimport '../controllerStyle.scss';\r\nimport JobMessages from './JOBItems/JobMessages';\r\nimport InvoiceScreen from '../../Invoices';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport InternalJobDetail from './JobDetails/Internal';\r\nimport SalesInvoiceScreen from '../../Invoices/salesInvoice';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport AddVor from '../VOR/AddEditVor';\r\nimport { useHistory } from 'react-router-dom';\r\nimport InternalJobItem from './JobDetails/Internal/jobItemscreen';\r\nimport CustomerJobItemScreen from './JobDetails/Customer/jobItemscreen';\r\nimport AgentJobItemsScreen from './JobDetails/ServiceAgent/jobItemscreen';\r\nfunction JobTabScreen(props) {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const history = useHistory();\r\n const id = props.match.params.id;\r\n const vehicleID = props.match.params?.vehicleID;\r\n const tabIndex = props.match?.params?.tabIndex;\r\n\r\n let { state } = props.location;\r\n const [index, setIndex] = useState(undefined);\r\n const [value, setValue] = useState({});\r\n const [modalData, setModalData] = useState({});\r\n\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Jobs', active: true }\r\n ];\r\n const { userRoles } = useLoginInfo();\r\n\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n\r\n const isCustomer = userRoles.includes('customer');\r\n const isinternal = userRoles.includes('internal');\r\n\r\n useEffect(() => {\r\n if (props.match?.params?.tabIndex) {\r\n var d = new Date();\r\n var n = d.getTime();\r\n setValue((st) => ({ ...st, timeDependency: n }));\r\n setIndex(+props.match?.params?.tabIndex || undefined);\r\n }\r\n }, [props.match?.params?.tabIndex]);\r\n\r\n const tabs = [\r\n ...(isinternal\r\n ? [\r\n ...(checkhaveAccess?.CanViewJobs\r\n ? [\r\n {\r\n label: 'Job Details',\r\n body: \r\n },\r\n {\r\n label: 'Job Items',\r\n body: \r\n }\r\n ]\r\n : []),\r\n ...(checkhaveAccess?.CanViewInvoices\r\n ? [\r\n {\r\n label: 'Purchase Invoices',\r\n body: \r\n },\r\n {\r\n label: 'Sales Invoices',\r\n body: \r\n }\r\n ]\r\n : [])\r\n ]\r\n : []),\r\n\r\n ...(checkhaveAccess?.CanViewJobs\r\n ? [\r\n ...(isCustomer\r\n ? [\r\n {\r\n label: 'Job Items',\r\n body: \r\n }\r\n ]\r\n : [])\r\n ]\r\n : [])\r\n ];\r\n\r\n const baseTabs = useMemo(() => {\r\n let newColumn = [...tabs];\r\n if (!isServiceAgent) {\r\n newColumn.splice(\r\n 4,\r\n 0,\r\n {\r\n label: 'Job Notes',\r\n body: (\r\n <>\r\n \r\n \r\n )\r\n },\r\n {\r\n label: 'Messages',\r\n body: (\r\n <>\r\n \r\n \r\n )\r\n }\r\n );\r\n } else {\r\n newColumn.splice(0, 0, {\r\n label: 'Job Items',\r\n body: \r\n });\r\n }\r\n return newColumn;\r\n }, []);\r\n\r\n const handleAddPopUp = () => {\r\n setModalData((st) => ({ ...st, showVor: true }));\r\n };\r\n\r\n const closeAddPopUp = (flag, name) => {\r\n setModalData((st) => ({ ...st, showVor: false }));\r\n flag && history.replace({ state: { ...state, vorVehicleID: '' } });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n   \r\n
\r\n {isinternal && state?.vorVehicleID && (\r\n \r\n )}\r\n
\r\n {/*   \r\n
\r\n \r\n
*/}\r\n
\r\n \r\n {modalData.showVor ? (\r\n closeAddPopUp(false)}\r\n maxWidth=\"lg\"\r\n overflow=\"auto\"\r\n >\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\n\r\nexport default JobTabScreen;\r\n","import { createContext, useEffect, useState, useCallback } from 'react';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { addDriver, updateDriver, getDriverById, getDriverScreenDropdowns } from '../../../../Core/Services/InternalUser/ControllerService/driverService';\r\nimport { formatters } from '../../../../Core/Controls';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\n\r\nimport { isNull } from 'lodash';\r\nimport { validatePostCode } from '../../../../Core/Basic/StaticService';\r\nexport const DriverScreenContext = createContext();\r\n\r\nexport const DriverProvider = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n const [state, setState] = useState({\r\n driverDefectManager: '',\r\n driverLicenseCheckFrequency: '',\r\n driverLicenceTypeID: '',\r\n driverFuelCardProvider: '',\r\n driverFuelCardNumber: '',\r\n driverFuelCardPIN: '',\r\n driverLicenseNumber: '',\r\n errors: {},\r\n driverID: null,\r\n customerID: null,\r\n depotsID: '',\r\n driverTypeID: '',\r\n costCentreID: null,\r\n firstName: '',\r\n licenseTypeID: null,\r\n payrollNumber: null,\r\n middleName: '',\r\n firstName: '',\r\n lastName: '',\r\n jobTitle: '',\r\n dateOfBirth: '',\r\n dateOfBirth1: '',\r\n address1: '',\r\n address2: '',\r\n town: '',\r\n county: '',\r\n postCode: '',\r\n telePhone: '',\r\n driverMobile: '',\r\n driverReceiveEmailNotification: false,\r\n driverLoginEnabled: false\r\n });\r\n\r\n const [optionsState, setOptionState] = useState({\r\n customerList: [],\r\n depotWithCustList: [],\r\n costCentreList: [],\r\n depotsList: [],\r\n licenseTypeList: [],\r\n driverTypeList: [],\r\n genderList: [],\r\n licenceList: [],\r\n driverLicenceTypesList: [],\r\n fuelCardProvidersList: [],\r\n driverFuelCardNumberList: [],\r\n defectManagerList: []\r\n });\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n customerIDValue: null,\r\n depotsIDValue: null,\r\n driverTypeIDValue: null,\r\n costCentreIDValue: null,\r\n licenseTypeIDValue: null,\r\n genderValue: null,\r\n driverDefectManagerValue: null,\r\n driverLicenseCheckFrequencyValue: null,\r\n driverFuelCardProviderValue: null\r\n });\r\n\r\n useEffect(async () => {\r\n let res = await getDriverScreenDropdowns();\r\n setOptionState((st) => ({\r\n ...st,\r\n customerList: res.data.customers,\r\n costCentreList: res.data.costCentres,\r\n depotsList: res.data.depots,\r\n licenseTypeList: res.data.driverLicenceTypes,\r\n driverTypeList: res.data.driverTypes,\r\n genderList: res.data.genders,\r\n licenceList: res.data.licenceCheckFrequency,\r\n\r\n driverLicenceTypesList: res.data.driverLicenceTypes,\r\n fuelCardProvidersList: res.data.fuelCardProviders,\r\n driverFuelCardNumberList: res.data.driverFuelCardNumber,\r\n defectManagerList: res.data.defectManager\r\n }));\r\n\r\n if (props.driverID) {\r\n let res = await getDriverById(props.driverID);\r\n const data = res.data;\r\n setState((st) => ({\r\n ...st,\r\n customer: data.customer,\r\n address1: data.driverAddress1,\r\n address2: data.driverAddress2,\r\n address3: data.driverAddress3,\r\n driverCostCentreDescription: data.driverCostCentreDescription,\r\n customerID: data.driverCustomerID,\r\n depotsID: data.driverDepotID,\r\n driverDepotName: data.driverDepotName,\r\n jobTitle: data.driverJobTitle,\r\n gender: data.driverGenderID,\r\n\r\n //new\r\n driverLicenseCheckFrequency: data.driverLicenseCheckFrequency,\r\n driverFuelCardProvider: data.driverFuelCarProvider,\r\n driverDefectManager: data.driverDefectManager,\r\n driverFuelCardNumber: data.driverFuelCardNumber,\r\n driverFuelCardPIN: data.driverFuelCardPIN,\r\n driverLicenseNumber: data.driverLicenseNumber,\r\n //end\r\n\r\n costCentreID: data.driverCostCentreID,\r\n driverLicenceDescription: data.driverLicenceDescription,\r\n licenseTypeID: data.driverLicenceTypeID,\r\n lastName: data.driverLastName,\r\n middleName: data.driverMiddleName,\r\n dateOfBirth: formatters.DateFormatter(data.driverDateOfBirth),\r\n dateOfBirth1: formatters.YearFormatter(data.driverDateOfBirth),\r\n driverID: data.driverID,\r\n firstName: data.driverFirstName,\r\n driverPayrollNumber: data.driverPayrollNumber,\r\n postCode: data.driverPostCode,\r\n town: data.driverTown,\r\n county: data.driverCounty,\r\n driverLoginEnabled: data.driverLoginEnabled,\r\n driverMobile: data.driverMobile,\r\n driverReceiveEmailNotification: data.driverReceiveEmailNotification,\r\n telePhone: data.driverTelephone,\r\n driverTypeID: data.driverTypeID,\r\n licenceCheckFrequencyDescription: data.licenceCheckFrequencyDescription,\r\n fuelCardProviderName: data.fuelCardProviderName,\r\n fileCount: data.fileCount\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n if (state.customerID) {\r\n newSt.customerIDValue = optionsState.customerList.find(({ id }) => id === state.customerID);\r\n }\r\n if (state.depotsID) {\r\n newSt.depotsIDValue = optionsState.depotsList.find(({ id }) => id === state.depotsID);\r\n }\r\n if (state.driverTypeID) {\r\n newSt.driverTypeIDValue = optionsState.driverTypeList.find(({ id }) => id === state.driverTypeID);\r\n }\r\n if (state.costCentreID) {\r\n newSt.costCentreIDValue = optionsState.costCentreList.find(({ id }) => id === state.costCentreID);\r\n }\r\n if (state.licenseTypeID) {\r\n newSt.licenseTypeIDValue = optionsState.licenseTypeList.find(({ id }) => id === state.licenseTypeID);\r\n }\r\n if (state.gender) {\r\n newSt.genderValue = optionsState.genderList.find(({ id }) => id === state.gender);\r\n }\r\n if (state.driverDefectManager) {\r\n newSt.driverDefectManagerValue = optionsState.defectManagerList.find(({ id }) => id === state.driverDefectManager);\r\n }\r\n if (state.driverLicenseCheckFrequency) {\r\n newSt.driverLicenseCheckFrequencyValue = optionsState.licenceList.find(({ id }) => id === state.driverLicenseCheckFrequency);\r\n }\r\n if (state.driverFuelCardProvider) {\r\n newSt.driverFuelCardProviderValue = optionsState.fuelCardProvidersList.find(({ id }) => id === state.driverFuelCardProvider);\r\n }\r\n setTempOptions((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [\r\n state.customerID,\r\n state.depotsID,\r\n state.driverTypeID,\r\n state.costCentreID,\r\n state.licenseTypeID,\r\n state.gender,\r\n state.driverDefectManager,\r\n state.driverLicenseCheckFrequency,\r\n state.driverFuelCardProvider\r\n ]);\r\n\r\n useEffect(async () => {\r\n let Depots = [];\r\n if (isCustomer) {\r\n setOptionState((st) => ({ ...st, depotWithCustList: optionsState.depotsList }));\r\n } else {\r\n if (tempOptions.customerIDValue) {\r\n optionsState.depotsList.filter((obj) => {\r\n if (tempOptions.customerIDValue.id === obj.depotCustomerID) {\r\n Depots.push(obj);\r\n }\r\n });\r\n setOptionState((st) => ({ ...st, depotWithCustList: Depots }));\r\n // setTempOptions((st) => ({ ...st, depotsIDValue: null }));\r\n }\r\n }\r\n }, [tempOptions.customerIDValue, isCustomer, optionsState.depotsList]);\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n });\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const handleCheckbox = useCallback((e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n });\r\n\r\n const setVal = (s) => {\r\n setState((st) => ({\r\n ...st,\r\n address1: s.addressLine1,\r\n address2: s.addressLine2,\r\n town: s.town,\r\n county: s.county,\r\n postCode: s.postCode\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n const { customerID, costCentreID, licenseTypeID, firstName, depotsID, driverTypeID, dateOfBirth, postCode } = state;\r\n\r\n const {\r\n customerIDValue,\r\n depotsIDValue,\r\n driverTypeIDValue,\r\n costCentreIDValue,\r\n licenseTypeIDValue,\r\n genderValue,\r\n driverDefectManagerValue,\r\n driverLicenseCheckFrequencyValue,\r\n driverFuelCardProviderValue\r\n } = tempOptions;\r\n\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n if (!validatePostCode(postCode) && /[^\\s]/.test(postCode) && !isNull(postCode)) {\r\n errors.postCode = `Please fill valid post code, \"Ex: BB11AA\"`;\r\n formIsValid = false;\r\n }\r\n if (!costCentreIDValue) {\r\n errors.costCentreID = 'Cost centre is required.';\r\n formIsValid = false;\r\n }\r\n if (!depotsIDValue) {\r\n errors.depotsID = 'Depots is required.';\r\n formIsValid = false;\r\n }\r\n if (!dateOfBirth) {\r\n errors.dateOfBirth = 'Driver Date of birth is required.';\r\n formIsValid = false;\r\n }\r\n if (!driverTypeIDValue) {\r\n errors.driverTypeID = 'Driver type is required.';\r\n formIsValid = false;\r\n }\r\n if (!customerIDValue && !isCustomer) {\r\n errors.customerID = 'Customer is required.';\r\n formIsValid = false;\r\n }\r\n if (!licenseTypeIDValue) {\r\n errors.licenseTypeID = 'License type is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(firstName)) {\r\n errors.firstName = 'First name is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n const formData = {\r\n driverID: state.driverID,\r\n driverCustomerID: isCustomer ? null : tempOptions.customerIDValue?.id,\r\n driverDepotID: tempOptions.depotsIDValue?.id,\r\n driverTypeID: tempOptions.driverTypeIDValue?.id,\r\n driverGenderID: tempOptions.genderValue?.id,\r\n driverJobTitle: state.jobTitle,\r\n driverCostCentreID: tempOptions.costCentreIDValue?.id,\r\n driverFirstName: state.firstName,\r\n driverLicenceTypeID: tempOptions.licenseTypeIDValue?.id,\r\n driverMobile: state.driverMobile,\r\n driverReceiveEmailNotification: state.driverReceiveEmailNotification,\r\n driverLoginEnabled: state.driverLoginEnabled,\r\n driverTelephone: state.telePhone,\r\n driverLastName: state.lastName,\r\n driverMiddleName: state.middleName,\r\n driverDateOfBirth: state.dateOfBirth,\r\n driverAddress1: state.address1,\r\n driverAddress2: state.address2,\r\n driverAddress3: state.address3,\r\n driverTown: state.town,\r\n driverCounty: state.county,\r\n driverPostCode: state.postCode,\r\n driverPayrollNumber: state.driverPayrollNumber,\r\n driverLicenseCheckFrequency: tempOptions.driverLicenseCheckFrequencyValue?.id,\r\n driverFuelCarProvider: tempOptions.driverFuelCardProviderValue?.id,\r\n driverDefectManager: tempOptions.driverDefectManagerValue?.id,\r\n driverFuelCardNumber: state.driverFuelCardNumber,\r\n driverFuelCardPIN: state.driverFuelCardPIN,\r\n driverLicenseNumber: state.driverLicenseNumber\r\n };\r\n setBtnLoader(true);\r\n let res;\r\n if (props.driverID) {\r\n res = await updateDriver(props.driverID, formData);\r\n } else {\r\n res = await addDriver(formData);\r\n }\r\n if (res.success) {\r\n showToastSuccess('Driver added successfully');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n props.onFormSubmit(false);\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport {\r\n SecondaryButton,\r\n BreadCrumbs,\r\n SelectBox,\r\n SecondaryCheckbox,\r\n DatePicker,\r\n MandatoryField,\r\n SimpleField,\r\n Postcode,\r\n SingleSelect\r\n} from '../../../../Core/Controls';\r\nimport { DriverProvider, DriverScreenContext } from './DriverProvider';\r\nimport '../controllerStyle.scss';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Drivers', active: true },\r\n { name: 'Add Driver', active: true }\r\n];\r\nconst AddEditDriver = (props) => {\r\n const { state, handleSubmit, inputChange, handleClose, handleCheckbox, setVal, optionsState, singleSelectChange, tempOptions, btnLoader } =\r\n useContext(DriverScreenContext);\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n return (\r\n
\r\n {!state.driverID ? : null}\r\n \r\n {!isCustomer && (\r\n \r\n \r\n Customer\r\n \r\n \r\n {state.errors.customerID}\r\n \r\n )}\r\n \r\n \r\n Depot\r\n \r\n \r\n {state.errors.depotsID}\r\n \r\n \r\n \r\n Driver Type\r\n \r\n \r\n {state.errors.driverTypeID}\r\n \r\n \r\n \r\n Cost Centre\r\n \r\n \r\n {state.errors.costCentreID}\r\n \r\n \r\n \r\n License Type\r\n \r\n \r\n {state.errors.licenseTypeID}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Gender\r\n \r\n \r\n \r\n Defect Manager\r\n \r\n \r\n \r\n Licence Check Frequency\r\n \r\n \r\n \r\n Fuel Card Provider\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n {state.errors.postCode} */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Date Of Birth\r\n \r\n \r\n {state.errors.dateOfBirth}\r\n \r\n \r\n \r\n \r\n {isCustomer && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { getAllDriver } from '../../../../Core/Services/InternalUser/ControllerService/driverService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { EditButton, DataGrid, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport AddEditDriver from './addEditDriver';\r\nimport '../../../commonStyle.scss';\r\nimport { Link } from 'react-router-dom';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport CustomerDetails from '../DetailsModal/customerDetails';\r\nimport DepotDetails from '../DetailsModal/depotDetails';\r\nimport ReactDOM from 'react-dom';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 80,\r\n addFileUploaderIcon: true\r\n },\r\n { key: 'driverFirstName', name: 'Name', width: 110 },\r\n { key: 'customerName', name: 'Customer', width: 160 },\r\n // { key: \"driverAddress1\", name: \"Address1\" },\r\n // { key: \"driverAddress2\", name: \"Address2\" },\r\n // { key: \"driverTown\", name: \"Town\" },\r\n // { key: \"driverCounty\", name: \"County\" },\r\n { key: 'driverDepotName', name: 'Depot Name', width: 150 },\r\n {\r\n key: 'driverAddress1',\r\n name: 'Address',\r\n formatter: (data) =>\r\n formatters.addressFormatter(\r\n data.row?.driverAddress1,\r\n data.row?.driverAddress2,\r\n data.row?.driverTown,\r\n data.row?.driverCounty,\r\n data.row?.driverPostCode\r\n ),\r\n filterable: 'no'\r\n }\r\n];\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Drivers', active: true }\r\n];\r\n\r\nconst DriverScreen = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const { showToastError } = useToast();\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n DriverList: [],\r\n DriverID: null,\r\n isReload: null\r\n });\r\n\r\n const pullDriverAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n // useEffect(async () => {\r\n // pullDriverAndUpdateState();\r\n // }, []);\r\n\r\n const handleAdd = () => {\r\n setState((st) => ({\r\n ...st,\r\n show: true\r\n }));\r\n };\r\n\r\n const closeDriverModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullDriverAndUpdateState();\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/editdriver/${val.driverID}/${val.driverFirstName}`,\r\n search: '',\r\n state: '',\r\n name: val.driverName\r\n });\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customerName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderDepotName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showDepotModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.driverDepotName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n };\r\n\r\n const dataFormatter = (val, row) => {\r\n return (\r\n \r\n handleEditClick(row)} />\r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n let customerNameCol = tempCols.find((element) => element.key === 'customerName');\r\n let depotNameCol = tempCols.find((element) => element.key === 'driverDepotName');\r\n let driverNameCol = tempCols.find((element) => element.key === 'driverFirstName');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (customerNameCol) {\r\n customerNameCol.formatter = renderCustomerName;\r\n }\r\n if (depotNameCol) {\r\n depotNameCol.formatter = renderDepotName;\r\n }\r\n if (driverNameCol) {\r\n driverNameCol.formatter = (data) => data.row.driverFirstName + ' ' + data.row.driverLastName;\r\n }\r\n // if (window.innerWidth > 600) {\r\n // tempCols.splice(\r\n // 3,\r\n // 0,\r\n // { key: 'driverAddress1', name: 'Address1' },\r\n // { key: 'driverAddress2', name: 'Address2' },\r\n // { key: 'driverTown', name: 'Town', width: 110 },\r\n // { key: 'driverCounty', name: 'County', width: 110 }\r\n // );\r\n // }\r\n return tempCols;\r\n }, []);\r\n\r\n return (\r\n
\r\n {state.show ? (\r\n \r\n ) : (\r\n <>\r\n \r\n ({\r\n records: res.data.drivers,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n />\r\n \r\n )}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default DriverScreen;\r\n","import React, { useEffect, useState, useContext } from 'react';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { DriverProvider as StateProvider, DriverScreenContext } from './DriverProvider';\r\nimport AddEditDriver from './addEditDriver';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport '../controllerStyle.scss';\r\nimport StickyNotes from './../Notes/stickyNotes';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { CustomChip } from '../../../../Core/Controls';\r\nimport FileUploaderButton from '../../../../Core/Controls/GenericFileUploader';\r\nimport { formatters } from '../../../../Core/Controls';\r\n\r\nexport const DriverDashBoard = (props) => {\r\n const { state } = useContext(DriverScreenContext);\r\n\r\n const [data, setData] = useState({\r\n show: false,\r\n DriverID: null\r\n });\r\n\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n\r\n useEffect(() => {\r\n if (props.driverID) {\r\n setData((st) => ({\r\n ...st,\r\n DriverID: props.driverID\r\n }));\r\n }\r\n }, []);\r\n\r\n const handleAdd = (record) => {\r\n setData((st) => ({\r\n ...st,\r\n show: true,\r\n DriverID: record\r\n }));\r\n };\r\n\r\n const closeDriverModal = () => {\r\n setData((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n };\r\n\r\n return (\r\n
\r\n {data.show ? (\r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Driver Details\r\n \r\n \r\n \r\n
\r\n \r\n   \r\n {!data.show && (\r\n handleAdd(data.DriverID)}\r\n toolTipTitle=\"Edit Driver\"\r\n style={{ fontWeight: 'bold' }}\r\n >\r\n )}\r\n
\r\n
\r\n
\r\n \r\n {!isCustomer && (\r\n \r\n
\r\n Customer\r\n
\r\n {state.customer || 'N/A'}\r\n
\r\n )}\r\n \r\n
\r\n Depot Name\r\n
\r\n {state.driverDepotName || 'N/A'}\r\n
\r\n \r\n
\r\n Cost Centre\r\n
\r\n {state.driverCostCentreDescription || 'N/A'}\r\n
\r\n
\r\n \r\n \r\n
\r\n Licence Type\r\n
\r\n {state.driverLicenceDescription || 'N/A'}\r\n
\r\n \r\n
\r\n First name\r\n
\r\n {state.firstName || 'N/A'}\r\n
\r\n \r\n
\r\n Middle Name\r\n
\r\n {state.middleName || 'N/A'}\r\n
\r\n
\r\n \r\n \r\n
\r\n Last Name\r\n
\r\n {state.lastName || 'N/A'}\r\n
\r\n \r\n
\r\n Address1\r\n
\r\n {state.address1 || 'N/A'}\r\n
\r\n \r\n
\r\n Address2\r\n
\r\n {state.address2 || 'N/A'}\r\n
\r\n
\r\n \r\n \r\n
\r\n Town\r\n
\r\n {state.town || 'N/A'}\r\n
{' '}\r\n \r\n
\r\n County\r\n
\r\n {state.county || 'N/A'}\r\n
\r\n \r\n
\r\n Telephone Number\r\n
\r\n {formatters.phoneNumberFormatter(state.telephone)}\r\n
\r\n
\r\n \r\n \r\n
\r\n Mobile Number\r\n
\r\n {formatters.phoneNumberFormatter(state.driverMobile)}\r\n
\r\n \r\n
\r\n Date of Birth\r\n
\r\n {state.dateOfBirth1 || 'N/A'}\r\n
\r\n \r\n
\r\n Payroll Number\r\n
\r\n {state.driverPayrollNumber || 'N/A'}\r\n
\r\n
\r\n \r\n \r\n
\r\n Licence Check Frequency\r\n
\r\n {state.licenceCheckFrequencyDescription || 'N/A'}\r\n
\r\n \r\n
\r\n Fuel Card Provider\r\n
\r\n {state.fuelCardProviderName || 'N/A'}\r\n
\r\n \r\n
\r\n Fuel Card Number\r\n
\r\n {state.driverFuelCardNumber || 'N/A'}\r\n
\r\n
\r\n \r\n \r\n
\r\n Fuel Card PIN\r\n
\r\n {state.driverFuelCardPIN || 'N/A'}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n// Conviction\r\nexport const getlicenceConvictionList = async (id) => {\r\n let res = await getWithAuth(`LicenceConviction?LicenceCheckID=${id}`);\r\n return res;\r\n};\r\n\r\nexport const getLicenceConvictionbyid = async (id) => {\r\n let res = await getWithAuth(`LicenceConviction/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postlicenceConviction = async (data) => {\r\n let res = await postWithAuth(`LicenceConviction`, data);\r\n return res;\r\n};\r\n\r\n//Licence Check\r\n\r\nexport const getLicenceCheckList = async () => {\r\n let res = await getWithAuth(`LicenceCheck`);\r\n return res;\r\n};\r\n\r\nexport const getLicenceCheckbyid = async (id) => {\r\n let res = await getWithAuth(`LicenceCheck/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postLicenceCheck = async (data) => {\r\n let res = await postWithAuth(`LicenceCheck`, data);\r\n return res;\r\n};\r\n\r\nexport const LicenceCheckDropdown = async (data) => {\r\n let res = await getWithAuth(`LicenceCheck/screenDropdowns`);\r\n return res;\r\n};\r\n","import Grid from '@material-ui/core/Grid';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { InputLabel, FormHelperText } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, DatePicker, formatters } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { getLicenceConvictionbyid, postlicenceConviction } from '../../../../Core/Services/InternalUser/licenceCheckService';\r\n\r\nexport const CheckConviction = (props) => {\r\n const { state, handleConvictionModal, pullLicenceConvictionList } = props;\r\n\r\n const [newSt, setNewSt] = useState({ licenceConvictionID: null });\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const handleChange = (e) => {\r\n const { name, value } = e.target;\r\n setNewSt((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const btnConditions = state.licenceConvictionCheckID ? 'Update' : 'Add';\r\n useEffect(async () => {\r\n if (state.licenceConvictionCheckID) {\r\n let res = await getLicenceConvictionbyid(state.licenceConvictionCheckID);\r\n\r\n setNewSt((w) => ({\r\n ...w,\r\n licenceConvictionID: res.data.details[0].licenceConvictionID,\r\n licenceConvictionCheckID: res.data.details[0].licenceConvictionCheckID,\r\n licenceConvictionOffenceCode: res.data.details[0].licenceConvictionOffenceCode,\r\n licenceConvictionOffenceDescription: res.data.details[0].licenceConvictionOffenceDescription,\r\n licenceConvictionPoints: res.data.details[0].licenceConvictionPoints,\r\n licenceConvictionDateConvicted: formatters.DateFormatter(res.data.details[0].licenceConvictionDateConvicted),\r\n licenceConvictionDateEffectiveUntil: formatters.DateFormatter(res.data.details[0].licenceConvictionDateEffectiveUntil),\r\n licenceConvictionDateBannedUntil: formatters.DateFormatter(res.data.details[0].licenceConvictionDateBannedUntil),\r\n licenceConvictionDateCreated: formatters.DateFormatter(res.data.details[0].licenceConvictionDateCreated),\r\n licenceConvictionCreatedUserID: res.data.details[0].licenceConvictionCreatedUserID,\r\n licenceConvictionDateUpdated: res.data.details[0].licenceConvictionDateUpdated,\r\n licenceConvictionUpdatedUserID: res.data.details[0].licenceConvictionUpdatedUserID,\r\n licenceConvictionDateDeleted: res.data.details[0].licenceConvictionDateDeleted,\r\n licenceConvictionDeletedUserID: res.data.details[0].licenceConvictionDeletedUserID\r\n }));\r\n }\r\n }, []);\r\n\r\n const validation = () => {\r\n let errors = {};\r\n let isValid = true;\r\n let {\r\n licenceConvictionOffenceDescription,\r\n licenceConvictionOffenceCode,\r\n licenceConvictionPoints,\r\n licenceConvictionDateConvicted,\r\n licenceConvictionDateEffectiveUntil\r\n } = newSt;\r\n if (!licenceConvictionDateConvicted) {\r\n errors.licenceConvictionDateConvicted = ' Date convicted is required';\r\n isValid = false;\r\n }\r\n if (!licenceConvictionDateEffectiveUntil) {\r\n errors.licenceConvictionDateEffectiveUntil = 'Effective until is required';\r\n isValid = false;\r\n }\r\n if (!licenceConvictionPoints) {\r\n errors.licenceConvictionPoints = 'Points is required';\r\n isValid = false;\r\n }\r\n if (!licenceConvictionOffenceCode) {\r\n errors.licenceConvictionOffenceCode = 'Offence code is required';\r\n isValid = false;\r\n }\r\n if (!licenceConvictionOffenceDescription) {\r\n errors.licenceConvictionOffenceDescription = 'Offence description is required';\r\n isValid = false;\r\n }\r\n setErrors((w) => ({ ...w, ...errors }));\r\n return isValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validation()) {\r\n let data = {\r\n licenceConvictionID: newSt.licenceConvictionID || null,\r\n licenceConvictionCheckID: state.licenceCheckID || null,\r\n licenceConvictionOffenceCode: newSt.licenceConvictionOffenceCode || null,\r\n licenceConvictionOffenceDescription: newSt.licenceConvictionOffenceDescription || null,\r\n licenceConvictionPoints: newSt.licenceConvictionPoints || null,\r\n licenceConvictionDateConvicted: newSt.licenceConvictionDateConvicted || null,\r\n licenceConvictionDateEffectiveUntil: newSt.licenceConvictionDateEffectiveUntil || null,\r\n licenceConvictionDateBannedUntil: newSt.licenceConvictionDateBannedUntil || null\r\n };\r\n let res = await postlicenceConviction(data);\r\n if (res.success) {\r\n showToastSuccess(`Conviction ${btnConditions} Successfully`);\r\n handleConvictionModal();\r\n pullLicenceConvictionList();\r\n } else {\r\n showToastError('error');\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Date convicted{' '}\r\n \r\n \r\n {errors.licenceConvictionDateConvicted}\r\n \r\n \r\n \r\n Effective until\r\n \r\n \r\n {errors.licenceConvictionDateEffectiveUntil}\r\n \r\n \r\n Banned until\r\n \r\n \r\n \r\n \r\n Points\r\n \r\n \r\n {errors.licenceConvictionPoints}\r\n \r\n \r\n \r\n Offence code\r\n \r\n \r\n {errors.licenceConvictionOffenceCode}\r\n \r\n \r\n \r\n Offence description\r\n \r\n \r\n {errors.licenceConvictionOffenceDescription}\r\n \r\n {/* \r\n \r\n Current effective points on licence{' '}\r\n \r\n \r\n */}\r\n \r\n
\r\n \r\n \r\n {btnConditions}\r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState, useCallback, useMemo } from 'react';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormControlLabel, FormControl, FormHelperText } from '@material-ui/core';\r\n\r\nimport {\r\n InputText,\r\n SelectBox,\r\n PrimaryButton,\r\n SecondaryCheckbox,\r\n SecondaryButton,\r\n DatePicker,\r\n Multiselect,\r\n DataGrid,\r\n formatters,\r\n AddButton,\r\n EditButton,\r\n SingleSelect\r\n} from '../../../../Core/Controls';\r\nimport { CheckConviction } from './checkConviction';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport {\r\n getLicenceCheckbyid,\r\n getlicenceConvictionList,\r\n postLicenceCheck,\r\n LicenceCheckDropdown\r\n} from '../../../../Core/Services/InternalUser/licenceCheckService';\r\nimport moment from 'moment';\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'licenceConvictionDateConvicted', name: 'Date of convicted', formatter: formatters.Date_DDMMYY },\r\n { key: 'licenceConvictionOffenceCode', name: 'Offence code' },\r\n { key: 'licenceConvictionOffenceDescription', name: 'Offence discription' },\r\n { key: 'licenceConvictionPoints', name: 'Points' },\r\n { key: 'licenceConvictionDateEffectiveUntil', name: 'Effective until', formatter: formatters.Date_DDMMYY },\r\n { key: 'licenceConvictionDateBannedUntil', name: 'Banned until', formatter: formatters.Date_DDMMYY }\r\n];\r\n\r\nconst styles = { link: { textDecoration: 'none', color: '#f50057' } };\r\n\r\nexport const AddEditLicence = (props) => {\r\n const [state, setState] = useState({\r\n show: false,\r\n licenceCheckID: props.licenceCheckID,\r\n convictionList: [],\r\n driversList: [],\r\n licenceCategoriesList: [],\r\n licenceCheckFrequencyList: [],\r\n licenceRiskLevelsList: [],\r\n licenceCheckRiskLevel: '',\r\n date: moment().format('YYYY-MM-DD'),\r\n licenceCheckCategoriesAllowed: null\r\n });\r\n\r\n const [licenceCategories, setlicenceCategories] = useState({\r\n licenceCheckCategoriesAllowedValue: []\r\n });\r\n\r\n const [errors, seterrors] = useState({});\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n let res = await LicenceCheckDropdown();\r\n setState((st) => ({\r\n ...st,\r\n driversList: res.data.drivers,\r\n licenceCategoriesList: res.data?.licenceCategories,\r\n licenceCheckFrequencyList: res.data?.licenceCheckFrequency,\r\n licenceRiskLevelsList: res.data?.licenceRiskLevels\r\n }));\r\n\r\n if (state.licenceCheckID) {\r\n let result = await getLicenceCheckbyid(state.licenceCheckID);\r\n let data = result.data?.details[0];\r\n setState((st) => ({\r\n ...st,\r\n licenceCheckID: data.licenceCheckID,\r\n licenceCheckDriverID: data.licenceCheckDriverID,\r\n licenceCheckLicenceNumber: data.licenceCheckLicenceNumber,\r\n licenceCheckLicenceIssueNumber: data.licenceCheckLicenceIssueNumber,\r\n licenceCheckAddress: data.licenceCheckAddress,\r\n licenceCheckDateChecked: formatters.DateFormatter(data.licenceCheckDateChecked),\r\n licenceCheckDateCheckExpires: formatters.DateFormatter(data.licenceCheckDateCheckExpires),\r\n licenceCheckPhotoExpiryDate: formatters.DateFormatter(data.licenceCheckPhotoExpiryDate),\r\n licenceCheckLicenceExpiryDate: formatters.DateFormatter(data.licenceCheckLicenceExpiryDate),\r\n licenceCheckDateOfBirth: formatters.DateFormatter(data.licenceCheckDateOfBirth),\r\n licenceCheckRiskLevel: data.licenceCheckRiskLevel,\r\n licenceCheckPoints: data.licenceCheckPoints,\r\n licenceCheckAutoCreated: data.licenceCheckAutoCreated,\r\n licenceCheckCategoriesAllowed: data.licenceCheckCategoriesAllowed.split(',') || [],\r\n licenceCheckShortTerm: data.licenceCheckShortTerm\r\n }));\r\n pullLicenceConvictionList();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.licenceCheckCategoriesAllowed) {\r\n const a = state.licenceCheckCategoriesAllowed.map((i) => i);\r\n const selectedModule = state.licenceCategoriesList?.filter((w) => a.indexOf(w.id) > -1);\r\n setlicenceCategories((st) => ({ ...st, licenceCheckCategoriesAllowedValue: selectedModule }));\r\n }\r\n }, [state.licenceCategoriesList, state.licenceCheckCategoriesAllowed]);\r\n\r\n // useEffect(() => {\r\n // let newSt = {};\r\n // if (state.licenceCheckCategoriesAllowed) {\r\n // newSt.licenceCheckCategoriesAllowedValue = state.licenceCategoriesList.find(({ id }) => id === state.licenceCheckCategoriesAllowed);\r\n // }\r\n\r\n // setTempOptions((st) => ({ ...st, ...newSt }));\r\n // }, [state.licenceCheckCategoriesAllowed]);\r\n\r\n // const singleSelectChange = (nm) => (ev, val) => {\r\n // setTempOptions((st) => {\r\n // let newSt = { ...st, [nm]: val };\r\n // return newSt;\r\n // });\r\n // };\r\n\r\n const pullLicenceConvictionList = async () => {\r\n let res = await getlicenceConvictionList(state.licenceCheckID);\r\n setState((st) => ({ ...st, convictionList: res.data?.list }));\r\n };\r\n\r\n const multiChange = (e, value) => {\r\n setlicenceCategories((st) => ({ ...st, licenceCheckCategoriesAllowed: value }));\r\n setState((st) => {\r\n const nst = { ...st, licenceCheckCategoriesAllowed: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n const handleConvictionModal = () => {\r\n setState((st) => ({ ...st, show: !st.show, licenceConvictionCheckID: null }));\r\n };\r\n\r\n const handleChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: true }));\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setState((st) => ({ ...st, [name]: value }));\r\n }\r\n }, []);\r\n\r\n const rederEdit = (val) => {\r\n setState((st) => ({\r\n ...st,\r\n licenceConvictionCheckID: val,\r\n show: !st.show\r\n }));\r\n };\r\n\r\n const dataFormatter = (data) => {\r\n return rederEdit(data.row.licenceConvictionID)} />;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n\r\n actionCol.headerRenderer = () => {\r\n return (\r\n \r\n handleConvictionModal(null)} />\r\n \r\n );\r\n };\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n\r\n const btnCondition = state.licenceCheckID ? 'Upadate' : 'Add';\r\n\r\n const validation = () => {\r\n let {\r\n licenceCheckDateChecked,\r\n licenceCheckLicenceNumber,\r\n licenceCheckLicenceExpiryDate,\r\n licenceCheckPhotoExpiryDate,\r\n licenceCheckPoints,\r\n licenceCheckCategoriesAllowed\r\n } = state;\r\n let isValid = true;\r\n let errors = {};\r\n if (!licenceCheckDateChecked) {\r\n errors.licenceCheckDateChecked = 'Date of check is required';\r\n isValid = false;\r\n }\r\n if (!licenceCheckLicenceNumber) {\r\n errors.licenceCheckLicenceNumber = 'Licence number is required';\r\n isValid = false;\r\n }\r\n if (!licenceCheckLicenceExpiryDate) {\r\n errors.licenceCheckLicenceExpiryDate = 'Licence expiry date is required';\r\n isValid = false;\r\n }\r\n if (!licenceCheckPhotoExpiryDate) {\r\n errors.licenceCheckPhotoExpiryDate = 'Photo expiry date is required';\r\n isValid = false;\r\n }\r\n if (!licenceCheckPoints) {\r\n errors.licenceCheckPoints = 'Current effective points is required';\r\n isValid = false;\r\n }\r\n if (!licenceCheckCategoriesAllowed) {\r\n errors.licenceCheckCategoriesAllowed = 'licence Categories is required';\r\n isValid = false;\r\n }\r\n\r\n seterrors((st) => ({ ...st, ...errors }));\r\n\r\n return isValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validation()) {\r\n let data = {\r\n licenceCheckID: state.licenceCheckID,\r\n licenceCheckDriverID: props.driverID,\r\n licenceCheckDateChecked: state.licenceCheckDateChecked,\r\n licenceCheckDateCheckExpires: state.licenceCheckDateCheckExpires || '',\r\n licenceCheckLicenceNumber: state.licenceCheckLicenceNumber,\r\n licenceCheckLicenceIssueNumber: state.licenceCheckLicenceIssueNumber,\r\n licenceCheckAddress: state.licenceCheckAddress,\r\n licenceCheckPhotoExpiryDate: state.licenceCheckPhotoExpiryDate,\r\n licenceCheckLicenceExpiryDate: state.licenceCheckLicenceExpiryDate,\r\n licenceCheckDateOfBirth: state.licenceCheckDateOfBirth || null,\r\n licenceCheckRiskLevel: state.licenceCheckRiskLevel,\r\n licenceCheckPoints: state.licenceCheckPoints,\r\n licenceCheckAutoCreated: state.licenceCheckAutoCreated || true,\r\n licenceCheckCategoriesAllowed: state.licenceCheckCategoriesAllowed.length > 0 ? state.licenceCheckCategoriesAllowed : null,\r\n licenceCheckShortTerm: state.licenceCheckShortTerm\r\n };\r\n\r\n let res = await postLicenceCheck(data);\r\n if (res.success) {\r\n showToastSuccess(`Licence Check ${btnCondition} Successfully`);\r\n props.onClose(true);\r\n } else {\r\n showToastError('Error');\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n Date of check\r\n \r\n \r\n {errors.licenceCheckDateChecked}\r\n \r\n\r\n \r\n \r\n Licence number\r\n \r\n \r\n {errors.licenceCheckLicenceNumber}\r\n \r\n \r\n Issue number\r\n \r\n \r\n \r\n Short term licence\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n \r\n {/* \r\n Date Expiry check\r\n \r\n */}\r\n \r\n Date of birth\r\n \r\n \r\n {/* \r\n \r\n Driver name\r\n \r\n \r\n */}\r\n \r\n Address\r\n \r\n \r\n\r\n \r\n \r\n Licence expiry date\r\n \r\n \r\n {errors.licenceCheckLicenceExpiryDate}\r\n \r\n \r\n \r\n Photocard expiry date\r\n \r\n \r\n {errors.licenceCheckPhotoExpiryDate}\r\n \r\n \r\n \r\n Current effective points{' '}\r\n \r\n \r\n {errors.licenceCheckPoints}\r\n \r\n \r\n Risk level\r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n Licence category\r\n \r\n {/* */}\r\n \r\n {errors.licenceCheckCategoriesAllowed}\r\n \r\n \r\n \r\n Please indicate which categories this driver holds on their driving licence.The categories listed here are the ones currently used by\r\n the DVLA The resources below may assist you\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {btnCondition}\r\n \r\n \r\n props.onClose(false)}>Cancel\r\n \r\n \r\n {/* Add Conviction */}\r\n {state.licenceCheckID && (\r\n <>\r\n handleConvictionModal(null)}\r\n offset={600}\r\n />\r\n\r\n {state.show ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { AddButton, DataGrid, EditButton, formatters, DeleteButton } from '../../../../Core/Controls';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport '../../../commonStyle.scss';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { AddEditLicence } from './AddLicenceChecks';\r\nimport { getLicenceCheckList } from '../../../../Core/Services/InternalUser/licenceCheckService';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 80\r\n },\r\n { key: 'licenceCheckDateChecked', name: 'Date of Check', formatter: formatters.Date_DDMMYY },\r\n { key: 'licenceCheckLicenceExpiryDate', name: 'Date expires', formatter: formatters.Date_DDMMYY },\r\n { key: 'licenceCheckPoints', name: 'Points (at time) ' },\r\n { key: 'licenceCheckPhotoExpiryDate', name: 'Photocard Expiry', formatter: formatters.Date_DDMMYY },\r\n { key: 'licenceCheckLicenceExpiryDate', name: 'License Expiry', formatter: formatters.Date_DDMMYY },\r\n { key: 'licenceCheckRiskLevel', name: 'Risk Level' }\r\n];\r\n\r\nexport const LicenceChecks = (props) => {\r\n const [state, setState] = useState({ show: false, list: [], licenceCheckID: null, isReload: '' });\r\n\r\n const gridBtnTitle = 'Add Licence Checks ';\r\n\r\n const pullListData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const rederEdit = (val) => {\r\n setState((st) => ({\r\n ...st,\r\n licenceCheckID: val,\r\n show: !st.show\r\n }));\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n \r\n \r\n rederEdit(row.licenceCheckID)} />;\r\n \r\n \r\n );\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleAdd = () => {\r\n setState((st) => ({\r\n ...st,\r\n show: !st.show,\r\n licenceCheckID: null\r\n }));\r\n };\r\n\r\n const hadleClose = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: !st.show,\r\n licenceCheckID: null\r\n }));\r\n res && pullListData();\r\n };\r\n\r\n return (\r\n <>\r\n {state?.show ? (\r\n \r\n ) : (\r\n // handleAdd(null)}\r\n // offset={props.fromTab ? 290 : 280}\r\n // />\r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n onBtnClick={() => handleAdd(null)}\r\n btnTitle={gridBtnTitle}\r\n fileUploaderConfigName=\"LicenceChecks\"\r\n offset={props.fromTab ? 290 : 280}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { BreadCrumbs, TabView } from '../../../../Core/Controls';\r\nimport DriverDashBoard from './driverDashboard';\r\nimport NoteDashboard from './../Notes/index';\r\nimport { LicenceChecks } from './../LicenceCheck';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nexport default function EditDriver(props) {\r\n const id = props.match.params.id;\r\n const name = props.match.params.name;\r\n\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Drivers', path: '/controller/driver' },\r\n { name: `${props.location.name}`, path: '/', active: true }\r\n ];\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const tabs = [\r\n {\r\n label: 'Dashboard',\r\n body: \r\n },\r\n ...(checkhaveAccess?.CanViewNotes\r\n ? [\r\n {\r\n label: 'Notes',\r\n body: \r\n }\r\n ]\r\n : []),\r\n ...(checkhaveAccess?.CanDoDriverLicenceChecks\r\n ? [\r\n {\r\n label: 'Licence Checks ',\r\n body: \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","import {\r\n postWithAuth,\r\n getWithAuth,\r\n putWithAuth,\r\n} from \"../../Basic/HttpService\";\r\n\r\nexport const getAllScheduleEvents = async () => {\r\n let res = await getWithAuth(`ScheduleEvents`);\r\n return res;\r\n};\r\nexport const getScheduleEventsById = async (ID) => {\r\n let res = await getWithAuth(`ScheduleEvents/${ID}`);\r\n return res;\r\n};\r\nexport const getAllDropdowns = async () => {\r\n let res = await getWithAuth(`ScheduleEvents/screenDropdowns`);\r\n return res;\r\n};\r\n\r\nexport const postScheduleEvents = async (data) => {\r\n let res = await postWithAuth(`ScheduleEvents`, data);\r\n return res;\r\n};\r\n","import { FormHelperText, Grid, InputLabel, Typography } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Multiselect, SecondaryButton, SelectBox, MandatoryField, SimpleField, YesButton, NoButton } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../../commonStyle.scss';\r\nimport { getAllDropdowns, postScheduleEvents, getScheduleEventsById } from '../../../../Core/Services/InternalUser/scheduleEventsService';\r\n\r\nconst firstEventList = [\r\n { id: 1, name: 'Date From First Registration' },\r\n { id: 2, name: 'Date From Initial Certificate' }\r\n];\r\n\r\nconst nextEventList = [\r\n { id: 1, name: 'Fixed Interval' },\r\n { id: 2, name: 'Date From Last Event' }\r\n];\r\n\r\nconst ScheduleEventDialog = (props) => {\r\n const [selectedData, setSelectedData] = useState({\r\n multi: []\r\n });\r\n const [state, setState] = useState({\r\n scheduleEventName: '',\r\n scheduleEventInterval: '',\r\n scheduleEventTimeToFirst: '',\r\n scheduleEventMilesDue: '',\r\n scheduleEventFirstEvent: '',\r\n scheduleEventNextEvent: '',\r\n scheduleEventDayRange: '',\r\n vmrsCategory: '',\r\n vmrsSubCategory: '',\r\n nominalCode: null,\r\n scheduleEventInternalType: '',\r\n eventDocsIds: null,\r\n dropList: [],\r\n scheduleEventIntervalPeriodCode: '',\r\n scheduleEventDisplayInspectionLink: false,\r\n scheduleEventDisplayResult: false,\r\n allowedDayRangeList: []\r\n });\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const pullDropList = async () => {\r\n let res = await getAllDropdowns();\r\n setState((st) => ({\r\n ...st,\r\n dropList: res.data\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n if (!props.data.isAdd) {\r\n let res = await getScheduleEventsById(props.data.selectedRowData.scheduleEventID);\r\n let temp = res.data;\r\n setState((st) => ({\r\n ...st,\r\n scheduleEventID: temp.scheduleEventID,\r\n scheduleEventName: temp.scheduleEventName,\r\n scheduleEventInterval: temp.scheduleEventInterval,\r\n scheduleEventTimeToFirst: temp.scheduleEventTimeToFirst,\r\n scheduleEventMilesDue: temp.scheduleEventMilesDue,\r\n scheduleEventFirstEvent: temp.scheduleEventFirstEvent,\r\n scheduleEventNextEvent: temp.scheduleEventNextEvent,\r\n scheduleEventDayRange: temp.scheduleEventDayRange,\r\n vmrsCategory: temp.vmrsCategory,\r\n vmrsSubCategory: temp.vmrsSubCategory,\r\n nominalCode: temp.nominalCode,\r\n scheduleEventInternalType: temp.scheduleEventInternalType,\r\n eventDocsIds: temp.eventDocsIds || [],\r\n scheduleEventIntervalPeriodCode: temp.scheduleEventIntervalPeriodCode,\r\n scheduleEventDisplayInspectionLink: temp.scheduleEventDisplayInspectionLink,\r\n scheduleEventDisplayResult: temp.scheduleEventDisplayResult,\r\n scheduleEventReminderInterval: temp.scheduleEventReminderInterval,\r\n scheduleEventReminderMilesDue: temp.scheduleEventReminderMilesDue,\r\n scheduleEventReminderPeriodCode: temp.scheduleEventReminderPeriodCode,\r\n scheduleEventCreateNewEvent: temp.scheduleEventCreateNewEvent\r\n }));\r\n }\r\n pullDropList();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.eventDocsIds) {\r\n const a = state.eventDocsIds.map((i) => Number(i));\r\n const selectedModule = state.dropList.eventDocs?.filter((w) => a.indexOf(w.id) > -1);\r\n setSelectedData((st) => ({ ...st, multi: selectedModule }));\r\n }\r\n }, [state.dropList.eventDocs, state.eventDocsIds]);\r\n\r\n useEffect(() => {\r\n if (state.vmrsCategory) {\r\n const subModule = state.dropList.vmrsSubCategory?.filter((x) => x.vmrsCategory == state.vmrsCategory);\r\n setState((st) => ({\r\n ...st,\r\n vmrsSubCategoryList: subModule\r\n }));\r\n }\r\n }, [state.dropList.vmrsSubCategory, state.vmrsCategory]);\r\n\r\n useEffect(() => {\r\n const subModule = state.dropList.allowedDayRange?.map((x) => {\r\n return { id: x.allowedDayRangeID, name: x.allowedDayRangeDescription };\r\n });\r\n setState((st) => ({\r\n ...st,\r\n allowedDayRangeList: subModule || []\r\n }));\r\n }, [state.dropList.allowedDayRange]);\r\n\r\n const multiChange = (e, value) => {\r\n setSelectedData((st) => ({ ...st, multi: value }));\r\n setState((st) => {\r\n const nst = { ...st, eventDocsIds: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n if (!/[^\\s]/.test(state.scheduleEventName)) {\r\n err.scheduleEventName = true;\r\n noErrors = false;\r\n }\r\n\r\n if (+state.scheduleEventTimeToFirst < 0) {\r\n err.scheduleEventTimeToFirstN = true;\r\n noErrors = false;\r\n } else if (!/[^\\s]/.test(state.scheduleEventTimeToFirst)) {\r\n err.scheduleEventTimeToFirst = true;\r\n noErrors = false;\r\n }\r\n\r\n if (!/[^\\s]/.test(state.scheduleEventDayRange)) {\r\n err.scheduleEventDayRange = true;\r\n noErrors = false;\r\n }\r\n\r\n if (!(/[^\\s]/.test(state.scheduleEventInterval) || /[^\\s]/.test(state.scheduleEventMilesDue))) {\r\n err.bothNeeded = true;\r\n noErrors = false;\r\n } else {\r\n if (+state.scheduleEventInterval < 0) {\r\n err.scheduleEventIntervalN = true;\r\n noErrors = false;\r\n }\r\n if (+state.scheduleEventMilesDue < 0) {\r\n err.scheduleEventMilesDueN = true;\r\n noErrors = false;\r\n }\r\n }\r\n if (!/[^\\s]/.test(state.scheduleEventFirstEvent)) {\r\n err.scheduleEventFirstEvent = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.scheduleEventNextEvent)) {\r\n err.scheduleEventNextEvent = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.vmrsCategory)) {\r\n err.vmrsCategory = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.vmrsSubCategory)) {\r\n err.vmrsSubCategory = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.scheduleEventInternalType)) {\r\n err.scheduleEventInternalType = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.scheduleEventIntervalPeriodCode)) {\r\n err.scheduleEventIntervalPeriodCode = true;\r\n noErrors = false;\r\n }\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n\r\n const handleData = async () => {\r\n validate();\r\n if (validate()) {\r\n setBtnLoader(true);\r\n let response = await postScheduleEvents({\r\n scheduleEventID: state.scheduleEventID || null,\r\n scheduleEventTimeToFirst: +state.scheduleEventTimeToFirst,\r\n scheduleEventInterval: +state.scheduleEventInterval,\r\n scheduleEventMilesDue: +state.scheduleEventMilesDue,\r\n scheduleEventInternalType: state.scheduleEventInternalType,\r\n scheduleEventFirstEvent: state.scheduleEventFirstEvent || null,\r\n scheduleEventName: state.scheduleEventName,\r\n scheduleEventNextEvent: state.scheduleEventNextEvent || null,\r\n vmrsCategory: state.vmrsCategory || null,\r\n vmrsSubCategory: state.vmrsSubCategory || null,\r\n // nominalCode: state.nominalCode || '',\r\n scheduleEventDayRange: +state.scheduleEventDayRange,\r\n eventDocsIds: state.eventDocsIds?.length > 0 ? state.eventDocsIds : null,\r\n scheduleEventIntervalPeriodCode: state.scheduleEventIntervalPeriodCode,\r\n scheduleEventDisplayInspectionLink: state.scheduleEventDisplayInspectionLink,\r\n scheduleEventDisplayResult: state.scheduleEventDisplayResult,\r\n\r\n scheduleEventReminderInterval: state.scheduleEventReminderInterval,\r\n scheduleEventReminderMilesDue: state.scheduleEventReminderMilesDue,\r\n scheduleEventReminderPeriodCode: state.scheduleEventReminderPeriodCode,\r\n scheduleEventCreateNewEvent: state.scheduleEventCreateNewEvent\r\n });\r\n if (response) {\r\n response.success\r\n ? showToastSuccess(props.data.isAdd ? 'Schedule Events added successfully' : 'Schedule Events updated successfully')\r\n : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n setBtnLoader(false);\r\n props.onClose();\r\n }\r\n };\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n setErrors({});\r\n };\r\n\r\n const yesNoClicked = (val) => (ev) => {\r\n let temp = ev.target;\r\n if (val === 1) {\r\n if (temp.innerHTML.toUpperCase() == 'YES') {\r\n setState((st) => ({\r\n ...st,\r\n scheduleEventDisplayInspectionLink: true\r\n }));\r\n } else if (temp.innerHTML.toUpperCase() == 'NO') {\r\n setState((st) => ({\r\n ...st,\r\n scheduleEventDisplayInspectionLink: false\r\n }));\r\n }\r\n }\r\n if (val === 2) {\r\n if (temp.innerHTML.toUpperCase() == 'YES') {\r\n setState((st) => ({\r\n ...st,\r\n scheduleEventDisplayResult: true\r\n }));\r\n } else if (temp.innerHTML.toUpperCase() == 'NO') {\r\n setState((st) => ({\r\n ...st,\r\n scheduleEventDisplayResult: false\r\n }));\r\n }\r\n }\r\n if (val === 3) {\r\n if (temp.innerHTML.toUpperCase() == 'YES') {\r\n setState((st) => ({\r\n ...st,\r\n scheduleEventCreateNewEvent: true\r\n }));\r\n } else if (temp.innerHTML.toUpperCase() == 'NO') {\r\n setState((st) => ({\r\n ...st,\r\n scheduleEventCreateNewEvent: false\r\n }));\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Event Type\r\n \r\n \r\n {errors.scheduleEventInternalType ? 'This field is required' : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n First Event\r\n \r\n \r\n {errors.scheduleEventFirstEvent ? 'This field is required' : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Interval Period\r\n \r\n \r\n {errors.scheduleEventIntervalPeriodCode ? 'This field is required' : null}\r\n \r\n \r\n \r\n Next Event\r\n \r\n \r\n {errors.scheduleEventNextEvent ? 'This field is required' : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Allowed Day Range\r\n \r\n \r\n {errors.scheduleEventDayRange ? 'This field is required' : null}\r\n \r\n \r\n \r\n VMRS Category\r\n \r\n \r\n {errors.vmrsCategory ? 'This field is required' : null}\r\n \r\n \r\n \r\n VMRS Sub Category\r\n \r\n \r\n {errors.vmrsSubCategory ? 'This field is required' : null}\r\n \r\n \r\n Display Inspection Link?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.scheduleEventNextEvent ? 'This field is required' : null}\r\n \r\n \r\n Display Result on Completion?\r\n \r\n \r\n setState((st) => ({ ...st, scheduleEventDisplayResult: true }))}\r\n />\r\n \r\n \r\n setState((st) => ({ ...st, scheduleEventDisplayResult: false }))}\r\n />\r\n \r\n \r\n \r\n \r\n Create New Event on Completion?\r\n \r\n \r\n setState((st) => ({ ...st, scheduleEventCreateNewEvent: true }))}\r\n />\r\n \r\n \r\n setState((st) => ({ ...st, scheduleEventCreateNewEvent: 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 Reminder\r\n \r\n \r\n \r\n \r\n \r\n \r\n Period\r\n \r\n {errors.scheduleEventReminderPeriodCode ? 'This field is required' : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Documents Required\r\n \r\n \r\n \r\n \r\n {props.data.isAdd ? 'ADD' : 'UPDATE'}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default ScheduleEventDialog;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { AddButton, EditButton, BreadCrumbs } from '../../../../Core/Controls';\r\nimport DialogBox from './scheduleEventsDialog';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nimport { getAllScheduleEvents, getAllDropdowns } from '../../../../Core/Services/InternalUser/scheduleEventsService';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Schedule Events', active: true }\r\n];\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'scheduleEventName', name: 'Name' },\r\n { key: 'scheduleEventInternalTypeTitle', name: 'Event Type' },\r\n { key: 'scheduleVMRSCategory', name: 'VMRS Category' },\r\n { key: 'scheduleVMRSSubCategory', name: 'VMRS Sub Category' }\r\n];\r\n\r\nconst ScheduleEvent = () => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n isAdd: true\r\n });\r\n\r\n const pullApiData = async () => {\r\n // let res = await getAllScheduleEvents();\r\n let dropDownResponse = await getAllDropdowns();\r\n setState((st) => ({\r\n ...st,\r\n // rows: [...res.data],\r\n dropDown: dropDownResponse.data,\r\n isReload: new Date()\r\n // showLoader: false\r\n }));\r\n };\r\n const renderEdit = (ev, row) => {\r\n return (\r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n selectedRowData: row,\r\n isAdd: false\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n isAdd: true,\r\n selectedRowData: {}\r\n }));\r\n };\r\n const handleClose = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false\r\n }));\r\n res && pullApiData();\r\n };\r\n\r\n const urlState = 'ScheduleEvents';\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Schedule Events\"\r\n onBtnClick={addBtnClicked}\r\n />\r\n {state.open ? (\r\n {\r\n handleClose(false);\r\n }}\r\n title={state.isAdd ? 'Add Schedule Event' : 'Edit Schedule Event'}\r\n maxWidth=\"lg\"\r\n overflow=\"auto\"\r\n >\r\n {\r\n handleClose(true);\r\n }}\r\n />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default ScheduleEvent;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryButton, PrimaryButton, MandatoryField } from '../../../../Core/Controls';\r\nimport { getVehicleCategoriesById, postVehicleCategoriesData } from '../../../../Core/Services/InternalUser/vehicleCategoryService';\r\nimport { SecondaryCheckbox } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport ImageUploading from 'react-images-uploading';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport '../../.././commonStyle.scss';\r\nimport { Button, Tooltip } from '@material-ui/core';\r\nimport BackupIcon from '@material-ui/icons/Backup';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\n\r\nconst styles = {\r\n uplodbtn: {\r\n color: 'blue',\r\n cursor: 'pointer'\r\n },\r\n removebtn: {\r\n color: 'red',\r\n cursor: 'pointer'\r\n }\r\n};\r\n\r\nfunction VehicleCategoryModal(props) {\r\n const [state, setState] = useState({\r\n vehicleCategoryID: null,\r\n vehicleCategoryDescription: '',\r\n vehicleCategoryActive: true,\r\n errors: {},\r\n showBox: false,\r\n FilterimageList: []\r\n });\r\n const handleImagesBox = () => {\r\n setState((st) => ({\r\n ...st,\r\n showBox: !st.showBox\r\n }));\r\n };\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const [images, setImages] = useState([]);\r\n const maxNumber = 69;\r\n\r\n const onChange = (imageList, addUpdateIndex) => {\r\n // data for submit\r\n setImages(imageList);\r\n let FilterimagesList = imageList.map((m) => (m.data_url ? m.data_url : m));\r\n setState((m) => ({\r\n ...m,\r\n FilterimageList: FilterimagesList\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n if (props.vehicleCategoryID) {\r\n let res = await getVehicleCategoriesById(props.vehicleCategoryID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n vehicleCategoryID: res.data.vehicleCategoryID,\r\n vehicleCategoryDescription: res.data.vehicleCategoryDescription,\r\n vehicleCategoryActive: res.data.vehicleCategoryActive\r\n }));\r\n\r\n setImages(res.data.vehicleCategoryImages);\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { vehicleCategoryDescription } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(vehicleCategoryDescription)) {\r\n errors.vehicleCategoryDescription = 'Vehicle Category Description is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const ServiceAgentData = {\r\n vehicleCategoryID: state.vehicleCategoryID,\r\n vehicleCategoryDescription: state.vehicleCategoryDescription,\r\n vehicleCategoryActive: state.vehicleCategoryActive,\r\n vehicleCategoryImages: state.FilterimageList\r\n };\r\n\r\n let res = await postVehicleCategoriesData(ServiceAgentData);\r\n if (res.success) {\r\n showToastSuccess('Vehicle Category Saved Successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 {state.showBox ? (\r\n \r\n
\r\n \r\n {({ imageList, onImageUpload, onImageRemoveAll, onImageUpdate, onImageRemove }) => (\r\n // write your building UI\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {imageList.map((image, index) => (\r\n \r\n \"No\r\n
\r\n {/* \r\n onImageUpdate(index)}\r\n style={styles.uplodbtn}\r\n />\r\n */}\r\n onImageRemove(index)}>\r\n Remove\r\n \r\n\r\n {/* \r\n onImageRemove(index)}\r\n style={styles.removebtn}\r\n />\r\n */}\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n ) : null}\r\n
\r\n\r\n \r\n {props.vehicleCategoryID ? 'Update' : 'Add'}\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default VehicleCategoryModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllVehicleCategories } from '../../../../Core/Services/InternalUser/vehicleCategoryService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport VehicleCategoryModal from './VehicleCategoryModal';\r\nimport { BreadCrumbs, EditButton, formatters } from '../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport '../../.././commonStyle.scss';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Vehicle Categories', active: true }\r\n];\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'vehicleCategoryDescription', name: 'Description' },\r\n { key: 'vehicleCategoryActive', name: 'Is Active ?', formatter: formatters.YesNo, width: '15%' }\r\n];\r\n\r\nfunction VehicleCategory(props) {\r\n const [state, setState] = useState({\r\n vehicleCategoryList: [],\r\n loader: true,\r\n open: false\r\n });\r\n\r\n useEffect(async () => {\r\n pullVehicleCategory();\r\n }, []);\r\n\r\n const pullVehicleCategory = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const vehicleCategoryHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, vehicleCategoryID: params?.vehicleCategoryID }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n vehicleCategoryHandler(row)} toolTipTitle=\"Edit vehicle Category\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.vehicleCategoryID ? 'Update Vehicle Category' : 'Add Vehicle Category';\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullVehicleCategory();\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={'VehicleCategories'}\r\n btnTitle=\"Add Vehicle Category\"\r\n onBtnClick={() => vehicleCategoryHandler(null)}\r\n isReload={state.isReload}\r\n />\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"md\">\r\n closeModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\n\r\nexport default VehicleCategory;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllVehicleJob, getAllJob } from '../../../../../Core/Services/InternalUser/JOB/jobService';\r\nimport DataGrid from '../../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../../../Core/Controls';\r\n// import JobScreenModal from './JobScreenModal';\r\nimport { Link } from 'react-router-dom';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'jobDate', name: 'Date', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'jobAgentOrderNo', name: 'Job Ref' },\r\n { key: 'serviceAgentName', name: 'Service Agent' },\r\n { key: 'customerCompanyName', name: 'Customer' },\r\n { key: 'depotName', name: 'Depots' },\r\n { key: 'jobPartsTotal', name: 'Parts', formatter: formatters.NumberWithPound, align: 'right' },\r\n { key: 'jobLabourTotal', name: 'Labour', formatter: formatters.NumberWithPound, align: 'right' },\r\n { key: 'jobOrderTotal', name: 'Total', formatter: formatters.NumberWithPound, align: 'right' }\r\n];\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Unassigned Jobs', active: true }\r\n];\r\n\r\nfunction UnassignedJob(props) {\r\n const history = useHistory();\r\n const [state, setState] = useState({\r\n jobList: [],\r\n loader: true,\r\n open: false\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n useEffect(async () => {\r\n pullJobList();\r\n }, []);\r\n const pullJobList = async () => {\r\n // let res = await getAllJob();\r\n // let data = res.data.vehicleJobDetails.filter((unassign) => unassign.jobStatusID == 'AU');\r\n setState((st) => ({\r\n ...st,\r\n // jobList: data,\r\n loader: false\r\n }));\r\n };\r\n const jobHandler = (params) => {\r\n setState((state) => ({ ...state, open: true }));\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.jobID}/${props.VehicleID ? props.VehicleID : val?.vehicleID}`,\r\n search: '',\r\n state: 'jobs'\r\n });\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n {checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)} />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullJobList();\r\n };\r\n const gridBtnTitle = !props.VehicleID ? '' : 'Add Job';\r\n const getUrl = 'VehicleJob?jobStatusID=AU';\r\n return (\r\n
\r\n <>\r\n \r\n {/* */}\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n getUrl={getUrl}\r\n />\r\n \r\n
\r\n );\r\n}\r\nexport default UnassignedJob;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllFuelTypes = async () => {\r\n let res = await getWithAuth(`FuelTypes`);\r\n return res;\r\n};\r\n\r\nexport const getFuelTypesById = async (id) => {\r\n let res = await getWithAuth(`FuelTypes/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postFuelTypesData = async (data) => {\r\n let res = await postWithAuth(`FuelTypes`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryButton, MandatoryField } from '../../../../Core/Controls';\r\nimport { getFuelTypesById, postFuelTypesData } from '../../../../Core/Services/InternalUser/fuelTypeService';\r\nimport { SecondaryCheckbox } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../.././commonStyle.scss';\r\nimport { YesButton, NoButton } from '../../../../Core/Controls';\r\n\r\nfunction FuelTypesModal(props) {\r\n const [state, setState] = useState({\r\n fuelTypeID: null,\r\n fuelTypeDescription: '',\r\n fuelTypeDisplayBatteryLevel: false,\r\n fuelTypeActive: true,\r\n errors: {}\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n useEffect(async () => {\r\n if (props.fuelTypeID) {\r\n let res = await getFuelTypesById(props.fuelTypeID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n fuelTypeID: res.data.fuelTypeID,\r\n fuelTypeDescription: res.data.fuelTypeDescription,\r\n fuelTypeDisplayBatteryLevel: res.data.fuelTypeDisplayBatteryLevel,\r\n fuelTypeActive: res.data.fuelTypeActive\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleClick = (name, value) => {\r\n setState((st) => {\r\n const nst = { ...st, [name]: value };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { fuelTypeDescription } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(fuelTypeDescription)) {\r\n errors.fuelTypeDescription = 'Fuel Type Description is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n setBtnLoader(true);\r\n const AllData = {\r\n fuelTypeID: state.fuelTypeID,\r\n fuelTypeDescription: state.fuelTypeDescription,\r\n fuelTypeDisplayBatteryLevel: state.fuelTypeDisplayBatteryLevel,\r\n fuelTypeActive: state.fuelTypeActive\r\n };\r\n let res = await postFuelTypesData(AllData);\r\n if (res.success) {\r\n showToastSuccess('Fuel Types Saved Successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Display Battery Level?\r\n \r\n \r\n handleClick('fuelTypeDisplayBatteryLevel', true)} />\r\n \r\n \r\n handleClick('fuelTypeDisplayBatteryLevel', false)} />\r\n \r\n \r\n \r\n \r\n\r\n \r\n {props.fuelTypeID ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FuelTypesModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllFuelTypes } from '../../../../Core/Services/InternalUser/fuelTypeService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport FuelTypesModal from './FuelTypesModal';\r\nimport { BreadCrumbs, EditButton, formatters } from '../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport '../../.././commonStyle.scss';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Fuel Types', active: true }\r\n];\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'fuelTypeDescription', name: 'Description' },\r\n { key: 'fuelTypeDisplayBatteryLevel', name: 'Display Battery Level ?', width: '15%' },\r\n { key: 'fuelTypeActive', name: 'Is Active ?', width: '15%' }\r\n];\r\n\r\nfunction FuelTypes(props) {\r\n const [state, setState] = useState({\r\n fuelList: [],\r\n loader: true,\r\n open: false\r\n });\r\n\r\n useEffect(async () => {\r\n pullAllData();\r\n }, []);\r\n\r\n const pullAllData = async () => {\r\n setState((state) => ({\r\n ...state,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const submitHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, fuelTypeID: params?.fuelTypeID }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n submitHandler(row)} toolTipTitle=\"Edit Fuel Types\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.fuelTypeID ? 'Update Fuel Types' : 'Add Fuel Types';\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullAllData();\r\n };\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Fuel Type\"\r\n onBtnClick={() => submitHandler(null)}\r\n />\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"md\">\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\n\r\nexport default FuelTypes;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport '../../../commonStyle.scss';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport EditNotes from '../Notes/addEditNotes';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { getAllJobReminders } from '../../../../Core/Services/InternalUser/ControllerService/jobReminderService';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport ServiceAgentDetails from '../DetailsModal/serviceAgent.jsx';\r\nimport CustomerDetails from '../DetailsModal/customerDetails.jsx';\r\nimport DepotDetails from '../DetailsModal/depotDetails.jsx';\r\nimport ReactDOM from 'react-dom';\r\nimport AddEditJobsNotes from '../../Controllers/Notes/addEditNotes';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Job Notes', active: true }\r\n];\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 80 },\r\n { key: 'actionDate', name: 'Date', formatter: formatters.Date_DDMMMYYYY_HHMM, width: 163 },\r\n // { key: 'notes', name: 'Note' },\r\n // { key: 'title', name: 'Title' },\r\n { key: 'rem', name: 'Reminder Information', width: 400 },\r\n { key: 'orderNo', name: 'Job Ref', width: 100 },\r\n { key: 'regNumber', name: 'Reg Number', width: 120 },\r\n { key: 'jobDescription', name: 'Job Description', width: 150 },\r\n { key: 'depotName', name: 'Depot' },\r\n { key: 'customer', name: 'Customer' },\r\n { key: 'agentName', name: 'Service Agent' },\r\n { key: 'userName', name: 'User' }\r\n];\r\n\r\nconst JobReminder = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n isReload: null\r\n });\r\n useEffect(async () => {\r\n pullApiData();\r\n }, []);\r\n\r\n const pullApiData = async () => {\r\n // let res = await getAllJobReminders();\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date(),\r\n showLoader: false\r\n }));\r\n };\r\n\r\n const concatNoteTitle = (param) => {\r\n return `${param.row.title} [${param.row.notes}]`;\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/jobTabScreen/${val.jobID}/${val.vehicleID}`,\r\n search: '',\r\n state: 'jobrem'\r\n });\r\n };\r\n\r\n const renderEdit = (ev, row) => {\r\n return (\r\n \r\n {checkhaveAccess?.CanViewNotes && (\r\n {\r\n setState((st) => ({ ...st, selectedRowData: row, open: true }));\r\n }}\r\n />\r\n )}\r\n {/* */}\r\n {checkhaveAccess?.CanViewJobs && handleEditClick(row)} />}\r\n {/* */}\r\n \r\n );\r\n };\r\n\r\n const dialogTitle = () => {\r\n return (\r\n
\r\n Edit Note{' '}\r\n \r\n {state.selectedRowData.orderNo} {state.selectedRowData.regNumber}\r\n \r\n
\r\n );\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/editVehicle/${val.vehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n const handelRowCick = (row, name) => {\r\n // let res = await getAllJobReminders();\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'bold', fontWeight: 'bold' }}>\r\n {row.agentName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderDepotName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showDepotModal')} style={{ cursor: 'pointer', color: 'bold', fontWeight: 'bold' }}>\r\n {row.depotName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'bold', fontWeight: 'bold' }}>\r\n {row.customer}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.regNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n let noteTitle = tempCols.find((e) => e.key === 'rem');\r\n let agentNameCol = tempCols.find((element) => element.key === 'agentName');\r\n let customerNameCol = tempCols.find((element) => element.key === 'customer');\r\n let depotNameCol = tempCols.find((element) => element.key === 'depotName');\r\n let regNumberCol = tempCols.find((element) => element.key === 'regNumber');\r\n if (regNumberCol) {\r\n regNumberCol.formatter = renderRegNumberEdit;\r\n }\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n if (noteTitle) {\r\n noteTitle.formatter = concatNoteTitle;\r\n }\r\n if (depotNameCol) {\r\n depotNameCol.formatter = renderDepotName;\r\n }\r\n if (customerNameCol) {\r\n customerNameCol.formatter = renderCustomerName;\r\n }\r\n if (agentNameCol) {\r\n agentNameCol.formatter = renderAgentName;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showSaModal: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n };\r\n\r\n const handleNotesClose = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false\r\n }));\r\n res && pullApiData();\r\n };\r\n\r\n let getUrl = `VehicleJob/JobReminders`;\r\n\r\n return (\r\n
\r\n \r\n {/* */}\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n getUrl={getUrl}\r\n />\r\n\r\n {state.open ? (\r\n \r\n handleNotesClose(false)}\r\n NoteID={state.selectedRowData.jobNotesID}\r\n JobID={state.selectedRowData.jobID}\r\n frompage=\"Jobs\"\r\n onFormSubmit={handleNotesClose}\r\n titleModal={dialogTitle()}\r\n />\r\n \r\n ) : null}\r\n {state.showSaModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default JobReminder;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { EditButton, formatters, BreadCrumbs, DataGrid } from '../../../Core/Controls';\r\nimport ScheduleNotes from '../Controllers/Vehicles/ScheduleVehicle/scheduleVehicleNotes';\r\nimport ScheduleBookingStatus from '../Controllers/Vehicles/ScheduleVehicle/scheduleBookingStatus'; //'./scheduleBookingStatus';\r\nimport ScheduleBookingSection from '../Controllers/Vehicles/ScheduleVehicle/scheduleBookingSection';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport EventIcon from '@material-ui/icons/Event';\r\nimport ConfirmationNumberIcon from '@material-ui/icons/ConfirmationNumber';\r\nimport CompleteScheduleModal from './completeSchedule';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport '../../commonStyle.scss';\r\nimport '../Controllers/Vehicles/ScheduleVehicle/scheduleVehicleStyle.scss';\r\nimport { getScheduleByStatus } from '../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { Link } from 'react-router-dom';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport VehicleDailyChecks from '../Controllers/Vehicles/VehicleDailyChecks/vehicleDailyChecks';\r\nimport EditVehicleDailyChecks from '../Controllers/Vehicles/VehicleDailyChecks/editVehicleDailyCheck';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ReactDOM from 'react-dom';\r\nimport CustomerDetails from '../Controllers/DetailsModal/customerDetails';\r\nimport ServiceAgentDetails from '../Controllers/DetailsModal/serviceAgent';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\nimport { GetSchedulesExcelFile } from '../../../Core/Services/InternalUser/excelDownload';\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 190, addFileUploaderIcon: true },\r\n { key: 'vehicleRegNumber', name: 'Reg Number', width: 110 },\r\n {\r\n key: 'scheduleDateDue',\r\n name: 'Due',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 100\r\n },\r\n // {\r\n // key: 'scheduleRequestedBookingDate',\r\n // name: 'Booked Date',\r\n // formatter: formatters.Date_DDMMYYYY,\r\n // width: 120\r\n // },\r\n\r\n { key: 'dueDateISOWeek', name: 'ISO Week', width: 90 },\r\n { key: 'scheduleEventName', name: 'Event' },\r\n {\r\n key: 'agentName',\r\n name: 'Agent'\r\n },\r\n { key: 'customerCompanyName', name: 'Customer', width: 200 }\r\n];\r\nconst InternalUserSchedule = (props) => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n isAdd: true,\r\n showChecks: false,\r\n showEditChecks: false,\r\n showBred: true,\r\n isReload: null\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const history = useHistory();\r\n const [openDialog, setOpenDialog] = useState({});\r\n const getCrumbs = () => {\r\n let temp = {};\r\n let crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Schedules', active: true }\r\n ];\r\n if (props.status == '1') {\r\n temp = { name: 'Bookings Requsted', active: true };\r\n } else if (props.status == '2') {\r\n temp = { name: 'Accepted by Agents', active: true };\r\n } else if (props.status == '3') {\r\n temp = { name: 'Bookings Rejected', active: true };\r\n } else if (props.status == '5') {\r\n temp = { name: 'Confirmed Bookings', active: true };\r\n }\r\n crumbs.push(temp);\r\n return crumbs;\r\n };\r\n let screenName = getCrumbs();\r\n\r\n useEffect(async () => {\r\n pullApiData();\r\n }, []);\r\n\r\n const handleCheck = (row, val) => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (val === 'Ad') {\r\n newSt.showChecks = true;\r\n newSt.selectedRowData = row;\r\n newSt.showBred = false;\r\n }\r\n if (val === 'Ed') {\r\n newSt.showEditChecks = true;\r\n newSt.selectedRowData = row;\r\n newSt.showBred = false;\r\n }\r\n return newSt;\r\n });\r\n };\r\n\r\n const pullApiData = async () => {\r\n // let res = await getScheduleByStatus(props.status);\r\n // setState((st) => ({\r\n // ...st,\r\n // rows: [...(res.data.schedules || [])],\r\n // showLoader: false\r\n // }));\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.scheduleJobID}/${val?.scheduleVehicleID}`,\r\n search: '',\r\n state: 'jobs'\r\n });\r\n };\r\n\r\n const renderEdit = (ev, row) => {\r\n return (\r\n
\r\n {row?.displayNotes === 'Y' && (\r\n {\r\n checkButton(row, 'notes');\r\n }}\r\n toolTipTitle=\"Notes\"\r\n />\r\n )}\r\n\r\n {row?.displayBookingRequest === 'Y' && (\r\n {\r\n checkButton(row, 'status');\r\n }}\r\n toolTipTitle=\"Update Booking Request\"\r\n />\r\n )}\r\n\r\n {row?.displayBookJob === 'Y' && (\r\n {\r\n checkButton(row, 'section');\r\n }}\r\n toolTipTitle=\"Book Job\"\r\n />\r\n )}\r\n\r\n {row?.displayJobDetails === 'Y' && checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)}\r\n />\r\n )}\r\n\r\n {row?.displayCompleteSchedule === 'Y' && (\r\n {\r\n checkButton(row, 'complete');\r\n }}\r\n toolTipTitle=\"Complete Schedule\"\r\n />\r\n )}\r\n\r\n {row?.displayAddInspectionCheck === 'Y' && (\r\n {\r\n handleCheck(row, 'Ad');\r\n }}\r\n toolTipTitle=\"Add Inspection Check\"\r\n />\r\n )}\r\n\r\n {row?.displayEditInspectionCheck === 'Y' && (\r\n {\r\n handleCheck(row, 'Ed');\r\n }}\r\n toolTipTitle=\"Edit Inspection Check\"\r\n />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.scheduleVehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.vehicleRegNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.agentName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customerCompanyName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleModalClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showSaModal: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n let regNumberCol = tempCols.find((element) => element.key === 'vehicleRegNumber');\r\n let agentCol = tempCols.find((element) => element.key === 'agentName');\r\n let custCol = tempCols.find((element) => element.key === 'customerCompanyName');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n if (regNumberCol) {\r\n regNumberCol.formatter = renderRegNumberEdit;\r\n }\r\n if (agentCol) {\r\n agentCol.formatter = renderAgentName;\r\n }\r\n if (custCol) {\r\n custCol.formatter = renderCustomerName;\r\n }\r\n if (props.status == '1' || props.status == '2' || props.status == '3') {\r\n tempCols.splice(3, 0, {\r\n key: 'scheduleRequestedBookingDate',\r\n name: 'Date Requested',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 120\r\n });\r\n } else {\r\n tempCols.splice(3, 0, {\r\n key: 'bookingDate',\r\n name: 'Booked Date',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 110\r\n });\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleClose = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showChecks: false,\r\n showEditChecks: false,\r\n selectedRowData: {},\r\n showBred: true\r\n }));\r\n res && pullApiData();\r\n };\r\n const closeTheDialog = (res) => {\r\n setOpenDialog({});\r\n res && pullApiData();\r\n };\r\n\r\n const checkButton = (row, label) => {\r\n setOpenDialog({ [label]: true });\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row\r\n }));\r\n };\r\n\r\n let getUrl = `Schedules?vehicleId=&status=${props.status}`;\r\n\r\n return (\r\n
\r\n {state.showBred ? : null}\r\n {state.showChecks ? (\r\n handleClose(true)}\r\n frompage={true}\r\n />\r\n ) : state.showEditChecks ? (\r\n handleClose(true)} frompage={true} />\r\n ) : (\r\n // \r\n ({\r\n records: res.data.schedules,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n getUrl={getUrl}\r\n downloadBtnName=\"Download xlsx\"\r\n downloadCustomUrl={() =>\r\n GetSchedulesExcelFile({\r\n status: props.status || '',\r\n mode: state?.filterID || '',\r\n startDate: state?.fromDate || '',\r\n endDate: state?.toDate || '',\r\n fileExt: 'xlsx'\r\n })\r\n }\r\n />\r\n )}\r\n {openDialog.complete ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.notes ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.status ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n {openDialog.section ? (\r\n closeTheDialog(false)}>\r\n \r\n \r\n ) : null}\r\n\r\n {state.showSaModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default InternalUserSchedule;\r\n","import { createContext, useEffect, useState, useCallback } from 'react';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { addDepot, updateDepot, getDepotById, getDropdown } from '../../../../../Core/Services/InternalUser/ControllerService/depotsService';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { SelectBox, SecondaryButton, SecondaryCheckbox, BreadCrumbs, MandatoryField, SimpleField, YesButton, NoButton } from '../../../../../Core/Controls';\r\nimport { emailValidation, validatePostCode, validatePostCodeWothCountryCode } from '../../../../../Core/Basic/StaticService';\r\nimport { isNull } from 'lodash';\r\nimport Paper from '@material-ui/core/Paper';\r\n\r\nexport const DepotScreenContext = createContext();\r\n\r\nlet invoiceInfo = {\r\n depotUseAddressAsInvoiceAddress: false,\r\n depotInvoiceAddress1: '',\r\n depotInvoiceAddress2: '',\r\n depotInvoiceAddressCity: '',\r\n depotInvoiceAddressCounty: '',\r\n depotInvoiceAddressPostCode: '',\r\n depotInvoiceAddressCountryCode: 'GB',\r\n depotInvoiceEmailAddress: '',\r\n depotEmailInvoices: false\r\n};\r\n\r\nexport const DepotProvider = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n const [depotFields, setDepotFields] = useState({\r\n name: '',\r\n address1: '',\r\n address2: '',\r\n depotTown: '',\r\n depotCounty: '',\r\n depotCountryCode: '',\r\n depotEmail: '',\r\n depotTelephone: '',\r\n depotPostCode: '',\r\n depotNotInUse: true,\r\n depotCustomersRef: '',\r\n serviceAgentID: '',\r\n firstDayofWeek: '',\r\n scheduleBookingModeList: [],\r\n depotVORMobileNumbers: '',\r\n depotContact: '',\r\n depotServiceAgentID: '',\r\n depotAgentSecondaryAgentID: '',\r\n serviceAgentsList: [],\r\n errors: {},\r\n customerList: [],\r\n depotID: null,\r\n depotCustomerID: '',\r\n mergeSchedules: true,\r\n displayISOWeek: true,\r\n addPaperworkReceived: true,\r\n trafficStyleColourCoding: true,\r\n mergeRange: '',\r\n sunday: false,\r\n monday: true,\r\n tuesday: false,\r\n wednesday: false,\r\n thursday: false,\r\n friday: false,\r\n saturday: false,\r\n depotAdditionalPlanningEmails: '',\r\n cPCHolderEmail: '',\r\n cPCHolderName: '',\r\n secondaryEmail: '',\r\n depotSecondaryContact: '',\r\n depotPCNEmail: '',\r\n depotAccountName: '',\r\n depotAccountEmail: '',\r\n depotThirdPartyPlannerEmailAddress: '',\r\n depotBreakdownNotificationEmail: '',\r\n depotTimedVehicleStatusUpdateEmail: '',\r\n depotSchedulePlannerEmail: '',\r\n depotDefectNotificationEmail: '',\r\n depotNotes: '',\r\n depotScheduleBookingMode: '',\r\n depotIsSendJobApprovalRequired: false,\r\n depotIsOrderConfirmation: false,\r\n depotIsBookingEmail: false,\r\n depotIsJobUpdateEmail: false,\r\n depotIsSendQueryResponseReceived: false,\r\n depotIsSendBreakdownEmail: false,\r\n depotIsSendDefectEmail: false\r\n });\r\n\r\n const [invoiceFields, setInvoiceFields] = useState({\r\n ...invoiceInfo,\r\n errors: {}\r\n });\r\n\r\n const [optionsState, setOptionState] = useState({\r\n scheduleBookingModeList: [],\r\n serviceAgentsList: [],\r\n customerList: []\r\n });\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n depotServiceAgentValue: null,\r\n depotAgentSecondaryAgentValue: null,\r\n depotCustomerValue: null,\r\n depotScheduleBookingModeValue: null\r\n });\r\n\r\n const setVal = (s) => {\r\n setDepotFields((st) => ({\r\n ...st,\r\n address1: s.addressLine1,\r\n address2: s.addressLine2,\r\n depotTown: s.town,\r\n depotCounty: s.county,\r\n depotPostCode: s.postCode\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n let res = await getDropdown();\r\n const scheduleBookingModeList = res.data.scheduleBookingModes.map((item) => ({\r\n id: item.scheduleBookingModeCode,\r\n name: item.scheduleBookingModeDescription\r\n }));\r\n const List = res.data.customers.map((item) => ({\r\n id: item.customerID,\r\n name: item.customerCompanyName\r\n }));\r\n setOptionState((st) => ({\r\n ...st,\r\n scheduleBookingModeList: scheduleBookingModeList,\r\n serviceAgentsList: res.data.serviceAgents,\r\n customerList: List\r\n }));\r\n if (props.depotID) {\r\n let res = await getDepotById(props.depotID);\r\n const data = res.data.details[0];\r\n setDepotFields((st) => ({\r\n ...st,\r\n name: data.depotName,\r\n address1: data.depotAddress1,\r\n address2: data.depotAddress2,\r\n depotCounty: data.depotCounty,\r\n depotTown: data.depotTown,\r\n depotCountryCode: data.depotCountryCode,\r\n depotEmail: data.depotEmail,\r\n depotCustomersRef: data.depotCustomersRef,\r\n scheduleBookingModeID: data.scheduleBookingModeID,\r\n depotPostCode: data.depotPostCode,\r\n depotTelephone: data.depotTelephone,\r\n depotContact: data.depotContact,\r\n depotNotInUse: data.depotNotInUse,\r\n firstDayofWeek: data.depotFirstDayofWeek,\r\n depotVORMobileNumbers: data.depotVORMobileNumbers,\r\n depotServiceAgentID: data.depotPrimaryAgentID,\r\n depotAgentSecondaryAgentID: data.depotAgentSecondaryAgentID,\r\n depotID: data.depotID,\r\n depotCustomerID: data.depotCustomerID,\r\n scheduleBookingModeID: data.scheduleBookingModeID,\r\n MergeSchedules: data.depotPlannerMergeSchedules,\r\n displayISOWeek: data.depotPlannerDisplayISOWeek,\r\n addPaperworkReceived: data.depotPlannerAddPaperworkReceived,\r\n trafficStyleColourCoding: data.depotPlannerTrafficStyleColourCoding,\r\n mergeRange: data.depotPlannerMergeRange,\r\n sunday: data.depotBookingPreferenceSunday,\r\n monday: data.depotBookingPreferenceMonday,\r\n tuesday: data.depotBookingPreferenceTuesday,\r\n wednesday: data.depotBookingPreferenceWednesday,\r\n thursday: data.depotBookingPreferenceThursday,\r\n friday: data.depotBookingPreferenceFriday,\r\n saturday: data.depotBookingPreferenceSaturday,\r\n depotAdditionalPlanningEmails: data.depotAdditionalPlanningEmails,\r\n cPCHolderEmail: data.depotCPCHolderEmail,\r\n cPCHolderName: data.depotCPCHolderName,\r\n secondaryEmail: data.depotSecondaryEmail,\r\n depotSecondaryContact: data.depotSecondaryContact,\r\n depotPCNEmail: data.depotPCNEmail,\r\n depotAccountName: data.depotAccountName,\r\n depotAccountEmail: data.depotAccountEmail,\r\n depotContactMobile: data.depotContactMobile,\r\n depotThirdPartyPlannerEmailAddress: data.depotThirdPartyPlannerEmailAddress,\r\n depotScheduleBookingMode: data.depotScheduleBookingMode,\r\n depotBreakdownNotificationEmail: data.depotBreakdownNotificationEmail,\r\n depotTimedVehicleStatusUpdateEmail: data.depotTimedVehicleStatusUpdateEmail,\r\n depotSchedulePlannerEmail: data.depotSchedulePlannerEmail,\r\n depotDefectNotificationEmail: data.depotDefectNotificationEmail,\r\n depotNotes: data.depotNotes,\r\n depotVehicleStatusUpdateEmail: data.depotVehicleStatusUpdateEmail,\r\n depotIsSendJobApprovalRequired: data.depotIsSendJobApprovalRequired,\r\n depotSendJobApprovalRequiredEmail: data.depotSendJobApprovalRequiredEmail,\r\n depotIsOrderConfirmation: data.depotIsOrderConfirmation,\r\n depotOrderConfirmationEmail: data.depotOrderConfirmationEmail,\r\n depotIsBookingEmail: data.depotIsBookingEmail,\r\n depotBookingEmail: data.depotBookingEmail,\r\n depotIsJobUpdateEmail: data.depotIsJobUpdateEmail,\r\n depotJobUpdateEmail: data.depotJobUpdateEmail,\r\n depotIsSendQueryResponseReceived: data.depotIsSendQueryResponseReceived,\r\n depotSendQueryResponseReceivedEmail: data.depotSendQueryResponseReceivedEmail,\r\n depotIsSendBreakdownEmail: data.depotIsSendBreakdownEmail,\r\n depotBreakdownNotificationEmail: data.depotBreakdownNotificationEmail,\r\n depotIsSendDefectEmail: data.depotIsSendDefectEmail,\r\n depotDefectNotificationEmail: data.depotDefectNotificationEmail,\r\n customer: data.customer,\r\n fileCount: data.fileCount\r\n }));\r\n setInvoiceFields((dt) => ({\r\n ...dt,\r\n depotUseAddressAsInvoiceAddress: data.depotUseAddressAsInvoiceAddress,\r\n depotInvoiceAddress1: data.depotInvoiceAddress1,\r\n depotInvoiceAddress2: data.depotInvoiceAddress2,\r\n depotInvoiceAddressCity: data.depotInvoiceAddressCity,\r\n depotInvoiceAddressCounty: data.depotInvoiceAddressCounty,\r\n depotInvoiceAddressPostCode: data.depotInvoiceAddressPostCode,\r\n depotInvoiceAddressCountryCode: data.depotInvoiceAddressCountryCode,\r\n depotInvoiceEmailAddress: data.depotInvoiceEmailAddress,\r\n depotEmailInvoices: data.depotEmailInvoices\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let depotServiceAgentValue = null;\r\n let depotAgentSecondaryAgentValue = null;\r\n let depotCustomerValue = null;\r\n let depotScheduleBookingModeValue = null;\r\n\r\n if (depotFields.depotServiceAgentID) {\r\n depotServiceAgentValue = optionsState.serviceAgentsList.find(({ id }) => id === depotFields.depotServiceAgentID);\r\n }\r\n if (depotFields.depotAgentSecondaryAgentID) {\r\n depotAgentSecondaryAgentValue = optionsState.serviceAgentsList.find(({ id }) => id === depotFields.depotAgentSecondaryAgentID);\r\n }\r\n if (depotFields.depotCustomerID) {\r\n depotCustomerValue = optionsState.customerList.find(({ id }) => id === depotFields.depotCustomerID);\r\n }\r\n if (depotFields.depotScheduleBookingMode) {\r\n depotScheduleBookingModeValue = optionsState.scheduleBookingModeList.find(({ id }) => id === depotFields.depotScheduleBookingMode);\r\n }\r\n\r\n setTempOptions((st) => ({\r\n ...st,\r\n depotCustomerValue: depotCustomerValue,\r\n depotServiceAgentValue: depotServiceAgentValue,\r\n depotAgentSecondaryAgentValue: depotAgentSecondaryAgentValue,\r\n depotScheduleBookingModeValue: depotScheduleBookingModeValue\r\n }));\r\n }, [depotFields.depotServiceAgentID, depotFields.depotAgentSecondaryAgentID, depotFields.depotCustomerID, depotFields.scheduleBookingModeID]);\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const handledepotFields = (e) => {\r\n const { name, value } = e.target;\r\n setDepotFields((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const handleActive = (val) => {\r\n setDepotFields((field) => ({\r\n ...field,\r\n depotNotInUse: val\r\n }));\r\n };\r\n\r\n const handleCheckbox = useCallback((e) => {\r\n const { name, checked } = e.target;\r\n setDepotFields((st) => {\r\n const nst = { ...st, [name]: checked };\r\n return nst;\r\n });\r\n }, []);\r\n const resetInput = (name) => {\r\n setDepotFields((st) => ({ ...st, [name]: '' }));\r\n };\r\n\r\n const setInvoiceVal = (s) => {\r\n setInvoiceFields((st) => ({\r\n ...st,\r\n depotInvoiceAddress1: s.addressLine1,\r\n depotInvoiceAddress2: s.addressLine2,\r\n depotInvoiceAddressCity: s.town,\r\n depotInvoiceAddressCounty: s.county,\r\n depotInvoiceAddressPostCode: s.postCode\r\n }));\r\n };\r\n const invoiceFieldsChange = (e) => {\r\n const { name, value, type, checked } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setInvoiceFields((st) => ({ ...st, ...invoiceInfo, [name]: true }));\r\n } else if (value === 'false' && type?.toLowerCase() === 'radio') {\r\n setInvoiceFields((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setInvoiceFields((st) => ({ ...st, [name]: value }));\r\n }\r\n };\r\n const invoiceCheckBox = (e) => {\r\n const { name, checked } = e.target;\r\n setInvoiceFields((st) => ({ ...st, [name]: checked }));\r\n };\r\n\r\n const resetInvoiceInput = (name) => {\r\n setInvoiceFields((st) => ({ ...st, [name]: '' }));\r\n };\r\n\r\n const validations = () => {\r\n const {\r\n name,\r\n address1,\r\n address2,\r\n depotCounty,\r\n depotTown,\r\n depotPostCode,\r\n depotCountryCode,\r\n depotServiceAgentID,\r\n depotAgentSecondaryAgentID,\r\n depotEmail,\r\n depotTelephone,\r\n depotContact,\r\n depotVehicleStatusUpdateEmail,\r\n depotIsSendJobApprovalRequired,\r\n depotSendJobApprovalRequiredEmail,\r\n depotIsOrderConfirmation,\r\n depotOrderConfirmationEmail,\r\n depotIsBookingEmail,\r\n depotBookingEmail,\r\n depotIsJobUpdateEmail,\r\n depotJobUpdateEmail,\r\n depotIsSendQueryResponseReceived,\r\n depotSendQueryResponseReceivedEmail,\r\n depotIsSendBreakdownEmail,\r\n depotBreakdownNotificationEmail,\r\n depotIsSendDefectEmail,\r\n depotDefectNotificationEmail\r\n } = depotFields;\r\n const { depotCustomerValue, depotServiceAgentValue, depotAgentSecondaryAgentValue, depotScheduleBookingModeValue } = tempOptions;\r\n const { depotInvoiceEmailAddress, depotEmailInvoices } = invoiceFields;\r\n\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(name)) {\r\n errors.name = 'Depot Name is required.';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(address1)) {\r\n errors.address1 = 'Depot Address1 is required.';\r\n formIsValid = false;\r\n }\r\n if (!depotServiceAgentValue) {\r\n errors.depotServiceAgentID = 'Primary Service Agent is required.';\r\n formIsValid = false;\r\n }\r\n if (!depotAgentSecondaryAgentValue) {\r\n errors.depotAgentSecondaryAgentID = 'Secondary Service Agent is required.';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(depotCounty)) {\r\n errors.depotCounty = 'Depot county is required.';\r\n formIsValid = false;\r\n }\r\n if (!depotCountryCode) {\r\n errors.depotCountryCode = 'Country code is required.';\r\n formIsValid = false;\r\n }\r\n if (depotFields.depotCountryCode === 'GB') {\r\n if (depotCountryCode && !validatePostCodeWothCountryCode(depotCountryCode, depotPostCode)) {\r\n errors.depotPostCode = `Please fill valid post code`;\r\n formIsValid = false;\r\n }\r\n }\r\n if (!depotCustomerValue) {\r\n errors.depotCustomerID = 'Customer is required.';\r\n formIsValid = false;\r\n }\r\n if (depotIsSendJobApprovalRequired && !emailValidation(depotSendJobApprovalRequiredEmail) && !isNull(depotSendJobApprovalRequiredEmail)) {\r\n errors.depotSendJobApprovalRequiredEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n if (depotIsOrderConfirmation && !emailValidation(depotOrderConfirmationEmail) && !isNull(depotOrderConfirmationEmail)) {\r\n errors.depotOrderConfirmationEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n\r\n if (depotIsBookingEmail && !emailValidation(depotBookingEmail) && !isNull(depotBookingEmail)) {\r\n errors.depotBookingEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n if (depotIsJobUpdateEmail && !emailValidation(depotJobUpdateEmail) && !isNull(depotJobUpdateEmail)) {\r\n errors.depotJobUpdateEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n if (depotIsSendQueryResponseReceived && !emailValidation(depotSendQueryResponseReceivedEmail) && !isNull(depotSendQueryResponseReceivedEmail)) {\r\n errors.depotSendQueryResponseReceivedEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n if (depotIsSendBreakdownEmail && !emailValidation(depotBreakdownNotificationEmail) && !isNull(depotBreakdownNotificationEmail)) {\r\n errors.depotBreakdownNotificationEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n if (depotIsSendDefectEmail && !emailValidation(depotDefectNotificationEmail) && !isNull(depotDefectNotificationEmail)) {\r\n errors.depotDefectNotificationEmail = 'Please Enter a valid Email ID';\r\n formIsValid = false;\r\n }\r\n if (depotEmailInvoices && (!/[^\\s]/.test(depotInvoiceEmailAddress) || isNull(depotInvoiceEmailAddress))) {\r\n errors.depotInvoiceEmailAddress = 'Email can not be empty for checked flag';\r\n formIsValid = false;\r\n }\r\n setDepotFields((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n const depotData = {\r\n depotID: depotFields.depotID,\r\n depotCustomerID: tempOptions.depotCustomerValue?.id, //depotFields.depotCustomerID,\r\n depotName: depotFields.name,\r\n depotAddress1: depotFields.address1,\r\n depotAddress2: depotFields.address2,\r\n depotCounty: depotFields.depotCounty,\r\n depotTown: depotFields.depotTown,\r\n depotCountryCode: depotFields.depotCountryCode,\r\n depotEmail: depotFields.depotEmail,\r\n depotCustomersRef: depotFields.depotCustomersRef,\r\n depotPostCode: depotFields.depotPostCode,\r\n depotTelephone: depotFields.depotTelephone,\r\n depotContact: depotFields.depotContact,\r\n depotNotInUse: depotFields.depotNotInUse,\r\n depotPrimaryAgentID: tempOptions.depotServiceAgentValue?.id, //depotFields.depotServiceAgentID,\r\n depotAgentSecondaryAgentID: tempOptions.depotAgentSecondaryAgentValue?.id, //depotFields.depotAgentSecondaryAgentID,\r\n depotVORMobileNumbers: depotFields.depotVORMobileNumbers,\r\n depotPlannerMergeSchedules: depotFields.mergeSchedules,\r\n depotPlannerDisplayISOWeek: depotFields.displayISOWeek,\r\n depotPlannerAddPaperworkReceived: depotFields.addPaperworkReceived,\r\n depotPlannerTrafficStyleColourCoding: depotFields.trafficStyleColourCoding,\r\n depotPlannerMergeRange: depotFields.mergeRange,\r\n depotBookingPreferenceSunday: depotFields.sunday,\r\n depotBookingPreferenceMonday: depotFields.monday,\r\n depotBookingPreferenceTuesday: depotFields.tuesday,\r\n depotBookingPreferenceWednesday: depotFields.wednesday,\r\n depotBookingPreferenceThursday: depotFields.thursday,\r\n depotBookingPreferenceFriday: depotFields.friday,\r\n depotBookingPreferenceSaturday: depotFields.saturday,\r\n depotAdditionalPlanningEmails: depotFields.depotAdditionalPlanningEmails,\r\n depotCPCHolderEmail: depotFields.cPCHolderEmail,\r\n depotCPCHolderName: depotFields.cPCHolderName,\r\n depotSecondaryEmail: depotFields.secondaryEmail,\r\n depotSecondaryContact: depotFields.depotSecondaryContact,\r\n depotPCNEmail: depotFields.depotPCNEmail,\r\n depotAccountName: depotFields.depotAccountName,\r\n depotContactMobile: depotFields.depotContactMobile,\r\n depotAccountEmail: depotFields.depotAccountEmail,\r\n depotThirdPartyPlannerEmailAddress: depotFields.depotThirdPartyPlannerEmailAddress,\r\n depotScheduleBookingMode: tempOptions.depotScheduleBookingModeValue?.id, //depotFields.depotScheduleBookingMode,\r\n depotBreakdownNotificationEmail: depotFields.depotBreakdownNotificationEmail,\r\n depotTimedVehicleStatusUpdateEmail: depotFields.depotTimedVehicleStatusUpdateEmail,\r\n depotVehicleStatusUpdateEmail: depotFields.depotVehicleStatusUpdateEmail,\r\n depotSchedulePlannerEmail: depotFields.depotSchedulePlannerEmail,\r\n depotDefectNotificationEmail: depotFields.depotDefectNotificationEmail,\r\n depotfirstDayofWeek: depotFields.depotFirstDayofWeek,\r\n depotNotes: depotFields.depotNotes,\r\n depotIsSendJobApprovalRequired: depotFields.depotIsSendJobApprovalRequired,\r\n depotSendJobApprovalRequiredEmail: depotFields.depotSendJobApprovalRequiredEmail,\r\n depotIsOrderConfirmation: depotFields.depotIsOrderConfirmation,\r\n depotOrderConfirmationEmail: depotFields.depotOrderConfirmationEmail,\r\n depotIsBookingEmail: depotFields.depotIsBookingEmail,\r\n depotBookingEmail: depotFields.depotBookingEmail,\r\n depotIsJobUpdateEmail: depotFields.depotIsJobUpdateEmail,\r\n depotJobUpdateEmail: depotFields.depotJobUpdateEmail,\r\n depotIsSendQueryResponseReceived: depotFields.depotIsSendQueryResponseReceived,\r\n depotSendQueryResponseReceivedEmail: depotFields.depotSendQueryResponseReceivedEmail,\r\n depotIsSendBreakdownEmail: depotFields.depotIsSendBreakdownEmail,\r\n depotBreakdownNotificationEmail: depotFields.depotBreakdownNotificationEmail,\r\n depotIsSendDefectEmail: depotFields.depotIsSendDefectEmail,\r\n depotDefectNotificationEmail: depotFields.depotDefectNotificationEmail,\r\n depotUseAddressAsInvoiceAddress: invoiceFields.depotUseAddressAsInvoiceAddress,\r\n depotInvoiceAddress1: invoiceFields.depotInvoiceAddress1 || '',\r\n depotInvoiceAddress2: invoiceFields.depotInvoiceAddress2 || '',\r\n depotInvoiceAddressCity: invoiceFields.depotInvoiceAddressCity || '',\r\n depotInvoiceAddressCounty: invoiceFields.depotInvoiceAddressCounty || '',\r\n depotInvoiceAddressPostCode: invoiceFields.depotInvoiceAddressPostCode || '',\r\n depotInvoiceAddressCountryCode: invoiceFields.depotInvoiceAddressCountryCode || '',\r\n depotInvoiceEmailAddress: invoiceFields.depotInvoiceEmailAddress || '',\r\n depotEmailInvoices: invoiceFields.depotEmailInvoices\r\n };\r\n setBtnLoader(true);\r\n let res;\r\n if (props.depotID) {\r\n res = await updateDepot(depotData, props.depotID);\r\n } else {\r\n res = await addDepot(depotData);\r\n }\r\n if (res.success) {\r\n showToastSuccess('Depots saved successfully');\r\n props.onFormClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useEffect, useState, useCallback, useContext } from 'react';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { addDepot, updateDepot, getDepotById, getDropdown } from '../../../../../Core/Services/InternalUser/ControllerService/depotsService';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport {\r\n SelectBox,\r\n SecondaryButton,\r\n SecondaryCheckbox,\r\n BreadCrumbs,\r\n MandatoryField,\r\n SimpleField,\r\n YesButton,\r\n NoButton,\r\n Postcode,\r\n SingleSelect\r\n} from '../../../../../Core/Controls';\r\nimport { emailValidation, validatePostCode } from '../../../../../Core/Basic/StaticService';\r\nimport { isNull } from 'lodash';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport '../../controllerStyle.scss';\r\nimport InvoiceDetails from '../../Depots/invoiceFields';\r\nimport { DepotProvider, DepotScreenContext } from './depotProvider';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst FlaggedBox = (props) => {\r\n useEffect(() => {\r\n !props.chkValue && props.resetInput(props.txtName);\r\n }, [props.chkValue]);\r\n return (\r\n <>\r\n {props.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\nconst ScheduleDetails = (props) => {\r\n let getAccessParam = AppStorage.getAllowAcces();\r\n const {\r\n scheduleFields,\r\n handleSubmit,\r\n scheduleDetailsChange,\r\n handleCheckbox,\r\n closeModal,\r\n handledepotFields,\r\n handledepotCheckbox,\r\n depotFields,\r\n handleActive,\r\n resetInput,\r\n setVal,\r\n optionsState,\r\n tempOptions,\r\n singleSelectChange,\r\n btnLoader,\r\n invoiceFieldsChange,\r\n invoiceFields,\r\n setInvoiceVal,\r\n resetInvoiceInput,\r\n invoiceCheckBox\r\n } = useContext(DepotScreenContext);\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Depots', active: true }\r\n ];\r\n\r\n const countryList = [\r\n { id: 'GB', name: 'GB' },\r\n { id: 'IE', name: 'IE' }\r\n ];\r\n\r\n return (\r\n
\r\n {!props.depotID && }\r\n
\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n Customers\r\n \r\n \r\n {depotFields.errors.depotCustomerID}\r\n \r\n \r\n \r\n {/* {depotFields.errors.name} */}\r\n \r\n \r\n \r\n Country Code\r\n \r\n \r\n {depotFields.errors.depotCountryCode}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n {depotFields.errors.depotPostCode} */}\r\n \r\n \r\n \r\n {' '}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Primary Service Agent\r\n \r\n \r\n {depotFields.errors.depotServiceAgentID}\r\n \r\n \r\n \r\n Secondary Service Agent\r\n \r\n \r\n {depotFields.errors.depotAgentSecondaryAgentID}\r\n \r\n \r\n First Day of Week\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n\r\n \r\n \r\n Schedule Planner 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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n Max Schedule Merge Range\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n \r\n Schedule Booking Mode\r\n \r\n \r\n \r\n Third Party Planner Email Address\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n Booking Preference\r\n \r\n
\r\n
\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n Contact Details\r\n \r\n
\r\n
\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n Notification Details\r\n \r\n
\r\n
\r\n \r\n {/* */}\r\n \r\n \r\n \r\n {depotFields.errors.depotOrderConfirmationEmail}\r\n \r\n \r\n \r\n {depotFields.errors.depotBookingEmail}\r\n \r\n \r\n \r\n {depotFields.errors.depotSendJobApprovalRequiredEmail}\r\n \r\n \r\n \r\n {depotFields.errors.depotJobUpdateEmail}\r\n \r\n \r\n \r\n {depotFields.errors.depotSendQueryResponseReceivedEmail}\r\n \r\n \r\n \r\n {depotFields.errors.depotBreakdownNotificationEmail}\r\n \r\n \r\n \r\n {depotFields.errors.depotDefectNotificationEmail}\r\n \r\n \r\n \r\n {depotFields.errors.depotOverdueReminderEmail}\r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n VOR Mobile Number \r\n \r\n \r\n \r\n \r\n \r\n Active\r\n \r\n
\r\n
\r\n \r\n {/* \r\n handleActive(true)}>\r\n \r\n \r\n handleActive(false)}>\r\n */}\r\n \r\n \r\n handleActive(true)}>\r\n \r\n \r\n handleActive(false)}>\r\n \r\n \r\n \r\n {/*
*/}\r\n\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n props.onFormClose()}>\r\n Cancel\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useState, useContext } from 'react';\r\nimport { DatePicker, CustomChip, SpeedDials } from '../../../../../Core/Controls';\r\nimport CustomizedTables from '../../../../../Core/Controls/Table';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport AddEditDepots from './addEditDepots';\r\nimport { DepotProvider, DepotScreenContext } from './depotProvider';\r\nimport FileUploaderButton from '../../../../../Core/Controls/GenericFileUploader';\r\nimport { formatters } from '../../../../../Core/Controls';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst EditDepotDash = (props) => {\r\n let getAccessParam = AppStorage.getAllowAcces();\r\n const {\r\n scheduleFields,\r\n handleSubmit,\r\n scheduleDetailsChange,\r\n handleCheckbox,\r\n closeModal,\r\n handledepotFields,\r\n handledepotCheckbox,\r\n depotFields,\r\n handleActive\r\n } = useContext(DepotScreenContext);\r\n\r\n const [state, setstate] = useState({});\r\n const handleAddPopUp = (id, name) => {\r\n setstate((st) => ({ ...st, [name]: true, VehicleID: id }));\r\n };\r\n\r\n const isValue = (val) => {\r\n return val ? val : 'N/A';\r\n };\r\n const isYesNo = (val) => {\r\n return val ? 'Yes' : 'No';\r\n };\r\n const tableData = [\r\n {\r\n name1: 'Customer',\r\n value1: isValue(depotFields.customer),\r\n name2: 'Telephone',\r\n value2: formatters.phoneNumberFormatter(depotFields.depotTelephone),\r\n name3: 'Contact Number',\r\n value3: formatters.phoneNumberFormatter(depotFields.depotContact),\r\n name4: 'Email',\r\n value4: formatters.mailFormatter(depotFields.depotEmail)\r\n },\r\n {\r\n name1: 'Address',\r\n value1: formatters.addressFormatter(\r\n depotFields.address1,\r\n depotFields.address2,\r\n depotFields.depotTown,\r\n depotFields.depotPostCode,\r\n depotFields.depotCounty\r\n ),\r\n // value1: depotFields.address1 + \", \" + depotFields.address2 + \", \" + depotFields.depotTown + \", \" + depotFields.depotPostCode + \", \" + depotFields.depotCounty,\r\n name2: 'Customers Ref',\r\n value2: isValue(depotFields.depotCustomersRef),\r\n name3: 'Primary Service Agent',\r\n value3: isValue(depotFields.PrimaryServiceAgent),\r\n name4: 'Display ISO Week Number?',\r\n value4: isYesNo(depotFields.displayISOWeek)\r\n },\r\n {\r\n name1: 'Max Schedule Merge Range',\r\n value1: isValue(depotFields.mergeRange),\r\n name2: 'Schedule Planner Email',\r\n value2: formatters.mailFormatter(depotFields.depotSchedulePlannerEmail),\r\n name3: 'Schedule Booking Mode',\r\n value3: isValue(depotFields.depotScheduleBookingMode),\r\n name4: 'Merge Schedule?',\r\n value4: isYesNo(depotFields.mergeSchedules)\r\n },\r\n // {\r\n // name1: 'Sunday',\r\n // value1: isYesNo(depotFields.depotBookingPreferenceSunday),\r\n // name2: 'Monday',\r\n // value2: isYesNo(depotFields.depotBookingPreferenceMonday),\r\n // name3: 'Tuesday',\r\n // value3: isYesNo(depotFields.depotBookingPreferenceTuesday),\r\n // name4: 'Wednesday',\r\n // value4: isYesNo(depotFields.depotBookingPreferenceWednesday),\r\n // name5: 'Thursday',\r\n // value5: isYesNo(depotFields.depotBookingPreferenceThursday),\r\n // name6: 'Friday',\r\n // value6: isYesNo(depotFields.depotBookingPreferenceFriday),\r\n // name7: 'Saturday',\r\n // value7: isYesNo(depotFields.depotBookingPreferenceSaturday)\r\n // }\r\n {\r\n name1: 'Third Party Planner Email Address',\r\n value1: formatters.mailFormatter(depotFields.depotThirdPartyPlannerEmailAddress),\r\n name2: 'Additional Planning Emails',\r\n value2: formatters.mailFormatter(depotFields.depotAdditionalPlanningEmails),\r\n name3: 'CPC Holder Email',\r\n value3: formatters.mailFormatter(depotFields.cPCHolderEmail),\r\n name4: 'CPC Holder Name',\r\n value4: isValue(depotFields.cPCHolderName)\r\n },\r\n {\r\n name1: 'Secondary Email',\r\n value1: formatters.mailFormatter(depotFields.secondaryEmail),\r\n name2: 'Contact Mobile',\r\n value2: formatters.phoneNumberFormatter(depotFields.depotContactMobile),\r\n name3: 'Secondary Contact Number',\r\n value3: formatters.phoneNumberFormatter(depotFields.depotSecondaryContact),\r\n name4: 'PCN Email',\r\n value4: formatters.mailFormatter(depotFields.depotPCNEmail)\r\n },\r\n {\r\n name1: 'Account Name',\r\n value1: isValue(depotFields.depotAccountName),\r\n name2: 'Account Email',\r\n value2: formatters.mailFormatter(depotFields.depotAccountEmail),\r\n name3: 'Add Paperwork Received?',\r\n value3: isYesNo(depotFields.addPaperworkReceived),\r\n name4: 'Traffic Style Colour Coding?',\r\n value4: isYesNo(depotFields.trafficStyleColourCoding)\r\n }\r\n ];\r\n const Header = () => {\r\n return (\r\n \r\n \r\n \r\n Depot Details: {depotFields.name}\r\n \r\n \r\n \r\n
\r\n \r\n   \r\n handleAddPopUp(null, 'showDepotScreen')}\r\n // disabled={!getAccessParam['CanUpdateDepots']}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n };\r\n return (\r\n \r\n {state.showDepotScreen ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllDefectTypes = async () => {\r\n let res = await getWithAuth(`DefectTypes`);\r\n return res;\r\n};\r\n\r\nexport const getDefectTypesId = async (id) => {\r\n let res = await getWithAuth(`DefectTypes/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postDefectTypesData = async (data) => {\r\n let res = await postWithAuth(`DefectTypes`, data);\r\n return res;\r\n};\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getDepartmentById = async (Id) => {\r\n let res = await getWithAuth(`Departments/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const postDepartment = async (data) => {\r\n let res = await postWithAuth('Departments ', data);\r\n return res;\r\n};\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport {\r\n SelectBox,\r\n SecondaryButton,\r\n SecondaryCheckbox,\r\n BreadCrumbs,\r\n MandatoryField,\r\n SimpleField,\r\n YesButton,\r\n NoButton,\r\n Postcode,\r\n SingleSelect\r\n} from '../../../../../../Core/Controls';\r\nimport { useToast } from '../../../../../../Core/Hooks/useToast';\r\n\r\nimport { getDepartmentById, postDepartment } from '../../../../../../Core/Services/InternalUser/ControllerService/depotsDepartmentService';\r\nimport { AppStorage } from '../../../../../../Core/Basic/storage-service';\r\n\r\nconst AddEditDepartment = (props) => {\r\n const [state, setState] = useState({ departmentID: null });\r\n const [error, setError] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const handledepotFields = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n useEffect(async () => {\r\n if (props.departmentID) {\r\n let res = await getDepartmentById(props.departmentID);\r\n let data = res.data?.details[0];\r\n\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n departmentID: data.departmentID,\r\n departmentDepotID: data.departmentDepotID,\r\n departmentName: data.departmentName,\r\n departmentAddress1: data.departmentAddress1,\r\n departmentAddress2: data.departmentAddress2,\r\n departmentTown: data.departmentTown,\r\n departmentCounty: data.departmentCounty,\r\n departmentPostCode: data.departmentPostCode,\r\n departmentPhone: data.departmentPhone,\r\n departmentContactName: data.departmentContactName,\r\n departmentContactEmail: data.departmentContactEmail\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const setVal = (s) => {\r\n setState((st) => ({\r\n ...st,\r\n departmentAddress1: s.addressLine1,\r\n departmentAddress2: s.addressLine2,\r\n departmentTown: s.town,\r\n departmentCounty: s.county,\r\n departmentPostCode: s.postCode\r\n }));\r\n };\r\n\r\n const validation = () => {\r\n let isValid = true;\r\n let errors = {};\r\n if (!state.departmentName) {\r\n errors.name = 'Name Field is required';\r\n isValid = false;\r\n }\r\n setError(errors);\r\n return isValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validation()) {\r\n let data = {\r\n departmentID: props.departmentID ? props.departmentID : null,\r\n departmentDepotID: props.depotID,\r\n departmentName: state.departmentName,\r\n departmentAddress1: state.departmentAddress1,\r\n departmentAddress2: state.departmentAddress2,\r\n departmentTown: state.departmentTown,\r\n departmentCounty: state.departmentCounty,\r\n departmentPostCode: state.departmentPostCode,\r\n departmentPhone: state.departmentPhone,\r\n departmentContactName: state.departmentContactName,\r\n departmentContactEmail: state.departmentContactEmail\r\n };\r\n let res = await postDepartment(data);\r\n if (res.departmentResponse.success) {\r\n showToastSuccess(`Department ${props.departmentID ? 'Updated' : 'Added'} Successfully`);\r\n props.onClose(true);\r\n } else {\r\n showToastError('Department Fail to Add ');\r\n // props.onClose(false);\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 \r\n \r\n \r\n \r\n \r\n \r\n \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.departmentID ? 'Update' : 'Add'}\r\n \r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddEditDepartment;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllDefectTypes } from '../../../../../../Core/Services/InternalUser/defectTypeService';\r\nimport DataGrid from '../../../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../../../Core/Dialog/DialogComp';\r\nimport AddEditDepartment from './addEditDepartment';\r\nimport { BreadCrumbs, AddButton, EditButton, formatters } from '../../../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../../../Core/Controls/GijgoGrid';\r\nimport { AppStorage } from '../../../../../../Core/Basic/storage-service';\r\n// import '../../.././commonStyle.scss';\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'departmentName', name: 'Name ', width: '15%' },\r\n { key: 'departmentContactName', name: 'Contact Name ', width: '15%' },\r\n { key: 'departmentPhone', name: 'Phone Number', width: '15%' },\r\n { key: 'departmentContactEmail', name: 'Email', width: '15%' },\r\n { key: 'address', name: 'Address ', width: '40%' }\r\n];\r\n\r\nconst Department = (props) => {\r\n let getAccessParam = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n departmentID: null,\r\n open: false,\r\n data: null\r\n });\r\n\r\n useEffect(async () => {\r\n pullData();\r\n }, []);\r\n\r\n const pullData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleAdd = (params) => {\r\n setState((state) => ({ ...state, open: true, departmentID: params?.departmentID }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n handleAdd(row)} toolTipTitle=\"Edit Department\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n }, []);\r\n\r\n const title = state.data ? 'Update Department' : 'Add Department';\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullData();\r\n };\r\n\r\n return (\r\n
\r\n ({\r\n records: res?.data?.list,\r\n total: res?.data?.total\r\n })}\r\n columns={columns}\r\n getUrl={`Departments?DeportID=${props.depotID} `}\r\n onBtnClick={() => handleAdd(null)}\r\n btnTitle={getAccessParam['CanUpdateDepotDepartments'] ? title : ''}\r\n isReload={state.isReload}\r\n />\r\n\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"md\">\r\n closeModal(true)} departmentID={state.departmentID} depotID={props.depotID} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default Department;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { useToast } from '../../../../../Core/Hooks/useToast';\r\nimport { getDepots } from '../../../../../Core/Services/InternalUser/ControllerService/depotsService';\r\nimport { EditButton, DataGrid, BreadCrumbs, formatters } from '../../../../../Core/Controls';\r\nimport AddEditDepots from './addEditDepots';\r\nimport EditDepot from './editDashboard';\r\nimport '../../../../commonStyle.scss';\r\nimport { Link } from 'react-router-dom';\r\nimport GijgoGrid from '../../../../../Core/Controls/GijgoGrid';\r\nimport ReactDOM from 'react-dom';\r\nimport DialogComp from '../../../../../Core/Dialog/DialogComp';\r\nimport CustomerDetails from '../../DetailsModal/customerDetails';\r\nimport { AppStorage } from '../../../../../Core/Basic/storage-service';\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 80, addFileUploaderIcon: true },\r\n { key: 'depotName', name: 'Name' },\r\n { key: 'customer', name: 'Customer', width: 180 },\r\n // { key: 'depotAddress2', name: 'Address2' },\r\n // { key: 'depotTown', name: 'Town' },\r\n // { key: 'depotCounty', name: 'County' },\r\n // { key: 'depotCountryCode', name: 'Code', width: '4%' },\r\n { key: 'depotEmail', name: 'Email', width: 250 },\r\n {\r\n key: 'depotAddress',\r\n name: 'Address'\r\n }\r\n];\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n // { name: 'Vehicles', active: true },\r\n { name: 'Depots', active: true }\r\n];\r\n\r\nconst VehicleDepots = (props) => {\r\n const { showToastError } = useToast();\r\n let getAccessParam = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n depotsList: [],\r\n depotID: null,\r\n isReload: null\r\n });\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n depotID: record\r\n }));\r\n };\r\n\r\n const pullDepotsAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n // useEffect(async () => {\r\n // pullDepotsAndUpdateState();\r\n // }, []);\r\n\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/Depots/${val.depotID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n \r\n handleEditClick(row)} />\r\n \r\n );\r\n };\r\n\r\n const closeDepotsModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullDepotsAndUpdateState();\r\n };\r\n\r\n const renderEmail = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk =
{formatters.mailFormatter(row.depotEmail)}
;\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customer}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showCustomerModal: false\r\n }));\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n let emailCol = tempCols.find((element) => element.key === 'depotEmail');\r\n let customerNameCol = tempCols.find((element) => element.key === 'customer');\r\n if (emailCol) {\r\n emailCol.formatter = renderEmail;\r\n }\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (customerNameCol) {\r\n customerNameCol.formatter = renderCustomerName;\r\n }\r\n // if (window.innerWidth > 600) {\r\n // tempCols.splice(\r\n // 3,\r\n // 0,\r\n // { key: 'depotAddress1', name: 'Address1' },\r\n // { key: 'depotAddress2', name: 'Address2' },\r\n // { key: 'depotTown', name: 'Town' },\r\n // { key: 'depotCounty', name: 'County' },\r\n // { key: 'depotCountryCode', name: 'Code', width: '4%' }\r\n // );\r\n // }\r\n return tempCols;\r\n }, []);\r\n\r\n let getUrl = `depots`;\r\n\r\n return (\r\n
\r\n {/* */}\r\n {/* */}\r\n {state.show ? (\r\n \r\n ) : (\r\n <>\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n onBtnClick={() => handleAdd(null)}\r\n btnTitle={getAccessParam['CanUpdateDepots'] ? 'Add Depots' : ''}\r\n isReload={state.isReload}\r\n idFieldName=\"depotID\"\r\n fileUploaderConfigName=\"DepotScreen\"\r\n />\r\n \r\n )}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default VehicleDepots;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, MandatoryField, SecondaryCheckbox } from '../../../../Core/Controls';\r\nimport { getDefectTypesId, postDefectTypesData } from '../../../../Core/Services/InternalUser/defectTypeService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../.././commonStyle.scss';\r\n\r\nfunction DefectTypeModal(props) {\r\n const [state, setState] = useState({\r\n defectTypeID: null,\r\n defectTypeCode: '',\r\n defectTypeDescription: '',\r\n defectEmailDocument: true,\r\n IsAdd: true,\r\n errors: {}\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.data) {\r\n const data = props.data;\r\n setState((state) => ({\r\n ...state,\r\n defectTypeCode: data.defectTypeCode,\r\n defectTypeDescription: data.defectTypeDescription,\r\n defectEmailDocument: data.defectEmailDocument,\r\n code: data.defectTypeCode,\r\n IsAdd: data.IsAdd\r\n }));\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { defectTypeDescription, defectTypeCode } = state; //[A-Z]{2}\r\n let pattern = /[A-Z]{2}/;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!defectTypeDescription) {\r\n errors.defectTypeDescription = ' Defect Types Description is required';\r\n formIsValid = false;\r\n }\r\n if (!pattern.test(defectTypeCode)) {\r\n errors.defectTypeCode = ' Defect Types Code Should be less then 2 Charecter';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const defectTypeData = {\r\n defectTypeCode: state.defectTypeCode,\r\n defectTypeDescription: state.defectTypeDescription,\r\n defectEmailDocument: state.defectEmailDocument,\r\n IsAdd: state.code ? false : true\r\n };\r\n let res = await postDefectTypesData(defectTypeData);\r\n if (res.success) {\r\n showToastSuccess('Defect Types Updated sucessfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 {props.data ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default DefectTypeModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllDefectTypes } from '../../../../Core/Services/InternalUser/defectTypeService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport DefectTypeModal from './DefectTypeModal';\r\nimport { BreadCrumbs, AddButton, EditButton, formatters } from '../../../../Core/Controls';\r\nimport '../../.././commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Defect Types ', active: true }\r\n];\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'defectTypeCode', name: 'Defect Type Code', width: '10%' },\r\n { key: 'defectTypeDescription', name: 'Description', width: '70' },\r\n { key: 'defectEmailDocument', name: 'Email Document ?', formatter: formatters.YesNo, width: '15%' }\r\n];\r\n\r\nfunction DefectType(props) {\r\n const [state, setState] = useState({\r\n DefectTypeList: [],\r\n loader: true,\r\n open: false,\r\n data: null\r\n });\r\n\r\n useEffect(async () => {\r\n pullData();\r\n }, []);\r\n\r\n const pullData = async () => {\r\n // let res = await getAllDefectTypes();\r\n // setState((state) => ({\r\n // ...state,\r\n // DefectTypeList: res.data.list,\r\n // loader: false\r\n // }));\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const submitHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, data: params }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n submitHandler(row)} toolTipTitle=\"Edit Defect Type\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.data ? 'Update Defect Type' : 'Add Defect Type';\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullData();\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n {/* submitHandler(null)}\r\n paginate\r\n offset={210}\r\n /> */}\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Defect Type\"\r\n onBtnClick={() => submitHandler(null)}\r\n />\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"sm\">\r\n closeModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\nexport default DefectType;\r\n","import { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport React, { useState } from 'react';\r\nimport { DatePicker, formatters, SecondaryButton } from '../../../../Core/Controls';\r\nimport '../../../commonStyle.scss';\r\nimport { postScheduleReceived } from '../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport { useEffect } from 'react';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\n\r\nconst ScheduleSetReceivedModal = (props) => {\r\n const [state, setState] = useState({\r\n dateReceived: ''\r\n });\r\n const [error, setError] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const validate = () => {\r\n let errors = {};\r\n let isValid = true;\r\n const { dateReceived } = state;\r\n if (!/[^\\s]/.test(dateReceived)) {\r\n errors.dateReceived = 'Received date is required';\r\n isValid = false;\r\n }\r\n setError(errors);\r\n return isValid;\r\n };\r\n\r\n const handleData = async () => {\r\n if (validate()) {\r\n let res = await postScheduleReceived({\r\n dateReceived: state.dateReceived,\r\n scheduleDocID: props?.val?.scheduleDocID\r\n });\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n props.onFormSubmit(true);\r\n }\r\n };\r\n\r\n const inputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Required Date\r\n \r\n \r\n {error.dateReceived}\r\n \r\n \r\n \r\n Received Date\r\n \r\n \r\n {error.dateReceived}\r\n \r\n\r\n \r\n Mark as received\r\n \r\n \r\n props.onFormSubmit(false)}>Cancel\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ScheduleSetReceivedModal;\r\n","import React, { useEffect, useState, useMemo, useCallback } from 'react';\r\nimport { getAllOutStandingDocuments } from '../../../../Core/Services/InternalUser/outstandingDocuments';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { EditButton, BreadCrumbs, DataGrid, formatters } from '../../../../Core/Controls';\r\n// import AddEditDepots from './addEditDepots';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ReactDOM from 'react-dom';\r\nimport DepotDetails from '../../Controllers/DetailsModal/depotDetails';\r\nimport CustomerDetails from '../../Controllers/DetailsModal/customerDetails';\r\nimport ServiceAgentDetails from '../../Controllers/DetailsModal/serviceAgent';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport { FormControlLabel, Grid, Radio, RadioGroup } from '@material-ui/core';\r\nimport { GetOutstandingDocSchedulesExcelFile } from '../../../../Core/Services/InternalUser/excelDownload';\r\nimport ScheduleSetReceivedModal from './ScheduleSetReceived';\r\nimport DescriptionIcon from '@material-ui/icons/Description';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Schedule', active: true },\r\n { name: 'Outstanding Documents', path: '/', active: true }\r\n];\r\nconst baseColumns = [\r\n { key: 'dateRequired', name: 'Required', formatter: formatters.Date_DDMMYYYY, width: 120 },\r\n { key: 'bookedDate', name: 'Booked', formatter: formatters.Date_DDMMYYYY, width: 110 },\r\n { key: 'regNumber', name: 'Reg Number', width: 110 },\r\n { key: 'event', name: ' Event', width: 130 },\r\n { key: 'document', name: 'Document', width: 130 },\r\n { key: 'agent', name: 'Agent' },\r\n { key: 'customer', name: 'Customer' },\r\n { key: 'depot', name: 'Depot' },\r\n { key: 'make', name: 'Make' },\r\n { key: 'vehicleType', name: 'Vehicle Type', width: 120 },\r\n { key: 'reminderSent', name: 'Reminder Sent', width: 121 }\r\n];\r\n\r\nconst OutStandingDocuments = (props) => {\r\n let history = useHistory();\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n\r\n const { showToastError } = useToast();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n outStandingDocsList: [],\r\n depotID: null,\r\n recordType: false,\r\n showSetReceived: false\r\n });\r\n\r\n // const handleAdd = (record) => {\r\n // setState((st) => ({\r\n // ...st,\r\n // show: true,\r\n // depotID: record\r\n // }));\r\n // };\r\n\r\n // const closeDepotsModal = (res) => {\r\n // setState((st) => ({\r\n // ...st,\r\n // show: false\r\n // }));\r\n // res && pullDepotsAndUpdateState();\r\n // };\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.jobID}/${val?.vehicleID}`,\r\n state: 'breakdown'\r\n });\r\n };\r\n const handleshowSetReceived = (val) => {\r\n setState((st) => ({ ...st, data: val, showSetReceived: true }));\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n \r\n {checkhaveAccess?.CanViewJobs && !isCustomer && (\r\n handleEditClick(row)}\r\n />\r\n )}\r\n {state.recordType == false && (\r\n handleshowSetReceived(row)}\r\n />\r\n )}\r\n \r\n );\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.vehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.regNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.agent}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderDepotName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showDepotModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.depot}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customer}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleClose = (res) => {\r\n let newst = {};\r\n newst.open = false;\r\n newst.showSaModal = false;\r\n newst.showCustomerModal = false;\r\n newst.showDepotModal = false;\r\n newst.showSetReceived = false;\r\n if (res) newst.isReload = new Date();\r\n setState((st) => ({\r\n ...st,\r\n ...newst\r\n }));\r\n //isReload\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let regNumberCol = tempCols.find((element) => element.key === 'regNumber');\r\n let agentCol = tempCols.find((element) => element.key === 'agent');\r\n let customerCol = tempCols.find((element) => element.key === 'customer');\r\n let depotCol = tempCols.find((element) => element.key === 'depot');\r\n if (checkhaveAccess?.CanViewJobs || checkhaveAccess?.CanUploadScheduleDocuments) {\r\n tempCols.splice(0, 0, {\r\n key: 'action',\r\n name: 'Action',\r\n width: 120,\r\n addFileUploaderIcon: true,\r\n formatter: dataFormatter\r\n });\r\n }\r\n if (regNumberCol) {\r\n regNumberCol.formatter = renderRegNumberEdit;\r\n }\r\n if (agentCol) {\r\n agentCol.formatter = renderAgentName;\r\n }\r\n if (customerCol) {\r\n customerCol.formatter = renderCustomerName;\r\n }\r\n if (depotCol) {\r\n depotCol.formatter = renderDepotName;\r\n }\r\n return tempCols;\r\n }, [state.recordType]);\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: true }));\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setState((st) => ({ ...st, [name]: value }));\r\n }\r\n }, []);\r\n let idFieldName = state.recordType == true ? 'scheduleID' : 'scheduleDocID';\r\n let fileUploaderConfigName = 'ScheduleDocumentsRequired';\r\n\r\n return (\r\n
\r\n \r\n <>\r\n \r\n \r\n } label=\"Outstanding\" />\r\n } label=\"Recived\" />\r\n \r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n fileUploaderModalClose={true}\r\n downloadBtnName=\"Download xlsx\"\r\n downloadCustomUrl={(params) =>\r\n GetOutstandingDocSchedulesExcelFile({\r\n received: state.recordType,\r\n fileExt: 'xlsx',\r\n filterValues: params || {}\r\n })\r\n }\r\n />\r\n \r\n\r\n {state.showSaModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showSetReceived ? (\r\n handleClose(false)} title={`Set Received (${state.data?.regNumber})`}>\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default OutStandingDocuments;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { getAllJob } from '../../../../Core/Services/InternalUser/JOB/jobService';\r\nimport { BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { Link } from 'react-router-dom';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { useHistory } from 'react-router-dom';\r\nimport SpeakerNotesIcon from '@material-ui/icons/SpeakerNotes';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport JobQueryModal from './JobStatusBtn/JobQuery';\r\nimport ReactDOM from 'react-dom';\r\nimport CustomerDetails from '../DetailsModal/customerDetails';\r\nimport ServiceAgentDetails from '../DetailsModal/serviceAgent';\r\nimport DepotDetails from '../DetailsModal/depotDetails';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '120', addFileUploaderIcon: true },\r\n { key: 'jobDate', name: 'Date', formatter: formatters.Date_DDMMYYYY, width: 100 },\r\n // { key: 'agentOrderNo', name: 'Job Ref', width: 145 },\r\n { key: 'vehicleRegNumber', name: 'Reg No', width: 100 },\r\n { key: 'jobDescription', name: 'Job Description', width: 150 },\r\n { key: 'partsTotal', name: 'Parts', formatter: formatters.NumberWithPound, align: 'right', width: 110 },\r\n { key: 'labourTotal', name: 'Labour', formatter: formatters.NumberWithPound, align: 'right', width: 110 },\r\n { key: 'orderTotal', name: 'Total', formatter: formatters.NumberWithPound, align: 'right', width: 110 },\r\n { key: 'serviceAgentName', name: 'Service Agent', width: 200 },\r\n // { key: 'customerCompanyName', name: 'Customer' },\r\n { key: 'depotName', name: 'Depots', width: 200 }\r\n];\r\n\r\nconst getCrumbs = (code) => {\r\n let temp = {};\r\n let final = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Jobs', active: true }\r\n ];\r\n if (code == 'AR') {\r\n temp = { name: 'Awaiting Approvals', active: true };\r\n } else if (code == 'DD') {\r\n temp = { name: 'Driver Defects', active: true };\r\n } else if (code == 'EP') {\r\n temp = { name: 'Estimates Pending', active: true };\r\n } else if (code == 'ER') {\r\n temp = { name: 'Estimates Revised', active: true };\r\n } else if (code == 'CQ') {\r\n temp = { name: 'Customer Query', active: true };\r\n } else if (code == 'JQ') {\r\n temp = { name: 'Query Job', active: true };\r\n } else if (code == 'FR') {\r\n temp = { name: 'Awating Review', active: true };\r\n } else if (code == 'AQ') {\r\n temp = { name: 'Agent Query', active: true };\r\n } else if (code == 'QJ') {\r\n temp = { name: 'Jobs In Query', active: true };\r\n } else if (code == 'AU') {\r\n temp = { name: 'Jobs Unassigned', active: true };\r\n } else if (code == 'CA') {\r\n temp = { name: 'Approved', active: true };\r\n } else if (code == 'EC') {\r\n temp = { name: 'Estimate Under Customer Review', active: true };\r\n } else if (code == 'EA') {\r\n temp = { name: 'Estimates Accepted', active: true };\r\n } else if (code == 'EQ') {\r\n temp = { name: 'Estimates Queried', active: true };\r\n } else {\r\n temp = { name: 'Open Jobs', active: true };\r\n }\r\n final.push(temp);\r\n return final;\r\n};\r\n\r\nconst InternalUserJobsScreen = (props) => {\r\n const [state, setState] = useState({ showLoader: true, open: false, rows: [], isReload: null });\r\n const history = useHistory();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const pullApiData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date(),\r\n showLoader: false\r\n }));\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.jobID}/${val?.vehicleID}`,\r\n search: '',\r\n state: 'jobs'\r\n });\r\n };\r\n\r\n const handleShowQueries = (val) => {\r\n setState((state) => ({ ...state, showJobQuery: true, jobID: val?.jobID }));\r\n };\r\n\r\n const closeTheDialog = (val) => {\r\n setState((state) => ({ ...state, showJobQuery: false, jobID: '' }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n {/* */}\r\n handleShowQueries(row)}\r\n />\r\n {checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)} />\r\n )}\r\n {/* */}\r\n
\r\n );\r\n };\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.vehicleRegNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.serviceAgentName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderDepotName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showDepotModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.depotName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customerCompanyName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.vehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showSaModal: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n };\r\n const renderjobDate = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk =
{row.bookingDate ? row.bookingDate : row.jobDate}
;\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n let actionjobDateCol = newColumn.find((item) => item.key === 'jobDate');\r\n let agentNameCol = newColumn.find((element) => element.key === 'serviceAgentName');\r\n let depotNameCol = newColumn.find((element) => element.key === 'depotName');\r\n let regNumberCol = newColumn.find((element) => element.key === 'vehicleRegNumber');\r\n if (actionjobDateCol || true) {\r\n actionjobDateCol.formatter = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
\r\n {row.bookingDate ? formatters.YearFormatter(row.bookingDate) : formatters.YearFormatter(row.jobDate)}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n }\r\n if (regNumberCol) {\r\n regNumberCol.formatter = renderRegNumberEdit;\r\n }\r\n if (depotNameCol) {\r\n depotNameCol.formatter = renderDepotName;\r\n }\r\n if (!isCustomer) {\r\n newColumn.splice(7, 0, { key: 'customerCompanyName', name: 'Customer', formatter: renderCustomerName, width: 150 });\r\n }\r\n if (isCustomer || props.screenCode == 'AR') {\r\n newColumn.splice(3, 0, { key: 'jobOrderNo', name: 'Order No', width: 145 });\r\n } else {\r\n newColumn.splice(3, 0, { key: 'agentOrderNo', name: 'Job Ref', width: 145 });\r\n }\r\n if (agentNameCol) {\r\n agentNameCol.formatter = renderAgentName;\r\n }\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n // if (props.screenCode == 'EP') {\r\n // newColumn.splice(3, 0, {\r\n // key: 'jobEstimatedCost',\r\n // name: 'Estimate',\r\n // formatter: formatters.ColumnTextAlignRight,\r\n // headerRenderer: formatters.ColumnHeaderAlignRight\r\n // });\r\n // newColumn.splice(7, 2);\r\n // }\r\n return newColumn;\r\n }, [state]);\r\n\r\n const crumbs = getCrumbs(props.screenCode);\r\n let getUrl = `VehicleJob/?jobstatusid=${props.screenCode ? props.screenCode : ''}`;\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n getUrl={getUrl}\r\n idFieldName={`${checkhaveAccess?.CanViewJobs && checkhaveAccess?.CanViewDocuments ? 'jobID' : null}`}\r\n fileUploaderConfigName={`${checkhaveAccess?.CanViewJobs && checkhaveAccess?.CanViewDocuments ? 'JobScreen' : null}`}\r\n />\r\n {state.showJobQuery && (\r\n \r\n \r\n \r\n )}\r\n {state.showSaModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default InternalUserJobsScreen;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllCostCategories = async () => {\r\n let res = await getWithAuth(`CostCategories`);\r\n return res;\r\n};\r\n\r\nexport const getCostCategoriesById = async (id) => {\r\n let res = await getWithAuth(`CostCategories/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postCostCategoriesData = async (data) => {\r\n let res = await postWithAuth(`CostCategories`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryButton, MandatoryField, SimpleField } from '../../../../Core/Controls';\r\nimport { getCostCategoriesById, postCostCategoriesData } from '../../../../Core/Services/InternalUser/costCategoriesService';\r\nimport { SecondaryCheckbox } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../.././commonStyle.scss';\r\n\r\nfunction CostCategoriesModal(props) {\r\n const [state, setState] = useState({\r\n costCategoryID: null,\r\n costCategory: '',\r\n costCategoryLedgerCode: '',\r\n active: true,\r\n errors: {}\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.costCategoryID) {\r\n let res = await getCostCategoriesById(props.costCategoryID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n costCategoryID: res.data.list[0].costCategoryID,\r\n costCategory: res.data.list[0].costCategory,\r\n costCategoryLedgerCode: res.data.list[0].costCategoryLedgerCode,\r\n active: res.data.list[0].active,\r\n code: res.data.list[0].costCategoryID\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n const validations = () => {\r\n const { costCategory } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(costCategory)) {\r\n errors.costCategory = 'Cost Category is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const AllData = {\r\n costCategoryID: state.costCategoryID,\r\n costCategory: state.costCategory,\r\n costCategoryLedgerCode: state.costCategoryLedgerCode,\r\n active: state.active\r\n };\r\n let res = await postCostCategoriesData(AllData);\r\n if (res.success) {\r\n showToastSuccess('Cost Categories Saved Successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 {props.costCategoryID ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default CostCategoriesModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllCostCategories } from '../../../../Core/Services/InternalUser/costCategoriesService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport CostCategoriesModal from './CostCategoriesModal';\r\nimport { BreadCrumbs, EditButton, formatters } from '../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport '../../.././commonStyle.scss';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Jobs', active: true },\r\n { name: 'Cost Categories', active: true }\r\n];\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'costCategory', name: 'Cost Category' },\r\n { key: 'costCategoryLedgerCode', name: 'GL Code' },\r\n { key: 'active', name: 'Is Active ?', formatter: formatters.YesNo }\r\n];\r\n\r\nfunction CostCategories(props) {\r\n const [state, setState] = useState({\r\n CostCategoriesList: [],\r\n loader: true,\r\n open: false\r\n });\r\n\r\n useEffect(async () => {\r\n pullAllData();\r\n }, []);\r\n\r\n const pullAllData = async () => {\r\n setState((state) => ({\r\n ...state,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const submitHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, costCategoryID: params?.costCategoryID }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n submitHandler(row)} toolTipTitle=\"Edit Cost Category\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.costCategoryID ? 'Update Cost Categories' : 'Add Cost Categories';\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullAllData();\r\n };\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Cost Category\"\r\n onBtnClick={() => submitHandler(null)}\r\n />\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"sm\">\r\n closeModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\n\r\nexport default CostCategories;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getCostTypes = async () => {\r\n let res = await getWithAuth(`CostTypes`);\r\n return res;\r\n};\r\n\r\nexport const getCostTypesById = async (id) => {\r\n let res = await getWithAuth(`CostTypes/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postCostTypesData = async (data) => {\r\n let res = await postWithAuth(`CostTypes`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryButton, MandatoryField, SimpleField } from '../../../../Core/Controls';\r\nimport { getCostTypesById, postCostTypesData } from '../../../../Core/Services/InternalUser/costTypeService';\r\nimport { SecondaryCheckbox } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../.././commonStyle.scss';\r\n\r\nfunction CostTypesModal(props) {\r\n const [state, setState] = useState({\r\n costTypeCode: '',\r\n costTypeDescription: '',\r\n costTypeActive: true,\r\n costTypeRechargeToCustomer: true,\r\n costTypePaySupplier: true,\r\n IsAdd: true,\r\n errors: {}\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n \r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n useEffect(async () => {\r\n if (props.data) {\r\n let res = await getCostTypesById(props.data.costTypeCode);\r\n const data = res.data?.list[0];\r\n setState((state) => ({\r\n ...state,\r\n\r\n costTypeCode: data.costTypeCode,\r\n costTypeDescription: data.costTypeDescription,\r\n costTypeActive: data.costTypeActive,\r\n costTypeRechargeToCustomer: data.costTypeRechargeToCustomer,\r\n costTypePaySupplier: data.costTypePaySupplier,\r\n code: data.costTypeCode,\r\n IsAdd: data.IsAdd\r\n }));\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { costTypeDescription } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(costTypeDescription)) {\r\n errors.costTypeDescription = 'Cost Type Description is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const AllData = {\r\n costTypeCode: state.costTypeCode,\r\n costTypeDescription: state.costTypeDescription,\r\n costTypeActive: state.costTypeActive,\r\n costTypeRechargeToCustomer: state.costTypeRechargeToCustomer,\r\n costTypePaySupplier: state.costTypePaySupplier,\r\n isAdd: state.code ? false : true\r\n };\r\n setBtnLoader(true);\r\n let res = await postCostTypesData(AllData);\r\n if (res.success) {\r\n showToastSuccess('Cost Type Saved Successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\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 \r\n \r\n\r\n \r\n \r\n {props.data ? 'Update' : 'Add'}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default CostTypesModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getCostTypes } from '../../../../Core/Services/InternalUser/costTypeService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport CostTypesModal from './CostTypesModal';\r\nimport { BreadCrumbs, EditButton, formatters } from '../../../../Core/Controls';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport '../../.././commonStyle.scss';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Jobs', active: true },\r\n { name: 'Cost Types', active: true }\r\n];\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'costTypeCode', name: 'Code', width: '6%' },\r\n { key: 'costTypeDescription', name: 'Description' },\r\n { key: 'costTypeRechargeToCustomer', name: 'Recharge To Customer?', width: '18%' },\r\n { key: 'costTypePaySupplier', name: 'Pay to Supplier?', width: '18%' },\r\n { key: 'costTypeActive', name: 'Is Active ?', width: '9%' }\r\n];\r\n\r\nfunction CostTypes(props) {\r\n const [state, setState] = useState({\r\n costTypesList: [],\r\n loader: true,\r\n open: false,\r\n data: null\r\n });\r\n\r\n const pullAllData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const submitHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, data: params }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n submitHandler(row)} toolTipTitle=\"Edit Fuel Types\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.data ? 'Update Cost Type' : 'Add Cost Type';\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false, data: null }));\r\n res && pullAllData();\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Cost Type\"\r\n onBtnClick={() => submitHandler(null)}\r\n />\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"sm\">\r\n closeModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\nexport default CostTypes;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport { FailButton, InputText, MandatoryField, NAButton, PassButton, SecondaryButton, SelectBox, MButton } from '../../../Core/Controls';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport {\r\n Grid,\r\n Paper,\r\n InputLabel,\r\n TableContainer,\r\n Table,\r\n TableHead,\r\n TableBody,\r\n TableRow,\r\n TableCell,\r\n Button,\r\n Typography,\r\n Tooltip,\r\n CircularProgress,\r\n FormHelperText,\r\n Badge\r\n} from '@material-ui/core';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport SignaturePad from 'react-signature-canvas';\r\nimport { getVehicleById } from '../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { getvehiclecheckchecksById, postvehiclecheckchecksData } from '../../../Core/Services/InternalUser/Vehicle/driverVehicle';\r\nimport moment from 'moment';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { getTitleData } from '../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n fontSize: 16,\r\n padding: '8px 20px',\r\n color: '#f50057'\r\n },\r\n body: {\r\n fontSize: 14,\r\n padding: '8px 20px'\r\n }\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: '#F5F5F5'\r\n }\r\n }\r\n}))(TableRow);\r\nconst useStyles = makeStyles((theme) => ({\r\n title: {\r\n fontSize: '25px',\r\n color: '#f50057',\r\n fontWeight: 600,\r\n paddingLeft: 9\r\n },\r\n loader: {\r\n width: '100%',\r\n height: '100%',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n },\r\n sign: {\r\n border: '1px solid grey',\r\n height: 240\r\n }\r\n}));\r\n\r\nconst CheckButtons = {\r\n 1: PassButton,\r\n 2: FailButton,\r\n 3: NAButton,\r\n 5: MButton\r\n};\r\n\r\nconst DriverChecks = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const { displayName } = useLoginInfo();\r\n const classes = useStyles();\r\n const [state, setState] = useState({\r\n checklist: [],\r\n checkType: [],\r\n checkOptions: [],\r\n vehicleID: props.filterVehicleID,\r\n date: moment().format('DD-MM-YYYY'),\r\n vehicleDailyCheckCheckTypeID: 1,\r\n vehicleDailyCheckStatusId: null,\r\n vehicleDailyCheckDateExpire: null,\r\n vehicleDailyCheckDriverComment: '',\r\n vehicleDailyCheckDriverId: null,\r\n vehicleDailyCheckId: null,\r\n selectAll: false,\r\n signAvailable: AppStorage.getSignature() === 'absent' ? false : true,\r\n vehicleDailyCheckCheckerName: displayName,\r\n vehicleDailyCheckDriverName: displayName,\r\n desc: ''\r\n });\r\n\r\n const { userRoles } = useLoginInfo();\r\n const isDriver = userRoles.includes('driver');\r\n\r\n useEffect(async () => {\r\n if (props.filterVehicleID) {\r\n let res2 = await getVehicleById(props.filterVehicleID);\r\n if (res2.success) {\r\n const data = res2.data;\r\n setState((st) => ({\r\n ...st,\r\n regNumber: data.vehicleRegNumber,\r\n modelID: data.vehicleModel,\r\n makeID: data.vehicleMake\r\n }));\r\n }\r\n let res = await getvehiclecheckchecksById(props.filterVehicleID);\r\n if (res.success) {\r\n const reportedUser = res.data.reportedUser.map((x) => ({\r\n id: x.id,\r\n name: x.name\r\n }));\r\n const checkType = res.data.dailyCheckTypes.map((m) => ({\r\n id: m.id,\r\n name: m.name\r\n }));\r\n const checkQueList = res.data.driverDailyCheckCheckSections;\r\n const checkOptions = res.data.driverDailyCheckOptions;\r\n\r\n setState((st) => ({\r\n ...st,\r\n checklist: checkQueList,\r\n checkOptions: checkOptions,\r\n checkType: checkType,\r\n reportedUser: reportedUser\r\n }));\r\n }\r\n }\r\n pullDetails();\r\n }, []);\r\n\r\n const pullDetails = async () => {\r\n let res = await getTitleData(props.filterVehicleID);\r\n if (res.success) {\r\n let data = res.data.details[0];\r\n setState((st) => ({\r\n ...st,\r\n desc: data?.vehicleDescription\r\n // vorID: data?.vorVehicleID,\r\n // loader: false,\r\n // regNumber: data?.vehicleDescription.split('-')[0].trim()\r\n }));\r\n }\r\n };\r\n\r\n const handleButton = (id) => {\r\n setState((st) => ({\r\n ...st,\r\n vehicleDailyCheckCheckTypeID: id\r\n }));\r\n };\r\n\r\n const signCanvas = useRef({});\r\n const clear = () => {\r\n if (state.imgtechniciansign) {\r\n setState((st) => ({\r\n ...st,\r\n imgtechniciansign: false,\r\n techniciansign: null\r\n }));\r\n } else {\r\n signCanvas.current.clear();\r\n }\r\n };\r\n\r\n const GetTechnicianSign = () => {\r\n let fields = state.fields;\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n techniciansign: signCanvas.current.toDataURL(),\r\n fields: fields\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleInputs = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({\r\n ...st,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const checkAll = (passId) => (e) => {\r\n const c = e.target.checked;\r\n setState((st) => {\r\n const newSt = { ...st };\r\n newSt.selectAll = true;\r\n newSt.checklist.map((x) => {\r\n x.vehicleDailyCheckResultsVehicleDailyCheckOptionId = c ? passId : undefined;\r\n });\r\n\r\n newSt.checklist = [...newSt.checklist];\r\n return newSt;\r\n });\r\n };\r\n\r\n const handleButtonChange = (buttonVal, checkId) => {\r\n let changedArray = [...state.checklist];\r\n let objIndex = state.checklist.findIndex((x) => x.dailyCheckSectionID === checkId);\r\n changedArray[objIndex].vehicleDailyCheckResultsVehicleDailyCheckOptionId = buttonVal;\r\n let val = changedArray.filter((c) => c.vehicleDailyCheckResultsVehicleDailyCheckOptionId !== 1).length === 0;\r\n setState((st) => ({ ...st, checklist: changedArray, selectAll: val }));\r\n };\r\n\r\n const handleNote = (id) => (e) => {\r\n let changedArray = [...state.checklist];\r\n let objIndex = state.checklist.findIndex((x) => x.dailyCheckSectionID === id);\r\n changedArray[objIndex][e.target.name] = e.target.value;\r\n setState((st) => ({ ...st, checklist: changedArray }));\r\n };\r\n\r\n const useDefaultSig = () => {\r\n setState((st) => ({ ...st, imgtechniciansign: true, techniciansign: AppStorage.getSignature() }));\r\n };\r\n\r\n const validations = () => {\r\n let formIsValid = true;\r\n let errors = {};\r\n // if (!state.vehicleDailyCheckReportedUserID) {\r\n // errors.vehicleDailyCheckReportedUserID = 'Reported User is required';\r\n // formIsValid = false;\r\n // }\r\n if (!state.vehicleDailyCheckMileage) {\r\n errors.vehicleDailyCheckMileage = `Odometer Reading  is required`;\r\n formIsValid = false;\r\n }\r\n if (!state.vehicleDailyCheckDriverName) {\r\n errors.vehicleDailyCheckDriverName = 'Driver Name is required';\r\n formIsValid = false;\r\n }\r\n if (!state.techniciansign) {\r\n errors.techniciansign = 'Driver/Checker Signature is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors: errors\r\n }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n let driverDailyCheckResultsVM = state.checklist.map((m) => ({\r\n vehicleDailyCheckSectionID: m.dailyCheckSectionID ? m.dailyCheckSectionID : null,\r\n vehicleDailyCheckResultsVehicleDailyCheckOptionId: m.vehicleDailyCheckResultsVehicleDailyCheckOptionId\r\n ? m.vehicleDailyCheckResultsVehicleDailyCheckOptionId\r\n : null,\r\n vehicleDailyCheckResultsNotes: m.vehicleDailyCheckResultsNotes ? m.vehicleDailyCheckResultsNotes : null,\r\n vehicleDailyCheckResultsAssesementNotes: m.vehicleDailyCheckResultsAssesementNotes ? m.vehicleDailyCheckResultsAssesementNotes : null,\r\n vehicleDailyCheckResultsDefectID: m.vehicleDailyCheckResultsDefectID ? m.vehicleDailyCheckResultsDefectID : null,\r\n vehicleDailyCheckResultsStatusId: m.vehicleDailyCheckResultsStatusId ? m.vehicleDailyCheckResultsStatusId : null\r\n }));\r\n if (validations()) {\r\n let formData = {\r\n vehicleID: state.vehicleID,\r\n vehicleDailyCheckId: state.vehicleDailyCheckId,\r\n vehicleDailyCheckStatusId: state.vehicleDailyCheckStatusId,\r\n vehicleDailyCheckCheckTypeID: state.vehicleDailyCheckCheckTypeID,\r\n vehicleDailyCheckDateStarted: state.date,\r\n vehicleDailyCheckDateExpire: state.vehicleDailyCheckDateExpire,\r\n vehicleDailyCheckReportedUserID: state.vehicleDailyCheckReportedUserID,\r\n vehicleDailyCheckDriverName: state.vehicleDailyCheckDriverName,\r\n vehicleDailyCheckDriverId: state.vehicleDailyCheckDriverId,\r\n vehicleDailyCheckMileage: state.vehicleDailyCheckMileage,\r\n vehicleDailyCheckDriverComment: state.vehicleDailyCheckDriverComment,\r\n vehicleDailyCheckCheckerName: state.vehicleDailyCheckCheckerName,\r\n driverDailyCheckResultsVM: driverDailyCheckResultsVM,\r\n vehicleDailyCheckCreatorSignature: state.techniciansign\r\n };\r\n let res = await postvehiclecheckchecksData(formData);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n // props.onClose(false);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {props.fromPage != 'checkIn' && (\r\n \r\n {state.desc?.toUpperCase() || ''}\r\n \r\n )}\r\n
\r\n {state.desc ? (\r\n \r\n \r\n \r\n \r\n Check Type\r\n {state.checkType.map((m) => {\r\n return (\r\n handleButton(m.id)}\r\n >\r\n {m.name}\r\n \r\n );\r\n })}\r\n \r\n {state.date}\r\n \r\n
\r\n \r\n \r\n \r\n Check\r\n {state.checkOptions.map((m) => {\r\n return (\r\n \r\n {m.vehicleDailyCheckOptionDescription.toLowerCase() === 'pass' ? (\r\n \r\n ) : (\r\n ''\r\n )}\r\n {m.vehicleDailyCheckOptionDescription}\r\n \r\n );\r\n })}\r\n\r\n \r\n Notes/Defect\r\n \r\n \r\n \r\n\r\n \r\n {state.checklist?.map((x) => {\r\n return (\r\n \r\n {x.dailyCheckSectionDescription}\r\n {state.checkOptions.map((m) => {\r\n const Comp = CheckButtons[m.vehicleDailyCheckOptionId] || Button;\r\n return (\r\n \r\n handleButtonChange(m.vehicleDailyCheckOptionId, x.dailyCheckSectionID)}\r\n state={x.vehicleDailyCheckResultsVehicleDailyCheckOptionId === m.vehicleDailyCheckOptionId}\r\n >\r\n {m.vehicleDailyCheckOptionDescription[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 {/*driver details...................*/}\r\n \r\n \r\n \r\n \r\n Defect Reported to *\r\n \r\n {/* {state.errors?.vehicleDailyCheckReportedUserID} */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Checker Name\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n Driver/Checker Signature\r\n {state.signAvailable ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {state.imgtechniciansign ? (\r\n
\r\n \"my\r\n
\r\n ) : (\r\n
\r\n {\r\n GetTechnicianSign();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {state.errors?.techniciansign}\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n Submit\r\n \r\n \r\n Cancel\r\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 DriverChecks;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport EditDriverDailyChecks from '../../../Components/InternalUser/Controllers/Vehicles/DriverDailyChecks/editDriverChecks'; //'./editDriverChecks';\r\nimport { BreadCrumbs, formatters, EditButton } from '../../../Core/Controls';\r\nimport '../../../Components/commonStyle.scss';\r\nimport { DataGrid } from '../../../Core/Controls';\r\nimport { getChecksByQuery } from '../../../Core/Services/InternalUser/DailyChecksInternalUser/dailyChecksInternalUserService';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { getVechicleIDByRegNO } from '../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport DriverChecks from '../../../Components/Driver/Maintenance/driverCheck';\r\nimport { useHistory } from 'react-router-dom';\r\nimport CustomerDetails from '../Controllers/DetailsModal/customerDetails';\r\nimport DepotDetails from '../Controllers/DetailsModal/depotDetails';\r\nimport ReactDOM from 'react-dom';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 80 },\r\n { key: 'checked', name: 'Checked', formatter: formatters.Date_DDMMMYYYY_HHMM, width: 150 },\r\n { key: 'regNumber', name: 'Reg Number', width: 90 },\r\n { key: 'result', name: 'Result', width: 55 },\r\n // { key: 'checkType', name: 'Check Type' },\r\n { key: 'status', name: 'Status' },\r\n { key: 'driverName', name: 'Driver Name' },\r\n // { key: 'mileage', name: 'Mileage' },\r\n { key: 'checkerName', name: 'Checker Name' },\r\n { key: 'checkerComment', name: 'Checker Comment', width: 220 },\r\n { key: 'customer', name: 'Customer', width: 100 },\r\n { key: 'depotName', name: 'Depot' },\r\n { key: 'displayName', name: 'Created By' }\r\n].map((x) => {\r\n return { ...x, resizable: true };\r\n});\r\n\r\nconst DailyCheckInternalUser = (props) => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n title: '',\r\n btnFlag: '',\r\n rows: [],\r\n editChecksShow: false,\r\n show: false,\r\n showAddCheck: false,\r\n filterVal: ''\r\n });\r\n\r\n let history = useHistory();\r\n\r\n useEffect(async () => {\r\n if (state.filterVal.length > 4) {\r\n let resBrekDown = await getVechicleIDByRegNO(state.filterVal);\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (resBrekDown.data?.list) {\r\n newSt.show = resBrekDown.success;\r\n newSt.filterVehicleID = resBrekDown.data?.list[0].vehicleID;\r\n newSt.regNumber = state.filterVal;\r\n } else {\r\n newSt.show = false;\r\n }\r\n return newSt;\r\n });\r\n } else {\r\n setState((st) => ({ ...st, show: false }));\r\n }\r\n pullApiData();\r\n }, [state.filterVal]);\r\n\r\n const editChecksScreen = (id) => {\r\n setState((st) => ({\r\n ...st,\r\n editChecksShow: true,\r\n checksID: id.checkID\r\n }));\r\n };\r\n\r\n const editClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n editChecksShow: false,\r\n showAddCheck: false,\r\n show: false,\r\n filterVal: ''\r\n }));\r\n pullApiData();\r\n };\r\n\r\n const actionButton = (data, row) => {\r\n return (\r\n
\r\n editChecksScreen(row)} toolTipTitle=\"Edit Check\" />\r\n
\r\n );\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.regNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customer}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderDepotName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showDepotModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.depotName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.vehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n let customerNameCol = tempCols.find((element) => element.key === 'customer');\r\n let depotNameCol = tempCols.find((element) => element.key === 'depotName');\r\n let regNumberCol = tempCols.find((element) => element.key === 'regNumber');\r\n if (regNumberCol) {\r\n regNumberCol.formatter = renderRegNumberEdit;\r\n }\r\n if (customerNameCol) {\r\n customerNameCol.formatter = renderCustomerName;\r\n }\r\n if (depotNameCol) {\r\n depotNameCol.formatter = renderDepotName;\r\n }\r\n if (actionCol) {\r\n actionCol.formatter = actionButton;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const pullApiData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const addCheck = (val) => {\r\n setState((st) => ({\r\n ...st,\r\n showAddCheck: true\r\n }));\r\n };\r\n\r\n let dataUrl = `DriverDailyCheck/VehicleDailyChecksList?Result=${props.resultCode}&Status=${props.statusCode}`;\r\n\r\n const crumbs = useMemo(() => {\r\n return [\r\n { name: 'Home', path: '/' },\r\n { name: 'Daily Checks', active: true },\r\n { name: props.fromPage, active: true, onClick: editClose }\r\n ];\r\n }, [props.fromPage]);\r\n\r\n const inputChange = (e) => {\r\n const value = e.target.value;\r\n setState((st) => ({\r\n ...st,\r\n filterVal: value\r\n }));\r\n };\r\n\r\n useEffect(async () => {}, []);\r\n\r\n const gridBtnTitle = state.show ? 'Add Checks' : '';\r\n\r\n return (\r\n
\r\n {state.showAddCheck ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {props.role === 'DriveRole' ? (\r\n
\r\n
\r\n \r\n
\r\n   \r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n \r\n )}\r\n {state.editChecksShow ? (\r\n \r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={dataUrl}\r\n btnTitle={gridBtnTitle}\r\n onBtnClick={addCheck}\r\n isReload={state.isReload}\r\n />\r\n )}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default DailyCheckInternalUser;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllEmailTemplates = async () => {\r\n let res = await getWithAuth(`EmailTemplates`);\r\n return res;\r\n};\r\n\r\nexport const getEmailTemplatesById = async (id) => {\r\n let res = await getWithAuth(`EmailTemplates/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postEmailTemplatesData = async (data) => {\r\n let res = await postWithAuth(`EmailTemplates`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryCheckbox, SecondaryButton, MandatoryField, SimpleField } from '../../../../Core/Controls';\r\nimport { getEmailTemplatesById, postEmailTemplatesData } from '../../../../Core/Services/InternalUser/emailTemplateService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../../commonStyle.scss';\r\n\r\nfunction EmailTemplatesModal(props) {\r\n const [state, setState] = useState({\r\n code: '',\r\n subject: '',\r\n body: '',\r\n mode: 'A',\r\n active: true,\r\n errors: {}\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.data) {\r\n const data = props.data;\r\n setState((state) => ({\r\n ...state,\r\n code: data.code,\r\n subject: data.subject,\r\n body: data.body,\r\n mode: 'U',\r\n active: data.active,\r\n code1: data.code\r\n }));\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { code } = state;\r\n let emptyStrigPattern = RegExp('^[A-Z]{0,2}[0-9]{0,2}$');\r\n // /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!code) {\r\n errors.code = `Email Template code is required.`;\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const emailTemplatesData = {\r\n emailTemplateCode: state.code,\r\n emailTemplateSubject: state.subject,\r\n emailTemplateBody: state.body,\r\n mode: state.mode,\r\n emailTemplateActive: state.active == 'Yes' ? true : false\r\n };\r\n let res = await postEmailTemplatesData(emailTemplatesData);\r\n if (res.success) {\r\n showToastSuccess('Email Templates Updated sucessfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 \r\n {props.data ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default EmailTemplatesModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllEmailTemplates } from '../../../../Core/Services/InternalUser/emailTemplateService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport EmailTemplatesModal from './EmailTemplatesModal';\r\nimport { BreadCrumbs, AddButton, EditButton, formatters } from '../../../../Core/Controls';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Email Templates ', active: true }\r\n];\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'code', name: 'Code', width: '7%' },\r\n { key: 'subject', name: 'Subject' },\r\n { key: 'body', name: 'Body' },\r\n { key: 'createdBy', name: 'Created By', width: '10%' },\r\n { key: 'dateCreated', name: 'Date Created', formatter: formatters.Date_DDMMMYYYY_HHMM, width: '13%' },\r\n { key: 'updatedBy', name: 'Updated By', width: '10%' },\r\n { key: 'dateUpdated', name: 'Date Updated', formatter: formatters.Date_DDMMMYYYY_HHMM, width: '13%' }\r\n];\r\n\r\nfunction EmailTemplates(props) {\r\n const [state, setState] = useState({\r\n EmailTemplateList: [],\r\n loader: true,\r\n data: null,\r\n open: false\r\n });\r\n\r\n useEffect(async () => {\r\n pullEmailTemplates();\r\n }, []);\r\n\r\n const pullEmailTemplates = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const submitHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, data: params }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n submitHandler(row)} toolTipTitle=\"Edit Email Templates\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.data ? 'Update Email Templates' : 'Add Email Templates';\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false, data: null }));\r\n res && pullEmailTemplates();\r\n };\r\n\r\n return (\r\n
\r\n \r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Email Template\"\r\n onBtnClick={() => submitHandler(null)}\r\n />\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"sm\">\r\n closeModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\nexport default EmailTemplates;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getCustomerMessages = async (value) => {\r\n let res = await getWithAuth(`CustomerMessages?CustomerID=${value}`);\r\n return res;\r\n};\r\n\r\nexport const getCustomerMessagesList = async () => {\r\n let res = await getWithAuth(`CustomerMessages/GetCustomerList`);\r\n return res;\r\n};\r\n\r\nexport const postMessage = async (data) => {\r\n let res = await postWithAuth(`CustomerMessages/SendMessage`, data);\r\n return res;\r\n};\r\n\r\n// public class CustomerMessagesVM\r\n// {\r\n// public long? CustomerID { get; set; }\r\n// public string Message { get; set; }\r\n// }\r\n\r\n// api/CustomerMessages?CustomerID={value}=> get\r\n\r\n// don't pass if customer is null\r\n\r\n// api/CustomerMessages/GetCustomerList=> get\r\n\r\n// api/CustomerMessages/SendMessage=> post with above object\r\n","import { Grid, Paper, Button, OutlinedInput, InputAdornment, IconButton } from '@material-ui/core';\r\nimport React, { useEffect, useState, useRef } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport { SimpleField, BreadCrumbs } from '../../../Core/Controls';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport SendIcon from '@material-ui/icons/Send';\r\nimport moment from 'moment';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Badge from '@material-ui/core/Badge';\r\nimport { getCustomerMessages, getCustomerMessagesList, postMessage } from '../../../Core/Services/InternalUser/Message/message';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n paper: {\r\n width: '40%',\r\n marginLeft: 'auto',\r\n margin: 10,\r\n backgroundColor: '#fef0d2',\r\n padding: 20\r\n },\r\n outgoning: {\r\n width: '40%',\r\n margin: 10,\r\n backgroundColor: '#a7ebf3',\r\n padding: 20\r\n },\r\n empty: {\r\n textAlign: 'center',\r\n margin: 10,\r\n padding: 20\r\n },\r\n customScroll: {\r\n // height: '200px',\r\n overflow: 'auto',\r\n '&::-webkit-scrollbar': {\r\n width: '0.1em'\r\n },\r\n '&::-webkit-scrollbar-track': {\r\n boxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)',\r\n webkitBoxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)'\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n backgroundColor: '#1976d2',\r\n opacity: 5,\r\n outline: '1px solid slategrey'\r\n }\r\n },\r\n activeBorder: {\r\n borderLeft: '7px solid #1976d2 '\r\n }\r\n}));\r\n\r\nconst borderStyle = {\r\n br: {\r\n borderRight: '5px solid #ffae00'\r\n },\r\n bl: {\r\n borderLeft: '5px solid #1976d2'\r\n }\r\n};\r\n\r\nconst customerList = {\r\n width: '100%',\r\n height: 'calc(100vh - 280px)'\r\n};\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Message', active: true }\r\n];\r\n\r\nconst InternalUserChatting = () => {\r\n const { displayName } = useLoginInfo();\r\n const isCustomer = useLoginInfo().userRoles.includes('customer');\r\n const [state, setState] = useState({\r\n message: null,\r\n custList: [],\r\n customerID: '',\r\n customerName: null,\r\n messageList: [],\r\n sendMessage: false,\r\n showLoader: true,\r\n filterCustList: []\r\n });\r\n\r\n useEffect(async () => {\r\n let res = await getCustomerMessagesList();\r\n if (res.success) {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (!isCustomer) {\r\n newSt.custList = res.data.list;\r\n newSt.filterCustList = res.data.list;\r\n newSt.customerID = res.data.list[0]?.customerID;\r\n }\r\n return newSt;\r\n });\r\n }\r\n }, []);\r\n\r\n const AlwaysScrollToBottom = () => {\r\n const elementRef = useRef();\r\n useEffect(() => elementRef.current.scrollIntoView());\r\n return
;\r\n };\r\n\r\n const getMessages = async () => {\r\n let res = await getCustomerMessages(state.customerID);\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n messageList: res.data.list.sort((a, b) => (a.sdate > b.sdate ? 1 : b.sdate > a.sdate ? -1 : 0)),\r\n showLoader: false\r\n }));\r\n }\r\n };\r\n useEffect(async () => {\r\n getMessages();\r\n }, [state.customerID]);\r\n\r\n const onFilterChange = (e) => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n newSt.filterCustList = st.custList.filter((m) => m.customer.toLowerCase().includes(e.target.value));\r\n return newSt;\r\n });\r\n };\r\n\r\n const getMessage = (id) => {\r\n setState((st) => ({\r\n ...st,\r\n customerID: id,\r\n showLoader: true\r\n }));\r\n };\r\n\r\n function handleEnter(e) {\r\n if (e.key === 'Enter' || e.key === 'NumpadEnter') {\r\n submitMessage();\r\n }\r\n }\r\n const handleInput = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({\r\n ...st,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const validation = () => {\r\n let isValid = true;\r\n if (!state.message) {\r\n isValid = false;\r\n }\r\n if (!/[^\\s]/.test(state.message)) {\r\n isValid = false;\r\n }\r\n return isValid;\r\n };\r\n\r\n const submitMessage = async () => {\r\n if (validation()) {\r\n let data = {\r\n customerID: state.customerID,\r\n message: state.message\r\n };\r\n\r\n let res = await postMessage(data);\r\n if (res.success) {\r\n getMessages();\r\n setState((st) => ({\r\n ...st,\r\n message: ''\r\n }));\r\n }\r\n }\r\n };\r\n\r\n const classes = useStyles();\r\n\r\n return (\r\n
\r\n \r\n \r\n {' '}\r\n {!isCustomer && (\r\n \r\n \r\n Customers\r\n \r\n\r\n \r\n \r\n {state.filterCustList.map((item, index) => {\r\n const labelId = `checkbox-list-secondary-label-${item.customerID}`;\r\n return (\r\n getMessage(item.customerID)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n )}\r\n \r\n  \r\n {state.showLoader ? (\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n {state.messageList.length !== 0 ? (\r\n <>\r\n {state.messageList.map((m, i) => {\r\n let classText = m.name === displayName ? classes.outgoning : classes.paper;\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n {m.notes}\r\n
\r\n
\r\n \r\n {m.name} @ {moment(m.sdate).format('MMM Do YYYY, h:mm a')}\r\n \r\n
\r\n\r\n {m.rdate && (\r\n
\r\n seen {moment(m.rdate).format('MMM Do YYYY, h:mm a')}\r\n
\r\n )}\r\n
\r\n \r\n
\r\n );\r\n })}\r\n \r\n \r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n There are no messages sent/received\r\n
\r\n
\r\n {moment().format('MMM Do YYYY, h:mm a')}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\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 InternalUserChatting;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllEnquiry = async () => {\r\n let res = await getWithAuth('Leads');\r\n return res;\r\n};\r\n\r\nexport const getEnquiryScreenDropdowns = async () => {\r\n let res = await getWithAuth(`Leads/screenDropdowns`);\r\n return res;\r\n};\r\n\r\nexport const addNewEnquiry = async (data) => {\r\n let res = await postWithAuth('Leads', data);\r\n return res;\r\n};\r\n\r\nexport const getEnquiryById = async (Id) => {\r\n let res = await getWithAuth(`Leads/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const getEnquiryNotes = async (LeadNoteLeadID) => {\r\n let res = await getWithAuth(`LeadNotes/${LeadNoteLeadID}`);\r\n return res;\r\n};\r\n\r\nexport const addLeadNotes = async (data) => {\r\n let res = await postWithAuth('LeadNotes', data);\r\n return res;\r\n};\r\n\r\nexport const addLiveEnquiry = async (data) => {\r\n let res = await postWithAuth('Leads/LiveEnquiry', data);\r\n return res;\r\n};\r\n\r\nexport const addLeadFinalise = async (data) => {\r\n let res = await postWithAuth('Leads/LeadFinalise', data);\r\n return res;\r\n};\r\n","import { createContext, useEffect, useState } from 'react';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { emailValidation } from '../../../Core/Basic/StaticService';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { isNull } from 'lodash';\r\nimport {\r\n addNewEnquiry,\r\n getEnquiryScreenDropdowns,\r\n getEnquiryById,\r\n getEnquiryNotes\r\n} from '../../../Core/Services/InternalUser/ControllerService/EnquiriService';\r\nexport const EnquiriesScreenContext = createContext();\r\n\r\nexport const EnquiriesProvider = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n let history = useHistory();\r\n\r\n const [state, setState] = useState({\r\n errors: {},\r\n leadID: null,\r\n leadCompanyName: '',\r\n leadMainContactEmail: '',\r\n leadFleetSize: null,\r\n leadAdditionalInformation: '',\r\n leadAddress1: '',\r\n leadAddress2: '',\r\n leadMainContactPhone: '',\r\n leadMainContactName: '',\r\n leadPostcode: '',\r\n leadCounty: '',\r\n leadCountryCode: '',\r\n leadCity: '',\r\n leadReferrerName: '',\r\n leadReferrerEmail: '',\r\n leadStatusID: null,\r\n branchName: '',\r\n notesList: [],\r\n typeOfVehicleOptionId: null,\r\n leadLostReasonID: null,\r\n leadDateCreated: null,\r\n leadOutcomeDate: null\r\n });\r\n\r\n const validations = () => {\r\n const { leadMainContactEmail, leadMainContactPhone, leadCompanyName, leadReferrerName, leadMainContactName } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(leadReferrerName)) {\r\n errors.leadReferrerName = 'Name is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(leadCompanyName)) {\r\n errors.leadCompanyName = 'Company Name is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(leadMainContactName)) {\r\n errors.leadMainContactName = 'Contact Name is required';\r\n formIsValid = false;\r\n }\r\n let phoneReg = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/;\r\n if (!emailValidation(leadMainContactEmail) && /[^\\s]/.test(leadMainContactEmail) && !isNull(leadMainContactEmail)) {\r\n errors.leadMainContactEmail = 'Invalid Email Id';\r\n formIsValid = false;\r\n }\r\n if (!phoneReg.test(leadMainContactPhone)) {\r\n errors.leadMainContactPhone = 'Invalid Phone Number';\r\n formIsValid = false;\r\n }\r\n if (!tempOptions.leadReferrerBranchID) {\r\n errors.leadReferrerBranchID = 'Branch is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const [optionsState, setOptionState] = useState({\r\n leadTypeOfBusinessList: [],\r\n branchList: [],\r\n typeOfVehicleOption: [],\r\n leadLostReasonsList: [],\r\n leadStatusList: []\r\n });\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n leadTypeOfBusiness: null,\r\n leadReferrerBranchID: null,\r\n typeOfVehicleOption: [],\r\n typeOfVehicleValue: []\r\n });\r\n\r\n useEffect(async () => {\r\n let res = await getEnquiryScreenDropdowns();\r\n const typeOfvehicle = res?.data?.leadVehicleTypes.map((m) => ({ id: m.id, name: m.id1 }));\r\n setOptionState((st) => ({\r\n ...st,\r\n leadTypeOfBusinessList: res?.data?.businessTypes,\r\n branchList: res?.data?.branches,\r\n leadLostReasonsList: res?.data?.leadLostReasons,\r\n leadStatusList: res?.data?.leadStatus,\r\n typeOfVehicleOption: typeOfvehicle\r\n }));\r\n pullEnquiryByID();\r\n pullNotes();\r\n }, []);\r\n\r\n const ID = props?.match?.params?.id;\r\n const pullEnquiryByID = async () => {\r\n if (ID !== '0') {\r\n let res = await getEnquiryById(ID);\r\n const data = res?.data?.details[0];\r\n setState((st) => ({\r\n ...st,\r\n branchName: data?.branchName,\r\n leadLiveDate: data?.leadLiveDate,\r\n leadAdditionalInformation: data?.leadAdditionalInformation,\r\n leadAddress1: data?.leadAddress1,\r\n leadAddress2: data?.leadAddress2,\r\n leadCity: data?.leadCity,\r\n leadCompanyName: data?.leadCompanyName,\r\n leadDateCreated: data?.leadDateCreated,\r\n leadCountryCode: data?.leadCountryCode,\r\n leadCounty: data?.leadCounty,\r\n leadFleetSize: data?.leadFleetSize,\r\n leadStatusID: data?.leadStatusID,\r\n leadReferrerBranchID: data?.leadReferrerBranchID,\r\n leadReferrerEmail: data?.leadReferrerEmail,\r\n leadReferrerName: data?.leadReferrerName,\r\n leadLostReasonID: data?.leadLostReasonID,\r\n leadMainContactEmail: data?.leadMainContactEmail,\r\n leadMainContactName: data?.leadMainContactName,\r\n leadMainContactPhone: data?.leadMainContactPhone,\r\n leadPostcode: data?.leadPostcode,\r\n leadID: data?.leadID,\r\n leadTypeOfBusiness: data?.leadTypeOfBusiness,\r\n leadOutcomeDate: data?.leadOutcomeDate,\r\n typeOfVehicleOption: res.data?.leadSelectedVehicleTypes.map((m) => m.leadSelectedVehicleTypeID),\r\n leadSelectedVehicleTypes: res.data?.leadSelectedVehicleTypes || []\r\n }));\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n if (state.leadTypeOfBusiness) {\r\n newSt.leadTypeOfBusiness = optionsState.leadTypeOfBusinessList.find(({ id }) => id === state.leadTypeOfBusiness);\r\n }\r\n if (state.leadReferrerBranchID) {\r\n newSt.leadReferrerBranchID = optionsState.branchList.find(({ id }) => id === state.leadReferrerBranchID);\r\n }\r\n if (state.typeOfVehicleOption) {\r\n newSt.typeOfVehicleValue = optionsState.typeOfVehicleOption.filter((w) => state.typeOfVehicleOption.indexOf(w.id) > -1);\r\n }\r\n setTempOptions((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [optionsState, state.leadTypeOfBusiness, state.leadReferrerBranchID, state.typeOfVehicleOption]);\r\n\r\n const pullNotes = async () => {\r\n if (ID !== '0') {\r\n let res = await getEnquiryNotes(ID);\r\n setState((st) => ({ ...st, notesList: res?.data?.list }));\r\n }\r\n };\r\n\r\n const typeOfVehicleChange = (e, value) => {\r\n setTempOptions((st) => ({ ...st, typeOfVehicleValue: value }));\r\n setState((st) => {\r\n const nst = { ...st, typeOfVehicleOptionId: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n\r\n const inputChange = (e) => {\r\n const { name, value, type } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: true }));\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setState((st) => ({ ...st, [name]: value }));\r\n }\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n let data = {\r\n leadID: state.leadID,\r\n leadCompanyName: state.leadCompanyName,\r\n leadMainContactEmail: state.leadMainContactEmail,\r\n leadFleetSize: state.leadFleetSize,\r\n leadAdditionalInformation: state.leadAdditionalInformation,\r\n leadCountryCode: state.leadCountryCode,\r\n leadTypeOfBusiness: tempOptions.leadTypeOfBusiness?.id || null,\r\n leadMainContactPhone: state.leadMainContactPhone,\r\n leadMainContactName: state.leadMainContactName,\r\n leadAddress2: state.leadAddress2,\r\n leadAddress1: state.leadAddress1,\r\n leadPostcode: state.leadPostcode,\r\n leadCounty: state.leadCounty,\r\n leadCity: state.leadCity,\r\n leadReferrerName: state.leadReferrerName,\r\n leadReferrerEmail: state.leadReferrerEmail,\r\n leadReferrerBranchID: tempOptions.leadReferrerBranchID?.id || null,\r\n leadSelectedVehicleTypesVM:\r\n tempOptions.typeOfVehicleValue?.map((m) => ({\r\n id: m.id\r\n })) || []\r\n };\r\n let res = await addNewEnquiry(data);\r\n if (res.success) {\r\n showToastSuccess(res.message || 'Data saved successfully');\r\n history.goBack();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n const GotoEditMode = () => {\r\n history.push(`/Enquiries/add/${state.leadID}`);\r\n };\r\n\r\n const setVal = (s) => {\r\n setState((st) => ({\r\n ...st,\r\n leadAddress1: s.addressLine1,\r\n leadAddress2: s.addressLine2,\r\n leadCounty: s.county,\r\n leadCity: s.town,\r\n leadPostcode: s.postCode\r\n }));\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { SecondaryButton, SingleSelect, InputText, AppButtonGroup } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { addLeadFinalise } from '../../../../Core/Services/InternalUser/ControllerService/EnquiriService';\r\n\r\nconst StatusModal = (props) => {\r\n const [state, setState] = useState({\r\n errors: {},\r\n leadStatusID: '',\r\n lostReasonID: '',\r\n comment: '',\r\n leadStatusList: [\r\n { id: 3, name: 'Successful' },\r\n { id: 4, name: 'Lost' }\r\n ]\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const validations = () => {\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(state.comment)) {\r\n errors.comment = 'Comment is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(state.leadStatusID)) {\r\n errors.statusId = 'Status is required';\r\n formIsValid = false;\r\n }\r\n if (state.leadStatusID == 4 && !/[^\\s]/.test(state.lostReasonID)) {\r\n errors.reasonId = 'Reason is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const SubmitHandler = async () => {\r\n if (validations()) {\r\n let FormData = {\r\n leadID: props.leadID,\r\n statusID: state.leadStatusID,\r\n Description: state.comment,\r\n lostReasonID: state.lostReasonID?.id\r\n };\r\n let res = await addLeadFinalise(FormData);\r\n if (res.success) {\r\n showToastSuccess('Status updated successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n const InputChangeHandler = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n const onBtnSelected = (o) => {\r\n setState((dt) => ({\r\n ...dt,\r\n ...o\r\n }));\r\n };\r\n return (\r\n \r\n \r\n \r\n Lead Status\r\n \r\n \r\n {state.errors.statusId}\r\n \r\n \r\n \r\n Lost Reason\r\n \r\n \r\n {state.errors.reasonId}\r\n \r\n \r\n Comment\r\n \r\n {state.errors.comment}\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default StatusModal;\r\n","import React, { useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel } from '@material-ui/core';\r\nimport { SecondaryButton, InputText } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { addLiveEnquiry } from '../../../../Core/Services/InternalUser/ControllerService/EnquiriService';\r\n\r\nconst LiveEquityModal = (props) => {\r\n const [state, setState] = useState({\r\n errors: {},\r\n description: ''\r\n });\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const SubmitHandler = async () => {\r\n let FormData = {\r\n leadID: props.leadID,\r\n description: state.description\r\n };\r\n let res = await addLiveEnquiry(FormData);\r\n if (res.success) {\r\n showToastSuccess('Live enquiry saved successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n const InputChangeHandler = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n return (\r\n \r\n \r\n Note\r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default LiveEquityModal;\r\n","import React, { useEffect } from 'react';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport clsx from 'clsx';\r\nimport Stepper from '@material-ui/core/Stepper';\r\nimport Step from '@material-ui/core/Step';\r\nimport StepLabel from '@material-ui/core/StepLabel';\r\nimport GroupAddIcon from '@material-ui/icons/GroupAdd';\r\nimport VideoLabelIcon from '@material-ui/icons/VideoLabel';\r\nimport StepConnector from '@material-ui/core/StepConnector';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport AutorenewIcon from '@material-ui/icons/Autorenew';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport '../../Maintenance/BreackdownDefectStepper/defect.scss';\r\nimport StatusModal from './statusModal';\r\nimport LiveEquityModal from './liveEnquiryModal';\r\nimport { formatters } from '../../../../Core/Controls';\r\nimport Typography from '@material-ui/core/Typography';\r\n\r\nconst ColorlibConnector = withStyles({\r\n alternativeLabel: {\r\n top: 15\r\n },\r\n active: {\r\n '& $line': {\r\n backgroundImage: 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)'\r\n }\r\n },\r\n completed: {\r\n '& $line': {\r\n backgroundImage: 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)'\r\n }\r\n },\r\n line: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: '#eaeaf0',\r\n borderRadius: 1\r\n }\r\n})(StepConnector);\r\n\r\nconst useColorlibStepIconStyles = makeStyles({\r\n root: {\r\n backgroundColor: '#ccc',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 25,\r\n height: 25,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n ['@media (max-width:780px)']: {\r\n width: (active) => (active ? 35 : 25),\r\n height: (active) => (active ? 35 : 25),\r\n marginTop: (active) => (active ? '0px' : '4px')\r\n }\r\n },\r\n active: {\r\n backgroundImage: 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)',\r\n boxShadow: '0 4px 10px 0 rgba(0,0,0,.25)'\r\n },\r\n completed: {\r\n backgroundImage: 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)'\r\n },\r\n icons: {\r\n fontSize: '1.0rem',\r\n ['@media (max-width:780px)']: {\r\n fontSize: (active) => (active ? '1.0rem' : '0.5rem')\r\n }\r\n }\r\n});\r\n\r\nconst ColorlibStepIcon = (props) => {\r\n const { active, completed, stepCount } = props;\r\n const classes = useColorlibStepIconStyles(active);\r\n\r\n const icons = [, , ];\r\n\r\n if (stepCount === 6) {\r\n icons.splice(3, 0, );\r\n }\r\n return (\r\n \r\n {icons[props.icon - 1]}\r\n \r\n );\r\n};\r\n\r\nconst ColorlibStepIconWrapper = (stepCount) => {\r\n return (props) => ;\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%'\r\n },\r\n button: {\r\n marginRight: theme.spacing(1)\r\n },\r\n instructions: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1)\r\n }\r\n}));\r\n\r\nexport default function EnquiryStepper(props) {\r\n const classes = useStyles();\r\n\r\n const [activeStep, setActiveStep] = React.useState(1);\r\n\r\n const [step, setStep] = React.useState({ statusShow: false, show: false, steps: [] });\r\n\r\n useEffect(async () => {\r\n let TempStep = [\r\n {\r\n title: 'New Enquiry',\r\n isBtn: false,\r\n value: formatters.DateTimeFormatter(props.data?.leadDateCreated)\r\n },\r\n {\r\n title: 'Live Enquiry',\r\n isBtn: props.data?.leadLiveDate ? null : ,\r\n value: formatters.DateTimeFormatter(props.data?.leadLiveDate)\r\n },\r\n {\r\n ...{ title: +props.data?.leadStatusID == 4 ? 'Lost' : +props.data?.leadStatusID == 3 ? 'Successful' : 'Status' },\r\n isBtn: props.data?.leadOutcomeDate ? null : ,\r\n value: formatters.DateTimeFormatter(props.data?.leadOutcomeDate)\r\n }\r\n ];\r\n setActiveStep(props.data?.leadStatusID || 0);\r\n\r\n setStep((st) => ({ ...st, steps: TempStep }));\r\n }, [props.data?.leadStatusID, props.data?.leadLostReasonID]);\r\n\r\n const closeModal = (res) => {\r\n setStep((st) => ({\r\n ...st,\r\n show: false,\r\n statusShow: false\r\n }));\r\n res && props.onClose(res);\r\n };\r\n\r\n const popUpHandler = (label) => {\r\n if (label === 'Live Enquiry') {\r\n setStep((st) => ({\r\n ...st,\r\n show: true\r\n }));\r\n }\r\n if (label === 'Status') {\r\n setStep((st) => ({\r\n ...st,\r\n statusShow: true\r\n }));\r\n }\r\n };\r\n\r\n return (\r\n
\r\n }\r\n style={{\r\n padding: '5px 0px 5px 0px',\r\n margin: '0px -5px 0px -5px'\r\n }}\r\n >\r\n {step.steps.map((label, i) => (\r\n \r\n \r\n \r\n
\r\n
\r\n {label.title}\r\n {!label.value && label.isBtn ? (\r\n {\r\n popUpHandler(label.title);\r\n }}\r\n disabled={activeStep === i ? false : true}\r\n >\r\n {label.isBtn}\r\n \r\n ) : null}\r\n
\r\n \r\n {label.value}\r\n \r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n \r\n {step.show ? (\r\n closeModal(false)} overflow=\"auto\" maxWidth=\"md\">\r\n closeModal(true)} />\r\n \r\n ) : null}\r\n {step.statusShow ? (\r\n closeModal(false)} overflow=\"auto\" maxWidth=\"sm\">\r\n closeModal(true)} leadLostReasonsList={props.leadLostReasonsList} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\n","import React, { useContext, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { SecondaryButton, BreadCrumbs, MandatoryField, SimpleField, Multiselect, SingleSelect } from '../../../Core/Controls';\r\nimport { EnquiriesProvider, EnquiriesScreenContext } from './EnquirieProvider';\r\nimport EnquiryStepper from './EnquiryStepper/EnquiryStepper';\r\nimport { Postcode } from '../../../Core/Controls';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Enquiries', path: '/Enquiries' },\r\n { name: 'Add New Enquiry', active: true }\r\n];\r\n\r\nconst AddEnquiries = (props) => {\r\n const { state, handleSubmit, inputChange, pullEnquiryByID, pullNotes, setVal, singleSelectChange, optionsState, tempOptions, typeOfVehicleChange } =\r\n useContext(EnquiriesScreenContext);\r\n const [data, setData] = useState({});\r\n\r\n const history = useHistory();\r\n\r\n const closeNoteModal = (res) => {\r\n setData((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullEnquiryByID();\r\n res && pullNotes();\r\n };\r\n return (\r\n
\r\n {!props.customerID ? : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Company Details\r\n \r\n
\r\n \r\n \r\n \r\n {state.errors.leadCompanyName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.leadAddress1}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n Main Contact\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n Fleet Info\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Type Of Business\r\n \r\n {state.errors.leadTypeOfBusiness}\r\n \r\n \r\n Type of Vehicles\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n Additional 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 Lead Contact\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Branch\r\n \r\n {state.errors.leadReferrerBranchID}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n {state.leadID ? 'Update' : 'Add'}\r\n \r\n \r\n {\r\n // props.history.push(`Enquiries`);\r\n history.goBack();\r\n }}\r\n >\r\n Cancel\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { EditButton, BreadCrumbs, DataGrid, formatters, SecondaryButton } from '../../../Core/Controls';\r\nimport { CustomChip } from '../../../Core/Controls';\r\nimport AddNewEnquiries from './AddNewEnquiries';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { getAllEnquiry } from '../../../Core/Services/InternalUser/ControllerService/EnquiriService';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst crumbsObj = { 1: 'New Enquiries', 2: 'Live Enquiries', 3: 'Successful Enquiries', 4: 'Lost Enquiries' };\r\nconst setEnquiry = { 1: 'new_enquiry', 2: 'live_enquiry', 3: 'successful_enquiry', 4: 'lost_enquiry' };\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%', addFileUploaderIcon: true },\r\n { key: 'leadCompanyName', name: 'Company Name' },\r\n { key: 'leadMainContactName', name: 'Contact Name' },\r\n { key: 'leadMainContactPhone', name: 'Contact Phone' },\r\n { key: 'leadMainContactEmail', name: 'Contact Email' },\r\n { key: 'leadCity', name: 'City' },\r\n { key: 'leadReferrerName', name: 'Referrer Name' }\r\n];\r\n\r\nconst EnquiriesScreen = (props) => {\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n EnquiriesID: null,\r\n enquiriesList: [],\r\n showLoader: true,\r\n isReload: null\r\n });\r\n\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: crumbsObj[props.id], active: true }\r\n ];\r\n\r\n let history = useHistory();\r\n\r\n const pullEnquiriesData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const actionButton = (data, row) => {\r\n return (\r\n
\r\n handleEnquiriesUpdate(row?.leadID)} toolTipTitle=\"Edit Enquiries\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = actionButton;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleEnquiriesUpdate = (params) => {\r\n history.push(`edit/${params}?${setEnquiry[props.id]}`);\r\n };\r\n\r\n const handleEnquiriesAdd = () => {\r\n history.push(`add/0`);\r\n };\r\n\r\n const closeAddDialog = (res) => {\r\n setState((state) => ({ ...state, modalToggle: false }));\r\n res && pullEnquiriesData();\r\n };\r\n\r\n let getUrl = `Leads?LeadStatusID=${props.id}`;\r\n\r\n return (\r\n
\r\n {state.modalToggle ? (\r\n \r\n ) : (\r\n <>\r\n {!props.VehicleID && }\r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n fileUploaderConfigName=\"Enquiries\"\r\n idFieldName=\"EnquiriesID\"\r\n btnTitle={'Add Enquiry'}\r\n onBtnClick={handleEnquiriesAdd}\r\n isReload={state.isReload}\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default EnquiriesScreen;\r\n","import React, { useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { InputText, SecondaryButton } from '../../../Core/Controls';\r\nimport { addLeadNotes } from '../../../Core/Services/InternalUser/ControllerService/EnquiriService';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\n\r\nconst AddEditLeadNotes = (props) => {\r\n const [state, setState] = useState({\r\n leadNoteID: props.leadNoteID || null,\r\n leadNoteLeadID: props.leadNoteLeadID || null,\r\n leadNoteDescription: ''\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const handleSubmit = async () => {\r\n const data = {\r\n leadNoteID: state.leadNoteID,\r\n leadNoteLeadID: state.leadNoteLeadID,\r\n leadNoteDescription: state.leadNoteDescription\r\n };\r\n let res = await addLeadNotes(data);\r\n if (res.success) {\r\n showToastSuccess('Note saved successfully');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n return (\r\n \r\n \r\n Description\r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n );\r\n};\r\nexport default AddEditLeadNotes;\r\n","import React, { useContext, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, Typography } from '@material-ui/core';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport { formatters, DataGrid, BreadCrumbs } from '../../../Core/Controls';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { EnquiriesProvider, EnquiriesScreenContext } from './EnquirieProvider';\r\nimport EnquiryStepper from './EnquiryStepper/EnquiryStepper';\r\nimport '../Controllers/controllerStyle.scss';\r\nimport AddEditLeadNotes from './AddEnquiryNotes';\r\nimport { CustomChip } from '../../../Core/Controls';\r\nimport '../Maintenance/BreackdownDefectStepper/defect.scss';\r\nimport FileUploaderButton from '../../../Core/Controls/GenericFileUploader';\r\n\r\nconst columns = [\r\n { key: 'leadNoteDateCreated', name: 'Created', width: 150, formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'leadNoteDescription', name: 'Notes' }\r\n];\r\n\r\nconst crumbsObj = { new_enquiry: 'New Enquiries', live_enquiry: 'Live Enquiries', successful_enquiry: 'Successful Enquiries', lost_enquiry: 'Lost Enquiries' };\r\n\r\nconst EnquiryEditModal = (props) => {\r\n let setVal = props?.location?.search.replace('?', '').trim();\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: crumbsObj[setVal], path: `/enquiries/${setVal}` },\r\n { name: 'Edit Enquiry', active: true }\r\n ];\r\n const { state, pullEnquiryByID, pullNotes, GotoEditMode, optionsState } = useContext(EnquiriesScreenContext);\r\n const [data, setData] = useState({});\r\n\r\n const closeNoteModal = (res) => {\r\n setData((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullEnquiryByID();\r\n res && pullNotes();\r\n };\r\n\r\n const addNotes = (res) => {\r\n setData((st) => ({\r\n ...st,\r\n show: true\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 Enquiry Details\r\n \r\n \r\n\r\n \r\n \r\n   \r\n \r\n \r\n \r\n \r\n \r\n \r\n Company Name\r\n {state.leadCompanyName || 'N\\\\A'}\r\n \r\n \r\n Address\r\n \r\n {formatters.addressFormatter(state.leadAddress1, state.leadAddress2, state.leadCity, state.leadPostcode)}\r\n \r\n \r\n \r\n \r\n \r\n Contact Name\r\n {state.leadMainContactName || 'N\\\\A'}\r\n \r\n \r\n Email\r\n {formatters.mailFormatter(state.leadMainContactEmail)}\r\n \r\n \r\n Phone Number\r\n {formatters.phoneNumberFormatter(state.leadMainContactPhone)}\r\n \r\n \r\n \r\n \r\n Fleet Size\r\n {state.leadFleetSize || 'N\\\\A'}\r\n \r\n \r\n Type Of Vehicles\r\n \r\n {state?.leadSelectedVehicleTypes?.map((m) => {\r\n return m?.leadVehicleTypeDescription + ' ';\r\n }) || 'N\\\\A'}\r\n \r\n \r\n \r\n \r\n \r\n Referrer Name\r\n {null || 'N\\\\A'}\r\n \r\n \r\n Referrer Email\r\n {formatters.mailFormatter(state.leadReferrerEmail)}\r\n \r\n \r\n Branch Name\r\n {state.branchName || 'N\\\\A'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Enquiry Notes\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.show ? (\r\n closeNoteModal(false)} maxWidth=\"md\">\r\n closeNoteModal(true)} {...props} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport '../../../commonStyle.scss';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport ServiceAgentDetails from '../DetailsModal/serviceAgent.jsx';\r\nimport CustomerDetails from '../DetailsModal/customerDetails.jsx';\r\nimport DepotDetails from '../DetailsModal/depotDetails.jsx';\r\nimport ReactDOM from 'react-dom';\r\nimport AddEditNotes from '../../Controllers/Notes/jobNotes'; //'./addEditNotes';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport { Grid, Switch } from '@material-ui/core';\r\nimport AddEditJobsNotes from '../JOBS/JobDetails/Internal/addUpdateJobNotes';\r\nconst getCrumbs = (code) => {\r\n let temp = {};\r\n let final = [{ name: 'Home', path: '/' }];\r\n switch (code) {\r\n case 'BR':\r\n temp = { name: 'Breakdown Roadside', active: true };\r\n break;\r\n case 'DD':\r\n temp = { name: 'Job Defects', active: true };\r\n break;\r\n case 'BO':\r\n temp = { name: 'Breakdown Onsite', active: true };\r\n break;\r\n default:\r\n temp = { name: 'Job Tracking', active: true };\r\n }\r\n\r\n final.push(temp);\r\n return final;\r\n};\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 100 },\r\n { key: 'actionDate', name: 'Date', formatter: formatters.Date_DDMMMYYYY_HHMM, width: 163 },\r\n { key: 'notes', name: 'Reminder Information', width: 400 },\r\n { key: 'number', name: 'Number', width: 100 },\r\n {\r\n key: 'type',\r\n name: 'Type',\r\n width: 100\r\n },\r\n { key: 'regNumber', name: 'Reg Number', width: 120 },\r\n { key: 'depotName', name: 'Depot' },\r\n { key: 'customer', name: 'Customer' },\r\n { key: 'agentName', name: 'Service Agent' },\r\n { key: 'userName', name: 'User' }\r\n];\r\n\r\nconst JobTracking = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n isReload: null,\r\n filterFlag: false\r\n });\r\n let history = useHistory();\r\n\r\n const pullApiData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date(),\r\n showLoader: false\r\n }));\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val.jobID}/${val.vehicleID}`,\r\n state: 'jobrem'\r\n });\r\n };\r\n const handleEditDefect = (val) => {\r\n history.push({\r\n pathname: `/maintenance/defect/edit/${val?.defectID}/${val?.vehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n const handleEditBreakdown = (val) => {\r\n history.push({\r\n pathname: `/maintenance/breakdowns/Edit/${val?.defectID}/${val?.vehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.vehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n const openNotesModal = (row) => {\r\n let newSt = {};\r\n if (row.type == 'Job') newSt.showJobNotes = true;\r\n else newSt.open = true;\r\n newSt.selectedRowData = row;\r\n setState((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n };\r\n const renderEdit = (ev, row) => {\r\n return (\r\n \r\n {checkhaveAccess?.CanViewNotes && (\r\n {\r\n openNotesModal(row);\r\n }}\r\n />\r\n )}\r\n {checkhaveAccess?.CanViewJobs && handleEditClick(row)} />}\r\n {row.defectID && (\r\n handleUpdate(row, null, 'modalEditDetail')}\r\n onClick={() => (row.type === 'D' ? handleEditDefect(row) : handleEditBreakdown(row))}\r\n toolTipTitle={`${row.type === 'D' ? 'Edit Defect' : 'Edit Breakdown'} `}\r\n />\r\n )}\r\n \r\n );\r\n };\r\n\r\n const dialogTitle = () => {\r\n return (\r\n \r\n Edit Note{' '}\r\n \r\n {state.selectedRowData.orderNo} {state.selectedRowData.regNumber}\r\n \r\n \r\n );\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.regNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.agentName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderDepotName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showDepotModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.depotName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.customer}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n let agentNameCol = tempCols.find((element) => element.key === 'agentName');\r\n let customerNameCol = tempCols.find((element) => element.key === 'customer');\r\n let depotNameCol = tempCols.find((element) => element.key === 'depotName');\r\n let regNumberCol = tempCols.find((element) => element.key === 'regNumber');\r\n if (regNumberCol) {\r\n regNumberCol.formatter = renderRegNumberEdit;\r\n }\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n if (depotNameCol) {\r\n depotNameCol.formatter = renderDepotName;\r\n }\r\n if (customerNameCol) {\r\n customerNameCol.formatter = renderCustomerName;\r\n }\r\n if (agentNameCol) {\r\n agentNameCol.formatter = renderAgentName;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showSaModal: false,\r\n showCustomerModal: false,\r\n showDepotModal: false,\r\n showJobNotes: false\r\n }));\r\n };\r\n\r\n const handleNotesClose = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showJobNotes: false\r\n }));\r\n res && pullApiData();\r\n };\r\n let crumbs = getCrumbs(props.id);\r\n let getUrl = `VehicleJob/JobTracking?DefectTypeCode=${props.id || ''}&all=${state.filterFlag}`;\r\n\r\n const handleChange = (event) => {\r\n const { name, checked } = event.target;\r\n let tempSt = {};\r\n if (name === 'filterFlag') {\r\n tempSt = {\r\n filterFlag: checked\r\n };\r\n }\r\n\r\n setState((st) => ({ ...st, ...tempSt }));\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n Filter : Due\r\n \r\n \r\n \r\n All\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n getUrl={getUrl}\r\n />\r\n {state.open ? (\r\n handleNotesClose(false)}\r\n NoteID={state.selectedRowData.noteID}\r\n defectID={state.selectedRowData.defectID}\r\n noteRefsGuidID={state.selectedRowData.defectID}\r\n frompage=\"Defects\"\r\n onFormSubmit={handleNotesClose}\r\n titleModal={dialogTitle()}\r\n notesTitle=\"Defects\"\r\n agentName={state.selectedRowData.agentName}\r\n agentNameID={state.selectedRowData.jobServiceAgentID}\r\n />\r\n ) : null}\r\n {state.showJobNotes ? (\r\n handleNotesClose(false)}\r\n jobID={state.selectedRowData.jobID}\r\n onFormSubmit={handleNotesClose}\r\n />\r\n ) : null}\r\n {state.showSaModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default JobTracking;\r\n","import { FormHelperText, Grid, InputLabel } from '@material-ui/core';\r\nimport moment from 'moment';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { DatePicker, SecondaryButton, SelectBox, SingleSelect } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport {\r\n getCustomersListDropdowns,\r\n getSchedulePlannerData,\r\n getSchedulePlannerDropdowns,\r\n getVehicleScreenDropdowns\r\n} from '../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\n\r\nconst startOfMonth = moment().startOf('month').format('YYYY-MM-DD');\r\nconst endOfMonth = moment().endOf('month').format('YYYY-MM-DD');\r\n\r\nconst SchedulePlannerScreen = () => {\r\n const [state, setState] = useState({\r\n customerList: [],\r\n depotWithCustList: [],\r\n endUserWithCustList: [],\r\n serviceAgentsWithCustList: [],\r\n pdfData: '',\r\n fromDate: startOfMonth,\r\n toDate: endOfMonth,\r\n depotsID: '',\r\n customerID: '',\r\n scheduleEndUserIDValue: '',\r\n scheduleDepotsIDValue: '',\r\n scheduleCustomerIDValue: '',\r\n scheduleServiceAgentIDValue: '',\r\n isDisabled: false,\r\n endUserWildCard: ''\r\n });\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n let resCust = await getCustomersListDropdowns();\r\n setState((st) => ({\r\n ...st,\r\n customerList: resCust.data.customer.table\r\n }));\r\n }, []);\r\n\r\n useEffect(async () => {\r\n let Depots = [];\r\n let endUsers = [];\r\n let serviceAgents = [];\r\n if (state.scheduleCustomerIDValue?.id) {\r\n let resCust = await getSchedulePlannerDropdowns(state.scheduleCustomerIDValue?.id);\r\n Depots = resCust.data.depots;\r\n endUsers = resCust.data.endUsers;\r\n serviceAgents = resCust.data.serviceAgents;\r\n setState((st) => ({\r\n ...st,\r\n depotWithCustList: Depots,\r\n scheduleDepotsIDValue: '',\r\n endUserWithCustList: endUsers,\r\n serviceAgentsWithCustList: serviceAgents\r\n }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n depotWithCustList: [],\r\n scheduleDepotsIDValue: '',\r\n endUserWithCustList: endUsers,\r\n scheduleEndUserIDValue: '',\r\n serviceAgentsWithCustList: serviceAgents,\r\n scheduleServiceAgentIDValue: ''\r\n }));\r\n }\r\n }, [state.scheduleCustomerIDValue?.id]);\r\n\r\n const downloadPdf = async (fileType) => {\r\n let res = await getSchedulePlannerData(\r\n state.fromDate,\r\n state.toDate,\r\n state.scheduleCustomerIDValue?.id || '',\r\n state.scheduleDepotsIDValue?.id || '',\r\n state.scheduleServiceAgentIDValue?.id || '',\r\n state.scheduleEndUserIDValue?.id || '',\r\n fileType,\r\n state.endUserWildCard\r\n );\r\n if (res) {\r\n const url = window.URL.createObjectURL(new Blob([res.data]));\r\n const link = document.getElementById('tempDownloadPDFLink') || document.createElement('a');\r\n link.id = 'tempDownloadPDFLink';\r\n link.href = url;\r\n link.setAttribute('download', `SchedulePlanner${moment().format('DD-MMM-YYYY HH:mm')}.${fileType}`);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n return true;\r\n }\r\n };\r\n\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => {\r\n let newSt = { ...st, [name]: value };\r\n // newSt.isDisabled = newSt.customerID || false;\r\n return newSt;\r\n });\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (nm == 'scheduleEndUserIDValue' && typeof val != 'object') {\r\n newSt.endUserWildCard = val;\r\n } else {\r\n newSt[nm] = val;\r\n }\r\n newSt.isDisabled = newSt.scheduleCustomerIDValue || false;\r\n return newSt;\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Select Customer\r\n \r\n \r\n \r\n \r\n Select Depots\r\n \r\n \r\n \r\n Service Agent\r\n \r\n \r\n \r\n End User\r\n \r\n \r\n \r\n From\r\n \r\n \r\n \r\n To\r\n \r\n \r\n \r\n \r\n \r\n \r\n downloadPdf('pdf')} disabled={!state.isDisabled}>\r\n Get Schedule planner PDF\r\n \r\n \r\n \r\n downloadPdf('xlsx')} disabled={!state.isDisabled}>\r\n Get Schedule planner Excel\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n \r\n Get Schedule planner\r\n \r\n \r\n */}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default SchedulePlannerScreen;\r\n","export const PULLINSPECTIONAPIDATA = \"PULLINSPECTIONAPIDATA\";\r\nexport const HANDELCHECK = \"HANDELCHECK\";\r\nexport const HANDELCLOSE = \"HANDELCLOSE\";","import { PULLINSPECTIONAPIDATA, HANDELCHECK, HANDELCLOSE } from '../../../Action/actionName';\r\nexport const initState = {\r\n open: false,\r\n selectedRowData: {},\r\n isAdd: true,\r\n showBred: true,\r\n isReload: null\r\n};\r\nexport let reducer = function (state, action) {\r\n switch (action.type) {\r\n case PULLINSPECTIONAPIDATA:\r\n return { ...state, isReload: new Date() };\r\n case HANDELCHECK:\r\n return { ...state, showEditChecks: true, selectedRowData: action.payload, showBred: false };\r\n case HANDELCLOSE:\r\n return { ...state, showEditChecks: false, selectedRowData: {}, showBred: true };\r\n default:\r\n return {state };\r\n }\r\n};\r\n","import { useReducer, useMemo, useEffect } from 'react';\r\nimport { formatters, BreadCrumbs } from '../../../Core/Controls';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport { reducer, initState } from './inspectionReducer';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { HANDELCLOSE, PULLINSPECTIONAPIDATA, HANDELCHECK } from '../../../Action/actionName';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport EditVehicleDailyChecks from '../Controllers/Vehicles/VehicleDailyChecks/editVehicleDailyCheck';\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 60, addFileUploaderIcon: true },\r\n { key: 'vehicleRegNumber', name: 'Reg Number', width: 110 },\r\n { key: 'scheduleEventName', name: 'Event', width: 130 },\r\n { key: 'dueDateISOWeek', name: 'ISO Week', width: 90 },\r\n {\r\n key: 'scheduleDateDue',\r\n name: 'Due',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 90\r\n },\r\n {\r\n key: 'bookingDate',\r\n name: 'Booked',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 110\r\n },\r\n { key: 'customer', name: 'Customer', width: 140 },\r\n { key: 'depot', name: 'Depot', width: 140 },\r\n {\r\n key: 'agent',\r\n name: 'Agent',\r\n width: 150\r\n }\r\n];\r\nexport default function VehicleInspection(props) {\r\n const [state, dispatch] = useReducer(reducer, initState);\r\n\r\n const renderEdit = (ev, row) => {\r\n return (\r\n
\r\n {\r\n dispatch({ type: HANDELCHECK, payload: row });\r\n }}\r\n toolTipTitle=\"Edit Inspection Check\"\r\n />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const getCrumbs = () => {\r\n let temp = {};\r\n let crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Inspections', active: true }\r\n ];\r\n if (props.status == '1') {\r\n temp = { name: 'Repair Required', active: true };\r\n } else if (props.status == '2') {\r\n temp = { name: ' Repair In Progress', active: true };\r\n } else if (props.status == '3') {\r\n temp = { name: 'Awaiting Sign Off', active: true };\r\n } else if (props.status == '4') {\r\n temp = { name: 'Signed Off', active: true };\r\n }\r\n crumbs.push(temp);\r\n return crumbs;\r\n };\r\n\r\n return (\r\n
\r\n {state.showBred ? : null}\r\n {state.showEditChecks ? (\r\n dispatch({ type: HANDELCLOSE })} frompage={true} />\r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n getUrl={`VehicleInspection/GetInspections?status=${props.status}`}\r\n />\r\n )}\r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../Core/Controls';\r\nimport JobScreenModal from '../Controllers/JOBS/JobScreenModal';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { useHistory } from 'react-router-dom';\r\nimport JobQueryModal from '../Controllers/JOBS/JobStatusBtn/JobQuery';\r\nimport SpeakerNotesIcon from '@material-ui/icons/SpeakerNotes';\r\nimport ReactDOM from 'react-dom';\r\nimport DepotDetails from '../Controllers/DetailsModal/depotDetails';\r\nimport CustomerDetails from '../Controllers/DetailsModal/customerDetails';\r\nimport ServiceAgentDetails from '../Controllers/DetailsModal/serviceAgent';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\n\r\nconst base_columns = [\r\n // { key: 'action', name: 'Action', width: 120, addFileUploaderIcon: true },\r\n { key: 'jobDate', name: 'Date', formatter: formatters.Date_DDMMYYYY, width: 115 },\r\n { key: 'orderNo', name: 'Order No', width: 100 },\r\n { key: 'agentName', name: 'Service Agent', width: 150 },\r\n { key: 'depotName', name: 'Depot' },\r\n {\r\n key: 'partsTotal',\r\n name: 'Parts',\r\n formatter: formatters.NumberWithPound,\r\n align: 'right',\r\n width: 110\r\n },\r\n {\r\n key: 'labourTotal',\r\n name: 'Labour',\r\n formatter: formatters.NumberWithPound,\r\n align: 'right',\r\n width: 110\r\n },\r\n {\r\n key: 'orderTotal',\r\n name: 'Total',\r\n formatter: formatters.NumberWithPound,\r\n align: 'right',\r\n width: 110\r\n }\r\n];\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Deleted Records', active: true },\r\n { name: 'Deleted Jobs', active: true }\r\n];\r\n\r\nfunction DeletedJobs(props) {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const history = useHistory();\r\n let getUrl = `VehicleJob/DeletedJob`;\r\n const [state, setState] = useState({\r\n jobList: [],\r\n loader: true,\r\n open: false\r\n });\r\n useEffect(async () => {\r\n pullJobList();\r\n }, []);\r\n\r\n const pullJobList = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const jobHandler = (params) => {\r\n setState((state) => ({ ...state, open: true }));\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.jobID}/${val?.vehicleID}`,\r\n search: '',\r\n state: 'jobs'\r\n });\r\n };\r\n\r\n const handleShowQueries = (val) => {\r\n setState((state) => ({ ...state, showJobQuery: true, jobID: val?.jobID }));\r\n };\r\n\r\n const closeTheDialog = (val) => {\r\n setState((state) => ({ ...state, showJobQuery: false, jobID: '' }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n handleShowQueries(row)}\r\n />\r\n {checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)} />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.regNo}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.agentName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderDepotName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showDepotModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.depotName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderCustomerName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showCustomerModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.cn}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.vehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showSaModal: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n let agentNameCol = newColumn.find((element) => element.key === 'agentName');\r\n let depotNameCol = newColumn.find((element) => element.key === 'depotName');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n if (depotNameCol) {\r\n depotNameCol.formatter = renderDepotName;\r\n }\r\n if (agentNameCol) {\r\n agentNameCol.formatter = renderAgentName;\r\n }\r\n newColumn.splice(3, 0, { key: 'RegNo', name: 'Reg Number', width: 110, formatter: renderRegNumberEdit });\r\n\r\n newColumn.splice(5, 0, { key: 'cn', name: 'Customer', formatter: renderCustomerName });\r\n\r\n return newColumn;\r\n }, []);\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullJobList();\r\n };\r\n const gridBtnTitle = 'Add Job';\r\n return (\r\n
\r\n {state.open && (\r\n closeModal(false)} title=\"Add Job\" maxWidth=\"md\">\r\n closeModal(true)} />\r\n \r\n )}\r\n \r\n {state.showJobQuery && (\r\n closeTheDialog(false)}>\r\n \r\n \r\n )}\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n getUrl={getUrl}\r\n />\r\n {state.showSaModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showCustomerModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showDepotModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\nexport default DeletedJobs;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport AddEditDefectModal from '../Maintenance/Defects/addEditDefectScreen';\r\nimport { getVechicleIDByRegNO } from '../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport { BreadCrumbs, formatters } from '../../../Core/Controls';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport DefectEditDetails from '../Maintenance/Defects/DefectEditDetails';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { useHistory } from 'react-router-dom';\r\nimport CustomerDetails from '../Controllers/DetailsModal/customerDetails';\r\nimport ServiceAgentDetails from '../Controllers/DetailsModal/serviceAgent';\r\nimport ReactDOM from 'react-dom';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\n\r\nconst baseCrumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Deleted Records', active: true },\r\n { name: 'Deleted Defects', path: '/', active: true }\r\n];\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'defecteNo',\r\n name: 'Defect No',\r\n headerRenderer: formatters.ColumnHeaderAlignLeft,\r\n formatter: formatters.ColumnTextAlignLeft,\r\n width: '6%'\r\n },\r\n {\r\n key: 'defectDate',\r\n name: 'Date ',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: '7%'\r\n },\r\n\r\n { key: 'description', name: 'Details' },\r\n { key: 'contactName', name: 'Reported By', width: '8%' },\r\n { key: 'status', name: 'Status', width: '15%' }\r\n];\r\n\r\nconst DeletedDefect = (props) => {\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n rowVehicleID: null,\r\n defectID: null,\r\n List: [],\r\n showLoader: true,\r\n fromPage: 'Defects',\r\n show: false,\r\n filterVal: ''\r\n });\r\n let history = useHistory();\r\n\r\n useEffect(async () => {\r\n if (!props.VehicleID) {\r\n if (state.filterVal.length > 4) {\r\n let resBrekDown = await getVechicleIDByRegNO(state.filterVal);\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (resBrekDown.data?.list) {\r\n newSt.show = resBrekDown.success;\r\n newSt.filterVehicleID = resBrekDown.data?.list[0].vehicleID;\r\n } else {\r\n newSt.show = false;\r\n }\r\n\r\n return newSt;\r\n });\r\n } else {\r\n setState((st) => ({ ...st, show: false }));\r\n }\r\n }\r\n if (props.frompage === 'Vehicles') {\r\n setState((st) => ({\r\n ...st,\r\n fromPage: props.frompage\r\n }));\r\n }\r\n pullDefects();\r\n }, [props.VehicleID, state.filterVal]);\r\n\r\n const pullDefects = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.defectVehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.regNo}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n tempCols.splice(!props.isCust ? 1 : 2, 0, { key: 'regNo', name: 'Reg Number', width: '8%', formatter: renderRegNumberEdit });\r\n return tempCols;\r\n }, []);\r\n\r\n const crumbs = useMemo(() => {\r\n const tempCrumbs = [...baseCrumbs];\r\n if (state.modalEditDetail) {\r\n tempCrumbs.splice(3, 0, { name: `Defect Number ${state.defecteNo} [${formatters.DateTimeFormatter(state.defectDate)}]`, active: true });\r\n }\r\n return tempCrumbs;\r\n }, [state.modalToggle]);\r\n\r\n const gridBtnTitle = state.show || props.VehicleID ? 'Add Defect' : null;\r\n const isPage = !!(props.VehicleID || props.customerID);\r\n return (\r\n
\r\n <>\r\n {!isPage && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={'VehicleDefects/DeletedDefect'}\r\n btnTitle={gridBtnTitle}\r\n idFieldName=\"defectID\"\r\n fileUploaderConfigName=\"DefectScreen\"\r\n isReload={state.isReload}\r\n />\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default DeletedDefect;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getCompanyDetails = async () => {\r\n let res = await getWithAuth(`companys`);\r\n return res;\r\n};\r\n\r\nexport const postCompanyDetails = async (data) => {\r\n let res = await postWithAuth(`companys`, data);\r\n return res;\r\n};\r\n","import { createContext, useCallback, useEffect, useState } from 'react';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { getCompanyDetails, postCompanyDetails } from '../../../Core/Services/InternalUser/companyService';\r\n\r\nexport const CompanyScreenContext = createContext();\r\n\r\nconst countryList = [\r\n { id: 'GB', name: 'GB' },\r\n { id: 'IE', name: 'IE' }\r\n];\r\n\r\nexport const CompanyProvider = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n errors: {},\r\n companyID: null,\r\n companyName: '',\r\n companyRegistrationNumber: '',\r\n companyVATNumber: '',\r\n companyLogo: '',\r\n companyEmail: '',\r\n companyPhone: '',\r\n companyWebsite: '',\r\n companyAddress1: '',\r\n companyAddress2: '',\r\n companyCity: '',\r\n companyCounty: '',\r\n companyPostCode: '',\r\n companyCountryCode: 'GB',\r\n companyRegisteredAddressSameAsCompanyAddress: false,\r\n companyRegisteredAddress1: '',\r\n companyRegisteredAddress2: '',\r\n companyRegisteredCity: '',\r\n companyRegisteredPostCode: '',\r\n companyRegisteredCounty: '',\r\n companyBankAccountName: '',\r\n companyRegisteredCountryCode: 'GB',\r\n companyBankSortCode: '',\r\n companyBankAccountNumber: '',\r\n companyBankName: ''\r\n });\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n useEffect(async () => {\r\n pullCustomerdata();\r\n }, []);\r\n\r\n const pullCustomerdata = async () => {\r\n let res = await getCompanyDetails();\r\n\r\n if (res.data?.list) {\r\n const data = res.data?.list[0];\r\n setState((st) => ({\r\n ...st,\r\n companyID: data.companyID,\r\n companyName: data.companyName,\r\n companyRegistrationNumber: data.companyRegistrationNumber,\r\n companyVATNumber: data.companyVATNumber,\r\n companyLogo: data.companyLogo,\r\n companyEmail: data.companyEmail,\r\n companyPhone: data.companyPhone,\r\n companyWebsite: data.companyWebsite,\r\n companyAddress1: data.companyAddress1,\r\n companyAddress2: data.companyAddress2,\r\n companyCity: data.companyCity,\r\n companyCounty: data.companyCounty,\r\n companyPostCode: data.companyPostCode,\r\n companyCountryCode: data.companyCountryCode,\r\n companyRegisteredAddressSameAsCompanyAddress: data.companyRegisteredAddressSameAsCompanyAddress,\r\n companyRegisteredAddress1: data.companyRegisteredAddress1,\r\n companyRegisteredAddress2: data.companyRegisteredAddress2,\r\n companyRegisteredCity: data.companyRegisteredCity,\r\n companyRegisteredPostCode: data.companyRegisteredPostCode,\r\n companyRegisteredCounty: data.companyRegisteredCounty,\r\n companyBankAccountName: data.companyBankAccountName,\r\n companyRegisteredCountryCode: data.companyRegisteredCountryCode,\r\n companyBankSortCode: data.companyBankSortCode,\r\n companyBankAccountNumber: data.companyBankAccountNumber,\r\n companyBankName: data.companyBankName\r\n }));\r\n }\r\n };\r\n\r\n const setVal = (s) => {\r\n setState((st) => ({\r\n ...st,\r\n companyAddress1: s.addressLine1,\r\n companyAddress2: s.addressLine2,\r\n companyCity: s.town,\r\n companyCounty: s.county,\r\n companyPostCode: s.postCode\r\n }));\r\n };\r\n const setValRegistered = (s) => {\r\n setState((st) => ({\r\n ...st,\r\n companyRegisteredAddress1: s.addressLine1,\r\n companyRegisteredAddress2: s.addressLine2,\r\n companyRegisteredCity: s.town,\r\n companyRegisteredCounty: s.county,\r\n companyRegisteredPostCode: s.postCode\r\n }));\r\n };\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n let newSt = {};\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n newSt[name] = true;\r\n newSt.companyRegisteredAddress1 = '';\r\n newSt.companyRegisteredAddress2 = '';\r\n newSt.companyRegisteredCity = '';\r\n newSt.companyRegisteredCounty = '';\r\n newSt.companyRegisteredPostCode = '';\r\n newSt.companyRegisteredCountryCode = '';\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n newSt[name] = false;\r\n } else {\r\n newSt[name] = value;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, []);\r\n\r\n const clearImage = () => {\r\n if (state.companyLogo) {\r\n setState((st) => ({ ...st, companyLogo: null }));\r\n }\r\n };\r\n\r\n let imagehandler = (event) => {\r\n let reader = new FileReader();\r\n reader.onload = (e) => {\r\n const { result } = e.target;\r\n setState((st) => ({ ...st, companyLogo: result }));\r\n };\r\n reader.readAsDataURL(event.target.files[0]);\r\n };\r\n\r\n const validations = () => {\r\n const { companyName, companyEmail, companyRegistrationNumber, companyPhone, companyWebsite } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n let urlRegex = /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/;\r\n if (!/[^\\s]/.test(companyName)) {\r\n errors.companyName = 'Company Name is required';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(companyEmail)) {\r\n errors.companyEmail = 'Customer Email is required';\r\n formIsValid = false;\r\n }\r\n let phoneReg = /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/;\r\n if (companyPhone && !phoneReg.test(companyPhone)) {\r\n errors.companyPhone = 'Invalid Phone Number';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(companyRegistrationNumber)) {\r\n errors.companyRegistrationNumber = 'Registration Number is required';\r\n formIsValid = false;\r\n }\r\n if (companyWebsite && !urlRegex.test(companyWebsite)) {\r\n errors.companyWebsite = 'Invalid Url';\r\n formIsValid = false;\r\n }\r\n\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n setBtnLoader(true);\r\n let data = {\r\n companyID: state.companyID,\r\n companyName: state.companyName,\r\n companyRegistrationNumber: state.companyRegistrationNumber,\r\n companyVATNumber: state.companyVATNumber,\r\n companyLogo: state.companyLogo,\r\n companyEmail: state.companyEmail,\r\n companyPhone: state.companyPhone,\r\n companyWebsite: state.companyWebsite,\r\n companyAddress1: state.companyAddress1,\r\n companyAddress2: state.companyAddress2,\r\n companyCity: state.companyCity,\r\n companyCounty: state.companyCounty,\r\n companyPostCode: state.companyPostCode,\r\n companyCountryCode: state.companyCountryCode,\r\n companyRegisteredAddressSameAsCompanyAddress: state.companyRegisteredAddressSameAsCompanyAddress,\r\n companyRegisteredAddress1: state.companyRegisteredAddress1,\r\n companyRegisteredAddress2: state.companyRegisteredAddress2,\r\n companyRegisteredCity: state.companyRegisteredCity,\r\n companyRegisteredPostCode: state.companyRegisteredPostCode,\r\n companyRegisteredCounty: state.companyRegisteredCounty,\r\n companyBankAccountName: state.companyBankAccountName,\r\n companyRegisteredCountryCode: state.companyRegisteredCountryCode,\r\n companyBankSortCode: state.companyBankSortCode,\r\n companyBankAccountNumber: state.companyBankAccountNumber,\r\n companyBankName: state.companyBankName\r\n };\r\n let res = await postCompanyDetails(data);\r\n if (res.success) {\r\n showToastSuccess('Data saved successfully');\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React, { useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormControlLabel, FormHelperText, InputLabel, Typography, RadioGroup, Radio } from '@material-ui/core';\r\nimport { SecondaryButton, SelectBox, BreadCrumbs, MandatoryField, SimpleField, DatePicker, SingleSelect } from '../../../Core/Controls';\r\nimport { CompanyProvider, CompanyScreenContext } from './CompanyProvider';\r\nimport '../../../Components/commonStyle.scss';\r\nimport { Tooltip } from '@material-ui/core';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { Postcode } from '../../../Core/Controls';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Company', active: true },\r\n { name: 'Add/Update Company', active: true }\r\n];\r\n\r\nconst modelgridStyle = {\r\n gridContainer: { height: '600px' },\r\n formatterImageContainer: { width: '100%', textAlign: 'center' },\r\n formatterImage: { width: 120, maxHeight: 40, backgroundSize: 'cover' },\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\nconst YesNoRadio = (props) => {\r\n return (\r\n \r\n \r\n {props.label}\r\n \r\n \r\n \r\n } label=\"Yes\" />\r\n } label=\"No\" />\r\n \r\n \r\n \r\n );\r\n};\r\nconst AddEditCompany = (props) => {\r\n const { state, btnLoader, handleSubmit, inputChange, imagehandler, clearImage, setVal, setValRegistered, countryList } = useContext(CompanyScreenContext);\r\n let history = useHistory();\r\n let getAccessParam = AppStorage.getAllowAcces();\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Company Details\r\n \r\n
\r\n \r\n \r\n \r\n {state.errors.companyName}\r\n \r\n \r\n \r\n {state.errors.companyRegistrationNumber}\r\n \r\n \r\n \r\n \r\n \r\n Country Code\r\n \r\n {state.errors.countryCode}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.companyPhone}\r\n \r\n \r\n \r\n {state.errors.companyEmail}\r\n \r\n \r\n \r\n {state.errors.companyWebsite}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Registered Address\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Country Code\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n Bank Details\r\n \r\n
\r\n \r\n \r\n \r\n {state.errors.companyBankName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.companyBankSortCode}\r\n \r\n \r\n \r\n {state.errors.companyBankAccountNumber}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Company Logo\r\n \r\n
\r\n \r\n \r\n \r\n Company Logo\r\n \r\n {state.companyLogo && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n \r\n \r\n {state.companyID ? 'Save' : 'Add'}\r\n \r\n \r\n }\r\n \r\n history.push('/')}>\r\n Cancel\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nconst CompanyDetail = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default CompanyDetail;\r\n","import React, { useEffect, useState, useCallback, useMemo } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, Card, Typography, ButtonGroup, Button } from '@material-ui/core';\r\nimport { SingleSelect, DatePicker, formatters, BreadCrumbs } from '../../../Core/Controls';\r\nimport { getVehicleScreenDropdowns } from '../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport '../Controllers/controllerStyle.scss';\r\nimport { getVORVehiclesByType } from '../../../Core/Services/InternalUser/ControllerService/customerService';\r\nimport moment from 'moment';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport './vorReporting.scss';\r\nimport RenderReporting from './RenderReportingDesign';\r\nimport { RenderReportingByFilter } from './RenderReportingDesign';\r\nimport { ReportingBarChart } from '../../../Core/Controls/Charts/index';\r\nimport { GetVORReportingExcelFile } from '../../../Core/Services/InternalUser/excelDownload';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ReactDOM from 'react-dom';\r\nimport AddVor from '../Controllers/VOR/AddEditVor';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'VOR Reporting', active: true }\r\n];\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n border: '2px solid #f5f5f5',\r\n Opacity: 0.9,\r\n minWidth: 120,\r\n borderRadius: 10,\r\n boxShadow: 'none',\r\n background: '#8080800d',\r\n height: '100%',\r\n width: '100%'\r\n }\r\n}));\r\n\r\nconst baseColumns = [\r\n // { key: 'action', name: 'Action', width: 100 },\r\n { key: 'vehicleRegNumber', name: 'Reg Number', width: 120 },\r\n { key: 'vorVehicleDateStarted', name: 'Start Date', width: '13%', formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n { key: 'vorVehicleDateEnded', name: 'End Date', width: '13%', formatter: formatters.Date_DDMMMYYYY_HHMM },\r\n // { key: 'vorVehicleEstimatedEndDate', name: 'Estimated Completion', width: '15%', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'vorDays', name: 'VOR Days', width: '20%' },\r\n { key: 'vorTypeDescription', name: 'Type', width: '10%' },\r\n { key: 'vorTypeDetailDescription', name: 'Reason' },\r\n { key: 'vehicleCategoryDescription', name: 'Sub Category', width: '10%' }\r\n];\r\n\r\nlet startDate = moment().startOf('month').format('YYYY-MM-DD');\r\nlet endDate = moment().format('YYYY-MM-DD');\r\nfunction CustomerVORReporting(props) {\r\n let history = useHistory();\r\n const [state, setState] = useState({\r\n customerList: [],\r\n errors: {},\r\n depotWithCustList: [],\r\n depotsList: [],\r\n customerID: +props?.match?.params.id || props.customerID || null,\r\n depotsID: null,\r\n startDate: startDate,\r\n endDate: endDate,\r\n VehicleByType: [],\r\n VorList: [],\r\n NumberOfDepot: [],\r\n sumOfAllDepot: 0,\r\n vorByReg: [],\r\n top5Make: [],\r\n top5Model: [],\r\n setTop5ID: 1,\r\n setBarData: 4,\r\n top5Days: 1,\r\n setBarVal: 1,\r\n vehicleCategoryList: [],\r\n vehicleDepotsList: [],\r\n show: false,\r\n byReg: [],\r\n depot: [],\r\n faultType: [],\r\n make: [],\r\n model: [],\r\n reason: [],\r\n type: [],\r\n TypeIsReload: null,\r\n reasonList: [],\r\n FaultTypes: [],\r\n vehicleCategoryListdropdown: [],\r\n makeList: []\r\n });\r\n\r\n const handleEditRegClick = (val, cond) => {\r\n switch (cond) {\r\n case 'Vehicles':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n state: { vehicleRegNumber: val.reg },\r\n startDate: state.startDate,\r\n endDate: state.endDate,\r\n customerID: val.customer\r\n });\r\n break;\r\n case 'Models':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n // state: { customerCompanyName: val.customer, vehicleRegNumber: val.reg },\r\n startDate: state.startDate,\r\n endDate: state.endDate,\r\n customerID: val.customer,\r\n model: val.model\r\n });\r\n break;\r\n case 'Makes':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n // state: { customerCompanyName: val.customer, vehicleRegNumber: val.reg },\r\n startDate: state.startDate,\r\n endDate: state.endDate,\r\n customerID: val.customer,\r\n make: val.make\r\n });\r\n break;\r\n case 'Category':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n state: { vorTypeDescription: val.vorType },\r\n startDate: state.startDate,\r\n endDate: state.endDate,\r\n customerID: val.customer\r\n });\r\n break;\r\n case 'Depots':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n state: { depotName: val.name },\r\n startDate: state.startDate,\r\n endDate: state.endDate,\r\n customerID: val.customer\r\n });\r\n break;\r\n case 'reg':\r\n history.push({\r\n pathname: `/controller/vor`,\r\n state: val,\r\n startDate: state.startDate,\r\n endDate: state.endDate\r\n });\r\n break;\r\n }\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
closeVorModal(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.vehicleRegNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const classes = useStyles();\r\n\r\n const handleReports = (val) => {\r\n setState((st) => ({ ...st, top5Days: val }));\r\n };\r\n\r\n const handleBarChart = (val) => {\r\n setState((st) => ({ ...st, setBarVal: val }));\r\n };\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n customerIDValue: null,\r\n depotsIDValue: null,\r\n vehicleCategoryIDValue: null,\r\n makeIDValue: null\r\n });\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n // let getURl = () => {\r\n // return `VORVehicles?startDate=${state.startDate}&endDate=${state.endDate}&CustomerId=${tempOptions.customerIDValue?.id || ''}`;\r\n // };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...baseColumns];\r\n let actionCol = newColumn.find((item) => item.key === 'vehicleRegNumber');\r\n if (actionCol) {\r\n actionCol.formatter = renderRegNumberEdit;\r\n }\r\n return newColumn;\r\n }, []);\r\n\r\n const title = state.navigationMenuID ? 'Update Menu Items' : 'Add Menu Items';\r\n\r\n useEffect(async () => {\r\n let res = await getVehicleScreenDropdowns();\r\n setState((st) => ({\r\n ...st,\r\n customerList: res.data.customers,\r\n depotsList: res.data.depots,\r\n makeList: res.data.makes || [],\r\n vehicleCategoryListdropdown: res.data.vehicleCategories || []\r\n }));\r\n }, []);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n if (state.customerID && state.customerList?.length > 0) {\r\n newSt.customerIDValue = state.customerList.find(({ id }) => id === +state.customerID);\r\n } else {\r\n newSt.customerIDValue = state.customerList[0];\r\n }\r\n setTempOptions((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [state.customerID, state.customerList]);\r\n\r\n useEffect(() => {\r\n let vehicleCategoryList = [];\r\n let vehicleDepotsList = [];\r\n let reasonList = [];\r\n let FaultTypes = [];\r\n switch (state.setBarVal) {\r\n case 1:\r\n vehicleCategoryList =\r\n state.type &&\r\n state.type.map((m) => ({\r\n ...m,\r\n name: m.vorType,\r\n ['Total Days']: m.totalDays,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n vehicleDepotsList =\r\n state.depot &&\r\n state.depot.map((m) => ({\r\n ...m,\r\n name: m.depot,\r\n ['Total Days']: m.totalDays,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n reasonList =\r\n state.reason &&\r\n state.reason.map((m) => ({\r\n ...m,\r\n name: m.vorTypeDetailDescription,\r\n ['Total Days']: m.totalDays,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n FaultTypes =\r\n state.faultType &&\r\n state.faultType.map((m) => ({\r\n ...m,\r\n name: m.faultTypeDescription,\r\n ['Total Days']: m.totalDays,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n break;\r\n case 2:\r\n vehicleCategoryList =\r\n state.type &&\r\n state.type.map((m) => ({\r\n ...m,\r\n name: m.vorType,\r\n ['Total Days']: m.total,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n vehicleDepotsList =\r\n state.depot &&\r\n state.depot.map((m) => ({\r\n ...m,\r\n name: m.depot,\r\n ['Total Days']: m.total,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n reasonList =\r\n state.reason &&\r\n state.reason.map((m) => ({\r\n ...m,\r\n name: m.vorTypeDetailDescription,\r\n ['Total Days']: m.total,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n FaultTypes =\r\n state.faultType &&\r\n state.faultType.map((m) => ({\r\n ...m,\r\n name: m.faultTypeDescription,\r\n ['Total Days']: m.total,\r\n customer: tempOptions.customerIDValue.id\r\n }));\r\n break;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n vehicleCategoryList: vehicleCategoryList,\r\n vehicleDepotsList: vehicleDepotsList,\r\n reasonList: reasonList,\r\n FaultTypes: FaultTypes\r\n }));\r\n }, [state.setBarVal, state.TypeIsReload]);\r\n\r\n //Top 5 Days/occurance handler\r\n\r\n useEffect(() => {\r\n let top5Reg = [];\r\n let top5Makes = [];\r\n let top5models = [];\r\n switch (state.top5Days) {\r\n case 1:\r\n top5Reg = state.byReg && state.byReg.map((m) => ({ ...m, val: m.reg, sum: m.totalDays, customer: tempOptions.customerIDValue.id }));\r\n top5Makes = state.make && state.make?.map((m) => ({ ...m, val: m.make, sum: m.totalDays, customer: tempOptions.customerIDValue.id }));\r\n top5models = state.model && state.model?.map((m) => ({ ...m, val: m.model, sum: m.totalDays, customer: tempOptions.customerIDValue.id }));\r\n break;\r\n\r\n case 2:\r\n top5Reg = state.byReg && state.byReg.map((m) => ({ ...m, val: m.reg, sum: m.total, customer: tempOptions.customerIDValue.id }));\r\n top5Makes = state.make && state.make?.map((m) => ({ ...m, val: m.make, sum: m.total, customer: tempOptions.customerIDValue.id }));\r\n top5models = state.model && state.model?.map((m) => ({ ...m, val: m.model, sum: m.total, customer: tempOptions.customerIDValue.id }));\r\n\r\n break;\r\n }\r\n setState((st) => ({ ...st, top5Reg: top5Reg, top5Makes: top5Makes, top5models: top5models }));\r\n }, [state.top5Days, state.TypeIsReload]);\r\n\r\n useEffect(async () => {\r\n if (state.customerList?.length > 0) {\r\n let res = await getVORVehiclesByType(\r\n tempOptions.customerIDValue?.id || '',\r\n state.startDate,\r\n state.endDate,\r\n tempOptions.vehicleCategoryIDValue?.id || '',\r\n tempOptions.makeIDValue?.id || ''\r\n );\r\n let newSt = {};\r\n let data = res?.data;\r\n if (res.success) {\r\n newSt.TypeIsReload = new Date();\r\n newSt.byReg = data.byReg;\r\n newSt.depot = data.depot;\r\n newSt.faultType = data.faultType;\r\n newSt.make = data.make;\r\n newSt.model = data.model;\r\n newSt.reason = data.reason;\r\n newSt.type = data.type;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n ...newSt,\r\n url: getURl()\r\n }));\r\n }\r\n }, [state.startDate, state.endDate, tempOptions.customerIDValue, tempOptions.makeIDValue, tempOptions.vehicleCategoryIDValue]);\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n if (val) {\r\n setTempOptions((st) => {\r\n let newSt = { ...st, [nm]: val };\r\n if (nm === 'customerIDValue') {\r\n newSt.depotsIDValue = null;\r\n }\r\n return newSt;\r\n });\r\n } else {\r\n setTempOptions((st) => ({ ...st, [nm]: null }));\r\n }\r\n };\r\n useEffect(() => {\r\n const uniquescheduleEventNames = [...new Set(state.VorList.map((item) => item.depotName))];\r\n let Depot = uniquescheduleEventNames.map((m) => {\r\n let a = state.VorList.filter(function (val) {\r\n return val.depotName === m;\r\n }).length;\r\n return { name: m || 'No Depot Found', ['Total Days']: a, customer: tempOptions.customerIDValue.name };\r\n });\r\n let sumOfAllDepot = 0;\r\n let totalCount = [...Depot].forEach(function (item) {\r\n sumOfAllDepot += item.total;\r\n });\r\n setState((st) => ({ ...st, NumberOfDepot: Depot, sumOfAllDepot: sumOfAllDepot }));\r\n }, [state.VorList]);\r\n\r\n const convertData = (res) => {\r\n setState((st) => ({ ...st, VorList: res.data.list }));\r\n return {\r\n records: res.data.list,\r\n total: res.data.total\r\n };\r\n };\r\n const handleStatus = (val) => {\r\n setState((st) => ({ ...st, setTop5ID: val }));\r\n };\r\n\r\n const handleBar = (val) => {\r\n setState((st) => ({ ...st, setBarData: val }));\r\n };\r\n\r\n let settop5List = {\r\n 1: state.top5Reg,\r\n 2: state.top5models,\r\n 3: state.top5Makes,\r\n 4: state.vehicleCategoryList,\r\n 5: state.vehicleDepotsList,\r\n 6: state.reasonList,\r\n 7: state.FaultTypes\r\n };\r\n let label = {\r\n 1: 'Vehicles',\r\n 2: 'Models',\r\n 3: 'Makes',\r\n 4: 'By Category',\r\n 5: 'By Depot',\r\n 6: 'By Reason',\r\n 7: 'By Fault Type'\r\n };\r\n\r\n const closeVorModal = (val) => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n newSt.show = !st.show;\r\n newSt.vorVehicleID = val.vorVehicleID || '';\r\n newSt.VehicleID = val.vorVehicleVehicleID || '';\r\n newSt.regNo = val.vehicleRegNumber;\r\n return newSt;\r\n });\r\n };\r\n let getURl = () => {\r\n return `VORVehicles?startDate=${state.startDate}&endDate=${state.endDate}&vehicleCategoryID=${tempOptions.vehicleCategoryIDValue?.id || ''}&makeID=${\r\n tempOptions.makeIDValue?.id || ''\r\n }`;\r\n };\r\n return (\r\n
\r\n \r\n\r\n \r\n \r\n \r\n Start Date\r\n \r\n \r\n \r\n End Date\r\n \r\n \r\n \r\n \r\n Vehicle Category\r\n \r\n \r\n {state.errors.vehicleCategoryID}\r\n \r\n \r\n Make\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Top 5 {label[state.setTop5ID]}  \r\n \r\n handleReports(1)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Days\r\n \r\n handleReports(2)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Occurance\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n handleStatus(1)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Vehicles\r\n \r\n handleStatus(2)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Models\r\n \r\n handleStatus(3)}\r\n style={{ fontSize: 10 }}\r\n >\r\n {' '}\r\n Makes\r\n \r\n \r\n
\r\n {/* */}\r\n
\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[state.setBarData]}\r\n   \r\n \r\n handleBarChart(1)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Days\r\n \r\n handleBarChart(2)}\r\n style={{ fontSize: 10 }}\r\n >\r\n Occurance\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n handleBar(4)}\r\n style={{ fontSize: 10 }}\r\n >\r\n By Category\r\n \r\n handleBar(5)}\r\n style={{ fontSize: 10 }}\r\n >\r\n {' '}\r\n By Depot\r\n \r\n handleBar(6)}\r\n style={{ fontSize: 10 }}\r\n >\r\n By Reason\r\n \r\n handleBar(7)}\r\n style={{ fontSize: 10 }}\r\n >\r\n {' '}\r\n By Fault Type\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n {state.url && (\r\n convertData(res)}\r\n columns={columns}\r\n getUrl={state.url}\r\n isReload={state.isReload}\r\n showDownload={true}\r\n downloadBtnName=\"Download xlsx\"\r\n downloadCustomUrl={() =>\r\n GetVORReportingExcelFile({\r\n fromDate: state.startDate,\r\n toDate: state.endDate,\r\n customerID: tempOptions.customerIDValue?.id || '',\r\n vehicleCategoryID: tempOptions.vehicleCategoryIDValue?.id || '',\r\n makeID: tempOptions.makeIDValue?.id || '',\r\n fileExt: 'xlsx'\r\n })\r\n }\r\n />\r\n )}\r\n \r\n
\r\n {state.show ? (\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 // Start Date\r\n // \r\n // \r\n // \r\n // End Date\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n\r\n // \r\n // {state.url && (\r\n // convertData(res)}\r\n // columns={columns}\r\n // getUrl={state.url}\r\n // isReload={state.isReload}\r\n // showDownload={true}\r\n // downloadBtnName=\"VOR\"\r\n // />\r\n // )}\r\n // \r\n // \r\n //
\r\n );\r\n}\r\n\r\nexport default CustomerVORReporting;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../Basic/HttpService';\r\nimport { memoize } from 'lodash';\r\n\r\nexport const getUserPermissionsFromID = async (id) => {\r\n let res = await getWithAuth(`/api/userpermissions?userid=${id}`);\r\n return res;\r\n};\r\nexport const setUserPermissions = async (data) => {\r\n let res = await postWithAuth(`/api/userpermissions`, data);\r\n return res;\r\n};\r\n\r\nexport const getAllUsers = async () => {\r\n let res = await getWithAuth('/users');\r\n return res;\r\n};\r\n\r\nexport const getUserById = async (Id) => {\r\n let res = await getWithAuth(`/users/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const getAssignPermission = async (id) => {\r\n let res = await getWithAuth(`/GetPermissionMenus/${id}`);\r\n return res;\r\n};\r\n\r\nexport const savePermissionMenu = async (userId, data) => {\r\n let res = await postWithAuth(`/SavePermissionsMenus`, {\r\n PermissionMenuIds: data,\r\n UserId: userId\r\n });\r\n return res;\r\n};\r\n\r\nconst checkArray = (data) => {\r\n let x = typeof data;\r\n return x === 'number' ? [data] : data;\r\n};\r\n\r\nexport const Adduser = async (data) => {\r\n let res = await postWithAuth('/register', {\r\n displayName: data.name,\r\n userInitials: data.userInitials,\r\n password: data.password,\r\n confirmPassword: data.confirm,\r\n phoneNo: data.phone,\r\n isActive: data.isActive,\r\n isLocked: data.isLocked,\r\n email: data.email,\r\n userRole: data.userType,\r\n branchIds: data.branchIds,\r\n isAllBranch: data.allbranch,\r\n customerIds: checkArray(data.customerIds), //data.customerIds === [] ? [] : [data.customerIds],\r\n moduleIds: data.moduleIds,\r\n depotsIds: checkArray(data.depotIds),\r\n isReadOnly: data.isReadOnly,\r\n serviceAgentIds: data.serviceAgentId,\r\n driverId: data.driverId\r\n });\r\n return res;\r\n};\r\n\r\nexport const UpdateUser = async (data) => {\r\n let res = await putWithAuth(`/users/${data.userID}`, {\r\n ...(data.isUpdateEmail && { password: data.password }),\r\n displayName: data.name,\r\n userInitials: data.userInitials,\r\n phoneNo: data.phone,\r\n isActive: data.isActive,\r\n isLocked: data.isLocked,\r\n email: data.email,\r\n userRole: data.userType,\r\n branchIds: data.branchIds,\r\n isAllBranch: data.allbranch,\r\n customerIds: checkArray(data.customerIds), //data.customerIds ? [data.customerIds] : [],\r\n moduleIds: data.moduleIds,\r\n depotsIds: checkArray(data.depotIds),\r\n isalldepots: data.alldepots,\r\n isReadOnly: data.isReadOnly,\r\n serviceAgentIds: data.serviceAgentId,\r\n driverId: data.driverId\r\n });\r\n return res;\r\n};\r\n\r\nexport const getUserDropdown = memoize(async () => {\r\n let res = await getWithAuth('/usersScreenDropdowns');\r\n return res;\r\n});\r\n\r\nexport const getDriverBasedOnCustndDepot = async (cust, depot) => {\r\n let res = await getWithAuth(`Drivers/ListBycustomerNDepot?CustomerID=${cust}&DepotID=${depot}`);\r\n return res;\r\n};\r\n\r\nexport const ResetPassByAdmin = async (userId, newpassword, confirm) => {\r\n let res = await postWithAuth(`/overwritePassword/${userId}`, {\r\n newPassword: newpassword,\r\n confirmPassword: confirm\r\n });\r\n return res;\r\n};\r\n","import React, { createContext, useEffect, useState } from 'react';\r\nimport { Adduser, UpdateUser, getUserById, getDriverBasedOnCustndDepot } from '../../../Core/Services/Admin/userService';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { validatePassword, emailValidation, singleEmailValidation } from '../../../Core/Basic/StaticService';\r\nimport { getUserDropdown } from '../../../Core/Services/Admin/userService';\r\n\r\nexport const UserScreenContext = createContext();\r\n\r\nexport const UserProvider = (props) => {\r\n const { showToastSuccess, showToastError, showToastWarning } = useToast();\r\n\r\n const [state, setState] = useState({\r\n userType: '',\r\n email: '',\r\n name: '',\r\n userInitials: '',\r\n phone: '',\r\n password: '',\r\n confirm: '',\r\n allbranch: false,\r\n alldepots: false,\r\n isActive: true,\r\n isLocked: false,\r\n branchIds: [],\r\n moduleIds: [],\r\n customerIds: [],\r\n depotIds: [],\r\n matchDepoCustId: [],\r\n serviceAgentId: [],\r\n rows: [],\r\n errors: {},\r\n isUpdateEmail: false,\r\n userID: '',\r\n isReadOnly: false,\r\n driverList: [],\r\n driverId: null\r\n });\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const handleValidation = () => {\r\n let errors = {};\r\n let formIsValid = true;\r\n if (!/[^\\s]/.test(state.name)) {\r\n formIsValid = false;\r\n errors['name'] = 'User name cannot be empty';\r\n }\r\n if (!/[^\\s]/.test(state.userInitials)) {\r\n formIsValid = false;\r\n errors['userInitials'] = 'User initials cannot be empty';\r\n }\r\n if (!singleEmailValidation(state.email)) {\r\n formIsValid = false;\r\n errors['email'] = 'Please Enter Valid Email';\r\n }\r\n if (!/[^\\s]/.test(state.password)) {\r\n formIsValid = false;\r\n errors['password'] = 'Password field cannot be empty';\r\n }\r\n if (!/[^\\s]/.test(state.confirm)) {\r\n formIsValid = false;\r\n errors['confirm'] = 'Confirm Password field cannot be empty';\r\n }\r\n if (!state.userType) {\r\n formIsValid = false;\r\n errors['userType'] = 'User Type cannot be empty';\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors: errors\r\n }));\r\n return formIsValid;\r\n };\r\n const updateValidation = () => {\r\n let errors = {};\r\n let formIsValid = true;\r\n if (!/[^\\s]/.test(state.name)) {\r\n formIsValid = false;\r\n errors['name'] = 'User name cannot be empty';\r\n }\r\n if (!/[^\\s]/.test(state.userInitials)) {\r\n formIsValid = false;\r\n errors['userInitials'] = 'User initials cannot be empty';\r\n }\r\n if (!singleEmailValidation(state.email)) {\r\n formIsValid = false;\r\n errors['email'] = 'Please Enter Valid Email';\r\n }\r\n if (!state.userType) {\r\n formIsValid = false;\r\n errors['userType'] = 'User Type cannot be empty';\r\n }\r\n if (state.isUpdateEmail && !/[^\\s]/.test(state.password)) {\r\n formIsValid = false;\r\n errors['password'] = 'Password field cannot be empty';\r\n }\r\n if (state.isUpdateEmail && !/[^\\s]/.test(state.confirm)) {\r\n formIsValid = false;\r\n errors['confirm'] = 'Confirm Password field cannot be empty';\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors: errors\r\n }));\r\n return formIsValid;\r\n };\r\n\r\n const [masterData, setMasterData] = useState({\r\n branchs: [],\r\n modules: [],\r\n customer: [],\r\n depot: [],\r\n serviceAgentList: []\r\n });\r\n\r\n const [selectedData, setSelectedData] = useState({\r\n branchs: [],\r\n modules: [],\r\n depots: [],\r\n serviceAgent: []\r\n });\r\n\r\n const updateState = (update) => {\r\n setState((st) => ({ ...st, ...update }));\r\n };\r\n\r\n const onSelectCheckbox = (event) => {\r\n const { name, checked } = event.target;\r\n if (checked) {\r\n setState((st) => {\r\n const nst = { ...st };\r\n nst[name] = checked;\r\n if (name === 'allbranch') {\r\n nst.branch = [...masterData.branchs.map((c) => c.id)];\r\n } else if (name === 'alldepots') {\r\n nst.depotIds = [...state.matchDepoCustId.map((c) => c.id)];\r\n } else {\r\n nst[name] = checked;\r\n }\r\n return nst;\r\n });\r\n } else {\r\n setState((st) => {\r\n const nst = { ...st, [name]: checked };\r\n return nst;\r\n });\r\n }\r\n };\r\n\r\n const Updateuser = async (e) => {\r\n if (updateValidation()) {\r\n if (state.isUpdateEmail && state.password !== state.confirm) {\r\n showToastWarning('Password and Confirm Password should match.');\r\n } else {\r\n setBtnLoader(true);\r\n let res = await UpdateUser(state);\r\n if (res.success) {\r\n showToastSuccess('User updated successfully');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n }\r\n };\r\n\r\n const handleSubmit = async (e) => {\r\n if (handleValidation()) {\r\n if (!validatePassword(state.password)) {\r\n showToastWarning('Password should be complex with 8 char minimum.');\r\n } else if (state.password !== state.confirm) {\r\n showToastWarning('Password and Confirm Password should match.');\r\n } else {\r\n setBtnLoader(true);\r\n let res = await Adduser(state);\r\n if (res.success) {\r\n showToastSuccess('User added successfully');\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n }\r\n };\r\n\r\n const ModuleChange = (e, value) => {\r\n setSelectedData((st) => ({ ...st, modules: value }));\r\n setState((st) => {\r\n const nst = { ...st, moduleIds: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n\r\n const BranchChange = (e, value) => {\r\n setSelectedData((st) => ({ ...st, branchs: value }));\r\n setState((st) => {\r\n const nst = { ...st, branchIds: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n\r\n const ServiceChange = (e, value) => {\r\n setSelectedData((st) => ({ ...st, serviceAgent: value }));\r\n setState((st) => {\r\n const nst = { ...st, serviceAgentId: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n const DepotChange = (e, value) => {\r\n setSelectedData((st) => ({ ...st, depots: value }));\r\n setState((st) => {\r\n const nst = { ...st, depotIds: value.map((c) => c.id) };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleClose = (res) => {\r\n props.onFormSubmit(res);\r\n };\r\n\r\n const handleClick = (name, value) => {\r\n setState((st) => {\r\n const nst = { ...st, [name]: value };\r\n return nst;\r\n });\r\n };\r\n\r\n useEffect(async () => {\r\n let newMatchDepoCustId = [];\r\n if (state.customerIds) {\r\n masterData.depot.filter((obj) => {\r\n if (state.customerIds === obj.customerId) {\r\n newMatchDepoCustId.push(obj);\r\n }\r\n });\r\n setState((st) => ({ ...st, matchDepoCustId: newMatchDepoCustId }));\r\n }\r\n }, [state.customerIds]);\r\n\r\n useEffect(() => {\r\n if (props.userID) {\r\n const selectedModule = masterData.modules.filter((w) => state.moduleIds.indexOf(w.id) > -1);\r\n const selectedBranch = masterData.branchs.filter((w) => state.branchIds.indexOf(w.id) > -1);\r\n // const selectedDepots = masterData.depot.filter((w) => state.depotIds.indexOf(w.id) > -1);\r\n const selectedServiceAgent = masterData.serviceAgentList.filter((w) => state.serviceAgentId.indexOf(w.id) > -1);\r\n setSelectedData((st) => ({\r\n ...st,\r\n modules: selectedModule,\r\n branchs: selectedBranch,\r\n // depots: selectedDepots,\r\n serviceAgent: selectedServiceAgent\r\n }));\r\n if (masterData.branchs.length > 0 && masterData.branchs.length === selectedBranch.length) {\r\n setState((st) => ({ ...st, allbranch: true }));\r\n }\r\n }\r\n }, [\r\n // state.depotIds,\r\n state.branchIds,\r\n state.moduleIds,\r\n masterData.branchs,\r\n masterData.modules,\r\n masterData.depot,\r\n state.serviceAgentId,\r\n masterData.serviceAgentList\r\n ]);\r\n\r\n useEffect(async () => {\r\n let result = await getUserDropdown();\r\n if (result.success) {\r\n const customers = result.data.customers.map((w) => ({\r\n id: w.customerID,\r\n name: w.customerCompanyName\r\n }));\r\n const modules = result.data.modules.map((w) => ({\r\n id: w.moduleID,\r\n name: w.moduleName\r\n }));\r\n const depots = result.data.depots.map((w) => ({\r\n id: w.depotID,\r\n name: w.depotName,\r\n customerId: w.depotCustomerID\r\n }));\r\n setMasterData((st) => ({\r\n ...st,\r\n branchs: result.data.branches.map((w) => ({\r\n id: w.branchID,\r\n name: w.branchShortName\r\n }))\r\n }));\r\n setMasterData((st) => ({ ...st, customer: customers, modules: modules, depot: depots, serviceAgentList: result.data.serviceAgents }));\r\n }\r\n if (props.userID) {\r\n let res = await getUserById(props.userID);\r\n setState((st) => ({\r\n ...st,\r\n userID: res.data.id,\r\n name: res.data.displayName,\r\n userInitials: res.data.userInitials,\r\n phone: res.data.phoneNo,\r\n email: res.data.email,\r\n userType: res.data.userRole,\r\n isActive: res.data.isActive,\r\n isLocked: res.data.isLocked,\r\n branchIds: res.data.branchIds,\r\n moduleIds: res.data.moduleIds,\r\n customerIds: res.data.customerIds[0],\r\n isReadOnly: res.data.isReadOnly,\r\n depotIds: res.data.depotsIds[0],\r\n canOverrideMandatorySteps: res.data.canOverrideMandatorySteps,\r\n serviceAgentId: res.data.serviceAgentIds,\r\n driverId: res.data.driverId\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(async () => {\r\n let res = await getDriverBasedOnCustndDepot(state.customerIds, state.depotIds);\r\n if (res.success) {\r\n if (res.data?.list) {\r\n const driver = res?.data?.list.map((w) => ({\r\n id: w.driverID,\r\n name: w.driver\r\n }));\r\n setState((st) => ({ ...st, driverList: driver || [] }));\r\n }\r\n }\r\n }, [state.customerIds, state.depotIds]);\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport { Multiselect, SelectBox, YesButton, NoButton, SecondaryCheckbox } from '../../../Core/Controls';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { truncate } from 'lodash';\r\n\r\nconst DropdownModal = (props) => {\r\n const { state, masterData, fieldChange, selectedData, BranchChange, ModuleChange, DepotChange, handleClick, onSelectCheckbox, ServiceChange } = props;\r\n return (\r\n \r\n \r\n \r\n User Type\r\n \r\n \r\n \r\n \r\n } label=\"Admin\" />\r\n } label=\"Customer\" />\r\n } label=\"Internal User\" />\r\n } label=\"Service Agent\" />\r\n } label=\"Driver\" />\r\n } label=\"Technician\" />\r\n } label=\"Lead Generator\" />\r\n \r\n \r\n {state.errors['userType']}\r\n \r\n \r\n <>\r\n \r\n {state?.showModules && (\r\n <>\r\n Modules\r\n \r\n \r\n )}\r\n {/* internal user-start */}\r\n {/* {state.userType === \"internal\" ? (\r\n
\r\n \r\n {!state.allbranch ? (\r\n <>\r\n Branches\r\n \r\n \r\n ) : null}\r\n
\r\n ) : null} */}\r\n {/* internal user-end*/}\r\n {/* service Agent user-end*/}\r\n {state.userType === 'serviceagent' || state.userType === 'technician' ? (\r\n
\r\n Service Agent\r\n \r\n
\r\n ) : null}\r\n {/* service Agent user-end*/}\r\n {state.userType === 'customer' || state.userType === 'driver' ? (\r\n
\r\n Customers\r\n \r\n {/* */}\r\n {!state.alldepots ? (\r\n <>\r\n Depots\r\n {/* */}\r\n \r\n \r\n ) : null}\r\n {state.userType === 'driver' && (\r\n <>\r\n Driver\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 Is Active ?\r\n \r\n \r\n handleClick('isActive', true)} />\r\n \r\n \r\n handleClick('isActive', false)} />\r\n \r\n \r\n Is Locked ?\r\n \r\n \r\n handleClick('isLocked', true)} />\r\n \r\n \r\n handleClick('isLocked', false)} />\r\n \r\n \r\n Is Read Only ?\r\n \r\n \r\n handleClick('isReadOnly', true)} />\r\n \r\n \r\n handleClick('isReadOnly', false)} />\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nexport default DropdownModal;\r\n","import React, { useContext } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputText, InputPassword, SecondaryButton, MandatoryField, SimpleField } from '../../../Core/Controls';\r\nimport { UserProvider as StateProvider, UserScreenContext } from './userProvider';\r\nimport DropdownModal from './dropdown';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport './user.scss';\r\nimport '../../commonStyle.scss';\r\n\r\nconst AddUserModal = (props) => {\r\n const {\r\n state,\r\n updateState,\r\n masterData,\r\n selectedData,\r\n ModuleChange,\r\n BranchChange,\r\n onSelectCheckbox,\r\n handleClose,\r\n DepotChange,\r\n handleClick,\r\n Updateuser,\r\n handleSubmit,\r\n CustChange,\r\n ServiceChange,\r\n btnLoader\r\n } = useContext(UserScreenContext);\r\n\r\n const fieldChange = (e) => {\r\n const { name, value } = e.target;\r\n if (state.userID && name === 'email') {\r\n updateState({ [name]: value, isUpdateEmail: true });\r\n } else {\r\n updateState({ [name]: value });\r\n }\r\n };\r\n\r\n const title = state.userID ? 'Update User' : 'Add User';\r\n\r\n return (\r\n handleClose(false)} height=\"80vh\" overflow=\"auto\" maxWidth=\"md\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!state.userID || state.isUpdateEmail ? (\r\n <>\r\n \r\n \r\n Password\r\n \r\n \r\n {state.errors['password']}\r\n \r\n \r\n \r\n Confirm Password\r\n \r\n \r\n {state.errors['confirm']}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n {!state.userID ? (\r\n \r\n Submit\r\n \r\n ) : (\r\n \r\n Update\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useState } from 'react';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { getUserPermissionsFromID, setUserPermissions } from '../../../../Core/Services/Admin/userService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { YesButton, NoButton, SecondaryButton, SecondaryCheckbox } from '../../../../Core/Controls';\r\nimport './../user.scss';\r\nimport { FormLabel } from '@material-ui/core';\r\nimport { Typography } from '@material-ui/core';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport { getUserById } from '../../../../Core/Services/Admin/userService';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\nimport { ReactDOM } from 'react-dom';\r\n\r\nconst AssignPermissionScreen = (props) => {\r\n const [permissions, setPermissions] = useState({});\r\n const [userID, setUserID] = useState(null);\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const isInternal = props?.userRole == \"internal\";\r\n const isCustomer = props?.userRole == \"customer\";\r\n const isServiceAgent = props?.userRole == \"serviceagent\";\r\n\r\n useEffect(async () => {\r\n let res = await getUserPermissionsFromID(props.userId);\r\n console.log(res)\r\n\r\n const permissions = res.data.details[0];\r\n\r\n for (const key in permissions) {\r\n const perm = key.split('canView')[1];\r\n if (key.includes('canView')) {\r\n if (permissions['canDelete' + perm] || permissions['canUpdate' + perm] || permissions['canAuthorise' + perm] || permissions['canAdd' + perm]) {\r\n permissions[key] = true;\r\n }\r\n }\r\n }\r\n\r\n setPermissions(() => ({\r\n ...permissions\r\n }));\r\n }, [props.userId]);\r\n\r\n useEffect(async () => {\r\n let res = await getUserById(props.userId);\r\n if (res.success) {\r\n setUserID(res?.data?.userRole);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n }, []);\r\n\r\n const handleSubmit = async () => {\r\n setBtnLoader(true);\r\n\r\n const data = { ...permissions };\r\n data['userid'] = props.userId;\r\n\r\n let res = await setUserPermissions(data);\r\n\r\n if (res.success) {\r\n showToastSuccess(res.data.message);\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n\r\n setBtnLoader(false);\r\n };\r\n\r\n const handleClick = (val) => (e) => {\r\n const { name, checked } = e.target;\r\n let toCheck = name.includes('canDelete')\r\n ? 'canDelete'\r\n : name.includes('canUpdate')\r\n ? 'canUpdate'\r\n : name.includes('canAuthorise')\r\n ? 'canAuthorise'\r\n : name.includes('canAdd')\r\n ? 'canAdd'\r\n : name.includes('canBook')\r\n ? 'canBook'\r\n : name.includes('canUpload')\r\n ? 'canUpload'\r\n : null;\r\n\r\n if (name.includes(toCheck)) {\r\n const perm = 'canView' + name.split(toCheck)[1];\r\n if (perm in permissions) {\r\n setPermissions((st) => ({\r\n ...st,\r\n [perm]: true\r\n }));\r\n }\r\n }\r\n let newst = {};\r\n newst[name] = checked;\r\n if (val && checked) {\r\n newst[val] = true;\r\n }\r\n setPermissions((st) => ({\r\n ...st,\r\n ...newst\r\n }));\r\n };\r\n\r\n const Permission = (props) => {\r\n const shouldBeDisabled = (input) => {\r\n const perm = input.split('canView')[1];\r\n if (input.includes('canView')) {\r\n if (\r\n permissions['canDelete' + perm] ||\r\n permissions['canUpdate' + perm] ||\r\n permissions['canAuthorise' + perm] ||\r\n permissions['canBook' + perm] ||\r\n permissions['canUpload' + perm] ||\r\n permissions['canAdd' + perm]\r\n ) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n return (\r\n props?.hidden ?\r\n null\r\n :\r\n \r\n \r\n \r\n \r\n \r\n {props.displayName}\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {`Assign User Permissions - ${props.displayName} - ${props.userRole}`}\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n \r\n \r\n Misc\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AssignPermissionScreen;\r\n","import { Grid } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { MandatoryField, SecondaryButton } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { ResetPassByAdmin } from '../../../../Core/Services/Admin/userService';\r\n\r\nconst ResetPasswordAdmin = (props) => {\r\n const [state, setState] = useState({\r\n errors: {},\r\n enableChange: false\r\n });\r\n const { showToastSuccess, showToastError, showToastWarning } = useToast();\r\n\r\n const fieldChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => {\r\n const nst = { ...st, [name]: value };\r\n nst.enableChange = nst.new && nst.confirm && nst.new === nst.confirm;\r\n return nst;\r\n });\r\n };\r\n\r\n const handleResetPass = async (e) => {\r\n e.preventDefault();\r\n if (state.new && state.confirm) {\r\n let pattern = /(^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$)/gm;\r\n if (!pattern.test(state.new)) {\r\n showToastError('Password should be complex with 8 char minimum.');\r\n } else {\r\n const res = await ResetPassByAdmin(props.userId, state.new, state.confirm);\r\n if (!res.success) {\r\n console.error(`When admin trying to change user password (${props.userId})`, res);\r\n showToastError(res.messages);\r\n } else {\r\n showToastSuccess(res.message);\r\n props.onFormSubmit();\r\n }\r\n }\r\n }\r\n // if (user) {\r\n // props.onFormSubmit(false);\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 Set Password\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ResetPasswordAdmin;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport DataGrid from '../../../Core/Controls/Grid';\r\nimport LockIcon from '@material-ui/icons/Lock';\r\nimport AddUserModal from './addUser';\r\nimport AssignPerModal from './AssignedUser';\r\nimport { getAllUsers } from '../../../Core/Services/Admin/userService';\r\nimport { SecondaryButton } from '../../../Core/Controls';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { AddButton, EditButton, BreadCrumbs, formatters } from '../../../Core/Controls';\r\nimport '../../commonStyle.scss';\r\nimport './user.scss';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport RotateLeftIcon from '@material-ui/icons/RotateLeft';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport ResetPasswordAdmin from './ResetPassword';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 90\r\n },\r\n { key: 'displayName', name: 'Name' },\r\n // { key: 'phoneNo', name: 'Phone No.', width: '9%' },\r\n // {\r\n // key: 'email',\r\n // name: 'Email'\r\n // },\r\n {\r\n key: 'userRole',\r\n name: 'User Type',\r\n width: 120\r\n },\r\n {\r\n key: 'isActive',\r\n name: 'Is Active ?',\r\n formatter: formatters.YesNo,\r\n width: 120\r\n },\r\n {\r\n key: 'isLocked',\r\n name: 'Is Locked ?',\r\n formatter: formatters.YesNo,\r\n width: 120\r\n }\r\n];\r\n\r\n\r\n\r\nconst UserScreen = (props) => {\r\n const { showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showAsgPermi: false,\r\n showPassReset: false,\r\n showLoader: true,\r\n userList: []\r\n });\r\n\r\n const crumbs = state.showAsgPermi ?\r\n [\r\n { name: 'Home', path: '/' },\r\n { name: 'Users', path: '/', active: true },\r\n { name: 'Permissions', path: '/', active: true },\r\n { name: `${state.displayName}`, path: '/', active: true }\r\n ]\r\n :\r\n [\r\n { name: 'Home', path: '/' },\r\n { name: 'Users', path: '/', active: true },\r\n ];\r\n\r\n const pullUserAndUpdateState = async () => {\r\n let res = await getAllUsers();\r\n let activeUser = res.data?.filter((active) => active.isActive == true);\r\n if (res.success) {\r\n setState((st) => ({ ...st, activeUser: activeUser, showLoader: false, userList: [...res.data] }));\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n pullUserAndUpdateState();\r\n }, []);\r\n\r\n const handleAsgPermission = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n showAsgPermi: true,\r\n userId: record.id,\r\n }));\r\n };\r\n\r\n const handleAdd = (record, screen) => {\r\n setState((st) => ({\r\n ...st,\r\n [screen]: true,\r\n userId: record?.id,\r\n userRole: record?.userRole,\r\n displayName: record?.displayName\r\n }));\r\n };\r\n\r\n const closeUserModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false,\r\n showAsgPermi: false,\r\n showPassReset: false\r\n }));\r\n res && pullUserAndUpdateState();\r\n };\r\n\r\n const dataFormatter = (data) => {\r\n return (\r\n
\r\n handleAdd(data.row, 'show')} toolTipTitle=\"Edit User\" />\r\n \r\n handleAdd(data.row, 'showAsgPermi')}\r\n />\r\n \r\n \r\n handleAdd(data.row, 'showPassReset')} />\r\n \r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (window.innerWidth > 770) {\r\n tempCols.splice(2, 0, { key: 'phoneNo', name: 'Phone No.', width: 140 });\r\n }\r\n if (window.innerWidth > 415) {\r\n tempCols.splice(3, 0, { key: 'email', name: 'Email', width: 290 });\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n {state.showAsgPermi ? : (\r\n <>\r\n handleAdd(null, 'show')}\r\n paginate\r\n rowPerPage={15}\r\n offset={210}\r\n />\r\n {state.show ? : null}\r\n\r\n {state.showPassReset ? (\r\n closeUserModal(false)} maxWidth=\"sm\" fullWidth>\r\n \r\n \r\n ) : null}\r\n \r\n )}\r\n
\r\n );\r\n};\r\nexport default UserScreen;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllBranch = async () => {\r\n let res = await getWithAuth('branches');\r\n return res;\r\n};\r\n\r\nexport const getBranchById = async (Id) => {\r\n let res = await getWithAuth(`branches/${Id}`);\r\n return res;\r\n};\r\nexport const addBranches = async (data) => {\r\n let res = await postWithAuth('branches', {\r\n address1: data.address1,\r\n address2: data.address2,\r\n address3: data.address3,\r\n branchCode: data.branchCode,\r\n branchFax: data.fax,\r\n country: data.country,\r\n county: data.county,\r\n id: data.branchID,\r\n name: data.branchName,\r\n phone: data.phone,\r\n postcode: data.postcode,\r\n shortName: data.shortName,\r\n town: data.town\r\n });\r\n return res;\r\n};\r\nexport const updateBranches = async (data) => {\r\n let res = await putWithAuth(`branches/${data.branchID}`, {\r\n address1: data.address1,\r\n address2: data.address2,\r\n address3: data.address3,\r\n branchCode: data.branchCode,\r\n branchFax: data.fax,\r\n country: data.country,\r\n county: data.county,\r\n id: data.branchID,\r\n name: data.branchName,\r\n phone: data.phone,\r\n postcode: data.postcode,\r\n shortName: data.shortName,\r\n town: data.town\r\n });\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, MandatoryField, SimpleField } from '../../../Core/Controls';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { addBranches, updateBranches } from '../../../Core/Services/Admin/branchService';\r\nimport { isNull } from 'lodash';\r\nimport { validatePostCode } from '../../../Core/Basic/StaticService';\r\nimport { Postcode } from '../../../Core/Controls/index';\r\nimport { getBranchById } from '../../../Core/Services/Admin/branchService';\r\n\r\nconst AddEditBranch = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n errors: {},\r\n shortName: '',\r\n branchCode: '',\r\n branchName: '',\r\n branchID: null,\r\n fax: null,\r\n address2: '',\r\n address1: '',\r\n address3: '',\r\n town: '',\r\n country: '',\r\n county: '',\r\n postcode: '',\r\n phone: ''\r\n });\r\n\r\n useEffect(async () => {\r\n if (props.branchData?.branchID) {\r\n let res = await getBranchById(props.branchData.branchID);\r\n if (res.success) {\r\n const data = res.data;\r\n setState((st) => ({\r\n ...st,\r\n branchID: data.id,\r\n shortName: data.shortName,\r\n branchCode: data.branchCode,\r\n branchName: data.name,\r\n address1: data.address1,\r\n address2: data.address2,\r\n address3: data.address3,\r\n town: data.town,\r\n county: data.county,\r\n country: data.country,\r\n phone: data.phone,\r\n fax: data.branchFax,\r\n postcode: data.postcode\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const setVal = (s) => {\r\n setState((st) => ({\r\n ...st,\r\n address1: s.addressLine1,\r\n address2: s.addressLine2,\r\n town: s.town,\r\n county: s.county,\r\n postcode: s.postCode\r\n }));\r\n };\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const validations = () => {\r\n const { branchCode, shortName, branchName, fax, postcode } = state;\r\n let faxRegEx = /^\\+?[0-9]{11,}$/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!branchName) {\r\n errors.branchName = 'Branch Name is required';\r\n formIsValid = false;\r\n }\r\n if (!validatePostCode(postcode) && /[^\\s]/.test(postcode) && !isNull(postcode)) {\r\n errors.postCode = `Please fill valid post code, \"Ex: BB11AA\"`;\r\n formIsValid = false;\r\n }\r\n if (!branchCode) {\r\n errors.branchCode = 'Branch Code is required';\r\n formIsValid = false;\r\n }\r\n if (!shortName) {\r\n errors.shortName = 'Short Name is required.';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(fax) && !faxRegEx.test(fax)) {\r\n errors.fax = 'Please fill correct data.';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n let res;\r\n if (props.branchData.id) {\r\n res = await updateBranches(state);\r\n } else {\r\n res = await addBranches(state);\r\n }\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onFormSubmit(true);\r\n } else {\r\n showToastError(res.message);\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 \r\n \r\n \r\n \r\n {state.errors.address3}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n {state.errors.postcode} \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.errors.fax}\r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddEditBranch;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { getAllBranch } from '../../../Core/Services/Admin/branchService';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { AddButton, EditButton, DataGrid, BreadCrumbs, formatters } from '../../../Core/Controls';\r\nimport AddEditBranch from './addEditBranch';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport '../../commonStyle.scss';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Branches', path: '/', active: true }\r\n];\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: '5%'\r\n },\r\n { key: 'branchName', name: 'Name', width: '15%' },\r\n { key: 'branchShortName', name: 'Short Name', width: '10%' },\r\n // { key: 'address2', name: 'Address2' },\r\n // { key: 'town', name: 'Town' },\r\n // { key: 'county', name: 'County' },\r\n // { key: 'postcode', name: 'Post Code' },\r\n { key: 'branchFax', name: 'Branch Fax', headerRenderer: formatters.ColumnHeaderAlignleft, formatter: formatters.ColumnTextAlignleft, width: '10%' },\r\n { key: 'branchPhone', name: 'Phone', headerRenderer: formatters.ColumnHeaderAlignleft, formatter: formatters.ColumnTextAlignleft, width: '9%' },\r\n {\r\n key: 'branchAddress',\r\n name: 'Address'\r\n // formatter: (data) => formatters.addressFormatter(data.row?.address1, data.row?.address2, data.row?.town, data.row?.country, data.row?.postcode)\r\n }\r\n];\r\n\r\nconst BranchScreen = (props) => {\r\n const { showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n branchList: [],\r\n branchData: null,\r\n isReload: null\r\n });\r\n\r\n const pullBranchAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n useEffect(() => {\r\n pullBranchAndUpdateState();\r\n }, []);\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n branchData: record\r\n }));\r\n };\r\n\r\n const closeBranchModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false,\r\n showAsgPermi: false\r\n }));\r\n res && pullBranchAndUpdateState();\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n
\r\n handleAdd(row)} toolTipTitle=\"Edit Branch\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const title = state.branchData ? 'Update Branch' : 'Add Branch';\r\n const getUrl = `branches`;\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle=\"Add Branch\"\r\n onBtnClick={handleAdd}\r\n isReload={state.isReload}\r\n />\r\n {state.show ? (\r\n closeBranchModal(false)} maxWidth=\"lg\" overflow=\"auto\">\r\n closeBranchModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\nexport default BranchScreen;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Container from '@material-ui/core/Container';\r\nimport { getAllAdminDash } from '../../../Core/Services/Admin/AdminDashboardService';\r\nimport GroupRoundedIcon from '@material-ui/icons/GroupRounded';\r\nimport EventRoundedIcon from '@material-ui/icons/EventRounded';\r\nimport HealingRoundedIcon from '@material-ui/icons/HealingRounded';\r\nimport NotificationsActiveRoundedIcon from '@material-ui/icons/NotificationsActiveRounded';\r\nimport PeopleAltRoundedIcon from '@material-ui/icons/PeopleAltRounded';\r\nimport BuildRoundedIcon from '@material-ui/icons/BuildRounded';\r\nimport BlurOnRoundedIcon from '@material-ui/icons/BlurOnRounded';\r\nimport GavelRoundedIcon from '@material-ui/icons/GavelRounded';\r\nimport LinearScaleRoundedIcon from '@material-ui/icons/LinearScaleRounded';\r\nimport { Link } from 'react-router-dom';\r\nimport '../AdminDash.scss';\r\n\r\nconst AdminDashboard = () => {\r\n const [state, setState] = useState({\r\n rows_new: [],\r\n tilesData: []\r\n });\r\n\r\n useEffect(async () => {\r\n let res = await getAllAdminDash();\r\n const cards = res.data.dashboard;\r\n setState((st) => ({\r\n ...st,\r\n tilesData: cards[0]\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 {state.tilesData.activeUsers || 0}\r\n Active Users\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.eventDocuments || 0}\r\n Event Documents\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.inspectionSheetChecks || 0}\r\n Inspection Sheet Checks\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.inspectionSheetSections || 0}\r\n Inspection Sheet Sections\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.maintenanceProviders || 0}\r\n Maintenance Providers\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.makes || 0}\r\n Makes\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.models || 0}\r\n Models\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.totalUsers || 0}\r\n Total Users\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.vehicleTypes || 0}\r\n Vehicle Types\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AdminDashboard;\r\n\r\n//to={`/serviceagent/defects`}\r\n//style={{ backgroundColor: \"green\" }}\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllVehicleDailyChecks = async () => {\r\n let res = await getWithAuth(`DailyCheckSections`);\r\n return res;\r\n};\r\n\r\nexport const getVehicleDailyCheckById = async (id) => {\r\n let res = await getWithAuth(`DailyCheckSections/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postVehicleDailyChecks = async (data) => {\r\n let res = await postWithAuth(`DailyCheckSections`, data);\r\n return res;\r\n};\r\n\r\nexport const getAllVehicleCheckSectionDropDown = async () => {\r\n let res = await getWithAuth(`VehicleCategories`);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { SecondaryCheckbox, InputText, SecondaryButton, SelectBox, MandatoryField } from '../../../../Core/Controls';\r\nimport {\r\n getVehicleDailyCheckById,\r\n postVehicleDailyChecks,\r\n getAllVehicleCheckSectionDropDown\r\n} from '../../../../Core/Services/InternalUser/vehicleDailyChecksAdminService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../../commonStyle.scss';\r\nimport { MandatoryPositiveInput } from '../../../../Core/Controls/Inputs/PositiveInput';\r\n\r\nconst CheckSectionModal = (props) => {\r\n const [state, setState] = useState({\r\n dailyCheckSectionID: null,\r\n dailyCheckSectionDescription: '',\r\n dailyCheckSectionPosition: '',\r\n dailyCheckSectionActive: true,\r\n vehicleCategoryDescription: '',\r\n dailyCheckSectionLegalRequirement: false,\r\n errors: {},\r\n categoryList: []\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n //Previous Code using async await\r\n\r\n // useEffect(async () => {\r\n // if (props.checkSectionID) {\r\n // let res = await getVehicleDailyCheckById(props.checkSectionID);\r\n // if (res.success) {\r\n // setState((state) => ({\r\n // ...state,\r\n // dailyCheckSectionID: res.data.dailyCheckSectionID,\r\n // dailyCheckSectionDescription: res.data.dailyCheckSectionDescription,\r\n // dailyCheckSectionPosition: res.data.dailyCheckSectionPosition,\r\n // vehicleCategoryDescription: res.data.dailyCheckSectionVehicleCategoryID,\r\n // dailyCheckSectionActive: res.data.dailyCheckSectionActive,\r\n // dailyCheckSectionLegalRequirement: res.data.dailyCheckSectionLegalRequirement\r\n // }));\r\n // }\r\n // }\r\n\r\n // let res = await getAllVehicleCheckSectionDropDown();\r\n // setState((state) => ({\r\n // ...state,\r\n // categoryList: res.data.map((item) => ({\r\n // id: item.vehicleCategoryID,\r\n // name: item.vehicleCategoryDescription\r\n // }))\r\n // }));\r\n // }, []);\r\n\r\n //New Code using Promise.all\r\n\r\n useEffect(() => {\r\n let res = props.checkSectionID && getVehicleDailyCheckById(props.checkSectionID);\r\n let resDrop = getAllVehicleCheckSectionDropDown();\r\n\r\n Promise.all([res, resDrop]).then((value) => {\r\n let [res, ...resDrop] = value;\r\n resDrop = resDrop[0];\r\n if (props.checkSectionID) {\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n dailyCheckSectionID: res.data.dailyCheckSectionID,\r\n dailyCheckSectionDescription: res.data.dailyCheckSectionDescription,\r\n dailyCheckSectionPosition: res.data.dailyCheckSectionPosition,\r\n vehicleCategoryDescription: res.data.dailyCheckSectionVehicleCategoryID,\r\n dailyCheckSectionActive: res.data.dailyCheckSectionActive,\r\n dailyCheckSectionLegalRequirement: res.data.dailyCheckSectionLegalRequirement\r\n }));\r\n }\r\n }\r\n\r\n setState((state) => ({\r\n ...state,\r\n categoryList: resDrop.data.list.map((item) => ({\r\n id: item.vehicleCategoryID,\r\n name: item.vehicleCategoryDescription\r\n }))\r\n }));\r\n });\r\n }, []);\r\n\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((state) => ({ ...state, [name]: value }));\r\n };\r\n\r\n const handleCheckbox = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => {\r\n const nst = { ...state, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { dailyCheckSectionDescription, dailyCheckSectionPosition, vehicleCategoryDescription } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(dailyCheckSectionDescription)) {\r\n errors.dailyCheckSectionDescription = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(dailyCheckSectionPosition)) {\r\n errors.dailyCheckSectionPosition = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!emptyStrigPattern.test(vehicleCategoryDescription)) {\r\n errors.vehicleCategoryDescription = 'This field is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const checkSectionData = {\r\n dailyCheckSectionID: state.dailyCheckSectionID,\r\n dailyCheckSectionPosition: state.dailyCheckSectionPosition,\r\n dailyCheckSectionDescription: state.dailyCheckSectionDescription,\r\n dailyCheckSectionActive: state.dailyCheckSectionActive,\r\n dailyCheckSectionLegalRequirement: state.dailyCheckSectionLegalRequirement,\r\n // vehicleCategoryDescription: state.vehicleCategoryDescription,\r\n dailyCheckSectionVehicleCategoryID: state.vehicleCategoryDescription\r\n };\r\n let res = await postVehicleDailyChecks(checkSectionData);\r\n if (res.success) {\r\n if (props.checkSectionID) {\r\n showToastSuccess('Vehicle Daily Check updated successfully');\r\n } else {\r\n showToastSuccess('Vehicle Daily Check added successfully');\r\n }\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n // props.onClose(false);\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 Category\r\n \r\n \r\n {state.errors.vehicleCategoryDescription}\r\n \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.checkSectionID ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CheckSectionModal;\r\n","import { PinDropSharp } from '@material-ui/icons';\r\nimport React, { useEffect, useState, useMemo } from 'react';\r\nimport { DataGrid, EditButton, formatters } from '../../../../Core/Controls';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { getAllVehicleDailyChecks } from '../../../../Core/Services/InternalUser/vehicleDailyChecksAdminService';\r\nimport CheckSectionModal from './vehicleDailyCheckModal';\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'dailyCheckSectionDescription', name: 'Description' },\r\n {\r\n key: 'dailyCheckSectionPosition',\r\n name: 'Position',\r\n width: '8%',\r\n formatter: formatters.ColumnTextAlignRight,\r\n headerRenderer: formatters.ColumnHeaderAlignRight\r\n },\r\n { key: 'dailyCheckSectionActive', name: 'Is Active ?', formatter: formatters.YesNo, width: '8%' },\r\n { key: 'dailyCheckSectionLegalRequirement', name: 'Legal Requirement', formatter: formatters.YesNo, width: '16%' }\r\n];\r\nconst VehicleDailyChecksAdmin = (props) => {\r\n const [state, setState] = useState({\r\n checkSectionList: [],\r\n showLoader: true,\r\n modalToggle: false\r\n });\r\n\r\n useEffect(async () => {\r\n pullData();\r\n }, []);\r\n\r\n const pullData = async () => {\r\n let res = await getAllVehicleDailyChecks();\r\n\r\n setState((state) => ({\r\n ...state,\r\n checkSectionList: res.data.list.filter((m) => {\r\n return m.vehicleCategoryDescription === props.heading;\r\n }),\r\n showLoader: false\r\n }));\r\n };\r\n const actionButton = (data) => {\r\n return (\r\n
\r\n {\r\n handleButton(data.row);\r\n }}\r\n toolTipTitle=\"Edit Vehicle Daily Check\"\r\n />\r\n
\r\n );\r\n };\r\n\r\n const handleButton = (params) => {\r\n setState((state) => ({ ...state, modalToggle: true, userID: params.dailyCheckSectionID }));\r\n };\r\n\r\n const closeDialog = (res) => {\r\n setState((state) => ({ ...state, modalToggle: false }));\r\n res && pullData();\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = actionButton;\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n\r\n const title = state.userID ? 'Update Daily Check' : 'Add Daily Check';\r\n\r\n return (\r\n
\r\n \r\n {state.modalToggle ? (\r\n closeDialog(false)}>\r\n closeDialog(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default VehicleDailyChecksAdmin;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { BreadCrumbs, TabView } from '../../../../Core/Controls';\r\nimport { getVehicleCategory } from '../../../../Core/Services/InternalUser/Vehicle/vehicleChecks';\r\nimport VehicleDailyChecksAdmin from './vehicleDailyChecksAdmin';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicle Checks', active: true },\r\n { name: 'Daily Checks', active: true }\r\n];\r\n\r\nconst VehicleDailyChecksTab = () => {\r\n const [state, setState] = useState({\r\n checkList: []\r\n });\r\n\r\n useEffect(async () => {\r\n let CheckRes = await getVehicleCategory();\r\n setState(() => ({\r\n checkList: CheckRes?.data.list\r\n }));\r\n }, []);\r\n\r\n const heading = state.checkList?.map((o) => o.vehicleCategoryDescription);\r\n const filterTab = state.checkList?.filter((o, index) => !heading.includes(o.vehicleCategoryDescription, index + 1));\r\n const checkChecks = filterTab?.map((tab) => {\r\n return {\r\n label: tab.vehicleCategoryDescription,\r\n body: (\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\nexport default VehicleDailyChecksTab;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllReportCatalogues = async () => {\r\n let res = await getWithAuth('reportcatalogue');\r\n return res;\r\n};\r\n\r\nexport const getAllDropdowns = async () => {\r\n let res = await getWithAuth(`reportcatalogue/screenDropdowns`);\r\n return res;\r\n};\r\n\r\nexport const getReportCataloguesById = async (Id) => {\r\n let res = await getWithAuth(`reportcatalogue/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const addReportCatalogues = async (data) => {\r\n let res = await postWithAuth('reportcatalogue', data);\r\n return res;\r\n};\r\n","import { InputLabel } from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport React, { useEffect, useMemo, useState } from 'react';\r\nimport { DataGrid, EditButton, MandatoryField, Multiselect, SecondaryButton, formatters, SelectBox, SecondaryCheckbox } from '../../../Core/Controls';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { getAllDropdowns, addReportCatalogues, getReportCataloguesById } from '../../../Core/Services/Admin/reportCatalogueService';\r\nimport { FormHelperText } from '@material-ui/core';\r\nimport '../../InternalUser/Controllers/controllerStyle.scss';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: '5%'\r\n },\r\n {\r\n key: 'reportCatalogueColumnDisplayName',\r\n name: 'Column Name'\r\n },\r\n {\r\n key: 'reportCatalogueColumnDatabaseName',\r\n name: 'Database Column'\r\n },\r\n {\r\n key: 'reportCatalogueColumnFieldType',\r\n name: 'Field Type'\r\n },\r\n {\r\n key: 'reportCatalogueColumnSelectionType',\r\n name: 'Selection Type'\r\n },\r\n {\r\n key: 'reportCatalogueColumnLength',\r\n name: 'Field Length'\r\n },\r\n {\r\n key: 'reportCatalogueColumnMandatory',\r\n name: 'Field Required',\r\n formatter: formatters.YesNo\r\n }\r\n];\r\n\r\nconst AddEditReportCatalogue = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n errors: {},\r\n reportsList: [],\r\n reportCatalogueName: '',\r\n tablesToUseList: '',\r\n reportCatalogueSQL: '',\r\n reportCatalogueColumnDisplayName: '',\r\n reportCatalogueColumnDatabaseName: '',\r\n reportCatalogueColumnFieldType: '',\r\n reportCatalogueColumnSelectionType: '',\r\n reportCatalogueColumnLength: '',\r\n reportCatalogueColumnMandatory: true,\r\n reportCatalogueColumnMandatoryList: [],\r\n reportCatalogueColumnSelectionTypesList: [],\r\n reportCatalogueColumnFieldTypesList: [],\r\n catlogId: null,\r\n reportCatalogueID: null,\r\n tablesListIds: []\r\n });\r\n\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n let res = await getAllDropdowns();\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n reportCatalogueColumnMandatoryList: [],\r\n reportCatalogueColumnSelectionTypesList: res.data.reportCatalogueSelectionTypes,\r\n reportCatalogueColumnFieldTypesList: res.data.reportCatalogueFieldTypes\r\n }));\r\n }\r\n if (props.reportCatalogueID) {\r\n let res = await getReportCataloguesById(props.reportCatalogueID);\r\n let data = res.data;\r\n setState((st) => ({\r\n ...st,\r\n reportsList: data?.reportCatalogueColumns?.map((m, i) => ({ ...m, id: i + 1 })) || [],\r\n\r\n tablesToUseList: res.data.reportCatalogueTables[0]?.reportCatalogueTableName,\r\n reportCatalogueID: res.data.reportCatalogues[0]?.reportCatalogueID,\r\n reportCatalogueName: res.data.reportCatalogues[0]?.reportCatalogueName,\r\n reportCatalogueSQL: res.data.reportCatalogues[0]?.reportCatalogueSQL\r\n }));\r\n }\r\n }, []);\r\n\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const validations = (val) => {\r\n const {\r\n reportCatalogueName,\r\n tablesToUseList,\r\n reportCatalogueSQL,\r\n reportCatalogueColumnDisplayName,\r\n reportCatalogueColumnDatabaseName,\r\n reportCatalogueColumnFieldType,\r\n reportCatalogueColumnSelectionType,\r\n reportCatalogueColumnLength\r\n } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!val) {\r\n if (!reportCatalogueName) {\r\n errors.reportCatalogueName = 'Report Catalogue Name is required';\r\n formIsValid = false;\r\n }\r\n if (!tablesToUseList) {\r\n errors.tablesToUseList = 'Tables To Use is required';\r\n formIsValid = false;\r\n }\r\n if (!reportCatalogueSQL) {\r\n errors.reportCatalogueSQL = 'reportCatalogueSQL is required.';\r\n formIsValid = false;\r\n }\r\n }\r\n if (val) {\r\n if (!reportCatalogueColumnDisplayName) {\r\n errors.reportCatalogueColumnDisplayName = 'Column Name is required.';\r\n formIsValid = false;\r\n }\r\n if (!reportCatalogueColumnDatabaseName) {\r\n errors.reportCatalogueColumnDatabaseName = 'Database Column is required.';\r\n formIsValid = false;\r\n }\r\n if (!reportCatalogueColumnFieldType) {\r\n errors.reportCatalogueColumnFieldType = 'Field Type is required.';\r\n formIsValid = false;\r\n }\r\n if (!reportCatalogueColumnSelectionType) {\r\n errors.reportCatalogueColumnSelectionType = 'Selection Type is required.';\r\n formIsValid = false;\r\n }\r\n if (!reportCatalogueColumnLength) {\r\n errors.reportCatalogueColumnLength = 'Field Length is required.';\r\n formIsValid = false;\r\n }\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations(false)) {\r\n const data = {\r\n reportCatalogueID: state.reportCatalogueID,\r\n reportCatalogueName: state.reportCatalogueName,\r\n reportCatalogueSQL: state.reportCatalogueSQL,\r\n reportCatalogueColumnsVM: state.reportsList.map((m) => ({\r\n reportCatalogueColumnDisplayName: m.reportCatalogueColumnDisplayName,\r\n reportCatalogueColumnDatabaseName: m.reportCatalogueColumnDatabaseName,\r\n reportCatalogueColumnFieldType: m.reportCatalogueColumnFieldType,\r\n reportCatalogueColumnSelectionType: m.reportCatalogueColumnSelectionType,\r\n reportCatalogueColumnLength: m.reportCatalogueColumnLength,\r\n reportCatalogueColumnMandatory: m.reportCatalogueColumnMandatory\r\n })),\r\n reportCatalogueTablesVM: [\r\n {\r\n reportCatalogueTableName: state.tablesToUseList\r\n }\r\n ]\r\n };\r\n setBtnLoader(true);\r\n let res = await addReportCatalogues(data);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n props.onClose(true);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n const onSelectCheckbox = (event) => {\r\n const { name, checked } = event.target;\r\n setState((st) => {\r\n const nst = { ...st, [name]: checked };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleAdd = () => {\r\n if (validations(true)) {\r\n let newPartToAdd = {\r\n reportCatalogueColumnDisplayName: state.reportCatalogueColumnDisplayName,\r\n reportCatalogueColumnDatabaseName: state.reportCatalogueColumnDatabaseName,\r\n reportCatalogueColumnFieldType: state.reportCatalogueColumnFieldType,\r\n reportCatalogueColumnSelectionType: state.reportCatalogueColumnSelectionType,\r\n reportCatalogueColumnLength: state.reportCatalogueColumnLength,\r\n reportCatalogueColumnMandatory: state.reportCatalogueColumnMandatory\r\n };\r\n setState((st) => ({\r\n ...st,\r\n reportsList: state.reportsList.filter((item) => item.id !== state.catlogId)\r\n }));\r\n setState((st) => {\r\n newPartToAdd.id = st.reportsList.length === 0 ? 1 : Math.max(...st.reportsList.map((c) => c.id)) + 1;\r\n return {\r\n ...st,\r\n reportsList: [...st.reportsList, newPartToAdd],\r\n reportCatalogueColumnDisplayName: '',\r\n reportCatalogueColumnDatabaseName: '',\r\n reportCatalogueColumnFieldType: '',\r\n reportCatalogueColumnSelectionType: '',\r\n reportCatalogueColumnLength: '',\r\n reportCatalogueColumnMandatory: true,\r\n isUpdate: false,\r\n catlogId: undefined\r\n };\r\n });\r\n }\r\n };\r\n\r\n const handleUpdatePart = (params) => {\r\n setState((st) => {\r\n const nst = {\r\n ...st,\r\n id: params.id,\r\n reportCatalogueColumnDisplayName: params.reportCatalogueColumnDisplayName,\r\n reportCatalogueColumnDatabaseName: params.reportCatalogueColumnDatabaseName,\r\n reportCatalogueColumnFieldType: params.reportCatalogueColumnFieldType,\r\n reportCatalogueColumnSelectionType: params.reportCatalogueColumnSelectionType,\r\n reportCatalogueColumnLength: params.reportCatalogueColumnLength,\r\n reportCatalogueColumnMandatory: params.reportCatalogueColumnMandatory,\r\n catlogId: params.id,\r\n isUpdate: true\r\n };\r\n return nst;\r\n });\r\n };\r\n\r\n const handelClose = () => {\r\n props.onClose(false);\r\n };\r\n\r\n const dataFormatter = (data) => {\r\n return (\r\n
\r\n handleUpdatePart(data.row)} toolTipTitle=\"Edit Report\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\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 Submit\r\n \r\n \r\n \r\n Cancel\r\n \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 Type\r\n \r\n \r\n {state.errors.reportCatalogueColumnFieldType}\r\n \r\n \r\n \r\n Selection Type\r\n \r\n \r\n {state.errors.reportCatalogueColumnSelectionType}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {'\\u{2800}'}\r\n \r\n {state.catlogId ? 'Update' : 'ADD'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AddEditReportCatalogue;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../Core/Controls';\r\nimport DataGrid from '../../../Core/Controls/Grid';\r\nimport '../../commonStyle.scss';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport AddEditReportCatalogue from './addEditReportCatalogue';\r\n\r\nimport { getAllReportCatalogues } from '../../../Core/Services/Admin/reportCatalogueService';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 80\r\n },\r\n {\r\n name: 'Name',\r\n key: 'name'\r\n },\r\n {\r\n key: 'dateCreated',\r\n name: 'Creation Date',\r\n formatter: formatters.Date_DDMMMYYYY_HHMM\r\n },\r\n {\r\n key: 'createdBy',\r\n name: 'Created By'\r\n },\r\n {\r\n key: 'dateUpdated',\r\n name: 'Updated Date',\r\n formatter: formatters.Date_DDMMMYYYY_HHMM\r\n },\r\n {\r\n key: 'updatedBy',\r\n name: 'Updated By'\r\n }\r\n];\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Report Catalogues', path: '/', active: true }\r\n];\r\n\r\nconst ReportCataloguesScreen = (props) => {\r\n const { showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n\r\n reportCataloguesList: [],\r\n reportCataloguesData: null,\r\n reportCatalogueID: null,\r\n isReload: null\r\n });\r\n\r\n const pullReportCataloguesAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n reportCatalogueID: record\r\n }));\r\n };\r\n\r\n const closeReportCataloguesModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false,\r\n showAsgPermi: false\r\n }));\r\n res && pullReportCataloguesAndUpdateState();\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n
\r\n handleAdd(row.reportCatalogueID)} toolTipTitle=\"Edit Report Catalogue\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const Crumbs = useMemo(() => {\r\n const tempCols = [...crumbs];\r\n let actionCol = tempCols.find((element) => element.name === 'Report Catalogues');\r\n if (actionCol) {\r\n actionCol.onClick = closeReportCataloguesModal();\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const title = state.reportCataloguesData ? 'Update Report Catalogue' : 'Add Report Catalogue';\r\n let getUrl = `reportcatalogue`;\r\n return (\r\n
\r\n \r\n\r\n {state.show ? (\r\n \r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle=\"Add Report Catalogue\"\r\n onBtnClick={() => handleAdd(null)}\r\n isReload={state.isReload}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\nexport default ReportCataloguesScreen;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllMenuItems = async (id) => {\r\n let res = await getWithAuth(`NavigationMenu?roleID=${id}`); //\r\n return res;\r\n};\r\n\r\nexport const roleBaseTab = async () => {\r\n let res = await getWithAuth(`NavigationMenu/RoleBasedMenu`);\r\n return res;\r\n};\r\nexport const getMenuTab = async () => {\r\n let res = await getWithAuth(`NavigationMenu/getroles`);\r\n return res;\r\n};\r\nexport const getMenuItemsById = async (id) => {\r\n let res = await getWithAuth(`NavigationMenu/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postMenuItems = async (data) => {\r\n let res = await postWithAuth(`NavigationMenu`, data);\r\n return res;\r\n};\r\n\r\nexport const getMenuItemsDropdown = async (id, menuid) => {\r\n let res = '';\r\n if (menuid) {\r\n res = await getWithAuth(`NavigationMenu/screenDropdowns?roleID=${id}&menuID=${menuid}`);\r\n } else {\r\n res = await getWithAuth(`NavigationMenu/screenDropdowns?roleID=${id}`);\r\n }\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, MenuItem, TextField } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, MandatoryField, SelectBox, YesButton, NoButton, SimpleField, SingleSelect } from '../../../Core/Controls';\r\nimport { getMenuItemsById, postMenuItems, getMenuItemsDropdown } from '../../../Core/Services/InternalUser/menuItemService';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport '../../commonStyle.scss';\r\n\r\nfunction MenuModal(props) {\r\n const [state, setState] = useState({\r\n navigationMenuID: null,\r\n leftNavigationMenuURL: '',\r\n leftNavigationMenuComponent: '',\r\n leftNavigationMenuAuthType: '',\r\n navigationMenuSequence: '',\r\n iconIDValue: null,\r\n leftNavigationMenuIconName: '',\r\n menuIconList: [],\r\n navigationMenuRoleID: null,\r\n menuRoleList: [],\r\n screenList: [],\r\n flatScreenList: [],\r\n navigationMenuParentMenuID: null,\r\n parentMenuList: [],\r\n navigationMenuLabel: '',\r\n navigationMenuActive: true,\r\n navigationScreenID: null,\r\n errors: {}\r\n });\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n navigationMenuIconIDValue: null\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.tabID) {\r\n setState((st) => ({ ...st, navigationMenuRoleID: props.tabID }));\r\n }\r\n let dropDwonData = await getMenuItemsDropdown(props.tabID, props.navigationMenuID);\r\n if (dropDwonData.success) {\r\n const parent_MenuList = dropDwonData.data.navigationMenus.map((item) => ({\r\n id: item.navigationMenuID,\r\n name: item.navigationMenuLabel\r\n }));\r\n const screen_List = dropDwonData.data.screens.map((item) => ({\r\n id: item.id,\r\n name: item.name\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n menuIconList: dropDwonData.data.icons,\r\n menuRoleList: dropDwonData.data.roles,\r\n parentMenuList: parent_MenuList,\r\n screenList: screen_List,\r\n flatScreenList: dropDwonData.data.screens\r\n }));\r\n }\r\n if (props.navigationMenuID) {\r\n let res = await getMenuItemsById(props.navigationMenuID);\r\n let data = res.data.list[0];\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n navigationMenuID: data.navigationMenuID,\r\n navigationMenuRoleID: data.navigationMenuRoleID,\r\n leftNavigationMenuURL: data.leftNavigationMenuURL,\r\n leftNavigationMenuComponent: data.leftNavigationMenuComponent,\r\n leftNavigationMenuAuthType: data.leftNavigationMenuAuthType,\r\n navigationMenuSequence: data.navigationMenuSequence,\r\n navigationMenuLabel: data.navigationMenuLabel,\r\n iconIDValue: data.navigationMenuIconID,\r\n navigationMenuActive: data.navigationMenuActive,\r\n leftNavigationMenuIconName: data.leftNavigationMenuIconName,\r\n navigationMenuParentMenuID: data.navigationMenuParentMenuID,\r\n navigationScreenID: data.navigationScreenID\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n let MenuId = null;\r\n if (state.iconIDValue) {\r\n MenuId = state.menuIconList.find(({ id }) => id === +state.iconIDValue);\r\n }\r\n setTempOptions((st) => ({\r\n ...st,\r\n navigationMenuIconIDValue: MenuId\r\n }));\r\n }, [state.iconIDValue]);\r\n\r\n const abcd = async (value) => {\r\n let obj = state.flatScreenList.find((x) => x.id === value);\r\n setState((st) => {\r\n const nst = { ...st };\r\n nst.navigationMenuLabel = obj?.name;\r\n nst.navigationMenuIconID = obj?.screenIconID;\r\n return nst;\r\n });\r\n };\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setTempOptions((st) => ({ ...st, [nm]: val }));\r\n };\r\n\r\n const handleInputChange2 = (event) => {\r\n const { name, value } = event.target;\r\n setState((st) => {\r\n const nst = { ...st };\r\n nst[name] = value;\r\n nst.navigationMenuLabel = '';\r\n nst.navigationMenuIconID = '';\r\n\r\n return nst;\r\n });\r\n abcd(value);\r\n };\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((st) => {\r\n const nst = { ...st };\r\n nst[name] = value;\r\n\r\n return nst;\r\n });\r\n };\r\n\r\n const handleClick = (name, value) => {\r\n setState((st) => {\r\n const nst = { ...st, [name]: value };\r\n return nst;\r\n });\r\n };\r\n\r\n const validations = () => {\r\n const { navigationMenuLabel } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(navigationMenuLabel)) {\r\n errors.navigationMenuLabel = ' This field is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const data = {\r\n navigationMenuID: state.navigationMenuID,\r\n navigationMenuRoleID: state.navigationMenuRoleID,\r\n navigationMenuSequence: state.navigationMenuSequence,\r\n navigationMenuLabel: state.navigationMenuLabel,\r\n navigationMenuIconID: tempOptions.navigationMenuIconIDValue?.id,\r\n navigationMenuActive: state.navigationMenuActive,\r\n navigationMenuParentMenuID: state.navigationMenuParentMenuID,\r\n navigationScreenID: state.navigationScreenID\r\n };\r\n let res = await postMenuItems(data);\r\n if (res.success) {\r\n showToastSuccess('Menu Item Saved Successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 Screens\r\n \r\n \r\n {state.errors.navigationScreenID}\r\n \r\n \r\n \r\n \r\n \r\n Menu Icons\r\n \r\n {state.errors.iconIDValue}\r\n \r\n\r\n \r\n Parent Menu\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Is Active ?\r\n \r\n \r\n handleClick('navigationMenuActive', true)} />\r\n \r\n \r\n handleClick('navigationMenuActive', false)} />\r\n \r\n \r\n \r\n\r\n \r\n {props.navigationMenuID ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default MenuModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllMenuItems } from '../../../Core/Services/InternalUser/menuItemService';\r\nimport DataGrid from '../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport MenuModal from './MenuModal';\r\nimport { BreadCrumbs, AddButton, EditButton, formatters } from '../../../Core/Controls';\r\nimport '../../commonStyle.scss';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'navigationMenuLabel', name: 'Menu label' },\r\n { key: 'screenLabel', name: 'Screen label' },\r\n // { key: 'NavigationMenuURL', name: 'URL' },\r\n // { key: 'NavigationMenuAuthType', name: 'Auth Type' },\r\n { key: 'navigationMenuActive', name: 'Is Active ?' }\r\n];\r\n\r\nfunction Menu(props) {\r\n const [state, setState] = useState({\r\n menuList: [],\r\n loader: true,\r\n open: false,\r\n isReload: null\r\n });\r\n\r\n const pullMenuItems = async () => {\r\n // let res = await getAllMenuItems(props.tabID); //\r\n // setState((state) => ({\r\n // ...state,\r\n // menuList: res.data.menus,\r\n // loader: false\r\n // }));\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const submitHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, navigationMenuID: params }));\r\n };\r\n\r\n const ActionButtons = (id, row) => {\r\n return (\r\n
\r\n submitHandler(row.navigationMenuID)} toolTipTitle=\"Edit Items\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n }, []);\r\n\r\n const title = state.navigationMenuID ? 'Update Menu Items' : 'Add Menu Items';\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullMenuItems();\r\n };\r\n\r\n let getUrl = `NavigationMenu?roleID=${props.tabID}`;\r\n\r\n return (\r\n
\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle=\"Add Item\"\r\n onBtnClick={() => submitHandler(null)}\r\n isReload={state.isReload}\r\n />\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"md\">\r\n closeModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\nexport default Menu;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { BreadCrumbs, TabView } from '../../../Core/Controls';\r\nimport { getMenuTab } from '../../../Core/Services/InternalUser/menuItemService';\r\nimport MenuItems from './Menu';\r\n\r\nfunction MenuTab(props) {\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Navigation', active: true },\r\n { name: 'Menu Items', active: true }\r\n ];\r\n const [state, setState] = useState({ leftNavigationMenuTabs: [] });\r\n\r\n useEffect(async () => {\r\n let res = await getMenuTab();\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n leftNavigationMenuTabs: res.data.roles\r\n }));\r\n }\r\n }, []);\r\n const tabs = state.leftNavigationMenuTabs.map((m) => ({\r\n label: m.name,\r\n body: \r\n }));\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default MenuTab;\r\n","import { postWithAuth, getWithAuth } from \"../../../Basic/HttpService\";\r\n\r\nexport const getAllRetorqueposition = async () => {\r\n let res = await getWithAuth(`Retorquepositions`);\r\n return res;\r\n};\r\n\r\nexport const getRetorquepositionId = async (id) => {\r\n let res = await getWithAuth(`Retorquepositions/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postRetorquepositionData = async (data) => {\r\n let res = await postWithAuth(`Retorquepositions`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, MenuItem, TextField } from '@material-ui/core';\r\nimport { InputText, SecondaryButton, MandatoryField, SelectBox, YesButton, NoButton } from '../../../Core/Controls';\r\nimport { getRetorquepositionId, postRetorquepositionData } from '../../../Core/Services/InternalUser/VOR/retorquePositionsService';\r\nimport AcUnitIcon from '@material-ui/icons/AcUnit';\r\nimport AirlineSeatReclineExtraIcon from '@material-ui/icons/AirlineSeatReclineExtra';\r\nimport ApartmentIcon from '@material-ui/icons/Apartment';\r\nimport AllInclusiveIcon from '@material-ui/icons/AllInclusive';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport '../../commonStyle.scss';\r\n\r\nfunction AddEditModal(props) {\r\n const [state, setState] = useState({\r\n retorquePositionID: null,\r\n url: '',\r\n component: '',\r\n authType: '',\r\n parentMenuID: '',\r\n parentMenuList: [],\r\n menuItemID: '',\r\n menuItemList: [],\r\n lable: '',\r\n isActive: true,\r\n errors: {}\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.retorquePositionID) {\r\n let res = await getRetorquepositionId(props.retorquePositionID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n retorquePositionID: res.data.retorquePositionID,\r\n parentMenuID: res.data.parentMenuID,\r\n url: res.data.url,\r\n component: res.data.component,\r\n authType: res.data.authType,\r\n lable: res.data.lable\r\n }));\r\n const parentMenu = Data.map((item) => ({\r\n id: item.parentMenuID,\r\n name: item.parentMenuName\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n parentMenuList: parentMenu\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n const handleClick = (name, value) => {\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const validations = () => {\r\n const { lable } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(lable)) {\r\n errors.lable = ' This field is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const retorquepositionData = {\r\n retorquePositionID: state.retorquePositionID,\r\n url: state.url,\r\n component: state.component,\r\n authType: state.authType,\r\n lable: state.lable.length,\r\n parentMenuID: state.parentMenuID\r\n };\r\n props.onClose(true);\r\n // let res = await postRetorquepositionData(retorquepositionData);\r\n // if (res.success) {\r\n // showToastSuccess('Retorque Position Updated sucessfully');\r\n // props.onClose(true);\r\n // } else {\r\n // showToastError(res.message);\r\n // }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Menu Item\r\n \r\n \r\n {state.errors.menuItemID}\r\n \r\n \r\n \r\n {state.errors.lable}\r\n \r\n \r\n \r\n Menu Icons\r\n \r\n \r\n {\r\n \r\n None\r\n \r\n }\r\n {Data.length > 0 &&\r\n Data.map((option) => (\r\n \r\n {option.icons}\r\n \r\n ))}\r\n \r\n \r\n \r\n Parent Menu\r\n \r\n {/* {state.errors.parentMenuID} */}\r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n \r\n Is Active ?\r\n \r\n \r\n handleClick('isActive', true)} />\r\n \r\n \r\n handleClick('isActive', false)} />\r\n \r\n \r\n */}\r\n\r\n \r\n {props.retorquePositionID ? 'Update' : 'Add'}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default AddEditModal;\r\n\r\nconst ParentMenuData = [\r\n {\r\n id: 1,\r\n name: 'Driver'\r\n },\r\n {\r\n id: 2,\r\n name: 'Jobs'\r\n },\r\n {\r\n id: 3,\r\n name: 'Events'\r\n },\r\n {\r\n id: 4,\r\n name: 'Vehicles'\r\n }\r\n];\r\n\r\nconst Data = [\r\n {\r\n id: 1,\r\n name: 'License Types',\r\n icons: \r\n },\r\n {\r\n id: 2,\r\n name: 'Cost Categories',\r\n icons: \r\n },\r\n {\r\n id: 3,\r\n name: 'Slippage Reasons',\r\n icons: \r\n },\r\n {\r\n id: 4,\r\n name: 'Fuel Types',\r\n icons: \r\n }\r\n];\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport TreeView from '@material-ui/lab/TreeView';\r\nimport TreeItem from '@material-ui/lab/TreeItem';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputText, SecondaryButton, MandatoryField, SelectBox, YesButton, NoButton } from '../../../Core/Controls';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport AddEditModal from './AddEditModal';\r\nimport { Button } from '@material-ui/core';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Label from '@material-ui/icons/Label';\r\nimport SupervisorAccountIcon from '@material-ui/icons/SupervisorAccount';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\nimport ForumIcon from '@material-ui/icons/Forum';\r\nimport LocalOfferIcon from '@material-ui/icons/LocalOffer';\r\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\r\nimport ArrowRightIcon from '@material-ui/icons/ArrowRight';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport '../../commonStyle.scss';\r\nconst useTreeItemStyles = makeStyles((theme) => ({\r\n root: {\r\n color: theme.palette.text.secondary,\r\n '&:hover > $content': {\r\n backgroundColor: theme.palette.action.hover\r\n },\r\n '&:focus > $content, &$selected > $content': {\r\n backgroundColor: `var(--tree-view-bg-color, ${theme.palette.grey[400]})`,\r\n color: 'var(--tree-view-color)'\r\n },\r\n '&:focus > $content $label, &:hover > $content $label, &$selected > $content $label': {\r\n backgroundColor: 'transparent'\r\n }\r\n },\r\n content: {\r\n color: theme.palette.text.secondary,\r\n borderTopRightRadius: theme.spacing(2),\r\n borderBottomRightRadius: theme.spacing(2),\r\n paddingRight: theme.spacing(1),\r\n fontWeight: theme.typography.fontWeightMedium,\r\n '$expanded > &': {\r\n fontWeight: theme.typography.fontWeightRegular\r\n }\r\n },\r\n group: {\r\n marginLeft: 0,\r\n '& $content': {\r\n paddingLeft: theme.spacing(2)\r\n }\r\n },\r\n expanded: {},\r\n selected: {},\r\n label: {\r\n fontWeight: 'inherit',\r\n color: 'inherit'\r\n },\r\n labelRoot: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: theme.spacing(0.5, 0)\r\n },\r\n labelIcon: {\r\n marginRight: theme.spacing(1)\r\n },\r\n editBtn: {\r\n marginRight: theme.spacing(2)\r\n },\r\n labelText: {\r\n fontWeight: 'inherit',\r\n flexGrow: 1\r\n }\r\n}));\r\n\r\nfunction TreeItems(props) {\r\n const classes = useTreeItemStyles();\r\n const { labelText, labelIcon: LabelIcon, editBtn: EditBtn, labelInfo, color, bgColor, ...other } = props;\r\n const [state, setState] = useState({\r\n loader: true,\r\n open: false\r\n });\r\n const btnClickHandler = (params) => {\r\n setState((state) => ({ ...state, open: true }));\r\n };\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n };\r\n const title = state.ID ? 'Update Left Menu' : 'Add Left Menu';\r\n return (\r\n \r\n \r\n \r\n {labelText}\r\n \r\n
\r\n \r\n  \r\n \r\n
\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"sm\">\r\n closeModal(true)}\r\n />\r\n \r\n ) : null}\r\n \r\n {labelInfo}\r\n \r\n \r\n }\r\n style={{\r\n '--tree-view-color': color,\r\n '--tree-view-bg-color': bgColor\r\n }}\r\n classes={{\r\n root: classes.root,\r\n content: classes.content,\r\n expanded: classes.expanded,\r\n selected: classes.selected,\r\n group: classes.group,\r\n label: classes.label\r\n }}\r\n {...other}\r\n />\r\n );\r\n}\r\n\r\nTreeItems.propTypes = {\r\n bgColor: PropTypes.string,\r\n color: PropTypes.string,\r\n labelIcon: PropTypes.elementType.isRequired,\r\n // editBtn: PropTypes.elementType.isRequired,\r\n labelInfo: PropTypes.string,\r\n labelText: PropTypes.string.isRequired\r\n};\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n marginTop: 20,\r\n marginLeft: 40,\r\n height: 444,\r\n flexGrow: 1,\r\n maxWidth: 400\r\n }\r\n});\r\n\r\nexport default function TreeViewScreen() {\r\n const [state, setState] = useState({\r\n loader: true,\r\n open: false\r\n });\r\n\r\n const btnClickHandler = (params) => {\r\n setState((state) => ({ ...state, open: true }));\r\n };\r\n const classes = useStyles();\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n };\r\n const title = state.ID ? 'Update Left Menu' : 'Add Left Menu';\r\n return (\r\n <>\r\n
\r\n \r\n {/* \r\n  Edit\r\n */}\r\n
\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"sm\">\r\n closeModal(true)}\r\n />\r\n \r\n ) : null}\r\n }\r\n defaultExpandIcon={}\r\n defaultEndIcon={
}\r\n >\r\n \r\n }\r\n // labelInfo=\"90\"\r\n color=\"#1a73e8\"\r\n bgColor=\"#e8f0fe\"\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 from 'react';\r\nimport { BreadCrumbs, TabView } from '../../../Core/Controls';\r\n// import JobBookingDetail from '../Vehicles/ScheduleVehicle/scheduleJobDetail';./JOBItems/JobItemsScreen\r\n// import JobItems from '../../InternalUser/Controllers/JOBS/JOBItems/JobItemsScreen';\r\n// import JobNotes from '../../../Controllers/Notes/index';\r\n// import JobDetail from './JOBItems/JobDetails';\r\nimport TreeViewScreen from './TreeViewScreen';\r\n\r\nfunction TreeViewTab(props) {\r\n const id = props.match.params.id;\r\n const vehicleID = props.match.params.vehicleID;\r\n const { state } = props.location;\r\n\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Navigation', active: true },\r\n { name: 'Left Menu', active: true }\r\n ];\r\n const tabs = [\r\n // {\r\n // label: 'Customer',\r\n // body: \r\n // },\r\n // {\r\n // label: 'Internal',\r\n // body: (\r\n // <>\r\n // \r\n // \r\n // )\r\n // },\r\n {\r\n label: 'Customer',\r\n body: \r\n },\r\n {\r\n label: 'Internal User',\r\n body: \r\n },\r\n {\r\n label: 'Service Agent',\r\n body: \r\n }\r\n ];\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default TreeViewTab;\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const addPortalSettings = async (data) => {\r\n let res = await postWithAuth('PortalSetting', data);\r\n return res;\r\n};\r\n\r\nexport const getPortalSettings = async () => {\r\n let res = await getWithAuth(`PortalSetting`);\r\n return res;\r\n};\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport {\r\n EditButton,\r\n BreadCrumbs,\r\n MandatoryField,\r\n Multiselect,\r\n SimpleField,\r\n SecondaryButton,\r\n formatters,\r\n SelectBox,\r\n SecondaryCheckbox,\r\n YesButton,\r\n NoButton\r\n} from '../../../Core/Controls';\r\nimport DataGrid from '../../../Core/Controls/Grid';\r\nimport '../../commonStyle.scss';\r\nimport { SketchPicker } from 'react-color';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport FormLabel from '@material-ui/core/FormLabel';\r\nimport { InputLabel, Typography } from '@material-ui/core';\r\nimport { getPortalSettings, addPortalSettings } from '../../../Core/Services/Admin/Settings';\r\nimport { useHistory } from 'react-router-dom';\r\nimport '../../commonStyle.scss';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Settings', path: '/', active: true }\r\n];\r\n\r\nconst Settings = (props) => {\r\n const { showToastError, showToastSuccess } = useToast();\r\n\r\n const [state, setState] = useState({\r\n Title: '',\r\n CallUs: '',\r\n OpeningTimes: '',\r\n EmailUs: '',\r\n Technician: '',\r\n SignOff: '',\r\n CustomerSignOff: '',\r\n Driver: '',\r\n DefectManager: '',\r\n HeaderTextColorCode: '',\r\n HeaderBackgroundColorCode: '',\r\n MenubarTextColorCode: '',\r\n MenubarBackgroundColorCode: '',\r\n productLogo: '',\r\n labelLogo: '',\r\n bannerLogo: '',\r\n navigationMenuActive: '',\r\n refreshTime: '',\r\n bannerImage: '',\r\n documentsLogo: '',\r\n Id: ''\r\n });\r\n\r\n const history = useHistory();\r\n\r\n const pullSettingsAndUpdateState = async () => {\r\n let res = await getPortalSettings();\r\n\r\n const data = res.data.details[0];\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n Id: data.portalSettingId,\r\n Title: data.portalSettingTitle,\r\n CallUs: data.portalSettingCallUs,\r\n OpeningTimes: data.portalSettingOpeningTime,\r\n EmailUs: data.portalSettingEmailUs,\r\n Technician: data.portalSettingTechnicianDeclaration,\r\n SignOff: data.portalSettingSignOffManagerDeclaration,\r\n Driver: data.portalSettingDriverDeclaration,\r\n DefectManager: data.portalSettingDefectManagerDeclaration,\r\n CustomerSignOff: data.portalSettingSignOffCustomerDeclaration,\r\n HeaderTextColorCode: data.portalHeaderTextColour,\r\n HeaderBackgroundColorCode: data.portalHeaderBackgroundColour,\r\n MenubarTextColorCode: data.portalMenuBarTextColour,\r\n MenubarBackgroundColorCode: data.portalMenuBarBackgroundColour,\r\n navigationMenuActive: data.portalSettingDisplayTopNavCounters,\r\n refreshTime: data.portalSettingDashboardRefreshTime,\r\n productLogo: data.portalSettingMainLogo,\r\n bannerLogo: data.portalSettingBanner,\r\n labelLogo: data.portalSettingAdditionalLogo,\r\n bannerImage: data.portalSettingBannerImage,\r\n documentsLogo: data.portalSettingDocumentsLogo\r\n }));\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n let handleImage = (bannerLogo) => (event) => {\r\n let reader = new FileReader();\r\n reader.onload = (e) => {\r\n const { result } = e.target;\r\n setState((st) => ({\r\n ...st,\r\n [bannerLogo]: result\r\n }));\r\n };\r\n reader.readAsDataURL(event.target.files[0]);\r\n };\r\n\r\n const clearImage = (name) => (e) => {\r\n setState((st) => ({ ...st, [name]: null }));\r\n };\r\n\r\n const modelgridStyle = {\r\n formatterImageContainer: { width: '100%', textAlign: 'left' },\r\n formatterImageProductContainer: { maxHeight: 50, maxHeight: 173, width: '100%', textAlign: 'left', backgroundColor: state.MenubarBackgroundColorCode },\r\n // formatterImage: { width: '40%', maxHeight: 60, backgroundSize: 'cover' },\r\n formatterImage: { width: 120, maxHeight: 60, backgroundSize: 'cover' }\r\n };\r\n\r\n const handleClick = (name, value) => {\r\n setState((st) => {\r\n const nst = { ...st, [name]: value };\r\n return nst;\r\n });\r\n };\r\n\r\n const handleFieldChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const handleSubmit = async () => {\r\n const data = {\r\n portalSettingId: state.Id,\r\n portalSettingCallUs: state.CallUs,\r\n portalSettingOpeningTime: state.OpeningTimes,\r\n portalSettingEmailUs: state.EmailUs,\r\n portalSettingTitle: state.Title,\r\n portalHeaderBackgroundColour: state.HeaderBackgroundColorCode,\r\n portalHeaderTextColour: state.HeaderTextColorCode,\r\n portalMenuBarBackgroundColour: state.MenubarBackgroundColorCode,\r\n portalMenuBarTextColour: state.MenubarTextColorCode,\r\n portalSettingBannerImage: state.bannerImage,\r\n portalSettingTechnicianDeclaration: state.Technician,\r\n portalSettingSignOffManagerDeclaration: state.SignOff,\r\n portalSettingDriverDeclaration: state.Driver,\r\n portalSettingDefectManagerDeclaration: state.DefectManager,\r\n portalSettingSignOffCustomerDeclaration: state.CustomerSignOff,\r\n portalSettingDisplayTopNavCounters: state.navigationMenuActive,\r\n portalSettingMainLogo: state.productLogo,\r\n portalSettingBanner: state.bannerLogo,\r\n portalSettingAdditionalLogo: state.labelLogo,\r\n portalSettingDocumentsLogo: state.documentsLogo,\r\n portalSettingDashboardRefreshTime: state.refreshTime\r\n };\r\n\r\n let res = await addPortalSettings(data);\r\n if (res.success) {\r\n showToastSuccess('Porting setting saved successfully');\r\n history.goBack();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n pullSettingsAndUpdateState();\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 \r\n \r\n \r\n Declarations\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Colours\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Header Text\r\n \r\n \r\n \r\n \r\n setState((state) => ({\r\n ...state,\r\n HeaderTextColorCode: updatedColor.hex\r\n }))\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Header Background\r\n \r\n \r\n \r\n \r\n setState((state) => ({\r\n ...state,\r\n HeaderBackgroundColorCode: updatedColor.hex\r\n }))\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Menu bar Text\r\n \r\n \r\n \r\n \r\n setState((state) => ({\r\n ...state,\r\n MenubarTextColorCode: updatedColor.hex\r\n }))\r\n }\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n Menu bar Background\r\n \r\n \r\n \r\n \r\n setState((state) => ({\r\n ...state,\r\n MenubarBackgroundColorCode: updatedColor.hex\r\n }))\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Logos\r\n \r\n
\r\n
\r\n \r\n Product Logo\r\n {state.productLogo ? (\r\n Remove Logo\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {'\\u{2800}'}\r\n \r\n \r\n \r\n White Label Logo\r\n {state.labelLogo ? (\r\n Remove Logo\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {'\\u{2800}'}\r\n \r\n \r\n \r\n \r\n Banner Image\r\n \r\n {state.bannerLogo ? (\r\n Remove Logo\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {'\\u{2800}'}\r\n \r\n \r\n \r\n \r\n Documents Logo\r\n \r\n {state.documentsLogo ? (\r\n Remove Logo\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {'\\u{2800}'}\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n Settings\r\n \r\n
\r\n
\r\n \r\n \r\n Display Top Navigation Counter?\r\n \r\n \r\n handleClick('navigationMenuActive', true)}\r\n />\r\n \r\n \r\n handleClick('navigationMenuActive', false)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {'\\u{2800}'}\r\n {props.customerID ? 'Save' : 'Save'}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Settings;\r\n","import { postWithAuth, getWithAuth } from \"../../../Basic/HttpService\";\r\n\r\nexport const getAllVorTypes = async () => {\r\n let res = await getWithAuth(`vortypes`);\r\n return res;\r\n};\r\n\r\nexport const getVorById = async (id) => {\r\n let res = await getWithAuth(`vortypes/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postVorData = async (data) => {\r\n let res = await postWithAuth(`vortypes`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { InputLabel, FormHelperText } from \"@material-ui/core\";\r\nimport { InputText, SecondaryButton, MandatoryField } from \"../../../Core/Controls\";\r\nimport { getVorById, postVorData } from \"../../../Core/Services/InternalUser/VOR/vorTypesService\";\r\nimport { useToast } from \"../../../Core/Hooks/useToast\";\r\nimport \"../../commonStyle.scss\";\r\n\r\nfunction VorModal(props) {\r\n const [state, setState] = useState({\r\n vorTypeID: null,\r\n vorTypeDescription: \"\",\r\n errors: {},\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.vorTypeID) {\r\n let res = await getVorById(props.vorTypeID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n vorTypeID: res.data.vorTypeID,\r\n vorTypeDescription: res.data.vorTypeDescription,\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value,\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n const { vorTypeDescription } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(vorTypeDescription)) {\r\n errors.vorTypeDescription = \" Vor Type is required\";\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const vorData = {\r\n vorTypeID: state.vorTypeID,\r\n vorTypeDescription: state.vorTypeDescription,\r\n };\r\n let res = await postVorData(vorData);\r\n if (res.success) {\r\n showToastSuccess(\"VOR Type Updated sucessfully\");\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 {props.vorTypeID ? \"Update\" : \"Add\"}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default VorModal;\r\n","import { postWithAuth, getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllVorTypeDetail = async () => {\r\n let res = await getWithAuth(`vortypedetails`);\r\n return res;\r\n};\r\nexport const getAllVorTypeList = async () => {\r\n let res = await getWithAuth(`vortypes`);\r\n return res;\r\n};\r\n\r\nexport const postVorTypeDetail = async (data) => {\r\n let res = await postWithAuth(`vortypedetails`, data);\r\n return res;\r\n};\r\n","import { FormHelperText, Grid, InputLabel } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { SecondaryButton, SelectBox, MandatoryField } from \"../../../Core/Controls\";\r\nimport { useToast } from \"../../../Core/Hooks/useToast\";\r\nimport \"../../commonStyle.scss\";\r\nimport { getAllVorTypeList, postVorTypeDetail } from \"../../../Core/Services/InternalUser/VOR/vorTypeDetailService\";\r\n\r\nconst VORTypeDialog = (props) => {\r\n const [state, setState] = useState({\r\n vorTypeDetailDescription: \"\",\r\n vorTypeDescription: \"\",\r\n vorTypeDetailTypeID: \"\",\r\n dropList: [],\r\n });\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n const pullDropList = async () => {\r\n let res = await getAllVorTypeList();\r\n\r\n const dataList = res.data.list.map((item) => ({\r\n id: item.vorTypeID,\r\n name: item.vorTypeDescription,\r\n }));\r\n\r\n setState((st) => ({\r\n ...st,\r\n dropList: dataList,\r\n }));\r\n };\r\n useEffect(() => {\r\n if (!props.data.isAdd) {\r\n let temp = props.data.selectedRowData;\r\n setState((st) => ({\r\n ...st,\r\n vorTypeDetailID: temp.vorTypeDetailID,\r\n vorTypeDetailTypeID: temp.vorTypeDetailTypeID,\r\n vorTypeDetailDescription: temp.vorTypeDetailDescription,\r\n vorTypeDescription: temp.vorTypeDescription,\r\n }));\r\n }\r\n pullDropList();\r\n }, []);\r\n\r\n const validate = () => {\r\n let noErrors = true;\r\n let err = {};\r\n if (!/[^\\s]/.test(state.vorTypeDetailTypeID)) {\r\n err.vorTypeDetailTypeID = true;\r\n noErrors = false;\r\n }\r\n if (!/[^\\s]/.test(state.vorTypeDetailDescription)) {\r\n err.vorTypeDetailDescription = true;\r\n noErrors = false;\r\n }\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n\r\n const handleData = async () => {\r\n if (validate()) {\r\n let response = await postVorTypeDetail({\r\n vorTypeDetailID: state.vorTypeDetailID || null,\r\n vorTypeDetailTypeID: state.vorTypeDetailTypeID || \"\",\r\n vorTypeDetailDescription: state.vorTypeDetailDescription,\r\n });\r\n if (response) {\r\n response.success\r\n ? showToastSuccess(state.isAdd ? \"VOR Type Detail added successfully\" : \"VOR Type Detail updated successfully\")\r\n : showToastError(response.message || \"Something went wrong\");\r\n } else {\r\n showToastError(\"Something went wrong\");\r\n }\r\n props.onClose();\r\n }\r\n };\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value,\r\n }));\r\n setErrors({});\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n VOR Type\r\n \r\n \r\n {errors.vorTypeDetailTypeID ? \"This field is required\" : null}\r\n \r\n \r\n \r\n \r\n \r\n {props.data.isAdd ? \"ADD\" : \"UPDATE\"}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default VORTypeDialog;\r\n","import { postWithAuth, getWithAuth } from \"../../../Basic/HttpService\";\r\n\r\nexport const postVorSubCatData = async (data) => {\r\n let res = await postWithAuth(`vorsubcategories`, data);\r\n return res;\r\n};","import { FormHelperText, Grid, InputLabel } from \"@material-ui/core\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { SecondaryButton, SelectBox, MandatoryField } from \"../../../Core/Controls\";\r\nimport { useToast } from \"../../../Core/Hooks/useToast\";\r\nimport \"../../commonStyle.scss\";\r\nimport { getAllVorTypeList, postVorTypeDetail } from \"../../../Core/Services/InternalUser/VOR/vorTypeDetailService\";\r\nimport { postVorSubCatData } from \"../../../Core/Services/InternalUser/VOR/vorSubCatService\";\r\n\r\nconst VorSubCatDialog = (props) => {\r\n const [state, setState] = useState({\r\n vorSubCategoryId: props.selectedRowData ? props.selectedRowData.vorSubCategoryId : null,\r\n vorSubCategoryCategoryId: props.focusedRow.vorTypeDetailID,\r\n vorSubCategoryDescription: props.selectedRowData ? props.selectedRowData.vorSubCategoryDescription : null,\r\n\r\n errors: {},\r\n });\r\n\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const validations = () => {\r\n const { vorSubCategoryDescription } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n if (vorSubCategoryDescription == \"\" || vorSubCategoryDescription == null) {\r\n errors.vorSubCategoryDescription = \"Sub Category Description is required\";\r\n formIsValid = false;\r\n }\r\n\r\n setState((state) => ({ ...state, errors: errors }));\r\n\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n const data = {\r\n VORSubCategoryCategoryId: state.vorSubCategoryCategoryId,\r\n VORSubCategoryDescription: state.vorSubCategoryDescription\r\n }\r\n\r\n if (props.selectedRowData != null) {\r\n data.VORSubCategoryId = state.vorSubCategoryId;\r\n }\r\n\r\n let res = await postVorSubCatData(data);\r\n\r\n if (res.success) {\r\n showToastSuccess(\"VOR Sub Category Updated sucessfully\");\r\n props.onClose();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n const handleChange = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value,\r\n }));\r\n setErrors({});\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {props.selectedRowData == null ? \"ADD\" : \"UPDATE\"}\r\n \r\n \r\n \r\n );\r\n};\r\nexport default VorSubCatDialog;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport '../../commonStyle.scss';\r\nimport { BreadCrumbs } from '../../../Core/Controls';\r\nimport { IconButton } from '@material-ui/core';\r\nimport { Assignment } from '@material-ui/icons';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { EditButton } from '../../../Core/Controls';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport VorSubCatDialog from './VorSubCatDialog';\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '7%' },\r\n //{ key: 'vorSubCategoryId', name: 'VORSubCategoryId', width: '30%' },\r\n //{ key: 'vorSubCategoryCategoryId', name: 'VORSubCategoryCategoryId' },\r\n { key: 'vorSubCategoryDescription', name: 'Description' }\r\n];\r\n\r\nfunction VorSubCat(props) {\r\n const [state, setState] = useState({\r\n open: false,\r\n });\r\n\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n {\r\n name:\r\n
{ props.closeType(false, null); props.closeSubCat(false, null); }} style={{ cursor: 'pointer' }}>\r\n VOR Types ({props.focusedRow.vorTypeDescription})\r\n
,\r\n },\r\n {\r\n name:\r\n
props.closeSubCat(false, null)} style={{ cursor: 'pointer' }} >\r\n VOR Reasons ({props.focusedRow.vorTypeDetailDescription})\r\n
,\r\n },\r\n { name: 'VOR Sub Categories', active: true },\r\n ];\r\n\r\n const renderEdit = (ev, row) => {\r\n return (\r\n \r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n selectedRowData: row,\r\n }));\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n selectedRowData: null,\r\n }));\r\n }\r\n\r\n const handleClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n selectedRowData: null,\r\n isReload: !state.isReload\r\n }));\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={`VORSubCategories?VORSubCategoryCategoryId=${props.focusedRow.vorTypeDetailID}`}\r\n btnTitle=\"Add VOR Type Detail\"\r\n onBtnClick={addBtnClicked}\r\n isReload={state.isReload}\r\n />\r\n\r\n {state.open && (\r\n <>\r\n {\r\n handleClose(false);\r\n }}\r\n title={state.selectedRowData == null ? 'Add VOR Sub Category' : 'Edit VOR Sub Category'}\r\n maxWidth=\"md\"\r\n >\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\nexport default VorSubCat;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../Core/Controls/Grid/index';\r\nimport { AddButton, EditButton, BreadCrumbs } from '../../../Core/Controls';\r\nimport DialogBox from './vorTypeDetailDialog';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport '../../commonStyle.scss';\r\nimport { Assignment } from '@material-ui/icons';\r\nimport { IconButton } from '@material-ui/core';\r\nimport VorSubCat from '../VORSubCatScreen/VorSubCat';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '7%' },\r\n { key: 'vorTypeDescription', name: 'VOR Type', width: '30%' },\r\n { key: 'vorTypeDetailDescription', name: 'Description' }\r\n];\r\nconst VORTypeDetail = (props) => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n isAdd: true,\r\n\r\n showSubCat: false,\r\n });\r\n\r\n const subCatHandler = (va, x) => {\r\n setState((st) => ({ ...st, showSubCat: va, focusedRow: x }))\r\n }\r\n\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n {\r\n name:\r\n
props.closeType(false, null)} style={{ cursor: 'pointer' }}>\r\n VOR Types ({props.vorTypeDescription})\r\n
,\r\n },\r\n { name: 'VOR Reasons', active: true },\r\n ];\r\n\r\n useEffect(async () => {\r\n pullApiData();\r\n }, []);\r\n\r\n const pullApiData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const renderEdit = (ev, row) => {\r\n return (\r\n
\r\n {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n selectedRowData: row,\r\n isAdd: false\r\n }));\r\n }}\r\n />\r\n subCatHandler(true, row)}\r\n toolTipTitle=\"VOR Sub Categories\"\r\n />\r\n
\r\n );\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n isAdd: true,\r\n selectedRowData: {}\r\n }));\r\n };\r\n const handleClose = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false\r\n }));\r\n res && pullApiData();\r\n };\r\n\r\n return (\r\n state.showSubCat ?\r\n <>\r\n \r\n \r\n :\r\n
\r\n \r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={`vortypedetails${'?vorTypeDescription=' + props.vorTypeDescription}`}\r\n btnTitle=\"Add VOR Type Detail\"\r\n onBtnClick={addBtnClicked}\r\n isReload={state.isReload}\r\n />\r\n {state.open ? (\r\n {\r\n handleClose(false);\r\n }}\r\n title={state.isAdd ? 'Add VOR Type Detail' : 'Edit VOR Type Detail'}\r\n maxWidth=\"md\"\r\n >\r\n {\r\n handleClose(true);\r\n }}\r\n />\r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default VORTypeDetail;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllVorTypes } from '../../../Core/Services/InternalUser/VOR/vorTypesService';\r\nimport DataGrid from '../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport VorTypeModal from './VorTypeModal';\r\nimport { BreadCrumbs, AddButton, EditButton } from '../../../Core/Controls';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport '../../commonStyle.scss';\r\nimport VORTypeDetail from '../VORTypeDetailScreen/vorTypeDetail'\r\nimport { Assignment } from '@material-ui/icons';\r\nimport { IconButton, Tooltip } from '@material-ui/core';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'VOR Types', active: true }\r\n];\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'vorTypeDescription', name: 'Description' }\r\n];\r\n\r\nfunction Vor(props) {\r\n const [state, setState] = useState({\r\n vorList: [],\r\n loader: true,\r\n open: false\r\n });\r\n\r\n useEffect(async () => {\r\n pullVorType();\r\n }, []);\r\n\r\n const pullVorType = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const vorHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, vorTypeID: params?.vorTypeID }));\r\n };\r\n\r\n const reasonHandler = (va, x) => {\r\n setState((st) => ({ ...st, showReasons: va, focusedDescription: x?.vorTypeDescription }))\r\n }\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n vorHandler(row)}\r\n toolTipTitle=\"Edit VOR Type\"\r\n />\r\n reasonHandler(true, row)}\r\n toolTipTitle=\"VOR Reasons\"\r\n />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.vorTypeID ? 'Update VOR Type' : 'Add VOR Type';\r\n\r\n const closeVorModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullVorType();\r\n };\r\n\r\n return (\r\n state.showReasons ?\r\n <>\r\n \r\n \r\n :\r\n <>\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={'vortypes'}\r\n btnTitle=\"Add VOR Type\"\r\n onBtnClick={() => {\r\n vorHandler(null);\r\n }}\r\n isReload={state.isReload}\r\n />\r\n\r\n {state.open ? (\r\n closeVorModal(false)} maxWidth=\"md\">\r\n closeVorModal(true)} />\r\n \r\n ) : null}\r\n
\r\n \r\n );\r\n}\r\nexport default Vor;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport { InputLabel, FormHelperText } from \"@material-ui/core\";\r\nimport { InputText, SecondaryButton, MandatoryField } from \"../../../Core/Controls\";\r\nimport { getRetorquepositionId, postRetorquepositionData } from \"../../../Core/Services/InternalUser/VOR/retorquePositionsService\";\r\nimport { useToast } from \"../../../Core/Hooks/useToast\";\r\nimport \"../../commonStyle.scss\";\r\n\r\nfunction RetorquePositionsModal(props) {\r\n const [state, setState] = useState({\r\n retorquePositionID: null,\r\n retorquePositionDescription: \"\",\r\n errors: {},\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.retorquePositionID) {\r\n let res = await getRetorquepositionId(props.retorquePositionID);\r\n if (res.success) {\r\n setState((state) => ({\r\n ...state,\r\n retorquePositionID: res.data.retorquePositionID,\r\n retorquePositionDescription: res.data.retorquePositionDescription,\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n setState((state) => ({\r\n ...state,\r\n [name]: value,\r\n }));\r\n };\r\n\r\n const validations = () => {\r\n const { retorquePositionDescription } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(retorquePositionDescription)) {\r\n errors.retorquePositionDescription = \" Retorque Position is required\";\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const retorquepositionData = {\r\n retorquePositionID: state.retorquePositionID,\r\n retorquePositionDescription: state.retorquePositionDescription,\r\n };\r\n let res = await postRetorquepositionData(retorquepositionData);\r\n if (res.success) {\r\n showToastSuccess(\"Retorque Position Updated sucessfully\");\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\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 {props.retorquePositionID ? \"Update\" : \"Add\"}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default RetorquePositionsModal;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllRetorqueposition } from '../../../Core/Services/InternalUser/VOR/retorquePositionsService';\r\nimport DataGrid from '../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport RetorquePositionsModal from './RetorquePositionsModal';\r\nimport { BreadCrumbs, AddButton, EditButton } from '../../../Core/Controls';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport '../../commonStyle.scss';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true },\r\n { name: 'Retorque Positions ', active: true }\r\n];\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'retorquePositionDescription', name: 'Description' }\r\n];\r\n\r\nfunction RetorquePositions(props) {\r\n const [state, setState] = useState({\r\n RetorquePositionsList: [],\r\n loader: true,\r\n open: false\r\n });\r\n\r\n useEffect(async () => {\r\n pullRetorquePositions();\r\n }, []);\r\n\r\n const pullRetorquePositions = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const retorquePositionHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, retorquePositionID: params?.retorquePositionID }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n retorquePositionHandler(row)} toolTipTitle=\"Edit Retorque Position\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.retorquePositionID ? 'Update Retorque Position' : 'Add Retorque Position';\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullRetorquePositions();\r\n };\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={'Retorquepositions'}\r\n btnTitle=\"Add Retorque Position\"\r\n onBtnClick={() => retorquePositionHandler(null)}\r\n isReload={state.isReload}\r\n />\r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"md\">\r\n closeModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\nexport default RetorquePositions;\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport { getAllWorkshopresources } from \"../../../Core/Services/InternalUser/VOR/workshopResourcesService\";\r\nimport DataGrid from \"../../../Core/Controls/Grid\";\r\nimport DialogComp from \"../../../Core/Dialog/DialogComp\";\r\nimport WorkshopResourcesModal from \"./WorkshopResourcesModal\";\r\nimport { formatters } from \"../../../Core/Controls\";\r\nimport { BreadCrumbs, AddButton, EditButton } from \"../../../Core/Controls\";\r\nimport \"../../commonStyle.scss\";\r\n\r\nconst crumbs = [\r\n { name: \"Home\", path: \"/\" },\r\n { name: \"VOR\", path: \"/\" },\r\n { name: \"Workshop Resources \", active: true },\r\n];\r\n\r\nconst base_columns = [\r\n { key: \"action\", name: \"Action\", width: \"5%\" },\r\n { key: \"workshopResourceName\", name: \"Resource Name\" },\r\n { key: \"worktshopResourceActive\", name: \"Is Active ?\", formatter: formatters.YesNo },\r\n];\r\n\r\nfunction WorkshopResources(props) {\r\n const [state, setState] = useState({\r\n WorkshopResourcesList: [],\r\n loader: true,\r\n open: false,\r\n });\r\n\r\n useEffect(async () => {\r\n pullWorkshopResources();\r\n }, []);\r\n\r\n const pullWorkshopResources = async () => {\r\n let res = await getAllWorkshopresources();\r\n setState((state) => ({\r\n ...state,\r\n WorkshopResourcesList: res.data,\r\n loader: false,\r\n }));\r\n };\r\n\r\n const workshopResourcesHandler = (params) => {\r\n setState((state) => ({ ...state, open: true, workshopResourceID: params.workshopResourceID }));\r\n };\r\n\r\n const ActionButtons = (data) => {\r\n return (\r\n
\r\n workshopResourcesHandler(data.row)} />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === \"action\");\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n return newColumn;\r\n });\r\n\r\n const title = state.workshopResourceID ? \"Update Workshop Resource\" : \"Add Workshop Resource\";\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullWorkshopResources();\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {state.open ? (\r\n closeModal(false)} maxWidth=\"md\">\r\n closeModal(true)} />\r\n \r\n ) : null}\r\n
\r\n );\r\n}\r\nexport default WorkshopResources;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel, FormHelperText, Typography } from '@material-ui/core';\r\nimport { SecondaryButton, formatters, SingleSelect, DatePicker, BreadCrumbs } from '../../../Core/Controls';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport '../../commonStyle.scss';\r\nimport { GetVehicleSalesInvoice, UpdateVehicleSalesInvoice, VehicleSalesInvoiceGenratePdf } from '../../../Core/Services/InternalUser/JOB/jobItemsService';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport moment from 'moment';\r\nimport { some } from 'lodash';\r\nimport { Table, TableBody, TableContainer, Paper } from '@material-ui/core';\r\nimport { StyledTableCell, StyledTableRow } from '../../../Core/Controls/Table/StyledCell&Row';\r\nimport { useHistory } from 'react-router-dom';\r\nimport PictureAsPdfIcon from '@material-ui/icons/PictureAsPdf';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\n\r\nlet crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Invoices', active: true },\r\n { name: 'Update Sales Invoice', active: true }\r\n];\r\n\r\nfunction UpdateSalesInvoice(props) {\r\n const [state, setState] = useState({\r\n vatRate: [],\r\n vehicleDetails: [],\r\n dateDue: moment().format('YYYY-DD-MM'),\r\n datePaid: null,\r\n status: '',\r\n errors: {},\r\n statusValue: null,\r\n invoiceLines: [],\r\n partsDetails: []\r\n });\r\n const { userRoles } = useLoginInfo();\r\n const history = useHistory();\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n const isCustomer = userRoles.includes('customer');\r\n\r\n useEffect(async () => {\r\n let res1 = await GetVehicleSalesInvoice(props.match?.params?.id);\r\n if (res1.success) {\r\n setState((st) => ({\r\n ...st,\r\n vatRate: res1.data.vatRate,\r\n vehicleDetails: res1.data?.vehicleDetails || [],\r\n invoiceLines: res1.data.invoiceLines,\r\n partsDetails: res1.data.partsDetails,\r\n dateDue: formatters.DateFormatter(res1.data?.vehicleDetails[0]?.invoiceDue),\r\n datePaid: formatters.DateFormatter(res1.data?.vehicleDetails[0]?.invoiceDatePaid),\r\n statusList: res1.data.statusList,\r\n status: res1.data?.vehicleDetails[0]?.vehicleSalesInvoiceStatusID\r\n }));\r\n }\r\n }, []);\r\n useEffect(() => {\r\n let getStatus;\r\n if (state.status) {\r\n getStatus = state.statusList.find(({ id }) => id === state.status);\r\n }\r\n setState((st) => ({\r\n ...st,\r\n statusValue: getStatus\r\n }));\r\n }, [state.status]);\r\n\r\n const inputChange = (e) => {\r\n const { name, value, type } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const validation = () => {\r\n const { dateDue, datePaid } = state;\r\n let errors = {};\r\n let isValid = true;\r\n\r\n if (!dateDue) {\r\n errors.dateDue = 'Date is required';\r\n isValid = false;\r\n }\r\n if (!datePaid) {\r\n errors.datePaid = 'Date Paid is required';\r\n isValid = false;\r\n }\r\n setState((st) => ({\r\n ...st,\r\n errors: errors\r\n }));\r\n return isValid;\r\n };\r\n\r\n const handelSubmit = async () => {\r\n if (validation()) {\r\n let formData = {\r\n dateDue: state.dateDue,\r\n datePaid: state.datePaid,\r\n status: state.statusValue?.id,\r\n invoiceID: props.match?.params?.id\r\n };\r\n let res = await UpdateVehicleSalesInvoice(formData);\r\n if (res.success) {\r\n showToastSuccess('Invoice Updated Successfully');\r\n history.goBack();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n const GeneratePdfInvoice = async () => {\r\n let res = await VehicleSalesInvoiceGenratePdf(props.match?.params?.id);\r\n if (res.success) {\r\n showToastSuccess('Invoice PDF Generated Successfully');\r\n history.goBack();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n setState((st) => ({ ...st, [nm]: val }));\r\n };\r\n const valFormater = (val) => {\r\n return £{formatters.ToFixedDigit(val)};\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Reg Number\r\n {state.vehicleDetails[0]?.regNumber || 'N/A'}\r\n \r\n \r\n \r\n Invoice Number\r\n {state.vehicleDetails[0]?.invoiceNumber || 'N/A'}\r\n \r\n \r\n {'\\u{2800}'}\r\n \r\n \r\n \r\n \r\n Customer\r\n {state.vehicleDetails[0]?.customer || 'N/A'}\r\n \r\n \r\n Invoice Date\r\n {formatters.DateOnlyFormatter(state.vehicleDetails[0]?.invoiceDate)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Invoice Date Due\r\n \r\n \r\n {state.errors.dateDue}\r\n \r\n \r\n \r\n Invoice Date Paid\r\n \r\n \r\n {state.errors.datePaid}\r\n \r\n \r\n Status\r\n \r\n \r\n {!isCustomer && (\r\n \r\n {'\\u{2800}'}\r\n Submit\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n {state.invoiceLines.map((m, i) => {\r\n let temp = 0;\r\n return (\r\n \r\n {/* \r\n \r\n \r\n Labour\r\n \r\n \r\n  \r\n */}\r\n \r\n \r\n Labour Description\r\n {m.labourDescription || 'N/A'}\r\n \r\n {/* \r\n Cost Type\r\n {m.costType || 'N/A'}\r\n */}\r\n \r\n Hours\r\n {m.labourHours || 'N/A'}\r\n \r\n \r\n Cost\r\n {valFormater(m.labourCost)}\r\n \r\n \r\n Discount %\r\n {m.labourDiscount || '0'}\r\n \r\n \r\n Ex VAT\r\n {valFormater(m.exVat)}\r\n \r\n \r\n VAT Amount\r\n \r\n {valFormater(m.labourVAT)}({m.labourVATPercent}%)\r\n \r\n \r\n \r\n Total\r\n {valFormater(m.exVat + m.labourVAT)}\r\n \r\n \r\n {some(state.partsDetails, (r) => r.labourID == m.labourID) && (\r\n \r\n {/* \r\n  \r\n \r\n \r\n Parts\r\n \r\n \r\n */}\r\n {state.partsDetails.map((p, k) => {\r\n if (p.labourID == m.labourID) {\r\n temp++;\r\n return (\r\n \r\n \r\n {temp == 1 && Part Number }\r\n \r\n {p.partNumber || 'N/A'}\r\n
Description:{p.partDescription || 'N/A'}\r\n
\r\n
\r\n \r\n {temp == 1 && Quantity }\r\n {p.qty || 'N/A'}{' '}\r\n \r\n \r\n {temp == 1 && Unit Price }\r\n {valFormater(p.unitPrice)}\r\n \r\n \r\n {temp == 1 && Discount % }\r\n {p.discount || '0'}\r\n \r\n \r\n {temp == 1 && Ex VAT}\r\n {valFormater(p.exVat)}\r\n \r\n \r\n {temp == 1 && VAT Amount}\r\n \r\n {valFormater(p.partsVAT)}({p.partsVATPercent}%)\r\n \r\n \r\n \r\n {temp == 1 && Total}\r\n {valFormater(p.exVat + p.partsVAT)}\r\n \r\n
\r\n );\r\n }\r\n })}\r\n
\r\n )}\r\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 UpdateSalesInvoice;\r\n","import { postWithAuth, getWithAuth } from \"../../../Basic/HttpService\";\r\n\r\nexport const getAllMaintenanceProvider = async () => {\r\n let res = await getWithAuth(`MaintenanceProvider`);\r\n return res;\r\n};\r\n\r\nexport const getMaintenanceProviderById = async (id) => {\r\n let res = await getWithAuth(`MaintenanceProvider/${id}`);\r\n return res;\r\n};\r\n\r\nexport const postMaintenanceProviderData = async (data) => {\r\n let res = await postWithAuth(`MaintenanceProvider`, data);\r\n return res;\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { FormHelperText, InputLabel, FormControlLabel } from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { SecondaryButton, SecondaryCheckbox, DatePicker, MandatoryField, SimpleField } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport moment from 'moment';\r\nimport { validatePostCode, emailValidation } from '../../../../Core/Basic/StaticService';\r\nimport { getMaintenanceProviderById, postMaintenanceProviderData } from '../../../../Core/Services/InternalUser/ServiceAgent/maintenanceProvider';\r\n\r\nconst AddMaintenanceProvider = (props) => {\r\n const [state, setState] = useState({\r\n maintenanceProviderID: null,\r\n maintenanceProviderIncludesRFL: false,\r\n maintenanceProviderIncludesRM: false,\r\n maintenanceProviderIncludesTyres: false,\r\n maintenanceProviderIncludesCranes: false,\r\n maintenanceProviderIncludesFridges: false,\r\n maintenanceProviderIncludesTailLifts: false,\r\n maintenanceProviderIncludesOther: false,\r\n maintenanceProviderIncludesActive: true,\r\n errors: {}\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n useEffect(async () => {\r\n if (props.providerID) {\r\n let res = await getMaintenanceProviderById(props.providerID);\r\n let data = res.data;\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n maintenanceProviderID: data.maintenanceProviderID,\r\n maintenanceProviderName: data.maintenanceProviderName,\r\n maintenanceProviderAddress1: data.maintenanceProviderAddress1,\r\n maintenanceProviderAddress2: data.maintenanceProviderAddress2,\r\n maintenanceProviderCity: data.maintenanceProviderCity,\r\n maintenanceProviderPostCode: data.maintenanceProviderPostCode,\r\n maintenanceProviderCounty: data.maintenanceProviderCounty,\r\n maintenanceProviderCountryCode: data.maintenanceProviderCountryCode,\r\n maintenanceProviderPhone: data.maintenanceProviderPhone,\r\n maintenanceProviderFax: data.maintenanceProviderFax,\r\n maintenanceProviderEmail: data.maintenanceProviderEmail,\r\n maintenanceProviderWebsite: data.maintenanceProviderWebsite,\r\n maintenanceProviderContactName: data.maintenanceProviderContactName,\r\n maintenanceProviderContactPhone: data.maintenanceProviderContactPhone,\r\n maintenanceProviderContractRef: data.maintenanceProviderContractRef,\r\n maintenanceProviderContractStartDate: data.maintenanceProviderContractStartDate\r\n ? moment(data.maintenanceProviderContractStartDate).format('YYYY-MM-DD')\r\n : null,\r\n maintenanceProviderContractEndDate: data.maintenanceProviderContractEndDate\r\n ? moment(data.maintenanceProviderContractEndDate).format('YYYY-MM-DD')\r\n : null,\r\n maintenanceProviderIncludesRFL: data.maintenanceProviderIncludesRFL,\r\n maintenanceProviderIncludesRM: data.maintenanceProviderIncludesRM,\r\n maintenanceProviderIncludesTyres: data.maintenanceProviderIncludesTyres,\r\n maintenanceProviderIncludesCranes: data.maintenanceProviderIncludesCranes,\r\n maintenanceProviderIncludesFridges: data.maintenanceProviderIncludesFridges,\r\n maintenanceProviderIncludesTailLifts: data.maintenanceProviderIncludesTailLifts,\r\n maintenanceProviderIncludesOther: data.maintenanceProviderIncludesOther,\r\n maintenanceProviderIncludesActive: data.maintenanceProviderIncludesActive\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const inputChange = (e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const selectHandler = (e) => {\r\n const { name, checked } = e.target;\r\n setState((state) => ({ ...state, [name]: checked }));\r\n };\r\n\r\n const validations = () => {\r\n const { maintenanceProviderName, maintenanceProviderAddress1, maintenanceProviderCity, maintenanceProviderPostCode, maintenanceProviderEmail } = state;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!maintenanceProviderName) {\r\n errors.maintenanceProviderName = 'Name is required';\r\n formIsValid = false;\r\n }\r\n if (!maintenanceProviderAddress1) {\r\n errors.maintenanceProviderAddress1 = 'Address is required';\r\n formIsValid = false;\r\n }\r\n if (!maintenanceProviderCity) {\r\n errors.maintenanceProviderCity = 'City is required';\r\n formIsValid = false;\r\n }\r\n if (!validatePostCode(maintenanceProviderPostCode)) {\r\n errors.maintenanceProviderPostCode = `Please fill valid post code, \"Ex: BB11AA\"`;\r\n formIsValid = false;\r\n }\r\n if (!maintenanceProviderPostCode) {\r\n errors.maintenanceProviderPostCode = 'Post Code is required';\r\n formIsValid = false;\r\n }\r\n if (!emailValidation(maintenanceProviderEmail)) {\r\n errors.maintenanceProviderEmail = 'Please Enter Valid Email';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n const ProviderData = {\r\n maintenanceProviderID: state.maintenanceProviderID,\r\n maintenanceProviderName: state.maintenanceProviderName,\r\n maintenanceProviderAddress1: state.maintenanceProviderAddress1,\r\n maintenanceProviderAddress2: state.maintenanceProviderAddress2,\r\n maintenanceProviderCity: state.maintenanceProviderCity,\r\n maintenanceProviderPostCode: state.maintenanceProviderPostCode,\r\n maintenanceProviderCounty: state.maintenanceProviderCounty,\r\n maintenanceProviderCountryCode: state.maintenanceProviderCountryCode,\r\n maintenanceProviderPhone: state.maintenanceProviderPhone,\r\n maintenanceProviderFax: state.maintenanceProviderFax,\r\n maintenanceProviderEmail: state.maintenanceProviderEmail,\r\n maintenanceProviderWebsite: state.maintenanceProviderWebsite,\r\n maintenanceProviderContactName: state.maintenanceProviderContactName,\r\n maintenanceProviderContactPhone: state.maintenanceProviderContactPhone,\r\n maintenanceProviderContractRef: state.maintenanceProviderContractRef,\r\n maintenanceProviderContractStartDate: state.maintenanceProviderContractStartDate,\r\n maintenanceProviderContractEndDate: state.maintenanceProviderContractEndDate,\r\n maintenanceProviderIncludesRFL: state.maintenanceProviderIncludesRFL,\r\n maintenanceProviderIncludesRM: state.maintenanceProviderIncludesRM,\r\n maintenanceProviderIncludesTyres: state.maintenanceProviderIncludesTyres,\r\n maintenanceProviderIncludesCranes: state.maintenanceProviderIncludesCranes,\r\n maintenanceProviderIncludesFridges: state.maintenanceProviderIncludesFridges,\r\n maintenanceProviderIncludesTailLifts: state.maintenanceProviderIncludesTailLifts,\r\n maintenanceProviderIncludesOther: state.maintenanceProviderIncludesOther,\r\n maintenanceProviderIncludesActive: state.maintenanceProviderIncludesActive\r\n };\r\n let res = await postMaintenanceProviderData(ProviderData);\r\n if (res.success) {\r\n showToastSuccess('Maintenance Provider added successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n // props.onClose(false);\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Start Date\r\n \r\n \r\n \r\n End Date\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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.providerID ? 'Save' : 'Add'}\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddMaintenanceProvider;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { BreadCrumbs, DataGrid, EditButton, formatters } from '../../../../Core/Controls';\r\nimport AddMaintenanceProvider from './addMaintenanceProvider';\r\nimport { getAllMaintenanceProvider } from '../../../../Core/Services/InternalUser/ServiceAgent/maintenanceProvider';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Admin', active: true },\r\n { name: 'Maintenance Providers', path: '/', active: true }\r\n];\r\n\r\n// const getAddress = (data) => {\r\n// return (\r\n//
\r\n// {formatters.formatWithComma(data.row?.maintenanceProviderAddress1)}\r\n// {formatters.formatWithComma(data.row?.maintenanceProviderAddress2)}\r\n// {formatters.formatWithComma(data.row?.maintenanceProviderCity)}\r\n// {formatters.formatWithComma(data.row?.maintenanceProviderCounty)}\r\n// {data.row?.maintenanceProviderPostcode}\r\n//
\r\n// );\r\n// };\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'maintenanceProviderName', name: 'Name' },\r\n // { key: 'maintenanceProviderCounty', name: 'County', width: '10%' },\r\n { key: 'maintenanceProviderEmail', name: 'Email', width: '15%' },\r\n { key: 'maintenanceProviderContactName', name: 'Contact Name', width: '10%' },\r\n {\r\n key: 'maintenanceProviderContactPhone',\r\n name: 'Contact Phone',\r\n headerRenderer: formatters.ColumnHeaderAlignLeft,\r\n formatter: formatters.ColumnTextAlignleft,\r\n width: '8%'\r\n },\r\n { key: 'maintenanceProviderContractStartDate', name: 'Start Date', formatter: formatters.Date_DDMMYYYY, width: '6%' },\r\n { key: 'maintenanceProviderContractEndDate', name: 'End Date', formatter: formatters.Date_DDMMYYYY, width: '6%' },\r\n {\r\n key: 'address',\r\n name: 'Address',\r\n // formatter: (data) =>\r\n // formatters.addressFormatter(\r\n // data.row?.maintenanceProviderAddress1,\r\n // data.row?.maintenanceProviderAddress2,\r\n // data.row?.maintenanceProviderCity,\r\n // data.row?.maintenanceProviderCounty,\r\n // data.row?.maintenanceProviderPostCode\r\n // ),\r\n width: '30%'\r\n }\r\n];\r\n\r\nconst MaintenanceProvider = () => {\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n providerList: [],\r\n showLoader: true\r\n });\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n
\r\n handleProvider(row.maintenanceProviderID)} />\r\n
\r\n );\r\n };\r\n\r\n useEffect(async () => {\r\n pulldata();\r\n }, []);\r\n\r\n const pulldata = async () => {\r\n // let res = await getAllMaintenanceProvider();\r\n // if (res.success) {\r\n // setState((st) => ({\r\n // ...st,\r\n // providerList: res.data.list,\r\n // showLoader: false\r\n // }));\r\n // }\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n const handleProvider = (params) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: true,\r\n providerID: params\r\n }));\r\n };\r\n\r\n const closeProviderModal = () => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: false\r\n }));\r\n pulldata();\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n const gridBtnTitle = 'Add Provider';\r\n let getUrl = `MaintenanceProvider`;\r\n return (\r\n
\r\n \r\n {state.modalToggle ? (\r\n <>\r\n
\r\n \r\n \r\n ) : (\r\n // handleProvider(null)}\r\n // paginate\r\n // offset={210}\r\n // />\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n btnTitle={gridBtnTitle}\r\n onBtnClick={() => handleProvider(null)}\r\n isReload={state.isReload}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default MaintenanceProvider;\r\n","import React, { useEffect, useState, useCallback } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport '../../../commonStyle.scss';\r\nimport {\r\n getVehicleBreakdownDropdowns,\r\n postVehicleBreakdown,\r\n getVehicleBreakdownsbyID,\r\n getBreakDownDropDown\r\n} from '../../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport CustomizedSteppers from '../BreackdownDefectStepper/defectBreackDownStepper';\r\nimport { formatters } from '../../../../Core/Controls';\r\nimport BreakDownEditDetails from './BreakDownEditDetails';\r\nimport BreakDownDetails from './BreakDownDetails';\r\nimport { FromLoader } from '../../../../Core/Loader/formLoader';\r\n\r\nlet domainName = window.location.host;\r\nconst trimedhost = domainName.includes('localhost') ? 'localhost' : domainName;\r\n\r\nconst EditBreakdownLink = (props) => {\r\n const { BreakDownID, VehicleID } = props.match.params;\r\n\r\n const [state, setState] = useState({\r\n defectID: null,\r\n breakDownType: 'BR',\r\n driverName: '',\r\n driverPhone: null,\r\n breakDownLocation: '',\r\n problemReported: '',\r\n replacementvehicleRequired: false,\r\n defectPG9Issued: false,\r\n mobilityUsed: 0,\r\n mobilityRequested: 0,\r\n reportingDepot: null,\r\n callOutRequired: false,\r\n defectVOR: false,\r\n policeOnScene: 0,\r\n passengersInvolved: false,\r\n accDamage: false,\r\n vehicleLoaded: false,\r\n urgentCallOut: false,\r\n policeOnScene: false,\r\n mobilityRequested: false,\r\n mobilityUsed: false,\r\n vehicleLoadTypesList: [],\r\n depotsList: [],\r\n vehicleJobProgress: [],\r\n errors: {},\r\n showJob: false,\r\n loadType: 1,\r\n showMap: false,\r\n loadTypeValue: '',\r\n isRefresh: '',\r\n isLoader: true\r\n // showMessage: false\r\n });\r\n\r\n const pullBreackdownById = async () => {\r\n let res = await getVehicleBreakdownsbyID(BreakDownID);\r\n let data = res.data.details[0];\r\n\r\n let vehicleJobProgressDates = res.data.vehicleJobProgressDates;\r\n if (data) {\r\n setState((st) => ({\r\n ...st,\r\n defectID: data?.defectID,\r\n vehicleID: data?.defectVehicleID,\r\n breakDownType: data?.defectTypeCode,\r\n mileage: data?.defectMileage,\r\n reportingDepot: data?.defectReportingDepotID,\r\n breakDownLocation: data?.defectLocation,\r\n reportedPhone: data?.defectContactNumber,\r\n reportedBy: data?.defectContactName,\r\n driverName: data?.defectDriverName,\r\n driverPhone: data?.defectDriverTelephone,\r\n problemReported: data?.defectDescription,\r\n callOutRequired: data?.defectCallOutRequired,\r\n urgentCallOut: data?.defectUrgentCallOut,\r\n putOnVOR: data?.defectVOR,\r\n policeOnScene: data?.defectPoliceOnScene,\r\n passengersInvolved: data?.defectPassengersInvolved,\r\n numberOfPassenger: data?.defectNumberOfPassengers,\r\n accDamage: data?.defectAccidentDamage,\r\n iNSREF: data?.defectInsuranceReference,\r\n replacementvehicleRequired: data?.defectReplacementVehicle,\r\n domainName: data?.domainName,\r\n vehicleLoaded: data?.defectVehicleLoaded,\r\n loadType: data?.defectVehicleLoadTypeID,\r\n mobilityRequested: data?.defectMobilityRequested,\r\n mobilityUsed: data?.defectMobilityUsed,\r\n PG9Issued: data?.defectPG9Issued,\r\n defectNumberGenerated: data?.defectNumberGenerated,\r\n defectResolvedNotes: data?.defectResolvedNotes,\r\n reportingDepotName: data?.reportingDepot,\r\n vehicleLoadTypeDescription: data?.vehicleLoadTypeDescription,\r\n defectRegNumber: data?.defectRegNumber,\r\n customer: data?.customer,\r\n reportingDepot: data?.reportingDepot,\r\n make: data?.make,\r\n model: data?.model,\r\n vorVehicleID: data?.vorVehicleID,\r\n customerID: data.customerID,\r\n homeDepotID: data.homeDepotID,\r\n defectReportingDepotID: data.defectReportingDepotID,\r\n //\r\n vehicleJobProgress: vehicleJobProgressDates,\r\n defectDateCreated: formatters.DateTimeFormatter(data?.defectDateCreated),\r\n defectDateCallOutArrived: formatters.DateTimeFormatter(data?.defectDateCallOutArrived),\r\n defectDateVehicleRecovered: formatters.DateTimeFormatter(data?.defectDateVehicleRecovered),\r\n defectDateResolved: formatters.DateTimeFormatter(data?.defectDateResolved),\r\n defectDateSignOff: formatters.DateTimeFormatter(data?.defectDateSignOff),\r\n fileCount: data?.fileCount,\r\n isRefresh: new Date(),\r\n isLoader: false\r\n }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n isLoader: false,\r\n showMessage: true\r\n }));\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n if (BreakDownID) {\r\n pullBreackdownById();\r\n }\r\n if (VehicleID) {\r\n let res = await getVehicleBreakdownDropdowns(VehicleID || props.VehicleID);\r\n setState((st) => ({\r\n ...st,\r\n vehicleLoadTypesList: res.data.vehicleLoadTypes,\r\n loadTypeValue: res.data.vehicleLoadTypes[0],\r\n depotsList: res.data.depots,\r\n vehicleID: props.VehicleID || VehicleID,\r\n domainName: trimedhost\r\n }));\r\n } else {\r\n let res = await getBreakDownDropDown();\r\n setState((st) => ({\r\n ...st,\r\n vehicleLoadTypesList: res.data.vehicleLoadTypes,\r\n loadTypeValue: res.data.vehicleLoadTypes[0],\r\n depotsList: res.data.depots,\r\n domainName: trimedhost\r\n }));\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n {/* {state.showMessage ? (\r\n

No data available

\r\n ) :*/}\r\n {state.isLoader ? (\r\n \r\n ) : (\r\n <>\r\n props.onClose()}\r\n />\r\n \r\n {state.vehicleJobProgress?.map((a, index) => (\r\n \r\n \r\n \r\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 EditBreakdownLink;\r\n","import Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Container from '@material-ui/core/Container';\r\nimport React, { useEffect, useContext, useState } from 'react';\r\nimport { getAllServiceAgentDash } from '../../../Core/Services/ServiceAgent/ServiceAgent';\r\nimport LocalTaxiRoundedIcon from '@material-ui/icons/LocalTaxiRounded';\r\nimport BuildRoundedIcon from '@material-ui/icons/BuildRounded';\r\nimport LocalShippingRoundedIcon from '@material-ui/icons/LocalShippingRounded';\r\nimport WorkRoundedIcon from '@material-ui/icons/WorkRounded';\r\nimport ExploreRoundedIcon from '@material-ui/icons/ExploreRounded';\r\nimport PermDataSettingIcon from '@material-ui/icons/PermDataSetting';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport AccountTreeIcon from '@material-ui/icons/AccountTree';\r\nimport AirportShuttleIcon from '@material-ui/icons/AirportShuttle';\r\nimport { Link } from 'react-router-dom';\r\nimport '../ServiceCommon.scss';\r\n\r\nconst ServiceAgentDash = () => {\r\n const [state, setState] = useState({\r\n rows_new: [],\r\n tilesData: []\r\n });\r\n\r\n useEffect(async () => {\r\n let res = await getAllServiceAgentDash();\r\n const cards = res.data.dashboard;\r\n setState((st) => ({\r\n ...st,\r\n tilesData: cards\r\n }));\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n \r\n {state.tilesData.map((option, index) => (\r\n \r\n \r\n {option.title == 'Awaiting Approvals' ? (\r\n \r\n ) : option.title == 'Breakdown Onsite' ? (\r\n \r\n ) : option.title == 'Breakdown Roadside' ? (\r\n \r\n ) : option.title == 'Driver Defects' ? (\r\n \r\n ) : option.title == 'Estimates Submitted' ? (\r\n \r\n ) : option.title == 'Open Jobs' ? (\r\n \r\n ) : option.title == 'Queried Jobs' ? (\r\n \r\n ) : option.title == 'Schedule Defects' ? (\r\n \r\n ) : option.title == 'Test123' ? (\r\n \r\n ) : option.title == 'TestTS' ? (\r\n \r\n ) : null}\r\n \r\n \r\n {option.cnt}\r\n {option.title}\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n
\r\n );\r\n};\r\nexport default ServiceAgentDash;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport DataGrid from '../../../Core/Controls/Grid';\r\nimport { getAllDefects, getAllVehicleDefects } from '../../../Core/Services/InternalUser/Maintenance/DefectsService';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../Core/Controls';\r\n\r\nconst modalgridStyle = {\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Defects', path: '/', active: true }\r\n];\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'defectDate',\r\n name: 'Date ',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: '8%'\r\n },\r\n { key: 'defectNumberGenerated', name: 'Defect No', width: '6%' },\r\n { key: 'defectDescription', name: 'Defect Details' },\r\n { key: 'defectContactName', name: 'Reported By', width: '8%' },\r\n { key: 'defectJobStatusDescription', name: 'Status', width: '13%' }\r\n];\r\n\r\nconst DefetctStatusGrid = (props) => {\r\n const [state, setState] = useState({ modalToggle: false, defectID: null, List: [], showLoader: true, fromPage: 'Defects' });\r\n\r\n useEffect(async () => {\r\n if (props.frompage === 'Vehicles') {\r\n setState((st) => ({\r\n ...st,\r\n fromPage: props.frompage\r\n }));\r\n }\r\n pullDefects();\r\n }, []);\r\n\r\n const pullDefects = async () => {\r\n if (props.VehicleID) {\r\n let res2 = await getAllVehicleDefects(props.VehicleID);\r\n setState((st) => ({\r\n ...st,\r\n List: [...res2.data.list],\r\n showLoader: false\r\n }));\r\n } else {\r\n let res = await getAllDefects();\r\n setState((st) => ({\r\n ...st,\r\n List: [...res.data.list],\r\n showLoader: false\r\n }));\r\n }\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n\r\n if (!props.VehicleID) {\r\n tempCols.splice(1, 0, { key: 'defectRegNumber', name: 'Reg Number', width: '8%' });\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default DefetctStatusGrid;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { BreadCrumbs, DataGrid, EditButton, formatters } from '../../../Core/Controls';\r\nimport { getVehicleBreakdowns, getAllVehicleBreakdowns } from '../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport AddBreaddownModal from '../../InternalUser/Maintenance/BreakDown/AddBreakdown';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { Link } from 'react-router-dom';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 80, addFileUploaderIcon: true },\r\n {\r\n key: 'defectDate',\r\n name: 'Date',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 90\r\n },\r\n { key: 'defectLocation', name: 'Location', width: 250 },\r\n { key: 'defectContactName', name: 'Reported By', width: 170 },\r\n { key: 'defectContactNumber', name: 'Reported Phone', width: 200 },\r\n { key: 'defectJobStatusDescription', name: 'Status', width: 350 },\r\n { key: 'defectTypeCode', name: 'Code', width: 80 }\r\n];\r\n\r\nlet crubsSet = {\r\n ':all': 'All Breakdowns',\r\n typebo: 'BreakDown Onside',\r\n typebr: 'BreakDown Roadside'\r\n};\r\n\r\nconst ServiceAgentBreakdown = (props) => {\r\n let history = useHistory();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Breakdowns', active: true },\r\n { name: crubsSet[props?.match?.params?.all], active: true }\r\n ];\r\n const [state, setState] = useState({\r\n breakdownList: [],\r\n loader: true,\r\n modalToggle: false,\r\n breakID: null,\r\n rowVehicleID: null\r\n });\r\n\r\n const handleBreakDown = (params, VehicleID, modalName) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: true,\r\n breakID: params,\r\n rowVehicleID: VehicleID,\r\n modalName: modalName\r\n }));\r\n };\r\n const closeModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: false\r\n }));\r\n res && pullBreakDownAndUpdateState();\r\n };\r\n\r\n useEffect(async () => {\r\n pullBreakDownAndUpdateState();\r\n }, [props.match]);\r\n\r\n const pullBreakDownAndUpdateState = async () => {\r\n let defecttypecode = '';\r\n if (props.VehicleID) {\r\n defecttypecode = '';\r\n }\r\n if (props?.match?.params?.all == 'typebo') {\r\n defecttypecode = 'bo';\r\n }\r\n if (props?.match?.params?.all == 'typebr') {\r\n defecttypecode = 'br';\r\n }\r\n if (props?.match?.params?.all == ':all') {\r\n defecttypecode = '';\r\n }\r\n\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date(),\r\n defecttypecode: defecttypecode\r\n }));\r\n };\r\n\r\n let urlForcondition = `VehicleBreakdowns/?${props.VehicleID ? `VehicleID=${props.VehicleID}` : ''}defecttypecode=${state.defecttypecode}`;\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.defectJobID}/${val?.defectVehicleID}`,\r\n state: 'breakdown'\r\n });\r\n };\r\n\r\n const handleEditBreakdown = (val) => {\r\n history.push({\r\n pathname: `/maintenance/breakdowns/Edit/${val?.defectID}/${val?.defectVehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n \r\n handleBreakDown(row.defectID, row.defectVehicleID, 'Edit')}\r\n onClick={() => handleEditBreakdown(row)}\r\n toolTipTitle=\"Edit Breakdown\"\r\n />\r\n {/* handleBreakDown(row.defectID, row.defectVehicleID, 'Edit')} /> */}\r\n\r\n {checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)}\r\n />\r\n )}\r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (!props.VehicleID) {\r\n tempCols.splice(1, 0, { key: 'defectRegNumber', name: 'Reg Number', width: '8%' });\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n const gridBtnTitle = !props.VehicleID ? '' : 'Add Breakdown';\r\n\r\n return (\r\n
\r\n {props.frompage !== 'Vehicles' ? : null}\r\n {state.modalToggle ? (\r\n <>\r\n
\r\n closeModal(true)}\r\n breakDownID={state.breakID}\r\n isAddJobBtnShow={true}\r\n modalName={state.modalName}\r\n />\r\n \r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n idFieldName=\"defectID\"\r\n fileUploaderConfigName=\"BreakdownScreen\"\r\n getUrl={urlForcondition}\r\n btnTitle={gridBtnTitle}\r\n onBtnClick={() => handleBreakDown(null, null, 'Add')}\r\n isReload={state.isReload}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ServiceAgentBreakdown;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllBookingSchedule = async (id) => {\r\n let res = await getWithAuth(`ServiceAgentSchedules?VehicleID=&Status=${id}`);\r\n return res;\r\n};\r\n\r\nexport const postServiceAgentBookingRequest = async (data) => {\r\n let res = await postWithAuth(`ServiceAgentSchedules/SetScheduleBookingRequest`, data);\r\n return res;\r\n};\r\n// https://devapi.fleet247.co.uk/api/ServiceAgentSchedules?VehicleID=&Status=2\r\n","import { FormHelperText, Grid, InputLabel, Typography } from '@material-ui/core';\r\nimport React, { useEffect, useState } from 'react';\r\nimport moment from 'moment';\r\nimport { DatePicker, InputText, NoButton, SecondaryButton, SelectBox, YesButton, MandatoryField } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport '../../../commonStyle.scss';\r\nimport '../../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleStyle.scss'; //'./scheduleVehicleStyle.scss';\r\nimport {\r\n getScheduleBookingSectionById,\r\n getAllDropDowns,\r\n postScheduleBookingSection,\r\n getScheduleRequestBookingById\r\n} from '../../../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport { getAllBookingSchedule, postServiceAgentBookingRequest } from '../../../../Core/Services/ServiceAgent/Schedule/BookingReq';\r\n\r\nlet domainName = window.location.host;\r\nlet trimedhost = domainName.includes('localhost') ? 'localhost' : domainName;\r\nconst ServiceAgentScheduleBookingSection = (props) => {\r\n const [state, setState] = useState({\r\n scheduleBookingDate: '',\r\n scheduleDateDue: '',\r\n scheduleEventName: '',\r\n scheduleID: null,\r\n schedulePrepDate: '',\r\n scheduleServiceAgentsID: '',\r\n comment: '',\r\n dropList: []\r\n });\r\n const [requestBookingData, setRequestBookingData] = useState({\r\n scheduleRequestedBookingDate: 'N/A',\r\n scheduleRequestedBookingTimeSlot: 'N/A',\r\n scheduleNightBooking: 'N/A',\r\n scheduleCollectionAndDeliverID: null,\r\n scheduleCollectionAndDeliver: 'N/A',\r\n scheduleDeliverBefore: 'N/A',\r\n scheduleCollectAfter: 'N/A'\r\n });\r\n const [errors, setErrors] = useState({});\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const formatTime = (value) => {\r\n let formattedTime = value ? moment(value, 'HH:mm:ss').format('hh:mm A') : 'N/A';\r\n return formattedTime;\r\n };\r\n\r\n const pullRequestBookingData = async () => {\r\n let res = await getScheduleRequestBookingById(props.scheduleId);\r\n let bookingData = res.data;\r\n setRequestBookingData((st) => ({\r\n ...st,\r\n scheduleCollectAfter: formatTime(bookingData.scheduleCollectAfter),\r\n scheduleCollectionAndDeliverID: bookingData.scheduleCollectionAndDeliverID || null,\r\n scheduleDeliverBefore: formatTime(bookingData.scheduleDeliverBefore),\r\n scheduleNightBooking: bookingData.scheduleNightBooking ? 'Yes' : bookingData.scheduleNightBooking === null ? 'N/A' : 'No',\r\n scheduleRequestedBookingDate: bookingData.scheduleRequestedBookingDate\r\n ? moment(bookingData.scheduleRequestedBookingDate).format('DD/MM/YYYY')\r\n : 'N/A',\r\n scheduleRequestedBookingTimeSlot: formatTime(bookingData.scheduleRequestedBookingTimeSlot)\r\n }));\r\n };\r\n\r\n const pullBookingData = async () => {\r\n let DataList = await getAllDropDowns();\r\n setState((st) => ({\r\n ...st,\r\n dropList: DataList.data\r\n }));\r\n let res = await getScheduleBookingSectionById(props.scheduleId);\r\n let bookingData = res.data;\r\n setState((st) => ({\r\n ...st,\r\n vehicleID: bookingData.vehicleID || null,\r\n scheduleBookingDate: bookingData.scheduleBookingDate || '',\r\n scheduleDateDue: moment(bookingData.scheduleDateDue).format('DD/MM/YYYY') || '',\r\n scheduleEventName: bookingData.scheduleEventName,\r\n scheduleID: bookingData.scheduleID,\r\n schedulePrepDate: bookingData.schedulePrepDate || '',\r\n scheduleServiceAgentsID: bookingData.scheduleServiceAgentsID || ''\r\n }));\r\n };\r\n useEffect(() => {\r\n pullBookingData();\r\n pullRequestBookingData();\r\n }, []);\r\n useEffect(() => {\r\n let collName = state.dropList.collectionAndDelivery?.filter((x) => x.id == requestBookingData.scheduleCollectionAndDeliverID).map((z) => z.name)[0];\r\n setRequestBookingData((st) => ({\r\n ...st,\r\n scheduleCollectionAndDeliver: collName || 'N/A'\r\n }));\r\n }, [state.dropList, requestBookingData.scheduleCollectionAndDeliverID]);\r\n\r\n const validate = (checkFlag) => {\r\n let noErrors = true;\r\n let err = {};\r\n if (!checkFlag && !/[^\\s]/.test(state.comment)) {\r\n err.comment = true;\r\n noErrors = false;\r\n }\r\n setErrors(err);\r\n return noErrors;\r\n };\r\n const checkNull = (param) => {\r\n if (/[^\\s]/.test(param)) {\r\n return param;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleData = async (checkFlag) => {\r\n if (validate(checkFlag)) {\r\n let response = await postServiceAgentBookingRequest({\r\n comment: state.comment,\r\n isAcceptByServiceAgent: checkFlag,\r\n scheduleID: state.scheduleID\r\n // domainName: trimedhost,\r\n });\r\n if (response) {\r\n response.success ? showToastSuccess('Booking acceptance saved successfully') : showToastError(response.message || 'Something went wrong');\r\n } else {\r\n showToastError('Something went wrong');\r\n }\r\n props.onClose(true);\r\n }\r\n };\r\n const valueChanged = (ev) => {\r\n let temp = ev.target;\r\n setState((st) => ({\r\n ...st,\r\n [temp.name]: temp.value\r\n }));\r\n setErrors({});\r\n };\r\n const yesNoChanged = (ev) => {\r\n if (ev.target.innerText == 'YES') {\r\n setState((st) => ({\r\n ...st,\r\n scheduleNightBooking: true\r\n }));\r\n } else {\r\n setState((st) => ({\r\n ...st,\r\n scheduleNightBooking: false\r\n }));\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n Event\r\n {state.scheduleEventName}\r\n \r\n \r\n Date Due\r\n {state.scheduleDateDue || 'No Date Assigned'}\r\n \r\n \r\n \r\n Requested Booking Date\r\n {requestBookingData.scheduleRequestedBookingDate}\r\n \r\n \r\n Requested Booking Time Slot\r\n {requestBookingData.scheduleRequestedBookingTimeSlot}\r\n \r\n \r\n Is Night Booking?\r\n {requestBookingData.scheduleNightBooking}\r\n \r\n \r\n Collection And Delivery\r\n {requestBookingData.scheduleCollectionAndDeliver}\r\n \r\n \r\n Deliver Before\r\n {requestBookingData.scheduleDeliverBefore}\r\n \r\n \r\n Collect After\r\n {requestBookingData.scheduleCollectAfter}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {errors.comment ? 'This field is required' : null}\r\n \r\n \r\n handleData(1)}>Accept\r\n \r\n \r\n handleData(0)}>Reject\r\n \r\n \r\n Cancel\r\n \r\n \r\n
\r\n );\r\n};\r\nexport default ServiceAgentScheduleBookingSection;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport { getAllBookingSchedule } from '../../../../Core/Services/ServiceAgent/Schedule/BookingReq';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport ServiceAgentScheduleBookingSection from '../BookingRequest/BookingSection';\r\nimport ConfirmationNumberIcon from '@material-ui/icons/ConfirmationNumber';\r\nimport ScheduleNotes from '../../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleNotes';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst modalgridStyle = {\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\n\r\nconst crumbs = [{ name: 'Home', path: '/' }, { name: 'Schedule' }, { name: 'Booking Requests', path: '/', active: true }];\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 100, addFileUploaderIcon: true },\r\n { key: 'scheduleRequestedBookingDate', name: 'Requested', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'scheduleDateDue', name: 'Due', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'scheduleRequestedBookingTimeSlot', name: 'Time Slot' },\r\n { key: 'scheduleEventName', name: 'Event' },\r\n { key: 'scheduleNightBooking', name: 'Night Booking' },\r\n { key: 'scheduleDeliverBefore', name: 'Deliver Before' },\r\n { key: 'scheduleCollectAfter', name: 'Collect After' },\r\n { key: 'vehicleRegNumber', name: 'Reg Number' },\r\n { key: 'customerCompanyName', name: 'Customer' },\r\n { key: 'depotName', name: 'Depot' }\r\n];\r\n\r\nconst BookingRequests = (props) => {\r\n const [state, setState] = useState({ modalToggle: false, rowVehicleID: null, defectID: null, List: [], showLoader: true, isReload: null });\r\n const [openDialog, setOpenDialog] = useState({});\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n useEffect(async () => {\r\n pullAllBookingSchedule();\r\n }, []);\r\n\r\n const pullAllBookingSchedule = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const checkButton = (ev, label) => {\r\n setOpenDialog({ [label]: true });\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: ev,\r\n scheduleVehicleID: ev.scheduleVehicleID\r\n }));\r\n };\r\n\r\n const closeTheDialog = (res) => {\r\n setOpenDialog({});\r\n res && pullAllBookingSchedule();\r\n };\r\n\r\n const renderEdit = (data, row) => {\r\n return (\r\n
\r\n {row?.displayNotes === 'Y' && (\r\n {\r\n checkButton(row, 'notes');\r\n }}\r\n toolTipTitle=\"Notes\"\r\n />\r\n )}\r\n {row?.displayBookingRequest === 'Y' && (\r\n {\r\n checkButton(row, 'section');\r\n }}\r\n toolTipTitle=\"Booking Details\"\r\n />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n let getUrl = `ServiceAgentSchedules?VehicleID=&Status=${1}`;\r\n\r\n return (\r\n
\r\n {!props.VehicleID && }\r\n\r\n {state.modalToggle ? (\r\n
Update popup
\r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n isReload={state.isReload}\r\n idFieldName={`${checkhaveAccess?.CanUploadScheduleDocuments ? 'scheduleID' : null}`}\r\n fileUploaderConfigName={`${checkhaveAccess?.CanUploadScheduleDocuments ? 'ScheduleDocumentsRequired' : null}`}\r\n downloadBtnName=\"Booking Requests\"\r\n />\r\n )}\r\n {openDialog.section ? (\r\n \r\n closeTheDialog(true)}\r\n />\r\n \r\n ) : null}\r\n {openDialog.notes ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default BookingRequests;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport { getAllBookingSchedule } from '../../../../Core/Services/ServiceAgent/Schedule/BookingReq';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport { Link } from 'react-router-dom';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport VehicleDailyChecks from '../../../InternalUser/Controllers/Vehicles/VehicleDailyChecks/vehicleDailyChecks';\r\nimport EditVehicleDailyChecks from '../../../InternalUser/Controllers/Vehicles/VehicleDailyChecks/editVehicleDailyCheck';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport ConfirmationNumberIcon from '@material-ui/icons/ConfirmationNumber';\r\n// import ServiceAgentScheduleBookingSection from '../BookingRequest/BookingSection';\r\n// import CompleteScheduleModal from './CompleteSchedule';\r\nimport CompleteScheduleModal from '../../../InternalUser/Schedule/completeSchedule';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport ScheduleNotes from '../../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleNotes';\r\nimport '../../../commonStyle.scss';\r\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst modalgridStyle = {\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\n\r\nconst crumbs = [{ name: 'Home', path: '/' }, { name: 'Schedule' }, { name: 'Confirmed Bookings', path: '/', active: true }];\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 140, addFileUploaderIcon: true },\r\n { key: 'vehicleRegNumber', name: 'Reg Number' },\r\n { key: 'bookedDate', name: 'Booking', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'scheduleDateDue', name: 'Due', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'scheduleEventName', name: 'Event' },\r\n { key: 'customerCompanyName', name: 'Customer' },\r\n { key: 'depotName', name: 'Depot' }\r\n];\r\n\r\nconst ConfirmedBookings = (props) => {\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n rowVehicleID: null,\r\n defectID: null,\r\n List: [],\r\n showLoader: true,\r\n showChecks: false,\r\n showEditChecks: false,\r\n selectedRowData: {},\r\n isReload: null\r\n });\r\n const [openDialog, setOpenDialog] = useState({});\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n useEffect(async () => {\r\n pullAllBookingSchedule();\r\n }, []);\r\n\r\n const pullAllBookingSchedule = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n const handleCheck = (ev, val) => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (val === 'Ad') {\r\n newSt.showChecks = true;\r\n newSt.selectedRowData = ev;\r\n }\r\n if (val === 'Ed') {\r\n newSt.showEditChecks = true;\r\n newSt.selectedRowData = ev;\r\n }\r\n return newSt;\r\n });\r\n };\r\n\r\n const checkButton = (ev, label) => {\r\n setOpenDialog({ [label]: true });\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: ev,\r\n scheduleVehicleID: ev.scheduleVehicleID\r\n }));\r\n };\r\n\r\n const closeTheDialog = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n showChecks: false,\r\n showEditChecks: false\r\n }));\r\n setOpenDialog({});\r\n res && pullAllBookingSchedule();\r\n };\r\n\r\n const renderEdit = (data, row) => {\r\n return (\r\n
\r\n {/* \r\n \r\n */}\r\n {row?.displayNotes === 'Y' && (\r\n {\r\n checkButton(row, 'notes');\r\n }}\r\n toolTipTitle=\"Notes\"\r\n />\r\n )}\r\n {/* {row?.displayCompleteSchedule === 'Y' && ( */}\r\n {\r\n checkButton(row, 'complete');\r\n }}\r\n // onClick={() => {\r\n // alert('Functionality Pending');\r\n // }}\r\n toolTipTitle=\"Complete Schedule\"\r\n />\r\n {/* )} */}\r\n {row?.displayAddInspectionCheck === 'Y' && (\r\n {\r\n handleCheck(row, 'Ad');\r\n }}\r\n toolTipTitle=\"Add Inspection Check\"\r\n />\r\n )}\r\n {row?.displayEditInspectionCheck === 'Y' && (\r\n {\r\n handleCheck(row, 'Ed');\r\n }}\r\n toolTipTitle=\"Edit Inspection Check\"\r\n />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n let getUrl = `ServiceAgentSchedules?VehicleID=&Status=${5}`;\r\n\r\n return (\r\n
\r\n {!props.VehicleID && }\r\n\r\n {state.modalToggle ? (\r\n
Update popup
\r\n ) : state.showChecks ? (\r\n \r\n ) : state.showEditChecks ? (\r\n \r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n // btnTitle={gridBtnTitle}\r\n // onBtnClick={jobHandler}\r\n isReload={state.isReload}\r\n idFieldName={`${checkhaveAccess?.CanUploadScheduleDocuments ? 'scheduleID' : null}`}\r\n fileUploaderConfigName={`${checkhaveAccess?.CanUploadScheduleDocuments ? 'ScheduleDocumentsRequired' : null}`}\r\n downloadBtnName=\"Confirmed Bookings\"\r\n />\r\n )}\r\n {/* {openDialog.section ? (\r\n \r\n \r\n \r\n ) : null} */}\r\n {openDialog.notes ? (\r\n \r\n \r\n \r\n ) : null}\r\n {openDialog.complete ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default ConfirmedBookings;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\n// import AddEditDefectModal from './ServiceAgentAddEditDefect'; //'./addEditDefectScreen';\r\nimport AddEditDefectModal from '../../InternalUser/Maintenance/Defects/addEditDefectScreen'; //'./addEditDefectScreen';\r\nimport DataGrid from '../../../Core/Controls/Grid';\r\nimport { getAllDefects } from '../../../Core/Services/InternalUser/Maintenance/DefectsService';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../Core/Controls';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { Link } from 'react-router-dom';\r\nimport DefectEditDetails from '../../InternalUser/Maintenance/Defects/DefectEditDetails';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\n\r\nconst modalgridStyle = {\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Maintenance', active: true },\r\n { name: 'Defects', path: '/', active: true }\r\n];\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 80, addFileUploaderIcon: true },\r\n {\r\n key: 'defectDate',\r\n name: 'Date ',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 100\r\n },\r\n { key: 'defectNumberGenerated', name: 'Defect No', width: 80 },\r\n { key: 'defectDescription', name: 'Defect Details' },\r\n { key: 'defectContactName', name: 'Reported By', width: 150 },\r\n { key: 'defectJobStatusDescription', name: 'Status', width: 200 }\r\n];\r\n\r\nconst ServiceAgentDefectsScreen = (props) => {\r\n let history = useHistory();\r\n const [state, setState] = useState({ modalToggle: false, rowVehicleID: null, defectID: null, List: [], showLoader: true, fromPage: 'Defects' });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n useEffect(async () => {\r\n if (props.frompage === 'Vehicles') {\r\n setState((st) => ({\r\n ...st,\r\n fromPage: props.frompage\r\n }));\r\n }\r\n pullDefects();\r\n }, []);\r\n\r\n const pullDefects = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.defectJobID}/${val?.defectVehicleID}`,\r\n state: 'defects'\r\n });\r\n };\r\n\r\n const handleEditDefect = (val) => {\r\n props.history.push({\r\n pathname: `/maintenance/defect/edit/${val?.defectID}/${val?.defectVehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n const renderEdit = (data, row) => {\r\n return (\r\n \r\n handleEditDefect(row)}\r\n toolTipTitle=\"Edit Defect\"\r\n />\r\n {/* handleUpdate(row.defectID, row.defectVehicleID, 'modalEditDetail')} /> */}\r\n\r\n {checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)}\r\n toolTipTitle=\"Job Details\"\r\n />\r\n )}\r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n if (!props.VehicleID) {\r\n tempCols.splice(1, 0, { key: 'defectRegNumber', name: 'Reg Number', width: 100 });\r\n }\r\n // if (window.innerWidth > 600) {\r\n // tempCols.splice(\r\n // 6,\r\n // 0,\r\n // { key: 'defectDriverName', name: 'Driver Name', width: 110 },\r\n // { key: 'defectDriverTelephone', name: 'Driver Phone', width: 120 }\r\n // );\r\n // }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleUpdate = (defectID, VehicleID, modalName) => {\r\n setState((state) => ({ ...state, defectID: defectID, rowVehicleID: VehicleID, [modalName]: true }));\r\n };\r\n\r\n const closeModalHandler = (res, modalName) => {\r\n setState((state) => ({ ...state, [modalName]: false }));\r\n res && pullDefects();\r\n };\r\n\r\n const gridBtnTitle = !props.VehicleID ? '' : 'Add Defect';\r\n\r\n return (\r\n
\r\n {!state.defectID && }\r\n\r\n {state.modalToggle ? (\r\n closeModalHandler(true, 'modalToggle')}\r\n fromPage={state.fromPage}\r\n isAddJobBtnShow={true}\r\n />\r\n ) : state.modalEditDetail ? (\r\n closeModalHandler(true, 'modalEditDetail')}\r\n fromPage={state.fromPage}\r\n />\r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl=\"VehicleDefects\"\r\n btnTitle={gridBtnTitle}\r\n idFieldName=\"defectID\"\r\n fileUploaderConfigName=\"DefectScreen\"\r\n onBtnClick={() => handleUpdate(null, state.filterVehicleID, 'modalToggle')}\r\n isReload={state.isReload}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ServiceAgentDefectsScreen;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport { getAllBookingSchedule } from '../../../../Core/Services/ServiceAgent/Schedule/BookingReq';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport { Link } from 'react-router-dom';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport ConfirmationNumberIcon from '@material-ui/icons/ConfirmationNumber';\r\n// import ScheduleNotes from '../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleNotes';\r\n// import ServiceAgentScheduleBookingSection from './BookingSection';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport ScheduleNotes from '../../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleNotes';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst modalgridStyle = {\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\n\r\nconst baseColumns = [\r\n // { key: 'action', name: 'Action', width: 120, addFileUploaderIcon: true },\r\n // { key: 'vehicleRegNumber', name: 'Reg Number' },\r\n // { key: 'ScheduleRequestedBookingDate', name: 'Booking Date', formatter: formatters.Date_DDMMYYYY },\r\n // { key: 'scheduleDateDue', name: 'Date Due', formatter: formatters.Date_DDMMYYYY },\r\n // { key: 'scheduleEventName', name: 'Event' },\r\n // { key: 'customerCompanyName', name: 'Customer' },\r\n // { key: 'depotName', name: 'Depot' }\r\n { key: 'action', name: 'Action', width: 80, addFileUploaderIcon: true },\r\n { key: 'scheduleRequestedBookingDate', name: 'Requested', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'scheduleDateDue', name: 'Due', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'scheduleRequestedBookingTimeSlot', name: 'Time Slot' },\r\n { key: 'scheduleEventName', name: 'Event' },\r\n { key: 'scheduleNightBooking', name: 'Night Booking' },\r\n { key: 'scheduleDeliverBefore', name: 'Deliver Before' },\r\n { key: 'scheduleCollectAfter', name: 'Collect After' },\r\n { key: 'vehicleRegNumber', name: 'Reg Number' },\r\n { key: 'customerCompanyName', name: 'Customer' },\r\n { key: 'depotName', name: 'Depot' }\r\n];\r\n\r\nconst AcceptRejectByAgent = (props) => {\r\n const [state, setState] = useState({ modalToggle: false, rowVehicleID: null, defectID: null, List: [], showLoader: true, isReload: null });\r\n const [openDialog, setOpenDialog] = useState({});\r\n const isDirectLink = window.location.pathname.includes('bookingaccepted') ? 2 : 3;\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Schedule' },\r\n { name: isDirectLink == 2 ? 'Booking Accepted' : 'Booking Rejected', path: '/', active: true }\r\n ];\r\n\r\n useEffect(async () => {\r\n pullAllBookingSchedule();\r\n }, [isDirectLink]);\r\n\r\n const pullAllBookingSchedule = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const checkButton = (ev, label) => {\r\n setOpenDialog({ [label]: true });\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: ev,\r\n scheduleVehicleID: ev.scheduleVehicleID\r\n }));\r\n };\r\n\r\n const closeTheDialog = (res) => {\r\n setOpenDialog({});\r\n res && pullAllBookingSchedule();\r\n };\r\n\r\n const renderEdit = (data, row) => {\r\n return (\r\n
\r\n {row?.displayNotes === 'Y' && (\r\n {\r\n checkButton(row, 'notes');\r\n }}\r\n toolTipTitle=\"Notes\"\r\n />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n let getUrl = `ServiceAgentSchedules?VehicleID=&Status=${isDirectLink}`;\r\n return (\r\n
\r\n {!props.VehicleID && }\r\n\r\n {state.modalToggle ? (\r\n
Update popup
\r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n // btnTitle={gridBtnTitle}\r\n // onBtnClick={jobHandler}\r\n isReload={state.isReload}\r\n idFieldName=\"scheduleID\"\r\n fileUploaderConfigName=\"ScheduleDocumentsRequired\"\r\n downloadBtnName={isDirectLink == 2 ? 'Booking Accepted' : 'Booking Rejected'}\r\n />\r\n )}\r\n {openDialog.notes ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default AcceptRejectByAgent;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../Core/Controls/Grid/index';\r\nimport { getJobsByScreenCode } from '../../../Core/Services/ServiceAgent/serviceAgentJobsService';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../Core/Controls';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { Link } from 'react-router-dom';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { useHistory } from 'react-router-dom';\r\nimport JobQueryModal from '../../InternalUser/Controllers/JOBS/JobStatusBtn/JobQuery';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport SpeakerNotesIcon from '@material-ui/icons/SpeakerNotes';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\nimport ReactDOM from 'react-dom';\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: 120, addFileUploaderIcon: true },\r\n { key: 'jobDate', name: 'Date', formatter: formatters.Date_DDMMYYYY, width: 120 },\r\n { key: 'agentOrderNo', name: 'Job Ref', width: 140 },\r\n { key: 'vehicleRegNumber', name: 'Reg No', width: 120 },\r\n { key: 'jobDescription', name: 'Job Description' },\r\n // { key: 'serviceAgentName', name: 'Service Agent' },\r\n // { key: 'depotName', name: 'Depots' },\r\n {\r\n key: 'partsTotal',\r\n name: 'Parts',\r\n formatter: formatters.NumberWithPound,\r\n align: 'right',\r\n width: 100\r\n },\r\n {\r\n key: 'labourTotal',\r\n name: 'Labour',\r\n formatter: formatters.NumberWithPound,\r\n align: 'right',\r\n width: 100\r\n },\r\n {\r\n key: 'orderTotal',\r\n name: 'Total',\r\n formatter: formatters.NumberWithPound,\r\n align: 'right',\r\n width: 120\r\n },\r\n { key: 'customerCompanyName', name: 'Customer', width: 180 }\r\n];\r\n\r\nconst getCrumbs = (code, isServiceAgent) => {\r\n let temp = {};\r\n let final = [\r\n { name: 'Home', path: '/' },\r\n { name: code == 'ER' ? 'Estimates' : 'Jobs', active: true }\r\n ];\r\n if (code == 'PP' || code == 'AR' || code == 'FR') {\r\n temp = { name: 'Awaiting Approvals', active: true };\r\n } else if (code == 'BO') {\r\n temp = { name: 'Breakdown Onsite', active: true };\r\n } else if (code == 'BR') {\r\n temp = { name: 'Breakdown Roadside', active: true };\r\n } else if (code == 'DD') {\r\n temp = { name: 'Driver Defects', active: true };\r\n } else if (code == 'EP') {\r\n temp = { name: `${isServiceAgent ? 'Estimates Pending' : 'Awaiting Approval'}`, active: true };\r\n } else if (code == 'ER') {\r\n temp = { name: 'Estimate Revised', active: true };\r\n } else if (code == 'SD') {\r\n temp = { name: 'Schedule Defects', active: true };\r\n } else if (code == 'EC') {\r\n temp = { name: 'Estimate Under Customer Review', active: true };\r\n } else if (code == 'QJ' || code == 'JQ') {\r\n temp = { name: 'Queried Jobs', active: true };\r\n } else if (code == 'EA') {\r\n temp = { name: 'Estimates Accepted', active: true };\r\n } else if (code == 'EQ') {\r\n temp = { name: 'Estimates Queried', active: true };\r\n } else if (code == 'CA') {\r\n temp = { name: 'Approved', active: true };\r\n } else {\r\n temp = { name: 'Open Jobs', active: true };\r\n }\r\n final.push(temp);\r\n return final;\r\n};\r\nconst CommonJobsScreen = (props) => {\r\n const [state, setState] = useState({ showLoader: true, open: false, rows: [], isReload: null });\r\n const history = useHistory();\r\n const { userRoles } = useLoginInfo();\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n\r\n useEffect(async () => {\r\n pullApiData();\r\n }, []);\r\n\r\n const pullApiData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n history.push({\r\n pathname: `/controller/jobTabScreen/${val?.jobID}/${val?.jobVehicleID}`\r\n });\r\n };\r\n\r\n const handleShowQueries = (val) => {\r\n setState((state) => ({ ...state, showJobQuery: true, jobID: val?.jobID }));\r\n };\r\n\r\n const closeTheDialog = (val) => {\r\n setState((state) => ({ ...state, showJobQuery: false, jobID: '' }));\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n handleShowQueries(row)}\r\n />\r\n {checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)} toolTipTitle=\"Edit Job\" />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n let actionjobDateCol = newColumn.find((item) => item.key === 'jobDate');\r\n if (actionjobDateCol || true) {\r\n actionjobDateCol.formatter = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
\r\n {row.bookingDate ? formatters.YearFormatter(row.bookingDate) : formatters.YearFormatter(row.jobDate)}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n }\r\n // if (!isServiceAgent) {\r\n // newColumn.splice(1, 0, { key: 'serviceAgentName', name: 'Service Agent' });\r\n // }\r\n return newColumn;\r\n }, []);\r\n\r\n const crumbs = getCrumbs(props.screenCode, isServiceAgent);\r\n\r\n const jobHandler = () => {\r\n alert('hello');\r\n };\r\n\r\n const closeModal = () => {\r\n setState((st) => ({ ...st, open: false }));\r\n };\r\n let getUrl = `ServiceAgentJobs?JobStatusID=${props.screenCode}`;\r\n return (\r\n
\r\n \r\n\r\n ({\r\n records: res.data.schedules,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n idFieldName={`${checkhaveAccess?.CanUploadJobDocuments ? 'jobID' : null}`}\r\n fileUploaderConfigName={`${checkhaveAccess?.CanUploadJobDocuments ? 'JobScreen' : null}`}\r\n getUrl={getUrl}\r\n // btnTitle={gridBtnTitle}\r\n onBtnClick={jobHandler}\r\n isReload={state.isReload}\r\n />\r\n {state.showJobQuery && (\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\nexport default CommonJobsScreen;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllReports = async () => {\r\n let res = await getWithAuth('UserReports');\r\n return res;\r\n};\r\n\r\nexport const getAllDropdowns = async () => {\r\n let res = await getWithAuth(`UserReports/ReportsDetailsDropDown`);\r\n return res;\r\n};\r\n\r\nexport const getReportsById = async (Id) => {\r\n let res = await getWithAuth(`UserReports/ReportsDetailsGetDetails/${Id}`);\r\n return res;\r\n};\r\n\r\nexport const ReportsDetailsSave = async (data) => {\r\n let res = await postWithAuth('UserReports/ReportsDetailsSave', data);\r\n return res;\r\n};\r\n\r\nexport const ReportsColumnsGetDetails = async (id) => {\r\n let res = await getWithAuth(`UserReports/UserReportsColumnsGetDetails/${id}`);\r\n return res;\r\n};\r\n\r\nexport const ReportsColumnsSave = async (data) => {\r\n let res = await postWithAuth('UserReports/UserReportsColumnsSave', data);\r\n return res;\r\n};\r\n\r\nexport const ReportSelectionsGetDetails = async (id) => {\r\n let res = await getWithAuth(`UserReports/UserReportSelectionsGetDetails/${id}`);\r\n return res;\r\n};\r\n\r\nexport const ReportSelectionsSave = async (data) => {\r\n let res = await postWithAuth(`UserReports/UserReportSelectionsSave`, data);\r\n return res;\r\n};\r\n\r\nexport const UserReportSequenceSave = async (data) => {\r\n let res = await postWithAuth(`UserReports/UserReportSequenceSave`, data);\r\n return res;\r\n};\r\n\r\nexport const GetReportSequence = async (id) => {\r\n let res = await getWithAuth(`UserReports/UserReportSequenceGetDetails/${id}`);\r\n return res;\r\n};\r\n\r\nexport const ReportCombinedSave = async (data) => {\r\n let res = await postWithAuth(`UserReports/UserReportCombinedSave`, data);\r\n return res;\r\n};\r\n\r\nexport const GetFilterdReport = async (id) => {\r\n let res = await getWithAuth(`UserReports/GetReportList/${id}`);\r\n return res;\r\n};\r\nexport const GetReportExcelDFile = async (id) => {\r\n let res = await getWithAuth(`UserReports/GetExcelReport/${id}`,{ responseType: 'blob', returnOrgRes: true });\r\n return res;\r\n};\r\n","import Step from '@material-ui/core/Step';\r\nimport StepConnector from '@material-ui/core/StepConnector';\r\nimport StepLabel from '@material-ui/core/StepLabel';\r\nimport Stepper from '@material-ui/core/Stepper';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport CreateIcon from '@material-ui/icons/Create';\r\nimport ReportIcon from '@material-ui/icons/Report';\r\nimport SettingsIcon from '@material-ui/icons/Settings';\r\nimport ViewWeekIcon from '@material-ui/icons/ViewWeek';\r\nimport clsx from 'clsx';\r\nimport PropTypes from 'prop-types';\r\nimport React, { useEffect, useState } from 'react';\r\n\r\nconst useQontoStepIconStyles = makeStyles({\r\n root: {\r\n color: '#eaeaf0',\r\n display: 'flex',\r\n height: 22,\r\n alignItems: 'center',\r\n },\r\n active: {\r\n color: '#784af4',\r\n },\r\n circle: {\r\n width: 8,\r\n height: 8,\r\n borderRadius: '50%',\r\n backgroundColor: 'currentColor',\r\n },\r\n completed: {\r\n color: '#784af4',\r\n zIndex: 1,\r\n fontSize: 18,\r\n },\r\n});\r\n\r\nfunction QontoStepIcon(props) {\r\n const classes = useQontoStepIconStyles();\r\n const { active } = props;\r\n\r\n return (\r\n \r\n\r\n \r\n );\r\n}\r\n\r\nQontoStepIcon.propTypes = {\r\n active: PropTypes.bool,\r\n completed: PropTypes.bool,\r\n};\r\n\r\nconst ColorlibConnector = withStyles({\r\n alternativeLabel: {\r\n top: 22,\r\n },\r\n active: {\r\n '& $line': {\r\n backgroundImage:\r\n 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)',\r\n },\r\n },\r\n completed: {\r\n '& $line': {\r\n backgroundImage:\r\n 'linear-gradient( 95deg,rgb(242,113,33) 0%,rgb(233,64,87) 50%,rgb(138,35,135) 100%)',\r\n },\r\n },\r\n line: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: '#eaeaf0',\r\n borderRadius: 1,\r\n },\r\n})(StepConnector);\r\n\r\nconst useColorlibStepIconStyles = makeStyles({\r\n root: {\r\n backgroundColor: '#ccc',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 50,\r\n height: 50,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n active: {\r\n backgroundImage:\r\n 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)',\r\n boxShadow: '0 4px 10px 0 rgba(0,0,0,.25)',\r\n },\r\n completed: {\r\n backgroundImage:\r\n 'linear-gradient( 136deg, rgb(242,113,33) 0%, rgb(233,64,87) 50%, rgb(138,35,135) 100%)',\r\n },\r\n});\r\n\r\nfunction ColorlibStepIcon(props) {\r\n const classes = useColorlibStepIconStyles();\r\n const { active, completed } = props;\r\n\r\n const icons = {\r\n 1: ,\r\n 2: ,\r\n 3: ,\r\n 4: ,\r\n };\r\n\r\n return (\r\n \r\n {icons[String(props.icon)]}\r\n \r\n );\r\n}\r\n\r\nColorlibStepIcon.propTypes = {\r\n active: PropTypes.bool,\r\n completed: PropTypes.bool,\r\n icon: PropTypes.node,\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n },\r\n button: {\r\n marginRight: theme.spacing(1),\r\n },\r\n instructions: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1),\r\n },\r\n}));\r\n\r\nfunction getSteps() {\r\n return ['Report Details', 'Columns', 'Selection', 'Sequence'];\r\n}\r\n\r\nexport default function AddReportStepper(props) {\r\n const classes = useStyles();\r\n const steps = getSteps();\r\n\r\n const [activeStep, setActiveStep] = useState(props.activeStep);\r\n useEffect(() => {\r\n setActiveStep(props.activeStep)\r\n }, [props.activeStep]);\r\n\r\n return (\r\n
\r\n }>\r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n
\r\n );\r\n}\r\n","import { createContext, useEffect, useState } from 'react';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport {\r\n getAllDropdowns,\r\n ReportsDetailsSave,\r\n getReportsById,\r\n ReportsColumnsGetDetails,\r\n ReportsColumnsSave,\r\n ReportSelectionsGetDetails,\r\n ReportSelectionsSave,\r\n UserReportSequenceSave,\r\n GetReportSequence,\r\n ReportCombinedSave\r\n} from '../../../../Core/Services/InternalUser/ReportsService';\r\n\r\nexport const ReportsScreenContext = createContext();\r\n\r\nexport const ReportsProvider = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n activeStep: 0,\r\n userReportName: '',\r\n errors: {},\r\n userReportSendEmail: false,\r\n operator: [\r\n { id: '=', name: '=' },\r\n { id: '>', name: '>' },\r\n { id: '>=', name: '>=' },\r\n { id: '<', name: '<' },\r\n { id: '<=', name: '<=' }\r\n ],\r\n schedule: [],\r\n reportCatalogue: [],\r\n userReportID: null,\r\n selectionList: [],\r\n columnList: [],\r\n allColumnsList: [],\r\n userColumnId: null,\r\n selectedColumns: [],\r\n rows: [],\r\n showLoader: true,\r\n sequenceReportCatID: null,\r\n selectiondetails: [],\r\n sequenceColumList: [],\r\n sequenceList: [\r\n { id: 'asc', name: 'Ascending' },\r\n { id: 'desc', name: 'Descending' }\r\n ],\r\n getCol: false,\r\n sequenceVM: [],\r\n userReportSequenceOrder: '',\r\n sequenceReportCatID: null,\r\n saveReportFlag: false,\r\n AllsequenceColumList: []\r\n });\r\n\r\n useEffect(async () => {\r\n let res = await getAllDropdowns();\r\n let data = res.data;\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n // operator: [],\r\n reportCatalogue: data.reportCatalogues.map((m) => ({ id: m.reportCatalogueID, name: m.reportCatalogueName })),\r\n schedule: data.reportSchedules.map((m) => ({ id: m.reportScheduleID, name: m.reportScheduleTitle }))\r\n }));\r\n } else {\r\n showToastError(res.messages);\r\n }\r\n if (props.userReportID) {\r\n let res = await getReportsById(props.userReportID);\r\n let data = res?.data?.details[0];\r\n setState((st) => ({\r\n ...st,\r\n userReportUserID: data?.userReportUserID,\r\n userReportID: data?.userReportID,\r\n userReportName: data?.userReportName,\r\n userReportScheduleID: data?.userReportScheduleID,\r\n userReportSendEmail: data?.userReportSendEmail,\r\n userReportCatalogueID: data?.userReportCatalogueID\r\n }));\r\n getDetailsSelections(props.userReportID);\r\n getColumnsDetails(props.userReportID);\r\n }\r\n }, []);\r\n\r\n const getColumnsDetails = async (val) => {\r\n let res = await ReportsColumnsGetDetails(val);\r\n const data = res.data?.reportCatalogueColumns?.map((w) => ({\r\n id: w.reportCatalogueColumnID,\r\n name: w.reportCatalogueColumnDisplayName\r\n }));\r\n if (res.success) {\r\n setState((m) => ({\r\n ...m,\r\n columnList: data,\r\n allColumnsList: res.data?.reportCatalogueColumns,\r\n rows: res.data?.details?.map((m) => ({ ...m, reportCatalogueColumnID: m.userReportCatalogueColumnID })) || [],\r\n selectedColumns: res.data?.details?.map((w) => w.userReportCatalogueColumnID) || [],\r\n getCol: true\r\n }));\r\n }\r\n };\r\n\r\n const getFilteredRows = (id) => {\r\n let filteredRows = [...state.rows];\r\n let isAvi = state.selectedColumns.find((q) => q == id);\r\n if (!isAvi) {\r\n let temp = [...new Set([...state.selectedColumns, id])];\r\n let tuka = state.allColumnsList?.filter((i) => i.reportCatalogueColumnID == id);\r\n filteredRows = [...filteredRows, ...tuka];\r\n setState((st) => ({ ...st, rows: filteredRows, selectedColumns: temp, showLoader: false }));\r\n }\r\n };\r\n\r\n const handleDelete = (id) => {\r\n const newList = state.rows.filter((item) => item.reportCatalogueColumnID !== id);\r\n const newSelectedColumns = state.selectedColumns.filter((item) => item !== id);\r\n setState((st) => ({ ...st, rows: newList, selectedColumns: newSelectedColumns }));\r\n };\r\n\r\n const inputChange = (e) => {\r\n const { name, value, checked, type } = e.target;\r\n if (name == 'userColumnId' && value) {\r\n getFilteredRows(value);\r\n } else if (type?.toLowerCase() === 'checkbox') {\r\n setState((st) => ({ ...st, [name]: checked }));\r\n } else {\r\n setState((st) => ({ ...st, [name]: value }));\r\n }\r\n };\r\n const reportInputChange = (e) => {\r\n const { name, value, checked, type } = e.target;\r\n if (type?.toLowerCase() === 'checkbox') {\r\n setState((st) => ({ ...st, [name]: checked, saveReportFlag: true }));\r\n } else {\r\n setState((st) => ({ ...st, [name]: value, saveReportFlag: true }));\r\n }\r\n };\r\n\r\n const handleSubmit = async () => {\r\n const selectionList = state.selectionList.map((m) => ({\r\n userReportCatalogueColumnID: m?.reportCatalogueColumnID,\r\n userReportSelectionOperator: m?.userReportSelectionOperator,\r\n userReportFromValue: m?.userReportFromValue,\r\n userReportToValue: m?.userReportToValue\r\n }));\r\n\r\n const combinedData = {\r\n userReportID: state.userReportID,\r\n userReportCatalogueID: state.userReportCatalogueID,\r\n userReportName: state.userReportName,\r\n userReportScheduleID: state.userReportScheduleID,\r\n userReportSendEmail: state.userReportSendEmail,\r\n userReportColumns: state.selectedColumns,\r\n userReportSelectionsVM: selectionList.filter((o) => {\r\n if (o.userReportSelectionOperator) return o;\r\n }),\r\n userReportSequenceReportCatalogueColumnID: state.sequenceVM?.map((m) => ({\r\n userReportSequenceReportCatalogueColumnID: m.userReportSequenceReportCatalogueColumnID,\r\n userReportSequenceOrder: m.userReportSequenceOrder\r\n }))\r\n };\r\n\r\n let res = await ReportCombinedSave(combinedData);\r\n if (res.success) {\r\n showToastSuccess('Data Saved Successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError('Something went Wrong');\r\n }\r\n };\r\n\r\n const handlePreviousStep = (step) => {\r\n if (state.activeStep + step < 0 || state.activeStep + step > 3) return;\r\n setState((st) => ({\r\n ...st,\r\n activeStep: state.activeStep + step\r\n }));\r\n };\r\n\r\n const handleNextSteps = async (step) => {\r\n if (state.activeStep == 2) {\r\n if (validation()) {\r\n setState((st) => ({\r\n ...st,\r\n activeStep: state.activeStep + step\r\n }));\r\n }\r\n } else {\r\n if (state.activeStep + step < 0 || state.activeStep + step > 3) return;\r\n setState((st) => ({\r\n ...st,\r\n activeStep: state.activeStep + step\r\n }));\r\n }\r\n if (state.activeStep == 0 && state.saveReportFlag) {\r\n handelSaveReportDetails();\r\n }\r\n };\r\n\r\n const handelSaveReportDetails = async () => {\r\n const data = {\r\n userReportID: state.userReportID,\r\n userReportCatalogueID: state.userReportCatalogueID,\r\n userReportName: state.userReportName,\r\n userReportScheduleID: state.userReportScheduleID,\r\n userReportSendEmail: state.userReportSendEmail\r\n };\r\n let res = await ReportsDetailsSave(data);\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n userReportID: res.data?.userReportID,\r\n saveReportFlag: false\r\n }));\r\n getDetailsSelections(res.data.userReportID);\r\n getColumnsDetails(res.data.userReportID);\r\n showToastSuccess('Columns Saved SuccessFully');\r\n } else {\r\n showToastError(res.messages);\r\n }\r\n };\r\n\r\n const getSequenceById = async (val) => {\r\n let res = await GetReportSequence(val);\r\n if (res.success) {\r\n const temp = res?.data?.reportCatalogueColumns;\r\n const val = res?.data?.details;\r\n\r\n setState((st) => ({\r\n ...st,\r\n sequenceVM: val || [],\r\n AllsequenceColumList: temp\r\n }));\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const results = state.AllsequenceColumList.filter(\r\n ({ reportCatalogueColumnID: id1 }) => !state.sequenceVM?.some(({ userReportSequenceReportCatalogueColumnID: id2 }) => id2 === id1)\r\n );\r\n const data = results.map((w) => ({\r\n id: w.reportCatalogueColumnID,\r\n name: w.reportCatalogueColumnDisplayName\r\n }));\r\n setState((st) => ({\r\n ...st,\r\n sequenceColumList: data\r\n }));\r\n }, [state.sequenceVM]);\r\n\r\n const deleteSequence = (data) => {\r\n const newList = state.sequenceVM?.filter((item) => item.userReportSequenceReportCatalogueColumnID !== data.userReportSequenceReportCatalogueColumnID);\r\n setState((st) => ({ ...st, sequenceVM: newList }));\r\n };\r\n\r\n const validation = () => {\r\n let formIsValid = true;\r\n let errors = {};\r\n let checkOpCondition = state.selectionList.map((m) => {\r\n if (m.userReportSelectionOperator == '=') {\r\n if (!/[^\\s]/.test(m.userReportFromValue) || !m.userReportFromValue) {\r\n errors[`fromError${m.reportCatalogueColumnID}`] = 'From value is required';\r\n formIsValid = false;\r\n }\r\n // if (!/[^\\s]/.test(m.userReportToValue) || !m.userReportToValue) {\r\n // errors[`toError${m.reportCatalogueColumnID}`] = 'To value is required';\r\n // formIsValid = false;\r\n // }\r\n }\r\n if (m.userReportSelectionOperator == '>' || m.userReportSelectionOperator == '>=') {\r\n if (!m.userReportFromValue) {\r\n errors[`fromError${m.reportCatalogueColumnID}`] = 'From value is required';\r\n formIsValid = false;\r\n }\r\n }\r\n if (m.userReportSelectionOperator == '<' || m.userReportSelectionOperator == '<=') {\r\n if (!m.userReportToValue) {\r\n errors[`toError${m.reportCatalogueColumnID}`] = 'To value is required';\r\n formIsValid = false;\r\n }\r\n }\r\n if (!m.userReportSelectionOperator) {\r\n if (m.userReportFromValue || m.userReportFromValue) {\r\n errors[`toOprator${m.reportCatalogueColumnID}`] = 'Oprator value is required';\r\n formIsValid = false;\r\n }\r\n }\r\n return m;\r\n });\r\n setState((st) => ({\r\n ...st,\r\n selectionList: checkOpCondition,\r\n errors: errors\r\n }));\r\n return formIsValid;\r\n };\r\n\r\n const getDetailsSelections = async (val) => {\r\n let res = await ReportSelectionsGetDetails(val);\r\n if (res.success) {\r\n const temp = res?.data?.reportCatalogueColumns;\r\n const val = res?.data?.details;\r\n let selectionDetailsList = [];\r\n for (let i = 0; i < temp.length; i++) {\r\n selectionDetailsList.push({\r\n ...temp[i],\r\n ...val?.find((itmInner) => itmInner.userReportCatalogueColumnID === temp[i].reportCatalogueColumnID)\r\n });\r\n }\r\n setState((st) => ({\r\n ...st,\r\n selectionList: selectionDetailsList\r\n }));\r\n }\r\n };\r\n\r\n const seqValidations = () => {\r\n const { sequenceReportCatID, userReportSequenceOrder } = state;\r\n let emptyStrigPattern = /[^\\s]/;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!emptyStrigPattern.test(sequenceReportCatID)) {\r\n errors.sequenceReportCatID = 'Column is required';\r\n formIsValid = false;\r\n }\r\n // if (!emptyStrigPattern.test(userReportSequenceOrder)) {\r\n // errors.userReportSequenceOrder = ' Order is required';\r\n // formIsValid = false;\r\n // }\r\n if (!userReportSequenceOrder) {\r\n errors.userReportSequenceOrder = ' Order is required';\r\n formIsValid = false;\r\n }\r\n setState((state) => ({ ...state, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handelAddSequence = () => {\r\n if (seqValidations()) {\r\n let colname = state.allColumnsList?.find(\r\n (itmInner) => itmInner.reportCatalogueColumnID == state.sequenceReportCatID\r\n ).reportCatalogueColumnDisplayName;\r\n const data = {\r\n reportCatalogueColumnDisplayName: colname,\r\n userReportSequenceReportCatalogueColumnID: state.sequenceReportCatID,\r\n userReportSequenceOrder: state.userReportSequenceOrder,\r\n seqDescription: state.userReportSequenceOrder === 'asc' ? 'Ascending' : 'Descending'\r\n };\r\n let temp = [...state.sequenceVM, data];\r\n setState((st) => ({ ...st, sequenceVM: temp, sequenceReportCatID: '', userReportSequenceOrder: null }));\r\n }\r\n };\r\n\r\n const selectionOnChange = (id) => (e) => {\r\n const { name, value } = e.target;\r\n let temp = [...state.selectionList];\r\n let objIndex = state.selectionList.findIndex((x) => x.reportCatalogueColumnID === id);\r\n temp[objIndex][`${name}`] = value;\r\n const op = temp[objIndex]['userReportSelectionOperator'];\r\n if (op == '>' || op == '>=') {\r\n temp[objIndex][`userReportToValue`] = '';\r\n }\r\n if (op == '<' || op == '<=') {\r\n temp[objIndex][`userReportFromValue`] = '';\r\n }\r\n setState((st) => ({ ...st, selectionList: temp }));\r\n };\r\n\r\n useEffect(() => {\r\n if (state.activeStep === 3) {\r\n getSequenceById(state.userReportID);\r\n }\r\n }, [state.activeStep]);\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import { InputLabel } from '@material-ui/core';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport React, { useState, useContext, useMemo } from 'react';\r\nimport { MandatoryField, PrimaryCheckbox, DataGrid, DeleteButton, formatters, SecondaryButton, SelectBox } from '../../../../Core/Controls';\r\nimport AddReportStepper from './AddReportStepper';\r\nimport { FormHelperText } from '@material-ui/core';\r\nimport { ReportsProvider as StateProvider, ReportsScreenContext } from './ReportProvider';\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: '5%'\r\n },\r\n {\r\n key: 'reportCatalogueColumnDisplayName',\r\n name: 'Name'\r\n },\r\n {\r\n key: 'reportCatalogueColumnFieldType',\r\n name: 'Field Type'\r\n }\r\n];\r\nconst baseSequenceColumn = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: '5%'\r\n },\r\n { key: 'reportCatalogueColumnDisplayName', name: 'Column Name' },\r\n { key: 'seqDescription', name: 'Order' }\r\n];\r\n\r\nconst AddReportScreen = () => {\r\n const {\r\n state,\r\n inputChange,\r\n handlePreviousStep,\r\n handleNextSteps,\r\n selectionOnChange,\r\n handelAddSequence,\r\n handleSubmit,\r\n handleDelete,\r\n deleteSequence,\r\n reportInputChange\r\n } = useContext(ReportsScreenContext);\r\n\r\n const dataFormatter = (data) => {\r\n return (\r\n
\r\n handleDelete(data.row.reportCatalogueColumnID)} toolTipTitle=\"Delete Job Item\" />\r\n
\r\n );\r\n };\r\n\r\n const dataFormatterSequenceColumn = (data) => {\r\n return (\r\n
\r\n deleteSequence(data.row)} toolTipTitle=\"Delete Job Item\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, [state.selectedColumns]);\r\n\r\n const sequenceColumn = useMemo(() => {\r\n const tempCols = [...baseSequenceColumn];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatterSequenceColumn;\r\n }\r\n return tempCols;\r\n }, [state.sequenceVM]);\r\n\r\n function getStepContent() {\r\n switch (state.activeStep) {\r\n case 0:\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n Report Catalogue\r\n \r\n \r\n \r\n Schedule\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n case 1:\r\n return (\r\n \r\n \r\n Columns\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n case 2:\r\n return state.selectionList.map((m) => {\r\n return (\r\n <>\r\n \r\n {m?.reportCatalogueColumnDisplayName}\r\n \r\n \r\n Operator\r\n \r\n

{state.errors[`toOprator${m.reportCatalogueColumnID}`]}

\r\n
\r\n \r\n ' || m?.userReportSelectionOperator == '>=' ? true : false}\r\n />\r\n \r\n \r\n );\r\n });\r\n case 3:\r\n return (\r\n <>\r\n \r\n Columns\r\n \r\n {state.errors.sequenceReportCatID}\r\n \r\n \r\n Order\r\n \r\n {state.errors.userReportSequenceOrder}\r\n \r\n \r\n {'\\u{2800}'}\r\n Add\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
\r\n
\r\n\r\n {getStepContent()}\r\n
\r\n\r\n \r\n \r\n handlePreviousStep(-1)}>\r\n Previous Step\r\n \r\n {state.activeStep != 3 ? (\r\n handleNextSteps(1)}>Next Step\r\n ) : (\r\n Save and Close\r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst Screen = (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default Screen;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport '../../../../Components/commonStyle.scss';\r\nimport { BreadCrumbs, DataGrid, EditButton, formatters } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { getAllReports } from '../../../../Core/Services/InternalUser/ReportsService';\r\nimport AddReportScreen from './AddReportScreen';\r\nimport { Link } from 'react-router-dom';\r\nimport AssessmentIcon from '@material-ui/icons/Assessment';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 70\r\n },\r\n {\r\n key: 'userReportName',\r\n name: 'Report Name'\r\n },\r\n {\r\n key: 'reportCatalogueName',\r\n name: 'Catalogue Name'\r\n },\r\n {\r\n key: 'reportScheduleTitle',\r\n name: 'Schedule'\r\n },\r\n {\r\n key: 'userReportDateCreated',\r\n name: 'Date Created',\r\n formatter: formatters.Date_DDMMMYYYY_HHMM\r\n },\r\n {\r\n key: 'userReportSendEmail',\r\n name: 'Send Email'\r\n }\r\n];\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Reports', path: '/', active: true },\r\n { name: 'My Reports', path: '/', active: true }\r\n];\r\n\r\nconst ReportsListScreen = (props) => {\r\n const { showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n showLoader: true,\r\n\r\n reportsList: [],\r\n userReportID: null,\r\n isReload: null\r\n });\r\n\r\n const pullReportsAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: true,\r\n userReportID: record\r\n }));\r\n };\r\n\r\n const closeReportModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: false\r\n }));\r\n res && pullReportsAndUpdateState();\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/reports/reportlist/${val.userReportName}/${val.userReportID}`\r\n });\r\n };\r\n\r\n const dataFormatter = (val, row) => {\r\n return (\r\n \r\n \r\n handleAdd(row.userReportID)} toolTipTitle=\"Edit Report\" />\r\n \r\n \r\n handleEditClick(row)}\r\n style={{ marginTop: '8px', cursor: 'pointer' }}\r\n />\r\n \r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const newCrumbs = useMemo(() => {\r\n const tempCols = [...crumbs];\r\n let actionCol = tempCols.find((element) => element.name === 'Reports List');\r\n if (actionCol) {\r\n actionCol.onClick = closeReportModal;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n\r\n {state.modalToggle ? (\r\n <>\r\n
\r\n \r\n \r\n ) : (\r\n <>\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl=\"UserReports\"\r\n btnTitle=\"Add Report\"\r\n onBtnClick={() => handleAdd(null)}\r\n isReload={state.isReload}\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\nexport default ReportsListScreen;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport '../../../../Components/commonStyle.scss';\r\nimport { BreadCrumbs, CustomChip, DataGrid, EditButton, formatters, SecondaryButton } from '../../../../Core/Controls';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { GetFilterdReport, GetReportExcelDFile } from '../../../../Core/Services/InternalUser/ReportsService';\r\nimport moment from 'moment';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { Grid } from '@material-ui/core';\r\n\r\nconst baseCrumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Reports', path: '/', active: true },\r\n { name: 'Reports List', path: '/reports/reportlist/' }\r\n];\r\n\r\nconst FilteredReportsListScreen = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [state, setState] = useState({\r\n column: [],\r\n rows: [],\r\n showLoader: true\r\n });\r\n const pullReportsAndUpdateState = async () => {\r\n let res = await GetFilterdReport(props.match.params.id);\r\n\r\n if (res.success) {\r\n let colData = res.data.columns?.map((m) => ({\r\n key: m.reportCatalogueColumnDatabaseName.charAt(0).toLowerCase() + m.reportCatalogueColumnDatabaseName.slice(1),\r\n name: m.reportCatalogueColumnDisplayName\r\n // type: m.reportCatalogueColumnFieldType,\r\n // formatter: m.reportCatalogueColumnFieldType === 'D' ? formatters.Date_DDMMYY : null\r\n }));\r\n\r\n setState((st) => ({\r\n ...st,\r\n column: colData || [],\r\n rows: res.data.rows || [],\r\n showLoader: false\r\n }));\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n pullReportsAndUpdateState();\r\n }, [props.match.params.id]);\r\n\r\n const crumbs = useMemo(() => {\r\n const tempCrumbs = [...baseCrumbs];\r\n tempCrumbs.push({ name: `${props.match.params.name}`, path: '/', active: true });\r\n return tempCrumbs;\r\n }, [props.match.params.name]);\r\n\r\n const downloadPdf = async () => {\r\n let res = await GetReportExcelDFile(props.match.params.id);\r\n if (res) {\r\n const url = window.URL.createObjectURL(new Blob([res.data]));\r\n const link = document.getElementById('tempDownloadPDFLink') || document.createElement('a');\r\n link.id = 'tempDownloadPDFLink';\r\n link.href = url;\r\n link.setAttribute('download', `Report${moment().format('DD-MMM-YYYY HH:mm')}.xlsx`);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n return true;\r\n }\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {state.rows.length > 0 && (\r\n \r\n \r\n \r\n )}\r\n \r\n handleAdd(null)}\r\n paginate\r\n offset={230}\r\n />\r\n
\r\n );\r\n};\r\nexport default FilteredReportsListScreen;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Container from '@material-ui/core/Container';\r\nimport { getAllCustomerDashboard } from '../../../Core/Services/Customer/customerDashService';\r\nimport { Link } from 'react-router-dom';\r\nimport LocalTaxiRoundedIcon from '@material-ui/icons/LocalTaxiRounded';\r\n\r\nimport AttachMoneyIcon from '@material-ui/icons/AttachMoney';\r\nimport CreditCardIcon from '@material-ui/icons/CreditCard';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport NotificationsActiveIcon from '@material-ui/icons/NotificationsActive';\r\nimport FormatListBulletedIcon from '@material-ui/icons/FormatListBulleted';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport DirectionsCarIcon from '@material-ui/icons/DirectionsCar';\r\nimport '../CustomerDash.scss';\r\nimport ReactSpeedometer from 'react-d3-speedometer';\r\nimport ChatBubbleIcon from '@material-ui/icons/ChatBubble';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport DashboardCard from '../../InternalUser/Dashboard/dashboardCard';\r\nimport { getAllDashboardWidgets } from '../../../Core/Services/dasboardWidgetsService';\r\nimport { FromLoader } from '../../../Core/Loader/formLoader';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport ErrorIcon from '@material-ui/icons/Error';\r\nimport { SecondaryButton } from '../../../Core/Controls';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport DashboardIcon from '@material-ui/icons/Dashboard';\r\nimport { Switch } from '@material-ui/core';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n width: '90%'\r\n }\r\n});\r\n\r\nlet gridStyle = {\r\n 1: 12,\r\n 2: 6,\r\n 3: 3\r\n};\r\n\r\nlet redColor = '#ff4757';\r\nlet redShadowColor = 'rgb(255 32 54 / 53%)';\r\nlet yellowColor = '#ffc312';\r\nlet yellowShadowColor = 'rgba(255, 236, 30, 0.75)';\r\nlet purpleColor = '#7d38df';\r\nlet purpleShadowColor = 'rgba(200, 61, 255, 0.596)';\r\nlet greenColor = '#009432';\r\nlet greenShadowColor = 'rgba(0, 148, 50, 0.53)';\r\nlet blueColor = '#1127ee';\r\nlet blueShadowColor = '#909bf7';\r\n\r\nconst CustomerDashobard = () => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n rows_new: [],\r\n tilesData: [],\r\n widgetList: [],\r\n showFilter: false\r\n });\r\n\r\n const [checked, setChecked] = useState({});\r\n\r\n const [widgets, setWidgets] = useState({});\r\n let DowntimeDash = [\r\n {\r\n Icon: LocalTaxiRoundedIcon,\r\n numberIcon: state.tilesData.breakdownPercent,\r\n title: state.tilesData.breakdowns || 0,\r\n subTittle: 'Breakdown',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: checkhaveAccess?.CanViewBreakdowns ? '/maintenance/breakdowns/:all' : ''\r\n },\r\n {\r\n Icon: LocalTaxiRoundedIcon,\r\n numberIcon: state.tilesData.defectPercent,\r\n title: state.tilesData.defects || 0,\r\n subTittle: 'Defects',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: checkhaveAccess?.CanViewDefects ? '/maintenance/defects' : ''\r\n },\r\n {\r\n Icon: LocalTaxiRoundedIcon,\r\n numberIcon: state.tilesData.vorPercent,\r\n title: state.tilesData.vor || 0,\r\n subTittle: 'VOR',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: checkhaveAccess?.CanViewVOR ? {\r\n pathname: '/controller/vor',\r\n query: { FromDash: true }\r\n }:''\r\n }\r\n ];\r\n\r\n let MaintananceEvent = [\r\n {\r\n id: 5,\r\n Icon: LocalTaxiRoundedIcon,\r\n title: state.tilesData.serviceCount || 0,\r\n subTittle: 'Services',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/maintenance/schedules/S'\r\n },\r\n {\r\n id: 6,\r\n Icon: DirectionsCarIcon,\r\n title: state.tilesData.motCount || 0,\r\n subTittle: 'MOTs',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/maintenance/schedules/M'\r\n },\r\n {\r\n id: 7,\r\n Icon: BuildIcon,\r\n title: state.tilesData.inspectionCount || 0,\r\n subTittle: 'Inspections',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/maintenance/schedules/I'\r\n },\r\n {\r\n id: 8,\r\n Icon: FormatListBulletedIcon,\r\n title: state.tilesData.otherCount || 0,\r\n subTittle: 'Others',\r\n background: purpleColor,\r\n showDowBackground: purpleShadowColor,\r\n path: '/maintenance/schedules/O'\r\n }\r\n ];\r\n\r\n let FleetDash = [\r\n {\r\n Icon: AttachMoneyIcon,\r\n\r\n title: state.tilesData.taxCount || 0,\r\n subTittle: 'Tax',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/controller/Vehicles/T'\r\n },\r\n {\r\n Icon: CreditCardIcon,\r\n\r\n title: state.tilesData.insuranceCount || 0,\r\n subTittle: 'Insurance',\r\n background: purpleColor,\r\n showDowBackground: purpleShadowColor,\r\n path: '/controller/Vehicles/I'\r\n },\r\n {\r\n Icon: CheckIcon,\r\n\r\n title: state.tilesData.complianceCount || 0,\r\n subTittle: 'Compliance',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/schedule/outstandingdocuments'\r\n }\r\n ];\r\n\r\n let FleetSchedule = [\r\n {\r\n Icon: ErrorIcon,\r\n title: state.tilesData.bookingsRequested || 0,\r\n subTittle: 'Bookings Requested',\r\n background: yellowColor,\r\n showDowBackground: yellowShadowColor,\r\n path: '/schedule/bookingsrequsted'\r\n },\r\n {\r\n Icon: CheckIcon,\r\n title: state.tilesData.bookingsAccepted || 0,\r\n subTittle: 'Bookings Accepted',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/schedule/acceptedbyagents'\r\n },\r\n\r\n {\r\n Icon: ClearIcon,\r\n\r\n title: state.tilesData.bookingsRejected || 0,\r\n subTittle: 'Bookings Rejected',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/schedule/bookingsrejected'\r\n },\r\n {\r\n Icon: BuildIcon,\r\n title: state.tilesData.bookingsConfirmed || 0,\r\n subTittle: 'Bookings Confirmed',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/schedule/confirmedbookings'\r\n }\r\n ];\r\n\r\n let DriverCheck = [\r\n {\r\n Icon: ClearIcon,\r\n title: state.tilesData.dailyChecksFailed || 0,\r\n subTittle: 'Failed',\r\n background: redColor,\r\n showDowBackground: redShadowColor,\r\n path: '/customerDailyChecks/failed'\r\n },\r\n {\r\n Icon: ErrorIcon,\r\n title: state.tilesData.dailyChecksMonitored || 0,\r\n subTittle: 'Monitor',\r\n background: yellowColor,\r\n showDowBackground: yellowShadowColor,\r\n path: '/customerDailyChecks/monitor'\r\n },\r\n\r\n {\r\n Icon: CheckIcon,\r\n\r\n title: state.tilesData.dailyChecksPassed || 0,\r\n subTittle: 'Passed',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/customerDailyChecks/passed'\r\n },\r\n {\r\n Icon: BuildIcon,\r\n title: state.tilesData.dailyChecksUnreviewed || 0,\r\n subTittle: 'Unreviewed',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/customerDailyChecks/unreviwed'\r\n }\r\n ];\r\n\r\n let Jobs = [\r\n {\r\n Icon: CheckIcon,\r\n total: state.tilesData.jobsApprovedTotal || 0,\r\n title: state.tilesData.jobsApproved || 0,\r\n subTittle: 'Approved',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/serviceagent/CA'\r\n },\r\n {\r\n Icon: CheckIcon,\r\n total: state.tilesData.jobsInQueryTotal || 0,\r\n title: state.tilesData.jobsInQuery || 0,\r\n subTittle: 'In Query',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/serviceagent/CQ'\r\n },\r\n {\r\n Icon: CheckIcon,\r\n title: state.tilesData.jobsAwaitingApprovals || 0,\r\n total: state.tilesData.jobsAwaitingApprovalTotal || 0,\r\n subTittle: 'Awaiting Approvals',\r\n background: greenColor,\r\n showDowBackground: greenShadowColor,\r\n path: '/serviceagent/AR'\r\n }\r\n ];\r\n let ReportList = [\r\n {\r\n button: true,\r\n Icon: DashboardIcon,\r\n background: blueColor,\r\n showDowBackground: blueShadowColor,\r\n title: 'VOR',\r\n subTittle: ' Reporting',\r\n\r\n path: '/controller/VorReporting/'\r\n },\r\n {\r\n button: true,\r\n Icon: DashboardIcon,\r\n background: blueColor,\r\n showDowBackground: blueShadowColor,\r\n title: 'Defect',\r\n subTittle: 'Reporting',\r\n path: '/maintenance/defect/reporting/'\r\n },\r\n {\r\n button: true,\r\n Icon: DashboardIcon,\r\n background: blueColor,\r\n showDowBackground: blueShadowColor,\r\n title: 'Breakdown',\r\n subTittle: 'Reporting ',\r\n path: '/maintenance/breakdown/reporting/'\r\n }\r\n // {\r\n // button: true,\r\n // Icon: DashboardIcon,\r\n // background: blueColor,\r\n // showDowBackground: blueShadowColor,\r\n // title: 'Job',\r\n // subTittle: ' Reporting ',\r\n // path: '/job/job_Reporting'\r\n // }\r\n ];\r\n\r\n let setList = {\r\n 9: DowntimeDash,\r\n 10: MaintananceEvent,\r\n 14: FleetDash,\r\n 11: FleetSchedule,\r\n 12: Jobs,\r\n 13: DriverCheck,\r\n 16: ReportList\r\n };\r\n\r\n useEffect(async () => {\r\n let res = await getAllCustomerDashboard();\r\n const cards = res.data.filterdCustomer;\r\n pullDashboardData();\r\n setState((st) => ({\r\n ...st,\r\n tilesData: cards[0]\r\n }));\r\n }, []);\r\n\r\n const pullDashboardData = async () => {\r\n let dashRes = await getAllDashboardWidgets('customerdashboard');\r\n setState((st) => ({\r\n ...st,\r\n widgetList: dashRes?.data.displayStyles\r\n }));\r\n };\r\n\r\n function isNullCheck(val) {\r\n if (val) {\r\n return val;\r\n }\r\n return '0';\r\n }\r\n\r\n const handleFilter = () => {\r\n setState((st) => ({\r\n ...st,\r\n showFilter: !st.showFilter\r\n }));\r\n };\r\n\r\n useEffect(() => {\r\n var b = localStorage.getItem('_dashboard_');\r\n let val = JSON.parse(b);\r\n if (val) {\r\n setWidgets((st) => ({\r\n ...st,\r\n Grid_1: val?.gridObj.Grid_1,\r\n Grid_2: val?.gridObj.Grid_2,\r\n Grid_3: val?.gridObj.Grid_3,\r\n buttonID: val?.buttonID || 1\r\n }));\r\n }\r\n }, []);\r\n\r\n const PopUpCust = () => {\r\n const handleChange = (e) => {\r\n const { name, checked } = e.target;\r\n\r\n setChecked((st) => ({\r\n ...st,\r\n [name]: checked\r\n }));\r\n };\r\n\r\n return (\r\n \r\n {state.widgetList &&\r\n state.widgetList.map((m) => (\r\n \r\n \r\n {m.widgetName}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n Submit\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n \r\n {/* \r\n Widget Filter\r\n */}\r\n {state.widgetList?.length > 0 ? (\r\n state.widgetList.map((m, i) => {\r\n let gs = gridStyle[m.displayStyleID];\r\n let list = setList[m.widgetUsedID];\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 {state.showFilter ? (\r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default CustomerDashobard;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { getAllDriver } from '../../../Core/Services/InternalUser/ControllerService/driverService';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { EditButton, DataGrid, BreadCrumbs, formatters } from '../../../Core/Controls';\r\nimport AddEditDriver from '../../InternalUser/Controllers/Driver/addEditDriver';\r\nimport '../../commonStyle.scss';\r\nimport { Link } from 'react-router-dom';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { AppStorage } from '../../../Core/Basic/storage-service';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: '4%'\r\n },\r\n { key: 'driverFirstName', name: 'Name', width: '18%' },\r\n { key: 'driverDepotName', name: 'Depot Name', width: '18%' },\r\n {\r\n key: 'driverAddress1',\r\n name: 'Address',\r\n formatter: (data) => formatters.addressFormatter(data.row?.driveAddress1, data.row?.driveAddress2, data.row?.driverTown, data.row?.driverCounty)\r\n }\r\n];\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Drivers', active: true }\r\n];\r\n\r\nconst CustomerDriverScreen = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const { showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n DriverList: [],\r\n DriverID: null\r\n });\r\n\r\n const pullDriverAndUpdateState = async () => {\r\n setState((st) => ({ ...st, isReload: new Date() }));\r\n };\r\n\r\n useEffect(async () => {\r\n pullDriverAndUpdateState();\r\n }, []);\r\n\r\n const handleAdd = () => {\r\n setState((st) => ({\r\n ...st,\r\n show: true\r\n }));\r\n };\r\n\r\n const closeDriverModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullDriverAndUpdateState();\r\n };\r\n\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/editdriver/${val.driverID}/${val.driverFirstName}`,\r\n name: val.driverName\r\n });\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return handleEditClick(row)} />;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n let driverNameCol = tempCols.find((element) => element.key === 'driverFirstName');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (driverNameCol) {\r\n driverNameCol.formatter = (data) => data.row.driverFirstName + ' ' + data.row.driverLastName;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n return (\r\n
\r\n {state.show ? (\r\n \r\n ) : (\r\n <>\r\n \r\n ({\r\n records: res.data.drivers,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n onBtnClick={handleAdd}\r\n btnTitle={checkhaveAccess?.CanAddDrivers ? 'Add Driver' : null}\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\nexport default CustomerDriverScreen;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { BreadCrumbs, DataGrid, EditButton, formatters } from '../../../../Core/Controls';\r\nimport { getVechicleIDByRegNO } from '../../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport AddBreaddownModal from '../../../InternalUser/Maintenance/BreakDown/AddBreakdown'; //\"./AddBreakdown\";\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { Link } from 'react-router-dom';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n// import { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst baseCrumbs = [{ name: 'Home', path: '/' }, { name: 'Maintenance' }, { name: 'Breakdowns', active: true }];\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 120, addFileUploaderIcon: true },\r\n {\r\n key: 'defectDate',\r\n name: 'Date ',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 110\r\n },\r\n { key: 'defectNumberGenerated', name: 'Defect No', width: 100 },\r\n { key: 'defectDescription', name: 'Defect Details' },\r\n { key: 'defectContactName', name: 'Reported By', width: 150 },\r\n { key: 'defectJobStatusDescription', name: 'Status', width: 200 },\r\n { key: 'defectType', name: 'DefectType', width: 150 }\r\n];\r\n\r\nconst CustomerBreakDownDashboard = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const [state, setState] = useState({\r\n breakdownList: [],\r\n loader: true,\r\n modalToggle: false,\r\n breakID: null,\r\n rowVehicleID: null,\r\n filterVal: '',\r\n show: false,\r\n filterVehicleID: null\r\n });\r\n\r\n const handleBreakDown = (params, VehicleID, modalName) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: true,\r\n breakID: params,\r\n rowVehicleID: VehicleID,\r\n modalName: modalName\r\n }));\r\n };\r\n\r\n const closeModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n filterVal: '',\r\n modalToggle: false,\r\n show: false,\r\n breakID: null,\r\n rowVehicleID: null\r\n }));\r\n res && pullBreakDownAndUpdateState();\r\n };\r\n\r\n useEffect(async () => {\r\n if (!props.VehicleID) {\r\n if (state.filterVal.length > 4) {\r\n let resBrekDown = await getVechicleIDByRegNO(state.filterVal);\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (resBrekDown.data?.list) {\r\n newSt.show = resBrekDown.success;\r\n newSt.filterVehicleID = resBrekDown.data?.list[0].vehicleID;\r\n newSt.isReload = new Date();\r\n } else {\r\n newSt.show = false;\r\n }\r\n return newSt;\r\n });\r\n } else {\r\n setState((st) => ({ ...st, show: false }));\r\n }\r\n\r\n // pullBreakDownAndUpdateState();\r\n }\r\n }, [state.filterVal, props.match]);\r\n\r\n useEffect(() => {\r\n pullBreakDownAndUpdateState();\r\n }, []);\r\n\r\n const pullBreakDownAndUpdateState = async () => {\r\n let defecttypecode = '';\r\n if (props.VehicleID) {\r\n defecttypecode = '';\r\n }\r\n if (props?.match?.params?.all == 'typebo') {\r\n defecttypecode = 'bo';\r\n }\r\n if (props?.match?.params?.all == 'typebr') {\r\n defecttypecode = 'br';\r\n }\r\n if (props?.match?.params?.all == ':all') {\r\n defecttypecode = '';\r\n }\r\n setState((st) => ({ ...st, defecttypecode: defecttypecode }));\r\n };\r\n\r\n let urlForcondition = `VehicleBreakdowns/?${props.VehicleID ? `VehicleID=${props.VehicleID}` : ''}defecttypecode=${state.defecttypecode}`;\r\n\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/jobTabScreen/${val?.defectJobID}/${val?.defectVehicleID}`,\r\n state: 'breakdown'\r\n });\r\n };\r\n\r\n const handleEditBreakdown = (val) => {\r\n props.history.push({\r\n pathname: `/maintenance/breakdowns/Edit/${val?.defectID}/${val?.defectVehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n \r\n handleBreakDown(row.defectID, row.defectVehicleID, 'Edit')}\r\n onClick={() => handleEditBreakdown(row)}\r\n />\r\n {/* handleBreakDown(row.defectID, row.defectVehicleID, 'Edit')} /> */}\r\n {checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)}\r\n />\r\n )}\r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n if (!props.VehicleID) {\r\n tempCols.splice(1, 0, { key: 'defectRegNumber', name: 'Reg Number', width: 110 });\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n\r\n const crumbs = useMemo(() => {\r\n const tempCols = [...baseCrumbs];\r\n let actionCol = tempCols.find((element) => element.name === 'Breakdowns');\r\n if (actionCol) {\r\n actionCol.onClick = closeModal;\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n const gridBtnTitle = !state.show && !props.VehicleID ? '' : 'Add Breakdown';\r\n\r\n const inputChange = (e) => {\r\n const value = e.target.value;\r\n setState((st) => ({\r\n ...st,\r\n filterVal: value\r\n }));\r\n };\r\n\r\n return (\r\n
\r\n {props.frompage !== 'Vehicles' ? (\r\n
\r\n
\r\n \r\n
\r\n   \r\n {!state.breakID || !state.rowVehicleID ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n ) : null}\r\n {state.modalToggle ? (\r\n <>\r\n
\r\n closeModal(true)}\r\n breakDownID={state.breakID}\r\n isAddJobBtnShow={true}\r\n modalName={state.modalName}\r\n />\r\n \r\n ) : (\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle={gridBtnTitle}\r\n onBtnClick={() => handleBreakDown(null, state.filterVehicleID, 'Add')}\r\n idFieldName=\"defectID\"\r\n fileUploaderConfigName=\"BreakdownScreen\"\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default CustomerBreakDownDashboard;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport AddEditDefectModal from '../../../InternalUser/Maintenance/Defects/addEditDefectScreen';\r\nimport { getVechicleIDByRegNO } from '../../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport DefectEditDetails from '../../../InternalUser/Maintenance/Defects/DefectEditDetails';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst modalgridStyle = {\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\n\r\nconst baseCrumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Maintenance', active: true },\r\n { name: 'Defects', path: '/', active: true }\r\n];\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 120, addFileUploaderIcon: true },\r\n {\r\n key: 'defectDate',\r\n name: 'Date ',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 110\r\n },\r\n { key: 'defectNumberGenerated', name: 'Defect No', width: 90 },\r\n { key: 'defectDescription', name: 'Defect Details' },\r\n { key: 'defectContactName', name: 'Reported By', width: 150 },\r\n { key: 'defectJobStatusDescription', name: 'Status', width: 200 },\r\n { key: 'defectType', name: 'DefectType', width: 150 }\r\n];\r\n\r\nconst CustomerDefectsScreen = (props) => {\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n rowVehicleID: null,\r\n defectID: null,\r\n List: [],\r\n showLoader: true,\r\n fromPage: 'Defects',\r\n filterVal: '',\r\n filterVehicleID: null\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n useEffect(async () => {\r\n if (props.frompage === 'Vehicles') {\r\n setState((st) => ({\r\n ...st,\r\n fromPage: props.frompage\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(async () => {\r\n if (!props.VehicleID) {\r\n if (state.filterVal.length > 4) {\r\n let resBrekDown = await getVechicleIDByRegNO(state.filterVal);\r\n\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (resBrekDown.data?.list) {\r\n newSt.show = resBrekDown.success;\r\n newSt.filterVehicleID = resBrekDown.data?.list[0].vehicleID;\r\n newSt.isReload = new Date();\r\n } else {\r\n newSt.show = false;\r\n }\r\n return newSt;\r\n });\r\n } else {\r\n setState((st) => ({ ...st, show: false }));\r\n }\r\n }\r\n }, [state.filterVal]);\r\n\r\n const pullDefects = async () => {\r\n setState((st) => ({ ...st, isReload: new Date() }));\r\n };\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/jobTabScreen/${val?.defectJobID}/${val?.defectVehicleID}`,\r\n state: 'defects'\r\n });\r\n };\r\n const handleEditDefect = (val) => {\r\n props.history.push({\r\n pathname: `/maintenance/defect/edit/${val?.defectID}/${val?.defectVehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n const renderEdit = (data, row) => {\r\n return (\r\n
\r\n handleUpdate(row.defectID, row.defectVehicleID, 'modalEditDetail')}\r\n onClick={() => handleEditDefect(row)}\r\n />\r\n {/* handleUpdate(row.defectID, row.defectVehicleID, 'modalEditDetail')} /> */}\r\n {checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)}\r\n />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n let urlForcondition = `VehicleDefects${props.VehicleID ? `?VehicleID=${props.VehicleID}` : ''}`;\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n if (!props.VehicleID) {\r\n tempCols.splice(1, 0, { key: 'defectRegNumber', name: 'Reg Number', width: 110 });\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleUpdate = (defectID, VehicleID, modalName) => {\r\n setState((state) => ({ ...state, defectID: defectID, rowVehicleID: VehicleID, [modalName]: true }));\r\n };\r\n\r\n const closeModalHandler = (res, modalName) => {\r\n setState((state) => ({ ...state, [modalName]: false }));\r\n res && pullDefects();\r\n };\r\n\r\n const crumbs = useMemo(() => {\r\n const tempCols = [...baseCrumbs];\r\n let actionCol = tempCols.find((element) => element.name === 'Defects');\r\n if (actionCol) {\r\n actionCol.onClick = closeModalHandler;\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n\r\n const inputChange = (e) => {\r\n const value = e.target.value;\r\n setState((st) => ({\r\n ...st,\r\n filterVal: value\r\n }));\r\n };\r\n\r\n const gridBtnTitle = !state.show && !props.VehicleID ? '' : 'Add Defect';\r\n\r\n return (\r\n
\r\n {state.modalToggle ? (\r\n closeModalHandler(true, 'modalToggle')}\r\n fromPage={state.fromPage}\r\n isAddJobBtnShow={true}\r\n />\r\n ) : state.modalEditDetail ? (\r\n closeModalHandler(true, 'modalEditDetail')}\r\n fromPage={state.fromPage}\r\n />\r\n ) : (\r\n <>\r\n
\r\n
{!props.VehicleID && }
\r\n   \r\n
\r\n \r\n
\r\n
\r\n {/* {!props.VehicleID && }s */}\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle={gridBtnTitle}\r\n onBtnClick={() => handleUpdate(null, state.filterVehicleID, 'modalToggle')}\r\n idFieldName=\"defectID\"\r\n fileUploaderConfigName=\"DefectScreen\"\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default CustomerDefectsScreen;\r\n","import { getWithAuth } from '../../../Basic/HttpService';\r\n\r\nexport const getAllVehicleCheckDaily = async () => {\r\n let res = await getWithAuth(`VehicleDailyCheck/list`);\r\n return res;\r\n};\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport { getAllVehicleCheckDaily } from '../../../../Core/Services/InternalUser/Maintenance/VehicleCheckDaily';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\n\r\nconst modalgridStyle = {\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\n\r\nconst crumbs = [{ name: 'Home', path: '/' }, { name: 'Maintenance' }, { name: 'Vehicle Checks', path: '/', active: true }];\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 110, addFileUploaderIcon: true },\r\n { key: 'vehicleRegNumber', name: 'Reg Number' },\r\n { key: 'vehicleDailyCheckDateCheck', name: 'Date of check', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'vehicleDailyCheckResult', name: 'Result' },\r\n { key: 'vehicleDailyCheckMileage', name: 'mileage ' },\r\n { key: 'vehicleDailyCheckDriverComment', name: 'Driver comments' }\r\n];\r\n\r\nconst CustomerVehicleCheckDaily = (props) => {\r\n const [state, setState] = useState({ modalToggle: false, rowVehicleID: null, defectID: null, List: [], showLoader: true });\r\n\r\n useEffect(async () => {\r\n pullDefects();\r\n }, []);\r\n\r\n const pullDefects = async () => {\r\n let res = await getAllVehicleCheckDaily();\r\n if (props.frompage === 'Vehicles') {\r\n setState((st) => ({\r\n ...st,\r\n List: res.data.list,\r\n showLoader: false,\r\n fromPage: props.frompage\r\n }));\r\n }\r\n };\r\n\r\n const renderEdit = (data) => {\r\n return (\r\n
\r\n alert('Update Pending')} />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n return (\r\n
\r\n {!props.VehicleID && }\r\n\r\n {state.modalToggle ? (\r\n
Update popup
\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default CustomerVehicleCheckDaily;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport DataGrid from '../../../../Core/Controls/Grid/index';\r\nimport { EditButton, formatters, BreadCrumbs } from '../../../../Core/Controls';\r\nimport DialogBox from '../../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleEdit';\r\nimport ScheduleNotes from '../../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleNotes';\r\nimport ScheduleBookingStatus from '../../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleBookingStatus';\r\nimport ScheduleBookingSection from '../../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleBookingSection';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport NoteIcon from '@material-ui/icons/Note';\r\nimport EventIcon from '@material-ui/icons/Event';\r\nimport ConfirmationNumberIcon from '@material-ui/icons/ConfirmationNumber';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport '../../../commonStyle.scss';\r\nimport '../../../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleStyle.scss';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { useLoginInfo } from '../../../../Core/Hooks/useLoginInfo';\r\n\r\nimport { getAllVehicleSchedules } from '../../../../Core/Services/InternalUser/Maintenance/scheduleService';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport moment from 'moment';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\nimport ReactDOM from 'react-dom';\r\nimport ServiceAgentDetails from '../../../InternalUser/Controllers/DetailsModal/serviceAgent';\r\nimport PostAddIcon from '@material-ui/icons/PostAdd';\r\nimport RequiredDocumentsModal from '../../../ServiceAgent/Schedules/requiredDocumentsModal';\r\n\r\nconst crumbsServiceAgent = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Schedules', active: true }\r\n];\r\n\r\nconst baseCrumbs = [\r\n { name: 'Home', path: '/' },\r\n // { name: \"Maintenance\", path: \"/\", active: true },\r\n { name: 'Schedules', active: true }\r\n];\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 105, addFileUploaderIcon: true },\r\n { key: 'vehicleRegNumber', name: 'Reg Number', width: 120 },\r\n { key: 'scheduleEventName', name: 'Event', width: 140 },\r\n {\r\n key: 'scheduleDateDue',\r\n name: 'Due',\r\n width: 100\r\n },\r\n {\r\n key: 'scheduleRequestedBookingDate',\r\n name: 'Requested',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 90\r\n // width: 150\r\n },\r\n {\r\n key: 'bookingDate',\r\n name: 'Booked',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 120\r\n },\r\n // {\r\n // key: 'schedulePrepDate',\r\n // name: 'Prep Date',\r\n // formatter: formatters.Date_DDMMYYYY\r\n // },\r\n {\r\n key: 'scheduleCompletionDate',\r\n name: 'Completed',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 140\r\n },\r\n { key: 'depotName', name: 'Depot' },\r\n {\r\n key: 'agentName',\r\n name: 'Agent'\r\n },\r\n { key: 'scheduleBookingStatus', name: 'Status' }\r\n];\r\n\r\nconst CustomerAllVehicleSchedules = (props) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n isAdd: true,\r\n isReload: null\r\n });\r\n\r\n const { userRoles } = useLoginInfo();\r\n let history = useHistory();\r\n const isServiceAgent = userRoles.includes('serviceagent');\r\n const pos = isServiceAgent ? 's' : 'm';\r\n\r\n const [openDialog, setOpenDialog] = useState({});\r\n useEffect(async () => {\r\n pullApiData();\r\n }, [props.match.params?.all]);\r\n\r\n const pullApiData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n // let res = await getAllVehicleSchedules(props.match.params?.all);\r\n // setState((st) => ({\r\n // ...st,\r\n // rows: [...(res.data.schedules || [])],\r\n // showLoader: false\r\n // }));\r\n };\r\n\r\n const handleEditRegClick = (val) => {\r\n history.push({\r\n pathname: `/controller/editVehicle/${val.scheduleVehicleID}`,\r\n search: '',\r\n state: { fileCount: val.fileCount }\r\n });\r\n };\r\n const renderEdit = (ev, row) => {\r\n return (\r\n
\r\n {row?.scheduleBookingStatusID == 5 && checkhaveAccess?.CanViewDocuments && (\r\n {\r\n checkButton(row, 'showRequiredDocumentsModal');\r\n }}\r\n toolTipTitle=\"Required Documents\"\r\n />\r\n )}\r\n {row?.displayNotes === 'Y' && (\r\n {\r\n checkButton(row, 'notes');\r\n }}\r\n toolTipTitle=\"Notes\"\r\n />\r\n )}\r\n\r\n {row?.displayBookingRequest === 'Y' && (\r\n {\r\n checkButton(row, 'status');\r\n }}\r\n toolTipTitle=\"Update Booking Request\"\r\n />\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const dateFormatter = (date) => {\r\n return date ? moment(date).format('DD/MM/YYYY') : '--:--';\r\n };\r\n\r\n const handelRowCick = (row, name) => {\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n [name]: true\r\n }));\r\n };\r\n\r\n const renderRegNumberEdit = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handleEditRegClick(row)}>\r\n {row.vehicleRegNumber}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const renderAgentName = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
handelRowCick(row, 'showSaModal')} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.agentName}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n\r\n const dueDateFormatter = ({ row, column }) => {\r\n let textColor = 'black';\r\n let textWight = '';\r\n const dueDate = row.scheduleDateDue;\r\n const completionDate = row.scheduleCompletionDate;\r\n\r\n const dtDueIn = moment(dueDate);\r\n const daysPast = moment().diff(dtDueIn, 'days');\r\n\r\n if (!completionDate && daysPast > 0) {\r\n textColor = 'red';\r\n textWight = 'bold';\r\n }\r\n return `
${dateFormatter(dueDate)}
`;\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n let dateDueCol = tempCols.find((e) => e.key === 'scheduleDateDue');\r\n let regNumberCol = tempCols.find((element) => element.key === 'vehicleRegNumber');\r\n let agentCol = tempCols.find((element) => element.key === 'agentName');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n if (dateDueCol) {\r\n dateDueCol.formatter = dueDateFormatter;\r\n }\r\n if (regNumberCol) {\r\n regNumberCol.formatter = renderRegNumberEdit;\r\n }\r\n if (agentCol) {\r\n agentCol.formatter = renderAgentName;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const crumbsMaintenance = useMemo(() => {\r\n const tempCrums = [...baseCrumbs];\r\n if (props.match.params?.all === 'M') {\r\n tempCrums.push({ name: 'MOTs' });\r\n } else if (props.match.params?.all === 'I') {\r\n tempCrums.push({ name: 'Overdue Inspections' });\r\n } else if (props.match.params?.all === 'S') {\r\n tempCrums.push({ name: 'Overdue Services' });\r\n } else if (props.match.params?.all === 'O') {\r\n tempCrums.push({ name: 'Overdue Other Schedules' });\r\n } else {\r\n tempCrums.push({ name: 'All Schedules', active: true });\r\n }\r\n return tempCrums;\r\n }, [props.match.params?.all]);\r\n\r\n const addBtnClicked = () => {\r\n setState((st) => ({\r\n ...st,\r\n open: true,\r\n isAdd: true,\r\n selectedRowData: {}\r\n }));\r\n };\r\n const handleClose = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n selectedRowData: {}\r\n }));\r\n res && pullApiData();\r\n };\r\n const closeTheDialog = (res) => {\r\n setOpenDialog({});\r\n res && pullApiData();\r\n };\r\n\r\n const checkButton = (row, label) => {\r\n setOpenDialog({ [label]: true });\r\n setState((st) => ({\r\n ...st,\r\n selectedRowData: row,\r\n scheduleVehicleID: row.scheduleVehicleID\r\n }));\r\n };\r\n\r\n // const handleCloseModal = () => {\r\n // setState((st) => ({\r\n // ...st,\r\n // showSaModal: false\r\n // }));\r\n // };\r\n\r\n const handleCloseModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showSaModal: false,\r\n showCustomerModal: false,\r\n showDepotModal: false\r\n }));\r\n res && pullApiData();\r\n };\r\n\r\n let getUrl = `Schedules?mode=${props.match.params?.all}`;\r\n\r\n return (\r\n
\r\n \r\n {/* */}\r\n\r\n ({\r\n records: res.data.schedules,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n getUrl={getUrl}\r\n downloadBtnName=\"All Schedules\"\r\n />\r\n\r\n {state.open ? (\r\n {\r\n handleClose(false);\r\n }}\r\n title={state.isAdd ? 'Add Schedule' : 'Edit Schedule'}\r\n maxWidth=\"sm\"\r\n name=\"addEdit\"\r\n >\r\n {\r\n handleClose(true);\r\n }}\r\n />\r\n \r\n ) : null}\r\n {openDialog.notes ? (\r\n \r\n \r\n \r\n ) : null}\r\n {openDialog.status ? (\r\n \r\n \r\n \r\n ) : null}\r\n {openDialog.section ? (\r\n \r\n \r\n \r\n ) : null}\r\n {state.showSaModal ? (\r\n \r\n \r\n \r\n ) : null}\r\n {openDialog.showRequiredDocumentsModal ? (\r\n closeTheDialog(false)} title={'Required Documents'} maxWidth=\"sm\" fullWidth>\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default CustomerAllVehicleSchedules;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { getAllVehicle } from '../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { EditButton, DataGrid, BreadCrumbs, formatters } from '../../../Core/Controls';\r\nimport AddEditVehicle from '../../InternalUser/Controllers/Vehicles/addEditVehicle';\r\nimport EditVehicle from '../../InternalUser/Controllers/Vehicles/editVehicle';\r\n\r\nimport '../../commonStyle.scss';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 90,\r\n addFileUploaderIcon: true\r\n },\r\n { key: 'vehicleRegNumber', name: 'Reg Number', width: 110 },\r\n { key: 'vehicleMakeModel', name: 'Make/Model' },\r\n {\r\n key: 'vehicleDateOfRegistration',\r\n name: 'Date Of Reg',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 110\r\n },\r\n {\r\n key: 'vehicleMOTExpiry',\r\n name: 'MOT Expiry',\r\n formatter: formatters.dueDateFormatter,\r\n width: 110\r\n },\r\n {\r\n key: 'vehicleTaxDue',\r\n name: 'Tax Due',\r\n formatter: formatters.dueDateFormatter,\r\n width: 110\r\n }\r\n];\r\n\r\nconst baseCrumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', active: true }\r\n];\r\n\r\nconst CustomerVehicleScreen = (props) => {\r\n const { showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showEditPopup: false,\r\n showLoader: true,\r\n vehicleList: [],\r\n VehicleID: null,\r\n id: props.match.params?.all\r\n });\r\n\r\n const pullVehicleAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n pullVehicleAndUpdateState();\r\n }, [props.match.params?.all]);\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true\r\n // VehicleID: record.vehicleID\r\n }));\r\n };\r\n\r\n const closeVehicleModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullVehicleAndUpdateState();\r\n };\r\n const handleEditClick = (val) => {\r\n props.history.push({\r\n pathname: `/controller/editVehicle/${val.vehicleID}/${val.vehicleRegNumber}`\r\n });\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n
\r\n handleEditClick(row)} />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n\r\n const crumbs = useMemo(() => {\r\n const tempCrums = [...baseCrumbs];\r\n if (props.match.params?.all === 'T') {\r\n tempCrums.push({ name: 'Tax Due' });\r\n }\r\n if (props.match.params?.all === 'I') {\r\n tempCrums.push({ name: 'Insurance' });\r\n }\r\n return tempCrums;\r\n }, [props.match.params?.all]);\r\n\r\n const title = state.VehicleID ? 'Update Vehicle' : 'Add Vehicle';\r\n\r\n return (\r\n
\r\n {state.show ? (\r\n closeVehicleModal(true)} />\r\n ) : (\r\n <>\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n btnTitle=\"Add Vehicle\"\r\n onBtnClick={handleAdd}\r\n idFieldName=\"vehicleID\"\r\n fileUploaderConfigName=\"VehicleScreen\"\r\n />\r\n \r\n )}\r\n {state.showEditPopup ? : null}\r\n
\r\n );\r\n};\r\nexport default CustomerVehicleScreen;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { getAllVehicleJob, getAllJob } from '../../../../Core/Services/InternalUser/JOB/jobService';\r\nimport DataGrid from '../../../../Core/Controls/Grid';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport { BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport JobScreenModal from '../../../InternalUser/Controllers/JOBS/JobScreenModal';\r\nimport { Link } from 'react-router-dom';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { AppStorage } from '../../../../Core/Basic/storage-service';\r\n\r\nconst base_columns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'jobDate', name: 'Date', formatter: formatters.Date_DDMMYYYY },\r\n { key: 'jobAgentOrderNo', name: 'Job Ref' },\r\n { key: 'jobDescription', name: 'Job Description' },\r\n // { key: 'serviceAgentName', name: 'Service Agent' },\r\n { key: 'depotName', name: 'Depots' },\r\n {\r\n key: 'jobPartsTotal',\r\n name: 'Parts',\r\n formatter: formatters.NumberWithPound,\r\n align: 'right'\r\n },\r\n {\r\n key: 'jobLabourTotal',\r\n name: 'Labour',\r\n formatter: formatters.NumberWithPound,\r\n align: 'right'\r\n },\r\n { key: 'jobOrderTotal', name: 'Total', formatter: formatters.NumberWithPound, align: 'right' }\r\n];\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Jobs', active: true },\r\n { name: 'All Jobs', active: true }\r\n];\r\n\r\nfunction CustomerJobScreen(props) {\r\n const [state, setState] = useState({\r\n jobList: [],\r\n loader: true,\r\n open: false,\r\n isReload: null\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const pullJobList = async () => {\r\n setState((state) => ({\r\n ...state,\r\n isReload: new Date(),\r\n loader: false\r\n }));\r\n };\r\n\r\n const jobHandler = (params) => {\r\n setState((state) => ({ ...state, open: true }));\r\n };\r\n\r\n const handleEditClick = (row) => {\r\n props.history.push({\r\n pathname: `/controller/jobTabScreen/${row?.jobID}/${props.VehicleID ? props.VehicleID : row?.jobVehicleID}`,\r\n state: 'jobs'\r\n });\r\n };\r\n\r\n const ActionButtons = (data, row) => {\r\n return (\r\n
\r\n {/* */}\r\n {checkhaveAccess?.CanViewJobs && (\r\n handleEditClick(row)} />\r\n )}{' '}\r\n {/* */}\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n let newColumn = [...base_columns];\r\n let actionCol = newColumn.find((item) => item.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = ActionButtons;\r\n }\r\n if (!props.VehicleID) {\r\n newColumn.splice(3, 0, { key: 'jobRegNumber', name: 'Registration' });\r\n }\r\n return newColumn;\r\n });\r\n\r\n const closeModal = (res) => {\r\n setState((state) => ({ ...state, open: false }));\r\n res && pullJobList();\r\n };\r\n\r\n const gridBtnTitle = !props.VehicleID ? '' : 'Add Job';\r\n\r\n return (\r\n
\r\n {state.open ? (\r\n closeModal(false)} title=\"Add Job\" maxWidth=\"md\">\r\n closeModal(true)} />\r\n \r\n ) : (\r\n <>\r\n {!props.VehicleID && }\r\n\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n />\r\n \r\n )}\r\n
\r\n );\r\n}\r\nexport default CustomerJobScreen;\r\n","import React, { useEffect, useState, useCallback } from 'react';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { addDepot, updateDepot, getDepotById, getDropdown } from '../../../../Core/Services/InternalUser/ControllerService/depotsService';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, Typography } from '@material-ui/core';\r\nimport { SelectBox, SecondaryButton, SecondaryCheckbox, BreadCrumbs, MandatoryField, SimpleField, YesButton, NoButton } from '../../../../Core/Controls';\r\nimport { emailValidation, validatePostCode } from '../../../../Core/Basic/StaticService';\r\nimport { isNull } from 'lodash';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { Postcode } from '../../../../Core/Controls';\r\nimport '../../../InternalUser/Controllers/controllerStyle.scss';\r\n\r\nconst FlaggedBox = (props) => {\r\n useEffect(() => {\r\n !props.chkValue && props.resetInput(props.txtName);\r\n }, [props.chkValue]);\r\n return (\r\n <>\r\n {props.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\nconst ScheduleDetails = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n // const crumbs = [\r\n // { name: 'Home', path: '/' },\r\n // { name: 'Depots', active: true }\r\n // ];\r\n\r\n const [depotFields, setDepotFields] = useState({\r\n name: '',\r\n address1: '',\r\n address2: '',\r\n depotTown: '',\r\n depotCounty: '',\r\n depotCountyCode: '',\r\n depotEmail: '',\r\n depotTelephone: '',\r\n depotPostCode: '',\r\n depotNotInUse: true,\r\n depotCustomersRef: '',\r\n serviceAgentID: '',\r\n firstDayofWeek: '',\r\n scheduleBookingModeList: [],\r\n depotVORMobileNumbers: '',\r\n depotContact: '',\r\n depotServiceAgentID: '',\r\n depotAgentSecondaryAgentID: '',\r\n serviceAgentsList: [],\r\n errors: {},\r\n customerList: [],\r\n depotID: null,\r\n depotCustomerID: '',\r\n mergeSchedules: true,\r\n displayISOWeek: true,\r\n addPaperworkReceived: true,\r\n trafficStyleColourCoding: true,\r\n mergeRange: '',\r\n sunday: false,\r\n monday: true,\r\n tuesday: false,\r\n wednesday: false,\r\n thursday: false,\r\n friday: false,\r\n saturday: false,\r\n depotAdditionalPlanningEmails: '',\r\n cPCHolderEmail: '',\r\n cPCHolderName: '',\r\n secondaryEmail: '',\r\n depotSecondaryContact: '',\r\n depotPCNEmail: '',\r\n depotAccountName: '',\r\n depotAccountEmail: '',\r\n depotThirdPartyPlannerEmailAddress: '',\r\n depotBreakdownNotificationEmail: '',\r\n depotTimedVehicleStatusUpdateEmail: '',\r\n depotSchedulePlannerEmail: '',\r\n depotNotes: '',\r\n depotScheduleBookingMode: ''\r\n });\r\n\r\n // const [depotFields, setDepotFields] = useState({});\r\n\r\n useEffect(async () => {\r\n let res = await getDropdown();\r\n const scheduleBookingModeList = res.data.scheduleBookingModes.map((item) => ({\r\n id: item.scheduleBookingModeCode,\r\n name: item.scheduleBookingModeDescription\r\n }));\r\n\r\n let custRes = await getDropdown();\r\n const List = custRes.data.customers.map((item) => ({\r\n id: item.customerID,\r\n name: item.customerCompanyName\r\n }));\r\n setDepotFields((st) => ({\r\n ...st,\r\n scheduleBookingModeList: scheduleBookingModeList,\r\n serviceAgentsList: res.data.serviceAgents,\r\n customerList: List\r\n }));\r\n if (props.depotID) {\r\n let res = await getDepotById(props.depotID);\r\n const data = res.data?.details[0];\r\n\r\n setDepotFields((st) => ({\r\n ...st,\r\n name: data.depotName,\r\n address1: data.depotAddress1,\r\n address2: data.depotAddress2,\r\n depotCounty: data.depotCounty,\r\n depotTown: data.depotTown,\r\n depotCountyCode: data.depotCountryCode,\r\n depotEmail: data.depotEmail,\r\n depotCustomersRef: data.depotCustomersRef,\r\n scheduleBookingModeID: data.scheduleBookingModeID,\r\n depotPostCode: data.depotPostCode,\r\n depotTelephone: data.depotTelephone,\r\n depotContact: data.depotContact,\r\n depotNotInUse: data.depotNotInUse,\r\n firstDayofWeek: data.depotFirstDayofWeek,\r\n depotVORMobileNumbers: data.depotVORMobileNumbers,\r\n depotServiceAgentID: data.depotPrimaryAgentID,\r\n depotAgentSecondaryAgentID: data.depotAgentSecondaryAgentID,\r\n depotID: data.depotID,\r\n depotCustomerID: data.depotCustomerID,\r\n scheduleBookingModeID: data.scheduleBookingModeID,\r\n MergeSchedules: data.depotPlannerMergeSchedules,\r\n displayISOWeek: data.depotPlannerDisplayISOWeek,\r\n addPaperworkReceived: data.depotPlannerAddPaperworkReceived,\r\n trafficStyleColourCoding: data.depotPlannerTrafficStyleColourCoding,\r\n mergeRange: data.depotPlannerMergeRange,\r\n sunday: data.depotBookingPreferenceSunday,\r\n monday: data.depotBookingPreferenceMonday,\r\n tuesday: data.depotBookingPreferenceTuesday,\r\n wednesday: data.depotBookingPreferenceWednesday,\r\n thursday: data.depotBookingPreferenceThursday,\r\n friday: data.depotBookingPreferenceFriday,\r\n saturday: data.depotBookingPreferenceSaturday,\r\n depotAdditionalPlanningEmails: data.depotAdditionalPlanningEmails,\r\n cPCHolderEmail: data.depotCPCHolderEmail,\r\n cPCHolderName: data.depotCPCHolderName,\r\n secondaryEmail: data.depotSecondaryEmail,\r\n depotSecondaryContact: data.depotSecondaryContact,\r\n depotPCNEmail: data.depotPCNEmail,\r\n depotAccountName: data.depotAccountName,\r\n depotAccountEmail: data.depotAccountEmail,\r\n depotContactMobile: data.depotContactMobile,\r\n depotThirdPartyPlannerEmailAddress: data.depotThirdPartyPlannerEmailAddress,\r\n depotScheduleBookingMode: data.depotScheduleBookingMode,\r\n depotBreakdownNotificationEmail: data.depotBreakdownNotificationEmail,\r\n depotTimedVehicleStatusUpdateEmail: data.depotTimedVehicleStatusUpdateEmail,\r\n depotSchedulePlannerEmail: data.depotSchedulePlannerEmail,\r\n depotNotes: data.depotNotes,\r\n depotVehicleStatusUpdateEmail: data.depotVehicleStatusUpdateEmail,\r\n depotSendOverdueReminderEmail: depotFields.depotSendOverdueReminderEmail,\r\n depotOverdueReminderEmail: depotFields.depotOverdueReminderEmail\r\n }));\r\n }\r\n }, []);\r\n\r\n const handledepotFields = (e) => {\r\n const { name, value } = e.target;\r\n setDepotFields((st) => ({ ...st, [name]: value }));\r\n };\r\n\r\n const handleActive = (val) => {\r\n setDepotFields((field) => ({\r\n ...field,\r\n depotNotInUse: val\r\n }));\r\n };\r\n\r\n const handleCheckbox = useCallback((e) => {\r\n const { name, checked } = e.target;\r\n setDepotFields((st) => {\r\n const nst = { ...st, [name]: checked };\r\n return nst;\r\n });\r\n }, []);\r\n\r\n const validations = () => {\r\n const {\r\n name,\r\n address1,\r\n address2,\r\n depotCounty,\r\n depotTown,\r\n depotPostCode,\r\n depotCountyCode,\r\n depotEmail,\r\n depotTelephone,\r\n depotContact,\r\n depotVehicleStatusUpdateEmail\r\n } = depotFields;\r\n\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!/[^\\s]/.test(name)) {\r\n errors.name = 'Depot Name is required.';\r\n formIsValid = false;\r\n }\r\n if (!/[^\\s]/.test(address1)) {\r\n errors.address1 = 'Depot Address1 is required.';\r\n formIsValid = false;\r\n }\r\n\r\n if (!/[^\\s]/.test(depotCounty)) {\r\n errors.depotCounty = 'Depot county is required.';\r\n formIsValid = false;\r\n }\r\n\r\n // if (!validatePostCode(depotPostCode)) {\r\n // errors.depotPostCode = `Please fill valid post code, \"Ex: BB11AA\"`;\r\n // formIsValid = false;\r\n // }\r\n\r\n // if (!depotFields.depotCustomerID) {\r\n // errors.depotCustomerID = 'Customer is required.';\r\n // formIsValid = false;\r\n // }\r\n setDepotFields((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (validations()) {\r\n const depotData = {\r\n depotID: depotFields.depotID,\r\n depotCustomerID: null,\r\n depotName: depotFields.name,\r\n depotAddress1: depotFields.address1,\r\n depotAddress2: depotFields.address2,\r\n depotCounty: depotFields.depotCounty,\r\n depotTown: depotFields.depotTown,\r\n depotCountryCode: depotFields.depotCountyCode,\r\n depotEmail: depotFields.depotEmail,\r\n depotCustomersRef: depotFields.depotCustomersRef,\r\n depotPostCode: depotFields.depotPostCode,\r\n depotTelephone: depotFields.depotTelephone,\r\n depotContact: depotFields.depotContact,\r\n depotNotInUse: depotFields.depotNotInUse,\r\n depotPrimaryAgentID: depotFields.depotServiceAgentID,\r\n depotAgentSecondaryAgentID: depotFields.depotAgentSecondaryAgentID,\r\n depotVORMobileNumbers: depotFields.depotVORMobileNumbers,\r\n depotPlannerMergeSchedules: depotFields.mergeSchedules,\r\n depotPlannerDisplayISOWeek: depotFields.displayISOWeek,\r\n depotPlannerAddPaperworkReceived: depotFields.addPaperworkReceived,\r\n depotPlannerTrafficStyleColourCoding: depotFields.trafficStyleColourCoding,\r\n depotPlannerMergeRange: depotFields.mergeRange,\r\n depotBookingPreferenceSunday: depotFields.sunday,\r\n depotBookingPreferenceMonday: depotFields.monday,\r\n depotBookingPreferenceTuesday: depotFields.tuesday,\r\n depotBookingPreferenceWednesday: depotFields.wednesday,\r\n depotBookingPreferenceThursday: depotFields.thursday,\r\n depotBookingPreferenceFriday: depotFields.friday,\r\n depotBookingPreferenceSaturday: depotFields.saturday,\r\n depotAdditionalPlanningEmails: depotFields.depotAdditionalPlanningEmails,\r\n depotCPCHolderEmail: depotFields.cPCHolderEmail,\r\n depotCPCHolderName: depotFields.cPCHolderName,\r\n depotSecondaryEmail: depotFields.secondaryEmail,\r\n depotSecondaryContact: depotFields.depotSecondaryContact,\r\n depotPCNEmail: depotFields.depotPCNEmail,\r\n depotAccountName: depotFields.depotAccountName,\r\n depotContactMobile: depotFields.depotContactMobile,\r\n depotAccountEmail: depotFields.depotAccountEmail,\r\n depotThirdPartyPlannerEmailAddress: depotFields.depotThirdPartyPlannerEmailAddress,\r\n depotScheduleBookingMode: depotFields.depotScheduleBookingMode,\r\n depotBreakdownNotificationEmail: depotFields.depotBreakdownNotificationEmail,\r\n depotTimedVehicleStatusUpdateEmail: depotFields.depotTimedVehicleStatusUpdateEmail,\r\n depotVehicleStatusUpdateEmail: depotFields.depotVehicleStatusUpdateEmail,\r\n depotSchedulePlannerEmail: depotFields.depotSchedulePlannerEmail,\r\n depotfirstDayofWeek: depotFields.depotFirstDayofWeek,\r\n depotNotes: depotFields.depotNotes,\r\n depotSendOverdueReminderEmail: depotFields.depotSendOverdueReminderEmail,\r\n depotOverdueReminderEmail: depotFields.depotOverdueReminderEmail\r\n };\r\n\r\n let res;\r\n if (props.depotID) {\r\n res = await updateDepot(depotData, props.depotID);\r\n } else {\r\n res = await addDepot(depotData);\r\n }\r\n if (res.success) {\r\n showToastSuccess('Depots saved successfully');\r\n props.onFormClose(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n };\r\n\r\n const resetInput = (name) => {\r\n setDepotFields((st) => ({ ...st, [name]: '' }));\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 Customers\r\n \r\n \r\n {depotFields.errors.depotCustomerID}\r\n */}\r\n \r\n \r\n {/* {depotFields.errors.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 \r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n VOR Mobile Numbers \r\n \r\n \r\n \r\n Primary Service Agent\r\n \r\n {depotFields.errors.depotServiceAgentID}\r\n \r\n \r\n Secondary Service Agent\r\n \r\n {depotFields.errors.depotAgentSecondaryAgentID}\r\n \r\n \r\n First Day of Week\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n Schedule Planner 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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n Max Schedule Merge Range\r\n \r\n \r\n \r\n \r\n \r\n \r\n Schedule Booking Mode\r\n \r\n \r\n \r\n Third Party Planner Email Address\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n Booking Preference\r\n \r\n
\r\n
\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n Contact Details\r\n \r\n
\r\n
\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n Notification Update\r\n \r\n
\r\n
\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {depotFields.errors.depotOverdueReminderEmail}\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n Active\r\n \r\n
\r\n
\r\n {/* \r\n Active\r\n */}\r\n \r\n handleActive(true)}>\r\n \r\n \r\n handleActive(false)}>\r\n \r\n
\r\n\r\n {/* */}\r\n
\r\n {/*
*/}\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n props.onFormClose()}>\r\n Cancel\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ScheduleDetails;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\nimport { getDepots } from '../../../../Core/Services/InternalUser/ControllerService/depotsService';\r\nimport { EditButton, DataGrid, BreadCrumbs, formatters } from '../../../../Core/Controls';\r\nimport AddEditDepots from './addEditDepots';\r\nimport '../../../commonStyle.scss';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 80, addFileUploaderIcon: true },\r\n { key: 'depotName', name: 'Name' },\r\n {\r\n key: 'depotAddress',\r\n name: 'Address'\r\n },\r\n\r\n { key: 'depotCountryCode', name: 'Code', width: 80 },\r\n { key: 'depotEmail', name: 'Email', width: 250 }\r\n];\r\n\r\nconst baseCrumbs = [\r\n { name: 'Home', path: '/' },\r\n\r\n { name: 'Depots', active: true }\r\n];\r\n\r\nconst CustomerDepots = (props) => {\r\n const { showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showLoader: true,\r\n depotsList: [],\r\n depotID: null,\r\n isReload: null\r\n });\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n depotID: record\r\n }));\r\n };\r\n\r\n const pullDepotsAndUpdateState = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n useEffect(async () => {\r\n pullDepotsAndUpdateState();\r\n }, []);\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n \r\n {\r\n handleAdd(row.depotID);\r\n }}\r\n />\r\n \r\n );\r\n };\r\n\r\n const closeDepotsModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullDepotsAndUpdateState();\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const crumbs = useMemo(() => {\r\n const tempCols = [...baseCrumbs];\r\n let actionCol = tempCols.find((element) => element.name === 'Depots');\r\n if (actionCol) {\r\n actionCol.onClick = closeDepotsModal;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n let getUrl = `depots`;\r\n\r\n return (\r\n
\r\n \r\n {state.show ? (\r\n \r\n ) : (\r\n <>\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={getUrl}\r\n onBtnClick={() => handleAdd(null)}\r\n btnTitle=\"Add Depot\"\r\n isReload={state.isReload}\r\n idFieldName=\"depotID\"\r\n fileUploaderConfigName=\"DepotScreen\"\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default CustomerDepots;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport EditDriverDailyChecks from '../../../Components/InternalUser/Controllers/Vehicles/DriverDailyChecks/editDriverChecks'; //'./editDriverChecks';\r\nimport { BreadCrumbs, formatters, EditButton } from '../../../Core/Controls';\r\nimport '../../../Components/commonStyle.scss';\r\nimport { DataGrid } from '../../../Core/Controls';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { getChecksByQuery } from '../../../Core/Services/InternalUser/DailyChecksInternalUser/dailyChecksInternalUserService';\r\n\r\nconst basecolumns = [\r\n // { key: 'action', name: 'Action', width: 80 },\r\n // { key: 'checked', name: 'Checked', formatter: formatters.Date_DDMMMYYYY_HHMM, width: 150 },\r\n // { key: 'result', name: 'Result', width: 55 },\r\n // { key: 'checkType', name: 'Check Type' },\r\n // { key: 'status', name: 'Status' },\r\n // { key: 'regNumber', name: 'Reg Number', width: 110 },\r\n // // { key: 'customer', name: 'Customer', width: 200 },\r\n // { key: 'checkerName', name: 'Checker Name', width: 140 },\r\n // { key: 'driverName', name: 'Driver Name', width: 140 },\r\n // { key: 'mileage', name: 'Mileage', width: 110 },\r\n // { key: 'driverComment', name: 'Driver Comment', width: 150 },\r\n // { key: 'checkerComment', name: 'Checker Comment', width: 150 },\r\n // { key: 'displayName', name: 'Created By' }\r\n\r\n { key: 'action', name: 'Action', width: 80 },\r\n { key: 'checked', name: 'Checked', formatter: formatters.Date_DDMMMYYYY_HHMM, width: 150 },\r\n { key: 'regNumber', name: 'Reg Number', width: 90 },\r\n { key: 'result', name: 'Result', width: 55 },\r\n // { key: 'checkType', name: 'Check Type' },\r\n { key: 'status', name: 'Status' },\r\n { key: 'driverName', name: 'Driver Name' },\r\n // { key: 'mileage', name: 'Mileage' },\r\n { key: 'checkerName', name: 'Checker Name' },\r\n { key: 'checkerComment', name: 'Checker Comment', width: 220 },\r\n { key: 'customer', name: 'Customer', width: 100 },\r\n { key: 'depotName', name: 'Depot' },\r\n { key: 'displayName', name: 'Created By' }\r\n];\r\n\r\nconst DailyChecksCustomer = (props) => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n title: '',\r\n btnFlag: '',\r\n rows: []\r\n });\r\n\r\n const pullApiData = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const editChecksScreen = (id) => {\r\n // alert('Edit screen is pending');\r\n setState((st) => ({\r\n ...st,\r\n editChecksShow: true,\r\n checksID: id.checkID\r\n }));\r\n };\r\n const editClose = () => {\r\n setState((st) => ({\r\n ...st,\r\n editChecksShow: false\r\n }));\r\n pullApiData();\r\n };\r\n\r\n const actionButton = (data, row) => {\r\n return (\r\n
\r\n editChecksScreen(row)} toolTipTitle=\"Edit Check\" />\r\n
\r\n );\r\n };\r\n const crumbs = useMemo(() => {\r\n return [\r\n { name: 'Home', path: '/' },\r\n { name: 'Daily Checks', active: true },\r\n { name: props.fromPage, active: true }\r\n ];\r\n }, [props.fromPage]);\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = actionButton;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n let dataUrl = `DriverDailyCheck/VehicleDailyChecksList?Result=${props.resultCode}&Status=${props.statusCode}`;\r\n return (\r\n
\r\n \r\n {state.editChecksShow ? (\r\n \r\n ) : (\r\n // \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={dataUrl}\r\n // btnTitle={gridBtnTitle}\r\n // onBtnClick={addCheck}\r\n isReload={state.isReload}\r\n />\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default DailyChecksCustomer;\r\n","import { Card, FormHelperText, Grid, InputLabel, Tooltip, Typography, ButtonGroup, Button } from '@material-ui/core';\r\nimport React, { useCallback, useEffect, useState, useMemo } from 'react';\r\nimport { BreadCrumbs, DatePicker, formatters, SingleSelect } from '../../../../Core/Controls';\r\nimport { makeStyles } from '@material-ui/styles';\r\nimport moment from 'moment';\r\nimport { getVehicleScreenDropdowns } from '../../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { getBreakDownFaultType, getDefectFaultType } from '../../../../Core/Services/InternalUser/Maintenance/DefectsService';\r\nimport '../../VorReporting/vorReporting.scss';\r\nimport { RenderReportingByFilter } from '../../VorReporting/RenderReportingDesign';\r\nimport { ReportingBarChart } from './../../../../Core/Controls/Charts/index';\r\nimport { GetBreakdownReportingExcelFile, GetDefectReportingExcelFile } from '../../../../Core/Services/InternalUser/excelDownload';\r\nimport { useHistory } from 'react-router-dom';\r\nimport ReactDOM from 'react-dom';\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Reporting', active: true }\r\n];\r\n\r\nconst crumdsPath = (val) => {\r\n if (val == 'defect') {\r\n return '/maintenance/defects';\r\n }\r\n if (val == 'breakdown') {\r\n return '/maintenance/breakdowns/:all';\r\n }\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n border: '2px solid #f5f5f5',\r\n Opacity: 0.9,\r\n minWidth: 120,\r\n borderRadius: 10,\r\n boxShadow: 'none',\r\n background: '#8080800d',\r\n height: '100%',\r\n width: '100%'\r\n }\r\n}));\r\n\r\nconst baseColumns = [\r\n // { key: 'action', name: 'Action', width: 100 },\r\n { key: 'regNo', name: 'Reg Number', width: 120 },\r\n { key: 'defectNo', name: 'Defect No', width: 120 },\r\n { key: 'defectDate', name: 'Start Date', formatter: formatters.Date_DDMMMYYYY_HHMM, width: 150 },\r\n { key: 'defectDesc', name: 'Description' },\r\n { key: 'customer', name: 'Customer' },\r\n { key: 'depotName', name: 'Depot' },\r\n { key: 'faultTypes', name: 'Fault Types', filterable: 'no', sortable: false }\r\n];\r\n\r\nfunction capitalizeFirstLetter(string) {\r\n return string.charAt(0).toUpperCase() + string.slice(1);\r\n}\r\n\r\nlet startDate = moment().startOf('month').format('YYYY-MM-DD');\r\nlet endDate = moment().format('YYYY-MM-DD');\r\n\r\nconst CustomerBreakDownDefectReporting = (props) => {\r\n const classes = useStyles();\r\n let history = useHistory();\r\n\r\n const [state, setState] = useState({\r\n customerList: [],\r\n errors: {},\r\n depotWithCustList: [],\r\n depotsList: [],\r\n customerID: +props?.match?.params.id || props.customerID || null,\r\n depotsID: null,\r\n startDate: startDate,\r\n endDate: endDate,\r\n fromScreen: window.location.pathname.includes('defect') ? 'defect' : 'breakdown',\r\n VehicleByType: [],\r\n VorList: [],\r\n NumberOfDepot: [],\r\n sumOfAllDepot: 0,\r\n url: '',\r\n vorByReg: [],\r\n top5Make: [],\r\n top5Model: [],\r\n setTop5ID: 1,\r\n setBarData: 4,\r\n depot: [],\r\n barValues: 4,\r\n makeList: [],\r\n vehicleCategoryListdropdown: []\r\n });\r\n\r\n const handleReports = (val) => {\r\n setState((st) => ({ ...st, setTop5ID: val }));\r\n };\r\n\r\n const handleBarChart = (val) => {\r\n setState((st) => ({ ...st, setBarData: val }));\r\n };\r\n\r\n const [tempOptions, setTempOptions] = useState({\r\n customerIDValue: null,\r\n depotsIDValue: null,\r\n makeIDValue: null,\r\n vehicleCategoryIDValue: null\r\n });\r\n\r\n const Crumbs = useMemo(() => {\r\n const tempCols = [...crumbs];\r\n tempCols.splice(1, 0, { name: `${capitalizeFirstLetter(state.fromScreen)}`, path: crumdsPath(state.fromScreen) });\r\n return tempCols;\r\n }, [state.fromScreen]);\r\n\r\n useEffect(async () => {\r\n let res = await getVehicleScreenDropdowns();\r\n setState((st) => ({\r\n ...st,\r\n customerList: res.data.customers,\r\n depotsList: res.data.depots,\r\n makeList: res.data.makes || [],\r\n vehicleCategoryListdropdown: res.data.vehicleCategories || []\r\n }));\r\n }, []);\r\n\r\n useEffect(() => {\r\n let newSt = {};\r\n if (state.customerID && state.customerList.length > 0) {\r\n newSt.customerIDValue = state.customerList.find(({ id }) => id === +state.customerID);\r\n } else {\r\n newSt.customerIDValue = state.customerList[0];\r\n }\r\n\r\n setTempOptions((st) => ({\r\n ...st,\r\n ...newSt\r\n }));\r\n }, [state.customerID, state.customerList]);\r\n\r\n useEffect(async () => {\r\n let res = {};\r\n\r\n if (state.customerList.length > 0 && tempOptions.customerIDValue?.id) {\r\n let newst = {};\r\n if (state.fromScreen == 'defect') {\r\n res = await getDefectFaultType(\r\n tempOptions.customerIDValue?.id || '',\r\n state.startDate,\r\n state.endDate,\r\n tempOptions.vehicleCategoryIDValue?.id || '',\r\n tempOptions.makeIDValue?.id || ''\r\n );\r\n }\r\n if (state.fromScreen == 'breakdown') {\r\n res = await getBreakDownFaultType(\r\n tempOptions.customerIDValue?.id || '',\r\n state.startDate,\r\n state.endDate,\r\n tempOptions.vehicleCategoryIDValue?.id || '',\r\n tempOptions.makeIDValue?.id || ''\r\n );\r\n }\r\n if (res.success) {\r\n newst.VehicleByType = res.data?.list?.map((m) => ({ ...m, name: m.faultType, ['Total Days']: m.total })) || [];\r\n newst.depot = res.data?.depot?.map((m) => ({ ...m, name: m.depot, ['Total Days']: m.total })) || [];\r\n newst.vorByReg = res.data?.byReg?.map((m) => ({ ...m, sum: m.total, val: m.reg })) || [];\r\n newst.top5Make = res.data?.top5Make?.map((m) => ({ ...m, sum: m.total, val: m.make })) || [];\r\n newst.top5Model = res.data?.top5Model?.map((m) => ({ ...m, sum: m.total, val: m.model })) || [];\r\n }\r\n setState((st) => ({\r\n ...st,\r\n ...newst,\r\n url: getURl()\r\n }));\r\n }\r\n }, [state.startDate, state.endDate, tempOptions.customerIDValue, tempOptions.makeIDValue, tempOptions.vehicleCategoryIDValue]);\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const singleSelectChange = (nm) => (ev, val) => {\r\n if (val) {\r\n setTempOptions((st) => {\r\n let newSt = { ...st, [nm]: val };\r\n if (nm === 'customerIDValue') {\r\n newSt.depotsIDValue = null;\r\n }\r\n return newSt;\r\n });\r\n } else {\r\n setTempOptions((st) => ({ ...st, [nm]: null }));\r\n }\r\n };\r\n\r\n const handleBar = (val) => {\r\n setState((st) => ({ ...st, barValues: val }));\r\n };\r\n\r\n const convertData = (res) => {\r\n setState((st) => ({ ...st, VorList: res.data.list }));\r\n return {\r\n records: res.data.list,\r\n total: res.data.total\r\n };\r\n };\r\n\r\n let settop5List = {\r\n 1: state.vorByReg,\r\n 2: state.top5Model,\r\n 3: state.top5Make,\r\n 4: state.VehicleByType,\r\n 5: state.depot\r\n };\r\n let label = {\r\n 1: 'Vehicles (Occurrence)',\r\n 2: 'Models (Occurrence)',\r\n 3: 'Makes (Occurrence)',\r\n 4: 'By Fault Type (Occurrence)',\r\n 5: 'By Depot (Occurrence)'\r\n };\r\n\r\n let getURl = () => {\r\n if (state.fromScreen == 'defect') {\r\n return `VehicleDefects/ByStartEndDate?startDate=${state.startDate}&endDate=${state.endDate}&vehicleCategoryID=${\r\n tempOptions.vehicleCategoryIDValue?.id || ''\r\n }&makeID=${tempOptions.makeIDValue?.id || ''}`;\r\n }\r\n if (state.fromScreen == 'breakdown') {\r\n return `VehicleBreakdowns/ByStartEndDate?startDate=${state.startDate}&endDate=${state.endDate}&vehicleCategoryID=${\r\n tempOptions.vehicleCategoryIDValue?.id || ''\r\n }&makeID=${tempOptions.makeIDValue?.id || ''}`;\r\n }\r\n };\r\n const renderVehicleReg = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n \r\n history.push({\r\n pathname: `/controller/editVehicle/${row.vehicleID}`\r\n })\r\n }\r\n style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}\r\n >\r\n {row.regNo}\r\n \r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n const gotoDefectEditScreen = (row) => {\r\n return state.fromScreen == 'defect'\r\n ? history.push({\r\n pathname: `/maintenance/defect/Edit/${row.defectID}/${row.vehicleID}`,\r\n state: 'Edit'\r\n })\r\n : history.push({\r\n pathname: `/maintenance/breakdowns/Edit/${row.defectID}/${row.vehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n const rendeDefectNo = ({ row, col }, grid) => {\r\n const spn = document.createElement('span');\r\n const lnk = (\r\n
gotoDefectEditScreen(row)} style={{ cursor: 'pointer', color: 'black', fontWeight: 'bold' }}>\r\n {row.defectNo}\r\n
\r\n );\r\n ReactDOM.render(lnk, spn);\r\n return spn;\r\n };\r\n const tempCol = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'regNo');\r\n let agentNameCol = tempCols.find((element) => element.key === 'defectNo');\r\n if (actionCol) {\r\n actionCol.formatter = renderVehicleReg;\r\n }\r\n if (agentNameCol) {\r\n agentNameCol.formatter = rendeDefectNo;\r\n }\r\n\r\n return tempCols;\r\n }, []);\r\n return (\r\n
\r\n \r\n \r\n \r\n Start Date\r\n \r\n \r\n \r\n End Date\r\n \r\n \r\n \r\n \r\n Vehicle Category\r\n \r\n \r\n {state.errors.vehicleCategoryID}\r\n \r\n \r\n Make\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Top 5 {label[state.setTop5ID]}\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n handleReports(1)}\r\n >\r\n Vehicles\r\n \r\n handleReports(2)}\r\n >\r\n Models\r\n \r\n handleReports(3)}\r\n >\r\n {' '}\r\n Makes\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n {state.VehicleByType.length > 0 ? (\r\n \r\n \r\n \r\n \r\n
\r\n {label[state.barValues]}\r\n
\r\n
\r\n \r\n
\r\n \r\n handleBar(4)}\r\n style={{ fontSize: 10 }}\r\n >\r\n By Fault Type\r\n \r\n handleBar(5)}\r\n style={{ fontSize: 10 }}\r\n >\r\n {' '}\r\n By Depot\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) : null}\r\n \r\n {state.url && (\r\n convertData(res)} columns={tempCol} getUrl={state.url} showDownload={true} downloadBtnName=\"VOR\" />\r\n )}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CustomerBreakDownDefectReporting;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Container from '@material-ui/core/Container';\r\nimport { getAllDriverDash } from '../../../Core/Services/Driver/driverDashboard';\r\nimport GroupRoundedIcon from '@material-ui/icons/GroupRounded';\r\nimport LocalShippingRoundedIcon from '@material-ui/icons/LocalShippingRounded';\r\nimport BuildRoundedIcon from '@material-ui/icons/BuildRounded';\r\nimport HealingRoundedIcon from '@material-ui/icons/HealingRounded';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport CancelOutlinedIcon from '@material-ui/icons/CancelOutlined';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\n\r\nimport { Link } from 'react-router-dom';\r\nimport '../../InternalUser/InternalDash.scss';\r\n\r\nconst AdminDashboard = () => {\r\n const [state, setState] = useState({\r\n rows_new: [],\r\n tilesData: []\r\n });\r\n\r\n const checkOut = 'Check Out';\r\n const checkIn = 'Check In';\r\n const driverCheck = 'Driver Check';\r\n\r\n useEffect(async () => {\r\n let res = await getAllDriverDash();\r\n const cards = res.data.dashboard;\r\n setState((st) => ({\r\n ...st,\r\n tilesData: cards[0]\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 {state.tilesData.breakdownOnsite || 0}\r\n Breakdowns Onsite\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.breakdownRoadside || 0}\r\n Breakdowns Roadside\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.driverDefect || 0}\r\n Driver Defect\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.driverCheck || 0}\r\n Driver Check\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.failedChecks || 0}\r\n Failed Check\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n {state.tilesData.checkIn || 0}\r\n Check In\r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n {state.tilesData.checkedInCount || 0}\r\n Check Out\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AdminDashboard;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { getAllVehicle } from '../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { EditButton, DataGrid, formatters, BreadCrumbs } from '../../../Core/Controls';\r\nimport DriverDailyChecks from '../../InternalUser/Controllers/Vehicles/DriverDailyChecks/driverDailyChecks';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { Button } from '@material-ui/core';\r\n\r\n// import '../../commonStyle.scss';\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 30,\r\n addFileUploaderIcon: true\r\n },\r\n { key: 'vehicleRegNumber', name: 'Reg Number', width: 50 },\r\n { key: 'vehicleMakeModel', name: 'Vehicle Description', width: 200 },\r\n {\r\n key: 'vehicleDateOfRegistration',\r\n name: 'Date Of Reg',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 100\r\n },\r\n {\r\n key: 'vehicleMOTExpiry',\r\n name: 'MOT Expiry',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 100\r\n },\r\n {\r\n key: 'vehicleTaxDue',\r\n name: 'Tax Due',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 100\r\n },\r\n // { key: 'customerCompanyName', name: 'Customer', width: 100 },\r\n { key: 'depotName', name: 'Depot', width: 100 }\r\n];\r\n\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Vehicles', path: '/controller/Vehicles', active: true }\r\n];\r\n\r\nconst DriverVehicleScreen = (props) => {\r\n const { showToastError } = useToast();\r\n\r\n const [state, setState] = useState({\r\n show: false,\r\n showEditPopup: false,\r\n showLoader: true,\r\n vehicleList: [],\r\n VehicleID: null\r\n });\r\n\r\n const pullVehicleAndUpdateState = async () => {\r\n let res = await getAllVehicle();\r\n if (res.success) {\r\n setState((st) => ({ ...st, showLoader: false, vehicleList: res.data.vehicles }));\r\n }\r\n if (!res.success) {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n useEffect(async () => {\r\n pullVehicleAndUpdateState();\r\n }, []);\r\n\r\n const handleAdd = (record) => {\r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n VehicleID: record.vehicleID\r\n }));\r\n };\r\n\r\n const closeVehicleModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullVehicleAndUpdateState();\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n // const val = data.row;\r\n return (\r\n
\r\n {/* */}\r\n handleAdd(row)}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n const title = state.VehicleID ? 'Update Vehicle' : 'Add Vehicle';\r\n return (\r\n
\r\n {state.show ? (\r\n closeVehicleModal(true)} onClose={closeVehicleModal} />\r\n ) : (\r\n <>\r\n \r\n {/* */}\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n isReload={state.isReload}\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\nexport default DriverVehicleScreen;\r\n","import React, { useEffect, useState, useCallback } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel, FormControlLabel } from '@material-ui/core';\r\nimport { SecondaryButton, DatePicker, MandatoryField, formatters } from '../../../Core/Controls';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { postVehicleBreakdown, getVehicleBreakdownsbyID } from '../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport Radio from '@material-ui/core/Radio';\r\nimport RadioGroup from '@material-ui/core/RadioGroup';\r\nimport RoomIcon from '@material-ui/icons/Room';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport InputAdornment from '@material-ui/core/InputAdornment';\r\nimport DialogComp from '../../../Core/Dialog/DialogComp';\r\nimport GetAgentLocation from '../../InternalUser/Maintenance/BreakDown/getLocations';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\nimport moment from 'moment';\r\nimport CustomizedSteppers from '../../InternalUser/Maintenance/BreackdownDefectStepper/defectBreackDownStepper';\r\nimport BreakDownEditDetails from '../../InternalUser/Maintenance/BreakDown/BreakDownEditDetails';\r\nimport BreakDownDetails from '../../InternalUser/Maintenance/BreakDown/BreakDownDetails';\r\nimport Mapheader from '../../InternalUser/Maintenance/BreakDown/locationHeaderComp';\r\n\r\nlet domainName = window.location.host;\r\nconst trimedhost = domainName.includes('localhost') ? 'localhost' : domainName;\r\n\r\nconst AddBreaddownModal = (props) => {\r\n const { displayName } = useLoginInfo();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n let history = useHistory();\r\n\r\n const [state, setState] = useState({\r\n reportedBy: displayName,\r\n reg: props.regNumber,\r\n dateOfReg: moment().format('YYYY-DD-MM'),\r\n defectID: null,\r\n breakDownType: 'BR',\r\n driverName: displayName,\r\n driverPhone: null,\r\n breakDownLocation: '',\r\n problemReported: '',\r\n replacementvehicleRequired: false,\r\n defectPG9Issued: false,\r\n mobilityUsed: 0,\r\n mobilityRequested: 0,\r\n reportingDepot: null,\r\n callOutRequired: false,\r\n defectVOR: false,\r\n policeOnScene: 0,\r\n passengersInvolved: false,\r\n accDamage: false,\r\n vehicleLoaded: false,\r\n urgentCallOut: false,\r\n policeOnScene: false,\r\n mobilityRequested: false,\r\n mobilityUsed: false,\r\n errors: {},\r\n showJob: false,\r\n loadType: 1,\r\n showMap: false,\r\n vehicleID: props.VehicleID,\r\n desc: null\r\n });\r\n\r\n useEffect(async () => {\r\n setState((st) => ({\r\n ...st,\r\n domainName: trimedhost\r\n // breakDownType: props.breakdownType\r\n }));\r\n pullBreackdownById();\r\n }, []);\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n if (value === 'true' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: true }));\r\n } else if (value === 'false' && type.toLowerCase() === 'radio') {\r\n setState((st) => ({ ...st, [name]: false }));\r\n } else {\r\n setState((st) => ({ ...st, [name]: value }));\r\n }\r\n }, []);\r\n\r\n const validations = () => {\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!state.breakDownLocation) {\r\n errors.breakDownLocation = 'Location is required';\r\n formIsValid = false;\r\n }\r\n if (!state.reportedBy) {\r\n errors.reportedBy = 'Reported By field is required';\r\n formIsValid = false;\r\n }\r\n if (!state.reportedPhone) {\r\n errors.reportedPhone = 'Reported phone field is required';\r\n formIsValid = false;\r\n }\r\n if (!state.problemReported) {\r\n errors.problemReported = 'Problem reported field is required';\r\n formIsValid = false;\r\n }\r\n setState((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n setBtnLoader(true);\r\n let res = await postVehicleBreakdown(state);\r\n if (res.success) {\r\n showToastSuccess(`Breakdown number ${res.data.defectNumber} generated successfully`);\r\n history.push(`/maintenance/breakdowns/Edit/${res.data.defectID}/${props.VehicleID}`);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n const pullBreackdownById = async () => {\r\n if (props.breakDownID) {\r\n let res = await getVehicleBreakdownsbyID(props.breakDownID);\r\n\r\n let data = res.data.details[0];\r\n let vehicleJobProgressDates = res.data.vehicleJobProgressDates;\r\n setState((st) => ({\r\n ...st,\r\n defectID: data.defectID,\r\n vehicleID: data.defectVehicleID,\r\n breakDownType: data.defectTypeCode,\r\n mileage: data.defectMileage,\r\n reportingDepot: data.defectReportingDepotID,\r\n breakDownLocation: data.defectLocation,\r\n reportedPhone: data.defectContactNumber,\r\n reportedBy: data.defectContactName,\r\n driverName: data.defectDriverName,\r\n driverPhone: data.defectDriverTelephone,\r\n problemReported: data.defectDescription,\r\n callOutRequired: data.defectCallOutRequired,\r\n urgentCallOut: data.defectUrgentCallOut,\r\n putOnVOR: data.defectVOR,\r\n policeOnScene: data.defectPoliceOnScene,\r\n passengersInvolved: data.defectPassengersInvolved,\r\n numberOfPassenger: data.defectNumberOfPassengers,\r\n accDamage: data.defectAccidentDamage,\r\n iNSREF: data.defectInsuranceReference,\r\n replacementvehicleRequired: data.defectReplacementVehicle,\r\n domainName: data.domainName,\r\n vehicleLoaded: data.defectVehicleLoaded,\r\n loadType: data.defectVehicleLoadTypeID,\r\n mobilityRequested: data.defectMobilityRequested,\r\n mobilityUsed: data.defectMobilityUsed,\r\n PG9Issued: data.defectPG9Issued,\r\n defectNumberGenerated: data.defectNumberGenerated,\r\n defectResolvedNotes: data.defectResolvedNotes,\r\n reportingDepotName: data.reportingDepot,\r\n vehicleLoadTypeDescription: data.vehicleLoadTypeDescription,\r\n defectRegNumber: data.defectRegNumber,\r\n customer: data.customer,\r\n reportingDepot: data.reportingDepot,\r\n make: data.make,\r\n model: data.model,\r\n vorVehicleID: data.vorVehicleID,\r\n vehicleJobProgress: vehicleJobProgressDates,\r\n defectDateCreated: formatters.DateTimeFormatter(data.defectDateCreated),\r\n defectDateCallOutArrived: formatters.DateTimeFormatter(data.defectDateCallOutArrived),\r\n defectDateVehicleRecovered: formatters.DateTimeFormatter(data.defectDateVehicleRecovered),\r\n defectDateResolved: formatters.DateTimeFormatter(data.defectDateResolved),\r\n defectDateSignOff: formatters.DateTimeFormatter(data.defectDateSignOff),\r\n fileCount: data.fileCount\r\n }));\r\n }\r\n };\r\n\r\n const handleShowLocation = () => {\r\n setState((st) => ({ ...st, showMap: true }));\r\n };\r\n const closetModal = (res) => {\r\n setState((st) => ({ ...st, showJob: false, showMap: false }));\r\n };\r\n\r\n const handleUpdateLocation = (location) => {\r\n setState((st) => ({ ...st, breakDownLocation: location, showMap: false }));\r\n };\r\n\r\n return (\r\n
\r\n {state.showMap ? (\r\n } onClose={() => closetModal(false)} maxWidth=\"lg\" fullScreen>\r\n \r\n \r\n ) : null}\r\n\r\n \r\n \r\n \r\n \r\n Breakdown Type?\r\n \r\n \r\n \r\n } label=\"Road Side\" />\r\n } label=\"On Site\" />\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n Breakdown Date\r\n \r\n \r\n {state.errors.dateOfReg}\r\n */}\r\n {/* \r\n \r\n \r\n Breakdown Type?\r\n \r\n \r\n \r\n } label=\"Road Side\" />\r\n } label=\"On Site\" />\r\n \r\n \r\n \r\n */}\r\n \r\n \r\n {\r\n handleShowLocation(state.defectID);\r\n }}\r\n icon={RoomIcon}\r\n />\r\n \r\n )\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Add\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AddBreaddownModal;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { FormHelperText, InputLabel } from '@material-ui/core';\r\nimport { SecondaryButton, MandatoryField, SimpleField, YesButton, NoButton, DatePicker } from '../../../Core/Controls';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport { postDefect } from '../../../Core/Services/InternalUser/Maintenance/DefectsService';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { useHistory } from 'react-router-dom';\r\nimport moment from 'moment';\r\nimport { useLoginInfo } from '../../../Core/Hooks/useLoginInfo';\r\n\r\nconst AddEditDefectModal = (props) => {\r\n const { displayName } = useLoginInfo();\r\n const [btnLoader, setBtnLoader] = useState(false);\r\n\r\n const [defectFields, setDefectFields] = useState({\r\n errors: {},\r\n defectContactName: displayName,\r\n defectDriverName: displayName,\r\n customerName: '',\r\n depotName: '',\r\n vehicleLoadTypesList: [],\r\n depotsList: [],\r\n vehicleID: null,\r\n defectTypeCode: 'DD',\r\n workshopBooking: false,\r\n defectNumberGenerated: '',\r\n defectRegNumber: props.regNumber,\r\n defectID: '',\r\n defectVehicleID: props.filterVehicleID,\r\n defectReportingDepotID: '',\r\n defectLocation: '',\r\n defectCustomerDefectNumber: '',\r\n dateOfReg: moment().format('YYYY-DD-MM')\r\n });\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n let history = useHistory();\r\n\r\n const handleActive = (val) => {\r\n setDefectFields((field) => ({\r\n ...field,\r\n workshopBooking: val\r\n }));\r\n };\r\n\r\n const inputChange = useCallback((e) => {\r\n const { name, value } = e.target;\r\n setDefectFields((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const trimmedHost = window.location.host.includes('localhost') ? 'localhost' : window.location.host;\r\n\r\n const validations = () => {\r\n const { dateOfReg, defectLocation, defectContactName, defectContactNumber, defectDescription } = defectFields;\r\n let formIsValid = true;\r\n let errors = {};\r\n if (!defectDescription) {\r\n errors.defectDescription = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!defectLocation) {\r\n errors.defectLocation = 'This field is required';\r\n formIsValid = false;\r\n }\r\n if (!defectContactName) {\r\n errors.defectContactName = 'This field is required';\r\n formIsValid = false;\r\n }\r\n\r\n if (!defectContactNumber) {\r\n errors.defectContactNumber = 'This field is required';\r\n formIsValid = false;\r\n }\r\n setDefectFields((st) => ({ ...st, errors: errors }));\r\n return formIsValid;\r\n };\r\n\r\n const submitHandler = async () => {\r\n if (validations()) {\r\n setBtnLoader(true);\r\n const FormData = {\r\n workshopBooking: defectFields.workshopBooking || null,\r\n defectID: defectFields.defectID || null,\r\n defectTypeCode: defectFields.defectTypeCode || null,\r\n defectVehicleID: props.filterVehicleID || null,\r\n defectReportingDepotID: defectFields.defectReportingDepotIDValue?.id || null,\r\n defectLocation: defectFields.defectLocation || null,\r\n defectCustomerDefectNumber: defectFields.defectCustomerDefectNumber || null,\r\n defectContactName: defectFields.defectContactName || null,\r\n defectContactNumber: defectFields.defectContactNumber || null,\r\n defectDriverName: defectFields.defectDriverName || null,\r\n defectDriverTelephone: defectFields.defectDriverTelephone || null,\r\n defectDescription: defectFields.defectDescription || null,\r\n defectAuthorisedBy: defectFields.defectAuthorisedBy || null,\r\n preferredServiceAgent: defectFields.preferredServiceAgent || null,\r\n defectAlreadyBooked: defectFields.defectAlreadyBooked || false,\r\n defectAlreadyCompleted: defectFields.defectAlreadyCompleted || false,\r\n defectCallOutRequired: defectFields.defectCallOutRequired || false,\r\n defectUrgentCallOut: defectFields.defectUrgentCallOut || false,\r\n defectVOR: defectFields.defectVOR || false,\r\n defectPassengersInvolved: defectFields.defectPassengersInvolved || false,\r\n defectNumberOfPassengers: defectFields.defectNumberOfPassengers || null,\r\n defectAccidentDamage: defectFields.defectAccidentDamage || false,\r\n defectInsuranceReference: defectFields.defectInsuranceReference || null,\r\n domainName: trimmedHost || null,\r\n defectReplacementVehicle: defectFields.defectReplacementVehicle || false,\r\n defectVehicleLoaded: defectFields.defectVehicleLoaded || false,\r\n defectVehicleLoadTypeID: defectFields.defectVehicleLoadTypeIDValue?.id || null,\r\n defectPG9Issued: defectFields.defectPG9Issued || false,\r\n defectPoliceOnScene: defectFields.defectPoliceOnScene || false,\r\n defectAdvisedDontDrive: defectFields.defectAdvisedDontDrive || false,\r\n defectMobilityRequested: defectFields.defectMobilityRequested || false,\r\n defectMobilityUsed: defectFields.defectMobilityUsed || false,\r\n defectMileage: defectFields.defectMileage\r\n };\r\n\r\n let res = await postDefect(FormData);\r\n if (res.success) {\r\n showToastSuccess(`Defect number ${res.data.defectNumber} generated successfully`);\r\n history.push(`/maintenance/defect/edit/${res.data.defectID}/${props.filterVehicleID}`);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n setBtnLoader(false);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {/* \r\n \r\n Defect Date\r\n \r\n \r\n {defectFields.errors.dateOfReg}\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {defectFields.errors.preferredServiceAgent}\r\n \r\n \r\n Workshop Booking required?\r\n \r\n \r\n handleActive(true)}>\r\n \r\n \r\n handleActive(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 Add\r\n \r\n \r\n \r\n Cancel\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddEditDefectModal;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Table, TableBody, TableContainer, TableRow, Paper, TableCell, Typography, FormHelperText, InputLabel } from '@material-ui/core';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport { Link } from 'react-router-dom';\r\nimport { InputText, SecondaryButton, SelectBox, CustomChip, MandatoryField, DatePicker, SecondaryCheckbox } from '../../../Core/Controls';\r\nimport { postDriverMilege, getDriverList, postDriverCheckIn } from '../../../Core/Services/InternalUser/Vehicle/driverInfoService';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport DriverChecks from './driverCheck';\r\n\r\nconst gridStyle = {\r\n title: {\r\n color: '#f50057'\r\n },\r\n header: {\r\n border: '1px solid rgba(0,0,0,0.2)'\r\n },\r\n tbHead: {\r\n padding: '5px 0px 6px 8px'\r\n },\r\n tbContent: {\r\n margin: '8px 0px 14px 0px;'\r\n }\r\n};\r\n\r\nexport default function DriverVehicleModal(props) {\r\n const [state, setState] = useState({\r\n customerID: null,\r\n driverList: [],\r\n vehicleDriverHistoryID: null,\r\n historyList: null,\r\n vehicleDriverHistoryDriverID: null,\r\n isDriverCheck: false,\r\n isCheckIn: true\r\n });\r\n const [error, setError] = useState({});\r\n\r\n useEffect(async () => {\r\n if (props.vehicleID) {\r\n let res = await getDriverList(props.vehicleID);\r\n if (res.success) {\r\n setState((st) => ({\r\n ...st,\r\n historyList: res.data.vehicleDriverHistory[0]?.vehicleDriverHistoryID,\r\n driverList: res.data.details.map((m) => ({\r\n id: m.driverID,\r\n name: m.driver\r\n }))\r\n }));\r\n }\r\n }\r\n }, []);\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const validate = () => {\r\n let errors = {};\r\n let isValid = true;\r\n if (!state.date) {\r\n errors.date = 'Date Change is required';\r\n isValid = false;\r\n }\r\n if (!state.mileage) {\r\n errors.mileage = 'Mileage is required';\r\n isValid = false;\r\n }\r\n setError(errors);\r\n return isValid;\r\n };\r\n\r\n const inputChange = (event) => {\r\n const { name, value, checked } = event.target;\r\n if (name == 'isDriverCheck') {\r\n setState((state) => ({\r\n ...state,\r\n [name]: checked\r\n }));\r\n } else {\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n }\r\n };\r\n\r\n const handelSubmit = async () => {\r\n if (validate()) {\r\n let data = {\r\n vehicleDriverHistoryID: state.historyList ? state.historyList : null,\r\n vehicleDriverHistoryVehicleID: props.vehicleID,\r\n vehicleDriverHistoryDriverID: state.vehicleDriverHistoryDriverID,\r\n vehicleDriverHistoryDateAssigned: state.date,\r\n vehicleDriverHistoryMileageAssigned: state.mileage\r\n };\r\n let submutRes = await postDriverCheckIn(data);\r\n if (submutRes.success) {\r\n showToastSuccess('Vehicle Check in Successfully');\r\n if (state.isDriverCheck) {\r\n setState((state) => ({\r\n ...state,\r\n isCheckIn: false\r\n }));\r\n } else {\r\n props.onClose();\r\n }\r\n } else {\r\n showToastError(submutRes.message);\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n \r\n {state.isCheckIn ? (\r\n <>\r\n \r\n \r\n Date of Change\r\n \r\n \r\n {error.date}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n If this driver is assigned to another vehicle, they will be removed from that vehicle \r\n \r\n\r\n \r\n Check In\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputText, BreadCrumbs, SecondaryButton, formatters } from '../../../Core/Controls';\r\nimport { getVechicleIDByRegNO } from '../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport { CustomChip } from '../../../Core/Controls/Inputs/DatePicker';\r\nimport AddBreaddownModal from '../Maintenance/addBreakdown';\r\nimport AddEditDefectModal from '../Maintenance/addDefect';\r\nimport DriverChecks from '../Maintenance/driverCheck';\r\nimport Box from '@material-ui/core/Box';\r\nimport { getTitleData } from '../../../Core/Services/InternalUser/ControllerService/vehicleService';\r\n\r\nimport { Table, TableBody, TableContainer, TableRow, Paper, TableCell, Typography, TableHead, InputLabel } from '@material-ui/core';\r\nimport { NavigateBeforeSharp } from '@material-ui/icons';\r\nimport DriverVehicleModal from '../Maintenance/checkIn';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nconst gridStyle = {\r\n title: {\r\n color: '#f50057'\r\n },\r\n header: {\r\n border: '1px solid rgba(0,0,0,0.2)'\r\n },\r\n tbHead: {\r\n padding: '5px 0px 6px 8px'\r\n },\r\n tbContent: {\r\n margin: '8px 0px 14px 0px;'\r\n }\r\n};\r\n\r\nconst DriverDash = (props) => {\r\n const [show, setShow] = useState(false);\r\n const [state, setState] = useState({ isVehicle: false, regNumber: '', vehicleMakeModel: '' });\r\n let screenName = props.match.params.screenName.charAt(0).toUpperCase() + props.match.params.screenName.slice(1); // Caps First Letter\r\n\r\n const crumbs = show\r\n ? [\r\n { name: 'Home', path: '/' },\r\n { name: `${screenName}`, path: '/', active: true },\r\n { name: `${'Add ' + screenName}`, path: '/', active: true }\r\n ]\r\n : [\r\n { name: 'Home', path: '/' },\r\n { name: `${screenName}`, path: '/', active: true }\r\n ];\r\n\r\n const getVehicleByRegNo = async (e) => {\r\n const { name, value } = e.target;\r\n if (value.length > 4) {\r\n let resBrekDown = await getVechicleIDByRegNO(value);\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (resBrekDown.data?.list) {\r\n newSt.isVehicle = resBrekDown.success;\r\n newSt.filterVehicleID = resBrekDown.data?.list[0].vehicleID;\r\n newSt.vehicleMakeModel = resBrekDown.data?.list[0].vehicleMakeModel;\r\n newSt.regNumber = value;\r\n } else {\r\n newSt.isVehicle = false;\r\n newSt.filterVehicleID = '';\r\n newSt.regNumber = '';\r\n newSt.vehicleMakeModel = '';\r\n }\r\n return newSt;\r\n });\r\n } else {\r\n setState((st) => ({ ...st, isVehicle: false, regNumber: null }));\r\n }\r\n };\r\n\r\n // Pull details\r\n useEffect(async () => {\r\n let res = await getTitleData(state.filterVehicleID);\r\n if (res.success) {\r\n let data = res.data.details[0];\r\n setState((st) => ({\r\n ...st,\r\n desc: data?.vehicleDescription\r\n }));\r\n }\r\n }, [state.isVehicle]);\r\n\r\n const onBtnClick = () => {\r\n setShow(true);\r\n };\r\n const onClose = () => {\r\n setShow(false);\r\n setState((st) => ({ ...st, isVehicle: false, regNumber: null, vehicleMakeModel: null }));\r\n };\r\n\r\n const onCheckInSucc = (mileage) => {\r\n // setState((st) => ({ ...st, isVehicle: 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 {show ? state.desc?.toUpperCase() || '' : screenName}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {!show ? (\r\n \r\n \r\n
\r\n Search Reg Number\r\n \r\n
\r\n
\r\n \r\n {state.isVehicle && (\r\n \r\n {'\\u{2800}'}\r\n Add {screenName}\r\n \r\n )}\r\n
\r\n ) : screenName.toLowerCase() === 'breakdown' ? (\r\n \r\n ) : screenName.toLowerCase() === 'defects' ? (\r\n \r\n ) : screenName.toLowerCase() === 'driver check' ? (\r\n \r\n ) : screenName.toLowerCase() === 'check in' ? (\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\nexport default DriverDash;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { BreadCrumbs, DataGrid, EditButton, formatters } from '../../../Core/Controls';\r\nimport { getVehicleBreakdowns, getAllVehicleBreakdowns, getVechicleIDByRegNO } from '../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport AddBreaddownModal from './addBreakdown';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst tempCrumb = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Maintenance', active: true },\r\n { name: 'Breakdowns', path: '/', active: true }\r\n];\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 80, addFileUploaderIcon: true },\r\n // { key: 'customer', name: 'Customer Name', width: '10%' },\r\n { key: 'defectRegNumber', name: 'Reg Number', width: 100 },\r\n {\r\n key: 'defectDate',\r\n name: 'Date ',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 90\r\n },\r\n { key: 'defectDescription', name: 'Details' },\r\n { key: 'defectContactName', name: 'Reported By', width: 100 },\r\n { key: 'serviceAgentName', name: 'Service Agent', width: 180 },\r\n { key: 'defectJobStatusDescription', name: 'Status', width: 200 }\r\n];\r\n\r\nconst DriverBreakDownDashboard = (props) => {\r\n let history = useHistory();\r\n\r\n const [state, setState] = useState({\r\n breakdownList: [],\r\n loader: true,\r\n modalToggle: false,\r\n breakID: null,\r\n rowVehicleID: null,\r\n show: false,\r\n filterVal: ''\r\n });\r\n\r\n const handleBreakDown = (params, VehicleID, modalName) => {\r\n setState((st) => ({\r\n ...st,\r\n modalName: modalName,\r\n modalToggle: true,\r\n breakID: params,\r\n rowVehicleID: VehicleID\r\n }));\r\n };\r\n const closeModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n modalToggle: false,\r\n filterVal: '',\r\n filterVehicleID: null,\r\n breakID: null,\r\n modalName: ''\r\n }));\r\n res && pullBreakDownAndUpdateState();\r\n };\r\n\r\n const inputChange = (e) => {\r\n const value = e.target.value;\r\n setState((st) => ({\r\n ...st,\r\n filterVal: value\r\n }));\r\n };\r\n\r\n useEffect(() => {\r\n pullBreakDownAndUpdateState();\r\n }, []);\r\n\r\n useEffect(async () => {\r\n if (!props.VehicleID) {\r\n if (state.filterVal.length > 4) {\r\n let resBrekDown = await getVechicleIDByRegNO(state.filterVal);\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (resBrekDown.data?.list) {\r\n newSt.show = true;\r\n newSt.filterVehicleID = resBrekDown.data?.list[0].vehicleID;\r\n newSt.isReload = new Date();\r\n } else {\r\n newSt.show = false;\r\n }\r\n return newSt;\r\n });\r\n } else {\r\n setState((st) => ({ ...st, show: false }));\r\n }\r\n }\r\n }, [state.filterVal]);\r\n\r\n const pullBreakDownAndUpdateState = async () => {\r\n let defecttypecode = '';\r\n if (props.VehicleID) {\r\n defecttypecode = '';\r\n }\r\n if (props?.match?.params?.all == 'typebo') {\r\n defecttypecode = 'bo';\r\n }\r\n if (props?.match?.params?.all == 'typebr') {\r\n defecttypecode = 'br';\r\n }\r\n if (props?.match?.params?.all == ':all') {\r\n defecttypecode = '';\r\n }\r\n\r\n setState((st) => ({\r\n ...st,\r\n defecttypecode: defecttypecode\r\n }));\r\n };\r\n\r\n const handleEditBreakdown = (val) => {\r\n history.push({\r\n pathname: `/maintenance/breakdowns/Edit/${val?.defectID}/${val?.defectVehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n let urlForcondition = `VehicleBreakdowns/?${props.VehicleID ? `VehicleID=${props.VehicleID}` : ''}defecttypecode=${state.defecttypecode}`;\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n \r\n handleBreakDown(row.defectID, row.defectVehicleID, 'Edit')}\r\n onClick={() => handleEditBreakdown(row)}\r\n />\r\n {/* handleBreakDown(row.defectID, row.defectVehicleID, 'Edit')} /> */}\r\n \r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const crumbs = useMemo(() => {\r\n const tempCols = [...tempCrumb];\r\n let actionCol = tempCols.find((element) => element.name === 'Breakdowns');\r\n if (actionCol) {\r\n actionCol.onClick = closeModal;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const gridBtnTitle = state.show ? 'Add Breakdown' : null;\r\n\r\n return (\r\n
\r\n {state.modalName === 'Edit' ? null : (\r\n
\r\n
\r\n \r\n
\r\n   \r\n {state.modalName === 'Add' ? null : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n {state.modalToggle ? (\r\n <>\r\n
\r\n closeModal(true)}\r\n modalName={state.modalName}\r\n />\r\n \r\n ) : (\r\n <>\r\n ({\r\n records: res?.data?.list,\r\n total: res?.data?.total\r\n })}\r\n columns={columns}\r\n idFieldName=\"defectID\"\r\n fileUploaderConfigName=\"BreakdownScreen\"\r\n getUrl={urlForcondition}\r\n btnTitle={gridBtnTitle}\r\n onBtnClick={() => handleBreakDown(null, state.filterVehicleID, 'Add')}\r\n isReload={state.isReload}\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default DriverBreakDownDashboard;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport AddEditDefectModal from './addDefect';\r\nimport DataGrid from '../../../Core/Controls/Grid';\r\nimport { getAllDefects } from '../../../Core/Services/InternalUser/Maintenance/DefectsService';\r\nimport { getVechicleIDByRegNO } from '../../../Core/Services/InternalUser/ServiceAgent/breakdownService';\r\nimport { EditButton, BreadCrumbs, formatters } from '../../../Core/Controls';\r\nimport DefectEditDetails from '../../InternalUser/Maintenance/Defects/DefectEditDetails';\r\nimport GijgoGrid from '../../../Core/Controls/GijgoGrid';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport { CustomIconButton } from '../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\n\r\nconst modalgridStyle = {\r\n formatterEditBtn: { textAlign: 'center' }\r\n};\r\n\r\nconst baseCrumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Maintenance', active: true },\r\n { name: 'Defects', active: true }\r\n];\r\n\r\nconst baseColumns = [\r\n { key: 'action', name: 'Action', width: 100, addFileUploaderIcon: true },\r\n // { key: 'customer', name: 'Customer Name', width: '10%' },\r\n { key: 'defectRegNumber', name: 'Reg Number', width: 100 },\r\n {\r\n key: 'defectNumberGenerated',\r\n name: 'Defect No',\r\n headerRenderer: formatters.ColumnHeaderAlignLeft,\r\n formatter: formatters.ColumnTextAlignLeft,\r\n width: 80\r\n },\r\n {\r\n key: 'defectDate',\r\n name: 'Date ',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 90\r\n },\r\n\r\n { key: 'defectDescription', name: 'Details' },\r\n { key: 'defectContactName', name: 'Reported By', width: '15%' },\r\n // { key: 'defectDriverName', name: 'Driver Name', width: 110 },\r\n // { key: 'defectDriverTelephone', name: 'Driver Phone', width: 120 },\r\n { key: 'serviceAgentName', name: 'Service Agent', width: 150 },\r\n { key: 'defectJobStatusDescription', name: 'Status', width: 180 }\r\n // { key: 'defectType', name: 'Defect Type', width: 130 }\r\n];\r\n\r\nconst DriverDefectsScreen = (props) => {\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n rowVehicleID: null,\r\n defectID: null,\r\n List: [],\r\n showLoader: true,\r\n fromPage: 'Defects',\r\n show: false,\r\n filterVal: ''\r\n });\r\n\r\n useEffect(async () => {\r\n if (!props.VehicleID) {\r\n if (state.filterVal.length > 4) {\r\n let resBrekDown = await getVechicleIDByRegNO(state.filterVal);\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (resBrekDown.data?.list) {\r\n newSt.show = resBrekDown.success;\r\n newSt.filterVehicleID = resBrekDown.data?.list[0].vehicleID;\r\n newSt.isReload = new Date();\r\n } else {\r\n newSt.show = false;\r\n }\r\n\r\n return newSt;\r\n });\r\n } else {\r\n setState((st) => ({ ...st, show: false }));\r\n }\r\n }\r\n // pullDefects();\r\n }, [state.filterVal]);\r\n\r\n const pullDefects = async () => {\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n const handleEditDefect = (val) => {\r\n props.history.push({\r\n pathname: `/maintenance/defect/edit/${val?.defectID}/${val?.defectVehicleID}`,\r\n state: 'Edit'\r\n });\r\n };\r\n\r\n const renderEdit = (data, row) => {\r\n return (\r\n
\r\n handleEditDefect(row)}\r\n // onClick={() => handleUpdate(row, null, 'modalEditDetail')}\r\n />\r\n {/* handleUpdate(row, null, 'modalEditDetail')} /> */}\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const closeByGridByBredcrumb = () => {\r\n setState((state) => ({ ...state, modalToggle: false, modalEditDetail: false }));\r\n };\r\n\r\n const crumbs = useMemo(() => {\r\n const tempCrumbs = [...baseCrumbs];\r\n let actionCol = baseCrumbs.find((element) => element.name === 'Defects');\r\n if (actionCol) {\r\n actionCol.onClick = closeByGridByBredcrumb;\r\n }\r\n if (state.modalEditDetail) {\r\n tempCrumbs.splice(3, 0, {\r\n name: `Defect Number ${state.defectNumberGenerated} [${formatters.DateTimeFormatter(state.defectDate)}]`,\r\n active: true\r\n });\r\n }\r\n return tempCrumbs;\r\n }, [state.modalToggle]);\r\n\r\n const handleUpdate = (data, vehicleId, modalName) => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (data) {\r\n newSt.defectID = data.defectID;\r\n newSt.rowVehicleID = data.defectVehicleID;\r\n newSt.defectNumberGenerated = data.defectNumberGenerated;\r\n newSt.defectDate = data.defectDate;\r\n }\r\n if (vehicleId) {\r\n newSt.rowVehicleID = vehicleId;\r\n }\r\n newSt[modalName] = true;\r\n\r\n return newSt;\r\n });\r\n };\r\n\r\n const closeModalHandler = (res, modalName) => {\r\n setState((state) => ({ ...state, [modalName]: false, filterVal: '' }));\r\n res && pullDefects();\r\n };\r\n\r\n const inputChange = (e) => {\r\n const value = e.target.value;\r\n setState((st) => ({\r\n ...st,\r\n filterVal: value\r\n }));\r\n };\r\n\r\n const gridBtnTitle = state.show ? 'Add Defect' : null;\r\n return (\r\n
\r\n <>\r\n {!state.modalEditDetail ? (\r\n
\r\n
\r\n \r\n
\r\n   \r\n {!state.modalToggle ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n ) : null}\r\n \r\n\r\n {state.modalToggle ? (\r\n <>\r\n closeModalHandler(true, 'modalToggle')}\r\n />\r\n \r\n ) : state.modalEditDetail ? (\r\n closeModalHandler(true, 'modalEditDetail')}\r\n fromPage={state.fromPage}\r\n pullDetails={props.pullDetails}\r\n />\r\n ) : (\r\n <>\r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl=\"VehicleDefects\"\r\n btnTitle={gridBtnTitle}\r\n idFieldName=\"defectID\"\r\n fileUploaderConfigName=\"DefectScreen\"\r\n onBtnClick={() => handleUpdate(null, state.filterVehicleID, 'modalToggle')}\r\n isReload={state.isReload}\r\n />\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default DriverDefectsScreen;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport { FormHelperText, Grid, InputLabel, Typography } from '@material-ui/core';\r\nimport { DatePicker, InputText, MandatoryField, SecondaryButton } from '../../../../Core/Controls';\r\nimport { postDriverCheckOut } from '../../../../Core/Services/InternalUser/Vehicle/driverInfoService';\r\nimport { useToast } from '../../../../Core/Hooks/useToast';\r\n\r\nconst VehicleCheckOut = (props) => {\r\n const { showToastSuccess, showToastError } = useToast();\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n isReload: null\r\n });\r\n const [error, setError] = useState({});\r\n\r\n useEffect(async () => {}, []);\r\n\r\n const inputChange = (event) => {\r\n const { name, value, checked } = event.target;\r\n\r\n setState((state) => ({\r\n ...state,\r\n [name]: value\r\n }));\r\n };\r\n\r\n const validate = () => {\r\n let errors = {};\r\n let isValid = true;\r\n if (!state.date) {\r\n errors.date = 'Date Change is required';\r\n isValid = false;\r\n }\r\n\r\n setError(errors);\r\n return isValid;\r\n };\r\n\r\n const handelSubmit = async () => {\r\n if (validate()) {\r\n let data = {\r\n vehicleDriverHistoryID: props.data.vehicleDriverHistoryID,\r\n vehicleID: props.data.vehicleID,\r\n dateCheckOut: state.date,\r\n mileageCheckOut: state.mileage\r\n };\r\n\r\n let submutRes = await postDriverCheckOut(data);\r\n if (submutRes.success) {\r\n showToastSuccess('Vehicle Check Out Successfully');\r\n props.onClose(true);\r\n } else {\r\n showToastError(submutRes.message);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Date of Change\r\n \r\n \r\n {error.date}\r\n \r\n \r\n Mileage of Change\r\n \r\n {/* {state.errors.DefectSignOffNotes} */}\r\n \r\n \r\n Check Out\r\n \r\n \r\n );\r\n};\r\n\r\nexport default VehicleCheckOut;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport GijgoGrid from '../../../../Core/Controls/GijgoGrid';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport DialogComp from '../../../../Core/Dialog/DialogComp';\r\nimport VehicleCheckOut from './checkOut';\r\nimport { BreadCrumbs } from '../../../../Core/Controls';\r\nimport ExitToAppIcon from '@material-ui/icons/ExitToApp';\r\nconst crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Check Out', active: true }\r\n];\r\n\r\nconst baseColumns = [\r\n {\r\n key: 'action',\r\n name: 'Action',\r\n width: 30,\r\n addFileUploaderIcon: true\r\n },\r\n { key: 'vehicleRegNumber', name: 'Reg Number', width: 100 },\r\n { key: 'vehicleMakeModel', name: 'Vehicle Description', width: 200 },\r\n { key: 'depotName', name: 'Depot', width: 100 }\r\n];\r\n\r\nconst CheckOutScreen = (props) => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n isReload: null\r\n });\r\n useEffect(async () => {\r\n pullApiData();\r\n }, []);\r\n\r\n const pullApiData = async () => {\r\n // let res = await getAllJobReminders();\r\n setState((st) => ({\r\n ...st,\r\n isReload: new Date(),\r\n showLoader: false\r\n }));\r\n };\r\n\r\n const dataFormatter = (data, row) => {\r\n return (\r\n
\r\n {/* */}\r\n \r\n setState((st) => ({\r\n ...st,\r\n show: true,\r\n selectedRowData: row\r\n }))\r\n }\r\n />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...baseColumns];\r\n let actionCol = tempCols.find((element) => element.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = dataFormatter;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const closeCheckOutModal = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n show: false\r\n }));\r\n res && pullApiData();\r\n };\r\n\r\n return (\r\n
\r\n \r\n ({\r\n records: res.data.list,\r\n total: res.data.total\r\n })}\r\n columns={columns}\r\n getUrl={`Drivers/GetDriverVehicles`}\r\n // btnTitle={gridBtnTitle}\r\n // onBtnClick={() => handleBreakDown(null, null, 'Add')}\r\n isReload={state.isReload}\r\n />\r\n {state.show ? (\r\n closeCheckOutModal(false)} maxWidth=\"md\">\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default CheckOutScreen;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { formatters, BreadCrumbs, DataGrid } from '../../Core/Controls';\r\nimport '../commonStyle.scss';\r\nimport '../InternalUser/Controllers/Vehicles/ScheduleVehicle/scheduleVehicleStyle.scss';\r\nimport { getScheduleByStatus } from '../../Core/Services/InternalUser/ControllerService/scheduleVehicleService';\r\nimport { CustomIconButton } from '../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport VehicleDailyChecks from '../InternalUser/Controllers/Vehicles/VehicleDailyChecks/vehicleDailyChecks';\r\nimport EditVehicleDailyChecks from '../InternalUser/Controllers/Vehicles/VehicleDailyChecks/editVehicleDailyCheck';\r\nimport { AppStorage } from '../../Core/Basic/storage-service';\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: 110, addFileUploaderIcon: true },\r\n { key: 'vehicleRegNumber', name: 'Reg Number', width: 120 },\r\n {\r\n key: 'scheduleDateDue',\r\n name: 'Due',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 100\r\n },\r\n {\r\n key: 'scheduleRequestedBookingDate',\r\n name: 'Booked',\r\n formatter: formatters.Date_DDMMYYYY,\r\n width: 120\r\n },\r\n\r\n { key: 'dueDateISOWeek', name: 'ISO Week', width: 100 },\r\n { key: 'scheduleEventName', name: 'Event' },\r\n {\r\n key: 'agentName',\r\n name: 'Agent'\r\n },\r\n { key: 'scheduleBookingStatus', name: 'Status', width: 200 }\r\n];\r\nconst TechnicianSchedule = (props) => {\r\n const [state, setState] = useState({\r\n open: false,\r\n showLoader: true,\r\n selectedRowData: {},\r\n isAdd: true,\r\n showChecks: false,\r\n showEditChecks: false\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n\r\n const getCrumbs = () => {\r\n return [\r\n { name: 'Home', path: '/' },\r\n { name: 'Confirmed Bookings', active: true }\r\n ];\r\n };\r\n useEffect(async () => {\r\n pullApiData();\r\n }, []);\r\n\r\n const handleCheck = (ev, val) => {\r\n setState((st) => {\r\n let newSt = { ...st };\r\n newSt.selectedRowData = ev.row;\r\n if (val === 'Ad') {\r\n newSt.showChecks = true;\r\n }\r\n if (val === 'Ed') {\r\n newSt.showEditChecks = true;\r\n }\r\n return newSt;\r\n });\r\n };\r\n\r\n const pullApiData = async () => {\r\n let res = await getScheduleByStatus(props.status);\r\n\r\n setState((st) => ({\r\n ...st,\r\n rows: [...(res.data.schedules || [])],\r\n showLoader: false\r\n }));\r\n };\r\n const renderEdit = (ev, param) => {\r\n return (\r\n
\r\n {ev.row?.vehicleInspectionID ? null : ev.row?.displayCheck ? (\r\n {\r\n handleCheck(ev, 'Ad');\r\n }}\r\n toolTipTitle=\"Add Inspection Check\"\r\n />\r\n ) : null}\r\n {ev.row?.vehicleInspectionID ? (\r\n {\r\n handleCheck(ev, 'Ed');\r\n }}\r\n toolTipTitle=\"Edit Inspection Check\"\r\n />\r\n ) : null}\r\n
\r\n );\r\n };\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = renderEdit;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleClose = (res) => {\r\n setState((st) => ({\r\n ...st,\r\n open: false,\r\n showChecks: false,\r\n showEditChecks: false,\r\n selectedRowData: {}\r\n }));\r\n res && pullApiData();\r\n };\r\n\r\n return (\r\n
\r\n \r\n {state.showChecks ? (\r\n \r\n ) : state.showEditChecks ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default TechnicianSchedule;\r\n","import React, { useEffect, useState } from 'react';\r\nimport Card from '@material-ui/core/Card';\r\nimport CardContent from '@material-ui/core/CardContent';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Container from '@material-ui/core/Container';\r\nimport GroupRoundedIcon from '@material-ui/icons/GroupRounded';\r\nimport LocalShippingRoundedIcon from '@material-ui/icons/LocalShippingRounded';\r\nimport BuildRoundedIcon from '@material-ui/icons/BuildRounded';\r\nimport HealingRoundedIcon from '@material-ui/icons/HealingRounded';\r\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\r\nimport CancelOutlinedIcon from '@material-ui/icons/CancelOutlined';\r\nimport LibraryAddCheckIcon from '@material-ui/icons/LibraryAddCheck';\r\nimport CallMissedIcon from '@material-ui/icons/CallMissed';\r\n\r\nimport { Link } from 'react-router-dom';\r\nimport '../../InternalUser/InternalDash.scss';\r\n\r\nconst LeadDashboard = () => {\r\n const [state, setState] = useState({\r\n rows_new: [],\r\n tilesData: []\r\n });\r\n\r\n const driverCheck = 'Driver Check';\r\n\r\n useEffect(async () => {}, []);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 10\r\n New Enquires\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 10\r\n Live Enquires\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 10\r\n Lost Enquires\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 10\r\n Successful Enquires\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LeadDashboard;\r\n","import React, { useEffect, useState, useMemo } from 'react';\r\nimport { EditButton, BreadCrumbs, DataGrid, formatters, SecondaryButton } from '../../../Core/Controls';\r\nimport { getAllEnquiry } from '../../../Core/Services/InternalUser/ControllerService/EnquiriService';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nlet obj = {\r\n 1: 'New Enquiries',\r\n 2: 'Live Enquiries',\r\n 3: 'Successful Enquiries',\r\n 4: 'Lost Enquiries'\r\n};\r\nconst setEnquiry = { 1: 'new_enquiry', 2: 'live_enquiry', 3: 'successful_enquiry', 4: 'lost_enquiry' };\r\n\r\nconst basecolumns = [\r\n { key: 'action', name: 'Action', width: '5%' },\r\n { key: 'leadCompanyName', name: 'Company Name' },\r\n { key: 'leadMainContactName', name: 'Contact Name' },\r\n { key: 'leadMainContactPhone', name: 'Contact Phone' },\r\n { key: 'leadMainContactEmail', name: 'Contact Email' },\r\n { key: 'leadCity', name: 'City' },\r\n { key: 'leadReferrerName', name: 'Referrer Name' }\r\n];\r\n\r\nconst LeadEnquiriesScreen = (props) => {\r\n let history = useHistory();\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: obj[props.id], active: true }\r\n ];\r\n\r\n const [state, setState] = useState({\r\n modalToggle: false,\r\n EnquiriesID: null,\r\n enquiriesList: [],\r\n showLoader: true\r\n });\r\n\r\n useEffect(async () => {\r\n pullEnquiriesData();\r\n }, []);\r\n\r\n const pullEnquiriesData = async () => {\r\n let res = {};\r\n res = await getAllEnquiry();\r\n setState((st) => ({\r\n ...st,\r\n enquiriesList: res.data?.list?.filter((m) => {\r\n if (m.leadStatusID == props.id) {\r\n return m;\r\n }\r\n }),\r\n showLoader: false\r\n }));\r\n };\r\n\r\n const actionButton = (data) => {\r\n return (\r\n
\r\n handleEnquiriesUpdate(data?.row?.leadID)} toolTipTitle=\"Edit Enquiries\" />\r\n
\r\n );\r\n };\r\n\r\n const columns = useMemo(() => {\r\n const tempCols = [...basecolumns];\r\n let actionCol = tempCols.find((e) => e.key === 'action');\r\n if (actionCol) {\r\n actionCol.formatter = actionButton;\r\n }\r\n return tempCols;\r\n }, []);\r\n\r\n const handleEnquiriesUpdate = (params) => {\r\n history.push(`/Enquiries/edit/${params}?${setEnquiry[props.id]}`);\r\n };\r\n\r\n const handleEnquiriesAdd = () => {\r\n history.push(`/Enquiries/add/0`);\r\n };\r\n\r\n return (\r\n
\r\n <>\r\n {!props.VehicleID && }\r\n \r\n \r\n {/* )} */}\r\n
\r\n );\r\n};\r\n\r\nexport default LeadEnquiriesScreen;\r\n","export const TypeOfAuth = {\r\n NonAuth: 0,\r\n Auth: 1,\r\n Both: 2,\r\n};","import * as Components from './../../../../Components';\r\nimport { TypeOfAuth } from './../menu-auth-type';\r\n\r\nexport default [\r\n {\r\n label: 'Logout',\r\n path: '/logout',\r\n hidden: true,\r\n exact: true,\r\n component: Components.Logout,\r\n authType: TypeOfAuth.Auth\r\n }\r\n];\r\n","import * as Components from './../../../../Components';\r\nimport { TypeOfAuth } from './../menu-auth-type';\r\n\r\nexport default [\r\n {\r\n label: 'Home',\r\n path: '/',\r\n exact: true,\r\n component: Components.SharedHome,\r\n authType: TypeOfAuth.Both\r\n },\r\n {\r\n label: 'Login',\r\n path: '/login',\r\n exact: true,\r\n hidden: true,\r\n component: Components.Login,\r\n authType: TypeOfAuth.NonAuth\r\n },\r\n {\r\n label: 'Reset Password',\r\n path: '/ResetPassword/:id',\r\n hidden: true,\r\n component: Components.ResetPassword,\r\n authType: TypeOfAuth.NonAuth\r\n }\r\n];\r\n","import * as Components from './../../../../Components';\r\nimport { TypeOfAuth } from './../menu-auth-type';\r\nimport LinkIcon from '@material-ui/icons/Link';\r\nimport DashboardIcon from '@material-ui/icons/Dashboard';\r\nimport PeopleAltIcon from '@material-ui/icons/PeopleAlt';\r\nimport SettingsIcon from '@material-ui/icons/Settings';\r\nimport AirlineSeatReclineExtraIcon from '@material-ui/icons/AirlineSeatReclineExtra';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport EventIcon from '@material-ui/icons/Event';\r\nimport GavelIcon from '@material-ui/icons/Gavel';\r\nimport LocalTaxiIcon from '@material-ui/icons/LocalTaxi';\r\nimport VerifiedUserIcon from '@material-ui/icons/VerifiedUser';\r\nimport EuroIcon from '@material-ui/icons/Euro';\r\nimport GrainIcon from '@material-ui/icons/Grain';\r\nimport EmojiTransportationIcon from '@material-ui/icons/EmojiTransportation';\r\nimport MailOutlineRoundedIcon from '@material-ui/icons/MailOutlineRounded';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport MapIcon from '@material-ui/icons/Map';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport PermContactCalendarIcon from '@material-ui/icons/PermContactCalendar';\r\n\r\nexport default [\r\n {\r\n label: 'Dashboard',\r\n path: '/',\r\n exact: true,\r\n component: Components.AdminDashboard,\r\n authType: TypeOfAuth.Both,\r\n icon: \r\n },\r\n {\r\n label: 'Users',\r\n path: '/users/:all',\r\n exact: true,\r\n component: Components.UserScreen,\r\n authType: TypeOfAuth.Both,\r\n icon: \r\n },\r\n {\r\n label: 'Customers',\r\n path: '/controller/customer',\r\n exact: true,\r\n icon: ,\r\n component: Components.CustomerScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Edit Customer',\r\n path: '/controller/editcustomer/:id/:customer',\r\n hidden: true,\r\n exact: true,\r\n component: Components.EditCustomer,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Branches',\r\n path: '/branches',\r\n exact: true,\r\n component: Components.BranchScreen,\r\n authType: TypeOfAuth.Both,\r\n icon: \r\n },\r\n // {\r\n // label: 'Admin',\r\n // authType: TypeOfAuth.Both,\r\n // icon: ,\r\n // children: [\r\n {\r\n label: 'Report Catalogues',\r\n path: '/reportcatalogues',\r\n icon: ,\r\n exact: true,\r\n component: Components.ReportCataloguesScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Drivers',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'License Types',\r\n path: '/driver/licensetype',\r\n exact: true,\r\n component: Components.LicenseType,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Types',\r\n path: '/driver/drivertype',\r\n exact: true,\r\n component: Components.DriverType,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Jobs',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'VMRS Categories',\r\n path: '/vehicle/VmrsCategory',\r\n exact: true,\r\n component: Components.VmrsCategory,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'VMRS SubCategories',\r\n path: '/vehicle/vmrssubcategory',\r\n exact: true,\r\n component: Components.VmrsSubCategoryScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Booking Status',\r\n path: '/vehicle/bookingstatus',\r\n exact: true,\r\n component: Components.BookingStatus,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Booking Delay Reasons',\r\n path: '/vehicle/bookingdelayreason',\r\n exact: true,\r\n component: Components.BookingDelayReason,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Collection And Deliveries',\r\n path: '/vehicle/collectionndelivery',\r\n exact: true,\r\n component: Components.CollectionNDelivery,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Cost Categories',\r\n path: '/vehicle/cost-categories',\r\n exact: true,\r\n component: Components.CostCategories,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Cost Types',\r\n path: '/vehicle/Cost-types',\r\n exact: true,\r\n component: Components.CostTypes,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Events',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Slippage Reasons',\r\n path: '/vehicle/SlippageScreen',\r\n exact: true,\r\n component: Components.Slippage,\r\n authType: TypeOfAuth.Auth\r\n },\r\n\r\n {\r\n label: 'Documents',\r\n path: '/vehicle/eventdocs',\r\n exact: true,\r\n component: Components.EventDocuments,\r\n authType: TypeOfAuth.Auth\r\n },\r\n // {\r\n // label: 'Types',\r\n // path: '/vehicle/eventinternaltypes',\r\n // exact: true,\r\n // component: Components.EventIntTypes,\r\n // authType: TypeOfAuth.Auth\r\n // },\r\n {\r\n label: 'Schedule Events',\r\n path: '/vehicle/scheduleevents',\r\n exact: true,\r\n component: Components.ScheduleEvents,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Service Agents',\r\n authType: TypeOfAuth.Auth,\r\n // icon: < BuildIcon / > ,\r\n path: '/serviceagent',\r\n exact: true,\r\n component: Components.ServiceAgent,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'ServiceAgentDashBoard',\r\n path: '/controller/editServiceAgent/:id',\r\n exact: true,\r\n component: Components.EditServiceAgent,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Maintenance Providers',\r\n path: '/maintenance/maintenanceprovider',\r\n exact: true,\r\n component: Components.MaintenanceProvider,\r\n authType: TypeOfAuth.Auth,\r\n icon: \r\n },\r\n {\r\n label: 'Vehicles',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Vehicle Types',\r\n path: '/vehicle/vehicletype',\r\n exact: true,\r\n component: Components.VehicleType,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Makes',\r\n path: '/vehicle/make',\r\n exact: true,\r\n component: Components.VehicleManufacturer,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Models',\r\n path: '/vehicle/model',\r\n exact: true,\r\n component: Components.ModelScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'VOR Types',\r\n path: '/VOR/vortypes',\r\n exact: true,\r\n component: Components.VorType,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Retorque Reasons',\r\n path: '/VOR/retorquereasons',\r\n exact: true,\r\n component: Components.RetorqueReasons,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Retorque Positions',\r\n path: '/VOR/retorqueposition',\r\n exact: true,\r\n component: Components.RetorquePositions,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'VOR Type Details',\r\n path: '/VOR/vortypedetails',\r\n exact: true,\r\n component: Components.VORTypeDetail,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Vehicle Categories',\r\n path: '/vehicle/vehicle-category',\r\n exact: true,\r\n component: Components.VehicleCategory,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Fuel Types',\r\n path: '/vehicle/fuel-types',\r\n exact: true,\r\n component: Components.FuelTypes,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Defect Types',\r\n path: '/vehicle/defect-Type',\r\n exact: true,\r\n component: Components.DefectType,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Vehicle Checks',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Inspection Sections',\r\n path: '/vehicle/checksection',\r\n exact: true,\r\n component: Components.CheckSection,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Inspection Checks',\r\n path: '/vehicle/VehicleCheckChecks',\r\n exact: true,\r\n component: Components.VehicleCheckChecks,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Daily Checks',\r\n path: '/vehicle/VehicleDailyChecks',\r\n exact: true,\r\n component: Components.vehicleDailyChecksTab,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Navigation',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n // {\r\n // label: 'Left',\r\n // path: '/navigation/left-menu',\r\n // exact: true,\r\n // hidden: true,\r\n // component: Components.TreeViewTab,\r\n // authType: TypeOfAuth.Auth\r\n // },\r\n {\r\n label: 'Menu Items',\r\n path: '/navigation/menu-items',\r\n exact: true,\r\n component: Components.MenuTab,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Service Agent Facilities',\r\n path: '/vehicle/serviceagentfacilities',\r\n exact: true,\r\n component: Components.ServiceAgentFacilities,\r\n // icon: < EmojiTransportationIcon / > ,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Cost Centres',\r\n path: '/vehicle/costcentre',\r\n icon: ,\r\n exact: true,\r\n component: Components.CostCenter,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Product Groups',\r\n path: '/vehicle/ProductGroupScreen',\r\n icon: ,\r\n hidden: true,\r\n exact: true,\r\n component: Components.ProductGroup,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Email Templates',\r\n path: '/vehicle/email_templates',\r\n icon: ,\r\n exact: true,\r\n component: Components.EmailTemplates,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Settings',\r\n path: '/Settings',\r\n icon: ,\r\n exact: true,\r\n component: Components.Settings,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'BookJob',\r\n path: '/controller/jobTabScreen/:id/:vehicleID',\r\n exact: true,\r\n component: Components.jobTabScreen,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n];\r\n// }\r\n// ];\r\n","import * as Components from '../../../../Components';\r\nimport { TypeOfAuth } from '../menu-auth-type';\r\nimport DashboardIcon from '@material-ui/icons/Dashboard';\r\nimport PermContactCalendarIcon from '@material-ui/icons/PermContactCalendar';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport GavelIcon from '@material-ui/icons/Gavel';\r\nimport DriveEtaIcon from '@material-ui/icons/DriveEta';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport ScheduleIcon from '@material-ui/icons/Schedule';\r\nimport LocalShippingIcon from '@material-ui/icons/LocalShipping';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport ExploreRoundedIcon from '@material-ui/icons/ExploreRounded';\r\nimport AssignmentTurnedInIcon from '@material-ui/icons/AssignmentTurnedIn';\r\nimport AssignmentIcon from '@material-ui/icons/Assignment';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\n\r\nexport default [\r\n {\r\n label: 'Dashboard',\r\n path: '/',\r\n exact: true,\r\n component: Components.InternalDashboard,\r\n authType: TypeOfAuth.Both,\r\n icon: \r\n },\r\n {\r\n label: 'Customers',\r\n path: '/controller/customer',\r\n exact: true,\r\n icon: ,\r\n component: Components.CustomerScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Depots',\r\n path: '/controller/Depots',\r\n exact: true,\r\n component: Components.VehicleDepots,\r\n authType: TypeOfAuth.Auth,\r\n icon: \r\n },\r\n {\r\n label: 'Depots',\r\n path: '/controller/Depots/:id',\r\n exact: true,\r\n hidden: true,\r\n component: Components.EditDepot,\r\n authType: TypeOfAuth.Auth,\r\n icon: \r\n },\r\n {\r\n label: 'Drivers',\r\n component: Components.DriverScreen,\r\n path: '/controller/driver',\r\n authType: TypeOfAuth.Auth,\r\n icon: \r\n },\r\n\r\n {\r\n label: 'Edit Customer',\r\n path: '/controller/editcustomer/:id/:customer',\r\n hidden: true,\r\n exact: true,\r\n component: Components.EditCustomer,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Driver',\r\n component: Components.EditDriver,\r\n path: '/controller/editdriver/:id/:name',\r\n authType: TypeOfAuth.Auth,\r\n hidden: true\r\n },\r\n {\r\n label: 'Service Agents',\r\n authType: TypeOfAuth.Auth,\r\n icon: ,\r\n path: '/serviceagent',\r\n exact: true,\r\n component: Components.ServiceAgent,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Vehicles',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n path: '/controller/Vehicles/:all',\r\n exact: true,\r\n component: Components.VehicleScreen\r\n },\r\n {\r\n label: 'Tax',\r\n authType: TypeOfAuth.Both,\r\n // icon: ,\r\n path: '/controller/Vehicles/T',\r\n exact: true,\r\n component: Components.VehicleScreen\r\n },\r\n {\r\n label: 'Insurance',\r\n authType: TypeOfAuth.Both,\r\n // icon: ,\r\n path: '/controller/Vehicles/I',\r\n exact: true,\r\n component: Components.VehicleScreen\r\n },\r\n {\r\n label: 'Reports',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Reports List',\r\n path: '/reports/reportlist/',\r\n exact: true,\r\n component: Components.ReportsListScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Purchase - Unpaid',\r\n path: '/purchaseunpaid',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Purchase - Paid',\r\n path: '/purchasepaid',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n\r\n {\r\n label: 'Reports List',\r\n path: '/reports/reportlist/:name/:id',\r\n exact: true,\r\n hidden: true,\r\n component: Components.FilteredReportsListScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Daily Checks',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'All Checks',\r\n path: '/internalDailyChecks/all',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Unreviewed',\r\n path: '/internalDailyChecks/unreviwed',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Failed',\r\n path: '/internalDailyChecks/failed',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Passed',\r\n path: '/internalDailyChecks/passed',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Monitor',\r\n path: '/internalDailyChecks/monitor',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimates',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Received',\r\n path: '/serviceagent/EP',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimate Revised',\r\n path: '/serviceagent/ER',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Jobs Unassigned',\r\n path: '/serviceagent/AU',\r\n exact: true,\r\n hidden: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n // {\r\n // label: 'Jobs Open',\r\n // path: '/serviceagent/JP',\r\n // exact: true,\r\n // component: () => {\r\n // return ;\r\n // },\r\n // authType: TypeOfAuth.Auth\r\n // },\r\n {\r\n label: 'Jobs In Query',\r\n path: '/serviceagent/QJ',\r\n exact: true,\r\n hidden: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n\r\n {\r\n label: 'Jobs',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'All Jobs',\r\n path: '/controller/Jobs',\r\n exact: true,\r\n component: Components.JobScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Job Reminders',\r\n path: '/controller/jobreminder',\r\n exact: true,\r\n component: Components.JobReminder,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Open Jobs',\r\n path: '/serviceagent/OJ',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Awaiting Approvals',\r\n path: '/serviceagent/AR',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimates Awaiting Approvals',\r\n path: '/serviceagent/EC',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimate Queried',\r\n path: '/serviceagent/EQ',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimate Accepted',\r\n path: '/serviceagent/EA',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Customer Query',\r\n path: '/serviceagent/CQ',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Agent Query',\r\n path: '/serviceagent/AQ',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Fleet247 Query || Awating Review',\r\n path: '/serviceagent/FR',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Approved',\r\n path: '/serviceagent/CA',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Maintenance',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Breakdowns',\r\n path: '/maintenance/breakdowns/:all',\r\n exact: true,\r\n component: Components.BreakDownDashboard,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'VOR',\r\n component: Components.VorScreen,\r\n path: '/controller/vor',\r\n authType: TypeOfAuth.Auth,\r\n exact: true\r\n },\r\n {\r\n label: 'Defects',\r\n path: '/maintenance/defects',\r\n exact: true,\r\n component: Components.DefectsScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n // {\r\n // label: 'Invoice',\r\n // path: '/maintenance/invoice',\r\n // exact: true,\r\n // component: Components.InvoiceScreen,\r\n // authType: TypeOfAuth.Auth\r\n // }\r\n // {\r\n // label: 'Vehicle Checks',\r\n // path: '/maintenance/vehiclecheck',\r\n // exact: true,\r\n // component: Components.VehicleCheckDaily,\r\n // authType: TypeOfAuth.Auth\r\n // },\r\n {\r\n label: 'Schedules',\r\n icon: ,\r\n authType: TypeOfAuth.Auth,\r\n children: []\r\n },\r\n {\r\n label: 'All Schedules',\r\n path: '/maintenance/schedules/:all',\r\n exact: true,\r\n component: Components.MaintenanceSchedules,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Schedules calendar',\r\n path: '/maintenance/schedulescalendar',\r\n exact: true,\r\n component: Components.ScheduleDashboard,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Service',\r\n path: '/maintenance/schedules/S',\r\n exact: true,\r\n component: Components.MaintenanceSchedules,\r\n authType: TypeOfAuth.Auth\r\n },\r\n\r\n {\r\n label: 'MOTs',\r\n path: '/maintenance/schedules/M',\r\n exact: true,\r\n component: Components.MaintenanceSchedules,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Inspection',\r\n path: '/maintenance/schedules/I',\r\n exact: true,\r\n component: Components.MaintenanceSchedules,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Other',\r\n path: '/maintenance/schedules/O',\r\n exact: true,\r\n component: Components.MaintenanceSchedules,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Bookings Requsted',\r\n path: '/schedule/bookingsrequsted',\r\n exact: true,\r\n authType: TypeOfAuth.Auth,\r\n component: () => {\r\n return ;\r\n }\r\n },\r\n {\r\n label: 'Accepted by Agents',\r\n path: '/schedule/acceptedbyagents',\r\n exact: true,\r\n authType: TypeOfAuth.Auth,\r\n component: () => {\r\n return ;\r\n }\r\n },\r\n {\r\n label: 'Bookings Rejected',\r\n path: '/schedule/bookingsrejected',\r\n exact: true,\r\n authType: TypeOfAuth.Auth,\r\n component: () => {\r\n return ;\r\n }\r\n },\r\n {\r\n label: 'Confirmed Bookings',\r\n path: '/schedule/confirmedbookings',\r\n exact: true,\r\n authType: TypeOfAuth.Auth,\r\n component: () => {\r\n return ;\r\n }\r\n },\r\n {\r\n label: 'Outstanding Documents',\r\n path: '/schedule/outstandingdocuments',\r\n exact: true,\r\n component: Components.OutStandingDocuments,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Schedule Planner',\r\n path: '/schedule/scheduleplanner',\r\n exact: true,\r\n component: Components.SchedulePlannerScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'ServiceAgentDashBoard',\r\n path: '/controller/editServiceAgent/:id',\r\n exact: true,\r\n component: Components.EditServiceAgent,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n\r\n {\r\n label: 'VehicleDashBoard',\r\n path: '/controller/editVehicle/:id/:name?/:serviceAgentid?',\r\n exact: true,\r\n component: Components.EditVehicle,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Customers',\r\n path: '/controller/Addcustomer',\r\n exact: true,\r\n hidden: true,\r\n component: Components.AddEditCustomer,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Vehicle Job Book Detail',\r\n path: '/controller/jobbookeddetail/',\r\n component: Components.JobBookDetail,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Service Agent Map',\r\n path: '/controller/getagentLocation/:location?',\r\n hidden: true,\r\n authType: TypeOfAuth.Auth,\r\n component: Components.GetAgentLocation\r\n },\r\n {\r\n label: 'BookJob',\r\n path: '/controller/jobTabScreen/:id/:vehicleID/:tabIndex?',\r\n exact: true,\r\n component: Components.jobTabScreen,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Service Agent DashBoard',\r\n path: '/controller/editServiceAgent/:id',\r\n exact: true,\r\n component: Components.EditServiceAgent,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Unassigned Jobs',\r\n path: '/controller/unassigned-jobs',\r\n exact: true,\r\n hidden: true,\r\n component: Components.UnassignedJob,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Message',\r\n path: '/message',\r\n exact: true,\r\n hidden: true,\r\n component: Components.InternalUserChatting,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'ContractField',\r\n path: '/contractField',\r\n exact: true,\r\n hidden: true,\r\n component: Components.ContractField,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Enquires',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n // {\r\n // label: 'New Enquiries',\r\n // path: '/Enquiries',\r\n // exact: true,\r\n // component: Components.EnquiriesScreen,\r\n // authType: TypeOfAuth.Auth\r\n // },\r\n\r\n {\r\n label: 'New Enquires',\r\n path: '/enquiries/new_enquiry',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Live Enquires',\r\n path: '/enquiries/live_enquiry',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Lost Enquires',\r\n path: '/enquiries/lost_enquiry',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Successful Enquires',\r\n path: '/enquiries/successful_enquiry',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Edit Enquiry',\r\n path: '/Enquiries/edit/:id?',\r\n exact: true,\r\n hidden: true,\r\n component: Components.EnquiryEditModal,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Add Enquiry',\r\n path: '/Enquiries/add/:id?',\r\n exact: true,\r\n hidden: true,\r\n component: Components.AddEnquiries,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'EditBreakDown',\r\n path: '/maintenance/breakdowns/Edit/:BreakDownID/:VehicleID',\r\n exact: true,\r\n hidden: true,\r\n component: Components.EditBreakdownLink,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'EditDefect',\r\n path: '/maintenance/defect/edit/:DefectID/:VehicleID',\r\n exact: true,\r\n hidden: true,\r\n component: Components.DefectEditDetails,\r\n authType: TypeOfAuth.Auth\r\n },\r\n { label: 'Job Tracking', path: '/jobtracking', exact: true, component: Components.JobTracking, authType: TypeOfAuth.Auth },\r\n {\r\n label: 'Breakdown Roadside',\r\n path: '/jobtracking/BR',\r\n hidden: true,\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Defect',\r\n path: '/jobtracking/DD',\r\n hidden: true,\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Breakdown Onsite',\r\n path: '/jobtracking/BO',\r\n hidden: true,\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Inspections',\r\n path: '/inspection',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Repair Required',\r\n path: '/inspection_repair_required',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Awaiting Sign Off',\r\n path: '/inspection_completed',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Repair In Progress',\r\n path: '/in_progress',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Signed Off',\r\n path: '/signed_off',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Vor Reporting',\r\n path: '/controller/VorReporting/:id?',\r\n exact: true,\r\n hidden: true,\r\n component: Components.VorReportingModal,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Company Details',\r\n path: '/company_details',\r\n exact: true,\r\n hidden: true,\r\n component: Components.CompanyDetail,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Breakdown Reporting',\r\n path: '/maintenance/breakdown/reporting/:id?',\r\n exact: true,\r\n hidden: true,\r\n component: Components.BreakdownDefectReporting,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Defect Reporting',\r\n path: '/maintenance/defect/reporting/:id?',\r\n exact: true,\r\n hidden: true,\r\n component: Components.BreakdownDefectReporting,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Job Reporting',\r\n path: '/job/job_Reporting',\r\n exact: true,\r\n hidden: true,\r\n component: Components.JobReportScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n\r\n {\r\n label: 'Deleted Record',\r\n path: '',\r\n exact: true,\r\n component: Components.DeletedJobs,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Deleted Jobs',\r\n path: '/Deleted_jobs',\r\n exact: true,\r\n component: Components.DeletedJobs,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Deleted Defects',\r\n path: '/Deleted_Defects',\r\n exact: true,\r\n component: Components.DeletedDefect,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Sales - Unpaid',\r\n path: '/salesunpaid',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Sales - Paid',\r\n path: '/salespaid',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Sales - Paid',\r\n path: '/update_sales_invoice/:id?',\r\n exact: true,\r\n component: Components.UpdateSalesInvoice,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n }\r\n];\r\n","import React from 'react';\r\nimport { BreadCrumbs, TabView } from '../../../../../Core/Controls';\r\nimport EditDepotDash from './depotDashboard';\r\nimport { useHistory } from 'react-router-dom';\r\nimport Department from './Department';\r\n\r\nexport default function EditDepot(props) {\r\n let history = useHistory();\r\n const id = props.match.params.id;\r\n\r\n // const name = props.match.params.name;\r\n\r\n const crumbs = [\r\n { name: 'Home', path: '/' },\r\n { name: 'Depots', path: '/controller/Depots' }\r\n ];\r\n const closeScreen = () => {\r\n history.push(`/controller/Depots`);\r\n };\r\n const tabs = [\r\n {\r\n label: 'Dashboard',\r\n body: \r\n },\r\n {\r\n label: 'Department',\r\n body: \r\n }\r\n ];\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n","import * as Components from '../../../../Components';\r\nimport { TypeOfAuth } from '../menu-auth-type';\r\nimport DashboardIcon from '@material-ui/icons/Dashboard';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport GavelIcon from '@material-ui/icons/Gavel';\r\nimport HealingIcon from '@material-ui/icons/Healing';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport ScheduleIcon from '@material-ui/icons/Schedule';\r\nimport ExploreRoundedIcon from '@material-ui/icons/ExploreRounded';\r\n\r\nexport default [\r\n {\r\n label: 'Dashboard',\r\n path: '/',\r\n exact: true,\r\n component: Components.ServiceAgentDash,\r\n authType: TypeOfAuth.Both,\r\n icon: \r\n },\r\n // {\r\n // label: \"Defect\",\r\n // path: \"/defect\",\r\n // exact: true,\r\n // component: Components.ServiceAgentDashboard,\r\n // authType: TypeOfAuth.Both,\r\n // icon: ,\r\n // },\r\n\r\n // {\r\n // label: 'Schedules',\r\n // path: '/allvehicleschedules',\r\n // exact: true,\r\n // component: Components.AllVehicleSchedules,\r\n // authType: TypeOfAuth.Both,\r\n // icon: \r\n // },\r\n {\r\n label: 'BookJob',\r\n path: '/controller/jobTabScreen/:id/:vehicleID/:tabIndex?',\r\n exact: true,\r\n component: Components.jobTabScreen,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Schedules',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Booking Requests',\r\n path: '/schedule/bookingrequests',\r\n exact: true,\r\n component: Components.BookingRequests,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Confirmed Bookings',\r\n path: '/schedule/confirmedbookings',\r\n exact: true,\r\n component: Components.ConfirmedBookings,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Booking Accepted',\r\n path: '/schedule/bookingaccepted',\r\n exact: true,\r\n component: Components.AcceptRejectByAgent,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Booking Rejected',\r\n path: '/schedule/bookingrejected',\r\n exact: true,\r\n component: Components.AcceptRejectByAgent,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Defects',\r\n path: '/serviceagent/defect',\r\n exact: true,\r\n component: Components.ServiceAgentDefectsScreen,\r\n authType: TypeOfAuth.Both,\r\n icon: \r\n },\r\n {\r\n label: 'Defects',\r\n path: '/serviceagent/defects',\r\n exact: true,\r\n component: Components.DefetctStatusGrid,\r\n authType: TypeOfAuth.Auth,\r\n hidden: true\r\n },\r\n {\r\n label: 'Breakdowns',\r\n authType: TypeOfAuth.Auth,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'All Breakdowns',\r\n path: '/maintenance/breakdowns/:all',\r\n exact: true,\r\n component: Components.ServiceAgentBreakdown,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Breakdown Onsite',\r\n path: '/maintenance/breakdowns/typebo',\r\n exact: true,\r\n component: Components.BreakDownDashboard,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Breakdown Roadsite',\r\n path: '/maintenance/breakdowns/typebr',\r\n exact: true,\r\n component: Components.BreakDownDashboard,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimates',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Awaiting Approval',\r\n path: '/serviceagent/EP',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimates Awaiting Approvals',\r\n path: '/serviceagent/EC',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimate Revised',\r\n path: '/serviceagent/ER',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimate Queried',\r\n path: '/serviceagent/EQ',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimate Accepted',\r\n path: '/serviceagent/EA',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Jobs',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Awaiting Approvals',\r\n path: '/serviceagent/AR',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Approved',\r\n path: '/serviceagent/CA',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n // {\r\n // label: 'Driver Defects',\r\n // path: '/serviceagent/DD',\r\n // exact: true,\r\n // component: ()=>{return },\r\n // authType: TypeOfAuth.Auth\r\n // },\r\n {\r\n label: 'Open Jobs',\r\n path: '/serviceagent/OJ',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Queried Jobs',\r\n path: '/serviceagent/QJ',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'EditBreakDown',\r\n path: '/maintenance/breakdowns/Edit/:BreakDownID/:VehicleID',\r\n exact: true,\r\n hidden: true,\r\n component: Components.EditBreakdownLink,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'EditDefect',\r\n path: '/maintenance/defect/edit/:DefectID/:VehicleID',\r\n exact: true,\r\n hidden: true,\r\n component: Components.DefectEditDetails,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Inspections',\r\n path: '/inspection',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Repair Required',\r\n path: '/inspection_repair_required',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Awaiting Sign Off',\r\n path: '/inspection_completed',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Repair In Progress',\r\n path: '/in_progress',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Signed Off',\r\n path: '/signed_off',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Awaiting Cost Review',\r\n path: '/serviceagent/FR',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n }\r\n // {\r\n // label: 'Schedule Defects',\r\n // path: '/serviceagent/SD',\r\n // exact: true,\r\n // component: ()=>{return },\r\n // authType: TypeOfAuth.Auth\r\n // },\r\n];\r\n","import * as Components from '../../../../Components';\r\nimport { TypeOfAuth } from '../menu-auth-type';\r\nimport DashboardIcon from '@material-ui/icons/Dashboard';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport GavelIcon from '@material-ui/icons/Gavel';\r\nimport DriveEtaIcon from '@material-ui/icons/DriveEta';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport ExploreRoundedIcon from '@material-ui/icons/ExploreRounded';\r\nimport AssignmentTurnedInIcon from '@material-ui/icons/AssignmentTurnedIn';\r\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\r\nimport LocalShippingIcon from '@material-ui/icons/LocalShipping';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\n\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\n\r\nexport default [\r\n {\r\n label: 'Dashboard',\r\n path: '/',\r\n exact: true,\r\n component: Components.CustomerDashobard,\r\n authType: TypeOfAuth.Both,\r\n icon: \r\n },\r\n {\r\n label: 'Drivers',\r\n component: Components.CustomerDriverScreen,\r\n path: '/controller/driver',\r\n authType: TypeOfAuth.Auth,\r\n icon: \r\n },\r\n {\r\n label: 'Vehicle',\r\n component: Components.CustomerVehicleScreen,\r\n path: '/controller/vehicles/:all?',\r\n authType: TypeOfAuth.Auth,\r\n icon: \r\n },\r\n {\r\n label: 'Depots',\r\n path: '/controller/Depots',\r\n exact: true,\r\n component: Components.CustomerDepots,\r\n authType: TypeOfAuth.Auth,\r\n icon: \r\n },\r\n {\r\n label: 'Driver',\r\n component: Components.EditDriver,\r\n path: '/controller/editdriver/:id/:name',\r\n authType: TypeOfAuth.Auth,\r\n hidden: true\r\n },\r\n {\r\n label: 'Daily Checks',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'All Checks',\r\n path: '/customerDailyChecks/all',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Unreviewed',\r\n path: '/customerDailyChecks/unreviwed',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Failed',\r\n path: '/customerDailyChecks/failed',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Passed',\r\n path: '/customerDailyChecks/passed',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Monitor',\r\n path: '/customerDailyChecks/monitor',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimates',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Received',\r\n path: '/customer/EP',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Requested',\r\n path: '/customer/ER',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Jobs',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'All Jobs',\r\n path: '/controller/Jobs',\r\n exact: true,\r\n component: Components.CustomerJobScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Awaiting Approvals',\r\n path: '/serviceagent/AR',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimates Awaiting Approvals',\r\n path: '/serviceagent/EC',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Estimates Queried',\r\n path: '/serviceagent/EQ',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Open Jobs',\r\n path: '/serviceagent/OJ',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Approved',\r\n path: '/serviceagent/CA',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Customer Query',\r\n path: '/serviceagent/CQ',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Maintenance',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Breakdowns',\r\n path: '/maintenance/breakdowns/:all',\r\n exact: true,\r\n component: Components.CustomerBreakDownDashboard,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Defects',\r\n path: '/maintenance/defects',\r\n exact: true,\r\n component: Components.CustomerDefectsScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n\r\n {\r\n label: 'Vehicle Checks',\r\n path: '/maintenance/vehiclecheck',\r\n exact: true,\r\n component: Components.CustomerVehicleCheckDaily,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'VOR',\r\n component: Components.VorScreen,\r\n path: '/controller/vor',\r\n authType: TypeOfAuth.Auth,\r\n exact: true\r\n // hidden: true\r\n },\r\n\r\n {\r\n label: 'Schedules',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'All Schedules',\r\n path: '/maintenance/schedules/:all',\r\n exact: true,\r\n component: Components.CustomerAllVehicleSchedules,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Bookings Requsted',\r\n path: '/schedule/bookingsrequsted',\r\n exact: true,\r\n authType: TypeOfAuth.Auth,\r\n component: () => {\r\n return ;\r\n }\r\n },\r\n {\r\n label: 'Accepted by Agents',\r\n path: '/schedule/acceptedbyagents',\r\n exact: true,\r\n authType: TypeOfAuth.Auth,\r\n component: () => {\r\n return ;\r\n }\r\n },\r\n {\r\n label: 'Bookings Rejected',\r\n path: '/schedule/bookingsrejected',\r\n exact: true,\r\n authType: TypeOfAuth.Auth,\r\n component: () => {\r\n return ;\r\n }\r\n },\r\n {\r\n label: 'Confirmed Bookings',\r\n path: '/schedule/confirmedbookings',\r\n exact: true,\r\n authType: TypeOfAuth.Auth,\r\n component: () => {\r\n return ;\r\n }\r\n },\r\n\r\n {\r\n label: 'VehicleDashBoard',\r\n path: '/controller/editVehicle/:id/:name?',\r\n exact: true,\r\n component: Components.EditVehicle,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Service Agent Map',\r\n path: '/controller/getagentLocation/:location?',\r\n hidden: true,\r\n authType: TypeOfAuth.Auth,\r\n component: Components.GetAgentLocation\r\n },\r\n {\r\n label: 'BookJob',\r\n path: '/controller/jobTabScreen/:id/:vehicleID/:tabIndex?',\r\n exact: true,\r\n component: Components.jobTabScreen,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Unassigned Jobs',\r\n path: '/controller/unassigned-jobs',\r\n exact: true,\r\n hidden: true,\r\n component: Components.UnassignedJob,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Message',\r\n path: '/message',\r\n exact: true,\r\n hidden: true,\r\n component: Components.InternalUserChatting,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'EditBreakDown',\r\n path: '/maintenance/breakdowns/Edit/:BreakDownID/:VehicleID',\r\n exact: true,\r\n hidden: true,\r\n component: Components.EditBreakdownLink,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'EditDefect',\r\n path: '/maintenance/defect/edit/:DefectID/:VehicleID',\r\n exact: true,\r\n hidden: true,\r\n component: Components.DefectEditDetails,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Outstanding Documents',\r\n path: '/schedule/outstandingdocuments',\r\n exact: true,\r\n // hidden: true,\r\n component: Components.OutStandingDocuments,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Job Reminders',\r\n path: '/controller/jobreminder',\r\n exact: true,\r\n // hidden: true,\r\n component: Components.JobReminder,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Vor Reporting',\r\n path: '/controller/VorReporting',\r\n exact: true,\r\n hidden: true,\r\n component: Components.CustomerVORReporting,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Breakdown Reporting',\r\n path: '/maintenance/breakdown/reporting/:id?',\r\n exact: true,\r\n hidden: true,\r\n component: Components.CustomerBreakDownDefectReporting,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Defect Reporting',\r\n path: '/maintenance/defect/reporting/:id?',\r\n exact: true,\r\n hidden: true,\r\n component: Components.CustomerBreakDownDefectReporting,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Job Reporting',\r\n path: '/job/job_Reporting',\r\n exact: true,\r\n hidden: true,\r\n component: Components.JobReportScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n\r\n {\r\n label: 'Sales - Unpaid',\r\n path: '/salesunpaid',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Sales - Paid',\r\n path: '/salespaid',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Sales - Paid',\r\n path: '/update_sales_invoice/:id?',\r\n exact: true,\r\n component: Components.UpdateSalesInvoice,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Schedule Planner',\r\n path: '/schedule/scheduleplanner',\r\n exact: true,\r\n component: Components.SchedulePlannerScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Schedules calendar',\r\n path: '/maintenance/schedulescalendar',\r\n exact: true,\r\n component: Components.ScheduleDashboard,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Service Agents',\r\n authType: TypeOfAuth.Auth,\r\n icon: ,\r\n path: '/serviceagent',\r\n exact: true,\r\n component: Components.ServiceAgent,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Service Agent DashBoard',\r\n path: '/controller/editServiceAgent/:id',\r\n exact: true,\r\n component: Components.EditServiceAgent,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Service Agent Map',\r\n path: '/controller/getagentLocation/:location?',\r\n hidden: true,\r\n authType: TypeOfAuth.Auth,\r\n component: Components.GetAgentLocation\r\n }\r\n];\r\n","import * as Components from '../../../../Components';\r\nimport { TypeOfAuth } from '../menu-auth-type';\r\nimport DashboardIcon from '@material-ui/icons/Dashboard';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport LocalShippingIcon from '@material-ui/icons/LocalShipping';\r\nimport GavelIcon from '@material-ui/icons/Gavel';\r\nimport DriveEtaIcon from '@material-ui/icons/DriveEta';\r\n\r\nexport default [\r\n {\r\n label: 'Dashboard',\r\n path: '/',\r\n exact: true,\r\n component: Components.DriverDashboard,\r\n authType: TypeOfAuth.Both,\r\n icon: \r\n },\r\n {\r\n label: 'Maintenance',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'Breakdowns',\r\n path: '/maintenance/breakdowns/:all',\r\n exact: true,\r\n component: Components.DriverBreakDownDashboard,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Defects',\r\n path: '/maintenance/defects',\r\n exact: true,\r\n component: Components.DriverDefectsScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Vehicles',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n path: '/controller/Vehicles',\r\n exact: true,\r\n component: Components.DriverVehicleScreen\r\n },\r\n\r\n {\r\n label: 'VehicleDashBoard',\r\n path: '/controller/editVehicle/:id/:name?/:serviceAgentid?',\r\n exact: true,\r\n component: Components.EditVehicle,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'All Checks',\r\n path: '/internalDailyChecks/all',\r\n exact: true,\r\n hidden: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Failed',\r\n path: '/internalDailyChecks/failed',\r\n exact: true,\r\n hidden: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'DashScreen',\r\n path: '/maintenance/dash/:screenName',\r\n exact: true,\r\n hidden: true,\r\n component: Components.DriverDash,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'CheckoutScreen',\r\n path: '/maintenance/checkout',\r\n exact: true,\r\n hidden: true,\r\n component: Components.CheckOutScreen,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'VehicleDashBoard',\r\n path: '/controller/editVehicle/:id/:name?',\r\n exact: true,\r\n component: Components.EditVehicle,\r\n hidden: true,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'EditBreakDown',\r\n path: '/maintenance/breakdowns/Edit/:BreakDownID/:VehicleID',\r\n exact: true,\r\n hidden: true,\r\n component: Components.EditBreakdownLink,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'EditDefect',\r\n path: '/maintenance/defect/edit/:DefectID/:VehicleID',\r\n exact: true,\r\n hidden: true,\r\n component: Components.DefectEditDetails,\r\n authType: TypeOfAuth.Auth\r\n }\r\n];\r\n","import * as Components from '../../../../Components';\r\nimport { TypeOfAuth } from '../menu-auth-type';\r\nimport ScheduleIcon from '@material-ui/icons/Schedule';\r\nimport HealingIcon from '@material-ui/icons/Healing';\r\n\r\nexport default [\r\n {\r\n icon: ,\r\n label: 'Dashboard',\r\n path: '/',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Repair Required',\r\n path: '/inspection_repair_required',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Awaiting Sign Off',\r\n path: '/inspection_completed',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Repair In Progress',\r\n path: '/in_progress',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Signed Off',\r\n path: '/signed_off',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n }\r\n];\r\n","import * as Components from '../../../../Components';\r\nimport { TypeOfAuth } from '../menu-auth-type';\r\nimport DashboardIcon from '@material-ui/icons/Dashboard';\r\nimport InfoIcon from '@material-ui/icons/Info';\r\n\r\nexport default [\r\n {\r\n label: 'Dashboard',\r\n path: '/',\r\n exact: true,\r\n component: Components.LeadDashboard,\r\n authType: TypeOfAuth.Both,\r\n icon: \r\n },\r\n {\r\n label: 'Enquires', // this is called screen\r\n path: '/Enquiries',\r\n authType: TypeOfAuth.Both,\r\n icon: ,\r\n children: []\r\n },\r\n {\r\n label: 'New Enquires',\r\n path: '/enquiries/new_enquiry',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Live Enquires',\r\n path: '/enquiries/live_enquiry',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Lost Enquires',\r\n path: '/enquiries/lost_enquiry',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Successful Enquires',\r\n path: '/enquiries/successful_enquiry',\r\n exact: true,\r\n component: () => {\r\n return ;\r\n },\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Edit Enquiry',\r\n path: '/Enquiries/edit/:id?',\r\n exact: true,\r\n hidden: true,\r\n component: Components.EnquiryEditModal,\r\n authType: TypeOfAuth.Auth\r\n },\r\n {\r\n label: 'Add Enquiry',\r\n path: '/Enquiries/add/:id?',\r\n exact: true,\r\n hidden: true,\r\n component: Components.AddEnquiries,\r\n authType: TypeOfAuth.Auth\r\n }\r\n];\r\n","import { useMemo } from \"react\";\r\nimport { getMenuForRole } from \"../NavAndMenu/_menu\";\r\nimport { useLoginInfo } from \"./useLoginInfo\";\r\n\r\nexport const useCurrentMenus = () => {\r\n const { isLoggedIn, userRoles } = useLoginInfo()\r\n const currentMenus = useMemo( () => {\r\n return getMenuForRole( userRoles, isLoggedIn );\r\n }, [ isLoggedIn ] );\r\n return currentMenus;\r\n}","import { authMenu, unAuthMenu, adminMenu, internalMenu, serviceAgent, customer, driverMenu, technician, leadMenu } from './menu';\r\nimport * as Components from './../../Components';\r\nimport { TypeOfAuth } from './menu/menu-auth-type';\r\n\r\nexport const getMenuForRole = (roles, isLoggedIn) => {\r\n let menus = [];\r\n if (!isLoggedIn) {\r\n menus.push(...unAuthMenu);\r\n } else {\r\n roles.forEach((role) => {\r\n switch (role) {\r\n case 'admin':\r\n menus.push(...adminMenu);\r\n break;\r\n case 'internal':\r\n menus.push(...internalMenu);\r\n break;\r\n case 'serviceagent':\r\n menus.push(...serviceAgent);\r\n break;\r\n case 'customer':\r\n menus.push(...customer);\r\n break;\r\n case 'driver':\r\n menus.push(...driverMenu);\r\n break;\r\n case 'technician':\r\n menus.push(...technician);\r\n break;\r\n case 'leadgenerator':\r\n menus.push(...leadMenu);\r\n break;\r\n }\r\n });\r\n menus.push(...authMenu);\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n menus.push({\r\n label: 'ⓘ',\r\n path: '/help',\r\n component: Components.Help,\r\n authType: TypeOfAuth.Both\r\n });\r\n }\r\n return menus.filter((m) => m.authType === TypeOfAuth.Both || m.authType === (isLoggedIn ? TypeOfAuth.Auth : TypeOfAuth.NonAuth));\r\n};\r\n","import { getWithAuth } from '../Basic/HttpService';\r\n\r\nexport const getMenuItems = async () => {\r\n let res = await getWithAuth(`NavigationMenu/RoleBasedMenu`);\r\n return res;\r\n};\r\n","import { AppStorage } from '../Basic/storage-service';\r\n\r\nlet checkhaveAccess = AppStorage.getAllowAcces();\r\nlet obj = {\r\n Customers: checkhaveAccess?.CanViewCustomers,\r\n Jobs: checkhaveAccess?.CanViewJobs,\r\n Drivers: checkhaveAccess?.CanViewDrivers,\r\n 'Service Agents': checkhaveAccess?.CanViewServiceAgents,\r\n Invoices: checkhaveAccess?.CanViewInvoices,\r\n 'Company Details': checkhaveAccess?.CanViewCompanyDetails\r\n};\r\n\r\nexport const GetAllowMenus = (menus) => {\r\n let tempMenus = menus;\r\n Object.entries(obj).forEach((item) => {\r\n if (!item[1]) {\r\n console.log(item[0], item[1]);\r\n let jobIndex = tempMenus.findIndex((m) => m.screenLabel === item[0]);\r\n if (jobIndex >= 0) {\r\n tempMenus.splice(jobIndex, 1);\r\n }\r\n }\r\n });\r\n return tempMenus;\r\n};\r\n","import React, { useLayoutEffect } from 'react';\r\nimport clsx from 'clsx';\r\nimport { NavLink, Route, Switch } from 'react-router-dom';\r\n\r\nimport Drawer from '@material-ui/core/Drawer';\r\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\r\nimport List from '@material-ui/core/List';\r\nimport Divider from '@material-ui/core/Divider';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\r\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport Collapse from '@material-ui/core/Collapse';\r\nimport ExpandLess from '@material-ui/icons/ExpandLess';\r\nimport ExpandMore from '@material-ui/icons/ExpandMore';\r\n\r\nimport { useCurrentMenus } from '../Hooks/useMenu';\r\nimport { useLoginInfo } from '../Hooks/useLoginInfo';\r\nimport { usePortalSettings } from '../Hooks/usePortalSettings';\r\nimport { Error404, InternalDashboard } from '../../Components';\r\nimport _ from 'lodash';\r\nimport { useEffect } from 'react';\r\nimport { getMenuItems } from '../Services/menuService';\r\nimport { useState } from 'react';\r\nimport { useLoader } from '../Hooks/useLoader';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useWindowSize } from '../Hooks/useWindowSize';\r\nimport * as Icons from '@material-ui/icons';\r\nimport { GetAllowMenus } from './getAllowMenus';\r\nimport { AppStorage } from '../Basic/storage-service';\r\n\r\nconst drawerWidth = 235;\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: 'flex'\r\n },\r\n logo: {\r\n maxWidth: 173,\r\n maxHeight: 50\r\n },\r\n drawer: {\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: 'nowrap'\r\n },\r\n drawerOpen: {\r\n overflowX: 'auto',\r\n margin: 0,\r\n padding: 0,\r\n listStyle: 'none',\r\n height: '100%',\r\n '&::-webkit-scrollbar': {\r\n width: '0.4em'\r\n },\r\n '&::-webkit-scrollbar-track': {\r\n boxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)',\r\n webkitBoxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)'\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n backgroundColor: 'rgba(0,0,0,.1)',\r\n outline: '1px solid slategrey'\r\n },\r\n backgroundColor: (props) => `${props.portalMenuBarBackgroundColour}`,\r\n width: drawerWidth,\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen\r\n })\r\n },\r\n drawerClose: {\r\n backgroundColor: (props) => `${props.portalMenuBarBackgroundColour}`,\r\n '&::-webkit-scrollbar': {\r\n width: '0.4em'\r\n },\r\n '&::-webkit-scrollbar-track': {\r\n boxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)',\r\n webkitBoxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)'\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n backgroundColor: 'rgba(0,0,0,.1)',\r\n outline: '1px solid slategrey'\r\n },\r\n transition: theme.transitions.create('width', {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen\r\n }),\r\n overflowX: 'hidden',\r\n width: theme.spacing(0) + 1,\r\n [theme.breakpoints.up('sm')]: {\r\n width: theme.spacing(6) + 1\r\n }\r\n },\r\n toolbar: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar\r\n },\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing(0)\r\n },\r\n nested: {\r\n paddingLeft: theme.spacing(1)\r\n },\r\n itemText: {\r\n color: (props) => `${props.portalMenuBarTextColour}`,\r\n '& span, & svg': {\r\n fontSize: '0.89rem',\r\n color: (props) => `${props.portalMenuBarTextColour}`\r\n }\r\n }\r\n}));\r\n\r\nexport default function MiniDrawer(props) {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n const portalSettings = usePortalSettings();\r\n const { isLoggedIn, userRoles } = useLoginInfo();\r\n\r\n const { showLoader, hideLoader } = useLoader();\r\n const currentMenus = useCurrentMenus();\r\n const theme = useTheme();\r\n const classes = useStyles(portalSettings);\r\n let history = useHistory();\r\n const [state, setState] = React.useState({ isError404: false });\r\n const [myMenus, setMyMenus] = useState([]);\r\n const [myRoutes, setMyRoutes] = useState([]);\r\n // const windowScreenWidth = window.innerWidth;\r\n const [windowWidth, windowHeight] = useWindowSize();\r\n const handleDrawerClose = () => {\r\n props.closeDrawer();\r\n setState({ isError404: false });\r\n };\r\n let isAdmin = userRoles.includes('admin');\r\n\r\n const handleClick = (item) => {\r\n setState((st) => ({ ...st, [item]: !st[item] }));\r\n };\r\n\r\n const getNestedChildren = (arr, parent) => {\r\n var out = [];\r\n for (var i in arr) {\r\n if (arr[i].navigationMenuParentMenuID === parent) {\r\n var children = getNestedChildren(arr, arr[i].navigationMenuID);\r\n if (children.length) {\r\n arr[i].children = children;\r\n }\r\n out.push(arr[i]);\r\n }\r\n }\r\n let menusFromApi = out.sort((a, b) =>\r\n a.navigationMenuSequence > b.navigationMenuSequence ? 1 : b.navigationMenuSequence > a.navigationMenuSequence ? -1 : 0\r\n );\r\n return menusFromApi;\r\n };\r\n\r\n useEffect(async () => {\r\n setState((st) => ({ ...st, isError404: false }));\r\n showLoader();\r\n const res = isLoggedIn && (await getMenuItems());\r\n\r\n if (res.success) {\r\n let newArray = [...res.data.list];\r\n if (!isAdmin) {\r\n if (!checkhaveAccess?.CanViewDailyChecks) {\r\n let index = newArray.findIndex((m) => m.navigationMenuLabel === 'Daily Checks');\r\n newArray.splice(index, 1);\r\n }\r\n\r\n if (!checkhaveAccess?.CanViewJobs) {\r\n let index = newArray.findIndex((m) => m.navigationMenuLabel === 'Jobs');\r\n newArray.splice(index, 1);\r\n }\r\n\r\n if (!checkhaveAccess?.CanViewDrivers) {\r\n let index = newArray.findIndex((m) => m.navigationMenuLabel === 'Drivers');\r\n newArray.splice(index, 1);\r\n }\r\n\r\n if (!checkhaveAccess?.CanViewDepots) {\r\n let index = newArray.findIndex((m) => m.navigationMenuLabel === 'Depots');\r\n newArray.splice(index, 1);\r\n }\r\n\r\n if (!checkhaveAccess?.CanViewVehicles) {\r\n let index = newArray.findIndex((m) => m.navigationMenuLabel === 'Vehicles');\r\n newArray.splice(index, 1);\r\n }\r\n if (!checkhaveAccess?.CanViewInvoices) {\r\n let index = newArray.findIndex((m) => m.navigationMenuLabel === 'Invoices');\r\n newArray.splice(index, 1);\r\n }\r\n if (!checkhaveAccess?.CanViewSchedules) {\r\n let index = newArray.findIndex((m) => m.navigationMenuLabel === 'Schedules');\r\n newArray.splice(index, 1);\r\n }\r\n if (!checkhaveAccess?.CanViewServiceAgents) {\r\n let index = newArray.findIndex((m) => m.navigationMenuLabel === 'Service Agent');\r\n newArray.splice(index, 1);\r\n }\r\n\r\n if (!checkhaveAccess?.CanViewBreakdowns) {\r\n let index = newArray.findIndex((m) => m.navigationMenuLabel === 'Breakdowns');\r\n newArray.splice(index, 1);\r\n }\r\n\r\n if (!checkhaveAccess?.CanViewDefects) {\r\n let index = newArray.findIndex((m) => m.navigationMenuLabel === 'Defects');\r\n newArray.splice(index, 1);\r\n }\r\n if (!checkhaveAccess?.CanViewVOR) {\r\n let index = newArray.findIndex((m) => m.navigationMenuLabel === 'VOR');\r\n newArray.splice(index, 1);\r\n }\r\n }\r\n hideLoader();\r\n let menusFromApi = newArray.sort((a, b) =>\r\n a.navigationMenuSequence > b.navigationMenuSequence ? 1 : b.navigationMenuSequence > a.navigationMenuSequence ? -1 : 0\r\n );\r\n let menus = isLoggedIn ? GetAllowMenus(menusFromApi) : menusFromApi;\r\n if (process.env.NODE_ENV !== 'production') {\r\n menusFromApi.push({\r\n leftNavigationMenuIconName: 'DashboardIcon',\r\n screenLabel: 'ⓘ',\r\n navigationMenuID: 0,\r\n navigationMenuLabel: 'ⓘ',\r\n navigationMenuParentMenuID: null,\r\n navigationMenuSequence: 100,\r\n screenURL: '/help',\r\n screenComponent: '1',\r\n screenAuthType: '1'\r\n });\r\n }\r\n\r\n const possibleMenusFlat = [];\r\n menus.forEach((mi) => {\r\n var menuConfig = currentMenus.find((x) => x.path === mi.screenURL);\r\n if (!menuConfig) {\r\n menuConfig = mi;\r\n }\r\n if (menuConfig) {\r\n let obj = {\r\n navigationMenuID: mi.navigationMenuID,\r\n // leftNavigationMenuRoleID: mi.leftNavigationMenuRoleID,\r\n // leftNavigationMenuIconID: mi.leftNavigationMenuIconID,\r\n screenURL: mi.screenURL || '',\r\n leftNavigationMenuComponent: menuConfig.component || null,\r\n screenAuthType: mi.screenAuthType || menuConfig.authType,\r\n navigationMenuParentMenuID: mi.navigationMenuParentMenuID,\r\n navigationMenuSequence: mi.navigationMenuSequence,\r\n navigationMenuLabel: mi.navigationMenuLabel || mi.screenLabel,\r\n leftNavigationMenuIconName: mi.leftNavigationMenuIconName || menuConfig.icon,\r\n exact: menuConfig.exact || true\r\n };\r\n if (mi.leftNavigationMenuIconName) {\r\n let Comp = Icons[`${mi.leftNavigationMenuIconName.replace('Icon', '')}`];\r\n obj.leftNavigationMenuIconName = ;\r\n }\r\n possibleMenusFlat.push(obj);\r\n }\r\n });\r\n setMyRoutes(possibleMenusFlat.map((c) => ({ ...c })));\r\n setMyMenus(\r\n getNestedChildren(\r\n possibleMenusFlat.map((c) => ({ ...c })),\r\n null\r\n )\r\n );\r\n setState((st) => ({ ...st, isError404: true }));\r\n } else {\r\n hideLoader();\r\n isLoggedIn && history.push('/logout');\r\n setState((st) => ({ ...st, isError404: true }));\r\n }\r\n }, [isLoggedIn]);\r\n const img = !!portalSettings.portalSettingMainLogo ? portalSettings.portalSettingMainLogo : `${process.env.PUBLIC_URL}/${portalSettings.portalSettingLogo}`;\r\n\r\n const handler = (children, isFiltered) => {\r\n let currentNav = children;\r\n // isFiltered ? _.orderBy(children, [(c) => c.navigationMenuLabel.toLowerCase()], ['asc']) : children;\r\n return currentNav?.map((subOption, index) => {\r\n if (!subOption.children) {\r\n return (\r\n
\r\n \r\n 1200 ? () => '' : handleDrawerClose}\r\n >\r\n props.opneDrawer()}\r\n className=\"sidebar-icon\"\r\n style={{ color: `${portalSettings.portalMenuBarTextColour}` }}\r\n >\r\n {subOption.leftNavigationMenuIconName}\r\n \r\n {subOption.navigationMenuLabel}\r\n \r\n \r\n
\r\n );\r\n }\r\n return (\r\n
\r\n handleClick(subOption.navigationMenuLabel)} title={subOption.navigationMenuLabel}>\r\n props.opneDrawer()}\r\n className=\"sidebar-icon\"\r\n style={{ color: `${portalSettings.portalMenuBarTextColour}` }}\r\n >\r\n {subOption.leftNavigationMenuIconName}\r\n \r\n {subOption.navigationMenuLabel}\r\n \r\n {state[subOption.navigationMenuLabel] ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n {handler(subOption.children, true)}\r\n \r\n
\r\n );\r\n });\r\n };\r\n\r\n return (\r\n
\r\n {isLoggedIn && (\r\n \r\n
\r\n \"logo\"\r\n \r\n {theme.direction === 'rtl' ? : }\r\n \r\n
\r\n \r\n {handler(myMenus, false)}\r\n \r\n )}\r\n\r\n \r\n
\r\n \r\n {isLoggedIn\r\n ? currentMenus\r\n .filter((m) => m.hidden)\r\n .map((m, i) => {\r\n return ;\r\n })\r\n : currentMenus.map((m, i) => {\r\n return ;\r\n })}\r\n {isLoggedIn &&\r\n myRoutes\r\n .filter((m, index) => !!m.screenURL)\r\n .map((n, i) => {\r\n return ;\r\n })}\r\n {state.isError404 && }\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React, { useContext, useEffect, useState } from 'react';\r\nimport Badge from '@material-ui/core/Badge';\r\nimport { getAllAdminDash } from './../Services/Admin/AdminDashboardService';\r\nimport { getAllServiceAgentDash } from './../Services/ServiceAgent/ServiceAgent';\r\nimport { getAllInternalDash } from './../Services/InternalUser/InternalDashService';\r\nimport { getAllCustomerDashboard } from './../Services/Customer/customerDashService';\r\nimport { getAllDriverDash } from './../Services/Driver/driverDashboard';\r\nimport { Link } from 'react-router-dom';\r\nimport { useLoginInfo } from '../Hooks/useLoginInfo';\r\nimport MailIcon from '@material-ui/icons/Mail';\r\nimport PeopleAltIcon from '@material-ui/icons/PeopleAlt';\r\nimport EventIcon from '@material-ui/icons/Event';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport HealingIcon from '@material-ui/icons/Healing';\r\nimport BuildIcon from '@material-ui/icons/Build';\r\nimport NotificationsActiveIcon from '@material-ui/icons/NotificationsActive';\r\nimport LocalShippingIcon from '@material-ui/icons/LocalShipping';\r\nimport DriveEtaIcon from '@material-ui/icons/DriveEta';\r\nimport WorkIcon from '@material-ui/icons/Work';\r\nimport LocalTaxiIcon from '@material-ui/icons/LocalTaxi';\r\nimport { useWindowSize } from '../Hooks/useWindowSize';\r\nimport ExpandMore from '@material-ui/icons/ExpandMore';\r\nimport { MenuItem, MenuList, Popover } from '@material-ui/core';\r\nimport PersonIcon from '@material-ui/icons/Person';\r\nimport { AppContext } from './PageLevel/AppContextProvider';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\n// import NotificationsActiveIcon from '@material-ui/icons/NotificationsActive';\r\nimport DashboardIcon from '@material-ui/icons/Dashboard';\r\nimport ArchiveIcon from '@material-ui/icons/Archive';\r\nimport SettingsIcon from '@material-ui/icons/Settings';\r\nimport { AppStorage } from '../Basic/storage-service';\r\n\r\nlet DashNotification = (props) => {\r\n let getAccessParam = AppStorage.getAllowAcces();\r\n const { userRoles } = useLoginInfo();\r\n // disabled={!getAccessParam['CanDeleteSchedules']}\r\n const [state, setState] = useState({\r\n data: [],\r\n deletedMenu: [\r\n {\r\n link: '/Deleted_jobs',\r\n title: 'Deleted Jobs',\r\n icons: ,\r\n show: true\r\n },\r\n {\r\n link: '/Deleted_Defects',\r\n title: 'Deleted Defects',\r\n icons: \r\n }\r\n ],\r\n reportingMenu: [\r\n {\r\n link: '/controller/VorReporting/',\r\n title: 'VOR Reporting',\r\n icons: \r\n },\r\n {\r\n link: '/maintenance/defect/reporting/',\r\n title: 'Defect Reporting',\r\n icons: \r\n },\r\n {\r\n link: '/maintenance/breakdown/reporting/',\r\n title: 'Breakdown Reporting',\r\n icons: \r\n },\r\n !userRoles.includes('customer') && {\r\n link: '/job/job_Reporting',\r\n title: 'Job Reporting',\r\n icons: \r\n }\r\n ],\r\n settingMenu: [\r\n {\r\n link: '/company_details',\r\n title: 'Company Details',\r\n icons: ,\r\n show: true\r\n }\r\n ],\r\n currentTarget: null\r\n });\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n // const { userRoles } = useLoginInfo();\r\n const open = Boolean(anchorEl);\r\n\r\n const id = open ? 'simple-popover' : undefined;\r\n\r\n const isAdmin = userRoles.includes('admin');\r\n const isServiceagent = userRoles.includes('serviceagent');\r\n const isInternalUser = userRoles.includes('internal');\r\n const isCustomer = userRoles.includes('customer');\r\n const isDriver = userRoles.includes('driver');\r\n const [widths] = useWindowSize();\r\n const { commonState } = useContext(AppContext);\r\n\r\n useEffect(async () => {\r\n let res1 = '';\r\n let res = commonState.dashBoardData;\r\n if (res) {\r\n if (isDriver) {\r\n // let res = await getAllDriverDash();\r\n\r\n const cards = res.data.dashboard[0];\r\n res1 = [\r\n {\r\n // cnt: '',\r\n link: '/maintenance/dash/Check In',\r\n title: 'Check In',\r\n icons: ,\r\n show: true\r\n },\r\n {\r\n cnt: cards.breakdownOnsite || 0,\r\n link: '/maintenance/breakdowns/typebo',\r\n title: 'Breakdown On site',\r\n icons: \r\n },\r\n {\r\n cnt: cards.breakdownRoadside || 0,\r\n link: '/maintenance/breakdowns/typebr',\r\n title: 'Breakdown Road side',\r\n icons: \r\n },\r\n {\r\n cnt: cards.driverDefect || 0,\r\n link: '/maintenance/defects',\r\n title: 'Driver Defect',\r\n icons: \r\n },\r\n {\r\n cnt: cards.driverCheck || 0,\r\n link: '/',\r\n title: 'Driver Check',\r\n icons: \r\n }\r\n ];\r\n }\r\n if (isInternalUser) {\r\n // let res = await getAllInternalDash();\r\n\r\n const cards = res?.data?.dashboard[0] || {};\r\n res1 = [\r\n {\r\n cnt: cards.unreadMessageCount || 0,\r\n link: '/message',\r\n title: 'Message',\r\n icons: ,\r\n show: true\r\n },\r\n {\r\n cnt: cards.activeVehicles || 0,\r\n link: '/controller/Vehicles/:all',\r\n title: 'Active Vehicle',\r\n icons: \r\n },\r\n {\r\n cnt: cards.breakdownOnsite || 0,\r\n link: '/maintenance/breakdowns/typebo',\r\n title: 'Breakdown On site',\r\n icons: \r\n },\r\n {\r\n cnt: cards.breakdownRoadside || 0,\r\n link: '/maintenance/breakdowns/typebr',\r\n title: 'Breakdown Road side',\r\n icons: \r\n },\r\n {\r\n cnt: cards.failedChecks || 0,\r\n link: '/internalDailyChecks/failed',\r\n title: 'Failed Checks',\r\n icons: \r\n },\r\n {\r\n cnt: cards.unassignedJobs || 0,\r\n link: '/controller/unassigned-jobs',\r\n title: 'Unassigned Jobs',\r\n icons: ,\r\n isAccess: !getAccessParam['CanViewJobs']\r\n }\r\n ];\r\n }\r\n if (isServiceagent) {\r\n // let res = await getAllServiceAgentDash();\r\n\r\n const temp = res.data.dashboard;\r\n res1 = [\r\n { cnt: temp[1]?.cnt, link: '/maintenance/breakdowns/typebo', icons: , title: 'Breakdown Onsite' },\r\n { cnt: temp[2]?.cnt, link: '/maintenance/breakdowns/typebr', icons: , title: 'Breakdown Road Site' },\r\n { cnt: temp[5]?.cnt, link: '/serviceagent/OJ', icons: , title: 'Open Jobs', isAccess: !getAccessParam['CanViewJobs'] },\r\n { cnt: temp[7]?.cnt, link: '/', icons: , title: 'Schedule Defect' }\r\n ];\r\n }\r\n if (isAdmin) {\r\n // let res = await getAllAdminDash();\r\n\r\n const cards = res.data.dashboard[0];\r\n res1 = [\r\n {\r\n cnt: cards.activeUsers || 0,\r\n link: '/users/active',\r\n title: 'Active Users',\r\n icons: \r\n },\r\n {\r\n cnt: cards.eventDocuments || 0,\r\n link: '/vehicle/eventdocs',\r\n title: 'Event Documents',\r\n icons: \r\n },\r\n {\r\n cnt: cards.inspectionSheetChecks || 0,\r\n link: '/vehicle/VehicleCheckChecks',\r\n title: 'Inspection Sheet Checks',\r\n icons: \r\n },\r\n {\r\n cnt: cards.inspectionSheetSections || 0,\r\n link: '/vehicle/checksection',\r\n title: 'Inspection Sheet Section',\r\n icons: \r\n },\r\n {\r\n cnt: cards.totalUsers || 0,\r\n link: '/users/:all',\r\n title: 'Total Users',\r\n icons: \r\n }\r\n ];\r\n }\r\n if (isCustomer) {\r\n // let res = await getAllCustomerDashboard();\r\n\r\n const cards = res.data.dashboard[0];\r\n res1 = [\r\n {\r\n cnt: cards.unreadMessageCount || 0,\r\n link: '/message',\r\n title: 'Message',\r\n icons: ,\r\n show: true\r\n },\r\n {\r\n cnt: cards.breakdownOnsite || 0,\r\n link: '/maintenance/breakdowns/typebo',\r\n title: 'Breakdown On site',\r\n icons: \r\n },\r\n {\r\n cnt: cards.breakdownRoadside || 0,\r\n link: '/maintenance/breakdowns/typebr',\r\n title: 'Breakdown Road side',\r\n icons: \r\n },\r\n {\r\n cnt: cards.failedChecks || 0,\r\n link: '/customerDailyChecks/failed',\r\n title: 'Failed Checks',\r\n icons: \r\n },\r\n {\r\n cnt: cards.unassignedJobs || 0,\r\n link: '/controller/unassigned-jobs',\r\n title: 'Unassigned Jobs',\r\n icons: ,\r\n isAccess: !getAccessParam['CanViewJobs']\r\n }\r\n ];\r\n }\r\n setState((st) => ({\r\n ...st,\r\n data: res1\r\n }));\r\n }\r\n }, [commonState]);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const CommonPopover = (props) => {\r\n const [anchorEl, setAnchorEl] = React.useState(props.currentTarget);\r\n const open = Boolean(anchorEl);\r\n const handleCloseReporting = () => {\r\n setAnchorEl(null);\r\n props.onCloseHandler(props.id);\r\n };\r\n\r\n return (\r\n \r\n \r\n {props.menuList &&\r\n props.menuList?.map((m, i) => {\r\n return (\r\n \r\n \r\n {m.icons}\r\n {m.title}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n };\r\n\r\n const tempPop = (val, e) => {\r\n setState((st) => ({\r\n ...st,\r\n [val]: e.currentTarget\r\n }));\r\n };\r\n\r\n const tempPopClose = (val) => {\r\n setState((st) => ({\r\n ...st,\r\n [val]: null\r\n }));\r\n };\r\n\r\n return (\r\n \r\n {widths >= 996 ? (\r\n <>\r\n {state.data?.length > 0 &&\r\n state.data?.map((option, index) =>\r\n (option.cnt || option.show) && !option.isAccess ? (\r\n \r\n \r\n \r\n {option.icons}\r\n \r\n \r\n \r\n ) : null\r\n )}\r\n\r\n {(isInternalUser || isCustomer) && (\r\n tempPop('reportingCurrentTarget', e)} style={{ cursor: 'pointer' }}>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n\r\n {isInternalUser && (\r\n <>\r\n tempPop('deleteCurrentTarget', e)} style={{ cursor: 'pointer' }}>\r\n \r\n \r\n \r\n \r\n \r\n\r\n tempPop('settingCurrentTarget', e)} style={{ cursor: 'pointer' }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {state.data &&\r\n state.reportingMenu &&\r\n state.deletedMenu &&\r\n state.settingMenu &&\r\n [...state.data, ...state.reportingMenu, ...state.deletedMenu, ...state.settingMenu]?.map((m, i) => {\r\n return (\r\n \r\n \r\n \r\n {m.icons}\r\n \r\n {m.title}\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 DashNotification;\r\n","import React, { useMemo, useEffect, useCallback } from 'react';\r\nimport { BrowserRouter, Link, NavLink } from 'react-router-dom';\r\nimport InputBase from '@material-ui/core/InputBase';\r\nimport { PhoneIphone, AccessTime, Email } from '@material-ui/icons';\r\nimport clsx from 'clsx';\r\nimport { fade, makeStyles, useTheme } from '@material-ui/core/styles';\r\n\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport Toolbar from '@material-ui/core/Toolbar';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport { MenuItem, MenuList } from '@material-ui/core';\r\nimport Popover from '@material-ui/core/Popover';\r\nimport ExitToAppIcon from '@material-ui/icons/ExitToApp';\r\nimport ExpandMore from '@material-ui/icons/ExpandMore';\r\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\r\nimport MySignature from './userSignature';\r\nimport { UserSignatureReminder } from './userSignature';\r\nimport { AppStorage } from '../Basic/storage-service';\r\nimport { postSignature, postSignatureStatus } from '../Services/signatureService';\r\nimport { SelectBox, BreadCrumbs, MandatoryField, SimpleField, DatePicker } from '../Controls';\r\nimport FindInPageIcon from '@material-ui/icons/FindInPage';\r\n\r\nimport { getVechicleIDByRegNO } from '../Services/InternalUser/ServiceAgent/breakdownService';\r\nimport ChangePasswordComp from '../../Core/Auth/ChangePasswordComp';\r\n\r\nimport { usePortalSettings } from '../Hooks/usePortalSettings';\r\nimport { SecondaryButton } from '../Controls';\r\nimport { useLoginInfo } from '../Hooks/useLoginInfo';\r\nimport MiniDrawer from '../NavAndMenu/AppNavbar';\r\nimport DashNotification from './DashNotification';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport DialogComp from '../Dialog/DialogComp';\r\nimport { useToast } from '../Hooks/useToast';\r\nimport VpnKeyIcon from '@material-ui/icons/VpnKey';\r\nimport { useWindowSize } from '../Hooks/useWindowSize';\r\n\r\nconst drawerWidth = 235;\r\nconst useStyles = makeStyles((theme) => ({\r\n logo: {\r\n maxWidth: 173,\r\n maxHeight: 50\r\n },\r\n appBar: {\r\n backgroundColor: (props) => `${props.portalHeaderBackgroundColour}`,\r\n color: (props) => `${props.portalHeaderTextColour}`,\r\n zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen\r\n })\r\n },\r\n\r\n appBarShift: {\r\n marginLeft: drawerWidth,\r\n width: `calc(100% - ${drawerWidth}px)`,\r\n transition: theme.transitions.create(['width', 'margin'], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen\r\n })\r\n },\r\n menuButton: {\r\n marginRight: 0\r\n },\r\n hide: {\r\n display: 'none'\r\n },\r\n logoutBtn: {\r\n display: 'inline-flex',\r\n VerticalAlign: 'text-bottom',\r\n BoxSizing: 'inherit',\r\n textAlign: 'center',\r\n AlignItems: 'center',\r\n textDecoration: 'none',\r\n cursor: 'pointer',\r\n marginLeft: 1\r\n },\r\n root: {\r\n '& > *': {\r\n margin: theme.spacing(2)\r\n }\r\n },\r\n search: {\r\n position: 'relative',\r\n borderRadius: theme.shape.borderRadius,\r\n backgroundColor: fade(theme.palette.common.white, 0.15),\r\n '&:hover': {\r\n backgroundColor: fade(theme.palette.common.white, 0.25)\r\n },\r\n marginRight: theme.spacing(2),\r\n marginLeft: 0,\r\n width: '100%',\r\n maxHeight: '35px',\r\n [theme.breakpoints.up('sm')]: {\r\n marginLeft: theme.spacing(3),\r\n width: 'auto'\r\n }\r\n },\r\n searchIcon: {\r\n padding: theme.spacing(0, 2),\r\n height: '100%',\r\n position: 'absolute',\r\n pointerEvents: 'none',\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n },\r\n inputRoot: {\r\n color: 'inherit'\r\n },\r\n inputInput: {\r\n padding: theme.spacing(1, 1, 1, 0),\r\n // vertical padding + font size from searchIcon\r\n paddingLeft: `calc(1em + ${theme.spacing(4)}px)`,\r\n transition: theme.transitions.create('width'),\r\n width: '100%',\r\n [theme.breakpoints.up('md')]: {\r\n width: '20ch'\r\n }\r\n }\r\n}));\r\n\r\nexport const RouterAndView = (props) => {\r\n const portalSettings = usePortalSettings();\r\n const [windowWidth, windowHeight] = useWindowSize();\r\n const { isLoggedIn, displayName, lastLogin, userRoles } = useLoginInfo();\r\n const showTopNavAndMenu = true;\r\n const theme = useTheme();\r\n const itemArray = useMemo(() => {\r\n return [\r\n { text: 'Call US', value: portalSettings.portalSettingCallUs, icon: PhoneIphone, isShow: false },\r\n { text: 'Opening Time', value: portalSettings.portalSettingOpeningTime, icon: AccessTime, isShow: true },\r\n { text: 'Email US', value: portalSettings.portalSettingEmailUs, icon: Email, isShow: true }\r\n ];\r\n }, [portalSettings]);\r\n const classes = useStyles(portalSettings);\r\n const [state, setState] = React.useState({});\r\n const [drawerOpen, setDrawerOpen] = React.useState(false);\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const [openSign, setOpenSign] = React.useState(false);\r\n const [openSignRem, setOpenSignRem] = React.useState(false);\r\n const [passReset, setPassReset] = React.useState(false);\r\n\r\n const { showToastSuccess, showToastError } = useToast();\r\n\r\n const open = Boolean(anchorEl);\r\n const id = open ? 'simple-popover' : undefined;\r\n\r\n useEffect(() => {\r\n if (isLoggedIn) {\r\n windowWidth >= 1200 ? setDrawerOpen(true) : setDrawerOpen(false);\r\n }\r\n }, [isLoggedIn, windowWidth]);\r\n\r\n useEffect(() => {\r\n if (isLoggedIn && AppStorage.getSignNotifiedStatus() === 0 && AppStorage.getSignatureStatus() != 1 && AppStorage.getSignatureStatus() != 2) {\r\n setOpenSignRem(true);\r\n AppStorage.setSignNotifiedStatus('set');\r\n }\r\n }, []);\r\n\r\n const postSignData = async (sign, id) => {\r\n let resSign = sign && (await postSignature(sign));\r\n let resStatus = id && (await postSignatureStatus(id));\r\n if (resSign) {\r\n if (resSign?.success) {\r\n AppStorage.setSignature(sign);\r\n showToastSuccess('Signature Updated Successfully!');\r\n } else {\r\n showToastError(resSign?.message || 'Something went wrong!');\r\n }\r\n }\r\n };\r\n\r\n const handleDrawerOpen = () => {\r\n setDrawerOpen(true);\r\n };\r\n const handleDrawerClose = () => {\r\n setDrawerOpen(false);\r\n };\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const closeSign = () => {\r\n setOpenSign(!openSign);\r\n };\r\n\r\n const changePass = () => {\r\n setPassReset(!passReset);\r\n };\r\n\r\n const closeSignRem = () => {\r\n setOpenSignRem(false);\r\n };\r\n\r\n const inputChange = useCallback(async (e) => {\r\n const { name, value, type } = e.target;\r\n if (value.length > 4) {\r\n let resBrekDown = await getVechicleIDByRegNO(value);\r\n setState((st) => {\r\n let newSt = { ...st };\r\n if (resBrekDown.data?.list) {\r\n newSt.show = resBrekDown.success;\r\n newSt.filterVehicleId = resBrekDown.data?.list[0].vehicleID;\r\n newSt.filterVehicleMakeModel = resBrekDown.data?.list[0].vehicleMakeModel;\r\n newSt.vehicleReg = value;\r\n } else {\r\n newSt.show = false;\r\n }\r\n\r\n return newSt;\r\n });\r\n } else {\r\n setState((st) => ({ ...st, show: false }));\r\n }\r\n }, []);\r\n\r\n const img = !!portalSettings.portalSettingMainLogo ? portalSettings.portalSettingMainLogo : `${process.env.PUBLIC_URL}/${portalSettings.portalSettingLogo}`;\r\n\r\n let isAdmin = userRoles.includes('admin');\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n {!isLoggedIn && (\r\n \r\n \r\n \r\n )}\r\n {isLoggedIn && (\r\n
\r\n \r\n \r\n \r\n
\r\n {portalSettings.portalSettingAdditionalLogo && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {state.show && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n )}\r\n {!isLoggedIn && (\r\n
\r\n {itemArray.map((c, i) => (\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n ))}\r\n
\r\n )}\r\n {isLoggedIn ? (\r\n
\r\n {portalSettings.portalSettingDisplayTopNavCounters ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n {displayName}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Logout\r\n \r\n \r\n {!isAdmin && (\r\n \r\n {/* */}\r\n \r\n My Signature\r\n {/* */}\r\n \r\n )}\r\n \r\n {/* */}\r\n \r\n Change Password\r\n {/* */}\r\n \r\n \r\n Version: v1.20.0 (13/02/2023)\r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n Login\r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n \r\n {openSign && (\r\n \r\n \r\n \r\n )}\r\n {passReset && (\r\n \r\n \r\n \r\n )}\r\n {!isAdmin && openSignRem && }\r\n \r\n );\r\n};\r\n","import React from 'react'\r\nimport ReactDOM from 'react-dom';\r\nimport Backdrop from '@material-ui/core/Backdrop';\r\nimport CircularProgress from '@material-ui/core/CircularProgress';\r\nimport Chip from '@material-ui/core/Chip';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n backdrop: {\r\n zIndex: theme.zIndex.drawer + 1,\r\n color: '#fff',\r\n },\r\n}));\r\n\r\nlet LoaderSpinner = function ({ state }) {\r\n const classes = useStyles();\r\n let showMsg = state.messages && state.messages.length > 0 && state.messages[0].length > 0;\r\n return <>\r\n {state.isVisible\r\n ? ReactDOM.createPortal(\r\n \r\n {showMsg && }\r\n , document.body)\r\n : null}\r\n ;\r\n};\r\n\r\nexport default LoaderSpinner;","import React from 'react'\r\nimport ReactDOM from 'react-dom';\r\nimport Snackbar from '@material-ui/core/snackbar'\r\nimport MuiAlert from '@material-ui/lab/alert'\r\n\r\nlet Toaster = function ({state}) {\r\n return ReactDOM.createPortal(<>\r\n \r\n {state.text}\r\n \r\n , document.body);\r\n};\r\n\r\nexport default Toaster;","import React, { useState } from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Container } from '@material-ui/core';\r\nimport { validatePassword } from '../../../Core/Basic/StaticService';\r\nimport { resetPasswordWithToken } from '../../../Core/Services/LoginService';\r\nimport { useToast } from '../../../Core/Hooks/useToast';\r\nimport { useLoader } from '../../../Core/Hooks/useLoader';\r\nimport { useDialog } from '../../../Core/Hooks/useDialog';\r\nimport { InputPassword } from '../../../Core/Controls';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n '& > *': {\r\n margin: theme.spacing(1, 0)\r\n }\r\n }\r\n}));\r\n\r\nlet ResetPasswordComp = function ({ token, id }) {\r\n const { showToastWarning, showToastError, showToastSuccess } = useToast();\r\n const { showLoader, hideLoader } = useLoader();\r\n const { hideDialog } = useDialog();\r\n let classes = useStyles();\r\n\r\n let [formState, setFormState] = useState({\r\n password: '',\r\n confirmPassword: ''\r\n });\r\n\r\n function fieldChange(e) {\r\n let val = {\r\n [e.target.name]: e.target.value\r\n };\r\n setFormState((st) => {\r\n return { ...st, ...val };\r\n });\r\n }\r\n\r\n const submit = async () => {\r\n if (!formState.password) {\r\n showToastWarning('Password and Confirm Password both are required.');\r\n } else if (!validatePassword(formState.password)) {\r\n showToastWarning('Password should be complex with 8 char minimum.');\r\n } else if (formState.password !== formState.confirmPassword) {\r\n showToastWarning('New Password and Confirm New Password should match.');\r\n } else {\r\n showLoader();\r\n let res = await resetPasswordWithToken(id, token, formState.password, formState.confirmPassword);\r\n hideLoader();\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n hideDialog();\r\n } else {\r\n showToastError(res.message);\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\nexport default ResetPasswordComp;\r\n","import React, { useState } from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { Container } from '@material-ui/core';\r\nimport { forgotPasswordRequest } from '../Services/LoginService';\r\nimport { useToast } from '../Hooks/useToast';\r\nimport { useDialog } from '../Hooks/useDialog';\r\nimport { InputText } from '../Controls';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n '& > *': {\r\n margin: theme.spacing(1, 0)\r\n }\r\n }\r\n}));\r\n\r\nlet ForgotPasswordComp = function () {\r\n const { showToastWarning, showToastError, showToastSuccess } = useToast();\r\n const { hideDialog } = useDialog();\r\n\r\n let classes = useStyles();\r\n\r\n let [email, setEmail] = useState('');\r\n\r\n\r\n const submit = async () => {\r\n if (!email) {\r\n showToastWarning('Please provide your registered mail id.');\r\n }\r\n else {\r\n let res = await forgotPasswordRequest(email);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n hideDialog();\r\n } else {\r\n showToastError(res.message);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n
\r\n setEmail(e.target.value)} />\r\n\r\n Reset\r\n \r\n
\r\n )\r\n};\r\n\r\nexport default ForgotPasswordComp;","import React, { useContext, useEffect, useState } from 'react';\r\nimport LoaderSpinner from '../../Loader/Loader';\r\nimport Toaster from '../../Toaster/Toaster';\r\nimport ChangePasswordComp from '../../Auth/ChangePasswordComp';\r\nimport ResetPasswordComp from '../../../Components/_shared/ResetPassword/ResetPasswordComp';\r\nimport DialogComp from '../../Dialog/DialogComp';\r\nimport ForgotPasswordComp from '../../Auth/ForgotPasswordComp';\r\nimport { getHashPathParts } from '../../Basic/StaticService';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\nimport { CommonModals } from './AppContextProvider';\r\nimport { useLoader } from '../../Hooks/useLoader';\r\nimport { useToast } from '../../Hooks/useToast';\r\nimport { useDialog } from '../../Hooks/useDialog';\r\n\r\nlet PageLevelComponents = () => {\r\n\r\n const loaderState = useLoader();\r\n const toastState = useToast();\r\n const { dialogState, showDialog, hideDialog } = useDialog();\r\n const { isLoggedIn } = useLoginInfo()\r\n\r\n useEffect(() => {\r\n let hashPaths = getHashPathParts();\r\n if (hashPaths.length > 0) {\r\n if (isLoggedIn) {\r\n if (hashPaths[0].toLowerCase() === 'ChangePassword'.toLowerCase()) {\r\n showDialog(CommonModals.ChangePassword);\r\n }\r\n }\r\n else {\r\n if (hashPaths[0].toLowerCase() === 'ForgotPassword'.toLowerCase()) {\r\n showDialog(CommonModals.ForgotPassword);\r\n }\r\n else if (hashPaths[0].toLowerCase() === 'ResetPassword'.toLowerCase()) {\r\n if (hashPaths[1]) {\r\n showDialog(CommonModals.ResetPassword, { token: hashPaths[1] })\r\n } else {\r\n toastState.showToastError('Something went wrong, Cannot find the Password Reset Token');\r\n }\r\n }\r\n }\r\n }\r\n }, [window.location.hash]);\r\n\r\n\r\n const closeDialog = () => {\r\n hideDialog();\r\n dialogState.args?.onDialogClose && dialogState.args?.onDialogClose();\r\n }\r\n return <>\r\n \r\n \r\n\r\n {isLoggedIn && dialogState.name === CommonModals.ChangePassword && \r\n \r\n }\r\n\r\n {!isLoggedIn && dialogState.name === CommonModals.ForgotPassword && \r\n \r\n }\r\n\r\n {!isLoggedIn && dialogState.name === CommonModals.ResetPassword && \r\n \r\n }\r\n\r\n {dialogState.name === CommonModals.GenericModal && \r\n {dialogState.args.component}\r\n }\r\n ;\r\n}\r\n\r\nexport default PageLevelComponents;","import React, { Suspense, useEffect, useState } from 'react';\r\n// import { getLazyComponent } from '../Basic/Menu';\r\n// import PageLevelComponents from './PageLevel/PageLevelComponents';\r\n// import AppNavbar from '../AppNavbar/AppNavbar'\r\nimport { AppContextProvider } from './PageLevel/AppContextProvider';\r\nimport './App.scss'\r\nimport { RouterAndView } from './RouterAndView';\r\nimport PageLevelComponents from './PageLevel/PageLevelComponents';\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n {/* \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\nexport default App;\r\n","const reportWebVitals = onPerfEntry => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './Core/App/App';\r\nimport reportWebVitals from './reportWebVitals';\r\nimport './index.css';\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\nreportWebVitals();\r\n","const storage = localStorage;\r\n\r\nconst getName = () => storage.getItem('_displayName_');\r\nconst isReadOnlyUser = () => storage.getItem('_isReadOnlyUser_') === 'true';\r\nconst getToken = () => storage.getItem('_token_');\r\nconst getLastLogin = () => storage.getItem('_lastLogin_');\r\nconst getUserRoles = () => (storage.getItem('_userRoles_') || '').split(',');\r\nconst loginInfoUpdatedAt = () => storage.getItem('_login_info_updated_at_');\r\nconst getAllowAcces = () => {\r\n const vl = storage.getItem('_allowAccess_');\r\n if (vl) {\r\n return JSON.parse(vl);\r\n }\r\n return vl;\r\n};\r\n\r\nconst getPortalSetting = () => {\r\n const setting = storage.getItem('_portal_setting_');\r\n if (setting) {\r\n return JSON.parse(setting);\r\n }\r\n return setting;\r\n};\r\n\r\nconst setPortalSetting = (setting) => {\r\n storage.setItem('_portal_setting_', JSON.stringify(setting));\r\n};\r\n\r\nconst saveFileUploaderConfig = (data) => {\r\n var obj = {};\r\n data.forEach((o) => (obj[o.Name] = o.Id));\r\n storage.setItem('__fileUploaderConfig__', JSON.stringify(obj));\r\n};\r\n\r\nconst getFileUploaderConfig = () => {\r\n return JSON.parse(storage.getItem('__fileUploaderConfig__') || {});\r\n};\r\n\r\nconst getSignature = () => {\r\n return storage.getItem('_user_sign_');\r\n};\r\n\r\nconst setSignature = (sign) => {\r\n sign && storage.setItem('_user_sign_', sign);\r\n};\r\n\r\nconst getSignatureStatus = () => {\r\n return storage.getItem('_signature_status_');\r\n};\r\n\r\nconst setSignatureStatus = (ID) => {\r\n ID && storage.setItem('_signature_status_', ID);\r\n};\r\n\r\nconst getSignNotifiedStatus = () => {\r\n return storage.getItem('_signature_notified_') || 0;\r\n};\r\n\r\nconst setSignNotifiedStatus = (ID) => {\r\n ID && storage.setItem('_signature_notified_', ID);\r\n};\r\n\r\nexport const AppStorage = {\r\n getItem: storage.getItem,\r\n setItem: storage.setItem,\r\n removeItem: storage.removeItem,\r\n getName,\r\n isReadOnlyUser,\r\n getToken,\r\n getLastLogin,\r\n getUserRoles,\r\n loginInfoUpdatedAt,\r\n getPortalSetting,\r\n setPortalSetting,\r\n isLoggedIn: () => !!getName() && !!getToken(),\r\n performLogin: ({ data }) => {\r\n storage.setItem('_token_', data.token);\r\n storage.setItem('_displayName_', data.displayName);\r\n storage.setItem('_isReadOnlyUser_', data.isReadOnly || false);\r\n storage.setItem('_lastLogin_', data.lastLogin);\r\n storage.setItem('_userRoles_', data.roles);\r\n storage.setItem('_login_info_updated_at_', Date.now());\r\n storage.setItem('_user_sign_', data.defaultSignature || 'absent');\r\n storage.setItem('_signature_status_', data.signatureStatus);\r\n storage.setItem('_allowAccess_', JSON.stringify(data.access));\r\n },\r\n saveFileUploaderConfig,\r\n getFileUploaderConfig,\r\n performLogout: () => {\r\n const portalSetting = getPortalSetting();\r\n storage.clear();\r\n if (portalSetting) {\r\n setPortalSetting({ ...portalSetting, expired: true });\r\n }\r\n storage.setItem('_login_info_updated_at_', Date.now());\r\n },\r\n getSignature,\r\n setSignature,\r\n getSignatureStatus,\r\n setSignatureStatus,\r\n setSignNotifiedStatus,\r\n getSignNotifiedStatus,\r\n getAllowAcces\r\n};\r\n","import { TextField } from '@material-ui/core';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\nimport { memo } from 'react';\r\n\r\nexport const TextBox = (props) => {\r\n const { forceEditable, ...rest } = props;\r\n let { isReadOnlyUser } = useLoginInfo();\r\n forceEditable && (isReadOnlyUser = false);\r\n return ;\r\n};\r\n\r\nconst InputTextWithMemo = memo(TextBox);\r\nexport default InputTextWithMemo;\r\n","import { AppStorage } from \"../../Basic/storage-service\";\r\n\r\nlet configFromStorage = undefined;\r\nexport const isValidConfig = configName => {\r\n return !!getConfigIdFromName( configName );\r\n}\r\n\r\nexport const getConfigIdFromName = configName => {\r\n if ( !configFromStorage ) {\r\n configFromStorage = AppStorage.getFileUploaderConfig();\r\n }\r\n return configFromStorage[ configName ]\r\n}","import React, { useEffect, useMemo, useRef, useState } from 'react';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport { Button, CircularProgress, Grid, Badge } from '@material-ui/core';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport { useLoginInfo } from '../../../Hooks/useLoginInfo';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport DoneIcon from '@material-ui/icons/Done';\r\nimport './ButtonModal.scss';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport { memo } from 'react';\r\nimport CameraAltIcon from '@material-ui/icons/CameraAlt';\r\nimport DoneAllIcon from '@material-ui/icons/DoneAll';\r\nimport { makeStyles } from '@material-ui/core';\r\n\r\nexport const AddButton = (props) => {\r\n const { toolTipTitle, iconFontSize, ...rest } = props;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const EditButton = (props) => {\r\n const { toolTipTitle, iconFontSize, onClick, ...rest } = props;\r\n const [show, setShow] = React.useState(false);\r\n return (\r\n \r\n setShow(true)}\r\n onMouseLeave={() => setShow(false)}\r\n >\r\n {\r\n setShow(false);\r\n if (onClick) return onClick();\r\n }}\r\n color=\"secondary\"\r\n {...rest}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport const DeleteButton = (props) => {\r\n const { toolTipTitle, iconFontSize, ...rest } = props;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const CustomIconButton = (props) => {\r\n const { toolTipTitle, iconFontSize, onClick, ...rest } = props;\r\n const [show, setShow] = React.useState(false);\r\n const Icon = props.icon;\r\n return (\r\n \r\n setShow(true)} onMouseLeave={() => setShow(false)}>\r\n
\r\n {\r\n setShow(false);\r\n if (onClick) return onClick(e);\r\n }}\r\n {...rest}\r\n />\r\n {rest.children}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport const CustomColorButton = (props) => {\r\n const useStyles = makeStyles((theme) => ({\r\n container: {\r\n color: (props) => `${props.textColour || 'white'}`,\r\n backgroundColor: (props) => `${props.BtnColor || '#53af50'}`,\r\n '& .MuiButton-contained': {\r\n color: (props) => `${props.textColour || 'white'}`,\r\n backgroundColor: (props) => `${props.BtnColor || '#53af50'}`\r\n },\r\n '& .MuiButton-root:hover': {\r\n color: (props) => `${props.textColour || 'white'} !important`,\r\n backgroundColor: (props) => `${props.BtnColor || '#53af50'} !important`\r\n }\r\n }\r\n }));\r\n\r\n const classes = useStyles(props);\r\n const { forceEnabled, toolTipTitle, ...rest } = props;\r\n let { isReadOnlyUser } = useLoginInfo();\r\n forceEnabled && (isReadOnlyUser = false);\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const CustomNewColorButton = (props) => {\r\n const { forceEnabled, toolTipTitle, ...rest } = props;\r\n let { isReadOnlyUser } = useLoginInfo();\r\n forceEnabled && (isReadOnlyUser = false);\r\n return (\r\n \r\n \r\n {!rest.isBtnLoader ? (\r\n <>{rest.children}\r\n ) : (\r\n \r\n {rest.children}\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 DefaultButton = (props) => {\r\n const { forceEnabled, toolTipTitle, ...rest } = props;\r\n let { isReadOnlyUser } = useLoginInfo();\r\n forceEnabled && (isReadOnlyUser = false);\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const PrimaryButton = (props) => {\r\n const { toolTipTitle, ...rest } = props;\r\n return (\r\n \r\n \r\n {rest.children}\r\n \r\n \r\n );\r\n};\r\n\r\nexport const SecondaryButton = (props) => {\r\n const { toolTipTitle, ...rest } = props;\r\n return (\r\n \r\n \r\n \r\n {rest.children}\r\n {/*
{rest.children}
{' '}\r\n
\r\n \r\n
*/}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport const YesButton = (props) => {\r\n const { toolTipTitle, ...rest } = props;\r\n return (\r\n \r\n
\r\n \r\n {rest.btnName || 'Yes'}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport const NoButton = (props) => {\r\n const { toolTipTitle, ...rest } = props;\r\n return (\r\n \r\n
\r\n \r\n {rest.btnName || 'No'}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport const PassAllbutton = (props) => {\r\n const { toolTipTitle, ...rest } = 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\nconst Pass = (props) => {\r\n const { toolTipTitle, ...rest } = 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\nconst Fail = (props) => {\r\n const { toolTipTitle, ...rest } = 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\nconst NABtn = (props) => {\r\n const { toolTipTitle, ...rest } = props;\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\nconst MBtn = (props) => {\r\n const { toolTipTitle, ...rest } = 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\nconst RBtn = (props) => {\r\n const { toolTipTitle, ...rest } = 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\nconst UploadBtn = (props) => {\r\n const { toolTipTitle, ...rest } = 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\nexport const UploadWithBadge = (props) => {\r\n const { toolTipTitle, count, ...rest } = 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\nexport const CheckCustomdBtn = (props) => {\r\n const { toolTipTitle, btnLabel, btn, btnID, ...rest } = 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\nexport const PassButton = memo(Pass);\r\nexport const FailButton = memo(Fail);\r\nexport const NAButton = memo(NABtn);\r\nexport const MButton = memo(MBtn);\r\nexport const RButton = memo(RBtn);\r\nexport const UploadButton = memo(UploadBtn);\r\n// export const passAllbutton = memo(PassAll);\r\n","import React, { useEffect, useState, useCallback } from 'react';\r\nimport { MarkerClusterer, SuperClusterAlgorithm } from '@googlemaps/markerclusterer';\r\nimport Geocode from 'react-geocode';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { CustomIconButton } from '../../../../Core/Controls/Inputs/Buttons/ButtonModal';\r\nimport InputAdornment from '@material-ui/core/InputAdornment';\r\nimport { InputText, SecondaryButton } from '../../../../Core/Controls';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport { Typography } from '@material-ui/core';\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\n\r\nimport serviceLogo from '../../../../Marker/Service.png';\r\nimport recoveryLogo from '../../../../Marker/Recovery.png';\r\nimport closestLogo from '../../../../Marker/Closest.png';\r\n\r\nimport car_repair_amberLogo from '../../../../Marker/car_repair_amber.png';\r\nimport car_repair_redLogo from '../../../../Marker/car_repair_red.png';\r\nimport car_repair_greenLogo from '../../../../Marker/car_repair_green.png';\r\n\r\nimport locationLogo from '../../../../Marker/car_pin.png';\r\nimport hgvLogo from '../../../../Marker/hgv_pin.png';\r\nimport vanLogo from '../../../../Marker/van_pin.png';\r\nimport trailerLogo from '../../../../Marker/trailer_pin.png';\r\nimport busLogo from '../../../../Marker/bus_pin.png';\r\nimport redLogo from '../../../../Marker/redIcon.png';\r\n\r\nlet tempObj = {\r\n hgv: hgvLogo,\r\n van: vanLogo,\r\n trailer: trailerLogo,\r\n psv: busLogo,\r\n car: locationLogo\r\n};\r\n\r\nGeocode.setApiKey('AIzaSyBSxrpmSFBsDNgb_hQLFlw5tDixvNBGSt0');\r\nGeocode.setLanguage('en');\r\nGeocode.setLocationType('ROOFTOP');\r\nGeocode.enableDebug();\r\n\r\nconst GetAgentLocation2 = (props) => {\r\n let vehcileCategoriesLogo = '';\r\n\r\n if (props.vehcileCategories && tempObj[props.vehcileCategories.toLowerCase()]) {\r\n vehcileCategoriesLogo = tempObj[props.vehcileCategories.toLowerCase()];\r\n } else {\r\n vehcileCategoriesLogo = tempObj['car'];\r\n }\r\n\r\n const google = window.google;\r\n const [state, setState] = useState({\r\n mapLocation: [],\r\n FilterList: [],\r\n tempFilterList: [],\r\n filterRecoveryAgent: [],\r\n serviceagent: true,\r\n recoveryAgent: false,\r\n location: props.location,\r\n isOpen: false,\r\n activeMarker: {},\r\n showingInfoWindow: false,\r\n currentLat: 53.15296,\r\n currentLang: -2.11704,\r\n arr_facilities: [],\r\n facilitiId: [],\r\n zoom: props.location ? 12 : 6\r\n });\r\n\r\n const initMap = () => {\r\n let isLastEventIsClicked = false;\r\n const map = new google.maps.Map(document.getElementById('map'), {\r\n zoom: state.zoom,\r\n center: { lat: state.currentLat, lng: state.currentLang }\r\n });\r\n\r\n const infoWindow = new google.maps.InfoWindow({\r\n content: '',\r\n disableAutoPan: true\r\n });\r\n\r\n infoWindow.addListener('closeclick', () => {\r\n isLastEventIsClicked = false;\r\n });\r\n\r\n let markers = state.tempFilterList.map((position, i) => {\r\n const label = '';\r\n let locatinAddress = `${position[2]},${position[3]}\\n${position[4]},${position[5]}(${position[6]})`;\r\n const contentString =\r\n '
' +\r\n `
\r\n

${position[1]}

\r\n
` +\r\n `
\r\n

\r\n Address:- ${locatinAddress}\r\n

\r\n

Tel:- ${position[7]}

\r\n
` +\r\n '
';\r\n\r\n const marker = new google.maps.Marker({\r\n position: { lat: +position[8], lng: +position[9] },\r\n label,\r\n icon: { url: position[11], size: { width: 40, height: 80 }, anchor: { x: 15, y: 50 }, scaledSize: { width: 25, height: 45 } }\r\n });\r\n\r\n marker.addListener('click', () => {\r\n isLastEventIsClicked = true;\r\n infoWindow.setContent(contentString);\r\n infoWindow.open(map, marker);\r\n });\r\n\r\n marker.addListener('mouseover', function () {\r\n if (!isLastEventIsClicked) {\r\n infoWindow.setContent(contentString);\r\n infoWindow.open(map, marker);\r\n }\r\n });\r\n\r\n marker.addListener('mouseout', function () {\r\n if (!isLastEventIsClicked) {\r\n infoWindow.close();\r\n }\r\n });\r\n\r\n return marker;\r\n });\r\n\r\n markers.push(\r\n new google.maps.Marker({\r\n position: { lat: state.currentLat, lng: state.currentLang },\r\n label: '',\r\n icon: { url: vehcileCategoriesLogo, size: { width: 50, height: 100 }, anchor: { x: 15, y: 50 }, scaledSize: { width: 40, height: 55 } }\r\n })\r\n );\r\n new MarkerClusterer({ markers, map });\r\n };\r\n\r\n useEffect(() => {\r\n let urls = ['/agent_facilities.json', '/latlang.json'];\r\n Promise.all(urls.map((url) => fetch(url).then((resp) => resp.text()))).then((texts) => {\r\n setState((st) => ({\r\n ...st,\r\n arr_facilities: eval(texts[0]),\r\n mapLocation: eval(texts[1])\r\n }));\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n fetchCurrentLocation();\r\n }, [state.mapLocation]);\r\n\r\n useEffect(() => {\r\n initMap();\r\n }, [state.tempFilterList]);\r\n\r\n function deg2rad(deg) {\r\n return deg * (Math.PI / 180);\r\n }\r\n\r\n const fetchCurrentLocation = () => {\r\n let FilterList = [];\r\n const tempArray = [...state.mapLocation];\r\n Geocode.fromAddress(state.location || 'CA81UR').then(\r\n (response) => {\r\n if (response) {\r\n const { lat, lng } = response.results[0].geometry.location;\r\n tempArray.forEach((l, i) => {\r\n // var R = 6371; // Radius of the earth in km\r\n var R = 3958; // Radius of the earth in miles\r\n var dLat = deg2rad(l[8] - lat);\r\n var dLon = deg2rad(l[9] - lng);\r\n var a =\r\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\r\n Math.cos(deg2rad(lat)) * Math.cos(deg2rad(l[8])) * Math.sin(dLon / 2) * Math.sin(dLon / 2);\r\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n var d = R * c; // Distance in miles\r\n if (d < 10) {\r\n l.splice(11, 0, car_repair_greenLogo);\r\n } else if (d > 10 && d < 20) {\r\n l.splice(11, 0, car_repair_amberLogo);\r\n } else {\r\n l.splice(11, 0, car_repair_redLogo);\r\n }\r\n if (d < 1000) {\r\n FilterList.push(l);\r\n }\r\n });\r\n setState((st) => ({ ...st, FilterList: FilterList, tempFilterList: FilterList, currentLat: lat, currentLang: lng }));\r\n }\r\n },\r\n (error) => {\r\n console.error(error);\r\n }\r\n );\r\n };\r\n\r\n const inputChange = (id) => (e) => {\r\n const { name, checked } = e.target;\r\n let tempServiceFacList = [...state.facilitiId];\r\n let tempFilterList = [];\r\n if (checked) {\r\n tempServiceFacList.push(id);\r\n } else {\r\n let tempIndex = tempServiceFacList.findIndex((q) => q == id);\r\n tempServiceFacList.splice(tempIndex, 1);\r\n }\r\n if (tempServiceFacList.length > 0) {\r\n state.FilterList.forEach(function (n) {\r\n let chekExist = tempServiceFacList.find((l) => l == n[10]?.split(',').find((p) => l == p));\r\n if (chekExist) {\r\n tempFilterList.push(n);\r\n }\r\n });\r\n } else tempFilterList = [...state.FilterList];\r\n setState((st) => ({ ...st, [name]: checked, facilitiId: tempServiceFacList, tempFilterList: tempFilterList }));\r\n };\r\n\r\n const handleChange = useCallback((e) => {\r\n const { name, value, type } = e.target;\r\n setState((st) => ({ ...st, [name]: value }));\r\n }, []);\r\n\r\n const handleEnter = (e) => {\r\n if (e.key === 'Enter') {\r\n fetchCurrentLocation();\r\n setState((st) => ({ ...st, zoom: 12 }));\r\n }\r\n };\r\n\r\n const getLocation = () => {\r\n props.updateLocation(state.location);\r\n };\r\n\r\n const searchHandle = () => {\r\n fetchCurrentLocation();\r\n setState((st) => ({ ...st, zoom: 12 }));\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 {props.updateLocation && (\r\n \r\n Submit\r\n \r\n )}\r\n \r\n\r\n \r\n Service Agent Facilities\r\n {state.arr_facilities.map((f) => {\r\n return (\r\n \r\n }\r\n label={f[1]}\r\n />\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n
Loading...
\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default GetAgentLocation2;\r\n","import { useEffect, useState } from \"react\";\r\nimport { AppStorage } from \"../Basic/storage-service\";\r\n\r\nexport const useLoginInfo = () => {\r\n let [ state, setState ] = useState( {\r\n // isLoggedIn: false,\r\n // isReadOnlyUser: false,\r\n // token: '',\r\n // displayName: '',\r\n // lastLogin: null,\r\n // userRoles: [],\r\n isLoggedIn: AppStorage.isLoggedIn(),\r\n token: AppStorage.getToken(),\r\n displayName: AppStorage.getName(),\r\n isReadOnlyUser: AppStorage.isReadOnlyUser(),\r\n lastLogin: AppStorage.getLastLogin(),\r\n userRoles: AppStorage.getUserRoles(),\r\n } );\r\n useEffect( () => {\r\n setState( {\r\n isLoggedIn: AppStorage.isLoggedIn(),\r\n token: AppStorage.getToken(),\r\n displayName: AppStorage.getName(),\r\n isReadOnlyUser: AppStorage.isReadOnlyUser(),\r\n lastLogin: AppStorage.getLastLogin(),\r\n userRoles: AppStorage.getUserRoles(),\r\n } )\r\n }, [ AppStorage.loginInfoUpdatedAt() ] );\r\n\r\n return state;\r\n}","import { getWithAuth, postWithAuth } from '../Basic/HttpService';\r\nimport { AppStorage } from '../Basic/storage-service';\r\n\r\nexport const getUploaderConfig = async () => {\r\n let res = await getWithAuth('FileUploader');\r\n if (res.success) {\r\n AppStorage.saveFileUploaderConfig(res.data);\r\n }\r\n};\r\n\r\nexport const getFilesForConfig = async (configId, recordId, docIDPassed = false) => {\r\n if (docIDPassed == undefined || docIDPassed == null) {\r\n docIDPassed = false;\r\n }\r\n let res = await getWithAuth(`FileUploader/${configId}/${recordId}?docIDPassed=${docIDPassed}`);\r\n return res;\r\n};\r\n\r\nexport const uploadFileUsignUploaderConfig = async (configId, recordId, formData, docIDPassed) => {\r\n if (docIDPassed == undefined || docIDPassed == null) {\r\n docIDPassed = false;\r\n }\r\n let res = await postWithAuth(`FileUploader/${configId}/${recordId}?docIDPassed=${docIDPassed}`, formData);\r\n return res;\r\n};\r\n\r\nexport const updateName = async (configId, recordId, uniqueFileName, newName) => {\r\n let res = await postWithAuth(`FileUploader/rename`, {\r\n configId,\r\n recordId,\r\n uniqueFileName,\r\n newName\r\n });\r\n return res;\r\n};\r\n\r\nexport const deleteUploadedFile = async (configId, recordId, uniqueFileName) => {\r\n let res = await postWithAuth(`FileUploader/delete`, {\r\n configId,\r\n recordId,\r\n uniqueFileName\r\n });\r\n return res;\r\n};\r\n\r\nexport const downloadUploadedFile = async (configId, recordId, uniqueFileName, fileNameFull, docIDPassed) => {\r\n if (docIDPassed == undefined || docIDPassed == null) {\r\n docIDPassed = false;\r\n }\r\n let res = await postWithAuth(\r\n `FileUploader/download`,\r\n {\r\n configId,\r\n recordId,\r\n uniqueFileName,\r\n docIDPassed\r\n },\r\n { responseType: 'blob', returnOrgRes: true }\r\n );\r\n\r\n if (res.status === 200) {\r\n const url = window.URL.createObjectURL(new Blob([res.data]));\r\n const link = document.getElementById('tempDownloadLink') || document.createElement('a');\r\n link.id = 'tempDownloadLink';\r\n link.href = url;\r\n link.setAttribute('download', fileNameFull);\r\n document.body.appendChild(link);\r\n link.click();\r\n return true;\r\n }\r\n return false;\r\n};\r\n","import moment from 'moment';\r\nimport { SortableHeaderCell } from 'react-data-grid';\r\nconst styles = { link: { textDecoration: 'none', color: '#f50057' } };\r\nconst formatters = {\r\n YesNo: (params) => {\r\n const field = params.column.key;\r\n return params.row[field] ? 'Yes' : 'No';\r\n },\r\n Date_DDMMYYYY: (params) => {\r\n const field = params.column.key;\r\n const val = params.row[field];\r\n return val ? moment(val).format('DD/MM/YYYY') : '--:--';\r\n },\r\n Date_DDMMYY: (params) => {\r\n const field = params.column.key;\r\n const val = params.row[field];\r\n return val ? moment(val).format('DD/MM/YY') : '--:--';\r\n },\r\n Date_DDMMMYYYY: (params) => {\r\n const field = params.column.key;\r\n const val = params.row[field];\r\n return val ? moment(val).format('DD-MMM-YYYY') : '-';\r\n },\r\n Date_DDMMMYYYY_HHMM: (params) => {\r\n const field = params.column.key;\r\n const val = params.row[field];\r\n return val ? moment(val).format('DD-MMM-YYYY HH:mm') : '-';\r\n },\r\n DateFormatter: (params) => {\r\n return params ? moment(params).format('YYYY-MM-DD') : '';\r\n },\r\n DateOnlyFormatter: (params) => {\r\n return params ? moment(params).format('DD-MMM-YYYY') : '-';\r\n },\r\n YearFormatter: (params) => {\r\n return params ? moment(params).format('DD/MM/YYYY') : '--:--';\r\n },\r\n DateTimeFormatter: (params) => {\r\n return params ? moment(params).format('DD-MMM-YYYY HH:mm') : null;\r\n },\r\n NumberWithPound: (params, grid) => {\r\n const field = params.column.key;\r\n const val = +params.row[field];\r\n if (grid.isGijgo) {\r\n return `
£${val ? val.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,') : '0.00'}
`;\r\n } else {\r\n return (\r\n \r\n {val ? <>£{val.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} : <>£0.00}\r\n \r\n );\r\n }\r\n },\r\n ColumnTextAlignRight: (params, grid) => {\r\n const field = params.column.key;\r\n const val = params.row[field];\r\n\r\n if (grid.isGijgo) {\r\n return `
${val}
`;\r\n } else {\r\n return
{val}
;\r\n }\r\n },\r\n\r\n ColumnHeaderAlignRight: (params) => {\r\n const val = params.column.name;\r\n return (\r\n \r\n
{val}
\r\n
\r\n );\r\n },\r\n formatWithComma: (params) => {\r\n return !!params ? `${params}, ` : '';\r\n },\r\n capitalize: (string) => {\r\n return string ? string.charAt(0).toUpperCase() + string.slice(1).toLowerCase() : '';\r\n },\r\n dueDateFormatter: (data, grid) => {\r\n const field = data.column.key;\r\n const val = data.row[field];\r\n let textColor = '';\r\n let textWight = '';\r\n const dtDueIn = moment(val);\r\n const daysPast = moment().diff(dtDueIn, 'days');\r\n if (daysPast > 0) {\r\n textColor = 'red';\r\n textWight = 'bold';\r\n } else if (daysPast >= -14 && daysPast <= 0) {\r\n textColor = '#FFBF00';\r\n textWight = 'bold';\r\n } else {\r\n textColor = 'green';\r\n textWight = 'bold';\r\n }\r\n\r\n if (grid.isGijgo) {\r\n return `
${formatters.YearFormatter(val)}
`;\r\n } else {\r\n return
{formatters.YearFormatter(val)}
;\r\n }\r\n },\r\n addressFormatter: (...values) => {\r\n return values\r\n .map((x) => x?.trim())\r\n .filter((x) => x)\r\n .join(', ');\r\n },\r\n phoneNumberFormatter: (data) => {\r\n return data ? (\r\n \r\n {data}\r\n \r\n ) : (\r\n 'N\\\\A'\r\n );\r\n },\r\n mailFormatter: (data) => {\r\n return data ? (\r\n \r\n {data}\r\n \r\n ) : (\r\n 'N\\\\A'\r\n );\r\n },\r\n ToFixedDigit: (val) => {\r\n return {val ? <>{val.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} : <>0.00};\r\n },\r\n numberThousandsSeparator: (val) => {\r\n return val.toLocaleString('en-US', { maximumFractionDigits: 2 });\r\n //val.toString().replace(/\\B(? {\r\n dateCompleted = dateCompleted ? dateCompleted : moment().format();\r\n let isSameWeek = moment(dateCompleted).isSame(scheduleDateDue, 'week');\r\n let isSameMonth = moment(dateCompleted).isSame(scheduleDateDue, 'month');\r\n if (scheduleDateDue < dateCompleted) {\r\n if ((dayRange == 1 && scheduleDateDue < dateCompleted) || (dayRange == 2 && !isSameWeek) || (dayRange == 3 && !isSameMonth)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n getScheduleColour: (dateCompleted, scheduleDateDue, dayRange) => {\r\n let isOverDueSchedule = formatters.isOverDueSchedule(dateCompleted, scheduleDateDue, dayRange);\r\n // dateCompleted = dateCompleted ? dateCompleted : moment().format();\r\n if (dateCompleted && !isOverDueSchedule) {\r\n return 'green';\r\n } else if (isOverDueSchedule) {\r\n return 'red';\r\n } else {\r\n return 'black';\r\n }\r\n }\r\n};\r\nexport default formatters;\r\n","import InputText from './index';\r\nimport { InputLabel, FormHelperText, Typography } from '@material-ui/core';\r\nimport './inputStyle.scss';\r\n\r\nexport function MandatoryField(props) {\r\n const { inputLabel, isDisabled, ...rest } = props;\r\n return isDisabled ? (\r\n
\r\n \r\n {inputLabel}\r\n \r\n
{props.value || 'N/A'}
\r\n
\r\n ) : (\r\n <>\r\n \r\n {inputLabel}\r\n \r\n \r\n {rest.errors}\r\n \r\n );\r\n}\r\n\r\nfunction SimpleField(props) {\r\n const { inputLabel, isDisabled, ...rest } = props;\r\n return isDisabled ? (\r\n
\r\n \r\n {inputLabel}\r\n \r\n
{props.value || 'N/A'}
\r\n
\r\n ) : (\r\n <>\r\n {inputLabel}\r\n \r\n \r\n );\r\n}\r\nexport default SimpleField;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from \"../../Basic/HttpService\";\r\n\r\nexport const getAllAdminDash = async () => {\r\n let res = await getWithAuth(`AdminDashboard`);\r\n return res;\r\n};\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllCustomerDashboard = async () => {\r\n let res = await getWithAuth(`customerDashboard`);\r\n return res;\r\n};\r\n","import { getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllDriverDash = async () => {\r\n let res = await getWithAuth(`DriverDashboard`);\r\n return res;\r\n};\r\n","import { postWithAuth, getWithAuth, putWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getAllServiceAgentDash = async () => {\r\n let res = await getWithAuth(`ServiceAgentDashboard`);\r\n return res;\r\n};\r\n","import { CircularProgress, makeStyles, Button, TextField } from '@material-ui/core';\r\nimport React, { useEffect, useMemo, useState } from 'react';\r\nimport ReactDataGrid from 'react-data-grid';\r\nimport { InputText } from '..';\r\nimport { some, chunk } from 'lodash';\r\nimport AddIcon from '@material-ui/icons/Add';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport FileUploaderButton from '../GenericFileUploader';\r\nimport { isValidConfig } from '../GenericFileUploader/FileUploaderConfig';\r\nimport '../../../Components/commonStyle.scss';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport Pagination from '@material-ui/lab/Pagination';\r\nimport { SortByAlphaTwoTone } from '@material-ui/icons';\r\nimport { CustomChip } from '../Inputs/DatePicker';\r\n\r\nconst EmptyRowsRenderer = (props) => {\r\n return (\r\n
\r\n {props.loadingData ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
No Data Found.
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => {\r\n return {\r\n gridContainer: {\r\n marginTop: 8,\r\n '& .empty-row': {\r\n marginTop: theme.spacing(1),\r\n textAlign: 'center'\r\n },\r\n '& .grid-filter': {\r\n position: 'relative',\r\n display: 'inline-block',\r\n marginBottom: 8,\r\n width: '100%',\r\n '& > label': {\r\n position: 'absolute',\r\n right: 10,\r\n top: 8,\r\n zIndex: -99,\r\n color: '#d3d3d3'\r\n }\r\n }\r\n }\r\n };\r\n});\r\n\r\nlet searchTimer;\r\nlet defaultRowHeight = 45;\r\nlet defautltRowHeaderHeight = 45;\r\nconst DataGrid = (props) => {\r\n const [state, setState] = useState({\r\n rows: [],\r\n columns: [],\r\n filteredRows: [],\r\n filterText: '',\r\n rowHeight: defaultRowHeight,\r\n headerRowHeight: defautltRowHeaderHeight,\r\n pagedIndex: 1,\r\n pagedData: [],\r\n rowPerPage: props.rowPerPage || 10\r\n });\r\n const [sortColumns, setSortColumns] = useState([]);\r\n const [finalRow, setFinalRow] = useState([]);\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n const rows = props.rows || [];\r\n const rowHeight = props.rowHeight || defaultRowHeight;\r\n const headerRowHeight = props.headerRowHeight || defautltRowHeaderHeight;\r\n setState((st) => ({ ...st, rows: rows, rowHeight: rowHeight, headerRowHeight: headerRowHeight }));\r\n }, [props.rows, props.rowHeight, props.headerRowHeight]);\r\n\r\n useEffect(() => {\r\n let cols = props.columns.map((c) => ({ ...c }));\r\n if (cols.length > 0 && props.idFieldName && props.fileUploaderConfigName && isValidConfig(props.fileUploaderConfigName)) {\r\n const actionCol = cols.find((c) => c.addFileUploaderIcon);\r\n if (actionCol) {\r\n const prevFor = actionCol.formatter;\r\n var newFormatter = (params) => {\r\n return (\r\n
\r\n \r\n {prevFor(params)}\r\n \r\n {\r\n \r\n }\r\n \r\n \r\n
\r\n );\r\n };\r\n actionCol.formatter = newFormatter;\r\n } else {\r\n cols.push({\r\n name: '',\r\n width: 70,\r\n formatter: (params) => (\r\n \r\n )\r\n });\r\n }\r\n }\r\n setState((st) => ({\r\n ...st,\r\n columns: cols.map((m) => {\r\n return { ...m, cellClass: `${m.cellClass} normalLineHeight` };\r\n })\r\n }));\r\n }, [props.columns]);\r\n\r\n const gridStyle = useMemo(() => {\r\n return {\r\n height: props.height ? props.height : props.offset ? `calc(100vh - ${props.offset}px)` : 'calc(100vh - 190px)',\r\n width: props.width || 'auto',\r\n marginTop: props.enableSearch ? 8 : 0,\r\n fontSize: 15\r\n // overflowY: 'hidden'\r\n };\r\n }, [props.height, props.width, props.enableSearch]);\r\n\r\n const setFilterText = (e) => {\r\n const vl = e.target.value;\r\n if (props.getFilterVal) {\r\n props.getFilterVal(vl);\r\n }\r\n setState((st) => ({ ...st, filterText: vl }));\r\n searchTimer && clearTimeout(searchTimer);\r\n searchTimer = setTimeout(() => {\r\n setFilteredRow();\r\n }, 500);\r\n };\r\n\r\n const setFilteredRow = () => {\r\n setState((st) => {\r\n const newSt = { ...st };\r\n const { rows, filterText } = newSt;\r\n let filterd = [];\r\n filterd = [...rows];\r\n if (props.enableSearch && filterText.trim().length > 0) {\r\n filterText\r\n .trim()\r\n .split(' ')\r\n .map((t) => t.trim().toLowerCase())\r\n .forEach((src) => {\r\n filterd = filterd.filter((rw) => some(rw, (vl) => `${vl}`.toLowerCase().includes(src)));\r\n });\r\n }\r\n newSt.filteredRows = filterd;\r\n return newSt;\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n setFilteredRow();\r\n }, [state.rows]);\r\n\r\n //logic for sorting array (works for 7.0.0-canary.49 version React data grid)\r\n const sortedRows = useMemo(() => {\r\n if (sortColumns.length === 0) return state.filteredRows;\r\n\r\n const getComparator = (sortColumn) => {\r\n return (a, b) => {\r\n if ((a[sortColumn] || '') < (b[sortColumn] || '')) {\r\n return -1;\r\n }\r\n if ((a[sortColumn] || '') > (b[sortColumn] || '')) {\r\n return 1;\r\n }\r\n return 0;\r\n };\r\n };\r\n\r\n const sortedRows = [...state.filteredRows];\r\n sortedRows.sort((a, b) => {\r\n for (const sort of sortColumns) {\r\n const comparator = getComparator(sort.columnKey, sort.type);\r\n const compResult = comparator(a, b);\r\n if (compResult !== 0) {\r\n return sort.direction === 'ASC' ? compResult : -compResult;\r\n }\r\n }\r\n return 0;\r\n });\r\n return sortedRows;\r\n }, [state.pagedIndex, sortColumns, state.filteredRows]);\r\n\r\n //Logic for Pagination till useEffect\r\n function splitIntoChunk(arr, size) {\r\n let tempo = chunk(arr, size);\r\n setState((st) => ({ ...st, pagedData: tempo }));\r\n }\r\n\r\n const handleChange = (event, value) => {\r\n setState((st) => ({ ...st, pagedIndex: value }));\r\n };\r\n\r\n useEffect(() => {\r\n const array = sortedRows || [];\r\n const size = state.rowPerPage || 10;\r\n splitIntoChunk(array, size);\r\n }, [sortedRows, state.rowPerPage]);\r\n\r\n let { isReadOnlyUser } = useLoginInfo();\r\n\r\n useEffect(() => {\r\n let finalRows = sortedRows;\r\n if (props.paginate) {\r\n if (state.pagedData.length > 0) {\r\n if (state.pagedData[state.pagedIndex - 1]?.length > 0) {\r\n finalRows = state.pagedData[state.pagedIndex - 1];\r\n } else {\r\n finalRows = state.pagedData[0];\r\n setState((st) => ({ ...st, pagedIndex: 1 }));\r\n }\r\n } else {\r\n finalRows = [];\r\n }\r\n }\r\n setFinalRow(finalRows || []);\r\n }, [state.pagedIndex, state.pagedData, sortedRows]);\r\n\r\n const rPGChanged = (event) => {\r\n let { value } = event.target;\r\n if (value < 10 || value > 50) {\r\n event.preventDefault();\r\n } else {\r\n setState((st) => ({ ...st, rowPerPage: value }));\r\n }\r\n };\r\n\r\n let isGridBtn = props.btnTitle || props.secondBtnTitle || props.mapBtnToolTipTitle || props.enableSearch;\r\n\r\n return (\r\n
\r\n \r\n {props.enableSearch && (\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n {!isReadOnlyUser && (\r\n \r\n {props.btnTitle && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {props.secondBtnTitle && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {props.mapBtnToolTipTitle && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n )}\r\n \r\n EmptyRowsRenderer(props)}\r\n rowHeight={state.rowHeight}\r\n headerRowHeight={state.headerRowHeight}\r\n className=\"custom-scroll\"\r\n style={gridStyle}\r\n defaultColumnOptions={{\r\n sortable: true,\r\n resizable: true\r\n }}\r\n sortColumns={sortColumns}\r\n onSortColumnsChange={setSortColumns}\r\n onRowClick={props.onRowClick || null}\r\n />\r\n {props.paginate ? (\r\n \r\n Page No: {state.pagedData.length > 0 ? state.pagedIndex : '0'}\r\n    Rows Per Page: \r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n\r\nexport default DataGrid;\r\n","import React, { useState } from 'react';\r\nimport { IconButton, makeStyles } from '@material-ui/core';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport { Visibility, VisibilityOff } from '@material-ui/icons';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n showIcon: {\r\n padding: 0,\r\n marginRight: 0\r\n }\r\n}));\r\n\r\nlet PasswordField = (props) => {\r\n const { forceEditable, ...rest } = props;\r\n let classes = useStyles();\r\n let [showPass, setShowPass] = useState(false);\r\n let { isReadOnlyUser } = useLoginInfo();\r\n forceEditable && (isReadOnlyUser = false);\r\n\r\n let setShowPassword = () => {\r\n setShowPass((st) => !st);\r\n };\r\n return (\r\n \r\n {showPass ? : }\r\n \r\n )\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default PasswordField;\r\n","import React from 'react';\r\nimport { FormControlLabel } from '@material-ui/core';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\n\r\nconst UnderlyingCheckBox = ({ props, isPrimary }) => {\r\n const { forceEditable, ...rest } = props;\r\n let { isReadOnlyUser } = useLoginInfo();\r\n forceEditable && (isReadOnlyUser = false);\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst CustomCheckBox = ({ props, isPrimary, label }) => {\r\n return } label={label} />;\r\n};\r\n\r\nexport const PrimaryCheckbox = (props) => {\r\n return ;\r\n};\r\n\r\nexport const SecondaryCheckbox = React.memo((props) => {\r\n return ;\r\n});\r\n\r\n","import { TextField } from '@material-ui/core';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport { InputText } from '..';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\n\r\nconst SelectBox = (props) => {\r\n const { List, inputLabel, forceEditable, ...rest } = props;\r\n let { isReadOnlyUser } = useLoginInfo();\r\n forceEditable && (isReadOnlyUser = false);\r\n let dropdownValueName = '';\r\n if (isReadOnlyUser && rest.value) {\r\n dropdownValueName = List.find((l) => l.id === rest.value)?.name;\r\n }\r\n let insertEmpty = rest.insertEmpty;\r\n if (insertEmpty === undefined) {\r\n insertEmpty = true;\r\n }\r\n return isReadOnlyUser ? (\r\n \r\n ) : (\r\n \r\n {insertEmpty && (\r\n \r\n None\r\n \r\n )}\r\n {List.length > 0 &&\r\n List.map((option) => (\r\n \r\n {option.name}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default SelectBox;\r\n","import { Breadcrumbs, Typography } from '@material-ui/core';\r\nimport { Link } from 'react-router-dom';\r\nimport React from 'react';\r\n\r\nconst BreadCrumbs = (props) => {\r\n return (\r\n >\" aria-label=\"breadcrumb\">\r\n {props.crumbs\r\n ? props.crumbs.map((crumb, i) => {\r\n return (\r\n
\r\n {crumb.active ? (\r\n crumb.onClick ? (\r\n \r\n {crumb.name}\r\n \r\n ) : (\r\n \r\n {crumb.name}\r\n \r\n )\r\n ) : (\r\n \r\n {crumb.name}\r\n \r\n )}\r\n
\r\n );\r\n })\r\n : null}\r\n
\r\n );\r\n};\r\n\r\nexport default BreadCrumbs;\r\n","import React, { useEffect } from 'react';\r\nimport { Tabs, Tab, Box } from '@material-ui/core';\r\nimport AppBar from '@material-ui/core/AppBar';\r\nimport './tabStyle.scss';\r\nconst tabStyle = {\r\n boxShadow: '0px 1px rgba(0, 0, 0, 0.4)',\r\n tabWidth: { minWidth: 'auto' }\r\n};\r\n\r\nconst getTabAndPanelId = (controlId, index) => {\r\n const id = controlId || 'dummy_tab';\r\n return {\r\n tabId: `${id}_${index}`,\r\n panelId: `${id}_tab_body_${index}`\r\n };\r\n};\r\n\r\nfunction TabPanel(props) {\r\n const { children, selectedTabIndex, index, controlId } = props;\r\n let { tabId, panelId } = getTabAndPanelId(controlId, index);\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default function TabComponent(props) {\r\n const [state, setState] = React.useState({\r\n selectedIndex: undefined,\r\n tabList: []\r\n });\r\n useEffect(() => {\r\n setState((st) => ({ ...st, selectedIndex: props.selectedIndex }));\r\n }, [props.selectedIndex, props.timeDependency]);\r\n useEffect(() => {\r\n if (props.tabList) {\r\n setState((st) => {\r\n const nst = { ...st };\r\n nst.tabList = [...props.tabList];\r\n if (nst.selectedIndex !== undefined) {\r\n if (nst.selectedIndex >= nst.tabList.length) {\r\n nst.selectedIndex = nst.tabList - 1;\r\n }\r\n } else if (nst.tabList.length) {\r\n nst.selectedIndex = 0;\r\n } else {\r\n nst.selectedIndex = undefined;\r\n }\r\n return nst;\r\n });\r\n }\r\n }, [props.tabList, state.selectedIndex]);\r\n\r\n const handleChange = (event, newValue) => {\r\n setState((st) => ({ ...st, selectedIndex: newValue }));\r\n };\r\n\r\n return (\r\n
\r\n \r\n {state.tabList.map((m, i) => {\r\n let { tabId, panelId } = getTabAndPanelId(props.id, i);\r\n return ;\r\n })}\r\n \r\n {state.tabList.map((m, i) => {\r\n return (\r\n \r\n {m.body}\r\n \r\n );\r\n })}\r\n
\r\n );\r\n}\r\n","import { makeStyles } from '@material-ui/core/styles';\r\nimport Accordion from '@material-ui/core/Accordion';\r\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\r\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport { useEffect, useState } from 'react';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n boxShadow: (props) => `2px 5px 5px 0px ${props.color ? 'darkgrey' : 'lightgrey'}`,\r\n border: (props) => `1px solid ${props.color ? theme.palette[props.color].dark : 'lightgrey'}`,\r\n borderRadius: 5,\r\n marginBottom: 10,\r\n overflow: 'hidden',\r\n\r\n '&::before': {\r\n backgroundColor: 'transparent'\r\n }\r\n },\r\n\r\n heading: {\r\n background: (props) => (props.color ? theme.palette[props.color].dark : ''),\r\n color: (props) => (props.color ? theme.palette[props.color].contrastText : ''),\r\n fontSize: theme.typography.pxToRem(15),\r\n fontWeight: theme.typography.fontWeightRegular,\r\n borderBottom: (props) => `1px solid ${props.color ? theme.palette[props.color].dark : 'lightgrey'}`,\r\n\r\n '& .MuiIconButton-edgeEnd': {\r\n color: 'inherit'\r\n }\r\n }\r\n}));\r\n\r\nconst AccordionComponent = (props) => {\r\n const classes = useStyles(props);\r\n const [expand, setExpand] = useState({ open: false });\r\n useEffect(() => {\r\n setExpand((st) => ({ ...st, open: props.Expand }));\r\n }, [props.Expand, props.changedAt]);\r\n const handleChange = (event, isExpanded) => {\r\n setExpand((st) => ({ ...st, open: isExpanded }));\r\n };\r\n return (\r\n \r\n } aria-controls=\"panel1a-content\" className={classes.heading}>\r\n {props.header}\r\n \r\n {props.accordianBody || props.children}\r\n \r\n );\r\n};\r\n\r\nAccordionComponent.defaultProps = {\r\n Expand: false\r\n};\r\n\r\nexport default AccordionComponent;\r\n","import InputText from \"./index\";\r\n\r\nexport const TimePicker = (props) => {\r\n return ;\r\n};\r\n","import { TextField, InputLabel, Typography } from '@material-ui/core';\r\nimport Autocomplete from '@material-ui/lab/Autocomplete';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\nimport './inputStyle.scss';\r\n\r\nconst Singleselect = (props) => {\r\n const { forceEditable, isDisabled, inputLabel, isRequired, ...rest } = props;\r\n let { isReadOnlyUser } = useLoginInfo();\r\n forceEditable && (isReadOnlyUser = false);\r\n\r\n return isDisabled ? (\r\n
\r\n \r\n {inputLabel}\r\n \r\n
{props.value ? props.value?.name : 'N/A'}
\r\n
\r\n ) : (\r\n <>\r\n {inputLabel && (\r\n \r\n {inputLabel}\r\n \r\n )}\r\n (typeof option === 'string' ? option : option.name)}\r\n renderInput={(params) => }\r\n {...rest}\r\n />\r\n \r\n );\r\n};\r\nexport default Singleselect;\r\n","import React from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport SpeedDial from '@material-ui/lab/SpeedDial';\r\nimport SpeedDialIcon from '@material-ui/lab/SpeedDialIcon';\r\nimport SpeedDialAction from '@material-ui/lab/SpeedDialAction';\r\nimport './SpeedDialStyle.scss';\r\nimport { Backdrop } from '@material-ui/core';\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n transform: 'translateZ(0px)',\r\n flexGrow: 1\r\n },\r\n exampleWrapper: {\r\n position: 'relative',\r\n marginTop: theme.spacing(3)\r\n },\r\n\r\n speedDial: {\r\n position: 'absolute',\r\n\r\n '&.MuiSpeedDial-directionLeft': {\r\n bottom: theme.spacing(2),\r\n right: theme.spacing(2)\r\n },\r\n '&.MuiSpeedDial-directionRight': {\r\n top: theme.spacing(2),\r\n left: theme.spacing(2)\r\n }\r\n }\r\n}));\r\n\r\nexport default function SpeedDials(props) {\r\n const { actions, direction } = props;\r\n const classes = useStyles(props);\r\n const [open, setOpen] = React.useState(false);\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n const handleOpen = () => {\r\n setOpen(true);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n }\r\n onClose={handleClose}\r\n onOpen={handleOpen}\r\n open={open}\r\n direction={direction}\r\n color=\"secondary\"\r\n >\r\n {actions.map((m) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { postWithAuth, getWithAuth } from '../../Basic/HttpService';\r\n\r\nexport const getPostCodeDetails = async (val) => {\r\n let res = await getWithAuth(`Address/${val}`);\r\n return res;\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport InputAdornment from '@material-ui/core/InputAdornment';\r\nimport { MandatoryField } from '../index';\r\nimport RoomIcon from '@material-ui/icons/Room';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport CloseIcon from '@material-ui/icons/Close';\r\nimport { getPostCodeDetails } from '../../Services/InternalUser/postCodeService';\r\nimport { CircularProgress, Grid, List, ListItem, ListItemText } from '@material-ui/core';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n ul: {\r\n padding: 5\r\n },\r\n listSection: {\r\n backgroundColor: 'inherit'\r\n },\r\n customScroll: {\r\n width: '25.5%',\r\n boxShadow: '1px 1px 1px 1px #9E9E9E',\r\n backgroundColor: theme.palette.background.paper,\r\n position: 'absolute',\r\n overflow: 'auto',\r\n maxHeight: 300,\r\n zIndex: 10,\r\n height: 'auto',\r\n overflow: 'auto',\r\n '&::-webkit-scrollbar': {\r\n width: '0.1em'\r\n },\r\n '&::-webkit-scrollbar-track': {\r\n boxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)',\r\n webkitBoxShadow: 'inset 0 0 6px rgba(0,0,0,0.00)'\r\n },\r\n '&::-webkit-scrollbar-thumb': {\r\n backgroundColor: '#1976d2',\r\n opacity: 5,\r\n outline: '1px solid slategrey'\r\n }\r\n }\r\n}));\r\n\r\nexport const Postcode = (props) => {\r\n const classes = useStyles();\r\n const [show, setShow] = useState(false);\r\n const { name, value, onChange, errors, setVal } = props;\r\n const [postCodeList, setpostCodeList] = useState([]);\r\n const [code, setCode] = useState(null);\r\n const [loader, setloader] = useState(true);\r\n\r\n useEffect(async () => {\r\n if (code) {\r\n PostCodeValue();\r\n }\r\n }, [code]);\r\n\r\n const PostCodeValue = async () => {\r\n let TrimCode = code?.replace(/\\s/g, '');\r\n let res = await getPostCodeDetails(TrimCode);\r\n if (res.success) {\r\n setpostCodeList(res.data);\r\n setloader(false);\r\n } else {\r\n setpostCodeList([]);\r\n setloader(false);\r\n }\r\n };\r\n\r\n const getVal = (x) => {\r\n let FilterVal = [...postCodeList];\r\n let value = FilterVal.find((m) => {\r\n return m.addressLine1 === x;\r\n });\r\n setVal(value);\r\n setShow(!show);\r\n };\r\n\r\n const hideList = () => {\r\n setShow(false);\r\n };\r\n\r\n const showList = () => {\r\n setpostCodeList([]);\r\n setCode(props.value);\r\n setShow(true);\r\n setloader(true);\r\n PostCodeValue();\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 {...props}\r\n />\r\n {show ? (\r\n
\r\n \r\n
\r\n \r\n
\r\n {loader ? (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n ) : (\r\n postCodeList.length === 0 && (\r\n \r\n \r\n \r\n \r\n
\r\n No Address Found\r\n
\r\n \r\n
\r\n
\r\n \r\n )\r\n )}\r\n {postCodeList.length !== 0 && (\r\n
    \r\n {postCodeList.map((item, index) => (\r\n {\r\n getVal(item.addressLine1);\r\n }}\r\n >\r\n \r\n {item.addressLine1},  {item.town}\r\n \r\n \r\n ))}\r\n
\r\n )}\r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n};\r\n","import { useEffect, useState } from 'react';\r\nimport { ToggleButton, ToggleButtonGroup } from '@material-ui/lab';\r\nimport './ButtonModal.scss';\r\nimport { makeStyles } from '@material-ui/core';\r\n\r\nconst AppButtonGroup = (props) => {\r\n const useStyles = makeStyles((theme) => ({\r\n btnContainer: {\r\n '& .app-select-btn-grp button.Mui-selected': {\r\n color: (props) => `${props.textColour || 'white'}`,\r\n backgroundColor: (props) => `${props.backgroundColour || '#53af50'}`\r\n }\r\n }\r\n }));\r\n\r\n const classes = useStyles(props.options.find((m) => m[props.valuePropertyName] === +props.value));\r\n\r\n const ConvertOps = (ops) => {\r\n return ops.map((op) => {\r\n return {\r\n id: `${op[props.valuePropertyName || 'id']}`,\r\n name: `${op[props.textPropertyName || 'name']}`\r\n };\r\n });\r\n };\r\n\r\n const [state, setState] = useState({\r\n value: `${props.value}`,\r\n options: ConvertOps(props.options) || []\r\n });\r\n\r\n useEffect(() => {\r\n setState((st) => ({ ...st, value: props.value }));\r\n }, [props.value]);\r\n\r\n useEffect(() => {\r\n props.options && setState((st) => ({ ...st, options: ConvertOps(props.options) }));\r\n }, [props.options]);\r\n\r\n const clickBtnGrup = (e, val) => {\r\n if (!props.disabled) {\r\n setState((st) => ({ ...st, value: val }));\r\n props.onChange && props.onChange({ [props.name]: val });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {state.options.map((op, i) => (\r\n \r\n {op.name}\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppButtonGroup;\r\n","import { Dialog, DialogActions, DialogContent, DialogTitle } from '@material-ui/core';\r\nimport React from 'react';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Draggable from 'react-draggable';\r\n\r\nfunction PaperComponent(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\nlet DialogWithoutStaticHeader = ({ title, children, footer, onClose, maxWidth = 'sm', overflow = 'hidden', height = 'none', ...rest }) => {\r\n return (\r\n <>\r\n \r\n {title && (\r\n \r\n {title}\r\n \r\n )}\r\n {children}\r\n {footer && {footer}}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default DialogWithoutStaticHeader;\r\n","import { postWithAuth, getWithAuth, putWithAuth } from \"../../Basic/HttpService\";\r\n\r\nexport const getAllInternalDash = async () => {\r\n let res = await getWithAuth(`InternalDashboard`);\r\n return res;\r\n};\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport Rating from '@material-ui/lab/Rating';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Box from '@material-ui/core/Box';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { InputLabel } from '@material-ui/core';\r\n\r\nexport default function SimpleRating(props) {\r\n const [state, setState] = React.useState({ ratingValue: 0, isDisabled: false });\r\n\r\n useEffect(async () => {\r\n setState((st) => ({\r\n ...st,\r\n ratingValue: props.ratingValue,\r\n isDisabled: props.isDisabled\r\n }));\r\n }, [props.ratingValue]);\r\n\r\n const returnValue = (event, newValue) => {\r\n setState(newValue);\r\n setState((st) => ({\r\n ...st,\r\n ratingValue: newValue\r\n }));\r\n props.onRatingHandle(event.target.name, newValue);\r\n };\r\n\r\n return (\r\n \r\n \r\n {props.title && {props.title}}\r\n \r\n \r\n \r\n );\r\n}\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import { get } from 'lodash';\r\n\r\nlet { passwordValidateRegex } = window._ENV_;\r\n\r\nexport let getConstants = (prop) => (prop ? get(window._ENV_, prop) : window._ENV_);\r\n\r\nexport let getHashPathParts = () => {\r\n let qs = window.location.hash.split('/').splice(2);\r\n return qs;\r\n};\r\n\r\nexport let validatePassword = (password) => {\r\n return passwordValidateRegex.test(password);\r\n};\r\n\r\nexport let validatePostCode = (postCode) => {\r\n // const pattern = /(^[A-Z]{1,2}[0-9]{1,2})([0-9][A-Z]{2}$)/i;\r\n const pattern =\r\n /([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9][A-Za-z]?))))\\s?[0-9][A-Za-z]{2})/gm;\r\n return pattern.test(postCode);\r\n};\r\n\r\nexport let validatePostCodeWothCountryCode = (countryCode, postCode) => {\r\n const RegxPostCode = {\r\n GB: /([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9][A-Za-z]?))))\\s?[0-9][A-Za-z]{2})/gm,\r\n IE: /([AC-FHKNPRTV-Y]\\d{2}|D6W)[0-9AC-FHKNPRTV-Y]{4}/\r\n };\r\n return RegxPostCode[countryCode].test(postCode);\r\n};\r\n\r\nexport let emailValidation = (emailValidation) => {\r\n const pattern =\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 if (!emailValidation || emailValidation == null)\r\n return false;\r\n\r\n if (emailValidation.includes(',')) {\r\n let multiEmailTest = true;\r\n emailValidation.split(',').map((email) => {\r\n if (!pattern.test(email))\r\n multiEmailTest = false;\r\n })\r\n return multiEmailTest;\r\n } else {\r\n return pattern.test(emailValidation);\r\n }\r\n};\r\n\r\nexport let singleEmailValidation = (emailValidation) => {\r\n const pattern =\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 return pattern.test(emailValidation);\r\n};\r\n","import { TextField } from \"@material-ui/core\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport { useLoginInfo } from \"../../Hooks/useLoginInfo\";\r\nconst Multiselect = (props) => {\r\n let { isReadOnlyUser } = useLoginInfo();\r\n props.forceEditable && (isReadOnlyUser = false);\r\n\r\n return (\r\n option.name}\r\n getOptionSelected={(option, value) => option.name === value.name}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n );\r\n};\r\nexport default Multiselect;\r\n","import { Button, CircularProgress, Grid, IconButton, Typography } from '@material-ui/core';\r\nimport { CloudUpload, Delete, Edit, Check } from '@material-ui/icons';\r\nimport { useEffect, useMemo, useState } from 'react';\r\nimport formatters from '../Grid/Inputformatter';\r\nimport { InputText } from '../../Controls';\r\nimport DataGrid from '../Grid';\r\n\r\nimport { CustomIconButton, PrimaryButton, SecondaryButton } from '../Inputs/Buttons/ButtonModal';\r\nimport { getFilesForConfig, uploadFileUsignUploaderConfig, updateName, deleteUploadedFile, downloadUploadedFile } from '../../Services/FileUploaderService';\r\nimport { getConfigIdFromName } from './FileUploaderConfig';\r\nimport { useToast } from '../../Hooks/useToast';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\nimport DialogComp from '../../Dialog/DialogComp';\r\nimport { AppStorage } from '../../Basic/storage-service';\r\n\r\nconst basicColumns = [\r\n {\r\n key: 'FileName',\r\n name: 'Name'\r\n },\r\n {\r\n key: 'FileExt',\r\n name: 'Type',\r\n width: 80\r\n },\r\n {\r\n key: 'FileSize',\r\n name: 'Size',\r\n width: 90\r\n },\r\n {\r\n key: 'DownloadCount',\r\n name: 'Downloads',\r\n width: 100\r\n },\r\n {\r\n key: 'UploadedBy',\r\n name: 'Uploaded By',\r\n width: 200\r\n },\r\n {\r\n key: 'UploadedAt',\r\n name: 'Uploaded At',\r\n width: 200,\r\n formatter: formatters.Date_DDMMMYYYY_HHMM\r\n }\r\n];\r\n\r\nconst UploaderModal = ({ recordId, configName, useToast: ut, useLoginInfo: uli, gridRelaod, onClose, fileUploaderModalClose,docIDPassed }) => {\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n let AccessConfig = {\r\n ScheduleDocuments: checkhaveAccess?.CanUploadScheduleDocuments,\r\n JobScreen: checkhaveAccess?.CanUploadJobDocuments,\r\n CustomerScreen: checkhaveAccess?.CanUploadCustomerDocuments\r\n };\r\n\r\n let getAccessValue = (screenName) => {\r\n if (['ScheduleDocuments', 'JobScreen', 'CustomerScreen'].includes(screenName)) {\r\n return AccessConfig[`${screenName}`];\r\n } else {\r\n return true;\r\n }\r\n };\r\n let useToastRef = useToast();\r\n let useLoginInfoRef = useLoginInfo();\r\n let { showToastSuccess, showToastError } = ut || useToastRef;\r\n\r\n let { isReadOnlyUser } = uli || useLoginInfoRef;\r\n const [state, setState] = useState({\r\n fileName: '',\r\n selectedFile: undefined,\r\n loading: true,\r\n uploading: false,\r\n inEdit: false,\r\n inDelete: false,\r\n fileToAction: undefined,\r\n currentFiles: [],\r\n fileUploaderModalClose: fileUploaderModalClose || false\r\n });\r\n const getFiles = (isReload) => {\r\n getFilesForConfig(getConfigIdFromName(configName), recordId,docIDPassed).then((res) => {\r\n if (res.success) {\r\n setState((st) => ({ ...st, loading: false, currentFiles: res.data }));\r\n isReload && gridRelaod && gridRelaod();\r\n }\r\n });\r\n };\r\n useEffect(() => {\r\n getFiles();\r\n }, []);\r\n\r\n const onFileSelect = (e) => {\r\n const { files } = e.target;\r\n if (files.length) {\r\n setState((st) => ({ ...st, fileName: files[0].name, selectedFile: files[0] }));\r\n }\r\n };\r\n\r\n const uploadSelectedFile = async () => {\r\n if (state.fileName && state.selectedFile) {\r\n setState((st) => ({ ...st, uploading: true }));\r\n const formData = new FormData();\r\n formData.append(state.fileName, state.selectedFile);\r\n let res = await uploadFileUsignUploaderConfig(getConfigIdFromName(configName), recordId, formData,docIDPassed);\r\n if (res.success) {\r\n showToastSuccess(res.message);\r\n setState((st) => ({ ...st, uploading: false, fileName: '', selectedFile: undefined }));\r\n !state.fileUploaderModalClose && getFiles(true);\r\n state.fileUploaderModalClose && onClose(true);\r\n } else {\r\n showToastError(res.message);\r\n setState((st) => ({ ...st, uploading: false }));\r\n }\r\n }\r\n };\r\n\r\n const showDeleteConfirm = (row) => (e) => {\r\n e.stopPropagation();\r\n setState((st) => ({\r\n ...st,\r\n inDelete: true,\r\n fileToAction: {\r\n uniqFileName: row.UniqueFileName,\r\n fileName: row.FileName\r\n }\r\n }));\r\n };\r\n\r\n const editName = (row) => (e) => {\r\n e.stopPropagation();\r\n setState((st) => ({\r\n ...st,\r\n inEdit: true,\r\n fileToAction: {\r\n uniqFileName: row.UniqueFileName,\r\n fileName: row.FileName\r\n }\r\n }));\r\n };\r\n\r\n const hideModal = (type) => () => {\r\n setState((st) => ({ ...st, [type]: false, fileToAction: undefined }));\r\n };\r\n\r\n const actionButtons = (params) => {\r\n return (\r\n
\r\n {getAccessValue(`${configName}`) ? : ''}\r\n {checkhaveAccess?.CanDeleteDocuments && }\r\n
\r\n );\r\n };\r\n\r\n const modifyCurrentFileName = (e) => {\r\n const { value } = e.target;\r\n setState((st) => ({ ...st, fileToAction: { ...st.fileToAction, fileName: value } }));\r\n };\r\n\r\n const updateFileToServer = async () => {\r\n let res = await updateName(getConfigIdFromName(configName), recordId, state.fileToAction.uniqFileName, state.fileToAction.fileName,docIDPassed);\r\n if (res.success) {\r\n // showToastSuccess(res.message);\r\n setState((st) => ({ ...st, inEdit: false, fileToAction: undefined }));\r\n getFiles(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n const confirmDelete = async () => {\r\n let res = await deleteUploadedFile(getConfigIdFromName(configName), recordId, state.fileToAction.uniqFileName);\r\n if (res.success) {\r\n // showToastSuccess(res.message);\r\n setState((st) => ({ ...st, inDelete: false, fileToAction: undefined }));\r\n getFiles(true);\r\n } else {\r\n showToastError(res.message);\r\n }\r\n };\r\n\r\n const downloadFile = (row) => async (e) => {\r\n let success = await downloadUploadedFile(getConfigIdFromName(configName), recordId, row.UniqueFileName, `${row.FileName}${row.FileExt}`,docIDPassed);\r\n if (success) {\r\n getFiles(true);\r\n } else {\r\n showToastError(`Something went wrong, can't download file.`);\r\n }\r\n };\r\n\r\n const gridColumns = useMemo(() => {\r\n const cols = [...basicColumns];\r\n if (!isReadOnlyUser) {\r\n cols.push({\r\n name: '',\r\n width: 90,\r\n formatter: actionButtons\r\n });\r\n }\r\n const fn = cols.find((c) => c.key === 'FileName');\r\n if (fn) {\r\n fn.formatter = (params) => {\r\n return (\r\n \r\n {params.row.FileName}\r\n \r\n );\r\n };\r\n }\r\n return cols;\r\n }, [isReadOnlyUser]);\r\n\r\n return (\r\n
\r\n {!isReadOnlyUser && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n {state.inEdit && (\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n )}\r\n {state.inDelete && (\r\n \r\n \r\n Are you sure you want to delete?\r\n \r\n \r\n No, Close\r\n \r\n \r\n Yes, Delete\r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default UploaderModal;\r\n","import { useEffect, useState } from 'react';\r\nimport { Badge, IconButton, Tooltip } from '@material-ui/core';\r\nimport { PermMedia } from '@material-ui/icons';\r\nimport DialogComp from '../../Dialog/DialogComp';\r\nimport UploaderModal from './UploaderModal';\r\nimport { CustomIconButton } from '../Inputs/Buttons/ButtonModal';\r\nimport { Link } from 'react-router-dom';\r\nimport '../Inputs/Buttons/ButtonModal.scss';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\nimport { useToast } from '../../Hooks/useToast';\r\nimport { AppStorage } from '../../Basic/storage-service';\r\n\r\nconst FileUploaderButton = ({ fileCount, recordId, fileUploaderConfigName, ut, uli, gridRelaod, fileUploaderModalClose,docIDPassed }) => {\r\n const [state, setState] = useState({\r\n showUploader: false,\r\n recordId,\r\n fileCount: `${fileCount || 0}`,\r\n configName: fileUploaderConfigName\r\n });\r\n let checkhaveAccess = AppStorage.getAllowAcces();\r\n useEffect(() => {\r\n if (fileCount) {\r\n setState((st) => ({\r\n fileCount: fileCount || 0\r\n }));\r\n }\r\n }, [fileCount]);\r\n\r\n const hideFileUploader = (res) => {\r\n setState((st) => ({ ...st, showUploader: false }));\r\n res && gridRelaod();\r\n };\r\n\r\n const showFileUploader = () => {\r\n setState((st) => ({ ...st, showUploader: true }));\r\n };\r\n\r\n return (\r\n <>\r\n {/* \r\n \r\n */}\r\n {checkhaveAccess?.CanViewDocuments && (\r\n \r\n \r\n \r\n )}\r\n {state.showUploader && (\r\n hideFileUploader(false)} maxWidth=\"xl\">\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FileUploaderButton;\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import { useState } from 'react';\r\n\r\nconst LoaderState = () => {\r\n const [ isVisible, setIsVisible ] = useState( false );\r\n const [ messages, setMessages ] = useState( [] );\r\n\r\n function showLoader( msg ) {\r\n setMessages( msgs => ( [ msg || '', ...msgs ] ) );\r\n setIsVisible( true );\r\n }\r\n\r\n function hideLoader( msg ) {\r\n\r\n setMessages( oldMsgs => {\r\n let msgs = [ ...oldMsgs ];\r\n let ind = msgs.indexOf( msg || '' );\r\n if ( ind > -1 ) {\r\n msgs.splice( ind, 1 );\r\n } else {\r\n msgs.splice( 0, 1 );\r\n }\r\n setIsVisible( msgs.length > 0 );\r\n return [ ...msgs ]\r\n } );\r\n }\r\n\r\n return {\r\n isVisible,\r\n messages,\r\n showLoader,\r\n hideLoader\r\n }\r\n};\r\n\r\nexport default LoaderState;","import { useState } from 'react';\r\n\r\nconst ToastState = () => {\r\n const [ isVisible, setIsVisible ] = useState( false );\r\n const [ text, setText ] = useState( '' );\r\n const [ severity, setSeverity ] = useState( 'info' );\r\n const [ timeout, setTimeout ] = useState( 5000 );\r\n\r\n function showToast( msg, timeout = 5000, severity ) {\r\n setText( msg );\r\n setTimeout( timeout );\r\n setSeverity( severity );\r\n setIsVisible( true );\r\n }\r\n\r\n function hideToast() {\r\n setIsVisible( false );\r\n }\r\n\r\n let showToastError = ( msg, timeout ) => {\r\n showToast( msg, timeout, 'error' );\r\n }\r\n let showToastWarning = ( msg, timeout ) => {\r\n showToast( msg, timeout, 'warning' );\r\n }\r\n let showToastInfo = ( msg, timeout ) => {\r\n showToast( msg, timeout, 'info' );\r\n }\r\n let showToastSuccess = ( msg, timeout ) => {\r\n showToast( msg, timeout, 'success' );\r\n }\r\n\r\n return {\r\n isVisible,\r\n text,\r\n severity,\r\n timeout,\r\n showToast,\r\n showToastError,\r\n showToastWarning,\r\n showToastInfo,\r\n showToastSuccess,\r\n hideToast,\r\n setText\r\n }\r\n};\r\n\r\nexport default ToastState;","import { useState } from 'react';\r\n\r\nconst DialogState = () => {\r\n let [ dialogState, setDialogState ] = useState( {} );\r\n\r\n let showDialog = ( name, args ) => {\r\n setDialogState( { name, args } )\r\n }\r\n\r\n let hideDialog = () => setDialogState( {} );\r\n\r\n return {\r\n dialogState,\r\n showDialog,\r\n hideDialog\r\n }\r\n};\r\n\r\nexport default DialogState;","import React, { createContext, useEffect, useState } from 'react';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\nimport LoaderState from '../../Loader/LoaderState';\r\nimport { getAllAdminDash } from '../../Services/Admin/AdminDashboardService';\r\nimport { getAllCustomerDashboard } from '../../Services/Customer/customerDashService';\r\nimport { getAllDriverDash } from '../../Services/Driver/driverDashboard';\r\nimport { getAllInternalDash } from '../../Services/InternalUser/InternalDashService';\r\nimport { getAllServiceAgentDash } from '../../Services/ServiceAgent/ServiceAgent';\r\nimport ToastState from '../../Toaster/ToastState';\r\nimport DialogState from './DialogState';\r\n\r\nexport const AppContext = createContext();\r\n\r\nexport const CommonModals = {\r\n ChangePassword: 'ChangePassword',\r\n ForgotPassword: 'ForgotPassword',\r\n ResetPassword: 'ResetPassword',\r\n GenericModal: 'GenericModal'\r\n};\r\n\r\nexport const AppContextProvider = (props) => {\r\n let loaderState = LoaderState();\r\n let toastState = ToastState();\r\n let dialogState = DialogState();\r\n const [commonState, setCommonState] = useState({\r\n dashBoardData: null,\r\n isReload: null\r\n });\r\n const { userRoles } = useLoginInfo();\r\n\r\n const isAdmin = userRoles.includes('admin');\r\n const isServiceagent = userRoles.includes('serviceagent');\r\n const isInternalUser = userRoles.includes('internal');\r\n const isCustomer = userRoles.includes('customer');\r\n const isDriver = userRoles.includes('driver');\r\n\r\n useEffect(() => {\r\n getDashBoardData();\r\n }, [commonState.isReload]);\r\n\r\n const getDashBoardData = async () => {\r\n let res = {};\r\n if (isDriver) {\r\n res = await getAllDriverDash();\r\n }\r\n if (isInternalUser) {\r\n res = await getAllInternalDash();\r\n }\r\n if (isServiceagent) {\r\n res = await getAllServiceAgentDash();\r\n }\r\n if (isAdmin) {\r\n res = await getAllAdminDash();\r\n }\r\n if (isCustomer) {\r\n res = await getAllCustomerDashboard();\r\n }\r\n\r\n setCommonState((st) => ({\r\n ...st,\r\n dashBoardData: res\r\n }));\r\n };\r\n\r\n const dashBoardDataReload = () => {\r\n setCommonState((st) => ({\r\n ...st,\r\n isReload: new Date()\r\n }));\r\n };\r\n\r\n return (\r\n \r\n <>{props.children}\r\n \r\n );\r\n};\r\n","import { TextField, Tooltip, FormHelperText, Typography, InputLabel } from '@material-ui/core';\r\nimport React, { useState, useEffect } from 'react';\r\nimport { useLoginInfo } from '../../Hooks/useLoginInfo';\r\nimport Avatar from '@material-ui/core/Avatar';\r\nimport Chip from '@material-ui/core/Chip';\r\nimport './Buttons/ButtonModal.scss';\r\nimport { makeStyles } from '@material-ui/core';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n // chipBtnContainer: {\r\n // backgroundColor: (props) => `${props.backgroundColour || '#e0e0e0'}`,\r\n // '& .MuiAvatar-colorDefault': {\r\n // backgroundColor: (props) => `${props.backgroundColour || '#bdbdbd'}`,\r\n // filter: 'brightness(90%)'\r\n // }\r\n // }\r\n}));\r\n\r\nexport const DatePicker = (props) => {\r\n const { forceEditable, value, onChange, isDisabled, inputLabel, isRequired, ...rest } = props;\r\n\r\n let [state, setState] = useState({ date: null });\r\n\r\n useEffect(() => {\r\n setState((st) => ({ ...st, date: props.value == 'Invalid date' ? '--' : props.value }));\r\n }, [props.value]);\r\n\r\n const handeDateChange = (e) => {\r\n const { value } = e.target;\r\n if (value < '2099-12-31') {\r\n setState((st) => ({ ...st, date: value }));\r\n props.onChange(e);\r\n }\r\n };\r\n\r\n let { isReadOnlyUser } = useLoginInfo();\r\n forceEditable && (isReadOnlyUser = false);\r\n return isDisabled ? (\r\n
\r\n \r\n {inputLabel}\r\n \r\n
{state.date || 'N/A'}
\r\n
\r\n ) : (\r\n <>\r\n {inputLabel && (\r\n \r\n {inputLabel}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport const DateTimePicker = (props) => {\r\n const { forceEditable, value, onChange, ...rest } = props;\r\n let { isReadOnlyUser } = useLoginInfo();\r\n forceEditable && (isReadOnlyUser = false);\r\n let [state, setState] = useState({ date: null });\r\n\r\n useEffect(() => {\r\n setState((st) => ({ ...st, date: props.value }));\r\n }, [props.value]);\r\n\r\n const handeDateChange = (e) => {\r\n const { value } = e.target;\r\n if (value < '2099-12-31T00:00') {\r\n setState((st) => ({ ...st, date: value }));\r\n props.onChange(e);\r\n }\r\n };\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const CustomChip = (props) => {\r\n const classes = useStyles();\r\n const { forceEditable, ...rest } = props;\r\n let { isReadOnlyUser } = useLoginInfo();\r\n const Icon = props.icon;\r\n const iconFontSize = props.iconFontSize;\r\n forceEditable && (isReadOnlyUser = false);\r\n return (\r\n {Icon ? : ''}}\r\n disabled={isReadOnlyUser}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\nexport const ChipWithoutLable = (props) => {\r\n const { forceEditable, toolTipTitle, onClick, ...rest } = props;\r\n const [show, setShow] = useState(false);\r\n let { isReadOnlyUser } = useLoginInfo();\r\n const Icon = props.icon;\r\n const iconFontSize = props.iconFontSize;\r\n forceEditable && (isReadOnlyUser = false);\r\n return (\r\n setShow(true)} onMouseLeave={() => setShow(false)}>\r\n {Icon ? : ''}}\r\n disabled={isReadOnlyUser}\r\n onClick={() => {\r\n setShow(false);\r\n if (onClick) return onClick();\r\n }}\r\n {...rest}\r\n />\r\n \r\n );\r\n};\r\n","import axios from 'axios';\r\nimport { getConstants } from './StaticService';\r\nimport { AppStorage } from './storage-service';\r\n\r\nlet server = '';\r\nif (process.env.NODE_ENV === 'production') {\r\n server = getConstants('backendUrl').prod;\r\n} else {\r\n server = getConstants('backendUrl').dev;\r\n}\r\n\r\nconst defaultOptions = {\r\n baseURL: `${server}`,\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n validateStatus: null\r\n};\r\n\r\nlet instance = axios.create(defaultOptions);\r\n\r\ninstance.interceptors.request.use(function (config) {\r\n if (config.useAuthToken) {\r\n const token = AppStorage.getToken();\r\n config.headers.Authorization = token ? `Bearer ${token}` : '';\r\n }\r\n config.headers.domainName = window.location.host.includes('localhost') ? 'localhost' : window.location.host;\r\n return config;\r\n});\r\n\r\nconst generateRoutingURL = (url) => {\r\n if (/^\\w/.test(url)) {\r\n return `api/${url}`;\r\n }\r\n return url;\r\n};\r\n\r\nexport let putWithAuth = async (url, data, options = {}) => {\r\n return await put(url, data, { ...options, useAuthToken: true });\r\n};\r\n\r\nexport let put = async (url, data, options = {}) => {\r\n let res = await instance.put(generateRoutingURL(url), data, options);\r\n if (res.status === 401) {\r\n setTimeout(() => {\r\n AppStorage.performLogout();\r\n window.location = '/';\r\n }, 1000);\r\n }\r\n if (!res.data.success) {\r\n console.warn(`Request fail. Status Code:(${res.status}), Status Text:(${res.statusText})`);\r\n }\r\n return options.returnOrgRes ? res : res.data;\r\n};\r\n\r\nexport let postWithAuth = async (url, data, options = {}) => {\r\n return await post(url, data, { ...options, useAuthToken: true });\r\n};\r\n\r\nexport let post = async (url, data, options = {}) => {\r\n let res = await instance.post(generateRoutingURL(url), data, options);\r\n if (res.status === 401) {\r\n setTimeout(() => {\r\n AppStorage.performLogout();\r\n window.location = '/';\r\n }, 1000);\r\n }\r\n if (!res.data.success) {\r\n console.warn(`Request fail. Status Code:(${res.status}), Status Text:(${res.statusText})`);\r\n }\r\n return options.returnOrgRes ? res : res.data;\r\n};\r\n\r\nexport let getWithAuth = async (url, options = {}) => {\r\n return await get(url, { ...options, useAuthToken: true });\r\n};\r\n\r\nexport let get = async (url, options = {}) => {\r\n let res = await instance.get(generateRoutingURL(url), options);\r\n if (res.status === 401) {\r\n setTimeout(() => {\r\n AppStorage.performLogout();\r\n window.location = '/';\r\n }, 1000);\r\n }\r\n if (!res.data.success) {\r\n console.warn(`Request fail. Status Code:(${res.status}), Status Text:(${res.statusText})`);\r\n }\r\n return options.returnOrgRes ? res : res.data;\r\n};\r\nexport let ExpBaseURL = `${server}`;\r\n"],"sourceRoot":""}