{"version":3,"sources":["Components/Loading/Loading.js","Components/Overlay/Overlay.js","Components/Alert/Alert.js","Components/Button/Button.js","data/APIs.js","Components/Login/Login.js","Components/ChooseApp/ChooseApp.js","Components/ForgotPassword/ForgotPassword.js","logo-white.png","Components/StartLayout/StartLayout.js","Components/StartLayout/apex-logo-light-blue.png","avatar.png","Components/Table/Table.js","Components/TextInput/TextInput.js","Components/Field/Field.js","Components/TableFooterAr/TableFooterAr.js","Components/ToggleSwitch/ToggleSwitch.js","Components/Dropdown/Dropdown.js","Components/FiltersAr/FiltersAr.js","Components/ModalAr/ModalAr.js","Components/TableFooter/TableFooter.js","Components/Filters/Filters.js","Components/Modal/Modal.js","Components/DashBoard/DashBoard.js","Components/PageHeader/PageHeader.js","Components/Exceptions/Exceptions.js","Components/ShiftEndNextDay/ShiftEndNextDay.js","Components/SelectShift/SelectShift.js","Components/PermissionTypes/PermissionTypes.js","Components/BasicPage/BasicPage.js","Components/TableSpan/TableSpan.js","Components/Tabs/Tabs.js","Components/WorkingHours/WorkingHours.js","Amiri-Regular-normal.js","Components/ReportPage/ReportPage.js","Components/ProcedurePage/ProcedurePage.js","Components/CompanyInfo/CompanyInfo.js","Components/FormPage/FormPage.js","Components/PermissionsPage/PermissionsPage.js","Components/ModalPage/ModalPage.js","Components/messagesSettingsEn/messagesSettingsEn.js","ar.jpg","us.png","Components/MainHeader/MainHeader.js","Components/MainHeader/apex-logo-white.png","Components/SideNav/SideNav.js","data/PageProps.js","Components/MainLayout/MainLayout.js","Components/LoginAr/LoginAr.js","Components/ChooseAppAr/ChooseAppAr.js","Components/RegisterAr/RegisterAr.js","Components/ForgotPasswordAr/ForgotPasswordAr.js","Components/StartLayoutAr/StartLayoutAr.js","Components/StartLayoutAr/apex-logo-light-blue.png","Components/PageHeaderAr/PageHeaderAr.js","Components/ExceptionsAr/ExceptionsAr.js","Components/SelectShiftAr/SelectShiftAr.js","Components/PermissionTypesAr/PermissionTypesAr.js","Components/BasicPageAr/BasicPageAr.js","Components/TableSpanAr/TableSpanAr.js","Components/WorkingHoursAr/WorkingHoursAr.js","Components/ReportPageAr/ReportPageAr.js","Components/ProcedurePageAr/ProcedurePageAr.js","Components/CompanyInfoAr/CompanyInfoAr.js","Components/FormPageAr/FormPageAr.js","Components/PermissionsPageAr/PermissionsPageAr.js","Components/ModalPageAr/ModalPageAr.js","Components/messagesSettings/messagesSettings.js","Components/MainHeaderAr/MainHeaderAr.js","Components/MainHeaderAr/apex-logo-white.png","Components/SideNavAr/SideNavAr.js","data/PagePropsAr.js","Components/MainLayoutAr/MainLayoutAr.js","Components/App/App.js","serviceWorker.js","index.js"],"names":["Loading","props","state","visible","this","color","size","React","Component","Overlay","children","id","className","Alert","style","iconPostion","onClick","$","addClass","Button","btnClr","backgroundColor","ip","adminIp","API","Branches","create","read","update","delete","dropdown","Directorates","Departments","Jobs","Projects","Nationalities","Tasks","Shifts","search","Employees","EmployeeGroupsDetails","VacationsTypes","OfficialHolidays","AddPermission","AddVacation","AddEditTransactions","EmployeesReport","WorkingTimeReport","DayStatusReport","DetailedAttendanceReport","TotalAttendanceReport","AbsenceReport","DelayReport","InCompleteTransReport","EarlyAttendanceReport","AttendanceSummaryReport","TotalAttendanceSummaryReport","OvertimeReport","WorkingTimeDetailsReport","BranchAttendanceReport","VacationsReport","PermissionsReport","DelayEarlyReport","TotalAbsenceReport","TotalDelayReport","Devices","SpecialWorkingDays","UserPermission","Login","username","password","authenticated","failed","message","loading","exist","checked","RenewPlan","Check","focusInput","focus","Array","from","document","getElementsByTagName","forEach","inputField","addEventListener","event","keyCode","preventDefault","getElementById","click","prevProps","companyName","setState","fetch","method","headers","then","response","json","data","success","console","error","catch","name","target","value","user","userName","companyUniqueName","body","JSON","stringify","Cookie","set","token","SameSite","href","htmlFor","type","onChange","e","ChangeState","ref","input","tryLogin","to","ChooseApp","me","setTimeout","ForgotPassword","email","alertClass","class","Submit","StartLayout","width","src","alt","Toggle","variant","Menu","Item","exact","path","component","render","match","params","company","Table","totals","TableHeaders","TableHeaders2","TextInput","popoverOpen","popOverValue","togglePopover","bind","currentTarget","log","require","cols","rows","ar","placeholder","disabled","arDate","popover","Popover","placement","isOpen","toggle","PopoverBody","accept","undefined","max","min","icon","faCheck","faTimes","textAlign","utils","MomentUtils","format","moment","date","autoOk","KeyboardButtonProps","Field","title","inputComponent","long","titleSize","dropdownAlign","noFormCont","whiteSpace","FooterAr","rowsNumber","pagesNumber","total","btns","counter","i","push","key","currentPage","currentPageChange","innerHTML","length","slice","unshift","rowsNumberChange","data-tip","data-place","data-type","marginBottom","ToggleSwitch","uncheckedIcon","getElementsByClassName","onTextLength","onText","offTextLength","offText","handleChange","backName","height","checkedIconMarginLeft","uncheckedIconFontSize","checkedIconFontSize","uncheckedIconMarginLeft","uncheckedIconStyle","display","justifyContent","alignItems","marginLeft","fontSize","checkedIconStyle","$height","$width","handleDiameter","offColor","onColor","offHandleColor","onHandleColor","checkedIcon","Dropdown","multi","options","rtl","addStyle","label","direction","clearable","values","noDataLabel","map","item","hideFilters","filters","hideFiltersButton","querySelector","showFiltersButton","classList","add","remove","showFilters","FiltersAr","Search","SearchFields","Clear","ModalAr","tempSearchEntity","searchFields","field","GetSelect","url","rowsTotal","searchEntity","Read","action","hideModal","modal","updated","tempEntity","entity","operation","Object","keys","query","verb","get","Fetch","status","row","listCount","parent","modalUpdated","TableData","actionAr","items","ChangeEntityState","filter","management","branchId","find","department","administrationId","tableRawData","prop","toString","toLowerCase","includes","tablerow","columns","column","rawDataIds","raw","createEntity","every","some","actionEntity","rowIndex","columnName","columnIndex","join","removeModalTitleName","errors","marginTop","deleteMessage","Fragment","TableFooterAr","Number","modalMessage","EntityProperties","updateAll","scrollTop","hasClass","removeClass","Footer","Filters","Modal","DashBoard","delay","absence","attendance","vacations","modalData","modalColumns","modalTitle","today","chartabsence","TodayTransactions","todayAr","totalsData","chartData","modalAction","modalName","mainLayout","overflow","createEntityProps","backNames","createErrors","modalBackName","updateEntity","updateErrors","signalR","connection","HubConnectionBuilder","withUrl","build","on","transaction","lang","window","location","hash","indexOf","employeeName","branchName","shiftName","temp","start","invoke","err","EmployeeChartCountsDashBoard","lateTimeCount","attendanceTimeCount","vAcationTimeCount","absentTimeCount","stop","array","myData","y1","y2","y3","earlyLeaveTimeCount","lists","zIndex","getPeriodCount","faDotCircle","local","data-counter","data-value","GetLateEmployeesData","GetAbsentEmployeesData","GetAttendanceDashBoardData","GetVacationsDashBoardData","faGlobe","faAngleDoubleRight","faAngleDoubleLeft","userImage","avatar","employeeCode","chartType","loader","chartArea","legend","hAxis","minValue","vAxis","colors","legendToggle","dir","PageHeader","excelHeader","ExcelFile","ReactExport","ExcelSheet","multiDataSet","excel","singleTable","colored","xSteps","ySteps","h","wch","alignment","wrapText","readingOrder","fill","patternType","fgColor","rgb","excelData","d","inx","col","overtime","x","header1","header2","j","day","OverTableData","outCounter","extraMinutes","pretable","preTableFields","pre","period","coloredHeaders","coloredTableData","arr","timeIn","loops","Math","round","pretable2","mainTitle","Path","nobtn","report","print","filename","element","dataSet","printPDF","procedure","Action","btnTxt","save","noCreate","routOut","showModal","useSearchModal","Exceptions","activated","timeOut","clearTimeout","activateExceptions","ShiftEndNextDay","border","labels","activate","SelectShift","prevValues","shiftsData","tableRows","isArray","sort","a","b","sequence","inTime","periodShiftId","outTime","colSpan","PermissionTypes","prevState","BasicPage","tempReadEntity","backSearch","readEntity","deleteEntity","text","edit","loadedPermissions","permissions","componentDidMount","validation","concat","RequiredCondition","toProp","Date","parse","fromProp","shiftIn","shiftOut","time","split","parseInt","shift","end","now","trim","Validation","permission","nameEn","allPermissions","isNaN","folder","UpdateEntityProperties","noDelete","noEdit","index","devices","GetIdForDelete","routUnregistered","GetForUpdate","CreateEntityProperties","substring","checkboxgreen","inputType","updateEntityProps","Create","Update","Delete","modalSearchFields","modalRead","pageSize","pageNumber","TableSpan","Days","dayId","open","periodShiftTimes","seq","totalDayHours","isVacation","onEditClick","Tabs","selected","WorkingHours","shiftType","strTime","sec","ceil","parseFloat","periodShiftParameterList","stringToTime","firstCell","findIndex","tempData","shiftDay","assign","shiftDayId","tempShifts","uncheckedIconWidth","startIn","OnTimeChange","step","availableLateTime","endIn","startOut","availableEarlyTime","endOut","parentElement","font","ReportPage","head","innerSearch","companyInfo","comLogo","generalSettings","GetCompanyInfo","GetGeneralSettings","image","ImageUrlToBase64","myBase64","Logo","s","test","tableHead","boolean","yes","no","enum","reverse","callback","xhr","XMLHttpRequest","onload","reader","FileReader","onloadend","result","readAsDataURL","responseType","send","doc","prevTable","printed","printHead1","jsPDF","workingTimeDetails","addFileToVFS","addFont","setFont","tablesData","endsWith","newRow","innerRow","printPeriod","abcentFrom","printyIndex","rev","engBranch","preTableField","replace","hasArabicCodepoints","content","styles","halign","head1","DetailsTableData","CreateTable","lastAutoTable","finalY","autoTable","theme","headStyles","fillColor","textColor","cellPadding","bodyStyles","DetailedReport","cellWidth","startY","pageBreak","margin","top","bottom","showHead","didDrawPage","setFontSize","setDrawColor","rect","settings","left","internal","right","addImage","companyNameEn","companyActivityEn","splice","align","lines","line","getFullYear","getMonth","getDate","getHours","getMinutes","adressEn","adressAr","fax","companyPhoneNumber","str","getNumberOfPages","pageHeight","getHeight","didDrawCell","cell","y","tableData","lineColor","companyNameAr","companyActivityAr","putTotalPages","tables","sequanceNumber","c","colspan","hr","padding","flag","background","perimmisionColor","absentColor","weekEndColor","workColor","vacationColor","earlyLeaveColor","lateColor","officialVacationColor","Print","ProcedurePage","actionErrors","actionEntityProps","readAction","ReadMachine","list","ActionEntityProperties","hideModalWithValues","CompanyInfo","fileInput","createRef","model","formdata","FormData","append","current","files","redirect","imagePath","ChangeEntityStateModel","borderRadius","FormPage","tableborder","PermissionsPage","pageId","permissionId","pagePermissions","page","permissionIds","groupId","displayed","checkbox","p","selection","SelectAllPermissions","RemovePermission","ModalPage","pageName","tryEmail","tryPhone","EntityProps","newValue","senderName","mode","AddToTextValue","trial","uniqueName","offset","history","back","trySMS","tryService","MessagesSettingsEn","cheackAll","cheackRow1","cheackRow2","cheackRow3","cheackRow4","cheackRow5","updatedData","isLateTime","isAlertLateWithEmail","isAlertLateWithSMS","isAlertAbsentWithEmail","isAlertAbsentWithSMS","isAlertPermissionWithEmail","isAlertpermissionWithSMS","isAlertVocationWithEmail","isAlertVocationWithSMS","alertLateTime","MainHeader","us","currentUrl","position","aria-hidden","faEllipsisV","toggleSubMenu","nextElementSibling","SideNav","activatePage","toggleSideNav","hideSideNav","activePage","mywidth","offsetWidth","toggleNav","faAlignRight","faBars","tab","faCodeBranch","faBriefcase","faProjectDiagram","faTasks","faHourglass","faUserTie","faUserFriends","faPlane","faGamepad","faUserSecret","faDownload","faTv","faPlus","faEdit","faExchangeAlt","faPowerOff","faPencilAlt","faIdBadge","faQuestionCircle","faSearchPlus","faChartLine","faUserMinus","faHourglassEnd","faPuzzlePiece","faHandPaper","faSignInAlt","faListOl","faBusinessTime","faFileAlt","faSchool","faStopCircle","faWalking","faBed","faUsersSlash","faStopwatch","faLaptop","faMoon","faIdCardAlt","faUsers","faInfo","faSmile","link","routeValues","nameAr","managerId","jobId","projectId","WorkingTime","hoursId","createUnrigestered","EmployeesGroups","EmployeeGroupId","officialHolidaysId","GetBranchTransactions","employeevacationId","employeeId","branchIdIn","branchIdOut","attendanceTime","leaveTime","transactionId","dataHandler","branchMachineId","durationRamadanWorId","DeleteCustomGroupId","MainLayout","SideNavIsOpen","SideNavWasClosed","onresize","innerHeight","css","sideNav","managementName","managementId","shiftId","addType","ReadAndMoveId","machineTransactionId","actionSearch","toJSON","groupName","userId","LoginAr","ChooseAppAr","ForgotPasswordAr","StartLayoutAr","PageHeaderAr","ExceptionsAr","SelectShiftAr","periodShiftSecondId","periodShiftThirdId","periodShiftFourthId","PermissionTypesAr","BasicPageAr","inkey","showEmpty","TableSpanAr","WorkingHoursAr","prepareEntity","ReportPageAr","branchIds","ProcedurePageAr","CompanyInfoAr","FormPageAr","PermissionsPageAr","ModalPageAr","MessagesSettings","MainHeaderAr","SideNavAr","faChevronDown","faChevronLeft","faBan","MainLayoutAr","fontWeight","sideAR","code","App","timeout","idle","logOut","Boolean","hostname","ReactDOM","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.c851934c.chunk.js","sourcesContent":["import React from 'react';\r\nimport './Loading.css';\r\nimport OriginalComponent from 'react-spinners/ClockLoader';\r\n\r\n// Full documentation of the OriginalComponent at:\r\n// https://www.npmjs.com/package/react-spinners.\r\n// https://www.davidhu.io/react-spinners/.\r\n\r\n// We declare the original component as OriginalComponent \r\n// To decrease confusion with that one we will use in our project.\r\n\r\n// We declared all component props by destructuring the props object\r\n// Destructuring is a ES6 feature written in this way:\r\n// const { property } = object;.\r\n\r\n// Each prop type will be mentioned beside it.\r\n\r\n// if prop describes a tagName , then prop will take the same naming as following:\r\n// className={className} ==> tagName={prop}.\r\n\r\nclass Loading extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n\r\n render() {\r\n const {\r\n visible // boolean\r\n } = this.props;\r\n return (\r\n
\r\n {\r\n visible ?\r\n (\r\n \r\n )\r\n :\r\n null\r\n }\r\n
\r\n );\r\n }\r\n}\r\nexport default Loading;","import React from 'react';\r\nimport './Overlay.css';\r\n\r\nconst Overlay = ({ children, id, className, visible }) => {\r\n return (\r\n
\r\n {\r\n
\r\n {children}\r\n
\r\n }\r\n
\r\n )\r\n}\r\n\r\nexport default Overlay;","import React from 'react';\r\nimport './Alert.css';\r\nimport $ from 'jquery'\r\n// we declared all component props by destructuring the props object\r\n// Destructuring is a ES6 feature written in this way:\r\n// const { property } = object;\r\n\r\n// we often use the same naming of the prop like the tag name\r\n// className={className} ==> tagName={prop}\r\n\r\nconst Alert =({className, style, children , iconPostion}) => {\r\n return (\r\n
\r\n { $('.Alert').addClass(\"d-none\")}}>X\r\n {children}\r\n
\r\n )\r\n}\r\nexport default Alert;","import React from 'react';\r\nimport './Button.css';\r\n\r\n\r\n// we declared all component props by destructuring the props object\r\n// Destructuring is a ES6 feature written in this way:\r\n// const { property } = object;\r\n\r\n// we often use the same naming of the prop like the tag name\r\n// className={className} ==> tagName={prop}\r\n\r\n// if you want to assign a chosen color to a specific className\r\n// simply add your className directly to colors section in Button.scss file ( Button.className )\r\n\r\n// if you need to put icon inside the Button,\r\n// put it between tags to take the same styling\r\n\r\nfunction Button({\r\n id,\r\n className,\r\n onClick,\r\n btnClr,\r\n children\r\n}) {\r\n return (\r\n \r\n )\r\n}\r\nexport default Button;","//export const ip = 'http://mainserver:807'\r\n//export const ip = 'http://41.39.232.30:810'\r\n//export const ip = 'http://web.ttechapps.info:810'\r\n//export const ip = 'http://localhost:1435'\r\n//export const ip = 'http://apex-program.com:810'\r\nexport const ip = 'https://apex-program.com:820'\r\n//export const ip = 'http://192.168.1.30:810'\r\n//export const adminIp ='https://localhost:44376'\r\n//export const adminIp = 'http://mainserver:8085'\r\n//export const adminIp ='https://localhost:44376'\r\n//export const adminIp = 'http://41.39.232.30:8085'\r\nexport const adminIp = 'http://web.ttechapps.info:8070'\r\n\r\nexport const API = {\r\n Branches: {\r\n create: ip + '/api/Branches/AddBranch',\r\n read: ip + '/api/Branches/GetAllAndSearchBranchs',\r\n update: ip + '/api/Branches/UpdateBranch',\r\n delete: ip + '/api/Branches/DeletBranch',\r\n dropdown: ip + '/api/Branches/GetAllBranchsDropDown'\r\n },\r\n Directorates: {\r\n create: ip + '/api/Directorate/AddDirectorate',\r\n read: ip + '/api/Directorate/SearchGetAndAllDirectorates',\r\n update: ip + '/api/Directorate/UpdateDirectorates',\r\n delete: ip + '/api/Directorate/DeletDirectorates',\r\n dropdown: ip + '/api/Directorate/GetAllDirectorateDropDown'\r\n },\r\n Departments: {\r\n create: ip + '/api/Department/AddDepartment',\r\n read: ip + '/api/Department/SearchAdGetAllDepartment',\r\n update: ip + '/api/Department/UpdateDepartment',\r\n delete: ip + '/api/Department/DeleteDepartment',\r\n dropdown: ip + '/api/Department/GetAllDepartmentDropDown'\r\n },\r\n Jobs: {\r\n create: ip + '/api/Job/AddJob',\r\n read: ip + '/api/Job/SearchJobs',\r\n update: ip + '/api/Job/UpdateJob',\r\n delete: ip + '/api/Job/DeleteJob',\r\n dropdown: ip + '/api/Job/GetAllJobsDropDown'\r\n },\r\n Projects: {\r\n create: ip + '/api/Project/AddProject',\r\n read: ip + '/api/Project/SearchProjects',\r\n update: ip + '/api/Project/UpdateProject',\r\n delete: ip + '/api/Project/DeleteProject',\r\n dropdown: ip + '/api/Project/GetAllProjectsDropDown'\r\n },\r\n Nationalities: {\r\n create: ip + '/api/Nationalities/AddNationalities',\r\n read: ip + '/api/Nationalities/SearchNationalities',\r\n update: ip + '/api/Nationalities/UpdateNationalities',\r\n delete: ip + '/api/Nationalities/DeleteNationalities',\r\n dropdown: ip + '/api/Nationalities/GetAllNationalitiesDropDown'\r\n },\r\n Tasks: {\r\n create: ip + '/api/WorkingTasks/AddTasks',\r\n read: ip + '/api/WorkingTasks/SearchTasks',\r\n update: ip + '/api/WorkingTasks/UpdateTasks',\r\n delete: ip + '/api/WorkingTasks/DeleteTasks',\r\n dropdown: ip + '/api/WorkingTasks/GetAllTasksDropDown'\r\n },\r\n Shifts: { /* Working Time */\r\n create: ip + '/api/Shift/AddShift',\r\n update: ip + '/api/Shift/UpdateShift',\r\n delete: ip + '/api/Shift/DeleteShift',\r\n dropdown: ip + '/api/Shift/GetAllShiftDropdown',\r\n search: ip + '/api/Shift/SearchShifts'\r\n },\r\n Employees: {\r\n create: ip + '/api/Employee/AddEmployee',\r\n read: ip + '/api/Employee/GetAllEmployeesDropdownWithCode',\r\n update: ip + '/api/Employee/UpdateEmployee',\r\n delete: ip + '/api/Employee/DeleteEmployee',\r\n search: ip + '/api/Employee/SearchAllEmployees'\r\n },\r\n EmployeeGroupsDetails: {\r\n create: ip + '/api/EmployeeGroupsDetails/AddEmployeeForGroups',\r\n read: ip + '/api/EmployeeGroupsDetails/SearchEmployeeForGroups',\r\n // read: ip + '/api/EmployeeGroupsDetails/GetEmployeeGroup',\r\n update: ip + '/api/EmployeeGroupsDetails/UpdateEmployeeGroupsDetails',\r\n delete: ip + '/api/EmployeeGroupsDetails/UpdateEmployeeGroupsDetails'\r\n },\r\n VacationsTypes: {\r\n create: ip + '/api/VacationDays/AddVacationDay',\r\n read: ip + '/api/VacationDays/SearchVacationDays', //is it correct??\r\n update: ip + '/api/VacationDays/UpdateVacationDays',\r\n delete: ip + '/api/VacationDays/DeleteVacationDays',\r\n dropdown: ip + '/api/VacationDays/GetAllVacationDaysDropDown'\r\n },\r\n OfficialHolidays: {\r\n create: ip + '/api/OfficialHolidays/AddOfficialHolidays',\r\n // read: ,\r\n update: ip + '/api/OfficialHolidays/UpdateOfficialHolidays',\r\n delete: ip + '/api/OfficialHolidays/DeleteOfficialHolidays',\r\n search: ip + '/api/OfficialHolidays/SearchOfficialHolidays'\r\n },\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n AddPermission: {\r\n create: ip + '/api/AskPermission/AddAskPermission',\r\n // read: ,\r\n update: ip + '/api/AskPermission/UpdateAskPermissions',\r\n delete: ip + '/api/AskPermission/DeleteAskPermissions',\r\n search: ip + '/api/AskPermission/SearchAskPermission'\r\n },\r\n AddVacation: {\r\n create: ip + '/api/AddVacation/AddEmployeeVacation',\r\n read: ip + '/api/AddVacation/SearchAddVavtionsForEmployee',\r\n update: ip + '/api/AddVacation/UpdateEmployeeVacation',\r\n delete: ip + '/api/AddVacation/DeleteEmployeeVacation'\r\n },\r\n AddEditTransactions: {\r\n create: ip + '/api/Transaction/AddTransaction',\r\n read: ip + '/api/Transaction/SearchTransaction',\r\n update: ip + '/api/Transaction/UpdateTransaction',\r\n delete: ip + '/api/Transaction/DeleteTransaction'\r\n },\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n EmployeesReport: {\r\n read: ip + '/api/Employee/SearchEmployeeDetailsReport'\r\n },\r\n WorkingTimeReport: {\r\n read: ip + '/api/Shift/ShiftsReport'\r\n },\r\n DayStatusReport: {\r\n read: ip + '/api/MovedTransaction/DayStatusReportPrint'\r\n },\r\n DetailedAttendanceReport: {\r\n read: ip + '/api/MovedTransaction/AttendanceLeaveDetailsReport'\r\n },\r\n TotalAttendanceReport: {\r\n read: ip + '/api/MovedTransaction/TotalAttendanceAndLeaveReport'\r\n },\r\n AbsenceReport: {\r\n read: ip + '/api/MovedTransaction/GetAbsentReport'\r\n },\r\n DelayReport: {\r\n read: ip + '/api/MovedTransaction/DelayReport'\r\n },\r\n InCompleteTransReport: {\r\n read: ip + '/api/MovedTransaction/TransactionsNotCompleted'\r\n },\r\n EarlyAttendanceReport: {\r\n read: ip + '/api/MovedTransaction/EarlyAttendanceReport'\r\n },\r\n AttendanceSummaryReport: {\r\n read: ip + '/api/MovedTransaction/AttendanceReportSummary'\r\n },\r\n TotalAttendanceSummaryReport: {\r\n read: ip + '/api/MovedTransaction/AttendanceLeaveBranchesSummaryRport'\r\n },\r\n OvertimeReport: {\r\n read: ip + '/api/MovedTransaction/ExtraReport'\r\n },\r\n WorkingTimeDetailsReport: {\r\n read: ip + '/api/MovedTransaction/EmployeeWorkingDetailsReport'\r\n },\r\n BranchAttendanceReport: {\r\n read: ip + '/api/MovedTransaction/AttendanceLeaveBranchesDetailsRport'\r\n },\r\n VacationsReport: {\r\n read: ip + '/api/AddVacation/ReportAddVavtionsForEmployee'\r\n },\r\n PermissionsReport: {\r\n read: ip + '/api/AskPermission/ReportAskPermission'\r\n },\r\n DelayEarlyReport: {\r\n read: ip + '/api/MovedTransaction/LateAndLeaveEarlyReport'\r\n },\r\n TotalAbsenceReport: {\r\n read: ip + '/api/MovedTransaction/TotalAbsentForPeriodReport'\r\n },\r\n TotalDelayReport: {\r\n read: ip + '/api/MovedTransaction/TotalDelayForPeriodReport'\r\n },\r\n\r\n\r\n\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n // ====================================================================================================\r\n Devices: {\r\n create: ip + '/api/BrachMachine/AddBranchMachine',\r\n read: ip + '/api/BrachMachine/SearchAndGetAllBranchMachine',\r\n update: ip + '/api/BrachMachine/UpdateBranchMachine',\r\n delete: ip + '/api/BrachMachine/DeleteBranchMachine'\r\n },\r\n SpecialWorkingDays: {\r\n create: ip + '/api/DurationRamadanWork/AddDurationRamadanWork',\r\n read: ip + '/api/DurationRamadanWork/SearchAndGetAllDurationRamadanWork',\r\n update: ip + '/api/DurationRamadanWork/UpdateDurationRamadanWork',\r\n delete: ip + '/api/DurationRamadanWork/DeleteDurationRamadanWork'\r\n },\r\n UserPermission: {\r\n // ========================================================\r\n create: ip + '/api/CustomGroupPermission/AddCustomGroup',\r\n read: ip + '/api/CustomGroupPermission/SearchAndGetAllCustomGroup',\r\n update: ip + '/api/CustomGroupPermission/UpdateCustomGroup',\r\n delete: ip + '/api/CustomGroupPermission/DeleteCustomGroup'\r\n // ========================================================\r\n }\r\n}","import React from 'react';\r\nimport './Login.css';\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport Cookie from \"js-cookie\";\r\nimport Loading from '../Loading/Loading';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Alert from '../Alert/Alert';\r\nimport Button from '../Button/Button';\r\nimport { ip, adminIp } from './../../data/APIs';\r\n\r\n\r\nclass Login extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n username: '',\r\n password: '',\r\n authenticated: false,\r\n failed: false,\r\n message: '',\r\n loading: false,\r\n exist: false,\r\n checked: false,\r\n RenewPlan: null\r\n }\r\n }\r\n\r\n\r\n componentDidMount() {\r\n // check if company name exist\r\n this.Check();\r\n\r\n this.focusInput.focus();\r\n var inputFields = Array.from(document.getElementsByTagName(\"input\")); // Array.from is to be able to deal with the NodeList as an array\r\n inputFields.forEach(inputField => {\r\n inputField.addEventListener(\"keyup\", function (event) {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n document.getElementById(\"submitButton\").click();\r\n }\r\n });\r\n\r\n })\r\n }\r\n\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.companyName !== this.props.companyName) {\r\n this.Check();\r\n }\r\n }\r\n\r\n Check() {\r\n this.setState({ loading: true });\r\n fetch(ip + '/api/CheckCompanyName?CompanyUniqueName=' + this.props.companyName, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n }\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n this.setState({ exist: data.data, checked: true, loading: false });\r\n } else {\r\n console.error(data);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n\r\n // for set state fastly\r\n ChangeState(event, name) {\r\n this.setState({ [name]: event.target.value });\r\n }\r\n\r\n // try to login, if succeeded redirect to the dashboard, else show a message\r\n tryLogin() {\r\n let user = {\r\n userName: this.state.username,\r\n password: this.state.password,\r\n companyUniqueName: this.props.companyName\r\n }\r\n this.setState({ loading: true });\r\n fetch(ip + '/api/Login', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(user)\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success && data.data !== null && data.data != false) {\r\n\r\n //save access token, username, and company name in cookies\r\n Cookie.set('token', data.data.token, { SameSite: 'Lax' });\r\n Cookie.set('userName', user.userName, { SameSite: 'Lax' });\r\n Cookie.set('companyName', this.props.companyName, { SameSite: 'Lax' });\r\n\r\n this.setState({ authenticated: true, loading: false });\r\n } else if(data.success && data.data == false || data.message == \"subscription ended\" ){\r\n this.setState({ failed: true, message: data.message, loading: false , RenewPlan :true });\r\n }\r\n \r\n else {\r\n this.setState({ failed: true, message: data.message, loading: false });\r\n }\r\n })\r\n .catch(error => console.error('Unable to Login.', error));\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n

Login

\r\n
\r\n {/*

Access to our dashboard

*/}\r\n
\r\n {\r\n this.state.message ?\r\n \r\n { this.state.RenewPlan ?\r\n your Plan \r\n هنا \r\n \r\n :\r\n this.state.message\r\n }\r\n :\r\n null\r\n }\r\n
\r\n \r\n this.ChangeState(e, 'username')}\r\n ref={(input) => { this.focusInput = input; }}\r\n />\r\n
\r\n
\r\n \r\n this.ChangeState(e, 'password')}\r\n />\r\n {/* Forgot password? */}\r\n
\r\n
\r\n this.tryLogin()}\r\n >\r\n Log in\r\n \r\n
\r\n Forget your password?\r\n\r\n {/*

\r\n Don't have account yet?\r\n \r\n\r\n Register\r\n \r\n

*/}\r\n
\r\n
\r\n {/* if check the company name and it doesn't exist go back to write company name */}\r\n {!this.state.exist && this.state.checked ? : null}\r\n {this.state.authenticated ? : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Login;","import React from 'react';\r\nimport './ChooseApp.css';\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport Button from './../Button/Button'\r\nimport Loading from '../Loading/Loading';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport { ip } from './../../data/APIs';\r\nimport Alert from '../Alert/Alert';\r\n\r\nclass ChooseApp extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n companyName: '',\r\n exist: false,\r\n message: '',\r\n loading: false\r\n }\r\n }\r\n\r\n\r\n componentDidMount() {\r\n // Focus on first input\r\n this.focusInput.focus();\r\n //get all inputs in an array\r\n var inputFields = Array.from(document.getElementsByTagName(\"input\")); // Array.from is to be able to deal with the NodeList as an array\r\n //add an event listener to all fo the inputs, if 'Enter' key is pressed then click on submitButton\r\n inputFields.forEach(inputField => {\r\n inputField.addEventListener(\"keyup\", function (event) {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n document.getElementById(\"submitButton\").click();\r\n }\r\n });\r\n\r\n })\r\n }\r\n\r\n Check() {\r\n // Take a reference from 'this'\r\n let me = this;\r\n // Show loading spinner\r\n this.setState({ loading: true });\r\n\r\n // Check if company name exists\r\n fetch(ip + '/api/CheckCompanyName?CompanyUniqueName=' + this.state.companyName, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n }\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n\r\n if (data.success) {\r\n if (data.data) {\r\n this.setState({ exist: data.data, loading: false });\r\n } else {\r\n this.setState({ message: \"Company Name Doesn't Exist.\", exist: data.data, loading: false });\r\n setTimeout(function () { me.setState({ message: '' }); }, 10000);\r\n }\r\n }\r\n\r\n else {\r\n this.setState({ message: data.message, loading: false });\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n\r\n render() {\r\n return (\r\n\r\n
\r\n {/* loading compnonent showed only if this.state.loading == true */}\r\n \r\n \r\n \r\n
\r\n

Companies

\r\n
Write your company name
\r\n
\r\n
\r\n
\r\n {/* if there is a messege show it in an alert */}\r\n {\r\n this.state.message ?\r\n {this.state.message}\r\n :\r\n\r\n null\r\n }\r\n \r\n this.setState({ companyName: e.target.value })}\r\n ref={(input) => { this.focusInput = input; }}\r\n />\r\n
\r\n
\r\n
\r\n this.Check()}\r\n >\r\n Continue\r\n \r\n
\r\n
\r\n
\r\n {this.state.exist ? : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ChooseApp;","import React from 'react';\r\nimport './Login.css';\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport Cookie from \"js-cookie\";\r\nimport Loading from '../Loading/Loading';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Alert from '../Alert/Alert';\r\nimport Button from '../Button/Button';\r\nimport { ip } from '../../data/APIs';\r\n\r\nclass ForgotPassword extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n companyName: '',\r\n username: '',\r\n email: '',\r\n message: '',\r\n alertClass: 'success',\r\n loading: false,\r\n exist: false,\r\n checked: false\r\n }\r\n }\r\n \r\n componentDidMount() {\r\n this.Check();\r\n this.focusInput.focus();\r\n\r\n var inputFields = Array.from(document.getElementsByTagName(\"input\")); // Array.from is to be able to deal with the NodeList as an array\r\n inputFields.forEach(inputField => {\r\n inputField.addEventListener(\"keyup\", function (event) {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n document.getElementById(\"submitButton\").click();\r\n }\r\n });\r\n\r\n })\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.companyName !== this.props.companyName) {\r\n this.Check();\r\n }\r\n }\r\n\r\n ChangeState(event, name) {\r\n this.setState({ [name]: event.target.value });\r\n }\r\n\r\n Check() {\r\n this.setState({ loading: true });\r\n fetch(ip + '/api/CheckCompanyName?CompanyUniqueName=' + this.props.companyName, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'lang': 'ar'\r\n }\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n this.setState({ exist: data.data, checked: true, loading: false });\r\n } else {\r\n console.error(data);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n\r\n Submit() {\r\n let user = {\r\n companyName: this.props.companyName,\r\n userName: this.state.username,\r\n email: this.state.email,\r\n }\r\n this.setState({ loading: true });\r\n fetch(ip + '/api/ForgotPassword', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'lang': 'en'\r\n },\r\n body: JSON.stringify(user)\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success && data.data !== null) {\r\n\r\n this.setState({ alertClass: 'success', message: data.message, loading: false });\r\n } else {\r\n this.setState({ alertClass: 'danger', message: data.message, loading: false });\r\n }\r\n })\r\n .catch(error => console.error('Unable to Login.', error));\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n

Forget my password

\r\n
\r\n
\r\n {\r\n this.state.message ?\r\n {this.state.message}\r\n :\r\n null\r\n }\r\n\r\n
\r\n \r\n\r\n this.ChangeState(e, 'username')}\r\n ref={(input) => { this.focusInput = input; }}\r\n\r\n />\r\n
\r\n
\r\n \r\n this.ChangeState(e, 'email')}\r\n />\r\n\r\n
\r\n
\r\n this.Submit()}\r\n >\r\n Send\r\n \r\n
\r\n\r\n
\r\n
\r\n {!this.state.exist && this.state.checked ? : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ForgotPassword;","export default __webpack_public_path__ + \"static/media/logo-white.94675c2f.png\";","import React from 'react';\r\nimport logo from './apex-logo-light-blue.png';\r\nimport './StartLayout.css';\r\nimport { Route } from \"react-router-dom\";\r\nimport Login from '../Login/Login';\r\n// import Register from '../Register/Register';\r\nimport ChooseApp from '../ChooseApp/ChooseApp';\r\nimport ForgotPassword from '../ForgotPassword/ForgotPassword';\r\nimport { Link } from \"react-router-dom\";\r\nimport { Dropdown } from 'react-bootstrap';\r\nimport company from '../../logo-white.png';\r\n\r\nfunction StartLayout(props) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n \r\n \r\n }\r\n />\r\n {/* */}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n © 2020 Taif Alalmas All Rights Reserved\r\n
\r\n
\r\n

Contact Us

\r\n \r\n \r\n
\r\n
\r\n Powered by:\r\n \r\n \"LOGO\"\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default StartLayout;","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport './Table.css';\r\n\r\nconst Table = (props) => {\r\n return (\r\n
\r\n {\r\n \r\n \r\n \r\n {props.totals ?\r\n {props.totals }\r\n :\r\n null}\r\n \r\n \r\n {props.TableHeaders}\r\n \r\n \r\n \r\n\r\n {props.TableHeaders2 ? {props.TableHeaders2} : null}\r\n\r\n {props.data}\r\n \r\n
\r\n }\r\n
\r\n )\r\n}\r\n\r\nexport default Table;","import React, { useState } from 'react';\r\nimport { Button, Popover, PopoverHeader, PopoverBody } from \"reactstrap\";\r\n\r\nimport 'popper.js';\r\nimport $ from 'jquery';\r\nimport 'bootstrap/dist/js/bootstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faCheck, faTimes } from '@fortawesome/free-solid-svg-icons';\r\n\r\nimport './TextInput.css';\r\nimport TimeField from 'react-simple-timefield';\r\n// import DatePicker from 'react-date-picker';\r\nimport 'date-fns';\r\nimport DateFnsUtils from '@date-io/date-fns'; // choose your lib\r\nimport {\r\n MuiPickersUtilsProvider,\r\n KeyboardDatePicker,\r\n} from '@material-ui/pickers';\r\nimport moment from 'moment'\r\nimport MomentUtils from '@date-io/moment'\r\nclass TextInput extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n input: '',\r\n value: '',\r\n popoverOpen: false,\r\n popOverValue: props.value\r\n }\r\n this.togglePopover = this.togglePopover.bind(this);\r\n\r\n }\r\n\r\n\r\n onInputChange(e) {\r\n this.setState({ input: e.currentTarget.value, value: e.currentTarget.value });\r\n console.log(this.state.input);\r\n }\r\n togglePopover() {\r\n this.setState({ popoverOpen: !this.state.popoverOpen })\r\n }\r\n\r\n\r\n render() {\r\n require('moment/locale/en-au');\r\n const { popoverOpen } = this.state;\r\n const { type /* Default: text */, cols, rows, ar, target, className, placeholder, onChange, value, disabled, arDate, popover } = this.props\r\n if (popover) {\r\n return (\r\n
\r\n this.setState({ popOverValue: value })} className=\"popover-btn mb-1\" />\r\n \r\n \r\n
\r\n {\r\n this.setState({ popOverValue: e.currentTarget.value })\r\n onChange(e.currentTarget.value)\r\n }\r\n }\r\n accept={type === 'file' ? 'image/*' : undefined}\r\n value={this.state.popOverValue}\r\n max={type === 'date' ? '9999-12-31' : undefined}\r\n min={type === 'number' ? 0 : undefined}\r\n\r\n />\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n else {\r\n if (type === 'time') {\r\n return (\r\n { onChange(value) }}\r\n disabled={disabled}\r\n style={{ width: '100%', textAlign: 'center' }}\r\n />\r\n )\r\n }\r\n else if (type === 'date') {\r\n return (\r\n // onChange(date)}\r\n // placeholder={placeholder}\r\n // />\r\n\r\n // {\r\n // // date = date?.substring(0, 10);\r\n // console.log(\"date--->\", date)\r\n // onChange(date);\r\n // }}\r\n // value={\"2020-10-29\"}\r\n // for='yyyy-MM-dd'\r\n // />\r\n // {\r\n // date = date?.substring(0,10);\r\n // onChange(date);\r\n // }}\r\n // placeholder={placeholder}\r\n // />\r\n \r\n {\r\n if (date) {\r\n onChange(moment(date).format(\"yyyy-MM-DD\"));\r\n }\r\n else {\r\n onChange(moment('').format(\"yyyy-MM-DD\"));\r\n }\r\n\r\n }}\r\n autoOk\r\n KeyboardButtonProps={{\r\n 'aria-label': 'change date',\r\n }}\r\n\r\n />\r\n \r\n\r\n // { onChange(date); }} />\r\n )\r\n }\r\n else if (type == 'textarea') {\r\n return (\r\n { onChange(e.currentTarget.value) }}\r\n placeholder={placeholder ? placeholder : \"write...\"}\r\n value={value}\r\n className={`${className ? \" \" + className : \"\"}${disabled ? \" disabled\" : \"\"}\r\n ${arDate ? ' ar-dateStyle' : null}`}\r\n rows={rows}\r\n cols={cols}\r\n >\r\n \r\n )\r\n\r\n }\r\n else {\r\n return (\r\n\r\n { onChange(e.currentTarget.value) }\r\n }\r\n accept={type === 'file' ? 'image/*' : undefined}\r\n value={value}\r\n max={type === 'date' ? '31-12-9999' : undefined}\r\n min={type === 'number' ? 0 : undefined}\r\n />\r\n )\r\n }\r\n }\r\n }\r\n\r\n}\r\nexport default TextInput;","import React from 'react';\r\nimport './Field.css';\r\n\r\n// We declared all component props by destructuring the props object\r\n// Destructuring is a ES6 feature written in this way:\r\n// const { property } = object;.\r\n\r\n// Each prop type will be mentioned beside it.\r\n\r\n// if prop describes a tagName , then prop will take the same naming as following:\r\n// className={className} ==> tagName={prop}.\r\n\r\nconst Field = ({\r\n title,\r\n inputComponent,\r\n className,\r\n long,\r\n style,\r\n titleSize,\r\n dropdownAlign,\r\n noFormCont\r\n}) => {\r\n return (\r\n
\r\n {\r\n title ?\r\n titleSize ?\r\n
\r\n \r\n
\r\n :\r\n \r\n :\r\n null\r\n }\r\n\r\n\r\n\r\n
\r\n {\r\n inputComponent\r\n }\r\n
\r\n
\r\n\r\n )\r\n}\r\n{/* */}\r\nexport default Field;","import React from 'react';\r\nimport './TableFooter.css';\r\nimport { Link } from 'react-router-dom';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Field from '../Field/Field';\r\nimport Button from './../Button/Button';\r\nimport ReactTooltip from \"react-tooltip\";\r\n\r\nconst FooterAr = (props) => {\r\n let rowsNumber = props.rowsNumber ? props.rowsNumber : 0;\r\n let pagesNumber = (rowsNumber === 0 ? 0 : props.total / rowsNumber);\r\n let btns = [];\r\n let counter = 0;\r\n for (let i = 0; i < pagesNumber; i++) {\r\n btns.push([\r\n props.currentPageChange(e.currentTarget.innerHTML)} >\r\n {i + 1}\r\n \r\n ])\r\n counter++;\r\n }\r\n let from = props.currentPage === 1 ? 0 : props.currentPage - 2;\r\n let to = props.currentPage > pagesNumber ? btns.length : props.currentPage + 1;\r\n btns = btns.slice(from, to);\r\n if (btns.length > 0) {\r\n btns.unshift([\r\n props.currentPageChange(1)}\r\n >\r\n \r\n \r\n ]);\r\n btns.push([\r\n props.currentPageChange(counter)}\r\n >\r\n \r\n \r\n ]);\r\n }\r\n return (\r\n
\r\n {/* \r\n
\r\n \r\n props.rowsNumberChange('rowsNumber', value)}\r\n />\r\n
\r\n */}\r\n
\r\n \r\n props.rowsNumberChange(value)}\r\n />\r\n
\r\n props.currentPageChange(1)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n ]}\r\n />\r\n \r\n \r\n\r\n
\r\n \r\n\r\n

\r\n {/* ((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage) */}\r\n {((props.rowsNumber * props.currentPage) - props.rowsNumber) + 1}{/* */}\r\n -\r\n {(props.rowsNumber * props.currentPage) < props.total ? (props.rowsNumber * props.currentPage) : props.total}{/* */}\r\n من\r\n {props.total}{/* */}\r\n

\r\n \r\n
\r\n\r\n\r\n
\r\n )\r\n}\r\nexport default FooterAr;","import React from 'react';\r\nimport './ToggleSwitch.css';\r\nimport Switch from 'react-switch';\r\n\r\nclass ToggleSwitch extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n this.uncheckedIcon = Array.from(document.getElementsByClassName(\"uncheckedIcon\"));\r\n this.onTextLength = props.onText ? props.onText.length : 0;\r\n this.offTextLength = props.offText ? props.offText.length : 0;\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n\r\n handleChange(checked) {\r\n this.setState({ checked });\r\n if (this.props.onChange) {\r\n this.props.onChange(this.props.backName, checked)\r\n }\r\n }\r\n componentDidMount() {\r\n this.uncheckedIcon = Array.from(document.getElementsByClassName(\"uncheckedIcon\"))[0];\r\n\r\n }\r\n render() {\r\n const {\r\n height,\r\n width,\r\n // uncheckedIconMarginLeft,\r\n // uncheckedIconWidth,\r\n // checkedIconWidth,\r\n\r\n checkedIconMarginLeft,\r\n uncheckedIconFontSize, offText,\r\n checkedIconFontSize, onText,\r\n value,\r\n className\r\n } = this.props;\r\n\r\n // const width = false;\r\n // this.offTextLength > this.onTextLength ? (this.offTextLength * (120 / 8)) : (this.onTextLength *( 120 / 8));\r\n let uncheckedIconWidth = this.offTextLength * 10;\r\n let checkedIconWidth = this.onTextLength * 10;\r\n let uncheckedIconMarginLeft = (this.offTextLength * -5.5);\r\n\r\n const uncheckedIconStyle = {\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n height: \"100%\",\r\n color: \"#000\",\r\n width: \"unset\",/* uncheckedIconWidth? uncheckedIconWidth + \"px\": \"0px\" */ //for long words not to be wrapped\r\n marginLeft: uncheckedIconMarginLeft ? uncheckedIconMarginLeft + \"px\" : \"0px\", //for long words to be closer to the handler\r\n fontSize: uncheckedIconFontSize ? uncheckedIconFontSize : 15\r\n };\r\n const checkedIconStyle = {\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n height: \"100%\",\r\n color: \"#000\",\r\n width: \"unset\",/* checkedIconWidth + \"px\" */ //for long words not to be wrapped\r\n marginLeft: checkedIconMarginLeft ? checkedIconMarginLeft : \"0px\", //for long words to be closer to the handler\r\n fontSize: checkedIconFontSize ? checkedIconFontSize : 15\r\n };\r\n\r\n const $height = height ? height : 28;\r\n let $width = width ? width : 50;\r\n return (\r\n <>\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ToggleSwitch;","import React from 'react';\r\nimport OriginalComponent from 'react-dropdown-select';\r\nimport './Dropdown.css';\r\nimport { Button, PopoverHeader, PopoverBody } from \"reactstrap\";\r\nimport { Popover } from \"reactstrap\";\r\nimport 'popper.js';\r\nimport $ from 'jquery';\r\nimport 'bootstrap/dist/js/bootstrap';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faCheck, faTimes } from '@fortawesome/free-solid-svg-icons';\r\n// Full documentation of the OriginalComponent at:\r\n// https://sanusart.github.io/react-dropdown-select/.\r\n\r\n// We declare the original component as OriginalComponent \r\n// To decrease confusion with that one we will use in our project.\r\n\r\n// We declared all component props by destructuring the props object\r\n// Destructuring is a ES6 feature written in this way:\r\n// const { property } = object;.\r\n\r\n// Each prop type will be mentioned beside it.\r\n\r\n// if prop describes a tagName , then prop will take the same naming as following:\r\n// className={className} ==> tagName={prop}.\r\n\r\nclass Dropdown extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n input: '',\r\n value: '',\r\n popoverOpen: false,\r\n popOverValue: ''\r\n }\r\n this.togglePopover = this.togglePopover.bind(this);\r\n\r\n }\r\n \r\n onInputChange(e) {\r\n this.setState({ input: e.currentTarget.value, value: e.currentTarget.value });\r\n}\r\ntogglePopover() {\r\n this.setState({ popoverOpen: !this.state.popoverOpen })\r\n}\r\n\r\nrender() {\r\n const { popoverOpen } = this.state;\r\n const { multi,placeholder,ar, options, rtl, target, onChange, value, popover,addStyle } = this.props\r\n if (popover) {\r\n return (\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n {onChange(value[0] ? value[0].value : '')\r\n console.log(value[0].value)\r\n this.setState({ popOverValue: value[0].value })\r\n this.setState({value : value[0].label}) \r\n }}\r\n noDataLabel={rtl ? 'لا توجد بيانات' : 'No Data'}\r\n />\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n else {\r\n if (multi) {\r\n return (\r\n onChange(value.map(item => item.value))}\r\n noDataLabel={rtl ? 'لا توجد بيانات' : 'No Data'}\r\n />\r\n )\r\n }\r\n else{\r\n return (\r\n onChange(value[0] ? value[0].value : '')}\r\n noDataLabel={rtl ? 'لا توجد بيانات' : 'No Data'}\r\n />\r\n )\r\n}\r\n}\r\n}\r\n}\r\nexport default Dropdown;","import React from 'react';\r\nimport './Filters.css';\r\nimport Button from './../Button/Button';\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport Field from '../Field/Field';\r\n\r\nconst FiltersAr = (props) => {\r\n if (props.Search) {\r\n props.SearchFields.push(\r\n
\r\n props.Search()}\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 {props.SearchFields}\r\n
\r\n
\r\n props.Clear()}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nfunction hideFilters() {\r\n const filters = document.getElementsByClassName(\"Filters\");\r\n const hideFiltersButton = document.querySelector(\"#hideFiltersButton\");\r\n const showFiltersButton = document.querySelector(\"#showFiltersButton\");\r\n for (let item of filters) {\r\n item.classList.add(\"d-none\");\r\n }\r\n hideFiltersButton.classList.add(\"d-none\");\r\n showFiltersButton.classList.remove(\"d-none\");\r\n}\r\n\r\nfunction showFilters() {\r\n const filters = document.getElementsByClassName(\"Filters\");\r\n const hideFiltersButton = document.querySelector(\"#hideFiltersButton\");\r\n const showFiltersButton = document.querySelector(\"#showFiltersButton\");\r\n for (let item of filters) {\r\n item.classList.remove(\"d-none\");\r\n }\r\n hideFiltersButton.classList.remove(\"d-none\");\r\n showFiltersButton.classList.add(\"d-none\");\r\n}\r\n\r\nexport default FiltersAr;\r\nexport { hideFilters, showFilters }","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './Modal.css';\r\nimport Button from './../Button/Button';\r\nimport Alert from './../Alert/Alert';\r\nimport Table from './../Table/Table';\r\nimport { Link } from \"react-router-dom\";\r\nimport Cookie from \"js-cookie\";\r\nimport TableFooterAr from '../TableFooterAr/TableFooterAr';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport FiltersAr from '../FiltersAr/FiltersAr';\r\nimport Field from '../Field/Field';\r\nimport $ from \"jquery\";\r\n\r\nclass ModalAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n let tempSearchEntity = {};\r\n if (props.searchFields) {\r\n for (let field of props.searchFields) {\r\n tempSearchEntity[field.backName] = '';\r\n }\r\n for (let field of props.searchFields) {\r\n if (field.type === 'select') {\r\n this.GetSelect(field.url, field.body, field.label);\r\n }\r\n }\r\n }\r\n\r\n this.state = {\r\n visible: false,\r\n data: [],\r\n rowsNumber: 5,\r\n rowsTotal: 0,\r\n currentPage: 1,\r\n searchEntity: tempSearchEntity\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.read) {\r\n this.Read(this.props.read.body);\r\n }\r\n\r\n //on 'Esc' press close modal\r\n const modal = document.querySelector(`#${this.props.action}`);\r\n modal.addEventListener(\"keydown\", event => {\r\n if (event.keyCode === 27) {\r\n this.props.hideModal(this.props.action)\r\n }\r\n });\r\n }\r\n\r\n componentDidUpdate() {\r\n //if modal is not visible but props.visible is true\r\n if (this.props.visible && !this.state.visible) {\r\n const modal = document.querySelector(`#${this.props.action}`);\r\n //if there is an input\r\n if (modal.getElementsByTagName('input')[0]) {\r\n //focus on first input\r\n modal.getElementsByTagName('input')[0].focus();\r\n }\r\n //Show modal\r\n this.setState({ visible: true });\r\n //if modal is visible but props.visible is false\r\n } else if (!this.props.visible && this.state.visible) {\r\n //hide modal\r\n this.setState({ visible: false });\r\n }\r\n //if there is a read operation in this modal and the data is not updated\r\n if (this.props.read && !this.props.updated) {\r\n //read data\r\n this.Read(this.props.read.body);\r\n }\r\n //if there is data from outside\r\n if (this.props.data) {\r\n //if data from outside not equal to this modal data\r\n if (this.props.data !== this.state.data) {\r\n //assign data from outside to modal data\r\n this.setState({ data: this.props.data });\r\n }\r\n }\r\n }\r\n\r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n ChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n Fetch(entity, token, operation, then) {\r\n fetch(\r\n this.props[operation].path ?\r\n this.props[operation].url + '/' + entity[Object.keys(entity)[0]]\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity)[0] + '=' + entity[Object.keys(entity)[0]]\r\n :\r\n this.props[operation].url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n Read(entity) {\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (response.data.data) {\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount\r\n }\r\n );\r\n me.props.parent.setState({ modalUpdated: true })\r\n } else { //response.data\r\n me.setState(\r\n {\r\n data: response.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount\r\n }\r\n );\r\n me.props.parent.setState({ modalUpdated: true })\r\n }\r\n } else { //not success\r\n console.error(response);\r\n }\r\n } else { //not status 200\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n\r\n GetSelect(url, body, name) {\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response.message);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n }\r\n\r\n //Clear search fields in search modal\r\n Clear() {\r\n let tempSearchEntity = {};\r\n if (this.props.searchFields) {\r\n for (let field of this.props.searchFields) {\r\n tempSearchEntity[field.backName] = '';\r\n }\r\n }\r\n\r\n this.setState({ searchEntity: tempSearchEntity });\r\n }\r\n\r\n render() {\r\n let actionAr = '';\r\n\r\n //translate operation name to show in the modal header\r\n switch (this.props.action) {\r\n case 'add':\r\n actionAr = 'إضافة'\r\n break;\r\n case 'edit':\r\n actionAr = 'تعديل'\r\n break;\r\n case 'delete':\r\n actionAr = 'حذف'\r\n break;\r\n case 'search':\r\n actionAr = 'بحث'\r\n break;\r\n case 'display':\r\n actionAr = 'عرض'\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n //for Search modal\r\n let SearchFields;\r\n if (this.props.searchFields) {\r\n SearchFields = this.props.searchFields.map(\r\n (field) => {\r\n let items;\r\n switch (field.type) {\r\n case 'text':\r\n return (\r\n this.ChangeEntityState('searchEntity', field.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'select':\r\n if (field.label === 'Management') {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(management => management.branchId === this.state.searchEntity[this.props.searchFields.find(field => field.label === 'Branch').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else if (field.label === 'Department') {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(department => department.administrationId === this.state.searchEntity[this.props.searchFields.find(field => field.label === 'Management').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n }\r\n return (\r\n item.value === this.state.searchEntity[field.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('searchEntity', field.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n default:\r\n return (\r\n this.ChangeEntityState('searchEntity', field.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n }\r\n }\r\n );\r\n }\r\n\r\n //filter data in search modal\r\n let TableHeaders;\r\n let TableData;\r\n if (this.props.action === 'search') {\r\n let me = this;\r\n let tableRawData = this.state.data;\r\n for (let prop in this.state.searchEntity) {\r\n if (this.state.searchEntity[prop]) {\r\n tableRawData = tableRawData.filter(row => {\r\n if (row[prop] !== null) {\r\n return row[prop].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n\r\n } else {\r\n return ''.toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n }\r\n });\r\n }\r\n }\r\n\r\n //show only the wanted columns in table\r\n tableRawData = tableRawData.map((row) => {\r\n let tablerow = {};\r\n for (let column of this.props.columns) {\r\n tablerow[column['backName']] = row[column['backName']];\r\n }\r\n\r\n return tablerow;\r\n });\r\n\r\n //if data lenght is not equal to rowsTotal (for pagination)\r\n if (tableRawData.length !== this.state.rowsTotal) {\r\n //update rowsTotal\r\n this.setState({ rowsTotal: tableRawData.length })\r\n }\r\n\r\n //Table Headers\r\n TableHeaders = this.props.columns.map((column) => {column['name']});\r\n\r\n //get the filtered data with their Ids\r\n let rawDataIds = me.state.data.filter((data) => {\r\n for (let raw of tableRawData) {\r\n if (data[me.props.columns[0]['backName']] === raw[Object.keys(raw)[0]]) {\r\n return true;\r\n } else {\r\n continue;\r\n }\r\n }\r\n return false\r\n });\r\n\r\n //put in the beginning of the array of table headers\r\n TableHeaders.unshift(\r\n \r\n {/* if there is createEntity */}\r\n {me.props.parent.state.createEntity ?\r\n me.props.parent.state.createEntity[me.props.backName]?.some((item) => item === value.id))}\r\n backName={me.props.backName}\r\n onChange={(name, value) => {\r\n //get a copy of the createEntity\r\n let tempEntity = me.props.parent.state.createEntity;\r\n //if checked\r\n if (value) {\r\n //put all the ids in the property with the name ('backName' value) (all checked)\r\n tempEntity[me.props.backName] = rawDataIds.map((data) => data.id);\r\n me.props.parent.setState({ createEntity: tempEntity })\r\n } else {\r\n //put an empty array (all unchecked)\r\n tempEntity[me.props.backName] = [];\r\n me.props.parent.setState({ createEntity: tempEntity })\r\n }\r\n }}\r\n />\r\n\r\n :\r\n //else, actionEntity\r\n me.props.parent.state.actionEntity[me.props.backName]?.some((item) => item === value.id))}\r\n backName={me.props.backName}\r\n onChange={(name, value) => {\r\n //get a copy of the actionEntity\r\n let tempEntity = me.props.parent.state.actionEntity;\r\n //if checked\r\n if (value) {\r\n //put all the ids in the property with the name ('backName' value) (all checked)\r\n tempEntity[me.props.backName] = rawDataIds.map((data) => data.id);\r\n me.props.parent.setState({ actionEntity: tempEntity })\r\n } else {\r\n //put an empty array (all unchecked)\r\n tempEntity[me.props.backName] = [];\r\n me.props.parent.setState({ actionEntity: tempEntity })\r\n }\r\n }}\r\n />\r\n }\r\n )\r\n\r\n\r\n TableData = tableRawData\r\n //Client side Pagination\r\n .slice(((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage))\r\n //Display table Data properly\r\n .map(\r\n function (row, rowIndex) {\r\n return (\r\n \r\n \r\n {/* CreateEntity */}\r\n {me.props.parent.state.createEntity ?\r\n \r\n value === me.state.data.find(item => item[me.props.columns[0]['backName']] === row[Object.keys(row)[0]]).id)}\r\n //the id of the current row\r\n backName={me.state.data.find(item => item[me.props.columns[0]['backName']] === row[Object.keys(row)[0]]).id}\r\n\r\n onChange={(name, value) => {\r\n //get a copy\r\n let tempEntity = me.props.parent.state.createEntity;\r\n //if checked\r\n if (value) {\r\n //add the current row id to the array in the createEntity\r\n tempEntity[me.props.backName].push(name);\r\n me.props.parent.setState({ createEntity: tempEntity })\r\n } else {\r\n //remove the current row id from the array in the createEntity\r\n tempEntity[me.props.backName] = tempEntity[me.props.backName].filter((value) => value !== name);\r\n me.props.parent.setState({ createEntity: tempEntity })\r\n }\r\n }} />\r\n :\r\n //ActionEntity\r\n \r\n value === me.state.data.find(item => item[me.props.columns[0]['backName']] === row[Object.keys(row)[0]]).id)}\r\n backName={me.state.data.find(item => item[me.props.columns[0]['backName']] === row[Object.keys(row)[0]]).id}\r\n onChange={(name, value) => {\r\n let tempEntity = me.props.parent.state.actionEntity;\r\n if (value) {\r\n tempEntity[me.props.backName].push(name);\r\n me.props.parent.setState({ actionEntity: tempEntity })\r\n } else {\r\n tempEntity[me.props.backName] = tempEntity[me.props.backName].filter((value) => value !== name);\r\n me.props.parent.setState({ actionEntity: tempEntity })\r\n }\r\n }} />\r\n }\r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) =>\r\n me.props.columns[columnIndex]['link'] ?\r\n \r\n me.state.data[rowIndex][value]).join('/')}>\r\n {\r\n me.props.columns[columnIndex]['link']['icon'] ?\r\n me.props.columns[columnIndex]['link']['icon']\r\n :\r\n me.props.columns[columnIndex]['link']['text'] ?\r\n me.props.columns[columnIndex]['link']['text']\r\n :\r\n row[columnName]\r\n }\r\n \r\n \r\n :\r\n me.props.columns[columnIndex]['boolean'] ?\r\n \r\n {row[columnName] ? Yes : No}\r\n \r\n :\r\n me.props.columns[columnIndex]['enum'] ?\r\n \r\n {me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display']}\r\n \r\n :\r\n \r\n {row[columnName]}\r\n )\r\n }\r\n \r\n )\r\n }\r\n );\r\n } else if (this.props.action === 'display') { //Display Modal\r\n let me = this;\r\n let tableRawData = this.state.data;\r\n\r\n tableRawData = tableRawData.map((row) => {\r\n let tablerow = {};\r\n for (let column of this.props.columns) {\r\n tablerow[column['backName']] = row[column['backName']];\r\n }\r\n\r\n return tablerow;\r\n });\r\n\r\n TableHeaders = this.props.columns.map((column) => {column['name']});\r\n\r\n TableData = tableRawData\r\n .map(\r\n function (row, rowIndex) {\r\n return (\r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) =>\r\n me.props.columns[columnIndex]['link'] ?\r\n \r\n me.state.data[rowIndex][value]).join('/')}>\r\n {\r\n me.props.columns[columnIndex]['link']['icon'] ?\r\n me.props.columns[columnIndex]['link']['icon']\r\n :\r\n me.props.columns[columnIndex]['link']['text'] ?\r\n me.props.columns[columnIndex]['link']['text']\r\n :\r\n row[columnName]\r\n }\r\n \r\n \r\n :\r\n me.props.columns[columnIndex]['boolean'] ?\r\n \r\n {row[columnName] ? Yes : No}\r\n \r\n :\r\n me.props.columns[columnIndex]['enum'] ?\r\n \r\n {me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display']}\r\n \r\n :\r\n \r\n {row[columnName]}\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
\r\n
{this.props.removeModalTitleName ? \" \" : actionAr} {this.props.title ? this.props.title : null}
{/* Add, Edit, Delete, ....... */}\r\n this.props.hideModal(this.props.action)}\r\n >\r\n x\r\n \r\n
\r\n
\r\n
\r\n {/* Validation Messages in Alert */}\r\n {\r\n this.props.errors ?\r\n this.props.errors.length > 0 ?\r\n (\r\n \r\n
    \r\n {this.props.errors.map((error) =>
  • {error}
  • )}\r\n
\r\n \r\n )\r\n :\r\n null\r\n :\r\n null\r\n }\r\n\r\n {/* Modal Body */}\r\n {\r\n this.props.action === 'delete' ? //Delete Modal\r\n this.props.deleteMessage\r\n :\r\n this.props.action === 'search' ? //Search Modal\r\n \r\n
\r\n {/* Message from Back-End */}\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n\r\n {/* Search Fields */}\r\n {\r\n SearchFields ?\r\n this.Clear()}\r\n />\r\n :\r\n null\r\n }\r\n\r\n {/* Pagination */}\r\n {\r\n value = value > 1 ? value : 1;\r\n this.ChangeState('rowsNumber', value);\r\n this.setState({ currentPage: 1 });\r\n }}\r\n total={this.state.rowsTotal}\r\n currentPage={this.state.currentPage}\r\n currentPageChange={(value) => this.setState({ currentPage: Number(value) })}\r\n />\r\n\r\n {/* Table */}\r\n \r\n \r\n :\r\n this.props.action === 'display' ? //Display Modal\r\n this.props.modalMessage ?\r\n \r\n

{this.props.modalMessage}

\r\n
\r\n\r\n :\r\n \r\n\r\n {/* Table */}\r\n
\r\n \r\n :\r\n\r\n this.props.EntityProperties\r\n\r\n }\r\n \r\n \r\n\r\n {/* Modal Footer */}\r\n {\r\n this.props.action === 'search' ? //Search Modal\r\n
\r\n this.props.fetch()}\r\n >\r\n إضافة المحدد\r\n \r\n\r\n {\r\n this.Clear();\r\n this.props.hideModal(this.props.action);\r\n }}\r\n >\r\n إلغاء\r\n \r\n
\r\n :\r\n this.props.action === 'display' ? //Display Modal\r\n
\r\n\r\n this.props.hideModal(this.props.action)}\r\n >\r\n إلغاء\r\n \r\n
\r\n :\r\n
\r\n {this.props.updateAll ? //for Working Hours\r\n {\r\n this.props.updateAll();\r\n $(\".Modal--container .MainLayout--container\").scrollTop(0);\r\n if ($(\".Alert\").hasClass('d-none')) {\r\n $(\".Alert\").removeClass('d-none');\r\n }\r\n }}\r\n >\r\n تكرار على كل الأيام\r\n \r\n : null}\r\n\r\n {/* Action Button */}\r\n {\r\n this.props.fetch();\r\n $(\".Modal--container .MainLayout--container\").scrollTop(0);\r\n if ($(\".Alert\").hasClass('d-none')) {\r\n $(\".Alert\").removeClass('d-none');\r\n }\r\n }}\r\n >\r\n {actionAr}\r\n \r\n\r\n {/* Cancel Button */}\r\n this.props.hideModal(this.props.action)}\r\n >\r\n إلغاء\r\n \r\n
\r\n }\r\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 ModalAr;","import React from 'react';\r\nimport './TableFooter.css';\r\nimport { Link } from 'react-router-dom';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Field from '../Field/Field';\r\nimport Button from './../Button/Button';\r\nimport ReactTooltip from \"react-tooltip\";\r\n\r\nconst Footer = (props) => {\r\n let rowsNumber = props.rowsNumber ? props.rowsNumber : 0;\r\n let pagesNumber = (rowsNumber === 0 ? 0 : props.total / rowsNumber);\r\n let btns = [];\r\n let counter = 0;\r\n for (let i = 0; i < pagesNumber; i++) {\r\n btns.push([\r\n props.currentPageChange(e.currentTarget.innerHTML)} >\r\n {i + 1}\r\n \r\n ])\r\n counter++;\r\n }\r\n let from = props.currentPage === 1 ? 0 : props.currentPage - 2;\r\n let to = props.currentPage > pagesNumber ? btns.length : props.currentPage + 1;\r\n btns = btns.slice(from, to);\r\n if (btns.length > 0) {\r\n btns.unshift([\r\n props.currentPageChange(1)}\r\n >\r\n \r\n \r\n ]);\r\n btns.push([\r\n props.currentPageChange(counter)}\r\n >\r\n \r\n \r\n ]);\r\n }\r\n return (\r\n
\r\n {/* \r\n
\r\n \r\n props.rowsNumberChange('rowsNumber', value)}\r\n />\r\n
\r\n */}\r\n \r\n \r\n props.rowsNumberChange('rowsNumber', value)}\r\n />\r\n
\r\n props.currentPageChange(1)}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n ]}\r\n />\r\n \r\n\r\n
\r\n\r\n

\r\n {/* ((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage) */}\r\n {((props.rowsNumber * props.currentPage) - props.rowsNumber) + 1}{/* */}\r\n -\r\n {(props.rowsNumber * props.currentPage) < props.total ? (props.rowsNumber * props.currentPage) : props.total}{/* */}\r\n of\r\n {props.total}{/* */}\r\n

\r\n \r\n
\r\n\r\n\r\n
\r\n )\r\n}\r\nexport default Footer;","import React from 'react';\r\nimport './Filters.css';\r\nimport Button from './../Button/Button';\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport Field from '../Field/Field';\r\n\r\nconst Filters = (props) => {\r\n if (props.Search) {\r\n props.SearchFields.push(\r\n
\r\n props.Search()}\r\n >\r\n Search\r\n \r\n
\r\n);\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n {props.SearchFields}\r\n
\r\n
\r\n props.Clear()}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\nfunction hideFilters() {\r\n const filters = document.getElementsByClassName(\"Filters\");\r\n const hideFiltersButton = document.querySelector(\"#hideFiltersButton\");\r\n const showFiltersButton = document.querySelector(\"#showFiltersButton\");\r\n for (let item of filters) {\r\n item.classList.add(\"d-none\");\r\n }\r\n hideFiltersButton.classList.add(\"d-none\");\r\n showFiltersButton.classList.remove(\"d-none\");\r\n}\r\n\r\nfunction showFilters() {\r\n const filters = document.getElementsByClassName(\"Filters\");\r\n const hideFiltersButton = document.querySelector(\"#hideFiltersButton\");\r\n const showFiltersButton = document.querySelector(\"#showFiltersButton\");\r\n for (let item of filters) {\r\n item.classList.remove(\"d-none\");\r\n }\r\n hideFiltersButton.classList.remove(\"d-none\");\r\n showFiltersButton.classList.add(\"d-none\");\r\n}\r\n\r\nexport default Filters;\r\nexport { hideFilters, showFilters }","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './Modal.css';\r\nimport Button from './../Button/Button';\r\nimport Alert from './../Alert/Alert';\r\nimport Table from './../Table/Table';\r\nimport { Link } from \"react-router-dom\";\r\nimport Cookie from \"js-cookie\";\r\nimport TableFooter from '../TableFooter/TableFooter';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport Filters from '../Filters/Filters';\r\nimport Field from '../Field/Field';\r\nimport $ from \"jquery\";\r\n// import 'bootstrap/dist/css/bootstrap.min.css';\r\n\r\nclass Modal extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n let tempSearchEntity = {};\r\n if (props.searchFields) {\r\n for (let field of props.searchFields) {\r\n tempSearchEntity[field.backName] = '';\r\n }\r\n for (let field of props.searchFields) {\r\n if (field.type === 'select') {\r\n this.GetSelect(field.url, field.body, field.label);\r\n }\r\n }\r\n }\r\n\r\n this.state = {\r\n visible: false,\r\n data: [],\r\n rowsNumber: 5,\r\n rowsTotal: 0,\r\n currentPage: 1,\r\n searchEntity: tempSearchEntity\r\n }\r\n\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.read) {\r\n this.Read(this.props.read.body);\r\n }\r\n const modal = document.querySelector(`#${this.props.action}`);\r\n modal.addEventListener(\"keydown\", event => {\r\n if (event.keyCode === 27) {\r\n this.props.hideModal(this.props.action)\r\n }\r\n });\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.props.visible && !this.state.visible) {\r\n const modal = document.querySelector(`#${this.props.action}`);\r\n if (modal.getElementsByTagName('input')[0]) {\r\n modal.getElementsByTagName('input')[0].focus();\r\n }\r\n this.setState({ visible: true });\r\n } else if (!this.props.visible && this.state.visible) {\r\n this.setState({ visible: false });\r\n }\r\n if (this.props.read && !this.props.updated) {\r\n this.Read(this.props.read.body);\r\n }\r\n if (this.props.data) {\r\n if (this.props.data !== this.state.data) {\r\n this.setState({ data: this.props.data });\r\n }\r\n }\r\n }\r\n\r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n ChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n Fetch(entity, token, operation, then) {\r\n fetch(\r\n this.props[operation].path ?\r\n this.props[operation].url + '/' + entity[Object.keys(entity)[0]]\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity)[0] + '=' + entity[Object.keys(entity)[0]]\r\n :\r\n this.props[operation].url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n Read(entity) {\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (response.data.data) {\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount\r\n }\r\n );\r\n me.props.parent.setState({ modalUpdated: true })\r\n } else {\r\n me.setState(\r\n {\r\n data: response.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount\r\n }\r\n );\r\n me.props.parent.setState({ modalUpdated: true })\r\n }\r\n } else {\r\n console.error(response);\r\n }\r\n } else {\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n\r\n GetSelect(url, body, name) {\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response.message);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n }\r\n\r\n Clear() {\r\n let tempSearchEntity = {};\r\n if (this.props.searchFields) {\r\n for (let field of this.props.searchFields) {\r\n tempSearchEntity[field.backName] = '';\r\n }\r\n }\r\n\r\n this.setState({ searchEntity: tempSearchEntity });\r\n }\r\n\r\n\r\n render() {\r\n\r\n let SearchFields;\r\n if (this.props.searchFields) {\r\n SearchFields = this.props.searchFields.map(\r\n (field) => {\r\n let items;\r\n switch (field.type) {\r\n case 'text':\r\n return (\r\n this.ChangeEntityState('searchEntity', field.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'select':\r\n if (field.label === 'Management') {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(management => management.branchId === this.state.searchEntity[this.props.searchFields.find(field => field.label === 'Branch').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else if (field.label === 'Department') {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(department => department.administrationId === this.state.searchEntity[this.props.searchFields.find(field => field.label === 'Management').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n }\r\n return (\r\n item.value === this.state.searchEntity[field.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('searchEntity', field.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n default:\r\n return (\r\n this.ChangeEntityState('searchEntity', field.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n }\r\n }\r\n );\r\n }\r\n let TableHeaders;\r\n let TableData;\r\n if (this.props.action === 'search') {\r\n let me = this;\r\n let tableRawData = this.state.data;\r\n for (let prop in this.state.searchEntity) {\r\n if (this.state.searchEntity[prop]) {\r\n tableRawData = tableRawData.filter(row => {\r\n if (row[prop] !== null) {\r\n return row[prop].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n\r\n } else {\r\n return ''.toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n }\r\n });\r\n }\r\n }\r\n\r\n tableRawData = tableRawData.map((row) => {\r\n let tablerow = {};\r\n for (let column of this.props.columns) {\r\n tablerow[column['backName']] = row[column['backName']];\r\n }\r\n\r\n return tablerow;\r\n });\r\n\r\n if (tableRawData.length !== this.state.rowsTotal) {\r\n this.setState({ rowsTotal: tableRawData.length })\r\n }\r\n\r\n TableHeaders = this.props.columns.map((column) =>
);\r\n let rawDataIds = me.state.data.filter((data) => {\r\n for (let raw of tableRawData) {\r\n if (data[me.props.columns[0]['backName']] === raw[Object.keys(raw)[0]]) {\r\n return true;\r\n } else {\r\n continue;\r\n }\r\n }\r\n return false\r\n });\r\n TableHeaders.unshift(\r\n )\r\n TableData = tableRawData\r\n .slice(((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage))\r\n .map(\r\n function (row, rowIndex) {\r\n return (\r\n \r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) =>\r\n me.props.columns[columnIndex]['link'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['boolean'] ?\r\n \r\n\r\n :\r\n me.props.columns[columnIndex]['enum'] ?\r\n \r\n :\r\n )\r\n }\r\n \r\n )\r\n }\r\n );\r\n }\r\n else if (this.props.action === 'display') {\r\n let me = this;\r\n let tableRawData = this.state.data;\r\n\r\n tableRawData = tableRawData.map((row) => {\r\n let tablerow = {};\r\n for (let column of this.props.columns) {\r\n tablerow[column['backName']] = row[column['backName']];\r\n }\r\n\r\n return tablerow;\r\n });\r\n\r\n TableHeaders = this.props.columns.map((column) => );\r\n let rawDataIds = me.state.data.filter((data) => {\r\n for (let raw of tableRawData) {\r\n if (data[me.props.columns[0]['backName']] === raw[Object.keys(raw)[0]]) {\r\n return true;\r\n } else {\r\n continue;\r\n }\r\n }\r\n return false\r\n });\r\n\r\n TableData = tableRawData\r\n .map(\r\n function (row, rowIndex) {\r\n return (\r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) =>\r\n me.props.columns[columnIndex]['link'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['boolean'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['enum'] ?\r\n \r\n :\r\n )\r\n }\r\n \r\n )\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n return (\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
{this.props.removeModalTitleName ? \" \" : this.props.action} {this.props.title ? this.props.title : null}
{/* Add, Edit, Delete, ....... */}\r\n this.props.hideModal(this.props.action)}\r\n >\r\n x\r\n \r\n
\r\n
\r\n
\r\n {\r\n this.props.errors ?\r\n this.props.errors.length > 0 ?\r\n (\r\n \r\n
    \r\n {this.props.errors.map((error) =>
  • {error}
  • )}\r\n
\r\n \r\n )\r\n :\r\n null\r\n :\r\n null\r\n }\r\n {\r\n this.props.action === 'delete' ?\r\n this.props.deleteMessage\r\n :\r\n this.props.action === 'search' ?\r\n \r\n
\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n {\r\n SearchFields ?\r\n this.Clear()}\r\n />\r\n :\r\n null\r\n }\r\n {\r\n value = value > 1 ? value : 1;\r\n this.ChangeState(name, value);\r\n this.setState({ currentPage: 1 });\r\n }}\r\n total={this.state.rowsTotal}\r\n currentPage={this.state.currentPage}\r\n currentPageChange={(value) => this.setState({ currentPage: Number(value) })}\r\n />\r\n
{column['name']}\r\n {me.props.parent.state.createEntity ?\r\n me.props.parent.state.createEntity[me.props.backName].some((item) => item === value.id))}\r\n backName={me.props.backName}\r\n onChange={(name, value) => {\r\n let tempEntity = me.props.parent.state.createEntity;\r\n if (value) {\r\n tempEntity[me.props.backName] = rawDataIds.map((data) => data.id);\r\n me.props.parent.setState({ createEntity: tempEntity })\r\n } else {\r\n tempEntity[me.props.backName] = [];\r\n me.props.parent.setState({ createEntity: tempEntity })\r\n }\r\n }}\r\n /> :\r\n me.props.parent.state.actionEntity[me.props.backName].some((item) => item === value.id))}\r\n backName={me.props.backName}\r\n onChange={(name, value) => {\r\n let tempEntity = me.props.parent.state.actionEntity;\r\n if (value) {\r\n tempEntity[me.props.backName] = rawDataIds.map((data) => data.id);\r\n me.props.parent.setState({ actionEntity: tempEntity })\r\n } else {\r\n tempEntity[me.props.backName] = [];\r\n me.props.parent.setState({ actionEntity: tempEntity })\r\n }\r\n }}\r\n />\r\n }\r\n
\r\n {me.props.parent.state.createEntity ?\r\n \r\n value === me.state.data.find(item => item[me.props.columns[0]['backName']] === row[Object.keys(row)[0]]).id)}\r\n backName={me.state.data.find(item => item[me.props.columns[0]['backName']] === row[Object.keys(row)[0]]).id}\r\n onChange={(name, value) => {\r\n let tempEntity = me.props.parent.state.createEntity;\r\n if (value) {\r\n tempEntity[me.props.backName].push(name);\r\n me.props.parent.setState({ createEntity: tempEntity })\r\n } else {\r\n tempEntity[me.props.backName] = tempEntity[me.props.backName].filter((value) => value !== name);\r\n me.props.parent.setState({ createEntity: tempEntity })\r\n }\r\n }} />\r\n :\r\n \r\n value === me.state.data.find(item => item[me.props.columns[0]['backName']] === row[Object.keys(row)[0]]).id)}\r\n backName={me.state.data.find(item => item[me.props.columns[0]['backName']] === row[Object.keys(row)[0]]).id}\r\n onChange={(name, value) => {\r\n let tempEntity = me.props.parent.state.actionEntity;\r\n if (value) {\r\n tempEntity[me.props.backName].push(name);\r\n me.props.parent.setState({ actionEntity: tempEntity })\r\n } else {\r\n tempEntity[me.props.backName] = tempEntity[me.props.backName].filter((value) => value !== name);\r\n me.props.parent.setState({ actionEntity: tempEntity })\r\n }\r\n }} />\r\n }\r\n \r\n me.state.data[rowIndex][value]).join('/')}>\r\n {\r\n me.props.columns[columnIndex]['link']['icon'] ?\r\n me.props.columns[columnIndex]['link']['icon']\r\n :\r\n me.props.columns[columnIndex]['link']['text'] ?\r\n me.props.columns[columnIndex]['link']['text']\r\n :\r\n row[columnName]\r\n }\r\n \r\n \r\n {row[columnName] ? Yes : No}\r\n \r\n {me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display']}\r\n \r\n {row[columnName]}\r\n
{column['name']}
\r\n me.state.data[rowIndex][value]).join('/')}>\r\n {\r\n me.props.columns[columnIndex]['link']['icon'] ?\r\n me.props.columns[columnIndex]['link']['icon']\r\n :\r\n me.props.columns[columnIndex]['link']['text'] ?\r\n me.props.columns[columnIndex]['link']['text']\r\n :\r\n row[columnName]\r\n }\r\n \r\n \r\n {row[columnName] ? Yes : No}\r\n \r\n {me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display']}\r\n \r\n {row[columnName]}\r\n
\r\n \r\n :\r\n this.props.action === 'display' ?\r\n this.props.modalMessage ?\r\n \r\n

{this.props.modalMessage}

\r\n
\r\n\r\n :\r\n \r\n
\r\n \r\n\r\n :\r\n this.props.EntityProperties\r\n\r\n }\r\n \r\n \r\n {\r\n this.props.action === 'search' ?\r\n
\r\n this.props.fetch()}\r\n >\r\n Add Selected\r\n \r\n\r\n {/* this.Clear()}\r\n >\r\n Clear\r\n */}\r\n\r\n {\r\n this.Clear();\r\n this.props.hideModal(this.props.action);\r\n }}\r\n >\r\n CANCEL\r\n \r\n
\r\n :\r\n this.props.action === 'display' ?\r\n
\r\n\r\n this.props.hideModal(this.props.action)}\r\n >\r\n CANCEL\r\n \r\n
\r\n :\r\n
\r\n {this.props.updateAll ?\r\n {\r\n this.props.updateAll();\r\n $(\".Modal--container .MainLayout--container\").scrollTop(0);\r\n if ($(\".Alert\").hasClass('d-none')) {\r\n $(\".Alert\").removeClass('d-none');\r\n }\r\n }}\r\n >\r\n Repeat on all Days\r\n \r\n : null}\r\n\r\n {\r\n this.props.fetch();\r\n $(\".Modal--container .MainLayout--container\").scrollTop(0);\r\n if ($(\".Alert\").hasClass('d-none')) {\r\n $(\".Alert\").removeClass('d-none');\r\n }\r\n }}\r\n >\r\n {this.props.action}\r\n \r\n\r\n this.props.hideModal(this.props.action)}\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\nexport default Modal;","import React, { I18nManager } from 'react';\r\nimport './DashBoard.css';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faAngleDoubleLeft,\r\n faAngleDoubleRight,\r\n faDotCircle, faGlobe\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport Moment from 'react-moment';\r\n// import StackedColumnChart from '../../column-charts/Stacked Column Chart';\r\n// import StackedColumnChartAr from '../../column-charts/Stacked Column ChartAr';\r\nimport $ from 'jquery';\r\nimport avatar from '../../avatar.png';\r\nimport { ip } from './../../data/APIs';\r\nimport Cookie from \"js-cookie\";\r\nimport Overlay from '../Overlay/Overlay';\r\nimport ModalAr from './../ModalAr/ModalAr';\r\nimport Modal from './../Modal/Modal';\r\nimport Chart from \"react-google-charts\";\r\nimport Loading from '../Loading/Loading';\r\n\r\nfunction upLayer() {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n mainLayout.style.zIndex = \"\";\r\n}\r\n\r\nfunction downLayer() {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n mainLayout.style.zIndex = \"-1\";\r\n}\r\nlet sourceCode;\r\n\r\nclass DashBoard extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n delay: '',\r\n absence: '',\r\n attendance: '',\r\n vacations: '',\r\n display: false,\r\n modalData: [],\r\n modalColumns: [],\r\n modalTitle: '',\r\n today: '',\r\n chartabsence: '',\r\n TodayTransactions: [],\r\n todayAr: ' ',\r\n totalsData: '',\r\n chartData: [],\r\n loading: false,\r\n modalMessage: '',\r\n modalAction: 'display'\r\n }\r\n // let newDate = new Date();\r\n // let date = newDate.toLocaleDateString('ar-EG-u-nu-latn',{weekday: 'long', year: 'numeric', month: 'short', day: 'numeric'});\r\n // this.setState({todayAr : date})\r\n\r\n }\r\n\r\n showModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n // sideNav.style.overflow = \"visible\";\r\n mainLayout.style.overflow = \"visible\";\r\n }\r\n\r\n hideModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n // this.setState({modalData:[]});\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n // sideNav.style.overflow = \"auto\";\r\n // mainLayout.style.overflow = \"auto\";\r\n\r\n // return the Modal elements to the default State\r\n if (modalName === 'add') {\r\n const entity = this.state.createEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n if (field.label === 'نشط') {\r\n entity[field.backName] = true;\r\n } else {\r\n entity[field.backName] = false;\r\n }\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n if (field.type === 'exceptions') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = false;\r\n }\r\n }\r\n if (field.type === 'selectShift') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n if (field.type === 'permissionType') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n }\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'search') {\r\n const entity = this.state.createEntity;\r\n entity[this.props.modalBackName] = [];\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'edit') {\r\n const entity = this.state.updateEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n entity[field.backName] = true;\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n }\r\n this.setState({ updateEntity: entity, updateErrors: [] })\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const signalR = require(\"@microsoft/signalr\");\r\n let me = this;\r\n this.connection = new signalR.HubConnectionBuilder().withUrl(ip + \"/TransactionsHub\").build();\r\n\r\n this.connection.on(\"ReceiveTransaction\", function (transaction) {\r\n\r\n let lang;\r\n if (window.location.hash.indexOf(\"/Ar/\") !== -1) {\r\n lang = 0;\r\n } else {\r\n lang = 1;\r\n }\r\n transaction.employeeName = transaction.employeeName[lang];\r\n transaction.branchName = transaction.branchName[lang];\r\n transaction.shiftName = transaction.shiftName[lang];\r\n let temp = me.state.TodayTransactions.slice();\r\n temp.unshift(transaction);\r\n me.setState({ TodayTransactions: temp })\r\n });\r\n\r\n this.connection.on(\"Log\", function (message) {\r\n console.log(message);\r\n });\r\n\r\n this.connection.start().then(function () {\r\n me.connection.invoke(\"AddToGroup\", Cookie.get('companyName')).catch(function (err) {\r\n return console.error(err.toString());\r\n });\r\n console.log(\"Connection Started\")\r\n }).catch(function (err) {\r\n return console.error(err.toString());\r\n });\r\n let token = Cookie.get('token');\r\n const moment = require('moment');\r\n let today = moment().format(\"YYYY-MM-DD\");\r\n fetch(ip + '/api/MovedTransaction/EmployeeCountsDashBoard', {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'lang': this.props.lang,\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n this.setState({ totalsData: data.data[0] })\r\n } else {\r\n console.error(data);\r\n\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n\r\n this.EmployeeChartCountsDashBoard();\r\n fetch(ip + '/api/MovedTransaction/GetAllMachineTransactionsDashBoard', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'lang': this.props.lang,\r\n 'Authorization': `Bearer ${token}`,\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n \"search\": {\r\n \"date\": today,\r\n \"branchIds\": [\r\n ],\r\n \"employeeIds\": [\r\n ],\r\n \"employeeName\": \"\"\r\n }\r\n })\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n this.setState({ TodayTransactions: data.data })\r\n } else {\r\n // console.log(\"111\")\r\n\r\n console.error(data);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n\r\n }\r\n //Chart data \r\n EmployeeChartCountsDashBoard() {\r\n\r\n let token = Cookie.get('token');\r\n fetch(ip + '/api/MovedTransaction/EmployeeChartCountsDashBoard', {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'lang': this.props.lang,\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n this.setState({ chartData: data.data })\r\n console.log(\"Chart data \", this.state.chartData)\r\n\r\n } else {\r\n console.error(data);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n\r\n\r\n // totals modal data \r\n GetLateEmployeesData() {\r\n\r\n if (this.state.totalsData?.lateTimeCount != 0) {\r\n let token = Cookie.get('token');\r\n const moment = require('moment');\r\n let today = moment().format(\"YYYY-MM-DD\");\r\n this.setState({ loading: true });\r\n\r\n fetch(ip + '/api/MovedTransaction/GetLateEmployeesData', {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'lang': this.props.lang,\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n })\r\n\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n this.setState({ delay: data.data[0] })\r\n this.setState({ loading: false });\r\n if (this.props.lang == 'en') {\r\n this.setState({\r\n display: true, modalAction: \"display\",modalMessage:null, modalData: this.state.delay?.data, modalTitle: 'Late', modalColumns: [\r\n { name: 'Code', backName: 'employeeCode' },\r\n { name: 'Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Shift', backName: 'shiftName' },\r\n { name: 'Late time ', backName: 'lateTime' },\r\n { name: 'Date', backName: 'date' },\r\n ]\r\n })\r\n }\r\n else {\r\n this.setState({\r\n display: true, modalAction: \"display\",modalMessage:null, modalData: this.state.delay?.data, modalTitle: 'التأخير', modalColumns: [\r\n { name: 'الكود', backName: 'employeeCode' },\r\n { name: 'الإسم', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'مدة التأخير', backName: 'lateTime' },\r\n { name: 'التاريخ', backName: 'date' },\r\n ]\r\n })\r\n }\r\n\r\n } else {\r\n console.error(data);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n\r\n\r\n }\r\n else {\r\n this.setState({\r\n display: true, modalMessage: this.props.lang == 'ar' ?\"لا توجد بيانات\" :\"No data\"\r\n })\r\n }\r\n\r\n }\r\n GetAttendanceDashBoardData() {\r\n if (this.state.totalsData?.attendanceTimeCount != 0) {\r\n let token = Cookie.get('token');\r\n const moment = require('moment');\r\n let today = moment().format(\"YYYY-MM-DD\");\r\n this.setState({ loading: true });\r\n fetch(ip + '/api/MovedTransaction/GetAttendanceDashBoardData?from=' + today + '&to=' + today, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'lang': this.props.lang,\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n this.setState({ attendance: data.data[0] })\r\n this.setState({ loading: false });\r\n\r\n if (this.props.lang == 'ar') {\r\n this.setState({\r\n display: true, modalAction: \"display\",modalMessage:null, modalData: this.state.attendance?.data, modalTitle: 'الحضور', modalColumns: [\r\n { name: 'الكود', backName: 'employeeCode' },\r\n { name: 'الإسم', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'التاريخ', backName: 'date' },\r\n ]\r\n })\r\n }\r\n else {\r\n this.setState({\r\n display: true, modalAction: \"display\",modalMessage:null, modalData: this.state.attendance?.data, modalTitle: 'Attendance', modalColumns: [\r\n { name: 'Code', backName: 'employeeCode' },\r\n { name: 'Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Shift', backName: 'shiftName' },\r\n { name: 'Date', backName: 'date' },\r\n ]\r\n })\r\n }\r\n } else {\r\n console.error(data);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n else {\r\n this.setState({\r\n display: true, modalMessage: this.props.lang == 'ar' ?\"لا توجد بيانات\" :\"No data\"\r\n })\r\n }\r\n }\r\n GetVacationsDashBoardData() {\r\n if (this.state.totalsData?.vAcationTimeCount != 0) {\r\n let token = Cookie.get('token');\r\n const moment = require('moment');\r\n this.setState({ loading: true });\r\n\r\n fetch(ip + '/api/MovedTransaction/GetVacationsDashBoardData', {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'lang': this.props.lang,\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n this.setState({ vacations: data.data[0] })\r\n this.setState({ loading: false });\r\n\r\n if (this.props.lang == 'ar') {\r\n this.setState({\r\n display: true, modalAction: \"display\",modalMessage:null, modalData: this.state.vacations?.data, modalTitle: 'الاجازات', modalColumns: [\r\n { name: 'الكود', backName: 'employeeCode' },\r\n { name: 'الإسم', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'التاريخ', backName: 'date' },\r\n ]\r\n })\r\n }\r\n else {\r\n this.setState({\r\n display: true, modalAction: \"display\",modalMessage:null, modalData: this.state.vacations?.data, modalTitle: 'vacations', modalColumns: [\r\n { name: 'Code', backName: 'employeeCode' },\r\n { name: 'Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Shift', backName: 'shiftName' },\r\n { name: 'Date', backName: 'date' },\r\n ]\r\n })\r\n }\r\n\r\n\r\n } else {\r\n console.error(data);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n else {\r\n this.setState({\r\n display: true, modalMessage: this.props.lang == 'ar' ?\"لا توجد بيانات\" :\"No data\"\r\n })\r\n }\r\n }\r\n GetAbsentEmployeesData() {\r\n if (this.state.totalsData?.absentTimeCount != 0) {\r\n let token = Cookie.get('token');\r\n const moment = require('moment');\r\n this.setState({ loading: true });\r\n\r\n fetch(ip + '/api/MovedTransaction/GetAbsentEmployeesData',\r\n // ?from=' + today + '&to=' + today, \r\n {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'lang': this.props.lang,\r\n 'Authorization': `Bearer ${token}`\r\n }\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n this.setState({ absence: data.data[0] })\r\n this.setState({ loading: false });\r\n\r\n if (this.props.lang == 'ar') {\r\n this.setState({\r\n display: true, modalAction: \"display\",modalMessage:null, modalData: this.state.absence?.data, modalTitle: 'الغياب', modalColumns: [\r\n { name: 'الكود', backName: 'employeeCode' },\r\n { name: 'الإسم', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'التاريخ', backName: 'date' },\r\n ]\r\n })\r\n }\r\n else {\r\n this.setState({\r\n display: true, modalAction: \"display\",modalMessage:null, modalData: this.state.absence?.data, modalTitle: 'Abcence', modalColumns: [\r\n { name: 'Code', backName: 'employeeCode' },\r\n { name: 'Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Shift name', backName: 'shiftName' },\r\n { name: 'Date', backName: 'date' },\r\n ]\r\n })\r\n }\r\n\r\n\r\n } else {\r\n console.error(data);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n else {\r\n this.setState({\r\n display: true, modalMessage: this.props.lang == 'ar' ?\"لا توجد بيانات\" :\"No data\"\r\n })\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n // this.connection.invoke(\"RemoveFromGroup\", Cookie.get('companyName')).catch(function (err) {\r\n // return console.error(err.toString());\r\n // });\r\n\r\n this.connection.stop().then(function () {\r\n // document.getElementById(\"sendButton\").disabled = false;\r\n console.log(\"Connection Stopped\")\r\n }).catch(function (err) {\r\n return console.error(err.toString());\r\n });\r\n }\r\n\r\n getPeriodCount(array) {\r\n const moment = require('moment');\r\n let myData = [];\r\n if (this.props.lang === 'ar') {\r\n myData = [['اليوم',\r\n 'غياب ',\r\n 'تأخير',\r\n 'إنصراف مبكر']];\r\n }\r\n else {\r\n myData = [['Day',\r\n 'Abcent ',\r\n 'Late',\r\n ' Early leave']];\r\n }\r\n for (let i = 0; i < array.length; i++) {\r\n let label = array[i].date;\r\n let y1 = array[i].absentTimeCount;\r\n let y2 = array[i].lateTimeCount;\r\n let y3 = array[i].earlyLeaveTimeCount;\r\n myData.push([label, y1, y2, y3]);\r\n }\r\n return myData;\r\n }\r\n\r\n\r\n render() {\r\n\r\n if (document.querySelector(\"#lists\")) {\r\n const lists = document.querySelector(\"#lists\");\r\n lists.addEventListener(\"mouseenter\", () => { downLayer(); });\r\n lists.addEventListener(\"mouseleave\", () => { upLayer(); });\r\n }\r\n if (this.props.lang == 'ar') {\r\n require('moment/locale/ar-dz');\r\n }\r\n else {\r\n require('moment/locale/en-au');\r\n }\r\n let data = []\r\n if (this.state.chartData) {\r\n data = this.getPeriodCount(this.state.chartData);\r\n }\r\n if (this.props.lang === 'en') {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n this.hideModal(name)}\r\n />\r\n \r\n {/* {props.children} */}\r\n
\r\n
\r\n
\r\n

Welcome

\r\n \r\n

Administrator

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.totalsData?.lateTimeCount}\r\n
\r\n
Today Late
\r\n
\r\n this.GetLateEmployeesData()}>More\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.totalsData?.absentTimeCount}\r\n
\r\n
Month Absent
\r\n
\r\n this.GetAbsentEmployeesData()}> More\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.totalsData?.attendanceTimeCount}\r\n
\r\n
Attendance Percentage
\r\n
\r\n this.GetAttendanceDashBoardData()}> More\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.totalsData?.vAcationTimeCount}\r\n
\r\n
Month Late
\r\n
\r\n this.GetVacationsDashBoardData()}> More\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
Day Transactions ,
\r\n \r\n \r\n {\r\n $('.larger').addClass('d-none');\r\n $('.smaller').removeClass('d-none');\r\n $('#table').addClass('col-md-12');\r\n $('#chartAr').addClass('col-md-12');\r\n $('#chartAr').addClass('mt-3');\r\n }}>\r\n \r\n \r\n {\r\n $('.larger').removeClass('d-none');\r\n $('.smaller').addClass('d-none');\r\n $('#table').removeClass('col-md-12');\r\n $('#chart').removeClass('col-md-12');\r\n $('#chart').removeClass('mt-3');\r\n }}>\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n {this.state.TodayTransactions.length !== 0 ?\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {this.state.TodayTransactions.map((row) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
Photo CodeNameTransaction Branch
{row.employeeCode} {row.employeeName} {row.date}{row.branchName}
\r\n
\r\n :\r\n

Thair is no Transactions Today

\r\n }\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Last 10 days
\r\n\r\n
\r\n
\r\n
\r\n\r\n {data.length > 2 ?\r\n Loading Chart
}\r\n data={data}\r\n options={{\r\n chartArea: { width: '80%' },\r\n legend: \"top\",\r\n hAxis: {\r\n title: 'Tootal ',\r\n minValue: 0,\r\n\r\n },\r\n vAxis: {\r\n title: 'Days',\r\n },\r\n colors: ['#e7505a', '#3598dc', '#8E44AD']\r\n }}\r\n legendToggle\r\n />\r\n :\r\n null\r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n );\r\n }\r\n else if (this.props.lang === 'ar') {\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n {/* {props.children} */}\r\n \r\n this.hideModal(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 {this.state.totalsData?.lateTimeCount}\r\n
\r\n
التأخير
\r\n
\r\n \r\n this.GetLateEmployeesData()}> المزيد\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.totalsData?.absentTimeCount}\r\n
\r\n
الغياب
\r\n
\r\n \r\n this.GetAbsentEmployeesData()\r\n }> المزيد\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.totalsData?.attendanceTimeCount}\r\n
\r\n
الحضور
\r\n
\r\n this.GetAttendanceDashBoardData()}> المزيد\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.totalsData?.vAcationTimeCount}\r\n
\r\n
الأجازات
\r\n
\r\n this.GetVacationsDashBoardData()}> المزيد\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
حركات يوم ,
\r\n\r\n \r\n \r\n {\r\n $('.largerAr').addClass('d-none');\r\n $('.smallerAr').removeClass('d-none');\r\n $('#tableAr').addClass('col-md-12');\r\n $('#chartAr').addClass('col-md-12');\r\n $('#chartAr').addClass('mt-3');\r\n }}>\r\n \r\n \r\n {\r\n $('.largerAr').removeClass('d-none');\r\n $('.smallerAr').addClass('d-none');\r\n $('#tableAr').removeClass('col-md-12');\r\n $('#chartAr').removeClass('col-md-12');\r\n $('#chartAr').removeClass('mt-3');\r\n }}>\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n {this.state.TodayTransactions.length !== 0 ?\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {this.state.TodayTransactions.map((row) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
الصورة كود الموظفالاسمالحركة الفرع
{row.employeeCode} {row.employeeName} {row.date}{row.branchName}
\r\n
\r\n :\r\n

لا توجد حركات اليوم

\r\n }\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
حركات آخر 10 ايام
\r\n
\r\n
\r\n
\r\n\r\n {/* */}\r\n {data.length > 2 ?\r\n Loading Chart
}\r\n data={data}\r\n options={{\r\n chartArea: { width: '80%' },\r\n legend: \"top\",\r\n hAxis: {\r\n title: 'الاجمالي ',\r\n minValue: 0,\r\n },\r\n vAxis: {\r\n title: 'الابام',\r\n },\r\n colors: ['#e7505a', '#3598dc', '#8E44AD']\r\n }}\r\n legendToggle\r\n />\r\n :\r\n null\r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default DashBoard;","import React from 'react'\r\nimport './PageHeader.css';\r\nimport Button from './../Button/Button';\r\nimport { PDFDownloadLink, Document, Page } from '@react-pdf/renderer';\r\nimport { Link } from 'react-router-dom';\r\nimport { Dropdown } from 'react-bootstrap';\r\nimport axios from 'axios';\r\nimport ReactHTMLTableToExcel from 'react-html-table-to-excel';\r\nimport ReactExport from \"react-data-export\";\r\n\r\nclass PageHeader extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n excelHeader: props.excelHeader ? props.excelHeader : []\r\n }\r\n }\r\n\r\n render() {\r\n //For Print Excel Button\r\n const ExcelFile = ReactExport.ExcelFile;\r\n const ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\n let multiDataSet = [];\r\n if (this.props.excel) {\r\n this.props.excelHeader.push({ backName: \"\", name: \" \" })\r\n if (this.props.singleTable && !this.props.colored) {\r\n let columns = this.props.excelHeader.map((h, i) => {\r\n return {\r\n title: h.name,\r\n width: { wch: h.backName == 'employeeCode' ? 10 : 30 },\r\n\r\n style: i == this.props.excelHeader.length - 1 ?\r\n { alignment: { wrapText: false, readingOrder: 2 } }\r\n :\r\n { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n\r\n }\r\n });\r\n\r\n multiDataSet = [\r\n {\r\n xSteps: 1, // Will start putting cell with 1 empty cell on left most\r\n ySteps: 5, //will put space of 5 rows,\r\n columns: columns,\r\n data: this.props.excelData.map((d, inx) => {\r\n let row = this.props.excelHeader.map((col, i) => {\r\n if (i != this.props.excelHeader.length - 1)\r\n return {\r\n value: d[col.backName] ? d[col.backName] : '',\r\n style:\r\n inx % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n }\r\n });\r\n return row;\r\n })\r\n }\r\n ];\r\n } else if (this.props.overtime) {\r\n if (this.props.excelData.length > 0) {\r\n for (let x = 0; x < this.props.excelData.length; x++) {\r\n let header1 = [], header2 = [];\r\n for (let j = 0; j < this.props.excelData[x].data.length; j++) {\r\n header1 = []; header2 = [];\r\n header1.push(\r\n {\r\n title: 'Employee code', width: { wch: 10 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n }\r\n )\r\n header1.push(\r\n {\r\n title: 'Employee name', width: { wch: 40 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n }\r\n )\r\n header2.push(\r\n { value: '' }\r\n )\r\n header2.push(\r\n { value: '' }\r\n )\r\n for (let i = 0; i < this.props.excelData[x].data[j].data.length; i++) {\r\n header1.push(\r\n {\r\n title: this.props.excelData[x].data[j].data[i].date.toString(), width: { wch: 10 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n }\r\n )\r\n header2.push(\r\n { value: this.props.excelData[x].data[j].data[i].day.toString() }\r\n )\r\n }\r\n }\r\n header1.push(\r\n {\r\n title: 'Total hours', width: { wch: 20 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n }\r\n )\r\n header2.push(\r\n { value: '' }\r\n )\r\n\r\n let OverTableData = [];\r\n // creating table data\r\n let outCounter = 0;\r\n for (const raw of this.props.excelData[x].data) {\r\n outCounter += 1;\r\n let row = [];\r\n let counter = 0;\r\n for (const column of this.props.excelHeader) {\r\n counter += 1;\r\n if (column.backName == 'date') {\r\n for (const col of raw.data) {\r\n row.push({\r\n value: col.extraMinutes ? col.extraMinutes.toString() : '0',\r\n style:\r\n outCounter % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n\r\n }\r\n );\r\n }\r\n } else {\r\n if (counter != this.props.excelHeader.length - 1) {\r\n row.push({\r\n value: raw[column.backName] ? raw[column.backName].toString() : ' ',\r\n style:\r\n outCounter % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n });\r\n }\r\n }\r\n }\r\n OverTableData.push(row);\r\n }\r\n let pretable = [];\r\n for (const pre of this.props.preTableFields) {\r\n pretable.push({ title: pre.name, width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[x][pre.backName] ? this.props.excelData[x][pre.backName].toString() : '', width: { wch: 10 } })\r\n }\r\n\r\n if (this.props.period) {\r\n pretable.push({ title: \"Period from:\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[x].from ? this.props.excelData[x].from.toString() : '', width: { wch: 10 } })\r\n pretable.push({ title: \"to:\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[x].to ? this.props.excelData[x].to.toString() : '', width: { wch: 10 } })\r\n }\r\n\r\n OverTableData.unshift(header2);\r\n\r\n multiDataSet.push({\r\n ySteps: 5,\r\n columns: pretable,\r\n data: [],\r\n\r\n });\r\n multiDataSet.push({\r\n ySteps: 1,\r\n columns: header1,\r\n data: OverTableData,\r\n\r\n });\r\n }\r\n\r\n }\r\n } else if (this.props.colored) {\r\n if (this.props.excelData.length > 0) {\r\n let coloredHeaders = [];\r\n if (this.props.colored) {\r\n coloredHeaders.push({\r\n title: 'Employee code', width: { wch: 10 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n })\r\n coloredHeaders.push({\r\n title: 'Employee name', width: { wch: 40 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n })\r\n for (let x = 0; x < this.props.excelData[0].data.length; x++) {\r\n coloredHeaders.push({\r\n title: this.props.excelData[0].data[x].date ? this.props.excelData[0].data[x].date.toString() : '',\r\n width: { wch: 10 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n })\r\n }\r\n coloredHeaders.push({\r\n title: 'working days', width: { wch: 20 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n })\r\n\r\n }\r\n\r\n let coloredTableData = [];\r\n coloredTableData = this.props.excelData.map((raw, inx) => {\r\n let arr = [];\r\n for (const column of this.props.excelHeader) {\r\n let counter = 0;\r\n if (column.backName == 'data') {\r\n for (const col of raw.data) {\r\n arr.push({\r\n value: col.timeIn ? col.timeIn.toString() : '0',\r\n style:\r\n inx % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n });\r\n }\r\n } else {\r\n if (counter != this.props.excelHeader.length - 1) {\r\n arr.push({\r\n value: raw[column.backName] ? raw[column.backName].toString() : ' ',\r\n style:\r\n inx % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n });\r\n }\r\n }\r\n }\r\n return arr;\r\n })\r\n\r\n let pretable = [];\r\n\r\n if (this.props.period) {\r\n pretable.push({ title: \"Period from:\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[0].from ? this.props.excelData[0].from.toString() : '', width: { wch: 10 } })\r\n pretable.push({ title: \"to:\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[0].to ? this.props.excelData[0].to.toString() : '', width: { wch: 10 } })\r\n }\r\n\r\n multiDataSet.push({\r\n ySteps: 5,\r\n columns: pretable,\r\n data: [],\r\n\r\n });\r\n multiDataSet.push({\r\n ySteps: 1,\r\n columns: coloredHeaders,\r\n data: coloredTableData,\r\n\r\n });\r\n\r\n }\r\n } else {\r\n if (this.props.excelData) {\r\n for (const data of this.props.excelData) {\r\n let columns = this.props.excelHeader.map((h, i) => {\r\n return {\r\n title: h.name,\r\n width: { wch: h.backName == 'employeeCode' ? 10 : 30 },\r\n\r\n style: i == this.props.excelHeader.length - 1 ?\r\n { alignment: { wrapText: false, readingOrder: 2 } }\r\n :\r\n { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n\r\n }\r\n });\r\n\r\n let body = data.data.map((d, inx) => {\r\n let row = this.props.excelHeader?.map((col, i) => {\r\n if (i != this.props.excelHeader.length - 1)\r\n return {\r\n value: d[col.backName] ? d[col.backName] : '',\r\n style:\r\n inx % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n }\r\n });\r\n return row;\r\n });\r\n\r\n let pretable = [];\r\n if (this.props.preTableFields) {\r\n for (const pre of this.props.preTableFields) {\r\n pretable.push({ title: pre.name, width: { wch: 10 } })\r\n pretable.push({ title: data[pre.backName] ? data[pre.backName].toString() : '', width: { wch: 10 } })\r\n }\r\n }\r\n if (this.props.period) {\r\n pretable.push({ title: \"Period from:\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[0].from ? this.props.excelData[0].from.toString() : '', width: { wch: 10 } })\r\n pretable.push({ title: \"to :\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[0].to ? this.props.excelData[0].to.toString() : '', width: { wch: 10 } })\r\n\r\n }\r\n\r\n\r\n multiDataSet.push({\r\n xSteps: 1,\r\n ySteps: 5,\r\n columns: pretable,\r\n data: []\r\n });\r\n if (this.props.excelHeader && pretable) {\r\n if (this.props.excelHeader.length < pretable.length) {\r\n let loops = this.props.excelHeader.length / pretable.length\r\n for (let x = 1; x <= Math.round(loops); x++) {\r\n let pretable2 = []\r\n let index = (this.props.excelHeader.length - 1) * x\r\n for (let i = index; i < pretable.length; i++) {\r\n pretable2.push(pretable[i])\r\n }\r\n multiDataSet.push({\r\n xSteps: 1,\r\n ySteps: 1,\r\n columns: pretable2,\r\n data: []\r\n });\r\n }\r\n }\r\n }\r\n multiDataSet.push({\r\n xSteps: 1,\r\n ySteps: 1,\r\n columns: columns,\r\n data: body\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 {this.props.nobtn ?\r\n null\r\n :\r\n
\r\n {this.props.hideFilters && this.props.showFilters ?\r\n
\r\n \r\n \r\n Hide search\r\n \r\n \r\n \r\n Show search\r\n \r\n
\r\n :\r\n null\r\n }\r\n\r\n {\r\n this.props.report ?\r\n\r\n this.props.print ?\r\n \r\n \r\n export \r\n \r\n\r\n \r\n \r\n Excel}>\r\n \r\n \r\n\r\n\r\n \r\n \r\n this.props.printPDF()}\r\n\r\n >\r\n PDF\r\n \r\n \r\n \r\n :\r\n null\r\n :\r\n this.props.procedure ?\r\n this.props.Action()}\r\n btnClr={this.props.btnClr}\r\n >\r\n {this.props.btnTxt ? this.props.btnTxt : \"Button Name\"}\r\n \r\n :\r\n this.props.save ?\r\n this.props.Action()}\r\n >\r\n Save\r\n \r\n :\r\n this.props.noCreate ?\r\n null\r\n :\r\n this.props.routOut ?\r\n \r\n\r\n + Add {/* if you remove className=\"fa\" animation will not work, and I don't know why */}\r\n \r\n :\r\n this.props.showModal(this.props.useSearchModal ? 'search' : \"add\")}\r\n >\r\n + Add {/* if you remove className=\"fa\" animation will not work, and I don't know why */}\r\n \r\n }\r\n
}\r\n
\r\n
\r\n )\r\n }\r\n}\r\nexport default PageHeader;","import React from 'react';\r\nimport './Exceptions.css';\r\n\r\nclass Exceptions extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n activated: false\r\n }\r\n }\r\n\r\n timeOut;\r\n\r\n activateExceptions(value) {\r\n\r\n if (!value) { // To remove all checked values\r\n clearTimeout(this.timeOut);\r\n for (const backName of this.props.backNames) {\r\n this.props.onChange(backName, false)\r\n }\r\n } else {\r\n let me = this;\r\n if (this.props.values.every((value) => value === false)) {\r\n this.timeOut = setTimeout(() => me.setState({ activated: false }), 10000);\r\n }\r\n }\r\n this.setState({ activated: value });\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n\r\n if (props.values.some((value) => value === true)) {\r\n if (state.activated) {\r\n return null;\r\n } else {\r\n return { activated: true };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n render() {\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\nexport default Exceptions;\r\n","import React from 'react';\r\nimport './Exceptions.css';\r\nimport Field from '../Field/Field';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport { Popover } from 'reactstrap';\r\n\r\nclass ShiftEndNextDay extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n input: '',\r\n value: '',\r\n popoverOpen: false,\r\n popOverValue: ''\r\n }\r\n this.togglePopover = this.togglePopover.bind(this);\r\n\r\n }\r\n\r\n onInputChange(e) {\r\n this.setState({ input: e.currentTarget.value, value: e.currentTarget.value });\r\n }\r\n togglePopover() {\r\n this.setState({ popoverOpen: !this.state.popoverOpen })\r\n }\r\n\r\n activate(value) {\r\n if (!value) {\r\n this.props.onChange(this.props.backNames[1], '')\r\n }\r\n\r\n }\r\n\r\n render() {\r\n const { popoverOpen } = this.state;\r\n const { multi, placeholder, options, rtl, target, onChange, value, popover,titleSize } = this.props\r\n return (\r\n
\r\n {/*
\r\n ]}\r\n />\r\n {/* {\r\n this.props.onChange(this.props.backNames[0], e.currentTarget.checked);\r\n this.activate(e.currentTarget.checked);\r\n }} />\r\n {this.props.labels[0]} */}\r\n {/* */}\r\n {popover ?\r\n \r\n\r\n this.props.onChange(this.props.backNames[1], value)}\r\n />\r\n ]}\r\n />\r\n {/* {this.props.labels[1]}\r\n this.props.onChange(this.props.backNames[1], e.currentTarget.value)}\r\n /> */}\r\n \r\n :\r\n \r\n\r\n this.props.onChange(this.props.backNames[1], value)}\r\n />\r\n ]}\r\n />\r\n {/* {this.props.labels[1]}\r\n this.props.onChange(this.props.backNames[1], e.currentTarget.value)}\r\n /> */}\r\n \r\n }\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ShiftEndNextDay;\r\n","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './Exceptions.css';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Table from './../Table/Table';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Cookie from \"js-cookie\";\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Loading from '../Loading/Loading';\r\nimport Field from '../Field/Field';\r\nimport { ip } from './../../data/APIs';\r\n\r\nclass SelectShift extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n data: [],\r\n updated: false,\r\n prevValues: null\r\n }\r\n }\r\n\r\n Fetch(entity, token, operation, then) {\r\n fetch(ip + '/api/AskPermission/SearchPeriodShiftTimeForEmployee', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(entity)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n Read(entity) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(Cookie.get('token'));\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState(\r\n {\r\n data: response.data.data,\r\n loading: false,\r\n updated: true\r\n }\r\n );\r\n me.props.parent.setState({ shiftsData: response.data.data })\r\n } else {\r\n me.setState(\r\n {\r\n data: [],\r\n loading: false,\r\n updated: true\r\n }\r\n );\r\n console.error(response);\r\n }\r\n } else if (response.status === 501) {\r\n me.setState(\r\n {\r\n data: response.message,\r\n loading: false,\r\n updated: true\r\n }\r\n );\r\n me.props.onChange(me.props.backNames[2], 'open')\r\n console.error(response);\r\n } else {\r\n me.setState(\r\n {\r\n data: [],\r\n loading: false,\r\n updated: true\r\n }\r\n );\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n // Store prevValues in state so we can compare when props change. \r\n // Clear out previously-loaded data (so we don't render stale stuff).\r\n if (state.prevValues) {\r\n if (props.values[0] && props.values[1]) {\r\n if (props.values[0] !== state.prevValues[0] || props.values[1] !== state.prevValues[1]) {\r\n // if (props.values[2] != '') {\r\n // props.onChange(props.backNames[2], '')\r\n // }\r\n return { data: null, prevValues: props.values };\r\n }\r\n } else {\r\n if (props.values[2] != '') {\r\n props.onChange(props.backNames[2], '')\r\n }\r\n return { data: [], prevValues: props.values };\r\n }\r\n } else {\r\n return { data: null, prevValues: props.values };\r\n }\r\n // No state update necessary \r\n return null;\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.state.data === null && !this.state.loading) {\r\n let entity = {\r\n \"type\": 1,\r\n \"value\": this.props.values[0].toString(),\r\n \"selectedDate\": this.props.values[1]\r\n };\r\n this.Read(entity);\r\n }\r\n }\r\n\r\n render() {\r\n let tableRows = [];\r\n if (this.state.data) {\r\n if (Array.isArray(this.state.data)) {\r\n this.state.data.sort((a, b) => a.sequence - b.sequence);\r\n tableRows = this.state.data.map(row => \r\n \r\n {row.inTime ?\r\n this.props.onChange(this.props.backNames[2], row.periodShiftId)}\r\n width={50}\r\n height={25}\r\n />\r\n :\r\n }\r\n \r\n {row.sequence}\r\n {row.inTime}\r\n {row.outTime}\r\n );\r\n } else {\r\n tableRows = [\r\n \r\n {this.state.data}\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 style={'col-lg-12'}\r\n inputComponent={[\r\n item.value === this.props.values[0])}\r\n options={this.props.items}\r\n onChange={(value) => this.props.onChange(this.props.backNames[0], value)}\r\n />\r\n ]}\r\n />\r\n
\r\n
\r\n *, \":\"]}\r\n style={'col-lg-12'}\r\n inputComponent={[\r\n this.props.onChange(this.props.backNames[1], value)}\r\n />\r\n ]}\r\n />\r\n
\r\n ,\r\n Shift,\r\n Time in,\r\n Time out\r\n ]\r\n }\r\n data={tableRows}\r\n />\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default SelectShift;\r\n","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './Exceptions.css';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Field from '../Field/Field';\r\n\r\nclass PermissionTypes extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n type: ''\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (this.state.type !== prevState.type) {\r\n switch (this.state.type) {\r\n case 2:\r\n this.props.onChange(this.props.backNames[2], '')\r\n break;\r\n case 3:\r\n this.props.onChange(this.props.backNames[1], '')\r\n break;\r\n case 4:\r\n this.props.onChange(this.props.backNames[1], '')\r\n this.props.onChange(this.props.backNames[2], '')\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n *, \":\"]}\r\n inputComponent={[\r\n item.value === this.props.values[0])}\r\n options={this.props.items}\r\n onChange={(value) => {\r\n this.setState({ type: value });\r\n this.props.onChange(this.props.backNames[0], value);\r\n }}\r\n />\r\n ]}\r\n />\r\n {\r\n this.state.type === 1 || this.state.type === 2 ?\r\n
\r\n *, \":\"]}\r\n noFormCont={true}\r\n style=\"col-lg-12\"\r\n inputComponent={[\r\n this.props.onChange(this.props.backNames[1], value)}\r\n />\r\n ]}\r\n />\r\n
\r\n :\r\n null\r\n }\r\n {\r\n this.state.type === 1 || this.state.type === 3 ?\r\n
\r\n *, \":\"]}\r\n noFormCont={true}\r\n style=\"col-lg-12\"\r\n inputComponent={[\r\n this.props.onChange(this.props.backNames[2], value)}\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\nexport default PermissionTypes;\r\n","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './BasicPage.css';\r\nimport { Link } from \"react-router-dom\";\r\nimport Table from './../Table/Table';\r\nimport Cookie from \"js-cookie\";\r\nimport Modal from './../Modal/Modal';\r\nimport PageHeader from '../PageHeader/PageHeader';\r\nimport Filters, { hideFilters, showFilters } from '../Filters/Filters';\r\nimport TableFooter from '../TableFooter/TableFooter';\r\nimport Loading from '../Loading/Loading';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Exceptions from '../Exceptions/Exceptions';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport SelectShift from '../SelectShift/SelectShift';\r\nimport PermissionTypes from '../PermissionTypes/PermissionTypes';\r\nimport Field from '../Field/Field';\r\nimport Button from './../Button/Button';\r\n// import { upLayer, downLayer } from '../MainLayout/MainLayout';\r\n\r\n// To use testing local data instead of server data\r\nimport { testBranches } from './../../data/testData/Branches';\r\nimport Alert from './../Alert/Alert';\r\n\r\n\r\nclass BasicPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n\r\n let tempReadEntity = props.read.body;\r\n if (props.read.body && props.searchFields) {\r\n for (let field of props.searchFields) {\r\n if (field.backSearch) {\r\n tempReadEntity.search[field.backName] = '';\r\n }\r\n }\r\n }\r\n\r\n this.state = {\r\n createEntity: props.create.body,\r\n readEntity: props.read.body ? props.read.body : props.read.path,\r\n updateEntity: props.update.body,\r\n deleteEntity: props.delete.query ? props.delete.query : props.delete.body,\r\n createErrors: [],\r\n updateErrors: [],\r\n rowsNumber: 10,\r\n rowsTotal: 0,\r\n currentPage: 1,\r\n message: { text: '', style: '' },\r\n loading: false,\r\n add: false,\r\n edit: false,\r\n delete: false,\r\n search: false,\r\n data: [],\r\n modalUpdated: false,\r\n loadedPermissions: false,\r\n 'Device type': [\r\n {\r\n \"id\": 1,\r\n \"nameEn\": \"ZKTeco\",\r\n \"nameAr\": \"ZKTeco\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"nameEn\": \"Timmy TM-F630\",\r\n \"nameAr\": \"Timmy TM-F630\"\r\n }\r\n ]\r\n }\r\n // Get the Search Fields 'select elements' items from the Database when the page displayed for the first time\r\n if (props.searchFields) { // to prevent undefined error\r\n for (let field of props.searchFields) {\r\n if (field.type === 'select') {\r\n this.GetSelect(field.url, field.body, field.label);\r\n }\r\n }\r\n }\r\n\r\n // Get the Create & Update 'select elements' items from the Database when the page displayed for the first time\r\n for (let prop of props.createEntityProps) {\r\n // if the items already exist in the Search Field Don't Get it from the Database again\r\n if (prop.type === 'select' && props.searchFields.find(field => field.label === prop.label) === undefined) {\r\n this.GetSelect(prop.url, prop.body, prop.label);\r\n // selectShift Components don't have a Label\r\n } else if (prop.type === 'selectShift') {\r\n this.GetSelect(prop.url, prop.body, prop.label);\r\n }\r\n }\r\n }\r\n\r\n // Styling:\r\n // ========\r\n showModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n // sideNav.style.overflow = \"visible\";\r\n mainLayout.style.overflow = \"visible\";\r\n }\r\n\r\n hideModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n // sideNav.style.overflow = \"auto\";\r\n // mainLayout.style.overflow = \"auto\";\r\n\r\n // return the Modal elements to the default State\r\n if (modalName === 'add') {\r\n const entity = this.state.createEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n if (field.label === 'Active') {\r\n entity[field.backName] = true;\r\n } else {\r\n entity[field.backName] = false;\r\n }\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n if (field.type === 'exceptions') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = false;\r\n }\r\n }\r\n if (field.type === 'selectShift') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n if (field.type === 'permissionType') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n }\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'search') {\r\n const entity = this.state.createEntity;\r\n entity[this.props.modalBackName] = [];\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'edit') {\r\n const entity = this.state.updateEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n entity[field.backName] = true;\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n }\r\n this.setState({ updateEntity: entity, updateErrors: [] })\r\n }\r\n }\r\n // ========\r\n\r\n componentDidMount() {\r\n if (this.props.permissions !== null) {\r\n this.Clear()\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n\r\n // To rise Lists Component up:\r\n // const lists = document.querySelector(\"#lists\");\r\n // lists.addEventListener(\"mouseenter\", () => { downLayer(); });\r\n // lists.addEventListener(\"mouseleave\", () => { upLayer(); });\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n // A method for changing the state,\r\n // inputs:\r\n // key = Name of the state\r\n // value = value of the state\r\n ChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n Validation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.createEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' field Should be less than or equal to \"' + toProp[0] + '\" field.');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.createEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' field Should be greater than or equal to \"' + fromProp[0] + '\" field.');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' field should be a valid email address.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat(prop.label[1] + ' field is Required.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Employee field is Required.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Date field is Required.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Selecting a Shift is Required.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Permission Type field is Required.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n // for (const key in entity) {\r\n // if (entity[key] === '') {\r\n // entity[key] = null;\r\n // }\r\n // // if (!Number.isNaN(Number.parseInt(entity[key])) && typeof entity[key] !== \"boolean\") {\r\n // // entity[key] = Number.parseInt(entity[key]);\r\n // // }\r\n // }\r\n // if (entity.search) {\r\n // for (const key in entity.search) {\r\n // if (entity.search[key] === '') {\r\n // entity.search[key] = null;\r\n // }\r\n // // if (!Number.isNaN(Number.parseInt(entity.search[key])) && typeof entity.search[key] !== \"boolean\") {\r\n // // entity.search[key] = Number.parseInt(entity.search[key]);\r\n // // }\r\n // }\r\n // }\r\n\r\n let url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n fetch(url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for Creating a new entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating (current createEntity)\r\n Create(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ createErrors: errors });\r\n\r\n //if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (me.props.useSearchModal) {\r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n if (me.props.useSearchModal) {\r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ createErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'create', then);\r\n }\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get') || this.props.allPermissions) {\r\n\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (response.data.data) {\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else {\r\n me.setState(\r\n {\r\n data: response.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n }\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n\r\n }\r\n\r\n // A method for Updating an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\n Update(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n }\r\n\r\n // A method for Deleting an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Delete (current deleteEntity)\r\n Delete(entity) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'delete', then);\r\n }\r\n\r\n // A method for getting the data of the selected row and putting it in the updateEntity,\r\n // inputs:\r\n // id = Selected row ID\r\n GetForUpdate(id) {\r\n let tempEntity = this.state.updateEntity;\r\n for (let prop in tempEntity) {\r\n tempEntity[prop] = this.state.data.find(item => item.id === id) ? this.state.data.find(item => item.id === id)[prop] === undefined ? tempEntity[prop] : this.state.data.find(item => item.id === id)[prop] : this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop] === undefined ? tempEntity[prop] : this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop];\r\n }\r\n this.setState({ updateEntity: tempEntity });\r\n }\r\n\r\n // A method for getting the id of the selected row and putting it in the deleteEntity,\r\n // inputs:\r\n // id = Selected row ID\r\n GetIdForDelete(id) {\r\n let tempEntity = this.state.deleteEntity;\r\n if (Array.isArray(tempEntity[Object.keys(tempEntity)[0]])) {\r\n tempEntity[Object.keys(tempEntity)[0]] = [id];\r\n } else {\r\n tempEntity[Object.keys(tempEntity)[0]] = id;\r\n }\r\n this.setState({ deleteEntity: tempEntity });\r\n }\r\n\r\n // A method for getting the select items from the Database,\r\n // inputs:\r\n // url = Web API Service url\r\n // body = Request body\r\n // name = the name of the state that the data will be stored in\r\n GetSelect(url, body, name) {\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n }\r\n\r\n // A method for Resetting the Search fields values\r\n Clear() {\r\n let tempEntity = this.state.readEntity;\r\n\r\n for (let field of this.props.searchFields) {\r\n if (field.type === 'date') {\r\n tempEntity.search[field.backName] = '';\r\n } else if (!Number.isNaN(Number.parseInt(tempEntity.search[field.backName]))) {\r\n tempEntity.search[field.backName] = 0;\r\n } else {\r\n tempEntity.search[field.backName] = '';\r\n }\r\n }\r\n\r\n this.setState({ readEntity: tempEntity });\r\n this.Read(this.state.readEntity);\r\n\r\n }\r\n\r\n render() {\r\n let me = this;\r\n let tableRawData = this.state.data;\r\n\r\n // Getting only the required columns for display + the row id\r\n tableRawData = tableRawData.map((row) => {\r\n let tablerow = {};\r\n for (let column of this.props.columns) {\r\n tablerow[column['backName']] = row[column['backName']];\r\n }\r\n tablerow.id = row.id;\r\n\r\n return tablerow;\r\n });\r\n\r\n // if the tableRawData length changed because of the search, update the rowsTotal for Paging\r\n // if (tableRawData.length != this.state.rowsTotal) {\r\n // this.setState({ rowsTotal: tableRawData.length })\r\n // }\r\n\r\n // Creating the Breadcrumb links\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n // Creating the SearchFields\r\n let SearchFields\r\n if (this.props.searchFields) { // to prevent undefined error\r\n SearchFields = this.props.searchFields.map(\r\n (field) => {\r\n let items;\r\n switch (field.type) {\r\n case 'text':\r\n return (\r\n \r\n {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n case 'number':\r\n return (\r\n \r\n {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n case 'date':\r\n return (\r\n \r\n {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n case 'select':\r\n if (field.label === 'Management') {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(management => management.branchId === this.state.readEntity.search[this.props.searchFields.find(field => field.label === 'Branch').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else if (field.label === 'Department') {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(department => department.administrationId === this.state.readEntity.search[this.props.searchFields.find(field => field.label === 'Management').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n }\r\n\r\n return (\r\n item.value === this.state.readEntity.search[field.backName])}\r\n options={items}\r\n onChange={(value) => {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'staticSelect':\r\n return (\r\n item.value === this.state.readEntity.search[field.backName])}\r\n options={field.items}\r\n onChange={(value) => {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n )\r\n\r\n default:\r\n return (\r\n {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n )\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n // Creating Table Headers\r\n let TableHeaders = this.props.columns.map((column) => {column['name']})\r\n .concat([me.props.noDelete && me.props.noEdit ? null : Actions]);\r\n \r\n // First get the specified page of data then displays it properly\r\n let TableData = tableRawData\r\n // .slice(((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage))\r\n .map(\r\n function (row, index) {\r\n return (\r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) => {\r\n // if the current property name is 'id' and there is no column with the backname 'id' \r\n if (columnName === 'id' && me.props.columns.find(column => column.backName === 'id') === undefined && !me.props.devices) {\r\n // don't render a cell \r\n return null;\r\n }\r\n if (columnName === 'id' && me.props.devices) {\r\n return {index += 1} ;\r\n }\r\n return me.props.columns[columnIndex]['link'] ?\r\n \r\n me.state.data.find(data => data[Object.keys(row)[0]] === row[Object.keys(row)[0]])[value]).join('/')}>\r\n {\r\n me.props.columns[columnIndex]['link']['icon'] ?\r\n me.props.columns[columnIndex]['link']['icon']\r\n :\r\n me.props.columns[columnIndex]['link']['text'] ?\r\n me.props.columns[columnIndex]['link']['text']\r\n :\r\n row[columnName]\r\n }\r\n \r\n \r\n :\r\n me.props.columns[columnIndex]['boolean'] ?\r\n \r\n {row[columnName] ? Yes : No}\r\n \r\n :\r\n me.props.columns[columnIndex]['enum'] ?\r\n \r\n {me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName]) ? me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display'] : row[columnName]}\r\n \r\n :\r\n \r\n {row[columnName]}\r\n ;\r\n })\r\n .concat([me.props.noDelete && me.props.noEdit ? null :\r\n \r\n {me.props.noDelete || (me.props.permissions ? !me.props.permissions.data.find(permission => permission.nameEn === 'Delete') : true) ?\r\n me.props.allPermissions == true ?\r\n {\r\n me.showModal(\"delete\");\r\n //if there is an 'id' then return id, else return the value of the first property \r\n me.GetIdForDelete(row.id ? row.id : row[Object.keys(row)[0]]);\r\n }}>\r\n :\r\n null\r\n :\r\n {\r\n me.showModal(\"delete\");\r\n me.GetIdForDelete(row.id ? row.id : row[Object.keys(row)[0]]);\r\n }}>}\r\n {me.props.noEdit || (me.props.permissions ? !me.props.permissions.data.find(permission => permission.nameEn === 'Edite ') : true) ?\r\n me.props.allPermissions == true ?\r\n {\r\n me.showModal(\"edit\");\r\n //if there is an 'id' then return id, else return the value of the first property\r\n me.GetForUpdate(row.id ? row.id : row[Object.keys(row)[0]]);\r\n }}\r\n >\r\n \r\n :\r\n null\r\n :\r\n me.props.routOut ?\r\n\r\n \r\n \r\n \r\n \r\n :\r\n me.props.routUnregistered ?\r\n \r\n \r\n \r\n \r\n :\r\n {\r\n me.showModal(\"edit\");\r\n me.GetForUpdate(row.id ? row.id : row[Object.keys(row)[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 // Creating Add Modal Fields\r\n let CreateEntityProperties = this.props.createEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'number':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.createEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', name, value)}\r\n onText={'Yes'}\r\n offText={'No'}\r\n height={30}\r\n width={70}\r\n onHandleColor={this.props.checkboxgreen ? \"#70c767\" : \" \"}\r\n onColor={this.props.checkboxgreen ? \"#e1fcde\" : \" \"}\r\n // uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n\r\n items = this.state.createEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'All Day', value: 4 }\r\n ];\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n }\r\n }\r\n );\r\n\r\n let UpdateEntityProperties;\r\n\r\n // if there is an Update operation in this page, Create Edit Modal Fields\r\n if (!this.props.noEdit) {\r\n UpdateEntityProperties = this.props.updateEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'number':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n onText={'Yes'}\r\n offText={'No'}\r\n height={30}\r\n width={70}\r\n // uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n\r\n items = this.state.updateEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'All Day', value: 4 }\r\n ];\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n }\r\n\r\n }\r\n );\r\n }\r\n\r\n\r\n return (\r\n
\r\n {/* startOverlayComponents */}\r\n \r\n this.hideModal(name)}\r\n EntityProperties={CreateEntityProperties}\r\n errors={this.state.createErrors}\r\n fetch={() => this.Create(this.state.createEntity)}\r\n removeModalTitleName={this.props.removeModalTitleName}\r\n />\r\n \r\n\r\n \r\n this.hideModal(name)}\r\n EntityProperties={UpdateEntityProperties}\r\n errors={this.state.updateErrors}\r\n fetch={() => this.Update(this.state.updateEntity)}\r\n />\r\n \r\n\r\n \r\n this.hideModal(name)}\r\n EntityProperties={[]}\r\n errors={[]}\r\n deleteMessage={this.props.deleteMessage}\r\n fetch={() => this.Delete(this.state.deleteEntity)}\r\n />\r\n \r\n\r\n \r\n this.hideModal(name)}\r\n searchFields={this.props.modalSearchFields}\r\n EntityProperties={CreateEntityProperties}\r\n columns={this.props.modalColumns ? this.props.modalColumns : [\r\n { name: 'Code', backName: 'employeeCode' },\r\n { name: 'Name', backName: 'nameEn' }\r\n ]}\r\n errors={[]}\r\n parent={this}\r\n backName={this.props.modalBackName}\r\n read={this.props.modalRead}\r\n fetch={() => this.Create(this.state.createEntity)}\r\n updated={this.state.modalUpdated}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n {/* endOverlayComponents */}\r\n\r\n
\r\n hideFilters() : null}\r\n showFilters={SearchFields ? () => showFilters() : null}\r\n showModal={(name) => this.showModal(name)}\r\n\r\n noCreate={(this.props.noCreate || !this.props.permissions?.data.find(permission => permission.nameEn === 'Add') && !this.props.allPermissions) ? true : false}\r\n useSearchModal={this.props.useSearchModal ? true : false}\r\n // =====================\r\n />\r\n
\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n {\r\n SearchFields ?\r\n this.Clear()}\r\n Search={() => this.Read(this.state.readEntity)}\r\n />\r\n :\r\n null\r\n }\r\n {\r\n value = value > 1 ? value : 1;\r\n this.ChangeEntityState('readEntity', 'pageSize', value);\r\n this.ChangeEntityState('readEntity', 'pageNumber', 0);\r\n }}\r\n total={this.state.rowsTotal}\r\n currentPage={this.state.readEntity.pageNumber + 1}\r\n currentPageChange={(value) => {\r\n this.ChangeEntityState('readEntity', 'pageNumber', Number(value) - 1);\r\n this.Read(this.state.readEntity);\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 BasicPage;\r\n","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './TableSpan.css';\r\n\r\nconst TableSpan = (props) => {\r\n let Days = ['Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat', 'Sun'];\r\n let tableData = props.data.map((data) => {\r\n let row = [];\r\n row.push(Days[data.dayId - 1]);\r\n if (props.open !== 'true') {\r\n for (let index = 0; index < 4; index++) {\r\n row.push(\r\n data.periodShiftTimes.find((shift) => (shift.seq - 1) === index) ?\r\n data.periodShiftTimes.find((shift) => (shift.seq - 1) === index).inTime\r\n :\r\n '00:00:00'\r\n );\r\n row.push(\r\n data.periodShiftTimes.find((shift) => (shift.seq - 1) === index) ?\r\n data.periodShiftTimes.find((shift) => (shift.seq - 1) === index).outTime\r\n :\r\n '00:00:00'\r\n );\r\n }\r\n }\r\n row.push(data.totalDayHours);\r\n row.push(data.isVacation ? 'Weekend' : 'Work');\r\n return row;\r\n }).slice();\r\n\r\n let tableRows = tableData.map((row) =>\r\n \r\n {row.map((data, i) => )}\r\n \r\n \r\n );\r\n\r\n return (\r\n
\r\n
{data}\r\n {\r\n props.noEdit ?\r\n null\r\n :\r\n props.onEditClick(e)}\r\n >\r\n \r\n }\r\n
\r\n {\r\n props.open !== 'true' ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n {tableRows}\r\n \r\n
DayFirst ShiftSecond ShiftThird ShiftFourth ShiftDay Working HrsDay StatusActions
EnterLeaveEnterLeaveEnterLeaveEnterLeave
DayWorking HoursDay StatusActions
\r\n
\r\n )\r\n}\r\n\r\nexport default TableSpan;","import React from 'react';\r\nimport './Tabs.css';\r\n\r\nclass Tabs extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Tabs;","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './WorkingTime.css';\r\nimport TableSpan from '../TableSpan/TableSpan';\r\nimport Tabs from '../Tabs/Tabs';\r\nimport Modal from '../Modal/Modal';\r\nimport Table from '../Table/Table';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Cookie from \"js-cookie\";\r\nimport Loading from '../Loading/Loading';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Alert from './../Alert/Alert';\r\nimport PageHeader from '../PageHeader/PageHeader';\r\nimport { Link } from \"react-router-dom\";\r\nimport TimeField from 'react-simple-timefield';\r\n\r\n\r\nclass WorkingHours extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n readEntity: props.read.body ? props.read.body : props.read.path,\r\n updateEntity: props.update.body,\r\n updateErrors: [],\r\n edit: false,\r\n loading: false,\r\n data: [],\r\n message: { text: '', style: '' },\r\n shiftType: 1,\r\n dayId: ''\r\n }\r\n }\r\n\r\n showModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n // sideNav.style.overflow = \"visible\";\r\n mainLayout.style.overflow = \"visible\";\r\n }\r\n\r\n hideModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n // sideNav.style.overflow = \"auto\";\r\n // mainLayout.style.overflow = \"auto\";\r\n this.setState({ updateErrors: [] });\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.permissions !== null) {\r\n this.Read(this.state.readEntity);\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n }\r\n\r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n Fetch(entity, token, operation, then) {\r\n fetch(\r\n this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n Read(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(Cookie.get('token'));\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }).slice(),\r\n loading: false\r\n }\r\n );\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n stringToTime(strTime) {\r\n var time = strTime.split(':');\r\n var sec = Math.ceil(parseFloat(time[1]) * 5 / 3);\r\n time = time[0] + '.' + sec;\r\n time = parseFloat(time);\r\n return time\r\n }\r\n\r\n Update(entity) {\r\n let errors = [];\r\n\r\n if (this.props.open === 'false') {\r\n for (const shift of entity.periodShiftParameterList) {\r\n if (!shift.inTime && shift.outTime) {\r\n errors.push(\"Shift \" + shift.seq + \" Attendance Field is Required.\");\r\n } else if (shift.inTime && !shift.outTime) {\r\n errors.push(\"Shift \" + shift.seq + \" Leave Field is Required.\");\r\n }\r\n }\r\n if (entity.periodShiftParameterList.every(shift => !shift.inTime && !shift.outTime) && !entity.isVacation) {\r\n errors.push(\"At Least one Shift is Required.\");\r\n }\r\n\r\n } else {\r\n\r\n entity.totalDayHours = this.stringToTime(entity.totalDayHours);\r\n\r\n }\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n }\r\n\r\n GetForUpdate(firstCell) {\r\n let Days = ['Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat', 'Sun'];\r\n let dayId = Days.findIndex(day => day === firstCell) + 1;\r\n let index = this.state.data.findIndex(day => day.dayId === dayId);\r\n let tempData = this.state.data.slice();\r\n let shiftDay = Object.assign({}, tempData[index]);\r\n let tempEntity = Object.assign({}, this.state.updateEntity, {\r\n id: shiftDay.shiftDayId,\r\n dayId: dayId,\r\n shiftType: this.state.shiftType,\r\n isVacation: shiftDay.isVacation,\r\n periodShiftParameterList: shiftDay.periodShiftTimes.map(shift => {\r\n for (let prop in shift) {\r\n if (shift[prop] === null) {\r\n shift[prop] = '';\r\n }\r\n }\r\n return shift;\r\n }).slice()\r\n })\r\n\r\n\r\n if (this.props.open === 'true') {\r\n tempEntity = Object.assign({}, tempEntity, { totalDayHours: shiftDay.totalDayHours });\r\n }\r\n\r\n this.setState({ dayId: dayId, updateEntity: Object.assign({}, tempEntity) });\r\n }\r\n OnTimeChange(seq, type, value) {\r\n let tempEntity = Object.assign({}, this.state.updateEntity);\r\n let tempShifts = tempEntity.periodShiftParameterList.slice();\r\n tempShifts[tempEntity.periodShiftParameterList.findIndex(shift => shift.seq === seq)] = Object.assign({},\r\n tempShifts[tempEntity.periodShiftParameterList.findIndex(shift => shift.seq === seq)], { [type]: value });\r\n tempEntity = Object.assign({}, tempEntity, { periodShiftParameterList: tempShifts.slice() });\r\n this.setState({ updateEntity: Object.assign({}, tempEntity) });\r\n\r\n }\r\n\r\n render() {\r\n let Days = ['Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat', 'Sun'];\r\n\r\n let UpdateEntityProperties = [\r\n
\r\n {/* */}\r\n {/* {\r\n this.ChangeEntityState('updateEntity', 'isVacation', e.target.checked)\r\n }}\r\n /> */}\r\n {\r\n if (this.props.open === 'false') {\r\n if (value) {\r\n let tempShifts = this.state.updateEntity.periodShiftParameterList.slice();\r\n tempShifts = tempShifts.map(shift => {\r\n for (let prop in shift) {\r\n if (prop === 'inTime' || prop === 'outTime' || prop === 'startIn' || prop === 'endIn' || prop === 'startOut' || prop === 'endOut' || prop === 'availableEarlyTime' || prop === 'availableLateTime') {\r\n shift = Object.assign({}, shift, { [prop]: \"\" });\r\n }\r\n }\r\n return shift;\r\n }).slice();\r\n\r\n this.ChangeEntityState('updateEntity', 'periodShiftParameterList', tempShifts);\r\n }\r\n } else {\r\n if (value) {\r\n this.ChangeEntityState('updateEntity', 'totalDayHours', '00:00')\r\n }\r\n }\r\n this.ChangeEntityState('updateEntity', 'isVacation', value);\r\n }}\r\n onText=\"Weekend\"\r\n offText=\"Work\"\r\n height={30}\r\n width={120}\r\n uncheckedIconWidth=\"80px\"\r\n uncheckedIconMarginLeft=\"-42px\"\r\n checkedIconMarginLeft=\"40px\"\r\n />\r\n
,\r\n //
\r\n // \r\n //
,\r\n this.props.open === 'false' ?\r\n
\r\n ,\r\n Att. Start,\r\n Attendance,\r\n Allowed Delay,\r\n Att. End,\r\n Leave Start,\r\n Early Leave,\r\n Leave,\r\n Leave End\r\n ]}\r\n data={[\r\n \r\n Shift 1\r\n \r\n day.seq === 1).startIn}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'startIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n\r\n \r\n \r\n day.seq === 1).inTime}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'inTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).availableLateTime}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'availableLateTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).endIn}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'endIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).startOut}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'startOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).availableEarlyTime}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'availableEarlyTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).outTime}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'outTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).endOut}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'endOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n ,\r\n \r\n Shift 2\r\n \r\n day.seq === 2).startIn}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'startIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).inTime}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'inTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).availableLateTime}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'availableLateTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).endIn}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'endIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).startOut}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'startOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).availableEarlyTime}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'availableEarlyTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).outTime}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'outTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).endOut}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'endOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n ,\r\n \r\n Shift 3\r\n \r\n day.seq === 3).startIn}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'startIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).inTime}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'inTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).availableLateTime}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'availableLateTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).endIn}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'endIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).startOut}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'startOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).availableEarlyTime}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'availableEarlyTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).outTime}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'outTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).endOut}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'endOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n ,\r\n \r\n Shift 4\r\n \r\n day.seq === 4).startIn}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'startIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).inTime}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'inTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).availableLateTime}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'availableLateTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).endIn}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'endIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).startOut}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'startOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).availableEarlyTime}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'availableEarlyTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).outTime}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'outTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).endOut}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'endOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n ]}\r\n />\r\n
\r\n :\r\n
\r\n \r\n this.ChangeEntityState('updateEntity', 'totalDayHours', value)}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n
\r\n ]\r\n // this.state.data.sort((a, b) => a.dayId - b.dayId);\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n return (\r\n <>\r\n \r\n this.hideModal(name)}\r\n EntityProperties={UpdateEntityProperties}\r\n errors={this.state.updateErrors}\r\n fetch={() => this.Update(this.state.updateEntity)}\r\n updateAll={() => {\r\n let entity = Object.assign({}, this.state.updateEntity);\r\n entity.dayId = null;\r\n this.Update(entity);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n {\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n }\r\n \r\n {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.shiftType = value;\r\n this.Read(tempEntity);\r\n this.setState({ shiftType: value, readEntity: tempEntity });\r\n }}\r\n />\r\n {\r\n this.setState({ edit: true });\r\n this.GetForUpdate(e.currentTarget.parentElement.parentElement.children[0].innerHTML);\r\n }}\r\n noEdit={!this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ') ? true : false}\r\n />\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default WorkingHours;","\r\nvar font = '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9gTBBlYQJgatAAAQJwc9AaQCbBAHBzgCCAUU//8Af//2BMEHIxAmBq0AABAnBz0BpAJsEAcHOgIIBRT//wB//akEwQZWECYGrQAAECcHPQGkAmwQBwdAAl39sv//AH3/dgkoBucQJhirAAAQBwdBB2IFT///AH3/dgkoBucQJwdFBsUE1BAmGKsAABAHB0EHYgVP//8Aff92CSgG5xAnBzkEVgUGECcHQQdiBU8QBhirAAD//wB9/ggJKAbnECcHOQO0/gsQJhirAAAQBwdBB2IFT///AH39oQkoBucQJwdEA8r9pBAmGKsAABAHB0EHYgVP//8Aff92CSgHFRAnBzoEWwUGECcHQQdiBU8QBhirAAD//wB//3oEXgcCECYGsQAAEAcBtwKWAd7//wB//3oEXgYCECYGsQAAEAcHOAKKBOz//wB//3oEXgYzECYGsQAAEAcHOgIxBCT//wB//ScEXgYCECYGsQAAEAcHQAK8/TD//wB5/bwEJATqECYGuAAAECcHOAImA94QBwc4Aj39v///AHn/aQQkA9EQBga4AAD//wB5/2kEJAZYECYGuAAAEAcHQwImA+j//wB5/noEJATqECYGuAAAECcHOAImA94QBwdFAj3/2///AHn/aQQkBe0QJga4AAAQBwc6AiYD3v//ADf/twRpAqMQBhfYAAD//wA7+7gGEwQEECYGpAAAECcHOAK8AvgQBwdAAyT92v//AG3/zQKJBfoQJgaoAAAQBwGxAXAAjP//AG3/zQKJArMQBgaoAAD//wBt/80CiQX6ECcBsQFwAIwQBgaoAAD//wBt/80CiQTwECcHOQFwA7YQBgaoAAD///9T/jQCvgJUECcGy/7UAAAQBwdFAPD/7P///1P+NAM8AlQQJwbL/tQAABAHB1wCQv+q////U/40Ar4EuBAnBsv+1AAAEAcBtwHw/5T///9T/jQCvgVfECcGy/7UAAAQBwdXAaH7zf///1P+NAK+BS8QJwbL/tQAABAHAc0AYfvE////U/40Ar4EvRAnBsv+1AAAEAcBuAHw/5T///9T/jQCvgQyECcGy/7UAAAQBwc5AZoC+P///1P+NAK+BQcQJwbL/tQAABAHBzoBmgL4//8Abv5UBckDPBAGBs0AAP///8r+VAXJAzwQJgbNAAAQBwdQANcBK///AG7+VAXJBKoQJgbNAAAQ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qhAHBsv+1AAA////X/28AwoB5RAnB1wCEP8AEAcGyv7UAAD///9T/jQCvgS9ECcBuAHw/5QQBwbL/tQAAP///1/9vALuBDsQJwG4Aen/EhAHBsr+1AAA//8AbvvuBckDPBAnB0QC//vxEAYGzQAA//8AdPrOBWYAyhAnB0QDFfrREAYGzAAA////xf1VAVwCVxAnB0QA0v1YEAYGmQAA////z/1VAh4BUBAnB0QBLP1YEAYGmwAA////xQAAASsCVxAGBpkAAP///8///wIeAVAQBgabAAD//wBQAAADaQXnECYGkgAAECcBsQKF/2oQBwaZAdYAAP//AFD//wP0BecQJgaSAAAQJwGxAtD/LhAHBpsB1gAA//8Afv/2BJwE2BAmBqYAABAnAbEDuP9qEAcGmQMJAAD//wB+//YFJwScECYGpgAAECcBsQQD/y4QBwabAwkAAP///1/9vARXBNgQJwbK/tQAABAnAbEDc/9qEAcGmQLEAAD///9f/bwE4gScECcGyv7UAAAQJwGxA77/LhAHBpsCxAAA////X/28BFcE4BAnB1cBmvtOECcGyv7UAAAQJwGxA3P/ahAHBpkCxAAA////X/28BOIE4BAnB1cBmvtOECcGyv7UAAAQJwGxA77/LhAHBpsCxAAA////X/28BFcE2BAnAbcB6f8SECcGyv7UAAAQJwGxA3P/ahAHBpkCxAAA////X/28BOIEnBAnAbcB6f8SECcGyv7UAAAQJwGxA77/LhAHBpsCxAAA////X/28BFcE2BAnAc0AWvtFECcGyv7UAAAQJwGxA3P/ahAHBpkCxAAA////X/28BOIEsBAnAc0AWvtFECcGyv7UAAAQJwGxA77/LhAHBpsCxAAA//8AZfvQBXAGzBAnB0QDAPvTECYHiwAAECcBsQRKAV4QBweEA88AAP//AHD61AYTBNgQJwdEAxr61xAmByUAABAnAbEEKP9qEAcHJANgAAD///+9/YcDSwTxECcHRACM/YoQJgbuAAAQJwGxAmf/gxAHBxUBWQAA//8AZf4+BXAGzBAmB4sAABAnAbEESgFeEAcHhAPPAAD//wBw/SgGEwTYECYHJQAAECcBsQQo/2oQBwckA2AAAP///73/8wNLBPEQJgbuAAAQJwGxAmf/gxAHBxUBWQAA//8Abv5UBckDPBAGBs0AAP//AHT9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JhAmByMAABAnBzkDNwTsEAYHKXEA////wQAABL0GJhAnBzgAtANcECYHIwAAECcHOQM3BOwQBgcpcQD////K/+0C8gVoECYG2wAAECcHOQHoBC4QBwcCAWQAAP///8/9swPuBDIQJgeWAAAQJwc5Av4C+BAHB5QBLgAA////yv/tAvIGPRAmBtsAABAnBzoB6AQuEAcHAgFkAAD////B/ngFTgQHECYHIwAAECcHOATE/nsQBgbycQD///+u/10FWwNVECYHfwAAECcHOARl/2AQBwd9AbwAAP///8H+WQU8BAcQJwc4AZz+XBAmByMAABAGBvJxAP///67//wVbA1UQJgd/AAAQBwd9AbwAAP///8H+WQVOBToQJwc4AZz+XBAmByMAABAnBzgExAQuEAYG8nEA////rv//BV4FARAmB38AABAnBzgE1AP1EAcHfQG8AAD////B/m0FIAPNECcHOAHg/nAQJgcjAAAQBgcDcRj////BAAAFIAPNECYHIwAAEAYHA3EY////wQAABSAEaBAnBzgAtANcECYHIwAAEAYHA3EY////yv/tBSADmBAmBtsAABAHB4ABZAAA////wQAABncEVhAmByMAABAGByJxAP///8EAAAZ3BGgQJwc4ALQDXBAmByMAABAGByJxAP///8r/7QYNBGsQJgbbAAAQBweBAWQAAP///8H+bQZ3BgMQJwc4AeD+cBAmByMAABAnBzgD2QT3EAYHInEA////wQAABncGAxAmByMAABAnBzgD2QT3EAYHInEA////wQAABncGAxAnBzgAtANcECYHIwAAECcHOAPZBPcQBgcicQD////K/+0GDQYaECYG2wAAECcHOANnBQ4QBweBAWQAAP///8T/7AjxBbYQJgalAAAQBwbHBOIAAP///8n/1AfFBbYQJga2AAAQJwc4BrMDXBAHBscDtgAA////wf5tBL0E6xAnBzgBuP5wECYHIwAAEAYHBnEA////rv//BTQFGBAmB38AABAHB3sBvAAA////wf5tBL0GfxAnBzgBuP5wECYHIwAAECcHOAIdBXMQBgcGcQD///+u//8FNAY/ECYHfwAAECcHOAMQBTMQBwd7AbwAAP///8H+bQS9BmYQJwc4Agn+cBAmByMAABAnBzgA6gVaEAcG8QCVAAD////BAAAEvQZmECYHIwAAECcHOADqBVoQBwbxAJUAAP///8EAAAS9BmYQJwc4A+gC+BAmByMAABAnBzgA6gVaEAcG8QCVAAD///+u//8CxwYoECYHfwAAECcHOAHBBRwQBwd8AbwAAP///8EAAAS9BpQQJgcjAAAQJwc5APUFWhAHBvEAlQAA////rv//AscGVhAmB38AABAnBzkBwQUcEAcHfAG8AAD////B/m0FkQbAECcHOAIJ/nAQJgcjAAAQBwdNAJUAAP///8EAAAWRBsAQJgcjAAAQBwdNAJUAAP///8EAAAWRBsAQJwc4A+gC+BAmByMAABAHB00AlQAA////d//BBYUGUBAmB2IAABAHB2ABiQAA////rv//BasGgRAmB38AABAHB3oBvAAA////wf5tBL0FohAnBzgCCf5wECYHIwAAEAcG0wCVAAD////BAAAEvQWiECYHIwAAEAcG0wCVAAD////BAAAEvQWiECcHOAPoAvgQJgcjAAAQBwbTAJUAAP///7P/4QJbBb4QJgboAAAQBwbnAS8AAP///7L/+gM9BZgQJgcAAAAQBwb/AewAAP///8H+bQS9BDYQJwc4AeD+cBAmByMAABAGBvZx2P///8EAAAS9BDYQJgcjAAAQBgb2cdj////BAAAEvQRoECcHOAC0A1wQJgcjAAAQBgb2cdj////K/+0DEARdECYG2wAAEAcHggFkAAD////B/m0EvQX4ECcHOAHg/nAQJgcjAAAQJwc4AzcE7BAGBylxAP///8EAAAS9BfgQJgcjAAAQJwc4AzcE7BAGBylxAP///8EAAAS9BfgQJwc4ALQDXBAmByMAABAnBzgDNwTsEAYHKXEA////yv/tAvIFOhAmBtsAABAnBzgB6AQuEAcHAgFkAAD////P/bMDxQQEECYHlgAAECcHOAL9AvgQBweUAS4AAP///8H+bQS9BTAQJwc4AeD+cBAmByMAABAGBx9xAP///67//wTgBJcQJgd/AAAQBwd+AbwAAP///6P//wMwCWsQJgHNoQAQBganAAD////B/m0FHARsECcHOAHg/nAQJgcjAAAQJwc5BCz+fRAGBylxAP///8H+egUcBGwQJgcjAAAQJwc5BCz+fRAGBylxAP///8H+egUcBGwQJwc4ALQDXBAmByMAABAnBzkELP59EAYHKXEA////yv4WA30D3RAmBtsAABAnBzkCjf4ZEAcHAgFkAAD////P/bMEJAHGECYHlgAAECcHOQM0/lUQBweUAS4AAP///8n/1AXUBJwQJga2AAAQJwGxBLD/LhAHBpsDtgAA////z/2zA8wFPBAmB5YAABAnAbECkf/OEAcHlQEuAAD////J/hMF1AIEECYGtgAAECcHOAS6/hYQBwabA7YAAP///8/9swPMAcYQJgeWAAAQJwc4ArD99BAHB5UBLgAA////yf/UBdQDkhAmBrYAABAnBzkEnQJYEAcGmwO2AAD////P/bMDzAQyECYHlgAAECcHOQKRAvgQBweVAS4AAP///8n/1AXUBGcQJga2AAAQJwc6BJ0CWBAHBpsDtgAA////z/2zA8wFBxAmB5YAABAnBzoCkQL4EAcHlQEuAAD////J/9QIcAIEECYGtgAAEAcGxQO2AAD////P/bMG6AHGECcHlQEtAAAQJgeWAAAQBwc0A7AAAP///8n/1AhwBIwQJga2AAAQJwc6BgkCfRAHBsUDtgAA////z/2zBugEjBAnB5UBLQAAECYHlgAAECcHOgSSAn0QBwc0A7AAAP///3f/3QYPBpQQJgdiAAAQBwdkAYkAAP///67//waWBtkQJgd/AAAQBwd5AbwAAP///87/XQPpBYQQJgcOAAAQBwcNAeUAAP///8n/1AXUA+YQJga2AAAQJwc4BLAC2hAHBpsDtgAA////z/2zA8wEBBAmB5YAABAnBzgCkQL4EAcHlQEuAAD////J/kgF1AIEECYGtgAAECcHOQTJ/ksQBwabA7YAAP///8/9swPMAcYQJgeWAAAQJwc5AoL+KRAHB5UBLgAA////k//6AcEJShAnB1UArQBoECcBrv8TAAAQBhcnAAD///+T//oBwQpKECcHVwCtALgQJwGu/xMAABAGFycAAP///5P79gIECAsQJwGr/vz1TBAnAa7/EwAAEAYXJwAA//8AdP08CL8FthAmBswAABAHBscEsAAA//8AdPtdCL8FthAnBzkC8ftgECYGzAAAEAcGxwSwAAD//wBl/j4IKQRhECYHiwAAEAcHiAPPAAD//wBl/F8IKQRhECcHOQLc/GIQJgeLAAAQBweIA88AAP//AGX+PggpBfMQJgeLAAAQJwc4Bd0E5xAHB4gDzwAA//8AZfxfCCkF8xAnBzkC3PxiECYHiwAAECcHOAXdBOcQ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+2AQJgbMAAAQJwalBLAAABAHBrIJkgAA//8AdP08C0IFlhAmBswAABAnBqUEsAAAEAcGsgmSAAD///+r/lkFDAYkECcHOACg/lwQJgcvAAAQJwc4BIL+XBAnBy4AjwAAEAcHLQF2AAD//wBu+6sLsAWWECcHOAMg/jQQJgaiAAAQJwc4B3b+thAnBqUFHgAAEAcGsgoAAAD//wBi+1cKwAWWECYGswAAECcHOAa4AyoQJwalBC4AABAHBrIJEAAA////y///BLQF1RAmBu0AABAnBzgEFAPAECcG7AEvAAAQBwbrAW4AAP//AG77qwkHBYQQJgaiAAAQJwcOBR4AABAHBw0HAwAA////wQAABL0GChAmByMAABAmBwp2ABAHBwkC2AAA////xP6zCZ8ENhAnBzgCWP62ECYGpQAAECcHIwTiAAAQBwb2BVP/2P///67//wWdBWMQJgd/AAAQJwcrAbwAABAHBwEDTAAA//8AdPtdDXACghAnBzkC8ftgECYGzAAAECcGpQSwAAAQBwa2CZIAAP///8T+bQmfBDYQJgalAAAQJwc4BsL+cBAnByME4gAAEAcG9gVT/9j///+u/3IFnQVjECYHfwAAECcHOAPW/3UQJwcrAbwAABAHBwEDTAAA////xP6zCZ8EaBAnBzgCWP62ECYGpQAAECcHOAWWA1wQJwcjBOIAABAHBvYFU//Y////rv//BZ0FjxAmB38AABAnBzgB2gSDECcHKwG8AAAQBwcBA0wAAP///8T+bQmfBDYQJwc4AooDKhAmBqUAABAnBzgGwv5wECcHIwTiAAAQBwb2BVP/2P///8T+swnCBJcQJwc4Alj+thAmBqUAABAnB38E4gAAEAcHfgaeAAD////J/9QIlgSXECYGtgAAECcHfwO2AAAQBwd+BXIAAP///67//wWdBoAQJgd/AAAQJwcrAbwAABAnBzgEcgV0EAcHKgNqAAD//wB0/TwLsAPmECYGzAAAECcGpQSwAAAQJwc4CowC2hAHBpsJkgAA//8AYvtXCy4D5hAmBrMAABAnBzgGhv62ECcGpQQuAAAQJwc4CgoC2hAHBpsJEAAA////rv7KBZ0GgBAmB38AABAnBzgC7f7NECcHKwG8AAAQJwc4BHIFdBAHByoDagAA//8AdP08C7AD5hAmBswAABAnBzgHCP62ECcGpQSw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EAcGvP7UAAD///9W/iQCvATAECcHOAFIA7QQBga9AAD///9S/boC8AOuECcHOAFmAqIQBwa8/tQAAP//AHX+IgdvAv0QBgbEAAD//wB2/S4I3gGfEAYGwgAA////zP//BA4CVBAGBsMAAP///83/7AS6AZsQBgbFAAD//wB1/iIHbwWxECcHOgX8A6IQBgbEAAD//wB2/S4I3gRxECcHOgY7AmIQBgbCAAD////M//8EDgUHECcHOgKKAvgQBgbDAAD////N/+wEugSMECcHOgJTAn0QBgbFAAD//wB4/hQJPQMnEAYGwAAA//8AYv23CZUC0hAGBr4AAP///8n/OQUiAkgQBga/AAD////F/1QF6gK5EAYGwQAA//8AeP4UCT0E1hAnBzgGkQPKEAYGwAAA//8AYv23CZUEghAnBzgGlAN2EAYGvgAA////yf85BSID/hAnBzgCegLyEAYGvwAA////xf9UBeoEWxAnBzgCyANPEAYGwQAA//8Acv/HBdsF0xAGBsgAAP//AHn/5gY8BiwQBgbGAAD////O//8EDwW2EAYGxwAA////uP/wBKIF4hAGBskAAP//AHL/xwXbBdMQJwc4BIgDXBAGBsgAAP//AHn/5gY8BiwQJwc4BJwDXBAGBsYAAP///87//wQPBbYQJwc4Av0DXBAGBscAAP///7j/8ASiBeIQJwc4ArwDXBAGBskAAP//AHT8LgXWA8kQBgaWAAD//wA8+4cF5gKHEAYGlAAA////sgAAA10DQhAGBpUAAP///6//8wM2ApUQBgaXAAD//wB0/C4F1gVOECcHOAFyBEIQBgaWAAD//wA8+4cF5gQ2ECcHOAJYAyoQBgaUAAD///+yAAADXQTMECcHOAEsA8AQBgaVAAD///+v//MDNgRoECcHOAEEA1wQBgaXAAD//wB9/+wHYgXGECcHOAUUBLoQBgagAAD//wCC/x0IPgRoECcHOAV4A1wQBgaeAAD////O//8B5QT+ECcHOACgA/IQBgafAAD////R/+8DKgUwECcHOAHlBCQQBgahAAD//wB3/qQFCAT6ECcHOQPLA8AQBga6AAD//wBZ/eAFDwOSECcHOQPAAlgQBga5AAD////O//8B5QUsECcHOQDnA/IQBgafAAD////R/+8DKgVeECcHOQGbBCQQBgahAAD//wB///YEwQZWECcHPQGkAmwQBgatAAD//wCB/7kGzwXOECcHPQLaAnIQBgaqAAD////I/98EygYJEAYGrAAA////yP/zBOUGgxAGBq4AAP//AH//egReBgIQBgaxAAD//wBs/RwFXwU2EAYGrwAA////3P/7APgFthAGBrAAAP///7f//gGwBZYQBgayAAD//wB0+90DHwK2EAYGtQAA//8AYvtXBHABuhAGBrMAAP///7T//wKeAowQBga0AAD////J/9QD3gIEEAYGtgAA//8Aef9pBCQE6hAnBzgCJgPeEAYGuAAA//8Aef1JBSEDABAnBzgCqAH0EAYGtwAA////xQAAATkEBBAnBzgArwL4EAYGmQAA////z///Ah4D5hAnBzgA+gLaEAYGmwAA//8Abf/NAokCsxAGBqgAAP//AH7/9gM4A6oQBgamAAD///+j//8DMANMEAYGpwAA////wv4mA1UC2BAGBqkAAP///1P+NAK+AlQQBwbL/tQAAP///1/9vALuAeUQBwbK/tQAAP//AG7+VAXJAzwQBgbNAAD//wB0/TwFZgDKEAYGzAAA//8Abvx9BckDPBAnBzkC2/yAEAYGzQAA//8AdPtdBWYAyhAnBzkC8ftgEAYGzAAA////xf3kAdsCVxAnBzkA6/3nEAYGmQAA////z/5IAh4BUBAnBzkBE/5LEAYGmwAA////O/+gBNEHNxAnAbABE//hECYG6gAAEAcG6QK6AAD///8//4UFxAbKECcBsAEX/3QQJgcMAAAQBwcLA5MAAP///+7/oATRCAEQJwGxAOECkxAmBuoAABAHBukCugAA////7P+FBcQHlBAnAbEA3wImECYHDAAAEAcHCwOTAAD//wB8/OIE0QXYECcBsQIp+YAQJgbqAAAQBwbpAroAAP///+r9EQXEBZsQJwGxAN35rxAmBwwAABAHBwsDkwAA//8AfP+gBNEF2BAmBuoAABAHBukCugAA//8Agv+FBcQFmxAmBwwAABAHBwsDkwAA//8Aav/3AVsFwRAmBpPzABAGGf8AAP//AEr94QbpAxUQJgaa9gAQBwc4A+j95P//ADH+PAYKBJoQJwak//cChBAHBzgDIAC4AAEAeP+6A10EGgAmAAABBgcGJyYGBwYFFhcWBwYHBgcGBwY1NDckNzYnJicmNzY3Njc2FxYDWwkgCBJc7RUSASM5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/PEHRwIcECYGmAAAEAcHRAOs/PT//wBo/a8HRwIcECYGmAAAEAcHOAOE/bL//wBo/10HRwSkECYGmAAAEAcHRAOxAtr////F/G4BmQJXECYGmQAAEA8HXf+l/MwgAP///8X9IwH1AlcQJgaZAAAQBwdOAQX9Jv///8X95AHbBUUQJgaZAAAQLwHA/6gDCyAAEAcHOQDr/ef////F/zUBbAQEECYGmQAAECcHOACvAvgQBwdFANwAlv///zL93AHKAlcQJgaZAAAQBwdPAHz9tf///8UAAAFqBI4QJgaZAAAQBwG3AK//av///2EAAAGlBvgQJgaZAAAQJwc4AK8C+BAHB0MAfQSI////xf3kAdsEjhAmBpkAABAnAbcAr/9qEAcHOQDr/ef////F/eQB2wVKECYGmQAAEC8Bv/+pAwYgABAHBzkA6/3n////xf0TAdYCVxAnB0AA6/0cEAYGmQAA////vAAAAZME2BAmBpkAABAHAbEAr/9q////xQAAASsCVxAGBpkAAP///8X9uQFsAlcQJgaZAAAQBwdFANz/Gv///8X95AHbAlcQJgaZAAAQBwc5AOv95////5MAAAHXBSwQJgaZAAAQBwdDAK8CvP///5MAAAGbBL4QJgaZAAAQBwdOAKsClP///8X9IQFGAlcQJgaZAAAQBwG4AIL5hP///8EAAAGWBJ4QJgaZAAAQBwdAAKsClP///8X9EwHWAlcQJgaZAAAQBwdAAOv9HP///8X9VQFcAlcQJgaZAAAQBwdEANL9WP///8X+EwE0AlcQJgaZAAAQBwc4AKr+Fv///8UAAAE5BMIQJgaZAAAQBwdEAK8C+P///77+EwGTBKMQJgaZAAAQJwc4AKr+FhAHBzoAqwKU////xQAAATkEBBAmBpkAABAHBzgArwL4////sv0OAdEDzhAmBpkAABAnBzoA6f0SEAcHOQCrApT////F/Q4B0QJXECYGmQAAEAcHOgDp/RL///+yAAABmwPOECYGmQAAEAcHOQCrApT////FAAACjQTYECYGmQAAEAcBsQGp/2r////F/eQB2wSTECYGmQAAECcBuACv/2oQBwc5AOv95////74AAAGTBKMQJgaZAAAQBwc6AKsClP///5MAAAHXBSwQJgaZAAAQBwdDAK8CvP///8X+EwE5BAQQJgaZAAAQJwc4AKr+FhAHBzgArwL4////wQAAATkF9hAmBpkAABAnBzgArwL4EAcBtwB9ANL////FAAABKwJXEAYGmQAA////sv81AZsDzhAmBpkAABAnBzkAqwKUEAcHRQDcAJb////F/eQB2wQEECYGmQAAECcHOQDr/ecQBwc4AK8C+P///8X9EwHWAlcQJgaZAAAQBwdAAOv9HP///8X9VQFcAlcQJgaZAAAQBwdEANL9WP///8UAAAErAlcQBgaZAAD////F/eQB2wJXECYGmQAAEAcHOQDr/ef////F/eQB2wQEECYGmQAAECcHOQDr/ecQBwc4AK8C+P///8/8bgIeAVAQJgabAAAQDwdd///8zCAA////z/2HAh4BUBAmBpsAABAHB04BLf2K////z/5IAh4FJxAmBpsAABAnBzkBE/5LEA8BwP/zAu0gAP///8//FwIeA+YQJgabAAAQJwc4APoC2hAHB0UA+gB4////Wv5AAh4BUBAmBpsAABAHB08ApP4Z////z///Ah4EUhAmBpsAABAHAbcA+v8u////rP//Ah4G2hAmBpsAABAnBzgA+gLaEAcHQwDIBGr////P/kgCHgRSECYGmwAAECcHOQET/ksQBwG3APr/Lv///8/+SAIeBSwQJgabAAAQJwc5ARP+SxAPAb//9ALoIAD////P/XcCHgFQECcHQAET/YAQBgabAAD////P//8CHgScECYGmwAAEAcBsQD6/y7////P//8CHgFQEAYGmwAA////z/4JAh4BUBAmBpsAABAHB0UBBP9q////z/5IAh4BUBAmBpsAABAHBzkBE/5L////z///AiIFDhAmBpsAABAHB0MA+gKe////z///Ah4EghAmBpsAABAHB04A5wJY////z/0hAh4BUBAmBpsAABAHAbgA3PmE////z///Ah4EYhAmBpsAABAHB0AA5wJY////z/13Ah4BUBAmBpsAABAHB0ABE/2A////z/1VAh4BUBAmBpsAABAHB0QBLP1Y////z/4TAh4BUBAmBpsAABAHBzgBBP4W////z///Ah4EpBAmBpsAABAHB0QA+gLa////z/4TAh4EZxAmBpsAABAnBzoA5wJYEAcHOAEE/hb////P//8CHgPmECYGmwAAEAcHOAD6Atr////P/XICHgOSECYGmwAAECcHOQDnAlgQBwc6ARH9dv///8/9cgIeAVAQJgabAAAQBwc6ARH9dv///8///wIeA5IQJgabAAAQBwc5AOcCWP///8///wJCBJwQJgabAAAQBwGxAV7/Lv///8/+SAIeBFcQJgabAAAQJwc5ARP+SxAHAbgA+v8u////z///Ah4EZxAmBpsAABAHBzoA5wJY////z///AiIFDhAmBpsAABAHB0MA+gKe////z/4TAh4D5hAmBpsAABAnBzgA+gLaEAcHOAEE/hb////P//8CHgXYECYGmwAAECcHOAD6AtoQBwG3AMgAtP///8///wIeAVAQBgabAAD////P/xcCHgOSECYGmwAAECcHOQDnAlgQBwdFAPoAeP///8/+SAIeA+YQJgabAAAQJwc4APoC2hAHBzkBE/5L////z/13Ah4BUBAmBpsAABAHB0ABE/2A////z/1VAh4BUBAmBpsAABAHB0QBLP1Y////z///Ah4BUBAGBpsAAP///8/+SAIeAVAQJgabAAAQBwc5ARP+S////8/+SAIeA+YQJgabAAAQJwc4APoC2hAHBzkBE/5L//8AS///A/gGshAmBpwAABAHB04CrQSI//8AS///A/gGIxAmBpwAABAHAbgCrQD6//8AS/8XA/gEFBAmBpwAABAHB0UBpAB4//8AS///A/gHIBAmBpwAABAHB0MCrQSw//8AS/2FA/gEFBAmBpwAABAHAbgBzPno//8AS///A/gFlBAmBpwAABAHBzgCrQSI//8AS///A/gEFBAGBpwAAP//AEv9uQP4ByAQJgacAAAQJwdDAq0EsBAHB0QCHP28//8AS///A/gFwhAmBpwAABAHBzkCrQSI//8AS/53A/gHIBAmBpwAABAnB0MCrQSwEAcHOAH0/nr//wBL/ncD+AQUECYGnAAAEAcHOAH0/nr//wBL//8D+AaSECYGnAAAEAcHQAKtBIj//wBL//8D+AaXECYGnAAAEAcHOgKtBIj//wBL/kgD+AQUECYGnAAAEAcHOQH4/kv//wCC/hYIPgMBECYGngAAEAcHOQaz/hn//wCC/UAIPgMBECYGngAAEAcHOgax/UT//wCC/x0IPgRoECYGngAAEAcHOAV4A1z//wCC/x0IPgMBEAYGngAA//8Agv5FCD4DARAmBp4AABAHBzgGpP5I//8Agv19CD4EaBAmBp4AABAnBzgFeANcEAcHOAOE/YD//wCC/x0IPgVrECYGngAAEAcHOgWDA1z//wCC/UUIPgMBECYGngAAEAcHQAaz/U7//wCC/x0IPgWGECYGngAAEAcHTgWDA1z////O//8B5QNHEAYGnwAA////zv1AAiEDRxAmBp8AABAHBzoBOf1E////zv4WAisDRxAmBp8AABAHBzkBO/4Z////zv//AeUFLBAmBp8AABAHBzkA5wPy////zv//AeUE/hAmBp8AABAHBzgAoAPy////zv//AeUGARAmBp8AABAHBzoA5wPy////zv//AeUDRxAGBp8AAP///87+RQHlA0cQJgafAAAQBwc4ASz+SP///87+RQHlBP4QJgafAAAQJwc4AKAD8hAHBzgBLP5I////zv//AeUGARAmBp8AABAHBzoA5wPy////zv1FAiYDRxAmBp8AABAHB0ABO/1O////zv//AeUGHBAmBp8AABAHB04A5wPy////zv//AeUE/hAmBp8AABAHBzgAoAPy////0f/vAyoDCBAGBqEAAP///9H9QAMqAwgQJgahAAAQBwc6AX/9RP///9H+FgMqAwgQJgahAAAQBwc5AYH+Gf///9H/7wMqBV4QJgahAAAQBwc5AZsEJP///9H/7wMqBTAQJgahAAAQBwc4AeUEJP///9H/7wMqBjMQJgahAAAQBwc6AZsEJP///9H/7wMqAwgQBgahAAD////R/kUDKgMIECYGoQAAEAcHOAFy/kj////R/kUDKgUwECYGoQAAECcHOAHlBCQQBwc4AXL+SP///9H/7wMqBjMQJgahAAAQBwc6AZsEJP///9H9RQMqAwgQJgahAAAQBwdAAYH9Tv///9H/7wMqBk4QJgahAAAQBwdOAZsEJP///9H/7wMqBTAQJgahAAAQBwc4AeUEJP//AG77qwYIBAQQJgaiAAAQBwc4ArwC+P//AG77qwYIAhYQBgaiAAD//wBu+6sGCAU8ECYGogAAEAcBsQK8/87//wBu+6sGCAIWECYGogAAEAcHTgM+/Xb//wBu+6sGCAUHECYGogAAEAcHOgK8Avj//wBu+6sGCAIWECYGogAAEAcHOAMg/jT//wBu+6sGCATCECYGogAAEAcHRAK8Avj//wBu+6sGCAQyECYGogAAEAcHOQK8Avj//wBu+6sGCAIWECYGogAAEAcHRANI/Xb//wBu+6sGCAIWECYGogAAECcHQwLk/j4QBwc5Awb9CP//AG77qwYIAhYQJgaiAAAQBwdDAuT90P//AG77qwYIAhYQJgaiAAAQBwc5AyT+Bf//AG77qwYIBAQQJgaiAAAQJwc4ArwC+BAHB0ADJP1s//8AbvurBggCFhAmBqIAABAPB10Bl/1+IAD//wBu+6sGCAIWECYGogAAEAcHOgMi/ZT//wBu+6sGCAX0ECYGogAAEAcHQwK8A4T//wBu+6sGCAIWECYGogAAEAcHQAMk/Wz////TAAAEyAQ2ECYGowAAEAcHOAJiAyr////TAAAEyAKCEAYGowAA////0wAABMgFbhAmBqMAABAHAbECYgAA////0/23BMgCghAmBqMAABAHB04CgP26////0wAABMgFORAmBqMAABAHBzoCYwMq////0/6nBMgCghAmBqMAABAHBzgCYv6q////0wAABMgE9BAmBqMAABAHB0QCYgMq////0wAABMgEZBAmBqMAABAHBzkCbQMq////0/3pBMgCghAmBqMAABAHB0QCiv3s////0/yfBMgCghAmBqMAABAnB0MCiv3YEAcHOQKs/KL////T/dgEyAKCECYGowAAEAcHQwKK/dj////T/ngEyAKCECYGowAAEAcHOQJm/nv////T/acEyAQ2ECYGowAAECcHOAJiAyoQBwdAAmb9sP///9P9AgTIAoIQJgajAAAQDwddAV39YCAA////0/2iBMgCghAmBqMAABAHBzoCZP2m////0wAABMgGJhAmBqMAABAHB0MCYgO2////0/2nBMgCghAmBqMAABAHB0ACZv2w////xP/sBTUENhAmBqUAABAHBzgCigMq////xP/sBTUCghAGBqUAAP///8T/7AU1BW4QJgalAAAQBwGxAooAAP///8T9wwU1AoIQJgalAAAQBwdOAnb9xv///8T/7AU1BTkQJgalAAAQBwc6ApUDKv///8T+swU1AoIQJgalAAAQBwc4Alj+tv///8T/7AU1BPQQJgalAAAQBwdEAooDKv///8T/7AU1BGQQJgalAAAQBwc5ApUDKv///8T99QU1AoIQJgalAAAQBwdEAoD9+P///8T8qwU1AoIQJgalAAAQJwdDAoD95BAHBzkCovyu////xP3kBTUCghAmBqUAABAHB0MCgP3k////xP6EBTUCghAmBqUAABAHBzkCXP6H////xP2zBTUENhAmBqUAABAnBzgCigMqEAcHQAJc/bz////E/Q4FNQKCECYGpQAAEA8HXQFT/WwgAP///8T9rgU1AoIQJgalAAAQBwc6Alr9sv///8T/7AU1BiYQJgalAAAQBwdDAooDtv///8T9swU1AoIQJgalAAAQBwdAAlz9vP//AH7/9gM4A6oQBgamAAAAAQCS/5kDhAG9ABoAACUWBwYHBgcGJyYnJgcGBwYHBiY3NhM2FxYXFgNFPwQIBQ8hd19bRg8aHkR2FA0YDFq6Py49TE26BCRVDywCBzEuYBIVGFKOFg4OFZoBDFtBVjM1//8Akv+ZA4QDbxAnBzkBqgI1EAYIkgAA//8Afv/2AzgDqhAGBqYAAP//ACn/9gM4BPoQJgamAAAQBwc5ASIDwP///6P//wMwA0wQBganAAD///+j//8DMANMEAYGpwAA////wv4mA1UC2BAGBqkAAP///8/9swPLAcYQJgeWAAAQBweVAS0AAP//AH3/dgk+BoMQJwc5BTEFHhAGGKwAAP//AH39MQk+BoMQJhisAAAQBwdAA6f9Ov//AIH/uQbPBlQQJgaqAAAQJwc9AtoCchAHBzkDPgUa//8Aff1QCT4GgxAmGKwAABAHBzoD2v1U//8Agf+5Bs8FzhAmBqoAABAHBz0C2gJy//8Aff92CT4HnRAnB0UG5AU/ECcHRwcCBeQQBhisAAD//wB9/aEJPgedECcHRwcCBeQQJhisAAAQBwdEA8r9pP//AH3+CAk+B50QJwdHBwIF5BAmGKwAABAHBzkDtP4L//8Agf7HBs8FzhAmBqoAABAnBz0C2gJyEAcHRQLuACj//wCB/7kGzwYmECYGqgAAECcHPQLaAnIQBwc4Az4FGv//AIH/uQbPBykQJgaqAAAQJwc9AtoCchAHBzoDPgUa//8Agf13Bs8FzhAmBqoAABAnBz0C2gJyEAcHQALf/YD//wB9/3YJPgedECcHRwcCBeQQBhisAAD//wB9/3YJPgaDEAYYrAAA//8Aff92CT4HnRAnBzoEWwUeECYYrAAAEAcHRwcCBeT//wB9/3YJPgctECYYrAAAEAcHOgRbBR7//wB9/3YJPgaDECcHOAUwBR4QBhisAAD//wB9/3YJPgedECcHOQRWBR4QJhisAAAQBwdHBwIF5P///8j/3wTKBkAQJgasAAAQBwc5ARsFBv///8j9zQTKBgkQJgasAAAQBwdAARP91v///8j/3wTKBkAQJgasAAAQBwc5ARsFBv///8j9yATKBgkQJgasAAAQBwc6ARH9zP///8j/3wTKBgkQBgasAAD////I/98EzwbnECYGrAAAECcHQQMJBU8QBwdFAmwE1P///8j+DwTPBucQJgasAAAQJwdBAwkFTxAHB0QBNv4S////yP6eBM8G5xAmBqwAABAnB0EDCQVPEAcHOQET/qH////I/98EygYJECYGrAAAEAcHRQJsBNT////I/98EygYSECYGrAAAEAcHOAEaBQb////I/98EygcVECYGrAAAEAcHOgEbBQb////I/c0EygYJECYGrAAAEAcHQAET/db////I/98EzwbnECYGrAAAEAcHQQMJBU/////I/98EygYJEAYGrAAA////ef/fBTMHFRAmBqwAABAnB0EDbQV3EAcHOgBmBQb////I/98EygcVECYGrAAAEAcHOgEbBQb////I/98EygYSECYGrAAAEAcHOAEaBQb///9o/98FMwcPECYGrAAAECcHOQBhBQYQBwdBA20Fd////8j/8wTlBoMQJgauAAAQBwc5ANgFHv///8j9qQTlBoMQJgauAAAQBwdAAvz9sv///8j/8wTlBoMQJgauAAAQBwc5ANgFHv///8j9pATlBoMQJgauAAAQBwc6Avr9qP///8j/8wTlBoMQBgauAAD////I//ME5QedECYGrgAAECcHRQKLBT8QBwdHAqkF5P///8j96wTlB50QJgauAAAQJwdEAx/97hAHB0cCqQXk////yP56BOUHnRAmBq4AABAnBzkC/P59EAcHRwKpBeT////I//ME5QaDECYGrgAAEAcHRQKLBT/////I//ME5QaDECYGrgAAEAcHOADXBR7////I//ME5QctECYGrgAAEAcHOgDYBR7////I/akE5QaDECYGrgAAEAcHQAL8/bL////I//ME5QedECYGrgAAEAcHRwKpBeT////I//ME5QaDEAYGrgAA////ef/zBQoHzhAmBq4AABAnBzoAZgUeEAcHRwMXBhX////I//ME5QctECYGrgAAEAcHOgDYBR7////I//ME5QaDECYGrgAAEAcHOADXBR7///9o//MFCgfOECYGrgAAECcHOQBhBR4QBwdHAxcGFf//AGz9HAVfBhwQJgavAAAQBwG3AmYA+P//AGz9HAVfBWsQJgavAAAQBwc6Af8DXP//AGz9HAVfBTYQBgavAAD//wBs+soFXwU2ECYGrwAAEAcHQALL+tP//wBs/RwFXwU2ECYGrwAAEAcHOAJYBCT//wBs/RwFXwU2ECYGrwAAEAcHXAPuA2T///+U//sBCweNECYGsAAAEAcBtwBQAmn///9a//sBLwgGECYGsAAAEAcHOgBHBff////c//sA+AW2EAYGsAAA////2f4NAa4FthAmBrAAABAHB0AAw/4W////xv/7APgHAxAmBrAAABAHBzgAUAX3////fv/7AXIFthAmBrAAABAHB1wAeAQE////t//+AbAHaBAmBrIAABAHAbcAggJE////jP/+AbAH4RAmBrIAABAHBzoAeQXS////t//+AbAFlhAGBrIAAP///7f92wHCBZYQJgayAAAQBwdAANf95P///7f//gGwBt4QJgayAAAQBwc4AIIF0v///67//gGwBZYQJgayAAAQBwdcAKgEEP//AGL7VwRwAzIQJgazAAAQBwc4AgMCJv//AGL7VwRwAboQBgazAAD//wBi+1cEcAG6ECYGswAAEAcHOAKe/Xb///+0//8CngQOECYGtAAAEAcHOAHeAwL///+0//8CngKMEAYGtAAA////tP7vAp4CjBAmBrQAABAHBzgB6v7y////yf/UA94DghAmBrYAABAHBzgBvQJ2////yf/UA94CBBAGBrYAAP///8n96wPeAgQQJga2AAAQBwc4AdH97v//AHn9SQUhAwAQJga3AAAQBwc4AqgB9P//AHn7XwUhAwAQJga3AAAQJwc4AqgB9BAHBzkCKPti//8Aef1JBSEBTRAGBrcAAP//AHn8TAUhAwAQJga3AAAQJwc4AqgB9BAHB0UCI/2t//8Aef1JBSEEABAmBrcAABAHB0MCqAGQ//8Aef1JBSEF9BAmBrcAABAnBzgCqAH0EAcHQwJ2A4T//wB5+44FIQMAECYGtwAAECcHOAKoAfQQBwc4AiP7kf//AHn9SQUhBPIQJga3AAAQJwc4AqgB9BAHAbcCdv/O//8Aef1JBSEEAxAmBrcAABAHBzoCqAH0//8AWf3gBQ8EZxAmBrkAABAHBzoDwAJY//8AWf3gBQ8DZBAmBrkAABAHBzgDwAJY//8AWf3gBQ8DkhAmBrkAABAHBzkDwAJY//8AWf3gBQ8BvRAGBrkAAP///1L9ugLwBNYQJwa8/tQAABAHB0MBZAJm////Uv26AvAEnBAnBrz+1AAAEAcBtwFk/3j///9S/MEC8AFFECcGvP7UAAAQBwdFAMz+Iv///1L8owLwAUUQJwa8/tQAABAHBzgBr/ym////UvuhAvABRRAnBrz+1AAAEAcBtwGH+BT///9S/KMC8AFFECcGvP7UAAAQJwc4Aa/8phAHBzgAjv7M////Uv26AvAD3BAnBrz+1AAAEAcHOQFlAqL///9S/boC8ASxECcGvP7UAAAQBwc6AWUCov///1L9ugLwBMwQJwa8/tQAABAHB04BZQKi////Uv26Av4BRRAnBrz+1AAAEAcHXAIE/vj///9S/boC8AShECcGvP7UAAAQBwG4AWT/eP///1L9ugLwA64QJwa8/tQAABAHBzgBZgKi////Uv26AvAG1BAnBrz+1AAAECcHOQFlAqIQBwdDAVEEZP///1L9ugLwAUUQBwa8/tQAAP///1L9ugLwBGwQJwa8/tQAABAHB0QBZgKi////Uv26AvAE5hAnBrz+1AAAEAcBsQFm/3j//wBi/bcJlQLSECYGvgAAEAcHOQaz/hn//wBi/bcJlQSCECYGvgAAECcHOAaUA3YQBwc4BqT+SP//AGL9twmVBIIQJga+AAAQBwc4BpQDdv//AGL9twmVBYUQJga+AAAQBwc6BpQDdv//AGL9twmVAtIQBga+AAD////J/bIFIgJIECYGvwAAEAcHOQMv/bX////J/eEFIgP+ECYGvwAAECcHOAJ6AvIQBwc4AyD95P///8n/OQUiA/4QJga/AAAQBwc4AnoC8v///8n/OQUiBQEQJga/AAAQBwc6AnoC8v///8n/OQUiAkgQBga/AAD////F/bIF6gK5ECYGwQAAEAcHOQMv/bX////F/eEF6gRbECYGwQAAECcHOALIA08QBwc4AyD95P///8X/VAXqBFsQJgbBAAAQBwc4AsgDT////8X/VAXqBV4QJgbBAAAQBwc6AsgDT////8X/VAXqArkQBgbBAAD//wB2/S4I3gRxECYGwgAAECcHOgY7AmIQBwc4BkD95P//AHb9LgjeBCwQJgbCAAAQBwdEBjsCYv//AHb9LgjeAZ8QBgbCAAD//wB2/S4I3gRhECYGwgAAEAcBuAY7/zj//wB2/S4I3gTdECYGwgAAEA8HXQU2AnYgAP//AHb9LgjeBHEQJgbCAAAQBwc6BjsCYv//AHb9LgjeBpQQJgbCAAAQJwc5BjsCYhAHB0MGJwQk//8Adv0uCN4EjBAmBsIAABAHB04GOwJi//8Adv0uCN4DbhAmBsIAABAnBzgGOwJiEAcHOAZA/eT//wB2/OEI3gGfECYGwgAAEAcHQAZP/Or//wB2/OEI3gRxECYGwgAAECcHOgY7AmIQBwdABk/86v///8z+qQQOBQcQJgbDAAAQJwc6AooC+BAHBzgCiv6s////zP//BA4EwhAmBsMAABAHB0QCigL4////zP//BA4CVBAGBsMAAP///8z//wQOBPcQJgbDAAAQBwG4Aor/zv///8z//wQOBXMQJgbDAAAQDwddAYUDDCAA////zP//BA4FBxAmBsMAABAHBzoCigL4////zP//BA4HKhAmBsMAABAnBzkCigL4EAcHQwJ2BLr////M//8EDgUiECYGwwAAEAcHTgKKAvj////M/qkEDgQEECYGwwAAECcHOAKKAvgQBwc4Aor+rP///8z9qQQOAlQQJgbDAAAQBwdAApn9sv///8z9qQQOBQcQJgbDAAAQJwc6AooC+BAHB0ACmf2y////zf3hBLoEjBAmBsUAABAnBzoCUwJ9EAcHOAIm/eT////N/+wEugRHECYGxQAAEAcHRAJTAn3////N/+wEugGbEAYGxQAA////zf/sBLoEfBAmBsUAABAHAbgCU/9T////zf/sBLoE+BAmBsUAABAPB10BTgKRIAD////N/+wEugSMECYGxQAAEAcHOgJTAn3////N/+wEugavECYGxQAAECcHOQJTAn0QBwdDAj8EP////83/7AS6BKcQJgbFAAAQBwdOAlMCff///8394QS6A4kQJgbFAAAQJwc4AlMCfRAHBzgCJv3k////zf1FBLoBmxAmBsUAABAHB0ACNf1O////zf1FBLoEjBAmBsUAABAnBzoCUwJ9EAcHQAI1/U7//wB5/+YGPAYsECYGxgAAEAcHOAScA1z//wB5/+YGPAYsEAYGxgAA//8Aef/mBjwGLBAmBsYAABAHBzoEnQNc////zv//BA8FthAmBscAABAHBzgC/QNc////zv//BA8FthAGBscAAP///87//wQPBbYQJgbHAAAQBwc6AvkDXP///7j/8ASiBeIQJgbJAAAQBwc4ArwDXP///7j/8ASiBeIQBgbJAAD///+4//AEogXiECYGyQAAEAcHOgK8A1z///9f/bwC7gSIECcGyv7UAAAQBwc6AZMCef///1/9vALuBL0QJwbK/tQAABAHAbEBk/9P////X/28Au4DsxAnBsr+1AAAEAcHOQGTAnn///9f/bwC7gOFECcGyv7UAAAQBwc4AZMCef///1/9vALuBMsQJwbK/tQAABAPAb8AjQKHIAD///9f/bwC7gQ2ECcGyv7UAAAQBwG3Aen/Ev///1/9vALuBOAQJwbK/tQAABAHB1cBmvtO////X/28Au4B5RAnBsr+1AAAEAcHRQD6/37///9f/bwDCgHlECcGyv7UAAAQBwdcAhD/AP///1/9vAM8BL0QJwbK/tQAABAHAbECWP9P////8f28A7YE4BAmBsqcABAnB1cAv/tOEAcBsQKH/0////9f/bwC7gSwECcGyv7UAAAQBwHNAFr7Rf///1/9vALuBDsQJwbK/tQAABAHAbgB6f8S////X/28Au4ExhAnBsr+1AAAEA8BwACMAowgAP///1/9vALuAeUQBwbK/tQAAP//AHT55wVmAMoQJgbMAAAQDwddAej6RSAA//8AdPqMBWYAyhAmBswAABAHB0AC8fqV//8AdP08BWYDuhAmBswAABAPAb8BDAF2IAD//wB0/TwFZgN3ECYGzAAAEAcHOgITAWj//wB0/TwFZgRgECYGzAAAEAcBsQOE/vL//wB0/TwFZgNnECYGzAAAEAcBuAGu/j7//wB0/TwFZgKiECYGzAAAEAcHOQITAWj//wB0+s4FZgDKECYGzAAAEAcHRAMV+tH//wB0/TwFZgDKEAYGzAAA//8AdP08BWYDtRAmBswAABAPAcABCwF7IAD///+N/TwFZgDKECYGzAAAEAcHUACa/+P//wB0/TwFZgDKEAYGzAAA//8AV/08BWYDrBAmBswAABAHAbEBSv4+//8AdPuCBWYAyhAmBswAABAHB0UC7fzj//8AdPtdBWYAyhAmBswAABAHBzkC8ftg//8AdP08BWYDYhAmBswAABAHAbcBrv4+////qwAAAmUHxxAmBs4AABAHAbcAqgKj////qwAAAmUIQBAmBs4AABAHBzoAoQYx////qwAAAmUGGRAGBs4AAP///6v9qQLuBhkQJgbOAAAQBwdAAgP9sv///6sAAAJlBz0QJgbOAAAQBwc4AKoGMf///6sAAAJlBhkQJgbOAAAQBwdcAKcEnv//AHP6ygNBAI8QBwePAEb+4f///6f9BAGxAhsQJgbPAAAQDwdd/739YiAA////p/25AiECGxAmBs8AABAHB04BMf28////p/56AgcFdxAmBs8AABAnBzkBF/59EA8BwP/tAz0gAP///6f/rQF+BDYQJgbPAAAQJwc4APQDKhAHB0UAyAEO////Xv5yAfYCGxAmBs8AABAHB08AqP5L////pwCLAa8FJBAmBs8AABAHAbcA9AAA////pgCLAeoHKhAmBs8AABAnBzgA9AMqEAcHQwDCBLr///+n/noCBwUkECYGzwAAECcHOQEX/n0QBwG3APQAAP///6f+egIHBXwQJgbPAAAQJwc5ARf+fRAPAb//7gM4IAD///+n/akCAgIbECcHQAEX/bIQBgbPAAD///+nAIsB2AVuECYGzwAAEAcBsQD0AAD///+nAIsBHwIbEAYGzwAA////p/6fAVICGxAmBs8AABAHB0UAwgAA////p/56AgcCGxAmBs8AABAHBzkBF/59////pwCLAhwFXhAmBs8AABAHB0MA9ALu////pwCLAgMFVBAmBs8AABAHB04BEwMq////p/23AV4CGxAmBs8AABAHAbgAmvoa////pwCLAf4FNBAmBs8AABAHB0ABEwMq////p/2pAgICGxAmBs8AABAHB0ABF/2y////p/3rAXQCGxAmBs8AABAHB0QA6v3u////p/6pAUwCGxAmBs8AABAHBzgAwv6s////pwCLAX4E9BAmBs8AABAHB0QA9AMq////p/6pAfsFORAmBs8AABAnBzoBEwMqEAcHOADC/qz///+nAIsBfgQ2ECYGzwAAEAcHOAD0Ayr///+n/aQCAwRkECYGzwAAECcHOQETAyoQBwc6ARX9qP///6f9pAH9AhsQJgbPAAAQBwc6ARX9qP///6cAiwIDBGQQJgbPAAAQBwc5ARMDKv///6cAiwKgBW4QJgbPAAAQBwGxAbwAAP///6f+egIHBSkQJgbPAAAQJwc5ARf+fRAHAbgA9AAA////pwCLAfsFORAmBs8AABAHBzoBEwMq////pwCLAhwFXhAmBs8AABAHB0MA9ALu////p/6pAX4ENhAmBs8AABAnBzgA9AMqEAcHOADC/qz///+nAIsBfgYoECYGzwAAECcHOAD0AyoQBwG3AMIBBP///6cAiwEfAhsQBgbPAAD///+n/60CAwRkECYGzwAAECcHOQETAyoQBwdFAMgBDv///6f+egIHBDYQJgbPAAAQJwc4APQDKhAHBzkBF/59////p/2pAgICGxAmBs8AABAHB0ABF/2y////p/3rAXQCGxAmBs8AABAHB0QA6v3u////pwCLAR8CGxAGBs8AAP///6f+egIHAhsQJgbPAAAQBwc5ARf+ff///6f+egIHBDYQJgbPAAAQJwc4APQDKhAHBzkBF/59////VP5iAqYFLhAnBtD+1AAAEAcHQwFWAr7///9U/mICpgT0ECcG0P7UAAAQBwG3AVb/0P///1T9eQKmAbUQJwbQ/tQAABAHB0UAwv7a////VPzjAqYBtRAnBtD+1AAAEAcHOAFE/Ob///9U++ECpgG1ECcG0P7UAAAQBwG3ARz4VP///1T84wKmAbUQJwbQ/tQAABAnBzgBRPzmEAcHOAB8/2////9U/mICpgQ0ECcG0P7UAAAQBwc5AVUC+v///1T+YgKmBQkQJwbQ/tQAABAHBzoBVQL6////VP5iAqYFJBAnBtD+1AAAEAcHTgFVAvr///9U/mIDAgG1ECcG0P7UAAAQBwdcAgj/nP///1T+YgKmBPkQJwbQ/tQAABAHAbgBVv/Q////VP5iAqYEBhAnBtD+1AAAEAcHOAFUAvr///9U/mICpgcsECcG0P7UAAAQJwc5AVUC+hAHB0MBQQS8////VP5iAqYBtRAHBtD+1AAA////VP5iAqYExBAnBtD+1AAAEAcHRAFUAvr///9U/mICpgU+ECcG0P7UAAAQBwGxAVb/0P///9UAAAI+B5UQJgbRAAAQBwG3ANwCcf///9UAAAI+CA4QJgbRAAAQBwc6ANMF/////9UAAAI+BcUQBgbRAAD////V/dsCPgXFECYG0QAAEAcHQAEn/eT////VAAACPgcLECYG0QAAEAcHOADcBf/////VAAACPgXFECYG0QAAEAcHXADZBJ7///9R/gECyAS3ECcG0v7UAAAQBwc6AZUCqP///1H+AQLIBOwQJwbS/tQAABAHAbEBlf9+////Uf4BAsgD4hAnBtL+1AAAEAcHOQGVAqj///9R/gECyAO0ECcG0v7UAAAQBwc4AZUCqP///1H+AQLIBPoQJwbS/tQAABAPAb8AjwK2IAD///9R/gECyARoECcG0v7UAAAQBwG3Aev/RP///1H+AQLIBQ8QJwbS/tQAABAHB1cBnPt9////Uf4BAsgCDhAnBtL+1AAAEAcHRQD3/6////9R/gEDNAIOECcG0v7UAAAQBwdcAjr/av///1H+AQM8BOwQJwbS/tQAABAHAbECWP9+////8/4BA5AFDxAmBtKcABAnB1cAwft9EAcBsQKJ/37///9R/gECyATfECcG0v7UAAAQBwHNAFz7dP///1H+AQLIBG0QJwbS/tQAABAHAbgB6/9E////Uf4BAsgE9RAnBtL+1AAAEA8BwACOArsgAP///1H+AQLIAg4QBwbS/tQAAP///2oBgQHxB64QJgbTAAAQBwG3ATYCiv///2oBgQIVCCcQJgbTAAAQBwc6AS0GGP///2oBgQG4BaIQBgbTAAD///9q/nEClAWiECYG0wAAEAcHQAGp/nr///9qAYEBwAckECYG0wAAEAcHOAE2Bhj///9qAYECPQWiECYG0wAAEAcHXAFDBCr///+c/zMDjAMIEAYG1AAA////nPwAA4wDCBAmBtQAABAHBzoCRfwE////nPzWA4wDCBAmBtQAABAHBzkCR/zZ////nP8zA4wFXhAmBtQAABAHBzkB/QQk////nP8zA4wFMBAmBtQAABAHBzgCRwQk////nP8zA4wGMxAmBtQAABAHBzoB/QQk////nP8zA4wDCBAGBtQAAP///5z9BQOMAwgQJgbUAAAQBwc4Ajj9CP///5z9BQOMBTAQJgbUAAAQJwc4AkcEJBAHBzgCOP0I////nP8zA4wGMxAmBtQAABAHBzoB/QQk////nPwFA4wDCBAmBtQAABAHB0ACR/wO////nP8zA4wGThAmBtQAABAHB04B/QQk////nP8zA4wFMBAmBtQAABAHBzgCRwQk//8AZfmLBXAAeBAnB4sAAP6hEA8HXQHT+ekgAP//AGX6MAVwAHgQJweLAAD+oRAHB0AC3Po5//8AZfzfBXADQhAnB4sAAP6hEA8BvwDQAP4gAP//AGX83wVwAv8QJweLAAD+oRAHBzoB1wDw//8AZfzfBXADNBAnB4sAAP6hEAcBsQOE/cb//wBl/N8FcALvECcHiwAA/qEQBwG4Ajr9xv//AGX83wVwAioQJweLAAD+oRAHBzkB1wDw//8AZfpyBXAAeBAnB4sAAP6hEAcHRAMA+nX//wBl/N8FcAB4EAcHiwAA/qH//wBl/N8FcAM9ECcHiwAA/qEQDwHAAM8BAyAA////lvzfBXAAeBAnB4sAAP6hEAcHUACj/5f//wBl/N8FcAB4EAcHiwAA/qH//wAb/N8FcAM0ECcHiwAA/qEQBwGxAQ79xv//AGX7GwVwAHgQJweLAAD+oRAHB0UCWPx8//8AZfsBBXAAeBAnB4sAAP6hEAcHOQLc+wT//wBl/N8FcALqECcHiwAA/qEQBwG3Ajr9xv///00CMgDEB74QJgbVAAAQBwG3AAkCmv///xMCMgDoCDcQJgbVAAAQBwc6AAAGKP///7oCMgCVBecQBgbVAAD///+6/nEBwgXnECYG1QAAEAcHQADX/nr///9/AjIAlQc0ECYG1QAAEAcHOAAJBij///89AjIBMQXnECYG1QAAEAcHXAA3BGL///+DAZMDGAfNECYG1gAAEAcBtwGiAqn///+DAZMDGAhGECYG1gAAEAcHOgGZBjf///+DAZMDGAYAEAYG1gAA////g/5xAyAGABAmBtYAABAHB0ACNf56////gwGTAxgHQxAmBtYAABAHBzgBogY3////gwGTAxgGABAmBtYAABAHB1wBvwSe////wQAABL0EzBAmByMAABAHBzgAqgPA////wQAABL0CMxAGByMAAP///3EAAAS9BTwQJgcjAAAQBgGxZM7////B/cMEvQIzECYHIwAAEAcHTgJj/cb///+CAAAEvQXPECYHIwAAEAcHOgBvA8D////B/rMEvQIzECYHIwAAEAcHOAJF/rb////BAAAEvQWKECYHIwAAEAcHRACqA8D///92AAAEvQT6ECYHIwAAEAcHOQBvA8D////B/fUEvQIzECYHIwAAEAcHRAJt/fj////B/KsEvQIzECYHIwAAECcHQwJt/eQQBwc5Ao/8rv///8H95AS9AjMQJgcjAAAQBwdDAm395P///8H+hAS9AjMQJgcjAAAQBwc5Akn+h////8H9swS9BMwQJgcjAAAQJwc4AKoDwBAHB0ACSf28////wf0OBL0CMxAmByMAABAPB10BQP1sIAD////B/a4EvQIzECYHIwAAEAcHOgJH/bL///+OAAAEvQa8ECYHIwAAEAcHQwCqBEz////B/bMEvQIzECYHIwAAEAcHQAJJ/bz////L+4gDKQGDECYG1wAAEA8HXQC6++YgAP///8v8PQMpAYMQJgbXAAAQBwdOAcP8QP///8v8/gMpBOEQJgbXAAAQLwHAAGgCpyAAEAcHOQGp/QH////L/xcDKQOgECYG1wAAECcHRQImAHgQBwc4AW8ClP///8v89gMpAYMQJgbXAAAQBwdPATr8z////8sAAAMpBI4QJgbXAAAQBwG3AW//av///8sAAAMpBMgQJgbXAAAQJwdDAW8CWBAHBzgBbwKU////y/z+AykEjhAmBtcAABAnAbcBb/9qEAcHOQGp/QH////L/P4DKQTmECYG1wAAEC8BvwBpAqIgABAHBzkBqf0B////y/wtAykBgxAnB0ABqfw2EAYG1wAA////ywAAAykE2BAmBtcAABAHAbEBb/9q////ywAAAykBgxAGBtcAAP///8v9IwMpAYMQJgbXAAAQBwdFAb/+hP///8v8/gMpAYMQJgbXAAAQBwc5Aan9Af///8sAAAMpBMgQJgbXAAAQBwdDAW8CWP///8sAAAMpBL4QJgbXAAAQBwdOAW8ClP///8v8OwMpAYMQJgbXAAAQBwG4AZf4nv///8sAAAMpBJ4QJgbXAAAQBwdAAW8ClP///8v8LQMpAYMQJgbXAAAQBwdAAan8Nv///8v8bwMpAYMQJgbXAAAQBwdEAef8cv///8v9LQMpAYMQJgbXAAAQBwc4Ab/9MP///8sAAAMpBF4QJgbXAAAQBwdEAW8ClP///8v9LQMpBKMQJgbXAAAQJwc4Ab/9MBAHBzoBbwKU////ywAAAykDoBAmBtcAABAHBzgBbwKU////y/woAykDzhAmBtcAABAnBzoBp/wsEAcHOQFvApT////L/CgDKQGDECYG1wAAEAcHOgGn/Cz////LAAADKQPOECYG1wAAEAcHOQFvApT////LAAADKQTYECYG1wAAEAcBsQHT/2r////L/P4DKQSTECYG1wAAECcBuAFv/2oQBwc5Aan9Af///8sAAAMpBKMQJgbXAAAQBwc6AW8ClP///8sAAAMpBMgQJgbXAAAQBwdDAW8CWP///8v9LQMpA6AQJgbXAAAQJwc4Ab/9MBAHBzgBbwKU////ywAAAykFuhAmBtcAABAnAbcBbwCWEAcHOAFvApT////LAAADKQGDEAYG1wAA////y/8XAykDzhAmBtcAABAnB0UCJgB4EAcHOQFvApT////L/P4DKQOgECYG1wAAECcHOQGp/QEQBwc4AW8ClP///8v8LQMpAYMQJgbXAAAQBwdAAan8Nv///8v8bwMpAYMQJgbXAAAQBwdEAef8cv///8sAAAMpAYMQBgbXAAD////L/P4DKQGDECYG1wAAEAcHOQGp/QH////L/P4DKQOgECYG1wAAECcHOQGp/QEQBwc4AW8ClP//AJ/67wNtALQQBwePAHL/Bv///4b/rQZLBLUQJgbYAAAQBwc5BL//sP///4b/3AZLBgIQJgbYAAAQJwc4A6AE9hAHBzgEsP/f////hgEZBksGAhAmBtgAABAHBzgDoAT2////hgEZBksHBRAmBtgAABAHBzoDoAT2////hgEZBksEtRAGBtgAAP///8QB1QFlB58QJgbZAAAQBwG3AKoCe////4wB1QFhB/AQJgbZAAAQBwc6AHkF4f///8QB1QEgBdYQBgbZAAD////E/88CJgXWECYG2QAAEAcHQAE7/9j////EAdUBIAcVECYG2QAAEAcHOAB4Bgn////EAdUByQXWECYG2QAAEAcHXADPBAj///9f/G4B+gMyECYG2gAAEA8HXQAG/MwgAP///1/9VQIaAzIQJgbaAAAQBwdOASr9WP///0v+FgIABo8QJgbaAAAQJwc5ARD+GRAPAcD/CgRVIAD///9fAXsBQwVOECYG2gAAECcHOAARBEIQBwdFAGgC3P///1f+DgHvAzIQJgbaAAAQBwdPAKH95////1UB6gFDBjwQJgbaAAAQBwG3ABEBGP///sMB6gFDCEIQJgbaAAAQJwc4ABEEQhAHB0P/3wXS////Vf4WAgAGPBAmBtoAABAnBzkBEP4ZEAcBtwARARj///9f/hYCAAaUECYG2gAAECcHOQEQ/hkQDwG//wsEUCAA////X/1FAfsDMhAnB0ABEP1OEAYG2gAA////HgHqAUMGhhAmBtoAABAHAbEAEQEY////XwHqAUMDMhAGBtoAAP///1/+CQGbAzIQJgbaAAAQBwdFAQv/av///1/+FgIAAzIQJgbaAAAQBwc5ARD+Gf///pEB6gFDBnYQJgbaAAAQBwdD/60EBv///vkB6gFDBmwQJgbaAAAQBwdOABEEQv///1/9IQGnAzIQJgbaAAAQBwG4AOP5hP///ycB6gFDBkwQJgbaAAAQBwdAABEEQv///1/9RQH7AzIQJgbaAAAQBwdAARD9Tv///1/9VQG9AzIQJgbaAAAQBwdEATP9WP///1/+EwGVAzIQJgbaAAAQBwc4AQv+Fv///18B6gFDBgwQJgbaAAAQBwdEABEEQv///yT+EwGVBlEQJgbaAAAQJwc6ABEEQhAHBzgBC/4W////XwHqAUMFThAmBtoAABAHBzgAEQRC////GP1AAfYFfBAmBtoAABAnBzkAEQRCEAcHOgEO/UT///9f/UAB9gMyECYG2gAAEAcHOgEO/UT///8YAeoBQwV8ECYG2gAAEAcHOQARBEL///9fAeoBWQaGECYG2gAAEAcBsQB1ARj///9f/hYCAAZBECYG2gAAECcHOQEQ/hkQBwG4ABEBGP///yQB6gFDBlEQJgbaAAAQBwc6ABEEQv///pEB6gFDBnYQJgbaAAAQBwdD/60EBv///1/+EwGVBU4QJgbaAAAQJwc4ABEEQhAHBzgBC/4W////IwHqAUMHQBAmBtoAABAnBzgAEQRCEAcBt//fAhz///9fAeoBQwMyEAYG2gAA////GAF7AUMFfBAmBtoAABAnBzkAEQRCEAcHRQBoAtz///9f/hYCAAVOECYG2gAAECcHOAARBEIQBwc5ARD+Gf///1/9RQH7AzIQJgbaAAAQBwdAARD9Tv///1/9VQG9AzIQJgbaAAAQBwdEATP9WP///18B6gFDAzIQBgbaAAD///9f/hYCAAMyECYG2gAAEAcHOQEQ/hn///9f/hYCAAVOECYG2gAAECcHOAARBEIQBwc5ARD+Gf///8r/7QKAArYQBgbbAAD///+D/G4BPwJkECYG3AAAEA8HXf9L/MwgAP///yT9VQEsAmQQJgbcAAAQBwdOADz9WP///yn+FgGoBcMQJgbcAAAQJwc5ACL+GRAPAcD/lAOJIAD///+D/wMBJQSCECYG3AAAECcHOACbA3YQBgdFZGT///5p/g4BAQJkECYG3AAAEAcHT/+z/ef///+D//8BKQVuECYG3AAAEAYBt25K////Tf//AZEHdhAmBtwAABAnBzgAmwN2EAcHQwBpBQb///8p/hYBKQVuECYG3AAAECcHOQAi/hkQBgG3bkr///8p/hYBfgXIECYG3AAAECcHOQAi/hkQDwG//5UDhCAA////OP1FAQ0CZBAnB0AAIv1OEAYG3AAA////e///AVIFuBAmBtwAABAGAbFuSv///4P//wDoAmQQBgbcAAD///+D/gkA6AJkECYG3AAAEAcHRQBQ/2r///8p/hYBEgJkECYG3AAAEAcHOQAi/hn///9///8BwwWqECYG3AAAEAcHQwCbAzr///+D//8BiwWgECYG3AAAEAcHTgCbA3b///94/SEA7AJkECYG3AAAEAcBuAAo+YT///+D//8BhgWAECYG3AAAEAcHQACbA3b///84/UUBDQJkECYG3AAAEAcHQAAi/U7///+D/VUBAgJkECYG3AAAEAcHRAB4/Vj///+D/hMA6AJkECYG3AAAEAcHOABQ/hb///+D//8BJQVAECYG3AAAEAcHRACbA3b///+D/hMBgwWFECYG3AAAECcHOgCbA3YQBwc4AFD+Fv///4P//wElBIIQJgbcAAAQBwc4AJsDdv///zP9QAGLBLAQJgbcAAAQJwc5AJsDdhAHBzoAIP1E////M/1AAQgCZBAmBtwAABAHBzoAIP1E////g///AYsEsBAmBtwAABAHBzkAmwN2////g///AhoFuBAmBtwAABAHAbEBNgBK////Kf4WATIFcxAmBtwAABAnBzkAIv4ZEAYBuG5K////g///AYMFhRAmBtwAABAHBzoAmwN2////f///AcMFqhAmBtwAABAHB0MAmwM6////g/4TASUEghAmBtwAABAnBzgAmwN2EAcHOABQ/hb///+D//8BJQZ0ECYG3AAAECcHOACbA3YQBwG3AGkBUP///4P//wDoAmQQBgbcAAD///+D/wMBiwSwECYG3AAAECcHOQCbA3YQBgdFZGT///8p/hYBJQSCECYG3AAAECcHOACbA3YQBwc5ACL+Gf///zj9RQENAmQQJgbcAAAQBwdAACL9Tv///4P9VQECAmQQJgbcAAAQBwdEAHj9WP///4P//wDoAmQQBgbcAAD///8p/hYBEgJkECYG3AAAEAcHOQAi/hn///8p/hYBJQSCECYG3AAAECcHOACbA3YQBwc5ACL+Gf//AFb/6ARwBpkQJgbdAAAQBwdOAnkEb///AFb/6ARwBiMQJgbdAAAQBwG4AnAA+v//AFb/FwRwBCQQJgbdAAAQBwdFAaoAeP//AFb/6ARwByAQJgbdAAAQBwdDAnAEsP//AFb9cQRwBCQQJgbdAAAQBwG4Afb51P//AFb/6ARwBXsQJgbdAAAQBwc4AngEb///AFb/6ARwBCQQBgbdAAD//wBW/aUEcAcgECYG3QAAECcHQwJwBLAQBwdEAkb9qP//AFb/6ARwBakQJgbdAAAQBwc5AnkEb///AFb+YwRwByAQJgbdAAAQJwdDAnAEsBAHBzgCHv5m//8AVv5jBHAEJBAmBt0AABAHBzgCHv5m//8AVv/oBHAGeRAmBt0AABAHB0ACeQRv//8AVv/oBHAGfhAmBt0AABAHBzoCeQRv//8AVv40BHAEJBAmBt0AABAHBzkCI/43////cPwyAjoFVhAmBt4AABAPB10ARvyQIAD///9w/X0CWQVWECYG3gAAEAcHTgFp/YD///9w/j4CPwh/ECYG3gAAECcHOQFP/kEQDwHA/1QGRSAA////cALEAWwHPhAmBt4AABAnBzgAWwYyEAcHRQDcBLD///9w/jYCLgVWECYG3gAAEAcHTwDg/g////9wAsQBXAgsECYG3gAAEAcBtwBbAwj///8NAsQBXAoyECYG3gAAECcHOABbBjIQBwdDACkHwv///3D+PgI/CCwQJgbeAAAQJwc5AU/+QRAHAbcAWwMI////cP4+Aj8IhBAmBt4AABAnBzkBT/5BEA8Bv/9VBkAgAP///3D9bQI6BVYQJwdAAU/9dhAGBt4AAP///2gCxAFcCHYQJgbeAAAQBwGxAFsDCP///3ACxAFcBVYQBgbeAAD///9w/c0B2wVWECYG3gAAEAcHRQFL/y7///9w/j4CPwVWECYG3gAAEAcHOQFP/kH///8/AsQBgwhmECYG3gAAEAcHQwBbBfb///9DAsQBXAhcECYG3gAAEAcHTgBbBjL///9w/OUB5wVWECYG3gAAEAcBuAEj+Uj///9wAsQBXAg8ECYG3gAAEAcHQABbBjL///9w/W0COgVWECYG3gAAEAcHQAFP/Xb///9w/RkB/QVWECYG3gAAEAcHRAFz/Rz///9w/dcB1QVWECYG3gAAEAcHOAFL/dr///9wAsQBXAf8ECYG3gAAEAcHRABbBjL///9u/dcB1QhBECYG3gAAECcHOgBbBjIQBwc4AUv92v///3ACxAFcBz4QJgbeAAAQBwc4AFsGMv///2L9aAI1B2wQJgbeAAAQJwc5AFsGMhAHBzoBTf1s////cP1oAjUFVhAmBt4AABAHBzoBTf1s////YgLEAVwHbBAmBt4AABAHBzkAWwYy////cALEAgcIdhAmBt4AABAHAbEBIwMI////cP4+Aj8IMRAmBt4AABAnBzkBT/5BEAcBuABbAwj///9uAsQBXAhBECYG3gAAEAcHOgBbBjL///8/AsQBgwhmECYG3gAAEAcHQwBbBfb///9w/dcB1Qc+ECYG3gAAECcHOABbBjIQBwc4AUv92v///20CxAFcCTAQJgbeAAAQJwc4AFsGMhAHAbcAKQQM////cALEAVwFVhAGBt4AAP///2ICxAFsB2wQJgbeAAAQJwc5AFsGMhAHB0UA3ASw////cP4+Aj8HPhAmBt4AABAnBzgAWwYyEAcHOQFP/kH///9w/W0COgVWECYG3gAAEAcHQAFP/Xb///9w/RkB/QVWECYG3gAAEAcHRAFz/Rz///9wAsQBXAVWEAYG3gAA////cP4+Aj8FVhAmBt4AABAHBzkBT/5B////cP4+Aj8HPhAmBt4AABAnBzgAWwYyEAcHOQFP/kH///+4Ac4DUwM0EAYG3wAA////wQAABL0EzBAmByMAABAHBzgAtgPA////wQAABL0CMxAGByMAAP///8EAAAS9BgQQJgcjAAAQBwGxALYAlv///8H9mwS9AjMQJgcjAAAQBwdOAVb9nv///8EAAAS9Bc8QJgcjAAAQBwc6AMEDwP///8H+iwS9AjMQJgcjAAAQBwc4ATj+jv///8EAAAS9BYoQJgcjAAAQBwdEALYDwP///8EAAAS9BPoQJgcjAAAQBwc5AMEDwP///8H9zQS9AjMQJgcjAAAQBwdEAWD90P///8H8gwS9AjMQJgcjAAAQJwdDAWD9vBAHBzkBgvyG////wf28BL0CMxAmByMAABAHB0MBYP28////wf5cBL0CMxAmByMAABAHBzkBPP5f////wf2LBL0EzBAmByMAABAnBzgAtgPAEAcHQAE8/ZT////B/OYEvQIzECYHIwAAEA8HXQAz/UQgAP///8H9hgS9AjMQJgcjAAAQBwc6ATr9iv///5oAAAS9BrwQJgcjAAAQBwdDALYETP///8H9iwS9AjMQJgcjAAAQBwdAATz9lP///8T8sAGCApEQJgbgAAAQDwdd/479DiAA////gf1lAYkCkRAmBuAAABAHB04Amf1o////hv4mAY4GshAmBuAAABAnBzkAf/4pEA8BwP96BHggAP///8QAJQELBXEQJgbgAAAQJwc4AIEEZRAHB0UAewGG///+xv4eAV4CkRAmBuAAABAHB08AEP33////xAESATwGXxAmBuAAABAHAbcAgQE7////MwESAXcIZRAmBuAAABAnBzgAgQRlEAcHQwBPBfX///+G/iYBbwZfECYG4AAAECcHOQB//ikQBwG3AIEBO////4b+JgFvBrcQJgbgAAAQJwc5AH/+KRAPAb//ewRzIAD///+V/VUBagKRECcHQAB//V4QBgbgAAD///+OARIBZQapECYG4AAAEAcBsQCBATv////EARIA3QKREAYG4AAA////xP5LASMCkRAmBuAAABAHB0UAk/+s////hv4mAW8CkRAmBuAAABAHBzkAf/4p////ZQESAakGbBAmBuAAABAHB0MAgQP8////SwESAVMGjxAmBuAAABAHB04AYwRl////u/1jAS8CkRAmBuAAABAHAbgAa/nG////eQESAU4GbxAmBuAAABAHB0AAYwRl////lf1VAWoCkRAmBuAAABAHB0AAf/1e////xP2XAUUCkRAmBuAAABAHB0QAu/2a////xP5VAR0CkRAmBuAAABAHBzgAk/5Y////xAESAQsGLxAmBuAAABAHB0QAgQRl////dv5VAUsGdBAmBuAAABAnBzoAYwRlEAcHOACT/lj////EARIBCwVxECYG4AAAEAcHOACBBGX///9q/VABZQWfECYG4AAAECcHOQBjBGUQBwc6AH39VP///5D9UAFlApEQJgbgAAAQBwc6AH39VP///2oBEgFTBZ8QJgbgAAAQBwc5AGMEZf///8QBEgJaBqkQJgbgAAAQBwGxAXYBO////4b+JgFvBmQQJgbgAAAQJwc5AH/+KRAHAbgAgQE7////dgESAUsGdBAmBuAAABAHBzoAYwRl////ZQESAakGbBAmBuAAABAHB0MAgQP8////xP5VAR0FcRAmBuAAABAnBzgAgQRlEAcHOACT/lj///+TARIBCwdjECYG4AAAECcHOACBBGUQBwG3AE8CP////8QBEgDdApEQBgbgAAD///9qACUBUwWfECYG4AAAECcHOQBjBGUQBwdFAHsBhv///4b+JgFvBXEQJgbgAAAQJwc4AIEEZRAHBzkAf/4p////lf1VAWoCkRAmBuAAABAHB0AAf/1e////xP2XAUUCkRAmBuAAABAHB0QAu/2a////xAESAN0CkRAGBuAAAP///4b+JgFvApEQJgbgAAAQBwc5AH/+Kf///4b+JgFvBXEQJgbgAAAQJwc4AIEEZRAHBzkAf/4p////vPthAxkCrBAmBuEAABAPB10AsPu/IAD///+8/BYDMgKsECYG4QAAEAcHTgJC/Bn///+8/NcDGQZWECYG4QAAECcHOQIo/NoQDwHA/38EHCAA////vAAfAxkFFRAmBuEAABAnBzgAhgQJEAcHRQFwAlz///+8/M8DGQKsECYG4QAAEAcHTwG5/Kj///+8AB8DGQYDECYG4QAAEAcBtwCGAN////84AB8DGQgJECYG4QAAECcHOACGBAkQBwdDAFQFmf///7z81wMZBgMQJgbhAAAQJwc5Aij82hAHAbcAhgDf////vPzXAxkGWxAmBuEAABAnBzkCKPzaEA8Bv/+ABBcgAP///7z8BgMZAqwQJwdAAij8DxAGBuEAAP///5MAHwMZBk0QJgbhAAAQBwGxAIYA3////7wAHwMZAqwQBgbhAAD///+8/PwDGQKsECYG4QAAEAcHRQG1/l3///+8/NcDGQKsECYG4QAAEAcHOQIo/Nr///9qAB8DGQYQECYG4QAAEAcHQwCGA6D///9VAB8DGQYzECYG4QAAEAcHTgBtBAn///+8/BQDGQKsECYG4QAAEAcBuAGN+Hf///+DAB8DGQYTECYG4QAAEAcHQABtBAn///+8/AYDGQKsECYG4QAAEAcHQAIo/A////+8/EgDGQKsECYG4QAAEAcHRAHd/Ev///+8/QYDGQKsECYG4QAAEAcHOAG1/Qn///+8AB8DGQXTECYG4QAAEAcHRACGBAn///+A/QYDGQYYECYG4QAAECcHOgBtBAkQBwc4AbX9Cf///7wAHwMZBRUQJgbhAAAQBwc4AIYECf///3T8AQMZBUMQJgbhAAAQJwc5AG0ECRAHBzoCJvwF////vPwBAxkCrBAmBuEAABAHBzoCJvwF////dAAfAxkFQxAmBuEAABAHBzkAbQQJ////vAAfAxkGTRAmBuEAABAHAbEBAQDf////vPzXAxkGCBAmBuEAABAnBzkCKPzaEAcBuACGAN////+AAB8DGQYYECYG4QAAEAcHOgBtBAn///9qAB8DGQYQECYG4QAAEAcHQwCGA6D///+8/QYDGQUVECYG4QAAECcHOACGBAkQBwc4AbX9Cf///5gAHwMZBwcQJgbhAAAQJwc4AIYECRAHAbcAVAHj////vAAfAxkCrBAGBuEAAP///3QAHwMZBUMQJgbhAAAQJwc5AG0ECRAHB0UBcAJc////vPzXAxkFFRAmBuEAABAnBzgAhgQJEAcHOQIo/Nr///+8/AYDGQKsECYG4QAAEAcHQAIo/A////+8/EgDGQKsECYG4QAAEAcHRAHd/Ev///+8AB8DGQKsEAYG4QAA////vPzXAxkCrBAmBuEAABAHBzkCKPza////vPzXAxkFFRAmBuEAABAnBzgAhgQJEAcHOQIo/Nr//wCB+lEGIQGeECYG4gAAEA8HXQHy+q8gAP//AIH69gYhAZ4QJgbiAAAQBwdAAvv6////AIH9nAYhBOEQJgbiAAAQDwG/ATUCnSAA//8Agf2cBiEEnhAmBuIAABAHBzoCIwKP//8Agf2cBiEE0xAmBuIAABAHAbECtf9l//8Agf2cBiEEjhAmBuIAABAHAbgBwP9l//8Agf2cBiEDyRAmBuIAABAHBzkCIwKP//8Agfs4BiEBnhAmBuIAABAHB0QDH/s7//8Agf2cBiEBnhAGBuIAAP//AIH9nAYhBNwQJgbiAAAQDwHAATQCoiAA////gP2cBiEBoxAmBuIAABAHB1AAjQDF//8Agf2cBiEBnhAGBuIAAP//AFP9nAYhBNMQJgbiAAAQBwGxAUb/Zf//AIH77AYhAZ4QJgbiAAAQBwdFAvf9Tf//AIH7xwYhAZ4QJgbiAAAQBwc5Avv7yv//AIH9nAYhBIkQJgbiAAAQBwG3AcD/Zf///3L/JgHeB2IQJgbjAAAQBwG3AC4CPv///zj/JgHeB9sQJgbjAAAQBwc6ACUFzP///8b/JgHeBYwQBgbjAAD////G+4MCCAWMECYG4wAAEAcHQAEd+4z///+k/yYB3gbYECYG4wAAEAcHOAAuBcz///9J/yYB3gWMECYG4wAAEAcHXABDA/T////++bMFRwDbECYG5AAAEA8HXQGi+hEgAP////76WAVHANsQJgbkAAAQBwdAAqH6Yf////78+QVHA90QJgbkAAAQDwG/AUABmSAA/////vz5BUcDmhAmBuQAABAHBzoCRwGL/////vz5BUcDzxAmBuQAABAHAbECqv5h/////vz5BUcDihAmBuQAABAHAbgB4v5h/////vz5BUcCxRAmBuQAABAHBzkCRwGL/////vqaBUcA2xAmBuQAABAHB0QC4/qd/////vz5BUcA2xAGBuQAAP////78+QVHA9gQJgbkAAAQDwHAAT8BniAA////wPz5BUcA4xAmBuQAABAHB1AAzQAF/////vz5BUcA2xAGBuQAAP////78+QVHA88QJgbkAAAQBwGxAX7+Yf////77TgVHANsQJgbkAAAQBwdFAp38r/////77KQVHANsQJgbkAAAQBwc5AqH7LP////78+QVHA4UQJgbkAAAQBwG3AeL+Yf///YMALQJkB5gQJgblAAAQBwc5AKsGXv///YP+AwJkBdwQJgblAAAQBwdAAUX+DP///YMALQJkB5gQJgblAAAQBwc5AKsGXv///YP9/gJkBdwQJgblAAAQBwc6AUP+Av///YMALQJkBdwQBgblAAD///2DAC0CZAbVECYG5QAAECcHRwBhBRwQBwdFAIwEwv///YP+RQJkBtUQJgblAAAQJwdHAGEFHBAHB0QA+v5I///9g/7UAmQG1RAmBuUAABAnB0cAYQUcEAcHOQFF/tf///2DAC0CZAXcECYG5QAAEAcHRQCMBML///2DAC0CZAdqECYG5QAAEAcHOAA8Bl7///2DAC0CZAhtECYG5QAAEAcHOgCrBl7///2D/gMCZAXcECYG5QAAEAcHQAFF/gz///2DAC0CZAbVECYG5QAAEAcHRwBhBRz///2DAC0CZAXcEAYG5QAA///9gwAtAmQIbRAmBuUAABAnB0cAYQUcEAcHOgCrBl7///2DAC0CZAhtECYG5QAAEAcHOgCrBl7///2DAC0CZAdqECYG5QAAEAcHOAA8Bl7///2DAC0CZAeYECYG5QAAECcHRwBhBRwQBwc5AKsGXv///838bgIKATsQJgbmAAAQDwdd/8P8zCAA////x/2HAgoBOxAmBuYAABAHB04A3/2K////bP5IAgoHERAmBuYAABAnBzkAxf5LEA8BwP8rBNcgAP///6j/UwIKBdAQJgbmAAAQJwc4ADIExBAHB0UA3AC0////DP5AAgoBOxAmBuYAABAHB08AVv4Z////lP/8AgoGghAmBuYAABAHAbcAUAFe///+5P/8AgoIxBAmBuYAABAnBzgAMgTEEAcHQwAABlT///+U/kgCCgaCECYG5gAAECcHOQDF/ksQBwG3AFABXv///5r+SAIKBxYQJgbmAAAQJwc5AMX+SxAPAb//LATSIAD////N/XcCCgE7ECcHQADF/YAQBgbmAAD///+j//wCCgbMECYG5gAAEAcBsQCWAV7////N//wCCgE7EAYG5gAA////zf4dAgoBOxAmBuYAABAHB0UA3P9+////zP5IAgoBOxAmBuYAABAHBzkAxf5L////mP/8AgoHKhAmBuYAABAHB0MAtAS6////if/8AgoG7hAmBuYAABAHB04AoQTE////zf0hAgoBOxAmBuYAABAHAbgAoPmE////t//8AgoGzhAmBuYAABAHB0AAoQTE////zf13AgoBOxAmBuYAABAHB0AAxf2A////zf1VAgoBOxAmBuYAABAHB0QA8P1Y////zf4TAgoBOxAmBuYAABAHBzgAyP4W////gP/8AgoGjhAmBuYAABAHB0QAMgTE////tP4TAgoG0xAmBuYAABAnBzoAoQTEEAcHOADI/hb///+o//wCCgXQECYG5gAAEAcHOAAyBMT///+o/XICCgX+ECYG5gAAECcHOQChBMQQBwc6AMP9dv///839cgIKATsQJgbmAAAQBwc6AMP9dv///6j//AIKBf4QJgbmAAAQBwc5AKEExP///83//AIKBwgQJgbmAAAQBwGxARgBmv///6D+SAIKBocQJgbmAAAQJwc5AMX+SxAHAbgAUAFe////tP/8AgoG0xAmBuYAABAHBzoAoQTE////mP/8AgoHKhAmBuYAABAHB0MAtAS6////qP4TAgoF0BAmBuYAABAnBzgAMgTEEAcHOADI/hb///9E//wCCgfCECYG5gAAECcHOAAyBMQQBwG3AAACnv///83//AIKATsQBgbmAAD///+o/1MCCgX+ECYG5gAAECcHOQChBMQQBwdFANwAtP///6j+SAIKBdAQJgbmAAAQJwc4ADIExBAHBzkAxf5L////zf13AgoBOxAmBuYAABAHB0AAxf2A////zf1VAgoBOxAmBuYAABAHB0QA8P1Y////zf/8AgoBOxAGBuYAAP///8z+SAIKATsQJgbmAAAQBwc5AMX+S////6j+SAIKBdAQJgbmAAAQJwc4ADIExBAHBzkAxf5L///+1wDUAFMHhBAmBucAABAHAbf/kwJg///+nQDUAHIH/RAmBucAABAHBzr/igXu////SwDUAFMFvhAGBucAAP///0v92wHCBb4QJgbnAAAQBwdAANf95P///wkA1ABTBvoQJgbnAAAQBwc4/5MF7v///rMA1ACnBb4QJgbnAAAQBwdc/60D/v///7P/4QJbAZYQBgboAAD///+tAC4CFwbaECYG6QAAEAcBtwBvAbb///+tAC4CZQf1ECYG6QAAEAcHOgF9Beb///+tAC4CFwXYEAYG6QAA////rf3bAnYF2BAmBukAABAHB0ABi/3k////rQAuAhcHMxAmBukAABAHBzgBhgYn////rQAuApEF2BAmBukAABAHB1wBlwQc//8AfPziBBYFsRAmBuoAABAHAbECKfmA//8AfP+gBBYFsRAGBuoAAP///7z/oARmBtUQJgbqUAAQDwHA/3sEmyAA////6f+gBGUG2hAmBupPABAPAb//ewSWIAD////u/6AEFggBECYG6gAAEAcBsQDhApP///87/6AEFgc3ECYG6gAAEAcBsAET/+H//wB8/6AEFggBECYG6gAAEAcBsQJTApP///9B/6AEFggCECYG6gAAEAcBvAFPCfD//wAb/J4EFgWxECYG6gAAEAcBvAIpANz///+f/6AEFgepECYG6gAAEAcHUv7ZAO/////QAsYBVQeiECYG6wAAEAcBtwCaAn7///9yAsYBRwgbECYG6wAAEAcHOgBfBgz////QAsYBCwXVEAYG6wAA////0P3bAdYF1RAmBusAABAHB0AA6/3k////0ALGAQsHGBAmBusAABAHBzgAaAYM////wQLGAbUF1RAmBusAABAHB1wAuwQS////gQGCA4UEzBAmBuwAABAHBzgC5QPA////gQGCA4UDOhAGBuwAAP///4EBggPJBgQQJgbsAAAQBwGxAuUAlv///4H+iwPzAzoQJgbsAAAQBwdOAwP+jv///4EBggPNBc8QJgbsAAAQBwc6AuUDwP///4H/ewOFAzoQJgbsAAAQBwc4AuX/fv///4EBggOFBYoQJgbsAAAQBwdEAuUDwP///4EBggPVBPoQJgbsAAAQBwc5AuUDwP///4H+vQOXAzoQJgbsAAAQBwdEAw3+wP///4H9cwQ1AzoQJgbsAAAQJwdDAw3+rBAHBzkDL/12////gf6sBDUDOhAmBuwAABAHB0MDDf6s////gf9MA9kDOhAmBuwAABAHBzkC6f9P////gf57A9QEzBAmBuwAABAnBzgC5QPAEAcHQALp/oT///+B/dYD1AM6ECYG7AAAEA8HXQHg/jQgAP///4H+dgPPAzoQJgbsAAAQBwc6Auf+ev///4EBggQNBrwQJgbsAAAQBwdDAuUETP///4H+ewPUAzoQJgbsAAAQBwdAAun+hP///8v//wJCAdQQBgbtAAD///+1/KABowFPECYG7gAAEA8HXf9f/P4gAP///739rwHhAU8QJgbuAAAQBwdOAPH9sv///73+cAIHBBkQJgbuAAAQJwc5ANf+cxAPAcD/8wHfIAD///+9/1MBowNuECYG7gAAECcHOAD6AmIQBwdFAPoAtP///x7+aAG2AU8QJgbuAAAQBwdPAGj+Qf///73//wG1A8YQJgbuAAAQBwG3APr+ov///6z//wHwBcwQJgbuAAAQJwc4APoBzBAHB0MAyANc////vf5wAccDxhAmBu4AABAnBzkA1/5zEAcBtwD6/qL///+9/nAB3QQeECYG7gAAECcHOQDX/nMQDwG///QB2iAA////vf2fAcIBTxAnB0AA1/2oEAYG7gAA////vf//Ad4EEBAmBu4AABAHAbEA+v6i////vf//AaMBTxAGBu4AAP///73+OwGjAU8QJgbuAAAQBgdFZJz///+9/nABxwFPECYG7gAAEAcHOQDX/nP///+9//8CIgRkECYG7gAAEAcHQwD6AfT///+9//8B1wP2ECYG7gAAEAcHTgDnAcz///+M/VMBowFPECYG7gAAEAcBuAA8+bb///+9//8B0gPWECYG7gAAEAcHQADnAcz///+9/Z8BwgFPECYG7gAAEAcHQADX/aj///+9/YcBowFPECYG7gAAEAcHRACM/Yr///+9/kUBowFPECYG7gAAEAcHOABk/kj///+9//8BowOWECYG7gAAEAcHRAD6Acz///+9/kUBzwPbECYG7gAAECcHOgDnAcwQBwc4AGT+SP///73//wGjAtgQJgbuAAAQBwc4APoBzP///739mgHXAwYQJgbuAAAQJwc5AOcBzBAHBzoA1f2e////vf2aAb0BTxAmBu4AABAHBzoA1f2e////vf//AdcDBhAmBu4AABAHBzkA5wHM////vf//AkIEEBAmBu4AABAHAbEBXv6i////vf5wAccDyxAmBu4AABAnBzkA1/5zEAcBuAD6/qL///+9//8BzwPbECYG7gAAEAcHOgDnAcz///+9//8CIgRkECYG7gAAEAcHQwD6AfT///+9/kUBowLYECYG7gAAECcHOAD6AcwQBwc4AGT+SP///73//wGjBMoQJgbuAAAQJwc4APoBzBAHAbcAyP+m////vf//AaMBTxAGBu4AAP///73/NQHXAwYQJgbuAAAQJwc5AOcBzBAHB0UA+gCW////vf5wAccDbhAmBu4AABAnBzgA+gJiEAcHOQDX/nP///+9/Z8BwgFPECYG7gAAEAcHQADX/aj///+9/YcBowFPECYG7gAAEAcHRACM/Yr///+9//8BowFPEAYG7gAA////vf5wAccBTxAmBu4AABAHBzkA1/5z////vf5wAccC2BAmBu4AABAnBzgA+gHMEAcHOQDX/nP///+7/X0DgQQ2ECYG7wAAECcHOAGlAyoQBwc4Alj9gP///7v/vgOBBDYQJgbvAAAQBwc4AaUDKv///7v/vgOBBTQQJgbvAAAQBwdAAaUDKv///7v/vgOBBGQQJgbvAAAQBwc5AaUDKv///7v/vgOBBPQQJgbvAAAQBwdEAaUDKv///7v/vgOBBTkQJgbvAAAQBwc6AaUDKv///7v/vgOBAoAQBgbvAAD////aAAACXAIwEAYG8AAA//8AEv1EA/EFSBAnB0MCdALYEAYGu5wA//8AEv1EA/EERhAnAbcCdP8iEAYGu5wA//8AEvyFA/EAzRAnB0UBDP3mEAYGu5wA//8AEvulA/EAzRAnBzgBDvuoEAYGu5wA//8AEvqjA/EAzRAnAbcA5vcWEAYGu5wA//8AEvulA/EAzRAnBzgBDvuoECcHOAFO/toQBga7nAD//wAS/UQD8QQCECcHOQLjAsgQBga7nAD//wAS/UQD8QTXECcHOgLjAsgQBga7nAD//wAS/UQD8QTyECcHTgLjAsgQBga7nAD//wAS/UQD8QDNECcHXAKA/wQQBga7nAD//wAS/UQD8QRLECcBuAJ0/yIQBga7nAD//wAS/UQD8QPUECcHOAJ0AsgQBga7nAD//wAS/UQD9wYUECcHOQLjAeIQJwdDAs8DpBAGBrucAP//ABL9RAPxAM0QBga7nAD//wAS/UQD8QSSECcHRAJ0AsgQBga7nAD//wAS/UQD8QSQECcBsQJ1/yIQBga7nAD///91AYIBoQTOEAYG8QAA////dQFkA38EzhAmBvEAABAHBzoClwFo////dQGCA4kEzhAmBvEAABAHBzkCmQI9////ZwGCAaEGlBAmBvEAABAHBzkAYAVa////dQGCAaEGZhAmBvEAABAHBzgAVQVa////cwGCAaEHaRAmBvEAABAHBzoAYAVa////dQGCAaEEzhAGBvEAAP///3UBggLiBM4QJgbxAAAQBwc4AlgB1v///3UBggLiBmYQJgbxAAAQJwc4AFUFWhAHBzgCWAHW////cwGCAaEHaRAmBvEAABAHBzoAYAVa////dQFpA4QEzhAmBvEAABAHB0ACmQFy////SAGCAaEHhBAmBvEAABAHB04AYAVa////dQGCAaEGZhAmBvEAABAHBzgAVQVa////wQAABL0EBBAmByMAABAHBzgD6AL4////wQAABL0CMxAGByMAAP///8EAAAS9BTwQJgcjAAAQBwGxA4T/zv///8H9fQS9AjMQJgcjAAAQBwdOAif9gP///8EAAAS9BQcQJgcjAAAQBwc6A48C+P///8H+bQS9AjMQJgcjAAAQBwc4Agn+cP///8EAAAS9BMIQJgcjAAAQBwdEA+gC+P///8EAAAS9BDIQJgcjAAAQBwc5A48C+P///8H9rwS9AjMQJgcjAAAQBwdEAjH9sv///8H8ZQS9AjMQJgcjAAAQJwdDAjH9nhAHBzkCU/xo////wf2eBL0CMxAmByMAABAHB0MCMf2e////wf4+BL0CMxAmByMAABAHBzkCDf5B////wf1tBL0EBBAmByMAABAnBzgD6AL4EAcHQAIN/Xb////B/MgEvQIzECYHIwAAEA8HXQEE/SYgAP///8H9aAS9AjMQJgcjAAAQBwc6Agv9bP///8EAAAUQBfQQJgcjAAAQBwdDA+gDhP///8H9bQS9AjMQJgcjAAAQBwdAAg39dv///+4BpATdBToQJgbyAAAQBwc4BFMELv///+4BpATLBAcQBgbyAAD////uAaQFNwZyECYG8gAAEAcBsQRTAQT////u/YgFbAQHECYG8gAAEAcHTgR8/Yv////uAaQFRgY9ECYG8gAAEAcHOgReBC7////u/ngE3QQHECYG8gAAEAcHOART/nv////uAaQE3QX4ECYG8gAAEAcHRARTBC7////uAaQFTgVoECYG8gAAEAcHOQReBC7////u/boFBQQHECYG8gAAEAcHRAR7/b3////u/HAFowQHECYG8gAAECcHQwR7/akQBwc5BJ38c////+79qQWjBAcQJgbyAAAQBwdDBHv9qf///+7+SQVSBAcQJgbyAAAQBwc5BGL+TP///+79eAVNBToQJgbyAAAQJwc4BFMELhAHB0AEYv2B////7vzTBUIEBxAmBvIAABAPB10DTv0xIAD////u/XMFSAQHECYG8gAAEAcHOgRg/Xf////uAaQFewcqECYG8gAAEAcHQwRTBLr////u/XgFTQQHECYG8gAAEAcHQARi/YH////YAAACkwesECYG8wAAEAcBtwESAoj////YAAACkwglECYG8wAAEAcHOgEJBhb////YAAACkwXvEAYG8wAA////2P3bApMF7xAmBvMAABAHB0ABO/3k////2AAAApMHIhAmBvMAABAHBzgBEgYW////2AAAApMF7xAmBvMAABAHB1wBHwRi//8AYv5EBQIE+RAmBvQAABAHBzoDzgLq//8AYv5EBQID9hAmBvQAABAHBzgDzgLq//8AYv5EBQIEJBAmBvQAABAHBzkDzgLq//8AYv5EBQICXxAGBvQAAP///4r/wQTrBnIQJgb1AAAQJwc6A24EYxAHBzgDtv/E////igEyBOsGLRAmBvUAABAHB0QDbgRj////igEyBOsEOhAGBvUAAP///4oBMgTrBmIQJgb1AAAQBwG4A24BOf///4oBMgTrBt4QJgb1AAAQDwddAmkEdyAA////igEyBOsGchAmBvUAABAHBzoDbgRj////igEyBOsIlRAmBvUAABAnBzkDbgRjEAcHQwNaBiX///+KATIE6waNECYG9QAAEAcHTgNuBGP///+K/8EE6wVvECYG9QAAECcHOANuBGMQBwc4A7b/xP///4r+wQTrBDoQJgb1AAAQBwdAA8X+yv///4r+wQTrBnIQJgb1AAAQJwc6A24EYxAHB0ADxf7K////rAHVA1MEXhAGBvYAAP///5L8ggHDArAQJwbP/+sAlRAPB13/z/zgIAD///+S/ZsB4gKwECcGz//rAJUQBwdOAPL9nv///5L+XAHZBdEQJwbP/+sAlRAnBzkA2P5fEA8BwP/FA5cgAP///5IAJwFWBJAQJwbP/+sAlRAnBzgAzAOEEAcHRQCkAYj///8f/lQBtwKwECcGz//rAJUQBwdPAGn+Lf///5IBIAGHBX4QJwbP/+sAlRAHAbcAzABa////fgEgAcIHhBAnBs//6wCVECcHOADMA4QQBwdDAJoFFP///5L+XAHIBX4QJwbP/+sAlRAnBzkA2P5fEAcBtwDMAFr///+S/lwByAXWECcGz//rAJUQJwc5ANj+XxAPAb//xgOSIAD///+S/YsBwwKwECcHQADY/ZQQBwbP/+sAlf///5IBIAGwBcgQJwbP/+sAlRAHAbEAzABa////kgEgAQoCsBAHBs//6wCV////kv4dAWQCsBAnBs//6wCVEAcHRQDU/37///+S/lwByAKwECcGz//rAJUQBwc5ANj+X////5IBIAH0BbgQJwbP/+sAlRAHB0MAzANI////kgEgAbwFrhAnBs//6wCVEAcHTgDMA4T///+S/TUBcAKwECcGz//rAJUQBwG4AKz5mP///5IBIAG3BY4QJwbP/+sAlRAHB0AAzAOE////kv2LAcMCsBAnBs//6wCVEAcHQADY/ZT///+S/WkBhgKwECcGz//rAJUQBwdEAPz9bP///5L+JwFeArAQJwbP/+sAlRAHBzgA1P4q////kgEgAVYFThAnBs//6wCVEAcHRADMA4T///+S/icBtAWTECcGz//rAJUQJwc6AMwDhBAHBzgA1P4q////kgEgAVYEkBAnBs//6wCVEAcHOADMA4T///+S/YYBvgS+ECcGz//rAJUQJwc5AMwDhBAHBzoA1v2K////kv2GAb4CsBAnBs//6wCVEAcHOgDW/Yr///+SASABvAS+ECcGz//rAJUQBwc5AMwDhP///5IBIAJ4BcgQJwbP/+sAlRAHAbEBlABa////kv5cAcgFgxAnBs//6wCVECcHOQDY/l8QBwG4AMwAWv///5IBIAG0BZMQJwbP/+sAlRAHBzoAzAOE////kgEgAfQFuBAnBs//6wCVEAcHQwDMA0j///+S/icBXgSQECcGz//rAJUQJwc4AMwDhBAHBzgA1P4q////kgEgAVYGghAnBs//6wCVECcHOADMA4QQBwG3AJoBXv///5IBIAEKArAQBwbP/+sAlf///5IAJwG8BL4QJwbP/+sAlRAnBzkAzAOEEAcHRQCkAYj///+S/lwByASQECcGz//rAJUQJwc4AMwDhBAHBzkA2P5f////kv2LAcMCsBAnBs//6wCVEAcHQADY/ZT///+S/WkBhgKwECcGz//rAJUQBwdEAPz9bP///5IBIAEKArAQBwbP/+sAlf///5L+XAHIArAQJwbP/+sAlRAHBzkA2P5f////kv5cAcgEkBAnBs//6wCVECcHOADMA4QQBwc5ANj+X///AIX+VgSnBAsQJgb3AAAQBwc4ApQC////AIX8zASnBAsQJgb3AAAQJwc4ApQC/xAHBzkCJvzP//8Ahf5WBKcCXxAGBvcAAP//AIX9VQSnBAsQJgb3AAAQJwc4ApQC/xAHB0UCIf62//8Ahf5WBKcFkBAmBvcAABAHB0MClAMg//8Ahf5WBKcG/xAmBvcAABAnBzgClAL/EAcHQwJiBI///wCF/PsEpwQLECYG9wAAECcHOAKUAv8QBwc4AiH8/v//AIX+VgSnBf0QJgb3AAAQJwc4ApQC/xAHAbcCYgDZ//8Ahf5WBKcFDhAmBvcAABAHBzoClAL////+cv/+BPoG6xAmBvgAABAHBzn/awWx///+t/2pBPoGqhAmBvgAABAHB0AChf2y///+cv/+BPoG6xAmBvgAABAHBzn/awWx///+t/2kBPoGqhAmBvgAABAHBzoCg/2o///+t//+BPoGqhAGBvgAAP///rf//gUAB7kQJgb4AAAQJwdIAu4GSBAHB0UCWAXc///+t/3rBQAHuRAmBvgAABAnB0gC7gZIEAcHRAKy/e7///63/noFAAe5ECYG+AAAECcHSALuBkgQBwc5AoX+ff///rf//gT6BqoQJgb4AAAQBwdFAlgF3P///rf//gT6Br0QJgb4AAAQBwc4/2oFsf///n7//gT6B8AQJgb4AAAQBwc6/2sFsf///rf9qQT6BqoQJgb4AAAQBwdAAoX9sv///rf//gUAB7kQJgb4AAAQBwdIAu4GSP///rf//gT6BqoQBgb4AAD///5+//4FAAfAECYG+AAAECcHSALuBkgQBwc6/2sFsf///n7//gT6B8AQJgb4AAAQBwc6/2sFsf///rf//gT6Br0QJgb4AAAQBwc4/2oFsf///nL//gUAB7kQJgb4AAAQJwdIAu4GSBAHBzn/awWx//8ATftfAxsBJBAHB48AIP92////4PzSAhcEBhAmBvkAABAPB10AI/0wIAD////g/YcCQQQGECYG+QAAEAcHTgFR/Yr///+y/kgCJwc5ECYG+QAAECcHOQE3/ksQDwHA/3EE/yAA////4P+EAWoF+BAmBvkAABAnBzgAeATsEAcHRQC0AOX///9+/kACFgQGECYG+QAAEAcHTwDI/hn///+8AIMBagbmECYG+QAAEAcBtwB4AcL///8qAIMBbgjsECYG+QAAECcHOAB4BOwQBwdDAEYGfP///7z+SAInBuYQJgb5AAAQJwc5ATf+SxAHAbcAeAHC////4P5IAicHPhAmBvkAABAnBzkBN/5LEA8Bv/9yBPogAP///+D9dwIiBAYQJwdAATf9gBAGBvkAAP///4UAgwFqBzAQJgb5AAAQBwGxAHgBwv///+AAgwFqBAYQBgb5AAD////g/m0BuAQGECYG+QAAEAcHRQEo/87////g/kgCJwQGECYG+QAAEAcHOQE3/kv///9cAIMBoAcgECYG+QAAEAcHQwB4BLD///9gAIMBagcWECYG+QAAEAcHTgB4BOz////g/YUBxAQGECYG+QAAEAcBuAEA+ej///+OAIMBagb2ECYG+QAAEAcHQAB4BOz////g/XcCIgQGECYG+QAAEAcHQAE3/YD////g/bkB2gQGECYG+QAAEAcHRAFQ/bz////g/ncBsgQGECYG+QAAEAcHOAEo/nr////GAIMBaga2ECYG+QAAEAcHRAB4BOz///+L/ncBsgb7ECYG+QAAECcHOgB4BOwQBwc4ASj+ev///+AAgwFqBfgQJgb5AAAQBwc4AHgE7P///3/9cgIdBiYQJgb5AAAQJwc5AHgE7BAHBzoBNf12////4P1yAh0EBhAmBvkAABAHBzoBNf12////fwCDAWoGJhAmBvkAABAHBzkAeATs////4ACDAiQHMBAmBvkAABAHAbEBQAHC////yP5IAicG6xAmBvkAABAnBzkBN/5LEAcBuAB4AcL///+LAIMBagb7ECYG+QAAEAcHOgB4BOz///9cAIMBoAcgECYG+QAAEAcHQwB4BLD////g/ncBsgX4ECYG+QAAECcHOAB4BOwQBwc4ASj+ev///4oAgwFqB+oQJgb5AAAQJwc4AHgE7BAHAbcARgLG////4ACDAWoEBhAGBvkAAP///3//hAFqBiYQJgb5AAAQJwc5AHgE7BAHB0UAtADl////4P5IAicF+BAmBvkAABAnBzgAeATsEAcHOQE3/kv////g/XcCIgQGECYG+QAAEAcHQAE3/YD////g/bkB2gQGECYG+QAAEAcHRAFQ/bz////gAIMBagQGEAYG+QAA////4P5IAicEBhAmBvkAABAHBzkBN/5L////4P5IAicF+BAmBvkAABAnBzgAeATsEAcHOQE3/kv///+b/kUEEATLECYG+gAAECcHOgJ3ArwQBwc4Anb+SP///5sAAAQQBIYQJgb6AAAQBwdEAnYCvP///5sAAAQQAfAQBgb6AAD///+bAAAEEAS7ECYG+gAAEAcBuAJ2/5L///+bAAAEEAU3ECYG+gAAEA8HXQFxAtAgAP///5sAAAQQBMsQJgb6AAAQBwc6AncCvP///5sAAAQQBu4QJgb6AAAQJwc5AncCvBAHB0MCYwR+////mwAABBAE5hAmBvoAABAHB04CdwK8////m/5FBBADyBAmBvoAABAnBzgCdgK8EAcHOAJ2/kj///+b/akEEAHwECYG+gAAEAcHQAKF/bL///+b/akEEATLECYG+gAAECcHOgJ3ArwQBwdAAoX9sv///8L8UAJUAnwQJgb7AAAQDwdd/7n8riAA////wv1pAlQCfBAmBvsAABAHB04BLP1s////wv4qAlQFqRAmBvsAABAnBzkBEv4tEA8BwAARA28gAP///8IAAAJUBGgQJgb7AAAQJwc4ARgDXBAHB0UBBAGQ////s/4iAlQCfBAmBvsAABAHB08A/f37////wgAAAlQFVhAmBvsAABAHAbcBGAAy////wgAAAlQHXBAmBvsAABAnBzgBGANcEAcHQwDmBOz////C/ioCVAVWECYG+wAAECcHOQES/i0QBwG3ARgAMv///8L+KgJUBa4QJgb7AAAQJwc5ARL+LRAPAb8AEgNqIAD////C/VkCVAJ8ECcHQAES/WIQBgb7AAD////CAAACVAWgECYG+wAAEAcBsQEYADL////CAAACVAJ8EAYG+wAA////wv3rAlQCfBAmBvsAABAHB0UBDv9M////wv4qAlQCfBAmBvsAABAHBzkBEv4t////wgAAAlQFkBAmBvsAABAHB0MBGAMg////wgAAAlQFhhAmBvsAABAHB04BIwNc////wv0DAlQCfBAmBvsAABAHAbgBDvlm////wgAAAlQFZhAmBvsAABAHB0ABIwNc////wv1ZAlQCfBAmBvsAABAHB0ABEv1i////wv03AlQCfBAmBvsAABAHB0QBNv06////wv31AlQCfBAmBvsAABAHBzgBDv34////wgAAAlQFJhAmBvsAABAHB0QBGANc////wv31AlQFaxAmBvsAABAnBzoBIwNcEAcHOAEO/fj////CAAACVARoECYG+wAAEAcHOAEYA1z////C/VQCVASWECYG+wAAECcHOQEjA1wQBwc6ARD9WP///8L9VAJUAnwQJgb7AAAQBwc6ARD9WP///8IAAAJUBJYQJgb7AAAQBwc5ASMDXP///8IAAAJgBaAQJgb7AAAQBwGxAXwAMv///8L+KgJUBVsQJgb7AAAQJwc5AQj+LRAHAbgBGAAy////wgAAAlQFaxAmBvsAABAHBzoBIwNc////wgAAAlQFkBAmBvsAABAHB0MBGAMg////wv31AlQEaBAmBvsAABAnBzgBGANcEAcHOAEO/fj////CAAACVAZaECYG+wAAECcHOAEYA1wQBwG3AOYBNv///8IAAAJUAnwQBgb7AAD////CAAACVASWECYG+wAAECcHOQEjA1wQBwdFAQQBkP///8L+KgJUBGgQJgb7AAAQJwc4ARgDXBAHBzkBEv4t////wv1ZAlQCfBAmBvsAABAHB0ABEv1i////wv03AlQCfBAmBvsAABAHB0QBNv06////wgAAAlQCfBAGBvsAAP///8L+KgJUAnwQJgb7AAAQBwc5ARL+Lf///8L+KgJUBGgQJgb7AAAQJwc4ARgDXBAHBzkBEv4t////VP5SAqgFUxAnBvz+1AAAEAcHQwFiAuP///9U/lICqAUZECcG/P7UAAAQBwG3AWL/9f///1T9eQKoAgsQJwb8/tQAABAHB0UA6v7a////VPzJAqgCCxAnBvz+1AAAEAcHOAD6/Mz///9U+8cCqAILECcG/P7UAAAQBwG3ANL4Ov///1T8yQKoAgsQJwb8/tQAABAnBzgA+vzMEAcHOAB0/17///9U/lICqARZECcG/P7UAAAQBwc5AWIDH////1T+UgKoBS4QJwb8/tQAABAHBzoBYgMf////VP5SAqgFSRAnBvz+1AAAEAcHTgFiAx////9U/lIC7gILECcG/P7UAAAQBwdcAfT/uv///1T+UgKoBR4QJwb8/tQAABAHAbgBYv/1////VP5SAqgEKxAnBvz+1AAAEAcHOAFiAx////9U/lICqAdRECcG/P7UAAAQJwc5AWIDHxAHB0MBTgTh////VP5SAqgCCxAHBvz+1AAA////VP5SAqgE6RAnBvz+1AAAEAcHRAFiAx////9U/lICqAVjECcG/P7UAAAQBwGxAWL/9f///jYAAAP8BtoQJgb9AAAQBwc5/y8FoP///vD+NQP8BmIQJgb9AAAQBwdAAZX+Pv///jYAAAP8BtoQJgb9AAAQBwc5/y8FoP///vD+MAP8BmIQJgb9AAAQBwc6Abv+NP///vAAAAP8BmIQBgb9AAD///7wAAAELAdBECYG/QAAECcHSAIaBdAQBwdFAZUFRv///vD+dwQsB0EQJgb9AAAQJwdIAhoF0BAHB0QBrv56///+8P8GBCwHQRAmBv0AABAnB0gCGgXQEAcHOQGV/wn///7wAAAD/AZiECYG/QAAEAcHRQGVBUb///6kAAAD/AasECYG/QAAEAcHOP8uBaD///5CAAAD/AevECYG/QAAEAcHOv8vBaD///7w/jUD/AZiECYG/QAAEAcHQAGV/j7///7wAAAELAdBECYG/QAAEAcHSAIaBdD///7wAAAD/AZiEAYG/QAA///+QgAABCwHrxAmBv0AABAnB0gCGgXQEAcHOv8vBaD///5CAAAD/AevECYG/QAAEAcHOv8vBaD///6kAAAD/AasECYG/QAAEAcHOP8uBaD///42AAAELAdBECYG/QAAECcHSAIaBdAQBwc5/y8FoP///uT90AJ4BAAQJwb+/tQAABAHB0MAAAGQ////U/3QAngC/hAnBv7+1AAAEAcBtwBk/dr///9T/OcCeAEOECcG/v7UAAAQBwdFAJT+SP///1P8yQJ4AQ4QJwb+/tQAABAHBzgByvzM////U/vHAngBDhAnBv7+1AAAEAcBtwGi+Dr///9T/MkCeAEOECcG/v7UAAAQJwc4Acr8zBAHBzgAeP8E////U/3QAngCohAnBv7+1AAAEAcHOQDTAWj///9T/dACeAN3ECcG/v7UAAAQBwc6ANMBaP///1P90AJ4A5IQJwb+/tQAABAHB04A0wFo////U/3QAu4BDhAnBv7+1AAAEAcHXAH0/0L///9T/dACeAMDECcG/v7UAAAQBwG4AGT92v///1P90AJ4AnQQJwb+/tQAABAHBzgAyAFo////U/3QAngFmhAnBv7+1AAAECcHOQDTAWgQBwdDAL8DKv///1P90AJ4AQ4QBwb+/tQAAP///1P90AJ4AzIQJwb+/tQAABAHB0QAyAFo////U/3QAngDrBAnBv7+1AAAEAcBsQDI/j7///7+AZ0AfgdyECYG/wAAEAcBt/+6Ak7///7EAZ0AmQfrECYG/wAAEAcHOv+xBdz///9uAZ0AfgWYEAYG/wAA////bv3bAV4FmBAmBv8AABAHB0AAc/3k////MAGdAH4G6BAmBv8AABAHBzj/ugXc///+vQGdALEFmBAmBv8AABAHB1z/twPg////sv/6Az0C6hAGBwAAAP///7L/+gM9AuoQBgcAAAD///3DAsIBdgVjEAYHAQAA////IQF2A+EFjxAmBysAABAHBzgAHgSD////IQF2A+EDWxAGBysAAP///yEBdgPhBscQJgcrAAAQBwGxAB4BWf///yH+ggPhA1sQJgcrAAAQBwdOAjj+hf///yEBdgPhBpIQJgcrAAAQBwc6ACkEg////yH/cgPhA1sQJgcrAAAQBwc4Ahr/df///yEBdgPhBk0QJgcrAAAQBwdEAB4Eg////yEBdgPhBb0QJgcrAAAQBwc5ACkEg////yH+tAPhA1sQJgcrAAAQBwdEAkL+t////yH9agPhA1sQJgcrAAAQJwdDAkL+oxAHBzkCZP1t////If6jA+EDWxAmBysAABAHB0MCQv6j////If9DA+EDWxAmBysAABAHBzkCHv9G////If5yA+EFjxAmBysAABAnBzgAHgSDEAcHQAIe/nv///8h/c0D4QNbECYHKwAAEA8HXQEV/isgAP///yH+bQPhA1sQJgcrAAAQBwc6Ahz+cf///wIBdgPhB38QJgcrAAAQBwdDAB4FD////yH+cgPhA1sQJgcrAAAQBwdAAh7+e////1v8bgITA90QJgcCAAAQDwddAB/8zCAA////W/1VAjMD3RAmBwIAABAHB04BQ/1Y////W/4WAhkGexAmBwIAABAnBzkBKf4ZEA8BwP99BEEgAP///1sBigGOBToQJgcCAAAQJwc4AIQELhAHB0UAuQNS////W/4OAggD3RAmBwIAABAHB08Auv3n////WwGKAY4GKBAmBwIAABAHAbcAhAEE////NgGKAY4ILhAmBwIAABAnBzgAhAQuEAcHQwBSBb7///9b/hYCGQYoECYHAgAAECcHOQEp/hkQBwG3AIQBBP///1v+FgIZBoAQJgcCAAAQJwc5ASn+GRAPAb//fgQ8IAD///9b/UUCFAPdECcHQAEp/U4QBgcCAAD///9bAYoBjgZyECYHAgAAEAcBsQCEAQT///9bAYoBjgPdEAYHAgAA////W/4JAbQD3RAmBwIAABAHB0UBJP9q////W/4WAhkD3RAmBwIAABAHBzkBKf4Z////WwGKAawGqBAmBwIAABAHB0MAhAQ4////WwGKAY4GWBAmBwIAABAHB04AhAQu////W/0hAcAD3RAmBwIAABAHAbgA/PmE////WwGKAY4GOBAmBwIAABAHB0AAhAQu////W/1FAhQD3RAmBwIAABAHB0ABKf1O////W/1VAdYD3RAmBwIAABAHB0QBTP1Y////W/4TAa4D3RAmBwIAABAHBzgBJP4W////WwGKAY4F+BAmBwIAABAHB0QAhAQu////W/4TAa4GPRAmBwIAABAnBzoAhAQuEAcHOAEk/hb///9bAYoBjgU6ECYHAgAAEAcHOACEBC7///9b/UACDwVoECYHAgAAECcHOQCEBC4QBwc6ASf9RP///1v9QAIPA90QJgcCAAAQBwc6ASf9RP///1sBigGOBWgQJgcCAAAQBwc5AIQELv///1sBigIwBnIQJgcCAAAQBwGxAUwBBP///1v+FgIZBi0QJgcCAAAQJwc5ASn+GRAHAbgAhAEE////WwGKAY4GPRAmBwIAABAHBzoAhAQu////WwGKAawGqBAmBwIAABAHB0MAhAQ4////W/4TAa4FOhAmBwIAABAnBzgAhAQuEAcHOAEk/hb///9bAYoBjgcsECYHAgAAECcHOACEBC4QBwG3AFICCP///1sBigGOA90QBgcCAAD///9bAYoBjgVoECYHAgAAECcHOQCEBC4QBwdFALkDUv///1v+FgIZBToQJgcCAAAQJwc4AIQELhAHBzkBKf4Z////W/1FAhQD3RAmBwIAABAHB0ABKf1O////W/1VAdYD3RAmBwIAABAHB0QBTP1Y////WwGKAY4D3RAGBwIAAP///1v+FgIZA90QJgcCAAAQBwc5ASn+Gf///1v+FgIZBToQJgcCAAAQJwc4AIQELhAHBzkBKf4Z////yv/tAoACthAGBtsAAP///6b/DQSvBg4QJgcDAAAQJwc6A1QD/xAHBzgDhv8Q////pgFnBK8GLRAmBwMAABAHB0QDVARj////pgFnBK8DtRAGBwMAAP///6YBZwSvBmIQJgcDAAAQBwG4A1QBOf///6YBZwSvBt4QJgcDAAAQDwddAk8EdyAA////pgFnBK8GDhAmBwMAABAHBzoDVAP/////pgFnBK8IMRAmBwMAABAnBzkDVAP/EAcHQwNABcH///+mAWcErwYpECYHAwAAEAcHTgNUA/////+m/w0ErwVvECYHAwAAECcHOANUBGMQBwc4A4b/EP///6b+DQSvA7UQJgcDAAAQBwdAA5X+Fv///6b+DQSvBg4QJgcDAAAQJwc6A1QD/xAHB0ADlf4W///+QAAwBBkHFhAmBwQAABAHBzn/OQXc///+1P5xBBkGtRAmBwQAABAHB0ACA/56///+QAAwBBkHFhAmBwQAABAHBzn/OQXc///+1P5sBBkGtRAmBwQAABAHBzoCAf5w///+1AAwBBkGtRAGBwQAAP///tQAMAQZB8cQJgcEAAAQJwdBAksGLxAHB0UBnwWW///+1P6zBBkHxxAmBwQAABAnB0ECSwYvEAcHRAG4/rb///7U/0IEGQfHECYHBAAAECcHQQJLBi8QBwc5AgP/Rf///tQAMAQZBrUQJgcEAAAQBwdFAZ8Flv///q4AMAQZBugQJgcEAAAQBwc4/zgF3P///kwAMAQZB+sQJgcEAAAQBwc6/zkF3P///tT+cQQZBrUQJgcEAAAQBwdAAgP+ev///tQAMAQZB8cQJgcEAAAQBwdBAksGL////tQAMAQZBrUQBgcEAAD///5MADAEGQfrECYHBAAAECcHQQJLBi8QBwc6/zkF3P///kwAMAQZB+sQJgcEAAAQBwc6/zkF3P///q4AMAQZBugQJgcEAAAQBwc4/zgF3P///kAAMAQZB8cQJgcEAAAQJwdBAksGLxAHBzn/OQXc///+5P3uAmoEMhAnBwX+1AAAEAcHQwAAAcL///9U/e4CagMwECcHBf7UAAAQBwG3AGT+DP///1T9CwJqAUQQJwcF/tQAABAHB0UAwv5s////VPzXAnIBRBAnBwX+1AAAEAcHOAHo/Nr///9U+9UCewFEECcHBf7UAAAQBwG3AcD4SP///1T81wJyAUQQJwcF/tQAABAnBzgB6PzaEAcHOACO/xz///9U/e4CagLUECcHBf7UAAAQBwc5ANMBmv///1T97gJqA6kQJwcF/tQAABAHBzoA0wGa////VP3uAmoDxBAnBwX+1AAAEAcHTgDTAZr///9U/e4DJQFEECcHBf7UAAAQBwdcAiv/dP///1T97gJqAzUQJwcF/tQAABAHAbgAZP4M////VP3uAmoCphAnBwX+1AAAEAcHOADIAZr///9U/e4CagXMECcHBf7UAAAQJwc5ANMBmhAHB0MAvwNc////VP3uAmoBRBAHBwX+1AAA////VP3uAmoDZBAnBwX+1AAAEAcHRADIAZr///9U/e4CagPeECcHBf7UAAAQBwGxAMj+cP///8MByQQiBn8QJgcGAAAQJwc4AawFcxAHBzgDmAHM////wwHSA9wGfxAmBwYAABAHBzgBrAVz////wwHSA9wHfRAmBwYAABAHB0ABrAVz////wwHSA9wGrRAmBwYAABAHBzkBrAVz////wwHSA9wHPRAmBwYAABAHB0QBrAVz////wwHSA9wHghAmBwYAABAHBzoBrAVz////wwHSA9wE6xAGBwYAAP///oH/nwSOBn0QJgcHAAAQBwc5/3oFQ////p39qQSOBlQQJgcHAAAQBwdAAun9sv///oH/nwSOBn0QJgcHAAAQBwc5/3oFQ////p39pASOBlQQJgcHAAAQBwc6Auf9qP///p3/nwSOBlQQBgcHAAD///6d/58EywdLECYHBwAAECcHSAK5BdoQBwdFAcwFCv///p396wTLB0sQJgcHAAAQJwdIArkF2hAHB0QDDP3u///+nf56BMsHSxAmBwcAABAnB0gCuQXaEAcHOQLp/n3///6d/58EjgZUECYHBwAAEAcHRQHMBQr///6d/58EjgZUECYHBwAAEAcHOP95BUP///6N/58EjgdSECYHBwAAEAcHOv96BUP///6d/akEjgZUECYHBwAAEAcHQALp/bL///6d/58EywdLECYHBwAAEAcHSAK5Bdr///6d/58EjgZUEAYHBwAA///+jf+fBMsHUhAmBwcAABAnB0gCuQXaEAcHOv96BUP///6N/58EjgdSECYHBwAAEAcHOv96BUP///6d/58EjgZUECYHBwAAEAcHOP95BUP///6B/58EywdLECYHBwAAECcHSAK5BdoQBwc5/3oFQ///ADX6HQV8ANAQJgcIAAAQDwddAd76eyAA//8ANfrCBXwA0BAmBwgAABAHB0AC5/rL//8ANf1rBXwDyRAmBwgAABAPAb8A6wGFIAD//wA1/WsFfAOGECYHCAAAEAcHOgHyAXf//wA1/WsFfAJjECYHCAAAEAcBsQKz/PX//wA1/WsFfAN2ECYHCAAAEAcBuAGN/k3//wA1/WsFfAKxECYHCAAAEAcHOQHyAXf//wA1+wQFfADQECYHCAAAEAcHRAML+wf//wA1/WsFfADQEAYHCAAA//8ANf1rBXwDxBAmBwgAABAPAcAA6gGKIAD///9q/WsFfADRECYHCAAAEAYHUHfz//8ANf1rBXwA0BAGBwgAAP//ADX9awV8A7sQJgcIAAAQBwGxASn+Tf//ADX7uAV8ANAQJgcIAAAQBwdFAuP9Gf//ADX7kwV8ANAQJgcIAAAQBwc5Auf7lv//ADX9awV8A3EQJgcIAAAQBwG3AY3+Tf///x4C2ACbB+gQJgcJAAAQBwG3/9oCxP///uQC2AC5CGEQJgcJAAAQBwc6/9EGUv///5kC2ACbBgoQBgcJAAD///+Z/lMCWAYKECYHCQAAEAcHQAFt/lz///9QAtgAmwdeECYHCQAAEAcHOP/aBlL///8GAtgA+gYKECYHCQAAEAcHXAAABID////JAb4DoANkEAYHCgAA////wQAABL0EaBAmByMAABAHBzgA/QNc////wQAABL0CMxAGByMAAP///8EAAAS9BaAQJgcjAAAQBwGxAP0AMv///8H9uQS9AjMQJgcjAAAQBwdOApf9vP///8EAAAS9BWsQJgcjAAAQBwc6AP0DXP///8H+qQS9AjMQJgcjAAAQBwc4Ann+rP///8EAAAS9BSYQJgcjAAAQBwdEAP0DXP///8EAAAS9BJYQJgcjAAAQBwc5AP0DXP///8H96wS9AjMQJgcjAAAQBwdEAqH97v///8H8oQS9AjMQJgcjAAAQJwdDAqH92hAHBzkCw/yk////wf3aBL0CMxAmByMAABAHB0MCof3a////wf56BL0CMxAmByMAABAHBzkCff59////wf2pBL0EaBAmByMAABAnBzgA/QNcEAcHQAJ9/bL////B/QQEvQIzECYHIwAAEA8HXQF0/WIgAP///8H9pAS9AjMQJgcjAAAQBwc6Anv9qP///8EAAAS9BlgQJgcjAAAQBwdDAP0D6P///8H9qQS9AjMQJgcjAAAQBwdAAn39sv///YX/hQIxB64QJgcLAAAQBwG3AK8Civ///YX/hQIxB8MQJgcLAAAQBwc6AKsFtP///YX/hQIxBZsQBgcLAAD///2F/dsCMQWbECYHCwAAEAcHQABz/eT///2F/4UCMQcQECYHCwAAEAcHOACvBgT///2F/4UCMQWbECYHCwAAEAcHXAC7BDD////q/REDtwTIECYHDAAAEAcBsQDd+a///wCCAQcDtwTIEAYHDAAA////uQEHBBkGPxAmBwxiABAPAcD/eAQFIAD////mAQcEGAZEECYHDGEAEA8Bv/94BAAgAP///+wBBwO3B5QQJgcMAAAQBwGxAN8CJv///z8BBwO3BsoQJgcMAAAQBwGwARf/dP//AIIBBwO3B5QQJgcMAAAQBwGxAlcCJv///wkBBwO3B5UQJgcMAAAQBwG8ARcJg////s/8zQO3BMgQJgcMAAAQBwG8AN0BC////5YBBwO3BzwQJgcMAAAQBwdS/tAAgv///vn//QIEBoAQJgcNAAAQBwG3/7UBXP///r///QIEBvkQJgcNAAAQBwc6/6wE6v///4f//QIEBYQQBgcNAAD///+H/dsCWAWEECYHDQAAEAcHQAFt/eT///8r//0CBAX2ECYHDQAAEAcHOP+1BOr///+H//0CBAWEECYHDQAAEAcHXADjBET////O/10CdgNfECYHDgAAEAcHOAETAlP////O/10CdgGUEAYHDgAA////zv2qArABlBAmBw4AABAHBzgCJv2t////sP1oAU4DnhAmBxIAABAPB13/Wv3GIAD////Q/oEB2wOeECYHEgAAEAcHTgDr/oT////Q/0IB0AatECYHEgAAECcHOQDR/0UQDwHA/7wEcyAA////0AFbAU0FbBAmBxIAABAnBzgAwwRgEAcHRQCCArz///8Y/zoBsAOeECYHEgAAEAcHTwBi/xP////QAjUBfgZaECYHEgAAEAcBtwDDATb///91AjUBuQhgECYHEgAAECcHOADDBGAQBwdDAJEF8P///9D/QgHBBloQJgcSAAAQJwc5ANH/RRAHAbcAwwE2////0P9CAcEGshAmBxIAABAnBzkA0f9FEA8Bv/+9BG4gAP///9D+cQG8A54QJwdAANH+ehAGBxIAAP///9ACNQGnBqQQJgcSAAAQBwGxAMMBNv///9ACNQDQA54QBgcSAAD////Q/wMA7wOeECYHEgAAEAYHRV9k////0P9CAcEDnhAmBxIAABAHBzkA0f9F////pwI1AesGlBAmBxIAABAHB0MAwwQk////tQI1Ab0GihAmBxIAABAHB04AzQRg////h/4bAPsDnhAmBxIAABAHAbgAN/p+////0AI1AbgGahAmBxIAABAHB0AAzQRg////0P5xAbwDnhAmBxIAABAHB0AA0f56////0P5PAREDnhAmBxIAABAHB0QAh/5S////0P8NAOkDnhAmBxIAABAHBzgAX/8Q////0AI1AU0GKhAmBxIAABAHB0QAwwRg////0P8NAbUGbxAmBxIAABAnBzoAzQRgEAcHOABf/xD////QAjUBTQVsECYHEgAAEAcHOADDBGD////Q/mwBvQWaECYHEgAAECcHOQDNBGAQBwc6AM/+cP///9D+bAG3A54QJgcSAAAQBwc6AM/+cP///9ACNQG9BZoQJgcSAAAQBwc5AM0EYP///9ACNQJvBqQQJgcSAAAQBwGxAYsBNv///9D/QgHBBl8QJgcSAAAQJwc5ANH/RRAHAbgAwwE2////0AI1AbUGbxAmBxIAABAHBzoAzQRg////pwI1AesGlBAmBxIAABAHB0MAwwQk////0P8NAU0FbBAmBxIAABAnBzgAwwRgEAcHOABf/xD////QAjUBTQdeECYHEgAAECcHOADDBGAQBwG3AJECOv///9ACNQDQA54QBgcSAAD////QAVsBvQWaECYHEgAAECcHOQDNBGAQBwdFAIICvP///9D/QgHBBWwQJgcSAAAQJwc4AMMEYBAHBzkA0f9F////0P5xAbwDnhAmBxIAABAHB0AA0f56////0P5PAREDnhAmBxIAABAHB0QAh/5S////0AI1ANADnhAGBxIAAP///9D/QgHBA54QJgcSAAAQBwc5ANH/Rf///9D/QgHBBWwQJgcSAAAQJwc4AMMEYBAHBzkA0f9F////kPwyA+0D+hAmBxMAABAPB10BtvyQIAD///+Q/VUD7QP6ECYHEwAAEAcHTgLZ/Vj///+Q/hYD7QaMECYHEwAAECcHOQK//hkQDwHAAQcEUiAA////kAG0A+0FSxAmBxMAABAnBzgCDgQ/EAcHRQKUAz7///+Q/g4D7QP6ECYHEwAAEAcHTwJQ/ef///+QAbQD7QY5ECYHEwAAEAcBtwIOARX///+QAbQD7Qg/ECYHEwAAECcHOAIOBD8QBwdDAdwFz////5D+FgPtBjkQJgcTAAAQJwc5Ar/+GRAHAbcCDgEV////kP4WA+0GkRAmBxMAABAnBzkCv/4ZEA8BvwEIBE0gAP///5D9RQPtA/oQJwdAAr/9ThAGBxMAAP///5ABtAPtBoMQJgcTAAAQBwGxAg4BFf///5ABtAPtA/oQBgcTAAD///+Q/c0D7QP6ECYHEwAAEAcHRQK7/y7///+Q/hYD7QP6ECYHEwAAEAcHOQK//hn///+QAbQD7QZzECYHEwAAEAcHQwIOBAP///+QAbQD7QZpECYHEwAAEAcHTgIOBD////+Q/OUD7QP6ECYHEwAAEAcBuAKT+Uj///+QAbQD7QZJECYHEwAAEAcHQAIOBD////+Q/UUD7QP6ECYHEwAAEAcHQAK//U7///+Q/RkD7QP6ECYHEwAAEAcHRALj/Rz///+Q/dcD7QP6ECYHEwAAEAcHOAK7/dr///+QAbQD7QYJECYHEwAAEAcHRAIOBD////+Q/dcD7QZOECYHEwAAECcHOgIOBD8QBwc4Arv92v///5ABtAPtBUsQJgcTAAAQBwc4Ag4EP////5D9QAPtBXkQJgcTAAAQJwc5Ag4EPxAHBzoCvf1E////kP1AA+0D+hAmBxMAABAHBzoCvf1E////kAG0A+0FeRAmBxMAABAHBzkCDgQ/////kAG0A+0GgxAmBxMAABAHAbECDgEV////kP4WA+0GPhAmBxMAABAnBzkCv/4ZEAcBuAIOARX///+QAbQD7QZOECYHEwAAEAcHOgIOBD////+QAbQD7QZzECYHEwAAEAcHQwIOBAP///+Q/dcD7QVLECYHEwAAECcHOAIOBD8QBwc4Arv92v///5ABtAPtBz0QJgcTAAAQJwc4Ag4EPxAHAbcB3AIZ////kAG0A+0D+hAGBxMAAP///5ABtAPtBXkQJgcTAAAQJwc5Ag4EPxAHB0UClAM+////kP4WA+0FSxAmBxMAABAnBzgCDgQ/EAcHOQK//hn///+Q/UUD7QP6ECYHEwAAEAcHQAK//U7///+Q/RkD7QP6ECYHEwAAEAcHRALj/Rz///+QAbQD7QP6EAYHEwAA////kP4WA+0D+hAmBxMAABAHBzkCv/4Z////kP4WA+0FSxAmBxMAABAnBzgCDgQ/EAcHOQK//hn////BAAAEvQRoECYHIwAAEAcHOACcA1z////BAAAEvQIzEAYHIwAA////qQAABL0FoBAmByMAABAHAbEAnAAy////wf25BL0CMxAmByMAABAHB04BeP28////rwAABL0FaxAmByMAABAHBzoAnANc////wf6pBL0CMxAmByMAABAHBzgBWv6s////wQAABL0FJhAmByMAABAHB0QAnANc////owAABL0ElhAmByMAABAHBzkAnANc////wf3rBL0CMxAmByMAABAHB0QBgv3u////wfyhBL0CMxAmByMAABAnB0MBgv3aEAcHOQGk/KT////B/doEvQIzECYHIwAAEAcHQwGC/dr////B/noEvQIzECYHIwAAEAcHOQFe/n3////B/akEvQRoECYHIwAAECcHOACcA1wQBwdAAV79sv///8H9BAS9AjMQJgcjAAAQDwddAFX9YiAA////wf2kBL0CMxAmByMAABAHBzoBXP2o////gAAABL0GWBAmByMAABAHB0MAnAPo////wf2pBL0CMxAmByMAABAHB0ABXv2y////YPzwAs0DUhAmBxQAABAPB10A2f1OIAD///9g/aUC7ANSECYHFAAAEAcHTgH8/aj///7S/mYC0gajECYHFAAAECcHOQHi/mkQDwHA/pEEaSAA////DgFlAhUFYhAmBxQAABAnBzj/mARWEAcHRQBYAsb///9g/l4CwQNSECYHFAAAEAcHTwFz/jf///7cAYUCFQZQECYHFAAAEAcBt/+YASz///5KAYUCFQhWECYHFAAAECcHOP+YBFYQBwdD/2YF5v///tz+ZgLSBlAQJgcUAAAQJwc5AeL+aRAHAbf/mAEs////AP5mAtIGqBAmBxQAABAnBzkB4v5pEA8Bv/6SBGQgAP///2D9lQLNA1IQJwdAAeL9nhAGBxQAAP///qUBhQIVBpoQJgcUAAAQBwGx/5gBLP///2ABhQIVA1IQBgcUAAD///9g/osCbgNSECYHFAAAEAcHRQHe/+z///9g/mYC0gNSECYHFAAAEAcHOQHi/mn///58AYUCFQaKECYHFAAAEAcHQ/+YBBr///6AAYUCFQaAECYHFAAAEAcHTv+YBFb///9g/aMCegNSECYHFAAAEAcBuAG2+gb///6uAYUCFQZgECYHFAAAEAcHQP+YBFb///9g/ZUCzQNSECYHFAAAEAcHQAHi/Z7///9g/dcCkANSECYHFAAAEAcHRAIG/dr///9g/pUCaANSECYHFAAAEAcHOAHe/pj///7mAYUCFQYgECYHFAAAEAcHRP+YBFb///6r/pUCaAZlECYHFAAAECcHOv+YBFYQBwc4Ad7+mP///w4BhQIVBWIQJgcUAAAQBwc4/5gEVv///p/9kALIBZAQJgcUAAAQJwc5/5gEVhAHBzoB4P2U////YP2QAsgDUhAmBxQAABAHBzoB4P2U///+nwGFAhUFkBAmBxQAABAHBzn/mARW////CQGFAhUGmhAmBxQAABAHAbH//AEs///+6P5mAtIGVRAmBxQAABAnBzkB4v5pEAcBuP+YASz///6rAYUCFQZlECYHFAAAEAcHOv+YBFb///58AYUCFQaKECYHFAAAEAcHQ/+YBBr///8O/pUCaAViECYHFAAAECcHOP+YBFYQBwc4Ad7+mP///qoBhQIVB1QQJgcUAAAQJwc4/5gEVhAHAbf/ZgIw////YAGFAhUDUhAGBxQAAP///p8BZQIVBZAQJgcUAAAQJwc5/5gEVhAHB0UAWALG////Dv5mAtIFYhAmBxQAABAnBzj/mARWEAcHOQHi/mn///9g/ZUCzQNSECYHFAAAEAcHQAHi/Z7///9g/dcCkANSECYHFAAAEAcHRAIG/dr///9gAYUCFQNSEAYHFAAA////YP5mAtIDUhAmBxQAABAHBzkB4v5p////Dv5mAtIFYhAmBxQAABAnBzj/mARWEAcHOQHi/mn////K/+0CgAK2EAYG2wAA////lvxkAdUBjBAmBxUAABAPB13/4fzCIAD///+W/RkB/wGMECYHFQAAEAcHTgEP/Rz///+W/doCPAT6ECYHFQAAECcHOQD1/d0QDwHAACgCwCAA////lv7vAbkDuRAmBxUAABAnBzgBLwKtEAcHRQDcAFD///88/dIB1AGMECYHFQAAEAcHTwCG/av///+W//MByQSnECYHFQAAEAcBtwEO/4P///+W//MCJQatECYHFQAAECcHOAEvAq0QBwdDAP0EPf///5b92gHlBKcQJgcVAAAQJwc5APX93RAHAbcBDv+D////lv3aAhIE/xAmBxUAABAnBzkA9f3dEA8BvwApArsgAP///5b9CQHgAYwQJwdAAPX9EhAGBxUAAP///5b/8wHyBPEQJgcVAAAQBwGxAQ7/g////5b/8wGHAYwQBgcVAAD///+W/f8BhwGMECYHFQAAEAcHRQDm/2D///+W/doB5QGMECYHFQAAEAcHOQD1/d3///+W//MCVwThECYHFQAAEAcHQwEvAnH///+W//MCFQTXECYHFQAAEAcHTgElAq3///+W/RcBhwGMECYHFQAAEAcBuAC++Xr///+W//MCEAS3ECYHFQAAEAcHQAElAq3///+W/QkB4AGMECYHFQAAEAcHQAD1/RL///+W/UsBmAGMECYHFQAAEAcHRAEO/U7///+W/gkBhwGMECYHFQAAEAcHOADm/gz///+W//MBuQR3ECYHFQAAEAcHRAEvAq3///+W/gkCDQS8ECYHFQAAECcHOgElAq0QBwc4AOb+DP///5b/8wG5A7kQJgcVAAAQBwc4AS8Crf///5b9BAIVA+cQJgcVAAAQJwc5ASUCrRAHBzoA8/0I////lv0EAdsBjBAmBxUAABAHBzoA8/0I////lv/zAhUD5xAmBxUAABAHBzkBJQKt////lv/zAroE8RAmBxUAABAHAbEB1v+D////lv3aAeUErBAmBxUAABAnBzkA9f3dEAcBuAEO/4P///+W//MCDQS8ECYHFQAAEAcHOgElAq3///+W//MCVwThECYHFQAAEAcHQwEvAnH///+W/gkBuQO5ECYHFQAAECcHOAEvAq0QBwc4AOb+DP///5b/8wG5BasQJgcVAAAQJwc4AS8CrRAHAbcA/QCH////lv/zAYcBjBAGBxUAAP///5b+7wIVA+cQJgcVAAAQJwc5ASUCrRAHB0UA3ABQ////lv3aAeUDuRAmBxUAABAnBzgBLwKtEAcHOQD1/d3///+W/QkB4AGMECYHFQAAEAcHQAD1/RL///+W/UsBmAGMECYHFQAAEAcHRAEO/U7///+W//MBhwGMEAYHFQAA////lv3aAeUBjBAmBxUAABAHBzkA9f3d////lv3aAeUDuRAmBxUAABAnBzgBLwKtEAcHOQD1/d3//wBo/c0GdATpECYHFgAAECcHOgNjAtoQBwc4A1L90P//AGj9+gZ0AgsQJgcWAAAQBwdPAxn90///AGj9LAZ0BBQQJgcWAAAQJwc5A2MC2hAHBzoDVP0w//8AaP1BBnQCCxAmBxYAABAHB04DcP1E//8AaP+FBnQEFBAmBxYAABAHBzkDYwLa//8AaP4CBnQD5hAmBxYAABAnBzgDYwLaEAcHOQNW/gX//wBo/4UGdATpECYHFgAAEAcHOgNjAtr//wBo/4UGdAUOECYHFgAAEAcHQwNjAp7//wBo/osGdAQUECYHFgAAECcHOQNjAtoQBwdFAwz/7P//AGj/hQZ0BNQQJgcWAAAQBwG3A2P/sP//AGj9LAZ0AgsQJgcWAAAQBwc6A1T9MP//AGj/hQZ0AgsQBgcWAAD//wBo/4UGdAUEECYHFgAAEAcHTgNjAtr//wBo/NsGdAILECYHFgAAEAcBuAMq+T7//wBo/4UGdATkECYHFgAAEAcHQANjAtr//wBo/TEGdAILECYHFgAAEAcHQANW/Tr//wBo/Q8GdAILECYHFgAAEAcHRAN6/RL//wBo/c0GdAILECYHFgAAEAcHOANS/dD//wBo/4UGdASkECYHFgAAEAcHRANjAtr////O/XwBoANUECYHFwAAEA8HXf+s/dogAP///7f+MQG/A1QQJgcXAAAQBwdOAM/+NP///7z+8gHIBsEQJgcXAAAQJwc5ALX+9RAPAcD/tASHIAD////OAPcBRQWAECYHFwAAECcHOAC7BHQQBwdFAGQCWP///vz+6gGUA1QQJgcXAAAQBwdPAEb+w////84B8AF2Bm4QJgcXAAAQBwG3ALsBSv///20B8AGxCHQQJgcXAAAQJwc4ALsEdBAHB0MAiQYE////vP7yAaUGbhAmBxcAABAnBzkAtf71EAcBtwC7AUr///+8/vIBpQbGECYHFwAAECcHOQC1/vUQDwG//7UEgiAA////y/4hAaADVBAnB0AAtf4qEAYHFwAA////yAHwAZ8GuBAmBxcAABAHAbEAuwFK////zgHwANADVBAGBxcAAP///87/FwFBA1QQJgcXAAAQBwdFALEAeP///7z+8gGlA1QQJgcXAAAQBwc5ALX+9f///58B8AHjBqgQJgcXAAAQBwdDALsEOP///6MB8AGrBp4QJgcXAAAQBwdOALsEdP///87+LwFNA1QQJgcXAAAQBwG4AIn6kv///84B8AGmBn4QJgcXAAAQBwdAALsEdP///8v+IQGgA1QQJgcXAAAQBwdAALX+Kv///87+YwFjA1QQJgcXAAAQBwdEANn+Zv///87/IQE7A1QQJgcXAAAQBwc4ALH/JP///84B8AFFBj4QJgcXAAAQBwdEALsEdP///87/IQGjBoMQJgcXAAAQJwc6ALsEdBAHBzgAsf8k////zgHwAUUFgBAmBxcAABAHBzgAuwR0////wv4cAasFrhAmBxcAABAnBzkAuwR0EAcHOgCz/iD////G/hwBmwNUECYHFwAAEAcHOgCz/iD////CAfABqwWuECYHFwAAEAcHOQC7BHT////OAfACZwa4ECYHFwAAEAcBsQGDAUr///+8/vIBpQZzECYHFwAAECcHOQC1/vUQBwG4ALsBSv///84B8AGjBoMQJgcXAAAQBwc6ALsEdP///58B8AHjBqgQJgcXAAAQBwdDALsEOP///87/IQFFBYAQJgcXAAAQJwc4ALsEdBAHBzgAsf8k////zQHwAUUHchAmBxcAABAnBzgAuwR0EAcBtwCJAk7////OAfAA0ANUEAYHFwAA////wgD3AasFrhAmBxcAABAnBzkAuwR0EAcHRQBkAlj///+8/vIBpQWAECYHFwAAECcHOAC7BHQQBwc5ALX+9f///8v+IQGgA1QQJgcXAAAQBwdAALX+Kv///87+YwFjA1QQJgcXAAAQBwdEANn+Zv///84B8ADQA1QQBgcXAAD///+8/vIBpQNUECYHFwAAEAcHOQC1/vX///+8/vIBpQWAECYHFwAAECcHOAC7BHQQBwc5ALX+9f///2/8WgGvA1gQJgcYAAAQDwdd/0f8uCAA////Uv1fAa8DWBAmBxgAABAHB04Aav1i///++v4gAa8GKRAmBxgAABAnBzkAUP4jEA8BwP65A+8gAP///zYBgwGvBOgQJgcYAAAQJwc4/8AD3BAHB0UAXALk///+l/4YAa8DWBAmBxgAABAHB0//4f3x////BAH3Aa8F1hAmBxgAABAHAbf/wACy///+cgH3Aa8H3BAmBxgAABAnBzj/wAPcEAcHQ/+OBWz///8E/iABrwXWECYHGAAAECcHOQBQ/iMQBwG3/8AAsv///yj+IAGvBi4QJgcYAAAQJwc5AFD+IxAPAb/+ugPqIAD///9m/U8BrwNYECcHQABQ/VgQBgcYAAD///7NAfcBrwYgECYHGAAAEAcBsf/AALL///9vAfcBrwNYEAYHGAAA////b/31Aa8DWBAmBxgAABAHB0UATP9W////V/4gAa8DWBAmBxgAABAHBzkAUP4j///+pAH3Aa8GEBAmBxgAABAHB0P/wAOg///+qAH3Aa8GBhAmBxgAABAHB07/wAPc////b/0NAa8DWBAmBxgAABAHAbgAJPlw///+1gH3Aa8F5hAmBxgAABAHB0D/wAPc////Zv1PAa8DWBAmBxgAABAHB0AAUP1Y////b/1BAa8DWBAmBxgAABAHB0QAdP1E////b/3/Aa8DWBAmBxgAABAHBzgATP4C////DgH3Aa8FphAmBxgAABAHB0T/wAPc///+0/3/Aa8F6xAmBxgAABAnBzr/wAPcEAcHOABM/gL///82AfcBrwToECYHGAAAEAcHOP/AA9z///7H/UoBrwUWECYHGAAAECcHOf/AA9wQBwc6AE79Tv///2H9SgGvA1gQJgcYAAAQBwc6AE79Tv///scB9wGvBRYQJgcYAAAQBwc5/8AD3P///zEB9wGvBiAQJgcYAAAQBwGxACQAsv///xD+IAGvBdsQJgcYAAAQJwc5AFD+IxAHAbj/wACy///+0wH3Aa8F6xAmBxgAABAHBzr/wAPc///+pAH3Aa8GEBAmBxgAABAHB0P/wAOg////Nv3/Aa8E6BAmBxgAABAnBzj/wAPcEAcHOABM/gL///7SAfcBrwbaECYHGAAAECcHOP/AA9wQBwG3/44Btv///28B9wGvA1gQBgcYAAD///7HAYMBrwUWECYHGAAAECcHOf/AA9wQBwdFAFwC5P///zb+IAGvBOgQJgcYAAAQJwc4/8AD3BAHBzkAUP4j////Zv1PAa8DWBAmBxgAABAHB0AAUP1Y////b/1BAa8DWBAmBxgAABAHB0QAdP1E////bwH3Aa8DWBAGBxgAAP///1f+IAGvA1gQJgcYAAAQBwc5AFD+I////zb+IAGvBOgQJgcYAAAQJwc4/8AD3BAHBzkAUP4j////yv/tAoACthAGBtsAAP///dr//AOHB8AQJgcZAAAQBwc5AOcGhv///dr+AwOHBfcQJgcZAAAQBwdAAYH+DP///dr//AOHB8AQJgcZAAAQBwc5AOcGhv///dr9/gOHBfcQJgcZAAAQBwc6AX/+Av///dr//AOHBfcQBgcZAAD///3a//wDhwcRECYHGQAAECcHRwEMBVgQBwdFAMgEwv///dr+RQOHBxEQJgcZAAAQJwdHAQwFWBAHB0QBNv5I///92v7UA4cHERAmBxkAABAnB0cBDAVYEAcHOQGB/tf///3a//wDhwX3ECYHGQAAEAcHRQDIBML///3a//wDhwb8ECYHGQAAEAcHOAG4BfD///3a//wDhwiVECYHGQAAEAcHOgDnBob///3a/gMDhwX3ECYHGQAAEAcHQAGB/gz///3a//wDhwcRECYHGQAAEAcHRwEMBVj///3a//wDhwX3EAYHGQAA///92v/8A4cIlRAmBxkAABAnB0cBDAVYEAcHOgDnBob///3a//wDhwiVECYHGQAAEAcHOgDnBob///3a//wDhwb8ECYHGQAAEAcHOAG4BfD///3a//wDhwfAECYHGQAAECcHRwEMBVgQBwc5AOcGhv///8b8bgHBAQwQJgcaAAAQDwdd/838zCAA////xv2HAdkBDBAmBxoAABAHB04A6f2K////bP5IAcAHERAmBxoAABAnBzkAz/5LEA8BwP8rBNcgAP///6j/NQHABdAQJgcaAAAQJwc4ADIExBAHB0UAtACW////Fv5AAcABDBAmBxoAABAHB08AYP4Z////lP/+AcAGghAmBxoAABAHAbcAUAFe///+5P/+AcAIxBAmBxoAABAnBzgAMgTEEAcHQwAABlT///+U/kgBwAaCECYHGgAAECcHOQDP/ksQBwG3AFABXv///5r+SAHABxYQJgcaAAAQJwc5AM/+SxAPAb//LATSIAD////G/XcBwAEMECcHQADP/YAQBgcaAAD///+j//4BwAbMECYHGgAAEAcBsQCWAV7////G//4BwAEMEAYHGgAA////xv4dAcABDBAmBxoAABAHB0UAtP9+////xv5IAcABDBAmBxoAABAHBzkAz/5L////mP/+AdwHKhAmBxoAABAHB0MAtAS6////if/+AcAG7hAmBxoAABAHB04AoQTE////xv0hAcABDBAmBxoAABAHAbgAqvmE////t//+AcAGzhAmBxoAABAHB0AAoQTE////xv13AcABDBAmBxoAABAHB0AAz/2A////xv1VAcABDBAmBxoAABAHB0QA+v1Y////xv4TAcABDBAmBxoAABAHBzgA0v4W////gP/+AcAGjhAmBxoAABAHB0QAMgTE////tP4TAcAG0xAmBxoAABAnBzoAoQTEEAcHOADS/hb///+o//4BwAXQECYHGgAAEAcHOAAyBMT///+o/XIBwAX+ECYHGgAAECcHOQChBMQQBwc6AM39dv///8b9cgHAAQwQJgcaAAAQBwc6AM39dv///6j//gHABf4QJgcaAAAQBwc5AKEExP///8b//gH8BwgQJgcaAAAQBwGxARgBmv///6D+SAHABocQJgcaAAAQJwc5AM/+SxAHAbgAUAFe////tP/+AcAG0xAmBxoAABAHBzoAoQTE////mP/+AdwHKhAmBxoAABAHB0MAtAS6////qP4TAcAF0BAmBxoAABAnBzgAMgTEEAcHOADS/hb///9E//4BwAfCECYHGgAAECcHOAAyBMQQBwG3AAACnv///8b//gHAAQwQBgcaAAD///+o/zUBwAX+ECYHGgAAECcHOQChBMQQBwdFALQAlv///6j+SAHABdAQJgcaAAAQJwc4ADIExBAHBzkAz/5L////xv13AcABDBAmBxoAABAHB0AAz/2A////xv1VAcABDBAmBxoAABAHB0QA+v1Y////xv/+AcABDBAGBxoAAP///8b+SAHAAQwQJgcaAAAQBwc5AM/+S////6j+SAHABdAQJgcaAAAQJwc4ADIExBAHBzkAz/5L////zfxQAfUCbRAmBxsAABAPB13/mvyuIAD///+l/WkB9QJtECYHGwAAEAcHTgC9/Wz///+q/ioB9QU1ECYHGwAAECcHOQCj/i0QDwHA/6IC+yAA////zf/8AfUD9BAmBxsAABAnBzgAqQLoEAcHRQC0AZH///7q/iIB9QJtECYHGwAAEAcHTwA0/fv////N//wB9QTiECYHGwAAEAcBtwCp/77///9b//wB9QboECYHGwAAECcHOACpAugQBwdDAHcEeP///6r+KgH1BOIQJgcbAAAQJwc5AKP+LRAHAbcAqf++////qv4qAfUFOhAmBxsAABAnBzkAo/4tEA8Bv/+jAvYgAP///7n9WQH1Am0QJwdAAKP9YhAGBxsAAP///7b//AH1BSwQJgcbAAAQBwGxAKn/vv///83//AH1Am0QBgcbAAD////N/esB9QJtECYHGwAAEAcHRQCf/0z///+q/ioB9QJtECYHGwAAEAcHOQCj/i3///+N//wB9QUcECYHGwAAEAcHQwCpAqz///+R//wB9QUSECYHGwAAEAcHTgCpAuj////H/QMB9QJtECYHGwAAEAcBuAB3+Wb///+///wB9QTyECYHGwAAEAcHQACpAuj///+5/VkB9QJtECYHGwAAEAcHQACj/WL////N/TcB9QJtECYHGwAAEAcHRADH/Tr////N/fUB9QJtECYHGwAAEAcHOACf/fj////N//wB9QSyECYHGwAAEAcHRACpAuj///+8/fUB9QT3ECYHGwAAECcHOgCpAugQBwc4AJ/9+P///83//AH1A/QQJgcbAAAQBwc4AKkC6P///7D9VAH1BCIQJgcbAAAQJwc5AKkC6BAHBzoAof1Y////tP1UAfUCbRAmBxsAABAHBzoAof1Y////sP/8AfUEIhAmBxsAABAHBzkAqQLo////zf/8AfUFLBAmBxsAABAHAbEBDf++////qv4qAfUE5xAmBxsAABAnBzkAo/4tEAcBuACp/77///+8//wB9QT3ECYHGwAAEAcHOgCpAuj///+N//wB9QUcECYHGwAAEAcHQwCpAqz////N/fUB9QP0ECYHGwAAECcHOACpAugQBwc4AJ/9+P///7v//AH1BeYQJgcbAAAQJwc4AKkC6BAHAbcAdwDC////zf/8AfUCbRAGBxsAAP///7D//AH1BCIQJgcbAAAQJwc5AKkC6BAHB0UAtAGR////qv4qAfUD9BAmBxsAABAnBzgAqQLoEAcHOQCj/i3///+5/VkB9QJtECYHGwAAEAcHQACj/WL////N/TcB9QJtECYHGwAAEAcHRADH/Tr////N//wB9QJtEAYHGwAA////qv4qAfUCbRAmBxsAABAHBzkAo/4t////qv4qAfUD9BAmBxsAABAnBzgAqQLoEAcHOQCj/i3//wBZ/lwEiwPWECYHHAAAEAcHOAJ8Asr//wBZ/HQEiwPWECYHHAAAECcHOAJ8AsoQBwc5Ajb8d///AFn+XASLAhsQBgccAAD//wBZ/WEEiwPWECYHHAAAECcHOAJ8AsoQBwdFAjH+wv//AFn+XASLBMgQJgccAAAQBwdDAnwCWP//AFn+XASLBsoQJgccAAAQJwc4AnwCyhAHB0MCSgRa//8AWfyjBIsD1hAmBxwAABAnBzgCfALKEAcHOAIx/Kb//wBZ/lwEiwXIECYHHAAAECcHOAJ8AsoQBwG3AkoApP//AFn+XASLBNkQJgccAAAQBwc6AnwCyv///6oAYgQmBEoQJgcdAAAQBwc4AsUDPv///6oAYgQmAnMQBgcdAAD///+qAGIEJgWCECYHHQAAEAcBsQLFABT///+q/bkEJgJzECYHHQAAEAcHTgJ2/bz///+qAGIEJgVNECYHHQAAEAcHOgLGAz7///+q/qkEJgJzECYHHQAAEAcHOAJN/qz///+qAGIEJgUIECYHHQAAEAcHRALFAz7///+qAGIEJgR4ECYHHQAAEAcHOQLGAz7///+q/esEJgJzECYHHQAAEAcHRAJ1/e7///+q/KEEJgJzECYHHQAAECcHQwJ1/doQBwc5Apf8pP///6r92gQmAnMQJgcdAAAQBwdDAnX92v///6r+egQmAnMQJgcdAAAQBwc5Alz+ff///6r9qQQmBEoQJgcdAAAQJwc4AsUDPhAHB0ACXP2y////qv0EBCYCcxAmBx0AABAPB10BSP1iIAD///+q/aQEJgJzECYHHQAAEAcHOgJa/aj///+qAGIEJgY6ECYHHQAAEAcHQwLFA8r///+q/akEJgJzECYHHQAAEAcHQAJc/bL///9O/iUCpAS4ECcHHv7UAAAQBwdDAV4CSP///07+JQKkBH4QJwce/tQAABAHAbcBXv9a////Tv09AqQA8xAnBx7+1AAAEAcHRQDC/p7///9O/MkCpADzECcHHv7UAAAQBwc4AOb8zP///077xwKkAPMQJwce/tQAABAHAbcAvvg6////TvzJAqQA8xAnBx7+1AAAECcHOADm/MwQBwc4AI7/MP///07+JQKkA74QJwce/tQAABAHBzkBYQKE////Tv4lAqQEkxAnBx7+1AAAEAcHOgFhAoT///9O/iUCpASuECcHHv7UAAAQBwdOAWEChP///07+JQM+APMQJwce/tQAABAHB1wCRP+I////Tv4lAqQEgxAnBx7+1AAAEAcBuAFe/1r///9O/iUCpAOQECcHHv7UAAAQBwc4AWEChP///07+JQKkBrYQJwce/tQAABAnBzkBYQKEEAcHQwFNBEb///9O/iUCpADzEAcHHv7UAAD///9O/iUCpAROECcHHv7UAAAQBwdEAWEChP///07+JQKkBMgQJwce/tQAABAHAbEBXv9a////cAF8A88FMBAGBx8AAP///3ABfAPPBTAQBgcfAAD///+6AKYBRQgMECYHIAAAEAcBtwCKAuj///+UAKYBaQiFECYHIAAAEAcHOgCBBnb///+6AKYBQgYwEAYHIAAA////uv5xAf4GMBAmByAAABAHB0ABE/56////ugCmAUIHghAmByAAABAHBzgAigZ2////ugCmAbUGMBAmByAAABAHB1wAuwSA////Uv5iApsFWBAnByH+1AAAEAcHQwFzAuj///9S/mICgAUeECcHIf7UAAAQBwG3AXP/+v///1L9gwKAAbkQJwch/tQAABAHB0UArv7k////UvzTAoABuRAnByH+1AAAEAcHOADc/Nb///9S+9ECgAG5ECcHIf7UAAAQBwG3ALT4RP///1L80wKAAbkQJwch/tQAABAnBzgA3PzWEAcHOACO/4D///9S/mICgARgECcHIf7UAAAQBwc5AXMDJv///1L+YgKABTUQJwch/tQAABAHBzoBcwMm////Uv5iAoAFUBAnByH+1AAAEAcHTgFzAyb///9S/mIDKgG5ECcHIf7UAAAQBwdcAjD/1P///1L+YgKABSMQJwch/tQAABAHAbgBc//6////Uv5iAoAEMhAnByH+1AAAEAcHOAFzAyb///9S/mIChwdYECcHIf7UAAAQJwc5AXMDJhAHB0MBXwTo////Uv5iAoABuRAHByH+1AAA////Uv5iAoAE8BAnByH+1AAAEAcHRAFzAyb///9S/mICgAVoECcHIf7UAAAQBwGxAXP/+v///23/QgYGBFYQJgciAAAQBwc5BL//Rf///23/cQYGBgMQJgciAAAQJwc4A2gE9xAHBzgEsP90////bQFtBgYGAxAmByIAABAHBzgDaAT3////bQFtBgYHBhAmByIAABAHBzoDaAT3////bQFtBgYEVhAGByIAAP///8EAAAS9BGgQJgcjAAAQBwc4ALQDXP///8EAAAS9AjMQBgcjAAD////BAAAEvQWgECYHIwAAEAcBsQC0ADL////B/X0EvQIzECYHIwAAEAcHTgH+/YD////BAAAEvQVrECYHIwAAEAcHOgC/A1z////B/m0EvQIzECYHIwAAEAcHOAHg/nD////BAAAEvQUmECYHIwAAEAcHRAC0A1z////BAAAEvQSWECYHIwAAEAcHOQC/A1z////B/a8EvQIzECYHIwAAEAcHRAII/bL////B/GUEvQIzECYHIwAAECcHQwII/Z4QBwc5Air8aP///8H9ngS9AjMQJgcjAAAQBwdDAgj9nv///8H+PgS9AjMQJgcjAAAQBwc5AeT+Qf///8H9bQS9BGgQJgcjAAAQJwc4ALQDXBAHB0AB5P12////wfzIBL0CMxAmByMAABAPB10A2/0mIAD////B/WgEvQIzECYHIwAAEAcHOgHi/Wz///+YAAAEvQZYECYHIwAAEAcHQwC0A+j////B/W0EvQIzECYHIwAAEAcHQAHk/Xb///+++qwCswGHECYHJAAAEA8HXQCL+wogAP///777YQMNAYcQJgckAAAQBwdOAh37ZP///778IgLzBOEQJgckAAAQJwc5AgP8JRAPAcD/wQKnIAD///++/4ACswOgECYHJAAAECcHOADIApQQBwdFAUABGP///778GgLiAYcQJgckAAAQBwdPAZT78////77/gAKzBI4QJgckAAAQBwG3AMj/av///3r/gAKzBpQQJgckAAAQJwc4AMgClBAHB0MAlgQk////vvwiAvMEjhAmByQAABAnBzkCA/wlEAcBtwDI/2r///++/CIC8wTmECYHJAAAECcHOQID/CUQDwG//8ICoiAA////vvtRAu4BhxAnB0ACA/taEAYHJAAA////vv+AArME2BAmByQAABAHAbEAyP9q////vv+AArMBhxAGByQAAP///778RwKzAYcQJgckAAAQBwdFAZD9qP///778IgLzAYcQJgckAAAQBwc5AgP8Jf///6z/gAKzBMgQJgckAAAQBwdDAMgCWP///7v/gAKzBL4QJgckAAAQBwdOANMClP///777XwKzAYcQJgckAAAQBwG4AWj3wv///77/gAKzBJ4QJgckAAAQBwdAANMClP///777UQLuAYcQJgckAAAQBwdAAgP7Wv///777kwKzAYcQJgckAAAQBwdEAbj7lv///778UQKzAYcQJgckAAAQBwc4AZD8VP///77/gAKzBF4QJgckAAAQBwdEAMgClP///778UQKzBKMQJgckAAAQJwc6ANMClBAHBzgBkPxU////vv+AArMDoBAmByQAABAHBzgAyAKU////vvtMAukDzhAmByQAABAnBzkA0wKUEAcHOgIB+1D///+++0wC6QGHECYHJAAAEAcHOgIB+1D///++/4ACswPOECYHJAAAEAcHOQDTApT///++/4ACswTYECYHJAAAEAcBsQEs/2r///++/CIC8wSTECYHJAAAECcHOQID/CUQBwG4AMj/av///77/gAKzBKMQJgckAAAQBwc6ANMClP///6z/gAKzBMgQJgckAAAQBwdDAMgCWP///778UQKzA6AQJgckAAAQJwc4AMgClBAHBzgBkPxU////vv+AArMFkhAmByQAABAnBzgAyAKUEAcBtwCWAG7///++/4ACswGHEAYHJAAA////vv+AArMDzhAmByQAABAnBzkA0wKUEAcHRQFAARj///++/CIC8wOgECYHJAAAECcHOADIApQQBwc5AgP8Jf///777UQLuAYcQJgckAAAQBwdAAgP7Wv///777kwKzAYcQJgckAAAQBwdEAbj7lv///77/gAKzAYcQBgckAAD///++/CIC8wGHECYHJAAAEAcHOQID/CX///++/CIC8wOgECYHJAAAECcHOADIApQQBwc5AgP8Jf//AHD57QXCAOwQJgclAAAQDwddAe36SyAA//8AcPqSBcIA7BAmByUAABAHB0AC9fqb//8AcP0oBcID7hAmByUAABAPAb8BJQGqIAD//wBw/SgFwgOrECYHJQAAEAcHOgIsAZz//wBw/SgFwgPgECYHJQAAEAcBsQKP/nL//wBw/SgFwgObECYHJQAAEAcBuAHH/nL//wBw/SgFwgLWECYHJQAAEAcHOQIsAZz//wBw+tQFwgDsECYHJQAAEAcHRAMa+tf//wBw/SgFwgDsEAYHJQAA//8AcP0oBcID6RAmByUAABAPAcABJAGvIAD///+p/SgFwgD1ECYHJQAAEAcHUAC2ABf//wBw/SgFwgDsEAYHJQAA//8AcP0oBcID4BAmByUAABAHAbEBY/5y//8AcPuIBcIA7BAmByUAABAHB0UC8vzp//8AcPtjBcIA7BAmByUAABAHBzkC9ftm//8AcP0oBcIDlhAmByUAABAHAbcBx/5y////4PxIAhcDfBAnBvkAAP92EA8HXQAj/KYgAP///+D8/QJBA3wQJwb5AAD/dhAHB04BUf0A////sv2+AicGrxAnBvkAAP92EC8BwP9xBHUgABAHBzkBN/3B////4P76AWoFbhAnBvkAAP92ECcHRQC0AFsQBwc4AHgEYv///379tgIWA3wQJwb5AAD/dhAHB08AyP2P////vP/5AWoGXBAnBvkAAP92EAcBtwB4ATj///8q//kBbghhECcG+QAA/3YQJwc4AHgEYhAHB0MARgXx////vP2+AicGXBAnBvkAAP92ECcBtwB4ATgQBwc5ATf9wf///+D9vgInBrQQJwb5AAD/dhAvAb//cgRwIAAQBwc5ATf9wf///+D87QIiA3wQJwdAATf89hAHBvkAAP92////hf/5AWoGphAnBvkAAP92EAcBsQB4ATj////g//kBagN8EAcG+QAA/3b////g/dgBsAN8ECcG+QAA/3YQBwdFASD/Of///+D9vgInA3wQJwb5AAD/dhAHBzkBN/3B////XP/5AaAGlhAnBvkAAP92EAcHQwB4BCb///9g//kBagaMECcG+QAA/3YQBwdOAHgEYv///+D8+wHEA3wQJwb5AAD/dhAHAbgBAPle////jv/5AWoGbBAnBvkAAP92EAcHQAB4BGL////g/O0CIgN8ECcG+QAA/3YQBwdAATf89v///+D9LwHaA3wQJwb5AAD/dhAHB0QBUP0y////4P3tAbIDfBAnBvkAAP92EAcHOAEo/fD////G//kBagYsECcG+QAA/3YQBwdEAHgEYv///4v97QGyBnEQJwb5AAD/dhAnBzgBKP3wEAcHOgB4BGL////g//kBagVuECcG+QAA/3YQBwc4AHgEYv///3/86AIdBZwQJwb5AAD/dhAnBzoBNfzsEAcHOQB4BGL////g/OgCHQN8ECcG+QAA/3YQBwc6ATX87P///3//+QFqBZwQJwb5AAD/dhAHBzkAeARi////4P/5AiQGphAnBvkAAP92EAcBsQFAATj////I/b4CJwZhECcG+QAA/3YQJwG4AHgBOBAHBzkBN/3B////i//5AWoGcRAnBvkAAP92EAcHOgB4BGL///9c//kBoAaWECcG+QAA/3YQBwdDAHgEJv///+D97QGyBW4QJwb5AAD/dhAnBzgBKP3wEAcHOAB4BGL///+8//kBagZcECcG+QAA/3YQJwG3AHgBOBAHBzgAeARi////4P/5AWoDfBAHBvkAAP92////f/76AWoFnBAnBvkAAP92ECcHRQC0AFsQBwc5AHgEYv///+D9vgInBW4QJwb5AAD/dhAnBzkBN/3BEAcHOAB4BGL////g/O0CIgN8ECcG+QAA/3YQBwdAATf89v///+D9LwHaA3wQJwb5AAD/dhAHB0QBUP0y////4P/5AWoDfBAHBvkAAP92////4P2+AicDfBAnBvkAAP92EAcHOQE3/cH////g/b4CJwVuECcG+QAA/3YQJwc5ATf9wRAHBzgAeARi////zf5FAngEZhAmByYAABAnBzoA4QJXEAcHOAFE/kj////N/+cCeAQhECYHJgAAEAcHRADgAlf////N/+cCeAF7EAYHJgAA////zf/nAngEVhAmByYAABAHAbgA4P8t////zf/nAngE0hAmByYAABAPB13/2wJrIAD////N/+cCeARmECYHJgAAEAcHOgDhAlf///+x/+cCeAaJECYHJgAAECcHOQDhAlcQBwdDAM0EGf///8n/5wJ4BIEQJgcmAAAQBwdOAOECV////83+RQJ4A2MQJgcmAAAQJwc4AOACVxAHBzgBRP5I////zf2pAngBexAmByYAABAHB0ABU/2y////zf2pAngEZhAmByYAABAnBzoA4QJXEAcHQAFT/bL///9Q/XUEnARgECcHJ/7UAAAQBwdDAW4B8P///1D9dQScBCYQJwcn/tQAABAHAbcBbv8C////UPx/BJwBPhAnByf+1AAAEAcHRQDC/eD///9Q/H8EnAE+ECcHJ/7UAAAQBwc4AgT8gv///1D7fQScAT4QJwcn/tQAABAHAbcB3Pfw////UPx/BJwBPhAnByf+1AAAECcHOAIE/IIQBwc4AI7+mv///1D9dQScA2YQJwcn/tQAABAHBzkBbgIs////UP11BJwEOxAnByf+1AAAEAcHOgFuAiz///9Q/XUEnARWECcHJ/7UAAAQBwdOAW4CLP///1D9dQScAT4QJwcn/tQAABAHB1wCTv9C////UP11BJwEKxAnByf+1AAAEAcBuAFu/wL///9Q/XUEnAM4ECcHJ/7UAAAQBwc4AW4CLP///1D9dQScBl4QJwcn/tQAABAnBzkBbgIsEAcHQwFaA+7///9Q/XUEnAE+EAcHJ/7UAAD///9Q/XUEnAP2ECcHJ/7UAAAQBwdEAW4CLP///1D9dQScBHAQJwcn/tQAABAHAbEBbv8C//8AcPntBhUBhxAmByUAABAnByQDYgAAEA8HXQHt+ksgAP//AHD6kgYVAYcQJgclAAAQJwckA2IAABAHB0AC9fqb//8AcP0oBhUD7BAmByUAABAnByQDYgAAEA8BvwElAaggAP//AHD9KAYVA6kQJgclAAAQJwckA2IAABAHBzoCLAGa//8AcP0oBhUD3hAmByUAABAnByQDYgAAEAcBsQKP/nD//wBw/SgGFQOZECYHJQAAECcHJANiAAAQBwG4Acf+cP//AHD9KAYVAtQQJgclAAAQJwckA2IAABAHBzkCLAGa//8AcPrUBhUBhxAmByUAABAnByQDYgAAEAcHRAMa+tf//wBw/SgGFQGHECYHJQAAEAcHJANiAAD//wBw/SgGFQPnECYHJQAAECcHJANiAAAQDwHAASQBrSAA////qf0oBhUBhxAmByUAABAnByQDYgAAEAcHUAC2ABX//wBw/SgGFQGHECYHJQAAEAcHJANiAAD//wBw/SgGFQPeECYHJQAAECcHJANiAAAQBwGxAWP+cP//AHD7iAYVAYcQJgclAAAQJwckA2IAABAHB0UC8vzp//8AcPtjBhUBhxAmByUAABAnByQDYgAAEAcHOQL1+2b//wBw/SgGFQOUECYHJQAAECcHJANiAAAQBwG3Acf+cP///+D93QSfBIUQJgcoAAAQDwddAqv+OyAA////4P6SBEcEhRAmBygAABAHB04DV/6V////4P9TBC0HVBAmBygAABAnBzkDPf9WEA8BwAGWBRogAP///+ABhgN+BhMQJgcoAAAQJwc4Ap0FBxAHB0UC7gL/////4P9LBBwEhRAmBygAABAHB08Czv8k////4AGGA1gHARAmBygAABAHAbcCnQHd////4AGGA5MJBxAmBygAABAnBzgCnQUHEAcHQwJrBpf////g/1MELQcBECYHKAAAECcHOQM9/1YQBwG3Ap0B3f///+D/UwQtB1kQJgcoAAAQJwc5Az3/VhAPAb8BlwUVIAD////g/oIEKASFECcHQAM9/osQBgcoAAD////gAYYDgQdLECYHKAAAEAcBsQKdAd3////gAYYDOQSFEAYHKAAA////4P94BEAEhRAmBygAABAHB0UDsADZ////4P9TBC0EhRAmBygAABAHBzkDPf9W////4AGGA8UHOxAmBygAABAHB0MCnQTL////4AGGA40HMRAmBygAABAHB04CnQUH////4P6QBEwEhRAmBygAABAHAbgDiPrz////4AGGA4gHERAmBygAABAHB0ACnQUH////4P6CBCgEhRAmBygAABAHB0ADPf6L////4P7EBGIEhRAmBygAABAHB0QD2P7H////4P+CBDoEhRAmBygAABAHBzgDsP+F////4AGGAzkG0RAmBygAABAHB0QCnQUH////4P+CBDoHFhAmBygAABAnBzoCnQUHEAcHOAOw/4X////gAYYDOQYTECYHKAAAEAcHOAKdBQf////g/n0EIwZBECYHKAAAECcHOQKdBQcQBwc6Azv+gf///+D+fQQjBIUQJgcoAAAQBwc6Azv+gf///+ABhgONBkEQJgcoAAAQBwc5Ap0FB////+ABhgRJB0sQJgcoAAAQBwGxA2UB3f///+D/UwQtBwYQJgcoAAAQJwc5Az3/VhAHAbgCnQHd////4AGGA4UHFhAmBygAABAHBzoCnQUH////4AGGA8UHOxAmBygAABAHB0MCnQTL////4P+CBDoGExAmBygAABAnBzgCnQUHEAcHOAOw/4X////gAYYDOQgFECYHKAAAECcHOAKdBQcQBwG3AmsC4f///+ABhgM5BIUQBgcoAAD////gAYYDjQZBECYHKAAAECcHOQKdBQcQBwdFAu4C/////+D/UwQtBhMQJgcoAAAQJwc4Ap0FBxAHBzkDPf9W////4P6CBCgEhRAmBygAABAHB0ADPf6L////4P7EBGIEhRAmBygAABAHB0QD2P7H////4AGGAzkEhRAGBygAAP///+D/UwQtBIUQJgcoAAAQBwc5Az3/Vv///+D/UwQtBhMQJgcoAAAQJwc4Ap0FBxAHBzkDPf9W////w/w8BJsEbBAmBykAABAPB10Cp/yaIAD////D/bkExQRsECYHKQAAEAcHTgPV/bz////D/noEqwc5ECYHKQAAECcHOQO7/n0QDwHAAb8E/yAA////wwGhA6YF+BAmBykAABAnBzgCxgTsEAcHRQMWAwL////D/nIEmgRsECYHKQAAEAcHTwNM/kv////DAb4DgQbmECYHKQAAEAcBtwLGAcL////DAb4DvAjsECYHKQAAECcHOALGBOwQBwdDApQGfP///8P+egSrBuYQJgcpAAAQJwc5A7v+fRAHAbcCxgHC////w/56BKsHPhAmBykAABAnBzkDu/59EA8BvwHABPogAP///8P9qQSmBGwQJwdAA7v9shAGBykAAP///8MBvgOqBzAQJgcpAAAQBwGxAsYBwv///8MBvgNvBGwQBgcpAAD////D/dcEPARsECYHKQAAEAcHRQOs/zj////D/noEqwRsECYHKQAAEAcHOQO7/n3////DAb4D7gcgECYHKQAAEAcHQwLGBLD////DAb4DtgcWECYHKQAAEAcHTgLGBOz////D/O8ESARsECYHKQAAEAcBuAOE+VL////DAb4DsQb2ECYHKQAAEAcHQALGBOz////D/akEpgRsECYHKQAAEAcHQAO7/bL////D/SMEXgRsECYHKQAAEAcHRAPU/Sb////D/eEENgRsECYHKQAAEAcHOAOs/eT////DAb4Dbwa2ECYHKQAAEAcHRALGBOz////D/eEENgb7ECYHKQAAECcHOgLGBOwQBwc4A6z95P///8MBvgNvBfgQJgcpAAAQBwc4AsYE7P///8P9pAShBiYQJgcpAAAQJwc5AsYE7BAHBzoDuf2o////w/2kBKEEbBAmBykAABAHBzoDuf2o////wwG+A7YGJhAmBykAABAHBzkCxgTs////wwG+BHIHMBAmBykAABAHAbEDjgHC////w/56BKsG6xAmBykAABAnBzkDu/59EAcBuALGAcL////DAb4Drgb7ECYHKQAAEAcHOgLGBOz////DAb4D7gcgECYHKQAAEAcHQwLGBLD////D/eEENgX4ECYHKQAAECcHOALGBOwQBwc4A6z95P///8MBvgNvB+oQJgcpAAAQJwc4AsYE7BAHAbcClALG////wwG+A28EbBAGBykAAP///8MBoQO2BiYQJgcpAAAQJwc5AsYE7BAHB0UC7gMC////w/56BKsF+BAmBykAABAnBzgCxgTsEAcHOQO7/n3////D/akEpgRsECYHKQAAEAcHQAO7/bL////D/SMEXgRsECYHKQAAEAcHRAPU/Sb////DAb4DbwRsEAYHKQAA////w/56BKsEbBAmBykAABAHBzkDu/59////w/56BKsF+BAmBykAABAnBzgCxgTsEAcHOQO7/n3///2w/OECpQT2ECYHKgAAEA8HXQCx/T8gAP///bD9lgLEBPYQJgcqAAAQBwdOAdT9mf///bD+VwKqB8EQJgcqAAAQJwc5Abr+WhAPAcAAAQWHIAD///2wAigBlAaAECYHKgAAECcHOAEIBXQQBwdFAQQDif///bD+TwKZBPYQJgcqAAAQBwdPAUv+KP///bACwAHFBwIQJgcqAAAQBwG3AQoB3v///bACwAH+CXQQJgcqAAAQJwc4AQgFdBAHB0MA1gcE///9sP5XAqoHAhAmByoAABAnBzkBuv5aEAcBtwEKAd7///2w/lcCqgfGECYHKgAAECcHOQG6/loQDwG/AAIFgiAA///9sP2GAqUE9hAnB0ABuv2PEAYHKgAA///9sALAAfwHRBAmByoAABAHAbEBGAHW///9sALAAWwE9hAGByoAAP///bD+fAJGBPYQJgcqAAAQBwdFAbb/3f///bD+VwKqBPYQJgcqAAAQBwc5Abr+Wv///bACwAIwB6gQJgcqAAAQBwdDAQgFOP///bACwAH4B54QJgcqAAAQBwdOAQgFdP///bD9lAJSBPYQJgcqAAAQBwG4AY759////bACwAHzB34QJgcqAAAQBwdAAQgFdP///bD9hgKlBPYQJgcqAAAQBwdAAbr9j////bD9yAJoBPYQJgcqAAAQBwdEAd79y////bD+hgJABPYQJgcqAAAQBwc4Abb+if///bACwAGSBz4QJgcqAAAQBwdEAQgFdP///bD+hgJAB4MQJgcqAAAQJwc6AQgFdBAHBzgBtv6J///9sALAAZIGgBAmByoAABAHBzgBCAV0///9sP2BAqAGrhAmByoAABAnBzkBCAV0EAcHOgG4/YX///2w/YECoAT2ECYHKgAAEAcHOgG4/YX///2wAsAB+AauECYHKgAAEAcHOQEIBXT///2wAsADYgdEECYHKgAAEAcBsQJ+Adb///2w/lcCqgbzECYHKgAAECcHOQG6/loQBwG4AQYByv///bACwAHwB4MQJgcqAAAQBwc6AQgFdP///bACwAIwB6gQJgcqAAAQBwdDAQgFOP///bD+hgJABoAQJgcqAAAQJwc4AQgFdBAHBzgBtv6J///9sALAAZIIchAmByoAABAnBzgBCAV0EAcBtwDWA07///2wAsABbAT2EAYHKgAA///9sAIoAfgGrhAmByoAABAnBzkBCAV0EAcHRQEEA4n///2w/lcCqgaAECYHKgAAECcHOAEIBXQQBwc5Abr+Wv///bD9hgKlBPYQJgcqAAAQBwdAAbr9j////bD9yAJoBPYQJgcqAAAQBwdEAd79y////bACwAFsBPYQBgcqAAD///2w/lcCqgT2ECYHKgAAEAcHOQG6/lr///2w/lcCqgaAECYHKgAAECcHOAEIBXQQBwc5Abr+Wv///yEBdgPhBYUQJgcrAAAQBwc4/7YEef///yEBdgPhA1sQBgcrAAD///7DAXYD4Qa9ECYHKwAAEAcBsf+2AU////8h/doD4QNbECYHKwAAEAcHTgFP/d3///7UAXYD4QaIECYHKwAAEAcHOv/BBHn///8h/soD4QNbECYHKwAAEAcHOAEx/s3///8EAXYD4QZDECYHKwAAEAcHRP+2BHn///7IAXYD4QWzECYHKwAAEAcHOf/BBHn///8h/gwD4QNbECYHKwAAEAcHRAFZ/g////8h/MID4QNbECYHKwAAECcHQwFZ/fsQBwc5AXv8xf///yH9+wPhA1sQJgcrAAAQBwdDAVn9+////yH+mwPhA1sQJgcrAAAQBwc5ATX+nv///yH9ygPhBYUQJgcrAAAQJwc4/7YEeRAHB0ABNf3T////If0lA+EDWxAmBysAABAPB10ALP2DIAD///8h/cUD4QNbECYHKwAAEAcHOgEz/cn///6aAXYD4Qd1ECYHKwAAEAcHQ/+2BQX///8h/coD4QNbECYHKwAAEAcHQAE1/dP//wBh++8GBQTWECYHLAAAEAcHOAFHA8r//wBh++8GBQHsEAYHLAAA//8AVPvvBgUGDhAmBywAABAHAbEBRwCg//8AYfvvBgUB7BAmBywAABAHB04DCv2U//8AYfvvBgUF2RAmBywAABAHBzoBUgPK//8AYfvvBgUB7BAmBywAABAHBzgDMf4M//8AYfvvBgUFlBAmBywAABAHB0QBRwPK//8AWfvvBgUFBBAmBywAABAHBzkBUgPK//8AYfvvBgUB7BAmBywAABAHB0QC//3G//8AYfvvBgUB7BAmBywAABAnB0MC5P4+EAcHOQMG/Qj//wBh++8GBQHsECYHLAAAEAcHQwMM/hb//wBh++8GBQHsECYHLAAAEAcHOQMi/i3//wBh++8GBQTWECYHLAAAECcHOAFHA8oQBwdAAvD9bP//AGH77wYFAewQJgcsAAAQDwddAiz9vCAA//8AYfvvBgUB7BAmBywAABAHBzoDAv1i//8AK/vvBgUGxhAmBywAABAHB0MBRwRW//8AYfvvBgUB7BAmBywAABAHB0ADBP1s////OgMfAcYH+RAmBy0AABAHAbcBCwLV////OgMfAeoIchAmBy0AABAHBzoBAgZj////OgMfAZQGJBAGBy0AAP///zr84QH0BiQQJgctAAAQBwdAAQn86v///zoDHwGVB28QJgctAAAQBwc4AQsGY////zoDHwIZBiQQJgctAAAQBwdcAR8Env///83+kAK5BIoQJgcwAAAQJwc4AOUDfhAHBzgBpf6T////zf/xArkEihAmBzAAABAHBzgA5QN+////zf/xArkFiBAmBzAAABAHB0AA5AN+////zf/xArkEuBAmBzAAABAHBzkA5AN+////zf/xArkFSBAmBzAAABAHB0QA5QN+////zf/xArkFjRAmBzAAABAHBzoA5AN+////zf/xArkDJhAGBzAAAP////v/+gRhBBoQJgcxAAAQBwc4AXIDDv////v/+gRhAj0QBgcxAAD////7//oEYQVSECYHMQAAEAcBsQFy/+T////7/WIEYQI9ECYHMQAAEAcHTgJ2/WX////7//oEYQUdECYHMQAAEAcHOgFyAw7////7/lIEYQI9ECYHMQAAEAcHOAJY/lX////7//oEYQTYECYHMQAAEAcHRAFyAw7////7//oEYQRIECYHMQAAEAcHOQFyAw7////7/ZQEYQI9ECYHMQAAEAcHRAKA/Zf////7/EoEYQI9ECYHMQAAECcHQwKA/YMQBwc5AqL8Tf////v9gwRhAj0QJgcxAAAQBwdDAoD9g/////v+IwRhAj0QJgcxAAAQBwc5Alz+Jv////v9UgRhBBoQJgcxAAAQJwc4AXIDDhAHB0ACXP1b////+/ytBGECPRAmBzEAABAPB10BU/0LIAD////7/U0EYQI9ECYHMQAAEAcHOgJa/VH////7//oEYQYKECYHMQAAEAcHQwFyA5r////7/VIEYQI9ECYHMQAAEAcHQAJc/Vv////T/8oEiAQ7ECYHMgAAEAcHOAFUAy/////T/8oEiAJhEAYHMgAA////0//KBIgFcxAmBzIAABAHAbEBVAAF////0/2CBIgCYRAmBzIAABAHB04CWf2F////0//KBIgFPhAmBzIAABAHBzoBVQMv////0/5yBIgCYRAmBzIAABAHBzgCOv51////0//KBIgE+RAmBzIAABAHB0QBVAMv////0//KBIgEaRAmBzIAABAHBzkBVQMv////0/20BIgCYRAmBzIAABAHB0QCYv23////0/xqBIgCYRAmBzIAABAnB0MCYv2jEAcHOQKE/G3////T/aMEiAJhECYHMgAAEAcHQwJi/aP////T/kMEiAJhECYHMgAAEAcHOQI//kb////T/XIEiAQ7ECYHMgAAECcHOAFUAy8QBwdAAj/9e////9P8zQSIAmEQJgcyAAAQDwddATX9KyAA////0/1tBIgCYRAmBzIAABAHBzoCPf1x////0//KBIgGKxAmBzIAABAHB0MBVAO7////0/1yBIgCYRAmBzIAABAHB0ACP/17////y/6pAmUE6RAmBzMAABAnBzoA3QLaEAcHOAFB/qz////LAAACZQSkECYHMwAAEAcHRADdAtr////LAAACZQIpEAYHMwAA////ywAAAmUE2RAmBzMAABAHAbgA3f+w////ywAAAmUFVRAmBzMAABAPB13/2ALuIAD////LAAACZQTpECYHMwAAEAcHOgDdAtr///+tAAACZQcMECYHMwAAECcHOQDdAtoQBwdDAMkEnP///8UAAAJlBQQQJgczAAAQBwdOAN0C2v///8v+qQJlA+YQJgczAAAQJwc4AN0C2hAHBzgBQf6s////y/2pAmUCKRAmBzMAABAHB0ABUP2y////y/2pAmUE6RAmBzMAABAnBzoA3QLaEAcHQAFQ/bL///+w/kUDOASMECYHNAAAECcHOgDiAn0QBwc4ASz+SP///7D/7AM4BEcQJgc0AAAQBwdEAOECff///7D/7AM4AZsQBgc0AAD///+w/+wDOAR8ECYHNAAAEAcBuADh/1P///+w/+wDOAT4ECYHNAAAEA8HXf/cApEgAP///7D/7AM4BIwQJgc0AAAQBwc6AOICff///7D/7AM4Bq8QJgc0AAAQJwc5AOICfRAHB0MAzgQ/////sP/sAzgEpxAmBzQAABAHB04A4gJ9////sP5FAzgDiRAmBzQAABAnBzgA4QJ9EAcHOAEs/kj///+w/W0DOAGbECYHNAAAEAcHQAE7/Xb///+w/W0DOASMECYHNAAAECcHOgDiAn0QBwdAATv9dv///6f+FgPHArwQJgc1AAAQBwc5AgP+Gf///6f+RQPHBGgQJgc1AAAQJwc4ASwDXBAHBzgB9P5I////p/93A8cEaBAmBzUAABAHBzgBLANc////p/93A8cFaxAmBzUAABAHBzoBLANc////p/93A8cCvBAGBzUAAP///7v95ARRAqcQJgc2AAAQBwc5AgP95////7v+EwRRBFQQJgc2AAAQJwc4ARMDSBAHBzgB9P4W////u/96BFEEVBAmBzYAABAHBzgBEwNI////u/96BFEFVxAmBzYAABAHBzoBEwNI////u/96BFECpxAGBzYAAP///+b8bgHLAh8QJgc3AAAQDwdd/9f8zCAA////5v2HAicCHxAmBzcAABAHB04BN/2K////mf5IAg0FRRAmBzcAABAnBzkBHf5LEA8BwP9YAwsgAP///9X/FwEIBAQQJgc3AAAQJwc4AF8C+BAGB0V4eP///2T+QAH8Ah8QJgc3AAAQBwdPAK7+Gf///9X//AFMBI4QJgc3AAAQBwG3AJH/av///xH//AFVBvgQJgc3AAAQJwc4AF8C+BAHB0MALQSI////1f5IAg0EjhAmBzcAABAnBzkBHf5LEAcBtwCR/2r////H/kgCDQVKECYHNwAAECcHOQEd/ksQDwG//1kDBiAA////5v13AggCHxAnB0ABHf2AEAYHNwAA////nv/8AXUE2BAmBzcAABAHAbEAkf9q////5v/8ALoCHxAGBzcAAP///+b+CQFsAh8QJgc3AAAQBwdFANz/av///+b+SAINAh8QJgc3AAAQBwc5AR3+S////0P//AGHBSwQJgc3AAAQBwdDAF8CvP///3///AGHBL4QJgc3AAAQBwdOAJcClP///+b9IQF4Ah8QJgc3AAAQBwG4ALT5hP///63//AGCBJ4QJgc3AAAQBwdAAJcClP///+b9dwIIAh8QJgc3AAAQBwdAAR39gP///+b9VQGOAh8QJgc3AAAQBwdEAQT9WP///+b+EwFmAh8QJgc3AAAQBwc4ANz+Fv///63//ADpBMIQJgc3AAAQBwdEAF8C+P///6r+EwF/BKMQJgc3AAAQJwc6AJcClBAHBzgA3P4W////1f/8AOkEBBAmBzcAABAHBzgAXwL4////nv1yAgMDzhAmBzcAABAnBzkAlwKUEAcHOgEb/Xb////m/XICAwIfECYHNwAAEAcHOgEb/Xb///+e//wBhwPOECYHNwAAEAcHOQCXApT////m//wCPQTYECYHNwAAEAcBsQFZ/2r////h/kgCDQSTECYHNwAAECcHOQEd/ksQBwG4AJH/av///6r//AF/BKMQJgc3AAAQBwc6AJcClP///0P//AGHBSwQJgc3AAAQBwdDAF8CvP///9X+EwFmBAQQJgc3AAAQJwc4AF8C+BAHBzgA3P4W////cf/8AOkF9hAmBzcAABAnBzgAXwL4EAcBtwAtANL////m//wAugIfEAYHNwAA////nv8XAYcDzhAmBzcAABAnBzkAlwKUEAYHRXh4////1f5IAg0EBBAmBzcAABAnBzgAXwL4EAcHOQEd/kv////m/XcCCAIfECYHNwAAEAcHQAEd/YD////m/VUBjgIfECYHNwAAEAcHRAEE/Vj////m//wAugIfEAYHNwAA////5v5IAg0CHxAmBzcAABAHBzkBHf5L////1f5IAg0EBBAmBzcAABAnBzgAXwL4EAcHOQEd/kv////J/G4CJAMAECYHQgAAEA8HXQAQ/MwgAP///8n9VQIkAwAQJgdCAAAQBwdOATP9WP///8n+FgIkBiUQJgdCAAAQJwc5ARn+GRAPAcD/vAPrIAD////J/48CJATkECYHQgAAECcHOADDA9gQBwdFAPoA8P///2D+DgIkAwAQJgdCAAAQBwdPAKr95////8n//gIkBdIQJgdCAAAQBwG3AMMArv///3X//gIkB9gQJgdCAAAQJwc4AMMD2BAHB0MAkQVo////yf4WAiQF0hAmB0IAABAnBzkBGf4ZEAcBtwDDAK7////J/hYCJAYqECYHQgAAECcHOQEZ/hkQDwG//70D5iAA////yf1FAiQDABAnB0ABGf1OEAYHQgAA////yf/+AiQGHBAmB0IAABAHAbEAwwCu////yf/+AiQDABAGB0IAAP///8n+CQIkAwAQJgdCAAAQBwdFARX/av///8n+FgIkAwAQJgdCAAAQBwc5ARn+Gf///6f//gIkBgwQJgdCAAAQBwdDAMMDnP///6v//gIkBgIQJgdCAAAQBwdOAMMD2P///8n9IQIkAwAQJgdCAAAQBwG4AO35hP///8n//gIkBeIQJgdCAAAQBwdAAMMD2P///8n9RQIkAwAQJgdCAAAQBwdAARn9Tv///8n9VQIkAwAQJgdCAAAQBwdEAT39WP///8n+EwIkAwAQJgdCAAAQBwc4ARX+Fv///8n//gIkBaIQJgdCAAAQBwdEAMMD2P///8n+EwIkBecQJgdCAAAQJwc6AMMD2BAHBzgBFf4W////yf/+AiQE5BAmB0IAABAHBzgAwwPY////yf1AAiQFEhAmB0IAABAnBzkAwwPYEAcHOgEX/UT////J/UACJAMAECYHQgAAEAcHOgEX/UT////J//4CJAUSECYHQgAAEAcHOQDDA9j////J//4CJAYcECYHQgAAEAcBsQEnAK7////J/hYCJAXXECYHQgAAECcHOQEZ/hkQBwG4AMMArv///8n//gIkBecQJgdCAAAQBwc6AMMD2P///6f//gIkBgwQJgdCAAAQBwdDAMMDnP///8n+EwIkBOQQJgdCAAAQJwc4AMMD2BAHBzgBFf4W////yf/+AiQG1hAmB0IAABAnBzgAwwPYEAcBtwCRAbL////J//4CJAMAEAYHQgAA////yf+PAiQFEhAmB0IAABAnBzkAwwPYEAcHRQD6APD////J/hYCJATkECYHQgAAECcHOADDA9gQBwc5ARn+Gf///8n9RQIkAwAQJgdCAAAQBwdAARn9Tv///8n9VQIkAwAQJgdCAAAQBwdEAT39WP///8n//gIkAwAQBgdCAAD////J/hYCJAMAECYHQgAAEAcHOQEZ/hn////J/hYCJATkECYHQgAAECcHOADDA9gQBwc5ARn+Gf//AGL9NAi3BHMQJgdGAAAQJwc6BjoCZBAHBzgGbP3k//8AYv00CLcELhAmB0YAABAHB0QGOgJk//8AYv00CLcBoBAGB0YAAP//AGL9NAi3BGMQJgdGAAAQBwG4Bjr/Ov//AGL9NAi3BN8QJgdGAAAQDwddBTUCeCAA//8AYv00CLcEcxAmB0YAABAHBzoGOgJk//8AYv00CLcGlhAmB0YAABAnBzkGOgJkEAcHQwYmBCb//wBi/TQItwSOECYHRgAAEAcHTgY6AmT//wBi/TQItwNwECYHRgAAECcHOAY6AmQQBwc4Bmz95P//AGL84Qi3AaAQJgdGAAAQBwdABnv86v//AGL84Qi3BHMQJgdGAAAQJwc6BjoCZBAHB0AGe/zq//8An/rvBPMBgxAnB48Acv8GEAcG1wHKAAD///+//G4B+AI5ECYHSQAAEA8HXQAE/MwgAP///7/9IwJPAjkQJgdJAAAQBwdOAV/9Jv///7/95AIwBcIQJgdJAAAQLwHA/+QDiCAAEAcHOQFA/ef///+//xABzwSBECYHSQAAECcHOADrA3UQBwdFARMAcf///7/93AKhAjkQJgdJAAAQBwdPAVP9tf///7//7wHPBKcQJgdJAAAQBwG3AOv/g////53/7wHhB3UQJgdJAAAQJwc4AOsDdRAHB0MAuQUF////v/3kAjAEpxAmB0kAABAnAbcA6/+DEAcHOQFA/ef///+//eQCMAXHECYHSQAAEC8Bv//lA4MgABAHBzkBQP3n////v/0TAh0CORAnB0ABMv0cEAYHSQAA////v//vAc8FuRAmB0kAABAHAbEA6wBL////v//vAc8CORAGB0kAAP///7/+CQHPAjkQJgdJAAAQBwdFAR3/av///7/95AIwAjkQJgdJAAAQBwc5AUD95////7//7wITBakQJgdJAAAQBwdDAOsDOf///7//7wIJBKUQJgdJAAAQBwdOARkCe////7/9IQHXAjkQJgdJAAAQBwG4ARP5hP///7//7wIEBLcQJgdJAAAQBwdAARkCrf///7/9EwIdAjkQJgdJAAAQBwdAATL9HP///7/9VQHPAjkQJgdJAAAQBwdEATH9WP///7/+EwHPAjkQJgdJAAAQBwc4AQn+Fv///7//7wHPBHcQJgdJAAAQBwdEAPUCrf///7/+EwIBBIoQJgdJAAAQJwc6ARkCexAHBzgBCf4W////v//vAc8EgRAmB0kAABAHBzgA6wN1////v/0OAqgErxAmB0kAABAnBzkBGQN1EAcHOgHA/RL///+//Q4CMAI5ECYHSQAAEAcHOgFI/RL///+//+8CCQSvECYHSQAAEAcHOQEZA3X///+//+8ClwW5ECYHSQAAEAcBsQGzAEv///+//eQCMASsECYHSQAAECcBuADr/4MQBwc5AUD95////7//7wIBBIoQJgdJAAAQBwc6ARkCe////7//7wITBakQJgdJAAAQBwdDAOsDOf///7/+EwHPBIEQJgdJAAAQJwc4AOsDdRAHBzgBCf4W////v//vAc8GcxAmB0kAABAnBzgA6wN1EAcBtwC5AU////+//+8BzwI5EAYHSQAA////v/8QAgkErxAmB0kAABAnBzkBGQN1EAcHRQETAHH///+//eQCMASBECYHSQAAECcHOADrA3UQBwc5AUD95////7/9EwIdAjkQJgdJAAAQBwdAATL9HP///7/9VQHPAjkQJgdJAAAQBwdEATH9WP///7//7wHPAjkQBgdJAAD///+//eQCMAI5ECYHSQAAEAcHOQFA/ef///+//eQCMASBECYHSQAAECcHOADrA3UQBwc5AUD95////8EAAAS9BToQJgcjAAAQBwc4AFIELv///8EAAAS9AjMQBgcjAAD///9fAAAEvQZyECYHIwAAEAcBsQBSAQT////B/WkEvQIzECYHIwAAEAcHTgG6/Wz///9lAAAEvQY9ECYHIwAAEAcHOgBSBC7////B/lkEvQIzECYHIwAAEAcHOAGc/lz///+gAAAEvQX4ECYHIwAAEAcHRABSBC7///9ZAAAEvQVoECYHIwAAEAcHOQBSBC7////B/ZsEvQIzECYHIwAAEAcHRAHE/Z7////B/FEEvQIzECYHIwAAECcHQwHE/YoQBwc5Aeb8VP///8H9igS9AjMQJgcjAAAQBwdDAcT9iv///8H+KgS9AjMQJgcjAAAQBwc5AaD+Lf///8H9WQS9BToQJgcjAAAQJwc4AFIELhAHB0ABoP1i////wfy0BL0CMxAmByMAABAPB10Al/0SIAD////B/VQEvQIzECYHIwAAEAcHOgGe/Vj///82AAAEvQcqECYHIwAAEAcHQwBSBLr////B/VkEvQIzECYHIwAAEAcHQAGg/WL////BAAAEvQRoECYHIwAAEAcHOABaA1z////BAAAEvQIzEAYHIwAA////SQAABL0FoBAmByMAABAGAbE8Mv///8H9fQS9AjMQJgcjAAAQBwdOAdb9gP///1oAAAS9BWsQJgcjAAAQBwc6AEcDXP///8H+bQS9AjMQJgcjAAAQBwc4Abj+cP///6gAAAS9BSYQJgcjAAAQBwdEAFoDXP///04AAAS9BJYQJgcjAAAQBwc5AEcDXP///8H9rwS9AjMQJgcjAAAQBwdEAeD9sv///8H8ZQS9AjMQJgcjAAAQJwdDAeD9nhAHBzkCAvxo////wf2eBL0CMxAmByMAABAHB0MB4P2e////wf4+BL0CMxAmByMAABAHBzkBvP5B////wf1tBL0EaBAmByMAABAnBzgAWgNcEAcHQAG8/Xb////B/MgEvQIzECYHIwAAEA8HXQCz/SYgAP///8H9aAS9AjMQJgcjAAAQBwc6Abr9bP///z4AAAS9BlgQJgcjAAAQBwdDAFoD6P///8H9bQS9AjMQJgcjAAAQBwdAAbz9dv///7z/2wNfAZYQBgdKAAD////AAXwEHwUwEAYHH1AA////wAF8BB8FMBAGBx9QAP///6sBbwV9BbsQJgdLAAAQBwc4BPMEr////6sBbwVhBJoQBgdLAAD///+rAW8F1wbzECYHSwAAEAcBsQTzAYX///+r/gkGDASaECYHSwAAEAcHTgUc/gz///+rAW8F5ga+ECYHSwAAEAcHOgT+BK////+r/vkFfQSaECYHSwAAEAcHOATz/vz///+rAW8FfQZ5ECYHSwAAEAcHRATzBK////+rAW8F7gXpECYHSwAAEAcHOQT+BK////+r/jsFpQSaECYHSwAAEAcHRAUb/j7///+r/PEGQwSaECYHSwAAECcHQwUb/ioQBwc5BT389P///6v+KgZDBJoQJgdLAAAQBwdDBRv+Kv///6v+ygXyBJoQJgdLAAAQBwc5BQL+zf///6v9+QXtBbsQJgdLAAAQJwc4BPMErxAHB0AFAv4C////q/1UBeIEmhAmB0sAABAPB10D7v2yIAD///+r/fQF6ASaECYHSwAAEAcHOgUA/fj///+rAW8GGwerECYHSwAAEAcHQwTzBTv///+r/fkF7QSaECYHSwAAEAcHQAUC/gL////DAdIEpAZNECYHBgAAECcHOAGsBUEQBwc4BBoB9P///8MB0gPcBk0QJgcGAAAQBwc4AawFQf///8MB0gPcB0sQJgcGAAAQBwdAAawFQf///8MB0gPcBnsQJgcGAAAQBwc5AawFQf///8MB0gPcBwsQJgcGAAAQBwdEAawFQf///8MB0gPcB1AQJgcGAAAQBwc6AawFQf///8MB0gPcBOsQBgcGAAD//wBh++8GBQOWECYHLAAAEAcHOAQhAor//wBh++8GBQHsEAYHLAAA//8AYfvvBgUEzhAmBywAABAHAbEEIf9g//8AYfvvBgUB7BAmBywAABAHB04DUP2A//8AYfvvBgUEmRAmBywAABAHBzoELAKK//8AYfvvBgUB7BAmBywAABAHBzgDMf4M//8AYfvvBgUEVBAmBywAABAHB0QEIQKK//8AYfvvBgUDxBAmBywAABAHBzkELAKK//8AYfvvBgUB7BAmBywAABAHB0QDWf2y//8AYfvvBgUB7BAmBywAABAnB0MC5P4+EAcHOQMG/Qj//wBh++8GBQHsECYHLAAAEAcHQwLk/e7//wBh++8GBQHsECYHLAAAEAcHOQM2/kH//wBh++8GBQOWECYHLAAAECcHOAQhAooQBwdAAzb9dv//AGH77wYFAewQJgcsAAAQDwddAiz9vCAA//8AYfvvBgUB7BAmBywAABAHBzoDNP1s//8AYfvvBgUFhhAmBywAABAHB0MEIQMW//8AYfvvBgUB7BAmBywAABAHB0ADNv12////3wGUA2QEWxAGB0wAAP///ugBfwT8BxkQJgdNAAAQBwc5/+EF3////fn/CQT8BsAQJgdNAAAQBwdA/uP/Ev///ugBfwT8BxkQJgdNAAAQBwc5/+EF3////fT/BAT8BsAQJgdNAAAQBwc6/uH/CP///1wBfwT8BsAQBgdNAAD///9cAX8E/AfcECYHTQAAECcHSALYBmsQBwdFAkQF3P///eb/SwT8B9wQJgdNAAAQJwdIAtgGaxAHB0T+mP9O///96v/aBPwH3BAmB00AABAnB0gC2AZrEAcHOf7j/93///9cAX8E/AbAECYHTQAAEAcHRQJEBdz///9WAX8E/AbrECYHTQAAEAcHOP/gBd////70AX8E/AfuECYHTQAAEAcHOv/hBd////35/wkE/AbAECYHTQAAEAcHQP7j/xL///9cAX8E/AfcECYHTQAAEAcHSALYBmv///9cAX8E/AbAEAYHTQAA///+9AF/BPwH7hAmB00AABAnB0gC2AZrEAcHOv/hBd////70AX8E/AfuECYHTQAAEAcHOv/hBd////9WAX8E/AbrECYHTQAAEAcHOP/gBd////7oAX8E/AfcECYHTQAAECcHSALYBmsQBwc5/+EF3////yn/wQP8BlAQJgdgAAAQBwc5ACIE2f///z39MQP8BlAQJgdgAAAQBwdAAOj9Ov///yn/wQP8BlAQJgdgAAAQBwc5ACIE2f///z39LAP8BlAQJgdgAAAQBwc6AOb9MP///z3/wQP8BlAQBgdgAAD///89/8EEBAdYECYHYAAAECcHRQHzBPoQBwdHAhEFn////z39cwQEB1gQJgdgAAAQJwdEAQv9dhAHB0cCEQWf////Pf4CBAQHWBAmB2AAABAnBzkA6P4FEAcHRwIRBZ////89/8ED/AZQECYHYAAAEAcHRQHzBPr///89/8ED/AZQECYHYAAAEAcHOAAhBNn///81/8ED/AboECYHYAAAEAcHOgAiBNn///89/TED/AZQECYHYAAAEAcHQADo/Tr///89/8EEBAdYECYHYAAAEAcHRwIRBZ////89/8ED/AZQEAYHYAAA////Nf/BBAQHWBAmB2AAABAnBzoAIgTZEAcHRwIRBZ////81/8ED/AboECYHYAAAEAcHOgAiBNn///89/8ED/AZQECYHYAAAEAcHOAAhBNn///8p/8EEBAdYECYHYAAAECcHOQAiBNkQBwdHAhEFn///AED/zwoZB+4QJgdhAAAQJwc+CSkGBhAnBz0C3AKnEAcHOQNABU///wBA/akKGQfuECYHYQAAECcHPgkpBgYQJwc9AtwCpxAHB0AC8/2y//8AQP/PBu0GiRAmB2EAABAnBz0C3AKnEAcHOQNABU///wBA/aQKGQfuECYHYQAAECcHPgkpBgYQJwc9AtwCpxAHBzoC8f2o//8AQP/PBu0F4hAmB2EAABAHBz0C3AKn//8AQP/PCjQI3xAmB2EAABAnB0EIbgdHECcHPgkpBgYQJwdFB+4HABAHBz0C3AKn//8AQP3rCjQI3xAmB2EAABAnB0EIbgdHECcHPgkpBgYQJwc9AtwCpxAHB0QDFv3u//8AQP56CjQI3xAmB2EAABAnB0EIbgdHECcHPgkpBgYQJwc9AtwCpxAHBzkC8/59//8AQP75Bu0F4hAmB2EAABAnBz0C3AKnEAcHRQMCAFr//wBA/88G7QZbECYHYQAAECcHPQLcAqcQBwc4A0AFT///AED/zwbtB14QJgdhAAAQJwc9AtwCpxAHBzoDQAVP//8AQP2pBu0F4hAmB2EAABAnBz0C3AKnEAcHQALz/bL//wBA/88KNAjfECYHYQAAECcHQQhuB0cQJwc+CSkGBhAHBz0C3AKn//8AQP/PChkH7hAmB2EAABAnBz4JKQYGEAcHPQLcAqf//wBA/88KNAjfECYHYQAAECcHQQhuB0cQJwc+CSkGBhAnBz0C3AKnEAcHOgNABU///wBA/88KGQfuECYHYQAAECcHPgkpBgYQJwc9AtwCpxAHBzoDQAVP//8AQP/PChkH7hAmB2EAABAnBz4JKQYGECcHPQLcAqcQBwc4A0AFT///AED/zwo0CN8QJgdhAAAQJwdBCG4HRxAnBz4JKQYGECcHPQLcAqcQBwc5A0AFT////3f/3QHRB3wQJgdiAAAQBwG3AG4CWP///3f/3QHRB/UQJgdiAAAQBwc6AGUF5v///3f/3QHRBaAQBgdiAAD///93/dsB0QWgECYHYgAAEAcHQADX/eT///93/90B0QbyECYHYgAAEAcHOABuBeb///93/90B0QWgECYHYgAAEAcHXACTBJ7///9Q/98CdQaeECYHYwAAEAcBtwAMAXr///8W/98CdQcXECYHYwAAEAcHOgADBQj///9w/98CdQWeEAYHYwAA////cP2BAooFnhAmB2MAABAHB0ABn/2K////cP/fAnUGFBAmB2MAABAHBzgADAUI////cP/fAnUFnhAmB2MAABAHB1wBPQRY////R//hBIYGlBAmB2QAABAHBzkAQAUe////Xv2pBIYGlBAmB2QAABAHB0ACgv2y////R//hBIYGlBAmB2QAABAHBzkAQAUe////Xv2kBIYGlBAmB2QAABAHBzoCgP2o////Xv/hBIYGlBAGB2QAAP///17/4QSGB50QJgdkAAAQJwdHAi8F5BAHB0UCEQU/////Xv3rBIYHnRAmB2QAABAnB0cCLwXkEAcHRAKl/e7///9e/noEhgedECYHZAAAECcHRwIvBeQQBwc5AoL+ff///17/4QSGBpQQJgdkAAAQBwdFAhEFP////17/4QSGBpQQJgdkAAAQBwc4AD8FHv///1P/4QSGBy0QJgdkAAAQBwc6AEAFHv///179qQSGBpQQJgdkAAAQBwdAAoL9sv///17/4QSGB50QJgdkAAAQBwdHAi8F5P///17/4QSGBpQQBgdkAAD///9T/+EEhgedECYHZAAAECcHRwIvBeQQBwc6AEAFHv///1P/4QSGBy0QJgdkAAAQBwc6AEAFHv///17/4QSGBpQQJgdkAAAQBwc4AD8FHv///0f/4QSGB50QJgdkAAAQJwdHAi8F5BAHBzkAQAUe////T/8vAXQHKhAmB2UAABAHAbcACwIG////Ff8vAXQHoxAmB2UAABAHBzoAAgWU////xv8vAXQFexAGB2UAAP///8b9XQIEBXsQJgdlAAAQBwdAARn9Zv///4H/LwF0BqAQJgdlAAAQBwc4AAsFlP///yf/LwF0BXsQJgdlAAAQBwdcACEEAv///8L/IgHYB9wQJgdmAAAQBwG3AH4CuP///4j/IgHYCFUQJgdmAAAQBwc6AHUGRv///8b/IgHYBhwQBgdmAAD////G+78CWAYcECYHZgAAEAcHQAFt+8j////G/yIB2AdSECYHZgAAEAcHOAB+Bkb///+X/yIB2AYcECYHZgAAEAcHXACRBFv///1V/6QB+AbTECYHZwAAEAcBt//HAa////1V/6QB+AgGECYHZwAAEAcHOgDcBff///1V/6QB+AX8EAYHZwAA///9Vf3UAfgF/BAmB2cAABAHB0AAc/3d///9Vf+kAfgHUxAmB2cAABAHBzgA4AZH///9Vf+kAfgF/BAmB2cAABAHB1wA7QSD//8AbP0bBRcGHBAmB2gAABAHAbcCZgD4//8AbP0bBRcFaxAmB2gAABAHBzoB/wNc//8AbP0bBRcFNRAGB2gAAP//AGz6ygUXBTUQJgdoAAAQBwdAAsv60///AGz9GwUXBTUQJgdoAAAQBwc4AlgEJP//AGz9GwUXBTUQJgdoAAAQBwdcA9oDyP//AC39qgJCBgMQJgdpAAAQBwGxAV76SP//AC3/4QHfBgMQBgdpAAD////0/+ECsQboECcHaQDSAAAQDwHA/7MEriAA//8AIv/hArEG7RAnB2kA0gAAEA8Bv/+0BKkgAP//ACP/4QJ2CBYQJwdpAJcAABAHAbEBFgKo////bv/hAxQHTBAnB2kAyAAAEAcBsAFG//b//wAt/+EC8gfZECYHaQAAEAcBsQIOAmv///5w/+EB3wgXECYHaQAAEAcBvAB+CgX///9Q/WYCQgYDECYHaQAAEAcBvAFeAaT////6/+ECVwe+ECYHaXgAEAcHUv80AQT///8U/6oEXwZhECYHagAAEAcHOQANBOP///80/dsEXwZhECYHagAAEAcHQALL/eT///8U/6oEXwZhECYHagAAEAcHOQANBOP///80/dYEXwZhECYHagAAEAcHOgLJ/dr///80/6oEXwZhEAYHagAA////NP+qBF8HYRAmB2oAABAnB0cCWgWoEAcHRQHHBM7///80/h0EXwdhECYHagAAECcHRwJaBagQBwdEAoD+IP///zT+rARfB2EQJgdqAAAQJwdHAloFqBAHBzkCy/6v////NP+qBF8GYRAmB2oAABAHB0UBxwTO////NP+qBF8GYRAmB2oAABAHBzgADATj////IP+qBF8G8hAmB2oAABAHBzoADQTj////NP3bBF8GYRAmB2oAABAHB0ACy/3k////NP+qBF8HYRAmB2oAABAHB0cCWgWo////NP+qBF8GYRAGB2oAAP///yD/qgRfB2EQJgdqAAAQJwdHAloFqBAHBzoADQTj////IP+qBF8G8hAmB2oAABAHBzoADQTj////NP+qBF8GYRAmB2oAABAHBzgADATj////FP+qBF8HYRAmB2oAABAnB0cCWgWoEAcHOQANBOP///8UAAAE1AZhECYHawAAEAcHOQANBOP///9A/nEE1AZhECYHawAAEAcHQAKU/nr///8UAAAE1AZhECYHawAAEAcHOQANBOP///9A/mwE1AZhECYHawAAEAcHOgKS/nD///9AAAAE1AZhEAYHawAA////QAAABNQHYRAmB2sAABAnB0UBxwTOEAcHRwJaBaj///9A/rME1AdhECYHawAAECcHRAK3/rYQBwdHAloFqP///0D/QgTUB2EQJgdrAAAQJwc5ApT/RRAHB0cCWgWo////QAAABNQGYRAmB2sAABAHB0UBxwTO////QAAABNQGYRAmB2sAABAHBzgADATj////IAAABNQG8hAmB2sAABAHBzoADQTj////QP5xBNQGYRAmB2sAABAHB0AClP56////QAAABNQHYRAmB2sAABAHB0cCWgWo////QAAABNQGYRAGB2sAAP///yAAAATUB2EQJgdrAAAQJwc6AA0E4xAHB0cCWgWo////IAAABNQG8hAmB2sAABAHBzoADQTj////QAAABNQGYRAmB2sAABAHBzgADATj////FAAABNQHYRAmB2sAABAnBzkADQTjEAcHRwJaBaj///+1/rQBegCEEAYHbAAA////pv9uAcsH4BAmB20AABAHAbcAeAK8////gv9uAcsIWRAmB20AABAHBzoAbwZK////pv9uAcsGKRAGB20AAP///6b92wHLBikQJgdtAAAQBwdAANf95P///6b/bgHLB1YQJgdtAAAQBwc4AHgGSv///4X/bgHLBikQJgdtAAAQBwdcAH8Env//AM79BgU6Bm0QJgduAAAQBwG3AnYBSf//AM79BgU6BbEQJgduAAAQBwc6Af8DXP//AM79BgU6BbEQBgduAAD//wDO+okFOgWxECYHbgAAEAcHQAKo+pL//wDO/QYFOgWxECYHbgAAEAcHOAImBCT//wDO/QYFOgWxECYHbgAAEAcHXAOvA+b//wAR/QYB6AYYECYHbwAAEAcBsQEE+aT//wBR/2sBswYYEAYHbwAA////9f9rAngHXxAnB28AxQAAEA8BwP+0BSUgAP//ACL/awJ3BwAQJwdvAMQAABAPAb//tAS8IAD//wBD/2sCcAgWECcHbwC9AAAQBwGxATYCqP///2j/awMOB0wQJwdvAMgAABAHAbABQP/2//8AUf9rAuwH7BAmB28AABAHAbECCAJ+///+av9rAbMIFxAmB28AABAHAbwAeAoF///+9vzCAegGGBAmB28AABAHAbwBBAEA////+v9rAiEHvhAmB29uABAHB1L/NAEE///+6v91BPIHYhAmB3EAABAHBzn/4wXC////XP1FBPIHYhAmB3EAABAHB0AA5v1O///+6v91BPIHYhAmB3EAABAHBzn/4wXC////XP1ABPIHYhAmB3EAABAHBzoA5P1E////XP91BPIHYhAGB3EAAP///1z/dQT8CD8QJgdxAAAQJwdBAzYGpxAHB0UCigZA////XP2HBPwIPxAmB3EAABAnB0EDNganEAcHRAEJ/Yr///9c/hYE/Ag/ECYHcQAAECcHQQM2BqcQBwc5AOb+Gf///1z/dQTyB2IQJgdxAAAQBwdFAooGQP///1j/dQTyB2IQJgdxAAAQBwc4/+IFwv///vb/dQTyB9EQJgdxAAAQBwc6/+MFwv///1z9RQTyB2IQJgdxAAAQBwdAAOb9Tv///1z/dQT8CD8QJgdxAAAQBwdBAzYGp////1z/dQTyB2IQBgdxAAD///72/3UE/Ag/ECYHcQAAECcHQQM2BqcQBwc6/+MFwv///vb/dQTyB9EQJgdxAAAQBwc6/+MFwv///1j/dQTyB2IQJgdxAAAQBwc4/+IFwv///ur/dQT8CD8QJgdxAAAQJwdBAzYGpxAHBzn/4wXC///+if96BJMGhRAmB3IAABAHBzn/ggVC////H/3lBJMGhRAmB3IAABAHB0ACff3u///+if96BJMGhRAmB3IAABAHBzn/ggVC////H/3gBJMGhRAmB3IAABAHBzoCe/3k////H/96BJMGhRAGB3IAAP///x//egTDB2kQJgdyAAAQJwdIArEF+BAHB0UCBQVa////H/4nBMMHaRAmB3IAABAnB0gCsQX4EAcHRAKg/ir///8f/rYEwwdpECYHcgAAECcHSAKxBfgQBwc5An3+uf///x//egSTBoUQJgdyAAAQBwdFAgUFWv///vf/egSTBoUQJgdyAAAQBwc4/4EFQv///pX/egSTB1EQJgdyAAAQBwc6/4IFQv///x/95QSTBoUQJgdyAAAQBwdAAn397v///x//egTDB2kQJgdyAAAQBwdIArEF+P///x//egSTBoUQBgdyAAD///6V/3oEwwdpECYHcgAAECcHSAKxBfgQBwc6/4IFQv///pX/egSTB1EQJgdyAAAQBwc6/4IFQv///vf/egSTBoUQJgdyAAAQBwc4/4EFQv///on/egTDB2kQJgdyAAAQJwdIArEF+BAHBzn/ggVC//8Acv+fAv0DNBAGB3MAAAABAK//JAM9AUcAFAAAJRYHBicmJyYnJgYHBgcGJjc2EzYWAtdmEBhDcVISAxAzWXQWDRgMP9U9YJE0UngUJXocBRIxb5AXDg4VawE7Wn///wB0/yQDPQMGECcHOQFtAcwQBhLKAAD//wBy/58C/QM0EAYHcwAA////sf+fAv0EFBAmB3MAABAHBzkAqgLa//8AdP+tA3oF0RAmB3QAABAHB04BkQOn//8AdP+tA3oFWxAmB3QAABAHAbgBKAAy//8AdP7bA3oDMxAmB3QAABAHB0UBeAA8//8ADP+tA3oGWBAmB3QAABAHB0MBKAPo//8AdP01A3oDMxAmB3QAABAHAbgBsfmY//8AdP+tA3oEsxAmB3QAABAHBzgBkQOn//8AdP+tA3oDMxAGB3QAAP//AAz9aQN6BlgQJgd0AAAQJwdDASgD6BAHB0QCAf1s//8AdP+tA3oE4RAmB3QAABAHBzkBkQOn//8ADP4nA3oGWBAmB3QAABAnB0MBKAPoEAcHOAHZ/ir//wB0/icDegMzECYHdAAAEAcHOAHZ/ir//wB0/60DegWxECYHdAAAEAcHQAGRA6f//wB0/60DegW2ECYHdAAAEAcHOgGRA6f//wB0/fgDegMzECYHdAAAEAcHOQGQ/fv///75/zUApQdiECYHdQAAEAcBt/+1Aj7///6//zUApQfbECYHdQAAEAcHOv+sBcz///+F/zUApQWHEAYHdQAA////hf0mAV4FhxAmB3UAABAHB0AAc/0v////K/81AKUG2BAmB3UAABAHBzj/tQXM////Bf81APkFhxAmB3UAABAHB1z//wPU////Pf8vAb4HfBAmB3YAABAHAbf/+QJY////A/8vAb4H9RAmB3YAABAHBzr/8AXm////u/8vAb4FvhAGB3YAAP///7v9EwIBBb4QJgd2AAAQBwdAARb9HP///2//LwG+BvIQJgd2AAAQBwc4//kF5v///xr/LwG+Bb4QJgd2AAAQBwdcABQEMP//AHP/NQN+AwsQBgd3AAAAAQCS/uEDhwEDABoAACUWBwYVBiMGJyYnJgcGBwYHBiY3NhM2FxYXFgNFQgcNEh5uWns0DxoeRHYUDRgMWro+LzNoPSIMPGwFLgErO2ASFRhSjhYODhWaAQxZP0QyHv//AGX+4QOHAuQQJwc5AV4BqhAGEukAAP//AHP/NQN+AwsQBgd3AAD///+u/zUDfgPmECYHdwAAEAcHOQCnAqz//wBz/zwEKAXQECYHeAAAEAcHTgJRA6b//wBz/zwEKAVzECYHeAAAEAcBuAHsAEr//wBz/qMEKANIECYHeAAAEAcHRQGiAAT//wBz/zwEKAZwECYHeAAAEAcHQwHsBAD//wBz/TkEKANIECYHeAAAEAcBuAHE+Zz//wBz/zwEKASyECYHeAAAEAcHOAJQA6b//wBz/zwEKANIEAYHeAAA//8Ac/1tBCgGcBAmB3gAABAnB0MB7AQAEAcHRAIU/XD//wBz/zwEKATgECYHeAAAEAcHOQJRA6b//wBz/isEKAZwECYHeAAAECcHQwHsBAAQBwc4Aez+Lv//AHP+KwQoA0gQJgd4AAAQBwc4Aez+Lv//AHP/PAQoBbAQJgd4AAAQBwdAAlEDpv//AHP/PAQoBbUQJgd4AAAQBwc6AlEDpv//AHP9/AQoA0gQJgd4AAAQBwc5AfH9/////isAAATaBwUQJgd5AAAQBwc5/yQFy////rf+cQTaBtkQJgd5AAAQBwdAAcf+ev///isAAATaBwUQJgd5AAAQBwc5/yQFy////rf+bATaBtkQJgd5AAAQBwc6AcX+cP///rcAAATaBtkQBgd5AAD///63AAAE2gfhECYHeQAAECcHSAK3BnAQBwdFAjoGDv///rf+swTaB+EQJgd5AAAQJwdIArcGcBAHB0QB6v62///+t/9CBNoH4RAmB3kAABAnB0gCtwZwEAcHOQHH/0X///63AAAE2gbZECYHeQAAEAcHRQI6Bg7///6ZAAAE2gbZECYHeQAAEAcHOP8jBcv///43AAAE2gfaECYHeQAAEAcHOv8kBcv///63/nEE2gbZECYHeQAAEAcHQAHH/nr///63AAAE2gfhECYHeQAAEAcHSAK3BnD///63AAAE2gbZEAYHeQAA///+NwAABNoH4RAmB3kAABAnB0gCtwZwEAcHOv8kBcv///43AAAE2gfaECYHeQAAEAcHOv8kBcv///6ZAAAE2gbZECYHeQAAEAcHOP8jBcv///4rAAAE2gfhECYHeQAAECcHSAK3BnAQBwc5/yQFy////kgBZgPvBtAQJgd6AAAQBwc5/0EFlv///rn/nQPvBoEQJgd6AAAQBwdAAdH/pv///kgBZgPvBtAQJgd6AAAQBwc5/0EFlv///rn/mAPvBoEQJgd6AAAQBwc6Ac//nP///rkBZgPvBoEQBgd6AAD///65AWYD+webECYHegAAECcHSAHpBioQBwdFAYYFyP///rn/3wP7B5sQJgd6AAAQJwdIAekGKhAHB0QBhv/i///+uQBuA/sHmxAmB3oAABAnB0gB6QYqEAcHOQHRAHH///65AWYD7waBECYHegAAEAcHRQGGBcj///62AWYD7waiECYHegAAEAcHOP9ABZb///5UAWYD7welECYHegAAEAcHOv9BBZb///65/50D7waBECYHegAAEAcHQAHR/6b///65AWYD+webECYHegAAEAcHSAHpBir///65AWYD7waBEAYHegAA///+VAFmA/sHpRAmB3oAABAnB0gB6QYqEAcHOv9BBZb///5UAWYD7welECYHegAAEAcHOv9BBZb///62AWYD7waiECYHegAAEAcHOP9ABZb///5IAWYD+webECYHegAAECcHSAHpBioQBwc5/0EFlv///1EAOQN4Bj8QJgd7AAAQJwc4AVQFMxAHBzgCfAA8////UQFqA3gGPxAmB3sAABAHBzgBVAUz////UQFqA3gHPRAmB3sAABAHB0ABVAUz////UQFqA3gGbRAmB3sAABAHBzkBVAUz////UQFqA3gG/RAmB3sAABAHB0QBVAUz////UQFqA3gHQhAmB3sAABAHBzoBVAUz////UQFqA3gFGBAGB3sAAP///xUBhAELBHQQBgd8AAD///8V/joB+QR0ECYHfAAAEAcHOgER/j7///8V/xACAwR0ECYHfAAAEAcHOQET/xP///8MAYQBCwZWECYHfAAAEAcHOQAFBRz///8VAYQBCwYoECYHfAAAEAcHOAAFBRz///8VAYQBCwcrECYHfAAAEAcHOgAFBRz///8VAYQBCwR0EAYHfAAA////Ff8/AY4EdBAmB3wAABAHBzgBBP9C////Ff8/AY4GKBAmB3wAABAnBzgABQUcEAcHOAEE/0L///8VAYQBCwcrECYHfAAAEAcHOgAFBRz///8V/j8B/gR0ECYHfAAAEAcHQAET/kj///7tAYQBCwdGECYHfAAAEAcHTgAFBRz///8VAYQBCwYoECYHfAAAEAcHOAAFBRz///9pAXUDogUBECYHfQAAEAcHOAMYA/X///9pAXUDnwNVEAYHfQAA////aQF1A/wGORAmB30AABAHAbEDGADL////af5tA7cDVRAmB30AABAHB04Cx/5w////aQF1BAEGBBAmB30AABAHBzoDGQP1////af9dA58DVRAmB30AABAHBzgCqf9g////aQF1A6IFvxAmB30AABAHB0QDGAP1////aQF1BAkFLxAmB30AABAHBzkDGQP1////af6fA58DVRAmB30AABAHB0QC0f6i////af1VA/kDVRAmB30AABAnB0MC0f6OEAcHOQLz/Vj///9p/o4D+QNVECYHfQAAEAcHQwLR/o7///9p/y4DnwNVECYHfQAAEAcHOQKt/zH///9p/l0DogUBECYHfQAAECcHOAMYA/UQBwdAAq3+Zv///2n9uAOfA1UQJgd9AAAQDwddAaT+FiAA////af5YA58DVRAmB30AABAHBzoCq/5c////aQF1BEAG8RAmB30AABAHB0MDGASB////af5dA58DVRAmB30AABAHB0ACrf5m////nQFkAyQElxAGB34AAP///50BZAMkBJcQBgd+AAD///+u//8ChgHwEAYHfwAA////Zf/VA7wF0xAmB4AAABAnBzoCCAPEEAcHOAJl/9j///9lAbUDvAXyECYHgAAAEAcHRAH9BCj///9lAbUDvAOYEAYHgAAA////ZQG1A7wGJxAmB4AAABAHAbgB/QD+////ZQG1A7wGoxAmB4AAABAPB10A+AQ8IAD///9lAbUDvAXTECYHgAAAEAcHOgIIA8T///9lAbUDvAf2ECYHgAAAECcHOQIIA8QQBwdDAfQFhv///2UBtQO8Be4QJgeAAAAQBwdOAggDxP///2X/1QO8BTQQJgeAAAAQJwc4Af0EKBAHBzgCZf/Y////Zf7VA7wDmBAmB4AAABAHB0ACdP7e////Zf7VA7wF0xAmB4AAABAnBzoCCAPEEAcHQAJ0/t7///9j/6YEqQRrECYHgQAAEAcHOQMn/6n///9j/9UEqQYaECYHgQAAECcHOAIDBQ4QBwc4Axj/2P///2MBkASpBhoQJgeBAAAQBwc4AgMFDv///2MBkASpBx0QJgeBAAAQBwc6AgMFDv///2MBkASpBGsQBgeBAAD///9OAaMBrARdEAYHggAA////yv/tAoACthAGBtsAAP///hYAqQOOB44QJgeDAAAQBwc5/w8Fyv///m79RQOOB44QJgeDAAAQBwdAAgP9Tv///hYAqQOOB44QJgeDAAAQBwc5/w8Fyv///m79QAOOB44QJgeDAAAQBwc6AgH9RP///m4AqQOOB44QBgeDAAD///5uAKkDjgiNECYHgwAAECcHRwGKBtQQBwdFARgGIv///m79hwOOCI0QJgeDAAAQJwdHAYoG1BAHB0QBuP2K///+bv4WA44IjRAmB4MAABAnB0cBigbUEAcHOQID/hn///5uAKkDjgeOECYHgwAAEAcHRQEYBiL///5uAKkDjgeOECYHgwAAEAcHOP8OBcr///4iAKkDjgfZECYHgwAAEAcHOv8PBcr///5u/UUDjgeOECYHgwAAEAcHQAID/U7///5uAKkDjgiNECYHgwAAEAcHRwGKBtT///5uAKkDjgeOEAYHgwAA///90gCpA44IjRAmB4MAABAnB0cBigbUEAcHOv6/Bcr///4iAKkDjgfZECYHgwAAEAcHOv8PBcr///5uAKkDjgeOECYHgwAAEAcHOP8OBcr///3GAKkDjgiNECYHgwAAECcHRwGKBtQQBwc5/r8Fyv///4r7fgJGA+MQJgeEAAAQDwddAFL73CAA////ivzJAmUD4xAmB4QAABAHB04BdfzM////iv2KAksG1RAmB4QAABAnBzkBW/2NEA8BwP90BJsgAP///4oAhAHuBZQQJgeEAAAQJwc4AHsEiBAHB0UBXgH0////iv2CAjoD4xAmB4QAABAHB08A7P1b////igCEAU8GghAmB4QAABAHAbcAewFe////LQCEAXEIiBAmB4QAABAnBzgAewSIEAcHQwBJBhj///+K/YoCSwaCECYHhAAAECcHOQFb/Y0QBwG3AHsBXv///4r9igJLBtoQJgeEAAAQJwc5AVv9jRAPAb//dQSWIAD///+K/LkCRgPjECcHQAFb/MIQBgeEAAD///+IAIQBXwbMECYHhAAAEAcBsQB7AV7///+KAIQBTwPjEAYHhAAA////iv0ZAecD4xAmB4QAABAHB0UBV/56////iv2KAksD4xAmB4QAABAHBzkBW/2N////XwCEAaMGvBAmB4QAABAHB0MAewRM////PACEAU8GshAmB4QAABAHB04AVASI////ivwxAfMD4xAmB4QAABAHAbgBL/iU////agCEAU8GkhAmB4QAABAHB0AAVASI////ivy5AkYD4xAmB4QAABAHB0ABW/zC////ivxlAgkD4xAmB4QAABAHB0QBf/xo////iv0jAeED4xAmB4QAABAHBzgBV/0m////igCEAU8GUhAmB4QAABAHB0QAewSI////Z/0jAeEGlxAmB4QAABAnBzoAVASIEAcHOAFX/Sb///+KAIQBTwWUECYHhAAAEAcHOAB7BIj///9b/LQCQQXCECYHhAAAECcHOQBUBIgQBwc6AVn8uP///4r8tAJBA+MQJgeEAAAQBwc6AVn8uP///1sAhAFPBcIQJgeEAAAQBwc5AFQEiP///4oAhAIQBswQJgeEAAAQBwGxASwBXv///4r9igJLBocQJgeEAAAQJwc5AVv9jRAHAbgAewFe////ZwCEAU8GlxAmB4QAABAHBzoAVASI////XwCEAaMGvBAmB4QAABAHB0MAewRM////iv0jAeEFlBAmB4QAABAnBzgAewSIEAcHOAFX/Sb///+KAIQBTweGECYHhAAAECcHOAB7BIgQBwG3AEkCYv///4oAhAFPA+MQBgeEAAD///9bAIQB7gXCECYHhAAAECcHOQBUBIgQBwdFAV4B9P///4r9igJLBZQQJgeEAAAQJwc4AHsEiBAHBzkBW/2N////ivy5AkYD4xAmB4QAABAHB0ABW/zC////ivxlAgkD4xAmB4QAABAHB0QBf/xo////igCEAU8D4xAGB4QAAP///4r9igJLA+MQJgeEAAAQBwc5AVv9jf///4r9igJLBZQQJgeEAAAQJwc4AHsEiBAHBzkBW/2N////uADcBHwFEhAmB4UAABAHBzgDCwQG////uADcBHwDORAGB4UAAP///7gA3AR8BkoQJgeFAAAQBwGxAwsA3P///7j+gQR8AzkQJgeFAAAQBwdOAyD+hP///7gA3AR8BhUQJgeFAAAQBwc6AwwEBv///7j/cQR8AzkQJgeFAAAQBwc4Avf/dP///7gA3AR8BdAQJgeFAAAQBwdEAwsEBv///7gA3AR8BUAQJgeFAAAQBwc5AwwEBv///7j+swR8AzkQJgeFAAAQBwdEAx/+tv///7j9aQR8AzkQJgeFAAAQJwdDAxr+ohAHBzkDPP1s////uP6iBHwDORAmB4UAABAHB0MDGv6i////uP9CBHwDORAmB4UAABAHBzkDBv9F////uP5xBHwFEhAmB4UAABAnB0ADBv56EAcHOAMLBAb///+4/cwEfAM5ECYHhQAAEA8HXQHy/iogAP///7j+bAR8AzkQJgeFAAAQBwc6AwT+cP///7gA3AR8BwIQJgeFAAAQBwdDAwsEkv///7j+cQR8AzkQJgeFAAAQBwdAAwb+ev///88AvgKbBWAQJgeGAAAQBwc4AXAEVP///88AvgKbA1AQBgeGAAD////P/vMCxANQECYHhgAAEAcHOAI6/vb///+MAI4BUwPGEAYHhwAA////jPzcAiEDxhAmB4cAABAHBzoBOfzg////jP2yAisDxhAmB4cAABAHBzkBO/21////BgCOAVMGRBAmB4cAABAHBzn//wUK////dQCOAVMGFhAmB4cAABAHBzj//wUK////EgCOAVMHGRAmB4cAABAHBzr//wUK////jACOAVMDxhAGB4cAAP///4z9rwG2A8YQJgeHAAAQBwc4ASz9sv///3X9rwG2BhYQJgeHAAAQJwc4//8FChAHBzgBLP2y////EgCOAVMHGRAmB4cAABAHBzr//wUK////jPzhAiYDxhAmB4cAABAHB0ABO/zq///+5wCOAVMHNBAmB4cAABAHB07//wUK////dQCOAVMGFhAmB4cAABAHBzj//wUK////yAA5BFoF8xAmB4gAABAnBzgCDgTnEAcHOAOEADz////IALgEWgXzECYHiAAAEAcHOAIOBOf////IALgEWgbxECYHiAAAEAcHQAINBOf////IALgEWgYhECYHiAAAEAcHOQINBOf////IALgEWgaxECYHiAAAEAcHRAIOBOf////IALgEWgb2ECYHiAAAEAcHOgINBOf////IALgEWgRhEAYHiAAA////NwCRAK4HjhAmB4kAABAHAbf/8wJq///+/QCRANIIBxAmB4kAABAHBzr/6gX4////lACRAKwFsBAGB4kAAP///5T81wHCBbAQJgeJAAAQBwdAANf84P///2kAkQCsBwQQJgeJAAAQBwc4//MF+P///xcAkQELBbAQJgeJAAAQBwdcABEEEv///8oBBAPsBHQQBgeKAAD////KAQQD7AR0EAYHigAA//8AZfrpBXAB1xAmB4sAABAPB10B0/tHIAD//wBl+44FcAHXECYHiwAAEAcHQALc+5f//wBl/j4FcASgECYHiwAAEA8BvwDQAlwgAP//AGX+PgVwBF0QJgeLAAAQBwc6AdcCTv//AGX+PgVwAv0QJgeLAAAQBwGxAsT9j///AGX+PgVwBE0QJgeLAAAQBwG4AXL/JP//AGX+PgVwA4gQJgeLAAAQBwc5AdcCTv//AGX70AVwAdcQJgeLAAAQBwdEAwD70///AGX+PgVwAdcQBgeLAAD//wBl/j4FcASbECYHiwAAEA8BwADPAmEgAP///5b+PgVwAdcQJgeLAAAQBwdQAKMA9f//AGX+PgVwAdcQBgeLAAD//wAb/j4FcASSECYHiwAAEAcBsQEO/yT//wBl/IQFcAHXECYHiwAAEAcHRQLY/eX//wBl/F8FcAHXECYHiwAAEAcHOQLc/GL//wBl/j4FcARIECYHiwAAEAcBtwFy/yT///4QASkEMAdqECYHjAAAEAcHOf8JBjD///64AQoEMAcGECYHjAAAEAcHQAKjARP///4QASkEMAdqECYHjAAAEAcHOf8JBjD///64AQUEMAcGECYHjAAAEAcHOgKhAQn///64ASkEMAcGEAYHjAAA///+uAEpBDMIHRAmB4wAABAnB0gCIQasEAcHRQHgBjH///64ASkEMwgdECYHjAAAECcHSAIhBqwQBwdEAlgBT////rgBKQQzCB0QJgeMAAAQJwdIAiEGrBAHBzkCowHe///+uAEpBDAHBhAmB4wAABAHB0UB4AYx///+fgEpBDAHPBAmB4wAABAHBzj/CAYw///+HAEpBDAIPxAmB4wAABAHBzr/CQYw///+uAEKBDAHBhAmB4wAABAHB0ACowET///+uAEpBDMIHRAmB4wAABAHB0gCIQas///+uAEpBDAHBhAGB4wAAP///hwBKQQzCD8QJgeMAAAQJwdIAiEGrBAHBzr/CQYw///+HAEpBDAIPxAmB4wAABAHBzr/CQYw///+fgEpBDAHPBAmB4wAABAHBzj/CAYw///+EAEpBDMIHRAmB4wAABAnB0gCIQasEAcHOf8JBjD///9iASwA2QgMECYHjQAAEAcBtwAeAuj///8oASwA/QiFECYHjQAAEAcHOgAVBnb///+GASwAuAY2EAYHjQAA////hv1zAaQGNhAmB40AABAHB0AAuf18////hgEsALgHghAmB40AABAHBzgAHgZ2////UwEsAUcGNhAmB40AABAHB1wATQRU////jfxxA0oCzxAmB44AABAPB10BVvzPIAD///+N/YoDaQLPECYHjgAAEAcHTgJ5/Y3///+N/ksDTwYsECYHjgAAECcHOQJf/k4QDwHAALcD8iAA////jQDFAsEE6xAmB44AABAnBzgBvgPfEAcHRQIcAib///+N/kMDPgLPECYHjgAAEAcHTwHw/hz///+NAUgCwQXZECYHjgAAEAcBtwG+ALX///+NAUgCwQffECYHjgAAECcHOAG+A98QBwdDAYwFb////43+SwNPBdkQJgeOAAAQJwc5Al/+ThAHAbcBvgC1////jf5LA08GMRAmB44AABAnBzkCX/5OEA8BvwC4A+0gAP///439egNKAs8QJwdAAl/9gxAGB44AAP///40BSALBBiMQJgeOAAAQBwGxAb4Atf///40BSALBAs8QBgeOAAD///+N/gwC6wLPECYHjgAAEAcHRQJb/23///+N/ksDTwLPECYHjgAAEAcHOQJf/k7///+NAUgC5gYTECYHjgAAEAcHQwG+A6P///+NAUgCwQYJECYHjgAAEAcHTgG+A9////+N/SQC9wLPECYHjgAAEAcBuAIz+Yf///+NAUgCwQXpECYHjgAAEAcHQAG+A9////+N/XoDSgLPECYHjgAAEAcHQAJf/YP///+N/VgDDQLPECYHjgAAEAcHRAKD/Vv///+N/hYC5QLPECYHjgAAEAcHOAJb/hn///+NAUgCwQWpECYHjgAAEAcHRAG+A9////+N/hYC5QXuECYHjgAAECcHOgG+A98QBwc4Alv+Gf///40BSALBBOsQJgeOAAAQBwc4Ab4D3////439dQNFBRkQJgeOAAAQJwc5Ab4D3xAHBzoCXf15////jf11A0UCzxAmB44AABAHBzoCXf15////jQFIAsEFGRAmB44AABAHBzkBvgPf////jQFIA2oGIxAmB44AABAHAbEChgC1////jf5LA08F3hAmB44AABAnBzkCX/5OEAcBuAG+ALX///+NAUgCwQXuECYHjgAAEAcHOgG+A9////+NAUgC5gYTECYHjgAAEAcHQwG+A6P///+N/hYC5QTrECYHjgAAECcHOAG+A98QBwc4Alv+Gf///40BSALBBt0QJgeOAAAQJwc4Ab4D3xAHAbcBjAG5////jQFIAsECzxAGB44AAP///40AxQLBBRkQJgeOAAAQJwc5Ab4D3xAHB0UCHAIm////jf5LA08E6xAmB44AABAnBzgBvgPfEAcHOQJf/k7///+N/XoDSgLPECYHjgAAEAcHQAJf/YP///+N/VgDDQLPECYHjgAAEAcHRAKD/Vv///+NAUgCwQLPEAYHjgAA////jf5LA08CzxAmB44AABAHBzkCX/5O////jf5LA08E6xAmB44AABAnBzgBvgPfEAcHOQJf/k7//wAt++kC+wGuEAYHjwAA////df39AVoAuhAGB5AAAP///6H7dAIWAWwQJgeRAAAQDwddAB770iAA////ofwpAjEBbBAmB5EAABAHB04BQfws////ofzqAhcE4RAmB5EAABAnBzkBJ/ztEA8BwP/CAqcgAP///6H/mQIWA6AQJgeRAAAQJwc4AMkClBAHB0UAtwD6////bvziAhYBbBAmB5EAABAHB08AuPy7////oQAAAhYEjhAmB5EAABAHAbcAyf9q////ewAAAhYGlBAmB5EAABAnBzgAyQKUEAcHQwCXBCT///+h/OoCFwSOECYHkQAAECcHOQEn/O0QBwG3AMn/av///6H86gIXBOYQJgeRAAAQJwc5ASf87RAPAb//wwKiIAD///+h/BkCFgFsECcHQAEn/CIQBgeRAAD///+hAAACFgTYECYHkQAAEAcBsQDJ/2r///+hAAACFgFsEAYHkQAA////of0PAhYBbBAmB5EAABAHB0UBI/5w////ofzqAhcBbBAmB5EAABAHBzkBJ/zt////oQAAAhYEyBAmB5EAABAHB0MAyQJY////oQAAAhYEvhAmB5EAABAHB04AyQKU////ofwnAhYBbBAmB5EAABAHAbgA+/iK////oQAAAhYEnhAmB5EAABAHB0AAyQKU////ofwZAhYBbBAmB5EAABAHB0ABJ/wi////ofxbAhYBbBAmB5EAABAHB0QBS/xe////of0ZAhYBbBAmB5EAABAHBzgBI/0c////oQAAAhYEXhAmB5EAABAHB0QAyQKU////of0ZAhYEoxAmB5EAABAnBzoAyQKUEAcHOAEj/Rz///+hAAACFgOgECYHkQAAEAcHOADJApT///+h/BQCFgPOECYHkQAAECcHOQDJApQQBwc6ASX8GP///6H8FAIWAWwQJgeRAAAQBwc6ASX8GP///6EAAAIWA84QJgeRAAAQBwc5AMkClP///6EAAAIWBNgQJgeRAAAQBwGxAS3/av///6H86gIXBJMQJgeRAAAQJwc5ASf87RAHAbgAyf9q////oQAAAhYEoxAmB5EAABAHBzoAyQKU////oQAAAhYEyBAmB5EAABAHB0MAyQJY////of0ZAhYDoBAmB5EAABAnBzgAyQKUEAcHOAEj/Rz///+hAAACFgWSECYHkQAAECcHOADJApQQBwG3AJcAbv///6EAAAIWAWwQBgeRAAD///+h/5kCFgPOECYHkQAAECcHOQDJApQQBwdFALcA+v///6H86gIXA6AQJgeRAAAQJwc4AMkClBAHBzkBJ/zt////ofwZAhYBbBAmB5EAABAHB0ABJ/wi////ofxbAhYBbBAmB5EAABAHB0QBS/xe////oQAAAhYBbBAGB5EAAP///6H86gIXAWwQJgeRAAAQBwc5ASf87f///6H86gIXA6AQJgeRAAAQJwc4AMkClBAHBzkBJ/zt////df39AVoAuBAGB5IAAP///3X9/QJ7AWwQJgeRZQAQBgeSAAD//wAb/HkB8gW5ECYHkwAAEAcBsQEO+Rf//wBO/r4B8QW5EAYHkwAA////9f6+AsAHBxAnB5MAzwAAEA8BwP+0BM0gAP//ACL+vgK/BrwQJweTAM4AABAPAb//tAR4IAD//wBB/r4CwAgWECcHkwDPAAAQBwGxATQCqP///1T+vgL6B0wQJweTAMgAABAHAbABLP/2//8ATv6+AtgHlBAmB5MAABAHAbEB9AIm///+Vv6+AfEIFxAmB5MAABAHAbwAZAoF////APw1AfIFuRAmB5MAABAHAbwBDgBz////+v6+Al8HvhAmB5NuABAHB1L/NAEE////x/w8AvABoxAmB5QAABAPB10A/PyaIAD////H/ZEDEAGjECYHlAAAEAcHTgIg/ZT////H/lIC9gVFECYHlAAAECcHOQIG/lUQDwHAAMgDCyAA////x/+jApcEBBAmB5QAABAnBzgBzwL4EAcHRQFoAQT////H/koC5QGjECYHlAAAEAcHTwGX/iP////H/6oClwTyECYHlAAAEAcBtwHP/87////H/6oCxQb4ECYHlAAAECcHOAHPAvgQBwdDAZ0EiP///8f+UgL2BPIQJgeUAAAQJwc5Agb+VRAHAbcBz//O////x/5SAvYFShAmB5QAABAnBzkCBv5VEA8BvwDJAwYgAP///8f9gQLxAaMQJwdAAgb9ihAGB5QAAP///8f/qgKzBTwQJgeUAAAQBwGxAc//zv///8f/qgKXAaMQBgeUAAD////H/dcClwGjECYHlAAAEAcHRQIB/zj////H/lIC9gGjECYHlAAAEAcHOQIG/lX////H/6oC9wUsECYHlAAAEAcHQwHPArz////H/6oCwAUiECYHlAAAEAcHTgHQAvj////H/O8CnQGjECYHlAAAEAcBuAHZ+VL////H/6oCuwUCECYHlAAAEAcHQAHQAvj////H/YEC8QGjECYHlAAAEAcHQAIG/Yr////H/SMCswGjECYHlAAAEAcHRAIp/Sb////H/eEClwGjECYHlAAAEAcHOAIB/eT////H/6oClwTCECYHlAAAEAcHRAHPAvj////H/eECuAUHECYHlAAAECcHOgHQAvgQBwc4AgH95P///8f/qgKXBAQQJgeUAAAQBwc4Ac8C+P///8f9fALsBDIQJgeUAAAQJwc5AdAC+BAHBzoCBP2A////x/18AuwBoxAmB5QAABAHBzoCBP2A////x/+qAsAEMhAmB5QAABAHBzkB0AL4////x/+qA3sFPBAmB5QAABAHAbECl//O////x/5SAvYE9xAmB5QAABAnBzkCBv5VEAcBuAHP/87////H/6oCuAUHECYHlAAAEAcHOgHQAvj////H/6oC9wUsECYHlAAAEAcHQwHPArz////H/eEClwQEECYHlAAAECcHOAHPAvgQBwc4AgH95P///8f/qgKXBfYQJgeUAAAQJwc4Ac8C+BAHAbcBnQDS////x/+qApcBoxAGB5QAAP///8f/owLABDIQJgeUAAAQJwc5AdAC+BAHB0UBaAEE////x/5SAvYEBBAmB5QAABAnBzgBzwL4EAcHOQIG/lX////H/YEC8QGjECYHlAAAEAcHQAIG/Yr////H/SMCswGjECYHlAAAEAcHRAIp/Sb////H/6oClwGjEAYHlAAA////x/5SAvYBoxAmB5QAABAHBzkCBv5V////x/5SAvYEBBAmB5QAABAnBzgBzwL4EAcHOQIG/lX////A/EwCngFcECYHlQAAEA8HXQB9/KogAP///8D9ZQKeAVwQJgeVAAAQBwdOAW79aP///8D+JgKeBUUQJgeVAAAQJwc5AVT+KRAPAcAAXAMLIAD////A/3sCngQEECYHlQAAECcHOAFjAvgQBwdFAUAA3P///5v+HgKeAVwQJgeVAAAQBwdPAOX99////8D/qQKeBPIQJgeVAAAQBwG3AWP/zv///8D/qQKeBvgQJgeVAAAQJwc4AWMC+BAHB0MBMQSI////wP4mAp4E8hAmB5UAABAnBzkBVP4pEAcBtwFj/87////A/iYCngVKECYHlQAAECcHOQFU/ikQDwG/AF0DBiAA////wP1VAp4BXBAnB0ABVP1eEAYHlQAA////wP+pAp4FPBAmB5UAABAHAbEBY//O////wP+pAp4BXBAGB5UAAP///8D95wKeAVwQJgeVAAAQBwdFAYL/SP///8D+JgKeAVwQJgeVAAAQBwc5AVT+Kf///8D/qQKeBR8QJgeVAAAQBwdDAWMCr////8D/qQKeBSIQJgeVAAAQBwdOAWMC+P///8D8/wKeAVwQJgeVAAAQBwG4AVr5Yv///8D/qQKeBQIQJgeVAAAQBwdAAWMC+P///8D9VQKeAVwQJgeVAAAQBwdAAVT9Xv///8D9MwKeAVwQJgeVAAAQBwdEAar9Nv///8D98QKeAVwQJgeVAAAQBwc4AYL99P///8D/qQKeBMIQJgeVAAAQBwdEAWMC+P///8D98QKeBQcQJgeVAAAQJwc6AWMC+BAHBzgBgv30////wP+pAp4EBBAmB5UAABAHBzgBYwL4////wP1QAp4EMhAmB5UAABAnBzkBYwL4EAcHOgFS/VT////A/VACngFcECYHlQAAEAcHOgFS/VT////A/6kCngQyECYHlQAAEAcHOQFjAvj////A/6kCqwU8ECYHlQAAEAcBsQHH/87////A/iYCngT3ECYHlQAAECcHOQFU/ikQBwG4AWP/zv///8D/qQKeBQcQJgeVAAAQBwc6AWMC+P///8D/qQKeBR8QJgeVAAAQBwdDAWMCr////8D98QKeBAQQJgeVAAAQJwc4AWMC+BAHBzgBgv30////wP+pAp4F9hAmB5UAABAnBzgBYwL4EAcBtwExANL////A/6kCngFcEAYHlQAA////wP97Ap4EMhAmB5UAABAnBzkBYwL4EAcHRQFAANz////A/iYCngQEECYHlQAAECcHOAFjAvgQBwc5AVT+Kf///8D9VQKeAVwQJgeVAAAQBwdAAVT9Xv///8D9MwKeAVwQJgeVAAAQBwdEAar9Nv///8D/qQKeAVwQBgeVAAD////A/iYCngFcECYHlQAAEAcHOQFU/in////A/iYCngQEECYHlQAAECcHOAFjAvgQBwc5AVT+Kf///8/9swFrAcYQBgeWAAD////P/bMBawHGEAYHlgAA////z/2zA8sBxhAmB5YAABAHB5UBLQAA////z/2zA8sBxhAmB5YAABAHB5UBLQAA////q//nAlAH1hAmB5cAABAHAbcAggKy////q//nAlAIVRAmB5cAABAHBzoAxQZG////q//nAlAGHBAGB5cAAP///6v7vwKoBhwQJgeXAAAQBwdAAb37yP///6v/5wJQB1IQJgeXAAAQBwc4AM4GRv///6v/5wJQBhwQJgeXAAAQBwdcANYEnv///4//0gEGByMQJgeYAAAQBwG3AEsB/////1X/0gEqB5wQJgeYAAAQBwc6AEIFjf///7v/0gDVBU0QBgeYAAD///+2/dsBiwVNECYHmAAAEAcHQACg/eT///+7/9IA1QaZECYHmAAAEAcHOABLBY3///+A/9IBdAVNECYHmAAAEAcHXAB6A67////A/80COwckECYHmQAAEAcBtwCGAgD///+Q/80COwedECYHmQAAEAcHOgB9BY7////A/80COwVKEAYHmQAA////wP3bAjsFShAmB5kAABAHB0AA1/3k////wP/NAjsGmhAmB5kAABAHBzgAhgWO////t//NAjsFShAmB5kAABAHB1wAsQP0///9Z/+eAgMHfBAmB5oAABAHAbcAcAJY///9Z/+eAgMHlxAmB5oAABAHBzoAbAWI///9Z/+eAgMFThAGB5oAAP///Wf92wIDBU4QJgeaAAAQBwdAAIf95P///Wf/ngIDBuQQJgeaAAAQBwc4AHAF2P///Wf/ngIDBU4QJgeaAAAQBwdcAIYD6v//AHX/SQn8B1UQJgebAAAQJwc+CQwFbRAnBz0CnAJFEAcHOQMABO3//wB1/ZAJ/AdVECYHmwAAECcHPgkMBW0QJwc9ApwCRRAHB0AC1f2Z//8Adf9JBvAGJxAmB5sAABAnBz0CnAJFEAcHOQMABO3//wB1/YsJ/AdVECYHmwAAECcHPgkMBW0QJwc9ApwCRRAHBzoC0/2P//8Adf9JBvAFZBAmB5sAABAHBz0CnAJF//8Adf9JChcIRhAmB5sAABAnB0EIUQauECcHPgkMBW0QJwdFB9EGZxAHBz0CnAJF//8Adf3SChcIRhAmB5sAABAnB0EIUQauECcHPgkMBW0QJwc9ApwCRRAHB0QC+P3V//8Adf5hChcIRhAmB5sAABAnB0EIUQauECcHPgkMBW0QJwc9ApwCRRAHBzkC1f5k//8Adf6aBvAFZBAmB5sAABAnBz0CnAJFEAcHRQLk//v//wB1/0kG8AX5ECYHmwAAECcHPQKcAkUQBwc4AwAE7f//AHX/SQbwBvwQJgebAAAQJwc9ApwCRRAHBzoDAATt//8Adf2QBvAFZBAmB5sAABAnBz0CnAJFEAcHQALV/Zn//wB1/0kKFwhGECYHmwAAECcHQQhRBq4QJwc+CQwFbRAHBz0CnAJF//8Adf9JCfwHVRAmB5sAABAnBz4JDAVtEAcHPQKcAkX//wB1/0kKFwhGECYHmwAAECcHQQhRBq4QJwc+CQwFbRAnBz0CnAJFEAcHOgMABO3//wB1/0kJ/AdVECYHmwAAECcHPgkMBW0QJwc9ApwCRRAHBzoDAATt//8Adf9JCfwHVRAmB5sAABAnBz4JDAVtECcHPQKcAkUQBwc4AwAE7f//AHX/SQoXCEYQJgebAAAQJwdBCFEGrhAnBz4JDAVtECcHPQKcAkUQBwc5AwAE7f//AGP9JAVGBhwQJgecAAAQBwG3AmYA+P//AGP9JAVGBWsQJgecAAAQBwc6Af8DXP//AGP9JAVGBVAQBgecAAD//wBj+soFRgVQECYHnAAAEAcHQALL+tP//wBj/SQFRgVQECYHnAAAEAcHOAJYBCT//wBj/SQFRgVQECYHnAAAEAcHXAPGA2T///+U/2wB1QdEECYHngAAEAcBtwBQAiD///9a/2wB1Qe9ECYHngAAEAcHOgBHBa7///+0/2wB1QWVEAYHngAA////tP0TAdUFlRAmB54AABAHB0AApf0c////tP9sAdUGuhAmB54AABAHBzgAUAWu////cf9sAdUFlRAmB54AABAHB1wAawQw///9Z/+DAfgHfBAmB58AABAHAbcAcAJY///9Z/+DAfgHlxAmB58AABAHBzoAbAWI///9Z/+DAfgFThAGB58AAP///Wf92wH4BU4QJgefAAAQBwdAAIf95P///Wf/gwH4BuQQJgefAAAQBwc4AHAF2P///Wf/gwH4BU4QJgefAAAQBwdcAIYD6v///8D/gQHfByQQJgegAAAQBwG3AIYCAP///5D/gQHfB50QJgegAAAQBwc6AH0Fjv///8D/gQHfBUoQBgegAAD////A/YEB3wVKECYHoAAAEAcHQADX/Yr////A/4EB3waaECYHoAAAEAcHOACGBY7///+r/4EB3wVKECYHoAAAEAcHXAClA/T//wBj/4AJ7QdzECYHoQAAECcHPgj9BYsQJwc9AugCRxAHBzkDTATv//8AY/1jCe0HcxAmB6EAABAnBz4I/QWLECcHPQLoAkcQBwdAAvP9bP//AGP/gAa+BikQJgehAAAQJwc9AugCRxAHBzkDTATv//8AY/1eCe0HcxAmB6EAABAnBz4I/QWLECcHPQLoAkcQBwc6AvH9Yv//AGP/gAa+BagQJgehAAAQBwc9AugCR///AGP/gAoICGQQJgehAAAQJwdBCEIGzBAnBz4I/QWLECcHRQfCBoUQBwc9AugCR///AGP9pQoICGQQJgehAAAQJwdBCEIGzBAnBz4I/QWLECcHPQLoAkcQBwdEAxb9qP//AGP+NAoICGQQJgehAAAQJwdBCEIGzBAnBz4I/QWLECcHPQLoAkcQBwc5AvP+N///AGP+swa+BagQJgehAAAQJwc9AugCRxAHB0UDAgAU//8AY/+ABr4F+xAmB6EAABAnBz0C6AJHEAcHOANMBO///wBj/4AGvgb+ECYHoQAAECcHPQLoAkcQBwc6A0wE7///AGP9Ywa+BagQJgehAAAQJwc9AugCRxAHB0AC8/1s//8AY/+ACggIZBAmB6EAABAnB0EIQgbMECcHPgj9BYsQBwc9AugCR///AGP/gAntB3MQJgehAAAQJwc+CP0FixAHBz0C6AJH//8AY/+ACggIZBAmB6EAABAnB0EIQgbMECcHPgj9BYsQJwc9AugCRxAHBzoDTATv//8AY/+ACe0HcxAmB6EAABAnBz4I/QWLECcHPQLoAkcQBwc6A0wE7///AGP/gAntB3MQJgehAAAQJwc+CP0FixAnBz0C6AJHEAcHOANMBO///wBj/4AKCAhkECYHoQAAECcHQQhCBswQJwc+CP0FixAnBz0C6AJHEAcHOQNMBO///wBj/SQE/wYcECYHogAAEAcBtwJmAPj//wBj/SQE/wVrECYHogAAEAcHOgH/A1z//wBj/SQE/wVQEAYHogAA//8AY/rKBP8FUBAmB6IAABAHB0ACy/rT//8AY/0kBP8FUBAmB6IAABAHBzgCWAQk//8AY/0kBP8FUBAmB6IAABAHB1wDxgNk////UP/OAr4GnhAmB6MAABAHAbcADAF6////Fv/OAr4HFxAmB6MAABAHBzoAAwUI////cP/OAr4FThAGB6MAAP///3D9gQK+BU4QJgejAAAQBwdAAZ/9iv///3D/zgK+BhQQJgejAAAQBwc4AAwFCP///3D/zgK+BU4QJgejAAAQBwdcASgEKP///0//LwHIByoQJgekAAAQBwG3AAsCBv///xX/LwHIB6MQJgekAAAQBwc6AAIFlP///8f/LwHIBWIQBgekAAD////H/V0CBAViECYHpAAAEAcHQAEZ/Wb///+B/y8ByAagECYHpAAAEAcHOAALBZT///88/y8ByAViECYHpAAAEAcHXAA2A+r////G/yICHgcrECYHpQAAEAcBtwCIAgf///+S/yICHgekECYHpQAAEAcHOgB/BZX////G/yICHgVnEAYHpQAA////xvu/AlgFZxAmB6UAABAHB0ABbfvI////xv8iAh4GoRAmB6UAABAHBzgAiAWV////kv8iAh4FZxAmB6UAABAHB1wAjAPq////UP+BAmAGnhAmB6YAABAHAbcADAF6////Fv+BAmAHFxAmB6YAABAHBzoAAwUI////cP+BAmAFThAGB6YAAP///3D9gQKKBU4QJgemAAAQBwdAAZ/9iv///3D/gQJgBhQQJgemAAAQBwc4AAwFCP///3D/gQJgBU4QJgemAAAQBwdcATED0f///0//LwF2ByoQJgenAAAQBwG3AAsCBv///xX/LwF2B6MQJgenAAAQBwc6AAIFlP///8f/LwF2BWIQBgenAAD////H/V0CBAViECYHpwAAEAcHQAEZ/Wb///+B/y8BdgagECYHpwAAEAcHOAALBZT///9G/y8BdgViECYHpwAAEAcHXABAA+r////G/yIByAcrECYHqAAAEAcBtwCIAgf///+S/yIByAekECYHqAAAEAcHOgB/BZX////G/yIByAVnEAYHqAAA////xvu/AlgFZxAmB6gAABAHB0ABbfvI////xv8iAcgGoRAmB6gAABAHBzgAiAWV////lv8iAcgFZxAmB6gAABAHB1wAkAPq////YQFiBH0FOhAmBy4AABAHBzgD8wQu////YQFiBF8D0RAGBy4AAP///2EBYgTXBnIQJgcuAAAQBwGxA/MBBP///2H9aQUBA9EQJgcuAAAQBwdOBBH9bP///2EBYgTbBj0QJgcuAAAQBwc6A/MELv///2H+WQR9A9EQJgcuAAAQBwc4A/P+XP///2EBYgR9BfgQJgcuAAAQBwdEA/MELv///2EBYgTjBWgQJgcuAAAQBwc5A/MELv///2H9mwSlA9EQJgcuAAAQBwdEBBv9nv///2H8UQVDA9EQJgcuAAAQJwdDBBv9ihAHBzkEPfxU////Yf2KBUMD0RAmBy4AABAHB0MEG/2K////Yf4qBOcD0RAmBy4AABAHBzkD9/4t////Yf1ZBOIFOhAmBy4AABAnBzgD8wQuEAcHQAP3/WL///9h/LQE4gPRECYHLgAAEA8HXQLu/RIgAP///2H9VATdA9EQJgcuAAAQBwc6A/X9WP///2EBYgUbByoQJgcuAAAQBwdDA/MEuv///2H9WQTiA9EQJgcuAAAQBwdAA/f9Yv///6sAAARiBToQJgcvAAAQBwc4AFAELv///6sAAARiAiwQBgcvAAD///9dAAAEYgZyECYHLwAAEAcBsQBQAQT///+m/WkEYgIsECYHLwAAEAcHTgC+/Wz///9jAAAEYgY9ECYHLwAAEAcHOgBQBC7///+r/lkEYgIsECYHLwAAEAcHOACg/lz///+eAAAEYgX4ECYHLwAAEAcHRABQBC7///9XAAAEYgVoECYHLwAAEAcHOQBQBC7///+r/ZsEYgIsECYHLwAAEAcHRADI/Z7///+r/FEEYgIsECYHLwAAECcHQwDI/YoQBwc5AOr8VP///6v9igRiAiwQJgcvAAAQBwdDAMj9iv///6v+KgRiAiwQJgcvAAAQBwc5AKT+Lf///6v9WQRiBToQJgcvAAAQJwc4AFAELhAHB0AApP1i////q/y0BGICLBAmBy8AABAPB13/m/0SIAD///+r/VQEYgIsECYHLwAAEAcHOgCi/Vj///80AAAEYgcqECYHLwAAEAcHQwBQBLr///+r/VkEYgIsECYHLwAAEAcHQACk/WL///+8/9IMlAUPEAYGqwAA////tv/hDS8FLBAGBzwAAP//AHb/wA99BQ8QBgc/AAD//wBU+6ICKwXBECYGkwAAEAcBsQFH+ED///85+14CKwXBECYGkwAAEAcBvAFH/5z///+n+5MBrwJXECYGmQAAEAcHTgC/+5b///+7+4MBkAJXECcHQACl+4wQBgaZAAD///+7+4MBkAJXECYGmQAAEAcHQACl+4z////F+8UBKwJXECYGmQAAEAcHRACM+8j////F/IMBKwJXECYGmQAAEAcHOABk/Ib///+s/FQBlQSBECYGmQAAECcHOQCl/FcQBwc4AHgDdf///6z8VAGVBXQQJgaZAAAQJgG4eEsQBwc5AKX8V////7X63gFTAlcQJgaZAAAQDwdd/1/7PCAA////rPxUAZUFwhAmBpkAABAvAcD/cQOIIAAQBwc5AKX8V////6z8VAGVBccQJgaZAAAQLwG//3IDgyAAEAcHOQCl/Ff///+s/FQBlQJXECYGmQAAEAcHOQCl/Ff///+s/FQBlQJXECYGmQAAEAcHOQCl/Ff///+s/FQBlQVvECYGmQAAECYBt3hLEAcHOQCl/Ff///+5/IMBjgWEECYGmQAAECcHOABk/IYQBwc6AKYDdf///uz8TAGEAlcQJgaZAAAQBwdPADb8Jf///637fgGWBK8QJgaZAAAQJwc6AKP7ghAHBzkApgN1////tvt+AYsCVxAmBpkAABAHBzoAo/uC////jPuRASsCVxAmBpkAABAHAbgAPPf0////rPxUAZUEgRAmBpkAABAnBzkApfxXEAcHOAB4A3X////F/IMBKwSBECYGmQAAECcHOABk/IYQBwc4AHgDdf///7v7gwGQAlcQJgaZAAAQBwdAAKX7jP///8X7xQErAlcQJgaZAAAQBwdEAIz7yP///6f7kwHRAhsQJgbPAAAQBwdOAOH7lv///6f7gwGyAhsQJwdAAMf7jBAGBs8AAP///6f7gwGyAhsQJgbPAAAQBwdAAMf7jP///6f7xQF0AhsQJgbPAAAQBwdEAOr7yP///6f8gwFMAhsQJgbPAAAQBwc4AML8hv///6f8VAG3BDYQJgbPAAAQJwc4APQDKhAHBzkAx/xX////p/xUAbgFKRAmBs8AABAnBzkAx/xXEAcBuAD0AAD///+n+t4BsQIbECYGzwAAEA8HXf+9+zwgAP///6f8VAIBBXcQJgbPAAAQJwc5AMf8VxAPAcD/7QM9IAD///+n/FQB1wV8ECYGzwAAECcHOQDH/FcQDwG//+4DOCAA////p/xUAbcCGxAmBs8AABAHBzkAx/xX////p/xUAbcCGxAmBs8AABAHBzkAx/xX////p/xUAbcFJBAmBs8AABAnBzkAx/xXEAcBtwD0AAD///+n/IMB+wU5ECYGzwAAECcHOgETAyoQBwc4AML8hv///w78TAGmAhsQJgbPAAAQBwdPAFj8Jf///6f7fgIDBGQQJgbPAAAQJwc5ARMDKhAHBzoAxfuC////p/t+Aa0CGxAmBs8AABAHBzoAxfuC////p/uRAV4CGxAmBs8AABAHAbgAmvf0////p/xUAbcENhAmBs8AABAnBzgA9AMqEAcHOQDH/Ff///+n/IMBfgQ2ECYGzwAAECcHOAD0AyoQBwc4AML8hv///6f7gwGyAhsQJgbPAAAQBwdAAMf7jP///6f7xQF0AhsQJgbPAAAQBwdEAOr7yP///1b7kwFeAmQQJgbcAAAQBwdOAG77lv///2r7gwE/AmQQJwdAAFT7jBAGBtwAAP///2r7gwE/AmQQJgbcAAAQBwdAAFT7jP///4P7xQECAmQQJgbcAAAQBwdEAHj7yP///4P8gwDoAmQQJgbcAAAQBwc4AFD8hv///1v8VAFEBIIQJgbcAAAQJwc4AJsDdhAHBzkAVPxX////W/xUAUQFcxAmBtwAABAnBzkAVPxXEAYBuG5K////g/reAT8CZBAmBtwAABAPB13/S/s8IAD///9b/FQBqAXDECYG3AAAECcHOQBU/FcQDwHA/5QDiSAA////W/xUAX4FyBAmBtwAABAnBzkAVPxXEA8Bv/+VA4QgAP///1v8VAFEAmQQJgbcAAAQBwc5AFT8V////1v8VAFEAmQQJgbcAAAQBwc5AFT8V////1v8VAFEBW4QJgbcAAAQJwc5AFT8VxAGAbduSv///4P8gwGDBYUQJgbcAAAQJwc6AJsDdhAHBzgAUPyG///+m/xMATMCZBAmBtwAABAHB0//5fwl////Zft+AYsEsBAmBtwAABAnBzkAmwN2EAcHOgBS+4L///9l+34BOgJkECYG3AAAEAcHOgBS+4L///94+5EA7AJkECYG3AAAEAcBuAAo9/T///9b/FQBRASCECYG3AAAECcHOACbA3YQBwc5AFT8V////4P8gwElBIIQJgbcAAAQJwc4AJsDdhAHBzgAUPyG////avuDAT8CZBAmBtwAABAHB0AAVPuM////g/vFAQICZBAmBtwAABAHB0QAePvI////cPuTAlkFVhAmBt4AABAHB04BafuW////cPuDAjoFVhAnB0ABT/uMEAYG3gAA////cPuDAjoFVhAmBt4AABAHB0ABT/uM////cPvFAf0FVhAmBt4AABAHB0QBc/vI////cPyDAdUFVhAmBt4AABAHBzgBS/yG////cPxUAj8HPhAmBt4AABAnBzgAWwYyEAcHOQFP/Ff///9w/FQCPwgxECYG3gAAECcHOQFP/FcQBwG4AFsDCP///3D63gI6BVYQJgbeAAAQDwddAEb7PCAA////cPxUAj8IfxAmBt4AABAnBzkBT/xXEA8BwP9UBkUgAP///3D8VAI/CIQQJgbeAAAQJwc5AU/8VxAPAb//VQZAIAD///9w/FQCPwVWECYG3gAAEAcHOQFP/Ff///9w/FQCPwVWECYG3gAAEAcHOQFP/Ff///9w/FQCPwgsECYG3gAAECcHOQFP/FcQBwG3AFsDCP///278gwHVCEEQJgbeAAAQJwc6AFsGMhAHBzgBS/yG////cPxMAi4FVhAmBt4AABAHB08A4Pwl////Yvt+AjUHbBAmBt4AABAnBzkAWwYyEAcHOgFN+4L///9w+34CNQVWECYG3gAAEAcHOgFN+4L///9w+5EB5wVWECYG3gAAEAcBuAEj9/T///9w/FQCPwc+ECYG3gAAECcHOABbBjIQBwc5AU/8V////3D8gwHVBz4QJgbeAAAQJwc4AFsGMhAHBzgBS/yG////cPuDAjoFVhAmBt4AABAHB0ABT/uM////cPvFAf0FVhAmBt4AABAHB0QBc/vI////gfuTAYkCkRAmBuAAABAHB04AmfuW////lfuDAWoCkRAnB0AAf/uMEAYG4AAA////lfuDAWoCkRAmBuAAABAHB0AAf/uM////xPvFAUUCkRAmBuAAABAHB0QAu/vI////xPyDAR0CkRAmBuAAABAHBzgAk/yG////hvxUAW8FcRAmBuAAABAnBzgAgQRlEAcHOQB//Ff///+G/FQBbwZkECYG4AAAECcHOQB//FcQBwG4AIEBO////8T63gGCApEQJgbgAAAQDwdd/477PCAA////hvxUAY4GshAmBuAAABAnBzkAf/xXEA8BwP96BHggAP///4b8VAFvBrcQJgbgAAAQJwc5AH/8VxAPAb//ewRzIAD///+G/FQBbwKRECYG4AAAEAcHOQB//Ff///+G/FQBbwKRECYG4AAAEAcHOQB//Ff///+G/FQBbwZfECYG4AAAECcHOQB//FcQBwG3AIEBO////3b8gwFLBnQQJgbgAAAQJwc6AGMEZRAHBzgAk/yG///+xvxMAV4CkRAmBuAAABAHB08AEPwl////avt+AWUFnxAmBuAAABAnBzkAYwRlEAcHOgB9+4L///+Q+34BZQKRECYG4AAAEAcHOgB9+4L///+7+5EBLwKRECYG4AAAEAcBuABr9/T///+G/FQBbwVxECYG4AAAECcHOACBBGUQBwc5AH/8V////8T8gwEdBXEQJgbgAAAQJwc4AIEEZRAHBzgAk/yG////lfuDAWoCkRAmBuAAABAHB0AAf/uM////xPvFAUUCkRAmBuAAABAHB0QAu/vI////kvuTAeICsBAnBs//6wCVEAcHTgDy+5b///+S+4MBwwKwECcHQADY+4wQBwbP/+sAlf///5L7gwHDArAQJwbP/+sAlRAHB0AA2PuM////kvvFAYYCsBAnBs//6wCVEAcHRAD8+8j///+S/IMBXgKwECcGz//rAJUQBwc4ANT8hv///5L8VAHIBJAQJwbP/+sAlRAnBzgAzAOEEAcHOQDY/Ff///+S/FQByAWDECcGz//rAJUQJwc5ANj8VxAHAbgAzABa////kvreAcMCsBAnBs//6wCVEA8HXf/P+zwgAP///5L8VAHZBdEQJwbP/+sAlRAnBzkA2PxXEA8BwP/FA5cgAP///5L8VAHIBdYQJwbP/+sAlRAnBzkA2PxXEA8Bv//GA5IgAP///5L8VAHIArAQJwbP/+sAlRAHBzkA2PxX////kvxUAcgCsBAnBs//6wCVEAcHOQDY/Ff///+S/FQByAV+ECcGz//rAJUQJwc5ANj8VxAHAbcAzABa////kvyDAbQFkxAnBs//6wCVECcHOgDMA4QQBwc4ANT8hv///x/8TAG3ArAQJwbP/+sAlRAHB08Aafwl////kvt+Ab4EvhAnBs//6wCVECcHOQDMA4QQBwc6ANb7gv///5L7fgG+ArAQJwbP/+sAlRAHBzoA1vuC////kvuRAXACsBAnBs//6wCVEAcBuACs9/T///+S/FQByASQECcGz//rAJUQJwc4AMwDhBAHBzkA2PxX////kvyDAV4EkBAnBs//6wCVECcHOADMA4QQBwc4ANT8hv///5L7gwHDArAQJwbP/+sAlRAHB0AA2PuM////kvvFAYYCsBAnBs//6wCVEAcHRAD8+8j////g+5MCQQQGECYG+QAAEAcHTgFR+5b////g+4MCIgQGECcHQAE3+4wQBgb5AAD////g+4MCIgQGECYG+QAAEAcHQAE3+4z////g+8UB2gQGECYG+QAAEAcHRAFQ+8j////g/IMBsgQGECYG+QAAEAcHOAEo/Ib////g/FQCJwX4ECYG+QAAECcHOAB4BOwQBwc5ATf8V////8j8VAInBusQJgb5AAAQJwc5ATf8VxAHAbgAeAHC////4PreAhcEBhAmBvkAABAPB10AI/s8IAD///+y/FQCJwc5ECYG+QAAECcHOQE3/FcQDwHA/3EE/yAA////4PxUAicHPhAmBvkAABAnBzkBN/xXEA8Bv/9yBPogAP///+D8VAInBAYQJgb5AAAQBwc5ATf8V////+D8VAInBAYQJgb5AAAQBwc5ATf8V////7z8VAInBuYQJgb5AAAQJwc5ATf8VxAHAbcAeAHC////i/yDAbIG+xAmBvkAABAnBzoAeATsEAcHOAEo/Ib///9+/EwCFgQGECYG+QAAEAcHTwDI/CX///9/+34CHQYmECYG+QAAECcHOQB4BOwQBwc6ATX7gv///+D7fgIdBAYQJgb5AAAQBwc6ATX7gv///+D7kQHEBAYQJgb5AAAQBwG4AQD39P///+D8VAInBfgQJgb5AAAQJwc4AHgE7BAHBzkBN/xX////4PyDAbIF+BAmBvkAABAnBzgAeATsEAcHOAEo/Ib////g+4MCIgQGECYG+QAAEAcHQAE3+4z////g+8UB2gQGECYG+QAAEAcHRAFQ+8j///9b+5MCMwPdECYHAgAAEAcHTgFD+5b///9b+4MCFAPdECcHQAEp+4wQBgcCAAD///9b+4MCFAPdECYHAgAAEAcHQAEp+4z///9b+8UB1gPdECYHAgAAEAcHRAFM+8j///9b/IMBrgPdECYHAgAAEAcHOAEk/Ib///9b/FQCGQU6ECYHAgAAECcHOACEBC4QBwc5ASn8V////1v8VAIZBi0QJgcCAAAQJwc5ASn8VxAHAbgAhAEE////W/reAhMD3RAmBwIAABAPB10AH/s8IAD///9b/FQCGQZ7ECYHAgAAECcHOQEp/FcQDwHA/30EQSAA////W/xUAhkGgBAmBwIAABAnBzkBKfxXEA8Bv/9+BDwgAP///1v8VAIZA90QJgcCAAAQBwc5ASn8V////1v8VAIZA90QJgcCAAAQBwc5ASn8V////1v8VAIZBigQJgcCAAAQJwc5ASn8VxAHAbcAhAEE////W/yDAa4GPRAmBwIAABAnBzoAhAQuEAcHOAEk/Ib///9b/EwCCAPdECYHAgAAEAcHTwC6/CX///9b+34CDwVoECYHAgAAECcHOQCEBC4QBwc6ASf7gv///1v7fgIPA90QJgcCAAAQBwc6ASf7gv///1v7kQHAA90QJgcCAAAQBwG4APz39P///1v8VAIZBToQJgcCAAAQJwc4AIQELhAHBzkBKfxX////W/yDAa4FOhAmBwIAABAnBzgAhAQuEAcHOAEk/Ib///9b+4MCFAPdECYHAgAAEAcHQAEp+4z///9b+8UB1gPdECYHAgAAEAcHRAFM+8j////Q+5MB3AOeECYHEgAAEAcHTgDs+5b////Q+4MBvQOeECcHQADS+4wQBgcSAAD////Q+4MBvQOeECYHEgAAEAcHQADS+4z////Q+8UBEAOeECYHEgAAEAcHRACG+8j////Q/IMA6AOeECYHEgAAEAcHOABe/Ib////Q/FQBwgVsECYHEgAAECcHOADDBGAQBwc5ANL8V////9D8VAHCBl8QJgcSAAAQJwc5ANL8VxAHAbgAwwE2////r/reAU0DnhAmBxIAABAPB13/Wfs8IAD////Q/FQB0AatECYHEgAAECcHOQDS/FcQDwHA/7wEcyAA////0PxUAcIGshAmBxIAABAnBzkA0vxXEA8Bv/+9BG4gAP///9D8VAHCA54QJgcSAAAQBwc5ANL8V////9D8VAHCA54QJgcSAAAQBwc5ANL8V////9D8VAHCBloQJgcSAAAQJwc5ANL8VxAHAbcAwwE2////0PyDAbUGbxAmBxIAABAnBzoAzQRgEAcHOABe/Ib///8Z/EwBsQOeECYHEgAAEAcHTwBj/CX////Q+34BvQWaECYHEgAAECcHOQDNBGAQBwc6AND7gv///9D7fgG4A54QJgcSAAAQBwc6AND7gv///4b7kQD6A54QJgcSAAAQBwG4ADb39P///9D8VAHCBWwQJgcSAAAQJwc4AMMEYBAHBzkA0vxX////0PyDAU0FbBAmBxIAABAnBzgAwwRgEAcHOABe/Ib////Q+4MBvQOeECYHEgAAEAcHQADS+4z////Q+8UBEAOeECYHEgAAEAcHRACG+8j///+W+7EB9QGMECYHFQAAEAcHTgEF+7T///+W+6EB1gGMECcHQADr+6oQBgcVAAD///+W+6EB1gGMECYHFQAAEAcHQADr+6r///+W++MBmAGMECYHFQAAEAcHRAEO++b///+W/KEBhwGMECYHFQAAEAcHOADm/KT///+W/HIB2wO5ECYHFQAAECcHOAEvAq0QBwc5AOv8df///5b8cgHbBKwQJgcVAAAQJwG4AQ7/gxAHBzkA6/x1////lvr8AdUBjBAmBxUAABAPB13/4ftaIAD///+W/HICPAT6ECYHFQAAEC8BwAAoAsAgABAHBzkA6/x1////lvxyAhIE/xAmBxUAABAvAb8AKQK7IAAQBwc5AOv8df///5b8cgHbAYwQJgcVAAAQBwc5AOv8df///5b8cgHbAYwQJgcVAAAQBwc5AOv8df///5b8cgHbBKcQJgcVAAAQJwG3AQ7/gxAHBzkA6/x1////lvyhAg0EvBAmBxUAABAnBzoBJQKtEAcHOADm/KT///8y/GoBygGMECYHFQAAEAcHTwB8/EP///+W+5wCFQPnECYHFQAAECcHOQElAq0QBwc6AOn7oP///5b7nAHRAYwQJgcVAAAQBwc6AOn7oP///5b7rwGHAYwQJgcVAAAQBwG4AL74Ev///5b8cgHbA7kQJgcVAAAQJwc4AS8CrRAHBzkA6/x1////lvyhAbkDuRAmBxUAABAnBzgBLwKtEAcHOADm/KT///+W+6EB1gGMECYHFQAAEAcHQADr+6r///+W++MBmAGMECYHFQAAEAcHRAEO++b///+3+5MBvwNUECYHFwAAEAcHTgDP+5b////L+4MBoANUECcHQAC1+4wQBgcXAAD////L+4MBoANUECYHFwAAEAcHQAC1+4z////O+8UBYwNUECYHFwAAEAcHRADZ+8j////O/IMBOwNUECYHFwAAEAcHOACx/Ib///+8/FQBpQWAECYHFwAAECcHOAC7BHQQBwc5ALX8V////7z8VAGlBnMQJgcXAAAQJwc5ALX8VxAHAbgAuwFK////zvreAaADVBAmBxcAABAPB13/rPs8IAD///+8/FQByAbBECYHFwAAECcHOQC1/FcQDwHA/7QEhyAA////vPxUAaUGxhAmBxcAABAnBzkAtfxXEA8Bv/+1BIIgAP///7z8VAGlA1QQJgcXAAAQBwc5ALX8V////7z8VAGlA1QQJgcXAAAQBwc5ALX8V////7z8VAGlBm4QJgcXAAAQJwc5ALX8VxAHAbcAuwFK////zvyDAaMGgxAmBxcAABAnBzoAuwR0EAcHOACx/Ib///78/EwBlANUECYHFwAAEAcHTwBG/CX////C+34BqwWuECYHFwAAECcHOQC7BHQQBwc6ALP7gv///8b7fgGbA1QQJgcXAAAQBwc6ALP7gv///877kQFNA1QQJgcXAAAQBwG4AIn39P///7z8VAGlBYAQJgcXAAAQJwc4ALsEdBAHBzkAtfxX////zvyDAUUFgBAmBxcAABAnBzgAuwR0EAcHOACx/Ib////L+4MBoANUECYHFwAAEAcHQAC1+4z////O+8UBYwNUECYHFwAAEAcHRADZ+8j////g+5MCFQN8ECcG+QAA/3YQBwdOASX7lv///+D7gwH2A3wQJwdAAQv7jBAHBvkAAP92////4PuDAfYDfBAnBvkAAP92EAcHQAEL+4z////g+8UBuAN8ECcG+QAA/3YQBwdEAS77yP///+D8gwGQA3wQJwb5AAD/dhAHBzgBBvyG////4PxUAfsFYBAnBvkAAP92ECcHOACPBFQQBwc5AQv8V////9/8VAH7BlMQJwb5AAD/dhAnBzkBC/xXEAcBuACPASr////g+t4B9QN8ECcG+QAA/3YQDwddAAH7PCAA////yfxUAfsGoRAnBvkAAP92ECcHOQEL/FcQDwHA/4gEZyAA////4PxUAfsGphAnBvkAAP92ECcHOQEL/FcQDwG//4kEYiAA////4PxUAfsDfBAnBvkAAP92EAcHOQEL/Ff////g/FQB+wN8ECcG+QAA/3YQBwc5AQv8V////9P8VAH7Bk4QJwb5AAD/dhAnBzkBC/xXEAcBtwCPASr///+i/IMBkAZjECcG+QAA/3YQJwc6AI8EVBAHBzgBBvyG////UvxMAeoDfBAnBvkAAP92EAcHTwCc/CX///+W+34B8QWOECcG+QAA/3YQJwc5AI8EVBAHBzoBCfuC////4Pt+AfEDfBAnBvkAAP92EAcHOgEJ+4L////g+5EBogN8ECcG+QAA/3YQBwG4AN739P///+D8VAH7BWAQJwb5AAD/dhAnBzgAjwRUEAcHOQEL/Ff////g/IMBkAVgECcG+QAA/3YQJwc4AI8EVBAHBzgBBvyG////4PuDAfYDfBAnBvkAAP92EAcHQAEL+4z////g+8UBuAN8ECcG+QAA/3YQBwdEAS77yP///8P7kwTFBGwQJgcpAAAQBwdOA9X7lv///8P7gwSmBGwQJwdAA7v7jBAGBykAAP///8P7gwSmBGwQJgcpAAAQBwdAA7v7jP///8P7xQReBGwQJgcpAAAQBwdEA9T7yP///8P8gwQ2BGwQJgcpAAAQBwc4A6z8hv///8P8VASrBfgQJgcpAAAQJwc4AsYE7BAHBzkDu/xX////w/xUBKsG6xAmBykAABAnBzkDu/xXEAcBuALGAcL////D+t4EmwRsECYHKQAAEA8HXQKn+zwgAP///8P8VASrBzkQJgcpAAAQJwc5A7v8VxAPAcABvwT/IAD////D/FQEqwc+ECYHKQAAECcHOQO7/FcQDwG/AcAE+iAA////w/xUBKsEbBAmBykAABAHBzkDu/xX////w/xUBKsEbBAmBykAABAHBzkDu/xX////w/xUBKsG5hAmBykAABAnBzkDu/xXEAcBtwLGAcL////D/IMENgb7ECYHKQAAECcHOgLGBOwQBwc4A6z8hv///8P8TASaBGwQJgcpAAAQBwdPA0z8Jf///8P7fgShBiYQJgcpAAAQJwc5AsYE7BAHBzoDufuC////w/t+BKEEbBAmBykAABAHBzoDufuC////w/uRBEgEbBAmBykAABAHAbgDhPf0////w/xUBKsF+BAmBykAABAnBzgCxgTsEAcHOQO7/Ff////D/IMENgX4ECYHKQAAECcHOALGBOwQBwc4A6z8hv///8P7gwSmBGwQJgcpAAAQBwdAA7v7jP///8P7xQReBGwQJgcpAAAQBwdEA9T7yP///bD7kwLEBPYQJgcqAAAQBwdOAdT7lv///bD7gwKlBPYQJwdAAbr7jBAGByoAAP///bD7gwKlBPYQJgcqAAAQBwdAAbr7jP///bD7xQJoBPYQJgcqAAAQBwdEAd77yP///bD8gwJABPYQJgcqAAAQBwc4Abb8hv///bD8VAKqBoAQJgcqAAAQJwc4AQgFdBAHBzkBuvxX///9sPxUAqoE9hAmByoAABAnBzkBuvxXEAcBuAG2+1////2w+t4CpQT2ECYHKgAAEA8HXQCx+zwgAP///bD8VAKqB8EQJgcqAAAQJwc5Abr8VxAPAcAAAQWHIAD///2w/FQCqgfGECYHKgAAECcHOQG6/FcQDwG/AAIFgiAA///9sPxUAqoE9hAmByoAABAHBzkBuvxX///9sPxUAqoE9hAmByoAABAHBzkBuvxX///9sPxUAqoE9hAmByoAABAnBzkBuvxXEAcBtwG2+1////2w/IMCQAeDECYHKgAAECcHOgEIBXQQBwc4Abb8hv///bD8TAKZBPYQJgcqAAAQBwdPAUv8Jf///bD7fgKgBq4QJgcqAAAQJwc5AQgFdBAHBzoBuPuC///9sPt+AqAE9hAmByoAABAHBzoBuPuC///9sPuRAlIE9hAmByoAABAHAbgBjvf0///9sPxUAqoGgBAmByoAABAnBzgBCAV0EAcHOQG6/Ff///2w/IMCQAaAECYHKgAAECcHOAEIBXQQBwc4Abb8hv///bD7gwKlBPYQJgcqAAAQBwdAAbr7jP///bD7xQJoBPYQJgcqAAAQBwdEAd77yP///+b7kwInAh8QJgc3AAAQBwdOATf7lv///+b7gwIIAh8QJwdAAR37jBAGBzcAAP///+b7gwIIAh8QJgc3AAAQBwdAAR37jP///+b7xQGOAh8QJgc3AAAQBwdEAQT7yP///+b8gwFmAh8QJgc3AAAQBwc4ANz8hv///9X8VAINBAQQJgc3AAAQJwc4AF8C+BAHBzkBHfxX////4fxUAg0EkxAmBzcAABAnBzkBHfxXEAcBuACR/2r////m+t4BywIfECYHNwAAEA8HXf/X+zwgAP///5n8VAINBUUQJgc3AAAQJwc5AR38VxAPAcD/WAMLIAD////H/FQCDQVKECYHNwAAECcHOQEd/FcQDwG//1kDBiAA////5vxUAg0CHxAmBzcAABAHBzkBHfxX////5vxUAg0CHxAmBzcAABAHBzkBHfxX////1fxUAg0EjhAmBzcAABAnBzkBHfxXEAcBtwCR/2r///+q/IMBfwSjECYHNwAAECcHOgCXApQQBwc4ANz8hv///2T8TAH8Ah8QJgc3AAAQBwdPAK78Jf///577fgIDA84QJgc3AAAQJwc5AJcClBAHBzoBG/uC////5vt+AgMCHxAmBzcAABAHBzoBG/uC////5vuRAXgCHxAmBzcAABAHAbgAtPf0////1fxUAg0EBBAmBzcAABAnBzgAXwL4EAcHOQEd/Ff////V/IMBZgQEECYHNwAAECcHOABfAvgQBwc4ANz8hv///+b7gwIIAh8QJgc3AAAQBwdAAR37jP///+b7xQGOAh8QJgc3AAAQBwdEAQT7yP///7/7kwJaAjkQJgdJAAAQBwdOAWr7lv///7/7gwI7AjkQJwdAAVD7jBAGB0kAAP///7/7gwI7AjkQJgdJAAAQBwdAAVD7jP///7/7xQH9AjkQJgdJAAAQBwdEAXP7yP///7/8gwHVAjkQJgdJAAAQBwc4AUv8hv///7/8VAJABIEQJgdJAAAQJwc4AOsDdRAHBzkBUPxX////v/xUAkAErBAmB0kAABAnBzkBUPxXEAcBuADr/4P///+/+t4COgI5ECYHSQAAEA8HXQBG+zwgAP///7/8VAJABcIQJgdJAAAQJwc5AVD8VxAPAcD/5AOIIAD///+//FQCQAXHECYHSQAAECcHOQFQ/FcQDwG//+UDgyAA////v/xUAkACORAmB0kAABAHBzkBUPxX////v/xUAkACORAmB0kAABAHBzkBUPxX////v/xUAkAEpxAmB0kAABAnBzkBUPxXEAcBtwDr/4P///+//IMCAQSKECYHSQAAECcHOgEZAnsQBwc4AUv8hv///5f8TAIvAjkQJgdJAAAQBwdPAOH8Jf///7/7fgI2BK8QJgdJAAAQJwc5ARkDdRAHBzoBTvuC////v/t+AjYCORAmB0kAABAHBzoBTvuC////v/uRAecCORAmB0kAABAHAbgBI/f0////v/xUAkAEgRAmB0kAABAnBzgA6wN1EAcHOQFQ/Ff///+//IMB1QSBECYHSQAAECcHOADrA3UQBwc4AUv8hv///7/7gwI7AjkQJgdJAAAQBwdAAVD7jP///7/7xQH9AjkQJgdJAAAQBwdEAXP7yP///4r7kwJlA+MQJgeEAAAQBwdOAXX7lv///4r7gwJGA+MQJwdAAVv7jBAGB4QAAP///4r7gwJGA+MQJgeEAAAQBwdAAVv7jP///4r7xQIJA+MQJgeEAAAQBwdEAX/7yP///4r8gwHhA+MQJgeEAAAQBwc4AVf8hv///4r8VAJLBZQQJgeEAAAQJwc4AHsEiBAHBzkBW/xX////ivxUAksGhxAmB4QAABAnBzkBW/xXEAcBuAB7AV7///+K+t4CRgPjECYHhAAAEA8HXQBS+zwgAP///4r8VAJLBtUQJgeEAAAQJwc5AVv8VxAPAcD/dASbIAD///+K/FQCSwbaECYHhAAAECcHOQFb/FcQDwG//3UEliAA////ivxUAksD4xAmB4QAABAHBzkBW/xX////ivxUAksD4xAmB4QAABAHBzkBW/xX////ivxUAksGghAmB4QAABAnBzkBW/xXEAcBtwB7AV7///9n/IMB4QaXECYHhAAAECcHOgBUBIgQBwc4AVf8hv///4r8TAI6A+MQJgeEAAAQBwdPAOz8Jf///1v7fgJBBcIQJgeEAAAQJwc5AFQEiBAHBzoBWfuC////ivt+AkED4xAmB4QAABAHBzoBWfuC////ivuRAfMD4xAmB4QAABAHAbgBL/f0////ivxUAksFlBAmB4QAABAnBzgAewSIEAcHOQFb/Ff///+K/IMB4QWUECYHhAAAECcHOAB7BIgQBwc4AVf8hv///4r7gwJGA+MQJgeEAAAQBwdAAVv7jP///4r7xQIJA+MQJgeEAAAQBwdEAX/7yP///437kwNpAs8QJgeOAAAQBwdOAnn7lv///437gwNKAs8QJwdAAl/7jBAGB44AAP///437gwNKAs8QJgeOAAAQBwdAAl/7jP///437xQMNAs8QJgeOAAAQBwdEAoP7yP///438gwLlAs8QJgeOAAAQBwc4Alv8hv///438VANPBOsQJgeOAAAQJwc4Ab4D3xAHBzkCX/xX////jfxUA08F3hAmB44AABAnBzkCX/xXEAcBuAG+ALX///+N+t4DSgLPECYHjgAAEA8HXQFW+zwgAP///438VANPBiwQJgeOAAAQJwc5Al/8VxAPAcAAtwPyIAD///+N/FQDTwYxECYHjgAAECcHOQJf/FcQDwG/ALgD7SAA////jfxUA08CzxAmB44AABAHBzkCX/xX////jfxUA08CzxAmB44AABAHBzkCX/xX////jfxUA08F2RAmB44AABAnBzkCX/xXEAcBtwG+ALX///+N/IMC5QXuECYHjgAAECcHOgG+A98QBwc4Alv8hv///438TAM+As8QJgeOAAAQBwdPAfD8Jf///437fgNFBRkQJgeOAAAQJwc5Ab4D3xAHBzoCXfuC////jft+A0UCzxAmB44AABAHBzoCXfuC////jfuRAvcCzxAmB44AABAHAbgCM/f0////jfxUA08E6xAmB44AABAnBzgBvgPfEAcHOQJf/Ff///+N/IMC5QTrECYHjgAAECcHOAG+A98QBwc4Alv8hv///437gwNKAs8QJgeOAAAQBwdAAl/7jP///437xQMNAs8QJgeOAAAQBwdEAoP7yP///8f7kwMQAaMQJgeUAAAQBwdOAiD7lv///8f7gwLxAaMQJwdAAgb7jBAGB5QAAP///8f7gwLxAaMQJgeUAAAQBwdAAgb7jP///8f7xQKzAaMQJgeUAAAQBwdEAin7yP///8f8gwKXAaMQJgeUAAAQBwc4AgH8hv///8f8VAL2BAQQJgeUAAAQJwc4Ac8C+BAHBzkCBvxX////x/xUAvYE9xAmB5QAABAnBzkCBvxXEAcBuAHP/87////H+t4C8AGjECYHlAAAEA8HXQD8+zwgAP///8f8VAL2BUUQJgeUAAAQJwc5Agb8VxAPAcAAyAMLIAD////H/FQC9gVKECYHlAAAECcHOQIG/FcQDwG/AMkDBiAA////x/xUAvYBoxAmB5QAABAHBzkCBvxX////x/xUAvYBoxAmB5QAABAHBzkCBvxX////x/xUAvYE8hAmB5QAABAnBzkCBvxXEAcBtwHP/87////H/IMCuAUHECYHlAAAECcHOgHQAvgQBwc4AgH8hv///8f8TALlAaMQJgeUAAAQBwdPAZf8Jf///8f7fgLsBDIQJgeUAAAQJwc5AdAC+BAHBzoCBPuC////x/t+AuwBoxAmB5QAABAHBzoCBPuC////x/uRAp0BoxAmB5QAABAHAbgB2ff0////x/xUAvYEBBAmB5QAABAnBzgBzwL4EAcHOQIG/Ff////H/IMClwQEECYHlAAAECcHOAHPAvgQBwc4AgH8hv///8f7gwLxAaMQJgeUAAAQBwdAAgb7jP///8f7xQKzAaMQJgeUAAAQBwdEAin7yP///6f8eQFSAhsQJgbPAAAQBwdFAML92v///4P8eQDoAmQQJgbcAAAQBwdFAFD92v///3D8eQHbBVYQJgbeAAAQBwdFAUv92v///8T8eQEjApEQJgbgAAAQBwdFAJP92v///5L8eQFkArAQJwbP/+sAlRAHB0UA1P3a////4Px5AbgEBhAmBvkAABAHB0UBKP3a////W/x5AbQD3RAmBwIAABAHB0UBJP3a////0Px5AO4DnhAmBxIAABAHB0UAXv3a////lvujAbYBjBAmBxUAABAHB0UBJv0E////zvx5AUEDVBAmBxcAABAHB0UAsf3a////4Px5AZYDfBAnBvkAAP92EAcHRQEG/dr////D/HkEPARsECYHKQAAEAcHRQOs/dr///2w/HkCRgT2ECYHKgAAEAcHRQG2/dr////m/HkBbAIfECYHNwAAEAcHRQDc/dr///+//HkB2wI5ECYHSQAAEAcHRQFL/dr///+K/HkB5wPjECYHhAAAEAcHRQFX/dr///+N/HkC6wLPECYHjgAAEAcHRQJb/dr////H/HkClwGjECYHlAAAEAcHRQIB/dr////xAAQC2wRZECYW/AAAEAcHOAGzA00AAf/xAAQC2wJ2ABYAACc2NycmNzY3NhcWFxYHBgcGBwQHBicmAYv8JxMNPCQZGppAFQ0SVRU8/rq3DwwNMOcwORwceyccDlJBFSc2bRwCCcALDAv////xAAQC2wJ2EAYW/AAA////8f70AtsCdhAmFvwAABAHBzgCRP73//8AXwM7AXYFmhAHAc3/nPwv////ugAAAp8EbhAnAc3/tfsDEAYXAwAA////ugAAAp8ETBAnAbEBLP7eEAYXAwAA////lgQ2ARAF2hAPAbEAWQGCMzMAAf+6AAACnwDAAAsAACU2DwEGByEmLwEmFwJYRxMaCBL9qBIIGhJGuQZHWR4BAh1ZSAf//wDAAMABmgHX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WQAAECcHOQC+/jwQBwG3/tcCPv///j/+OQGuB7oQJhdZAAAQJwc5AL7+PBAPAb/90QV2IAD///71/WgBqQSKECcHQAC+/XEQBhdZAAD///3kAkcAKgesECYXWQAAEAcBsf7XAj7///71AkcAKgSKEAYXWQAA///+9f3HAMcEihAmF1kAABAHB0UAN/8o///+9f45Aa4EihAmF1kAABAHBzkAvv48///9uwJHACoHnBAmF1kAABAHB0P+1wUs///9vwJHACoHkhAmF1kAABAHB07+1wVo///+9f14AOYEihAmF1kAABAHAbgAIvnb///97QJHACoHchAmF1kAABAHB0D+1wVo///+9f1oAakEihAmF1kAABAHB0AAvv1x///+9f2sAPwEihAmF1kAABAHB0QAcv2v///+9f4dANQEihAmF1kAABAHBzgASv4g///+JQJHACoHMhAmF1kAABAHB0T+1wVo///96v4dANQHdxAmF1kAABAnBzr+1wVoEAcHOABK/iD///5NAkcAKgZ0ECYXWQAAEAcHOP7XBWj///3e/WMBpAaiECYXWQAAECcHOf7XBWgQBwc6ALz9Z////vX9YwGkBIoQJhdZAAAQBwc6ALz9Z////d4CRwAqBqIQJhdZAAAQBwc5/tcFaP///qwCRwCDB6wQJhdZAAAQBwGx/58CPv///if+OQGuB2cQJhdZAAAQJwc5AL7+PBAHAbj+1wI+///96gJHACoHdxAmF1kAABAHBzr+1wVo///9uwJHACoHnBAmF1kAABAHB0P+1wUs///+Tf4dANQGdBAmF1kAABAnBzj+1wVoEAcHOABK/iD///3pAkcAKghmECYXWQAAECcHOP7XBWgQBwG3/qUDQv///vUCRwAqBIoQBhdZAAD///3eAMUAZgaiECYXWQAAECcHOf7XBWgQBwdF/9YCJv///k3+OQGuBnQQJhdZAAAQJwc4/tcFaBAHBzkAvv48///+9f1oAakEihAmF1kAABAHB0AAvv1x///+9f2sAPwEihAmF1kAABAHB0QAcv2v///+9QJHACoEihAGF1kAAP///vX+OQGuBIoQJhdZAAAQBwc5AL7+PP///k3+OQGuBnQQJhdZAAAQJwc4/tcFaBAHBzkAvv48////wv/RCNUExhAmF1cAABAPAcD/gQKMIAD////w/9EI1QTLECYXVwAAEA8Bv/+CAocgAP//AHv/0QjVArMQBhdXAAD///7TAjUASgftECYXXAAAEAcBt/+PAsn///6ZAjUAbghmECYXXAAAEAcHOv+GBlf///9OAjUAKQYPEAYXXAAA////TgBsAgQGDxAmF1wAABAHB0ABGQB1////BQI1ACkHYxAmF1wAABAHBzj/jwZX///+swI1AKcGDxAmF1wAABAHB1z/rQRx///+TgJGAEcE3xAGF1oAAP///k4AZwH/BN8QJhdaAAAQBwc6ARcAa////k4BPQIJBN8QJhdaAAAQBwc5ARkBQP///cgCRgBHBscQJhdaAAAQBwc5/sEFjf///jcCRgBHBpkQJhdaAAAQBwc4/sEFjf///dQCRgBHB5wQJhdaAAAQBwc6/sEFjf///k4CRgBHBN8QBhdaAAD///5OAWwBgATfECYXWgAAEAcHOAD2AW////43AWwBgAaZECYXWgAAECcHOP7BBY0QBwc4APYBb////dQCRgBHB5wQJhdaAAAQBwc6/sEFjf///k4AbAIEBN8QJhdaAAAQBwdAARkAdf///akCRgBHB7cQJhdaAAAQBwdO/sEFjf///jcCRgBHBpkQJhdaAAAQBwc4/sEFjQABAHz/0QjVATkAHAAANzYXFhcWBwYHBhcWFxYlJAUyDwEGIyQEJCcmNza+JiQHBRoOBgsXDiJZnAKHAogBbzoZLBsk/qT7rP4gMRQJEvNGBAEEEhsLChUULQoSHBwBLlMyATAETiMmRgAB/7MAywT1A7AAIgAAATYnLgEHBiY3Njc2FxYFFg8BBickBQQHBgcGJyYnJjcSJTYCggYOX7aNDQgFOodgotcBaikPSgUP/s/+0/7tsDwpIA8FBRYgwgGwHwKCAQk9NzQFEw6RIBdtjCAEGHsIA0Y6SX4sLRwGAgMVLQENUwUAAf+eAKcEHgSmACAAAAE2FhcWBickBwYXFhcWNzYPAQ4BBwQHBiY3NiUuATc2JAI4NsIxCwsQ/sHMBwtJwlf4ehcyDRlh/WyvTh8LZAFqWGYKGQEBBJ8HXzUMEwRUzAgSdCEPgUA5dR4MJPudRxQYz7ArdjZu/AAB/7UAygLvA4cAFgAAEzY3JyY3PgEXFhcWBwYHBgQHDgEmNzbUUW4mEgw8PhlccyZzGUGe/sc/Fh0kFmoCBi8rMhwce0INNFQenSESKqw/Fg8aJ5/////C/9EI1QTGECYXrwAAEA8BwP+BAowgAP////D/0QjVBMsQJhevAAAQDwG//4IChyAA//8AfP/RCNUBORAGF68AAP///7UAygLvBNYQJheyAAAQBwc4AcIDyv///7UAygLvA4cQBheyAAD///+1ALsC9gOHECYXsgAAEAcHOAJsAL7///+zAMsE9QTBECYXsAAAEAcHOARdA7X///+zAMsE9QOwEAYXsAAA////swDLBUEF+RAmF7AAABAHAbEEXQCL////s/2kBWwDsBAmF7AAABAHB04EfP2n////swDLBUYFxBAmF7AAABAHBzoEXgO1////s/4dBPUDsBAmF7AAABAHBzgEXf4g////swDLBPUFfxAmF7AAABAHB0QEXQO1////swDLBU4E7xAmF7AAABAHBzkEXgO1////s/1eBQ8DsBAmF7AAABAHB0QEhf1h////s/vYBa0DsBAmF7AAABAnB0MEhf0REAcHOQSn+9v///+z/REFrQOwECYXsAAAEAcHQwSF/RH///+z/mUFUgOwECYXsAAAEAcHOQRi/mj///+z/ZQFTQTBECYXsAAAECcHOARdA7UQBwdABGL9nf///7P8dwVMA7AQJhewAAAQDwddA1j81SAA////s/2PBUgDsBAmF7AAABAHBzoEYP2T////swDLBYUGsRAmF7AAABAHB0MEXQRB////s/2UBU0DsBAmF7AAABAHB0AEYv2d////ngB/BB4GORAmF7EAABAnBzgB0gUtEAcHOANIAIL///+eAKcEHgY5ECYXsQAAEAcHOAHSBS3///+eAKcEHgc3ECYXsQAAEAcHQAHRBS3///+eAKcEHgZnECYXsQAAEAcHOQHRBS3///+eAKcEHgb3ECYXsQAAEAcHRAHSBS3///+eAKcEHgc8ECYXsQAAEAcHOgHRBS3///+eAKcEHgSmEAYXsQAAAAP/uADMA4kEmQAZACIALAAAATYWABcWBwYnJicEBwYnJjc2NyY3NjcmJyYTNjUmJyYHBhY3JhUUBxY3NicmAQkwrwF4EhdXLD+dp/7lYyAaEyVL32EhK2wVLhikOwg4U0YUR/wHQOUtDgQfA+C5CP6abIZoNAYQQLBZHhQOOnOIM2aEXyEGA/7SJhRrCxFYGTB3BQg6ckkZCAlM////uADMA4kEmRAGF9EAAP///7gA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AbcAa/nG////vPwEAxkCrBAmBuEAABAHAbcBjfh3////zf0RAgoBOxAmBuYAABAHAbcAoPmE////gP1DAaMBTxAmBu4AABAHAbcAPPm2////kv0lAWcCsBAnBs//6wCVEAcBtwCs+Zj////g/XUBuwQGECYG+QAAEAcBtwEA+ej////C/PMCVAJ8ECYG+wAAEAcBtwDm+Wb///9b/REBtwPdECYHAgAAEAcBtwD8+YT///97/gsA8gOeECYHEgAAEAcBtwA3+n7///+Q/NUD7QP6ECYHEwAAEAcBtwKT+Uj///9g/ZMCcQNSECYHFAAAEAcBtwG2+gb///+W/QcBhwGMECYHFQAAEAcBtwC++Xr//wBo/MsGdAILECYHFgAAEAcBtwMq+T7////N/h8BRANUECYHFwAAEAcBtwCJ+pL///9o/P0BrwNYECYHGAAAEAcBtwAk+XD////G/REBwAEMECYHGgAAEAcBtwCq+YT///+7/PMB9QJtECYHGwAAEAcBtwB3+Wb///+++08CswGHECYHJAAAEAcBtwFo98L////g/OsBuwN8ECcG+QAA/3YQBwG3AQD5Xv///+D+gARDBIUQJgcoAAAQBwG3A4j68////8P83wRnBGwQJgcpAAAQBwG3A6z5Uv///bD9hAJJBPYQJgcqAAAQBwG3AY759////+b9EQFvAh8QJgc3AAAQBwG3ALT5hP///8n9EQIkAwAQJgdCAAAQBwG3AO35hP///7/9EQIyAjkQJgdJAAAQBwG3AXf5hP///4r8IQHqA+MQJgeEAAAQBwG3AS/4lP///439FALuAs8QJgeOAAAQBwG3AjP5h////6H8FwIWAWwQJgeRAAAQBwG3APv4iv///8f83wKXAaMQJgeUAAAQBwG3Adn5Uv///8D87wKeAVwQJgeVAAAQBwG3AVr5Yv///8X7gQE9AlcQJgaZAAAQBwG3AIL39P///6f7gQFVAhsQJgbPAAAQBwG3AJr39P///2z7gQDoAmQQJgbcAAAQBwG3ACj39P///3D7gQHeBVYQJgbeAAAQBwG3ASP39P///6/7gQEmApEQJgbgAAAQBwG3AGv39P///5L7gQFnArAQJwbP/+sAlRAHAbcArPf0////4PuBAbsEBhAmBvkAABAHAbcBAPf0////W/uBAbcD3RAmBwIAABAHAbcA/Pf0////evuBAPEDnhAmBxIAABAHAbcANvf0////lvqrAbkBjBAmBxUAABAHAbcA/vce////zfuBAUQDVBAmBxcAABAHAbcAiff0////4Pr3AbsDfBAnBvkAAP92EAcBtwEA92r////D+4EEZwRsECYHKQAAEAcBtwOs9/T///2w+4ECSQT2ECYHKgAAEAcBtwGO9/T////m+4EBbwIfECYHNwAAEAcBtwC09/T///+/+4EB3gI5ECYHSQAAEAcBtwEj9/T///+K+4EB6gPjECYHhAAAEAcBtwEv9/T///+N+4EC7gLPECYHjgAAEAcBtwIz9/T////H+4EClwGjECYHlAAAEAcBtwHZ9/T///71/WgA3QSKECYXWQAAEAcBtwAi+dsAAQA8/rEPRAEoACEAAAUwJyY1NDc2MzIPAQYHBgcGHgEUBwYhICcmLwEmNBcWISAOtDtkbUc8DwksCws8FQxUhDuA+8T23FYqH0MLIuMJAgQWgA4YPX15TxdsGgMQGw8iE25PqyMRIkoMEQYo//8AvgDbAigCqhAHAb3/GgAA//8Avf8+Aj0EhxAHAb7/GwAA//8AXP8/A1IEiBAGAb+AAP//AFz/QAQBBHQQBgHA2gD//wCQ/zUDAARjEAcBwf91AAD//wCUAAMDdAN4EAYBwpgA//8AXv8XA5YEfxAGAcOiAP//AGD/PgPWBIAQBgHExAD//wBj/xoD2QRcEAYBxcUA//8AXf8MAyQErBAHAcb/aQAA//8AvgDbAigCqhAHAb3/GgAA//8Avf8+Aj0EhxAHAb7/GwAA//8AXP8/A1IEiBAGAb+AAP//AFz/QAQBBHQQBgHA2gD//wBc/z8D5wR/EAYCUYMA//8APv9eA2sEWRAGAlKOAP//ACv8sgPLBIIQBgJTpQD//wBg/z4D1gSAEAYBxMQA//8AY/8aA9kEXBAGAcXFAP//AF3/DAMkBKwQBwHG/2kAAP//AET/RAN+BM4QBgddlwD//wBe/xcDlgR/EAYBw6IA//8AVf9BA5EEXhAGB1+VAP//AET/+gO5CBYQJhdYewAQBwGxATcCqP////r/+gOiB74QJhdYZAAQBwdS/zQBBAAB/8IAAAEdAXsACwAAEz4BFgcCIyInJjMy5AUcGAQ/2jYEBD7AAVoVDBYX/rJcXf///8L8MgG0AXsQJhhTAAAQDwdd/8D8kCAA////s/znAbsBexAmGFMAABAHB04Ay/zq////uP2oAaEE4RAmGFMAABAvAcD/hQKnIAAQBwc5ALH9q////8L/DQFLAzwQJhhTAAAQJwdFALsAbhAHBzgAtAIw///++P2gAZABexAmGFMAABAHB08AQv15////wgAAAW4H1hAmGFMAABAHAbcAswKy////lwAAAdsFVBAmGFMAABAnB0MAswLkEAcHOAC0AjD///+4/agBoQQqECYYUwAAECcHOQCx/asQBwG3ALT/Bv///7j9qAGhBOYQJhhTAAAQLwG//4YCoiAAEAcHOQCx/av////C/NcBnAF7ECcHQACx/OAQBhhTAAD////BAAABmAR0ECYYUwAAEAcBsQC0/wb////CAAABHQF7EAYYUwAA////wvz/AUsBexAmGFMAABAHB0UAu/5g////uP2oAaEBexAmGFMAABAHBzkAsf2r////lwAAAdsFVBAmGFMAABAHB0MAswLk////iQAAAZEEWhAmGFMAABAHB04AoQIw////wvzlAWEBexAmGFMAABAHAbgAnflI////twAAAYwEOhAmGFMAABAHB0AAoQIw////wvzXAZwBexAmGFMAABAHB0AAsfzg////wv0ZAXcBexAmGFMAABAHB0QA7f0c////wv3XAU8BexAmGFMAABAHBzgAxf3a////wgAAAT4D+hAmGFMAABAHB0QAtAIw////tP3XAYkEPxAmGFMAABAnBzgAxf3aEAcHOgChAjD////CAAABPgM8ECYYUwAAEAcHOAC0AjD///+o/NIBlwNqECYYUwAAECcHOgCv/NYQBwc5AKECMP///8L80gGXAXsQJhhTAAAQBwc6AK/81v///6gAAAGRA2oQJhhTAAAQBwc5AKECMP///8IAAAMnCCAQJhhTAAAQBwGxAkMCsv///7j9qAGhBC8QJhhTAAAQJwG4ALT/BhAHBzkAsf2r////tAAAAYkEPxAmGFMAABAHBzoAoQIw////lwAAAdsFVBAmGFMAABAHB0MAswLk////wv3XAU8DPBAmGFMAABAnBzgAxf3aEAcHOAC0AjD////CAAABPgUuECYYUwAAECcHOAC0AjAQBwG3AIIACv///8IAAAEdAXsQBhhTAAD///+o/w0BkQNqECYYUwAAECcHRQC7AG4QBwc5AKECMP///7j9qAGhAzwQJhhTAAAQJwc5ALH9qxAHBzgAtAIw////wvzXAZwBexAmGFMAABAHB0AAsfzg////wv0ZAXcBexAmGFMAABAHB0QA7f0c////wgAAAR0BexAGGFMAAP///7j9qAGhAXsQJhhTAAAQBwc5ALH9q////7j9qAGhAzwQJhhTAAAQJwc5ALH9qxAHBzgAtAIw////s/uTAbsBexAmGFMAABAHB04Ay/uW////wvuDAZwBexAnB0AAsfuMEAYYUwAA////wvuDAZwBexAmGFMAABAHB0AAsfuM////wvvFAXcBexAmGFMAABAHB0QA7fvI////wvyDAU8BexAmGFMAABAHBzgAxfyG////uPxUAaEDPBAmGFMAABAnBzkAsfxXEAcHOAC0AjD///+4/FQBoQQvECYYUwAAECcHOQCx/FcQBwG4ALT/Bv///8L8MgG0AXsQJhhTAAAQDwdd/8D8kCAA////uPxUAaEE4RAmGFMAABAvAcD/hQKnIAAQBwc5ALH8V////7j8VAGhBOYQJhhTAAAQLwG//4YCoiAAEAcHOQCx/Ff///+4/FQBoQF7ECYYUwAAEAcHOQCx/Ff///+4/FQBoQF7ECYYUwAAEAcHOQCx/Ff///+4/FQBoQQqECYYUwAAECcHOQCx/FcQBwG3ALT/Bv///7T8gwGJBD8QJhhTAAAQJwc4AMX8hhAHBzoAoQIw///++PxMAZABexAmGFMAABAHB08AQvwl////qPt+AZcDahAmGFMAABAnBzoAr/uCEAcHOQChAjD////C+34BlwF7ECYYUwAAEAcHOgCv+4L////C+5EBYQF7ECYYUwAAEAcBuACd9/T///+4/FQBoQM8ECYYUwAAECcHOQCx/FcQBwc4ALQCMP///8L8gwFPAzwQJhhTAAAQJwc4AMX8hhAHBzgAtAIw////wvuDAZwBexAmGFMAABAHB0AAsfuM////wvvFAXcBexAmGFMAABAHB0QA7fvI//8Af//2CEgIYBAmBq0AABAnBz4HWAZ4EAcHPQGkAmz//wCB/7kKBQe9ECYGqgAAECcHPgkVBdUQBwc9AtoCcv//AH//9ghjCVEQJwc9AaQCbBAnBz4HWAZ4ECYGrQAAEAcHQQadB7n//wCB/7kKIAiuECcHPQLaAnIQJwc+CRUF1RAmBqoAABAHB0EIWgcW//8A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//4B4AbaECYYsAAAECcHOABQAtoQBwdDAB4Eav///5T8NgHgBFIQJhiwAAAQJwG3AFD/LhAHBzkApfw5////rPw2AeAFLBAmGLAAABAnBzkApfw5EA8Bv/9KAuggAP///7v7ZQHgAWcQJwdAAKX7bhAGGLAAAP///13//gHgBJwQJhiwAAAQBwGxAFD/Lv//AL///gHgAWcQBhiwAAD///+4/AsB4AFnECYYsAAAEAcHRQBG/Wz///+s/DYB4AFnECYYsAAAEAcHOQCl/Dn///80//4B4AUOECYYsAAAEAcHQwBQAp7///8l//4B4ASCECYYsAAAEAcHTgA9Alj///9a+3MB4AFnECYYsAAAEAcBuAAK99b///9T//4B4ARiECYYsAAAEAcHQAA9Alj///+7+2UB4AFnECYYsAAAEAcHQACl+27///+o+6cB4AFnECYYsAAAEAcHRABa+6r///+o/GUB4AFnECYYsAAAEAcHOAAy/Gj///+e//4B4ASkECYYsAAAEAcHRABQAtr///9Q/GUB4ARnECYYsAAAECcHOgA9AlgQBwc4ADL8aP///8b//gHgA+YQJhiwAAAQBwc4AFAC2v///0T7YAHgA5IQJhiwAAAQJwc5AD0CWBAHBzoAo/tk////tvtgAeABZxAmGLAAABAHBzoAo/tk////RP/+AeADkhAmGLAAABAHBzkAPQJY////Xf/+AeAEnBAmGLAAABAHAbEAUP8u////oPw2AeAEVxAmGLAAABAnBzkApfw5EAcBuABQ/y7///9Q//4B4ARnECYYsAAAEAcHOgA9Alj///80//4B4AUOECYYsAAAEAcHQwBQAp7///+o/GUB4APmECYYsAAAECcHOABQAtoQBwc4ADL8aP///2L//gHgBdgQJhiwAAAQJwc4AFAC2hAHAbcAHgC0//8Av//+AeABZxAGGLAAAP///0T/FwHgA5IQJhiwAAAQJwc5AD0CWBAHB0UAtAB4////rPw2AeAD5hAmGLAAABAnBzgAUALaEAcHOQCl/Dn///+7+2UB4AFnECYYsAAAEAcHQACl+27///+o+6cB4AFnECYYsAAAEAcHRABa+6r//wC///4B4AFnEAYYsAAA////rPw2AeABZxAmGLAAABAHBzkApfw5////rPw2AeAD5hAmGLAAABAnBzgAUALaEAcHOQCl/Dn//wB7/iMI1QRfECcXPgAA/lIQDwHAAO0CJSAA//8Ae/4jCNUEZBAnFz4AAP5SEA8BvwDuAiAgAP//AHv+IwjVAXAQBxc+AAD+Uv///077YwHgAWcQJhiwAAAQBwG3AAr31v///8L6WwG0AXsQJhhTAAAQDwdd/8D6uSAA////wvt1AkIBexAmGFMAABAHB04BUvt4////wvw2AigE4RAmGFMAABAvAcD/6QKnIAAQBwc5ATj8Of///8L/DQGiAzwQJhhTAAAQJwdFALsAbhAHBzgBGAIw////f/wuAhcBexAmGFMAABAHB08AyfwH////wgAAAdMEKhAmGFMAABAHAbcBGP8G////wgAAAg4GMBAmGFMAABAnBzgBGAIwEAcHQwDmA8D////C/DYCKAQqECYYUwAAECcHOQE4/DkQBwG3ARj/Bv///8L8NgIoBOYQJhhTAAAQLwG//+oCoiAAEAcHOQE4/Dn////C+2UCIwF7ECcHQAE4+24QBhhTAAD////CAAAB/AR0ECYYUwAAEAcBsQEY/wb////CAAABHQF7EAYYUwAA////wvwLAjEBexAmGFMAABAHB0UBof1s////wvw2AigBexAmGFMAABAHBzkBOPw5////wgAAAj8FVBAmGFMAABAHB0MBFwLk////wgAAAfUEWhAmGFMAABAHB04BBQIw////wvtzAWEBexAmGFMAABAHAbgAnffW////wgAAAfAEOhAmGFMAABAHB0ABBQIw////wvtlAiMBexAmGFMAABAHB0ABOPtu////wvunAXcBexAmGFMAABAHB0QA7fuq////wvxlAU8BexAmGFMAABAHBzgAxfxo////wgAAAaID+hAmGFMAABAHB0QBGAIw////wvxlAe0EPxAmGFMAABAnBzgAxfxoEAcHOgEFAjD////CAAABogM8ECYYUwAAEAcHOAEYAjD////C+2ACHgNqECYYUwAAECcHOgE2+2QQBwc5AQUCMP///8L7YAIeAXsQJhhTAAAQBwc6ATb7ZP///8IAAAH1A2oQJhhTAAAQBwc5AQUCMP///8IAAARTCCAQJhhTAAAQBwGxA28Csv///8L8NgIoBC8QJhhTAAAQJwG4ARj/BhAHBzkBOPw5////wgAAAe0EPxAmGFMAABAHBzoBBQIw////wgAAAj8FVBAmGFMAABAHB0MBFwLk////wvxlAaIDPBAmGFMAABAnBzgAxfxoEAcHOAEYAjD////CAAABogUuECYYUwAAECcHOAEYAjAQBwG3AOYACv///8IAAAEdAXsQBhhTAAD////C/w0B9QNqECYYUwAAECcHRQC7AG4QBwc5AQUCMP///8L8NgIoAzwQJhhTAAAQJwc5ATj8ORAHBzgBGAIw////wvtlAiMBexAmGFMAABAHB0ABOPtu////wvunAXcBexAmGFMAABAHB0QA7fuq////wgAAAR0BexAGGFMAAP///8L8NgIoAXsQJhhTAAAQBwc5ATj8Of///8L8NgIoAzwQJhhTAAAQJwc5ATj8ORAHBzgBGAIw////wvtjAVgBexAmGFMAABAHAbcAnffW////0/t1BMgCghAmBqMAABAHB04Civt4////0/xlBMgCghAmBqMAABAHBzgCbPxo////0/unBMgCghAmBqMAABAHB0QClPuq////0/jNBMgCghAmBqMAABAnB0MClPoGEAcHOQK2+ND////T+gYEyAKCECYGowAAEAcHQwKU+gb////T/DYEyAKCECYGowAAEAcHOQJw/Dn////T+2UEyAQ2ECYGowAAECcHOAJsAyoQBwdAAnD7bv///9P6wATIAoIQJgajAAAQDwddAWf7HiAA////0/tgBMgCghAmBqMAABAHBzoCbvtk////0/tlBMgCghAmBqMAABAHB0ACcPtu////wvzVAVgBexAmGFMAABAHAbcAnflI////wvuBAVgBexAmGFMAABAHAbcAnff0////wvuTAS0BexAmGFMAABAHB0UAnfz0AAEBoAa7AqwJPAASAAABIjc2EzYXFgcCFxYzMjc2FgcGAhZ2AQGdERQVEIElETAlGAkYAhAGu8OdAQMeCwse/vtlLzgVChrd////ZwdiAPIJlRAPB1cAJBD0wAD///9I/R8A/P4tEAcHVQAA9Uv///9K/JgA//4sEAcHVAAA9O4AAgAD/9UCVQLZAAgAEAAAEhAWMjY1NCYiAhA2MhYQBiKNXIhaWojmrPiurvgB4/7sxMmLirr+FQE+4+T+xOQAAQBu/9UByALdACIAABMuATQ3PgE7ATIXBhURFBcWMzIUByYiByY0MzI3NjURNCYihAcPBF2UAQQICA4QKB4IBGxWbAYGJCgQCh4CFwQhDQI1XSIo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AACJTwAAiYMAAInfAACKQAAAilIAAIrHAACK3QAAi2AAAIuVAACL0wAAjC4AAIyyAACNRAAAjaMAAI36AACOYQAAjskAAI8yAACPUgAAj5wAAI/mAACQGgAAkCoAAJA6AACQcQAAkIkAAJChAACQuQAAkMkAAJDhAACQ+wAAkRsAAJEzAACRSwAAkWMAAJF7AACRmwAAkbMAAJHLAACR4wAAkfsAAJITAACSKwAAkkMAAJJbAACScwAAkosAAJKjAACSuwAAktMAAJLrAACTCwAAkyMAAJM7AACTUwAAk2sAAJODAACTmwAAk7MAAJPLAACT4wAAk/sAAJQbAACUMwAAlEsAAJRjAACUgwAAlJsAAJS7AACU0wAAlOsAAJUDAACVGwAAlSsAAJVDAACVYwAAlXsAAJWTAACVqwAAlcMAAJXbAACV6wAAlfsAAJYbAACWOwAAllsAAJZ7AACWkwAAlrMAAJbTAACW8wAAlxMAAJczAACXSwAAl2MAAJd7AACXkwAAl7MAAJfDAACX2wAAl/sAAJgTAACYIwAAmEMAAJhbAACYawAAmIMAAJibAACYtQAAmM8AAJjpAACZAwAAmR0AAJk3AACZUQAAmWsAAJl7AACZkwAAmasAAJnFAACZ3QAAmfUAAJoFAACaJQAAmlYAAJpmAACbTQAAnGQAAJymAACdWwAAng4AAJ6dAACfWAAAof4AAKKlAACi+AAAo14AAKPFAACkKAAApDoAAKR5AACk7wAApWAAAKVyAACmAQAAqcsAAKn8AACqDgAAqkYAAKpYAACqcAAAqogAAKqYAACqqAAAqrgAAKrIAACrVwAAq+oAAKyDAACskwAArKMAAKyzAACs0wAArPMAAK0TAACtKwAArUMAAK1bAACtcwAArZMAAK2rAACtywAAresAAK4DAACuGwAArjMAAK5LAACuawAAroMAAK6bAACuswAArssAAK7jAACu+wAArxMAAK8rAACvQwAAr1sAAK9zAACviwAAr6MAAK/DAACv4wAAsAMAALAbAACwMwAAsEsAALBjAACwewAAsJsAALC7AACw2wAAsPMAALENAACxJwAAsUEAALFbAACxdQAAsZEAALGtAACxxwAAseEAALH7AACyFQAAsi0AALJNAACyZQAAsn0AALLQAACzXQAAs28AALOHAACzoQAAs7sAALPvAAC0BwAAtKYAALS4AAC00gAAtOQAALVCAAC1XAAAtW4AALWAAAC2EAAAtiYAALY+AAC2bwAAtp0AALavAAC2wQAAttkAALb3AAC3DQAAtyMAALc7AAC3UwAAt2sAALeDAAC3mwAAt7MAALfLAAC34wAAt/sAALgTAAC4KwAAuEMAALhbAAC4cwAAuIkAALihAAC4uQAAuNEAALjpAAC5AQAAuRkAALkxAAC5SQAAuWEAALl5AAC5kQAAuakAALnBAAC52QAAufEAALoJAAC6IQAAujkAALpRAAC6aQAAuoEAALqZAAC6sQAAuskAALrhAAC6+QAAuxEAALspAAC7QQAAu0EAALtBAAC7QQAAu0EAALtBAAC7QQAAu0EAALtBAAC7QQAAu0EAALtBAAC7QQAAu1sAALubAAC7zwAAvAQAALw/AAC8dwAAvLIAALztAAC9KAAAvWMAAL2rAAC9vwAAvdMAAL4cAAC+NAAAvlIAAL5wAAC+9wAAv6MAAMCzAADA1gAAwP0AAMFOAADBTgAAwU4AAMF9AADBrAAAwdoAAMIdAADCYAAAwmAAAMN6AADDuAAAxCcAAMSAAADE6AAAxVQAAMVmAADFiAAAxcsAAMa4AADG5wAAx7YAAMgXAADKLwAAy14AAMxqAADNbgAAzyoAANDRAADQ6QAA0QEAANEZAADRMQAA0UkAANFhAADReQAA0ZEAANGpAADRwQAA0dkAANHxAADSCQAA0iEAANI5AADSUQAA0mkAANKBAADSmQAA0rEAANLJAADS4QAA0vkAANMRAADTKQAA00EAANNZAADTcQAA04kAANOhAADTuQAA09EAANPpAADUAQAA1BkAANQxAADUSQAA1GEAANR5AADUkQAA1KkAANTBAADU2QAA1PEAANUJAADVIQAA1TkAANVRAADVaQAA1YEAANWZAADVsQAA1ckAANXhAADV+QAA1hEAANYpAADWQQAA1lkAANZzAADWiwAA1qUAANa1AADWxQAA1tUAANblAADW/QAA1xUAANctAADXRQAA12UAANeFAADXpQAA18UAANflAADYBQAA2CUAANhFAADYVQAA2GUAANh9AADYlQAA2K0AANjFAADY3QAA2PUAANkFAADZFQAA2SUAANk9AADZTQAA2V0AANltAADZfQAA2Y0AANmdAADZvQAA2d8AANnxAADaAwAA2hUAANonAADaOQAA2ksAANpdAADabwAA2oEAANqTAADapQAA2rcAANrJAADa2wAA2u0AANr/AADbHwAA2z8AANtXAADbbwAA24kAANujAADbvQAA29cAANvxAADcCwAA3CsAANxFAADcXwAA3HkAANyTAADcrQAA3McAANzfAADc9wAA3Q8AAN0nAADdNwAA3UcAAN1nAADdhwAA3acAAN3HAADd6QAA3gsAAN41AADeXwAA3okAAN6zAADe3QAA3wcAAN8vAADfVwAA338AAN+fAADfvwAA398AAN/vAADf/wAA4BcAAOAvAADgVwAA4HcAAOCXAADgtwAA4N8AAOEHAADhJwAA4U8AAOFvAADhjwAA4bcAAOHfAADh/wAA4icAAOJHAADiZwAA4o8AAOK3AADi1wAA4vcAAOMfAADjPwAA418AAON/AADjlwAA478AAOPfAADj/wAA5B8AAOQ3AADkVwAA5HkAAOSRAADkswAA5NsAAOT7AADlIwAA5U0AAOVlAADlfQAA5Z0AAOW9AADl1QAA5f0AAOYdAADmRQAA5mUAAOaNAADmrQAA5s0AAOb1AADnFQAA5zUAAOdVAADnfQAA55UAAOe1AADnzQAA5+0AAOgFAADoHQAA6DUAAOhVAADodQAA6I0AAOitAADoxQAA6N0AAOj9AADpHQAA6TUAAOlVAADpbQAA6YUAAOmlAADpzQAA6e0AAOoVAADqNQAA6lUAAOp9AADqnQAA6rUAAOrNAADq7QAA6xUAAOs1AADrXQAA630AAOudAADrxQAA6+MAAOv5AADsEQAA7CkAAOxBAADsWQAA7HEAAOyJAADsoQAA7MMAAOztAADtDwAA7TcAAO1XAADtfwAA7aEAAO3LAADt7QAA7hUAAO41AADuXQAA7n8AAO6pAADuywAA7vMAAO8TAADvOwAA710AAO+HAADvqQAA79EAAO/xAADwGQAA8DsAAPBlAADwhwAA8LEAAPDJAADw4QAA8PsAAPETAADxMwAA8U0AAPFlAADxhQAA8Z0AAPG1AADx1wAA8gEAAPIjAADySwAA8msAAPKTAADyqwAA8s0AAPL3AADzGQAA80EAAPNhAADziQAA868AAPPNAADz8wAA9BMAAPQzAAD0WQAA9HcAAPSdAAD0vQAA9N0AAPUDAAD1IQAA9UcAAPVnAAD1hwAA9acAAPXFAAD15QAA9gMAAPYbAAD2QQAA9mEAAPZ/AAD2lQAA9rMAAPbLAAD24QAA9v8AAPcXAAD3PQAA91sAAPeBAAD3oQAA97kAAPfZAAD39wAA+A8AAPg1AAD4VQAA+H0AAPidAAD4xQAA+OUAAPkFAAD5JQAA+UUAAPldAAD5fQAA+ZUAAPmtAAD5zQAA+eUAAPoFAAD6HQAA+jUAAPpTAAD6aQAA+ocAAPqfAAD6xQAA+uMAAPsJAAD7KQAA+0kAAPtnAAD7fwAA+5UAAPu7AAD72QAA+/8AAPwfAAD8PwAA/F8AAPx/AAD8nwAA/L8AAPzfAAD8/wAA/R8AAP0/AAD9VwAA/XcAAP2XAAD9vwAA/dcAAP3vAAD+BwAA/icAAP5HAAD+ZwAA/ocAAP6nAAD+xwAA/ucAAP7/AAD/HwAA/zcAAP9XAAD/dwAA/58AAP+/AAD/5wABAA8AAQA/AAEAVwABAHcAAQCXAAEAvwABAN8AAQEHAAEBJwABAU8AAQF3AAEBpwABAc8AAQHvAAECFwABAkEAAQJjAAECfQABApcAAQK5AAEC0QABAvEAAQMJAAEDKQABA0kAAQNxAAEDkQABA7kAAQPhAAEEEQABBCkAAQRJAAEEaQABBJEAAQSxAAEE2QABBPkAAQUhAAEFSQABBXkAAQWhAAEFwQABBekAAQYTAAEGNQABBk8AAQZpAAEGiwABBrEAAQbPAAEG9QABBxUAAQc1AAEHXQABB3UAAQeVAAEHrQABB80AAQf1AAEIFQABCD0AAQhVAAEIdQABCI0AAQilAAEK0AABDPgAAQ0oAAENWAABDYgAAQ2wAAEN4AABDhAAAQ44AAEOaAABDpAAAQ64AAEO4AABDwAAAQ8oAAEPUAABD3gAAQ+YAAEPuAABD+AAARAAAAEQIAABEEAAARBgAAEQgAABEKgAARDQAAERCAABETgAARFoAAERkAABEbgAARHgAAESEAABEkAAARJgAAESgAABEqAAARLIAAES8AABExAAARMwAAETUAABE3gAAROoAAET0AABFAAAARQwAAEUWAABFIAAARSgAAEUyAABFOgAARUYAAEVSAABFXAAARWYAAEVuAABFdYAARX+AAEWHgABFkYAARZuAAEWlgABFsYAARbuAAEXHgABF0YAARdmAAEXjgABF7YAARfmAAEYFgABGEYAARh2AAEYngABGMYAARjuAAEZJgABGV4AARmOAAEZxgABGfYAARomAAEaTgABGn4AARqmAAEazgABGvYAARseAAEbTgABG34AARuuAAEb1gABHAYAARw+AAEcbgABHJYAARzGAAEc9gABHR4AAR0+AAEdZgABHY4AAR2+AAEd7gABHhYAAR42AAEeXgABHo4AAR6+AAEe7gABHx4AAR9OAAEffgABH54AAR/GAAEf5gABIBYAASBOAAEgbgABIJYAASDOAAEhAAABISgAASFQAAEheAABIagAASHSAAEh8gABJxUAASpkAAEqlAABK6wAASu8AAEr1AABK+QAASv2AAEsBgABLB4AASwuAAEsRgABLFgAASxwAAEsgAABLJgAASyoAAEswAABLNAAASzoAAEtAgABLRoAAS0yAAEtTAABLWYAAS1+AAEtlgABLa4AAS3GAAEt3gABLfYAAS4GAAEuFgABLi4AAS5GAAEuXgABLnYAAS6OAAEupgABLr4AAS7WAAEu7gABLwYAAS8eAAEvNgABL04AAS9mAAEvfgABL5YAAS+uAAEvxgABL9YAAS/mAAEv9gABMAYAATAeAAEwNgABME4AATBmAAEwdgABMIYAATCeAAEwtgABMMYAATDYAAEw8AABMQoAATEaAAExKgABMToAATFKAAExYgABMXoAATGSAAExqgABMboAATHKAAEx2gABMeoAATICAAEyGgABMjIAATJKAAEyWgABMmoAATJ6AAEyigABMqIAATK6AAEy0gABMuoAATL6AAEzCgABMxoAATMqAAEzQgABM1oAATNyAAEzigABM6IAATO6AAEz0gABM+oAATQCAAE0GgABNDIAATRKAAE0YgABNHoAATSKAAE0mgABNKoAATS6AAE0ygABNNoAATTqAAE0+gABNQoAATUaAAE1MgABNUoAATViAAE1egABNYoAATWaAAE1qgABNboAATXMAAE13gABNe4AATX+AAE2FgABNi4AATZGAAE2XgABNn4AATaeAAE2vgABNt4AATb+AAE3HgABNzYAATdOAAE3ZAABN3wAATeWAAE4GwABOC0AAThHAAE4WQABOGkAATiDAAE4mwABOKsAATi9AAE41QABOOcAATj5AAE5EQABOSMAATk9AAE5TwABOWkAATmBAAE5mQABObMAATnL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AAHoFgAB6DgAAehYAAHocAAB6IgAAeioAAHoyAAB6OoAAekCAAHpGgAB6SoAAelCAAHpWgAB6XIAAemKAAHpogAB6boAAenSAAHp6gAB6gIAAeoaAAHqOgAB6lIAAepyAAHqigAB6qIAAeq6AAHq2gAB6vIAAesKAAHrKgAB60oAAetaAAHregAB65oAAeuyAAHrygAB69oAAevyAAHsEgAB7CwAAexEAAHsZgAB7IYAAeyeAAHstgAB7NYAAez2AAHtGAAB7TAAAe1IAAHtWAAB7XAAAe2IAAHtoAAB7bgAAe3QAAHt6AAB7gAAAe4YAAHuMAAB7kgAAe5oAAHugAAB7qAAAe64AAHu0AAB7ugAAe8IAAHvIAAB7zgAAe9YAAHveAAB74gAAe+oAAHvyAAB7+AAAe/4AAHwCAAB8CAAAfBAAAHwWAAB8HAAAfCIAAHwoAAB8LgAAfDQAAHw4AAB8QAAAfEYAAHxOAAB8VAAAfFoAAHxgAAB8ZgAAfGwAAHxyAAB8eAAAfHwAAHyCAAB8igAAfJAAAHyWAAB8nAAAfKAAAHymAAB8rAAAfLIAAHy4AAB8vgAAfMIAAHzIAAB80AAAfNYAAHzcAAB84gAAfOgAAHzsAAB88gAAfPgAAHz+AAB9BAAAfQoAAH0OAAB9FAAAfRwAAH0iAAB9KAAAfS4AAH00AAB9OgAAfT4AAH1EAAB9SgAAfVAAAH1WAAB9XAAAfWIAAH1oAAB9cAAAfXYAAH18AAB9hAAAfYqAAH2QgAB9loAAfZyAAH2igAB9poAAfayAAH2ygAB9uIAAfb6AAH3EgAB9yoAAfdCAAH3YgAB93oAAfeSAAH3sgAB98wAAffkAAH3/AAB+BQAAfgsAAH4PAAB+FQAAfhsAAH4hAAB+JwAAfi0AAH4zAAB+OQAAfkEAAH5HAAB+TQAAflUAAH5bgAB+YYAAfmeAAH5tgAB+cYAAfonAAH6PwAB+k8AAfpnAAH6dwAB+ocAAfqXAAH6rwAB+scAAfrfAAH6/wAB+xcAAfsvAAH7TwAB+28AAfuPAAH7rwAB+88AAfvvAAH8DwAB/CcAAfw3AAH8VwAB/G8AAfyHAAH8pwAB/L8AAfzXAAH87wAB/QcAAf0XAAH9NwAB/VcAAf13AAH9jwAB/acAAf2/AAH91wAB/e8AAf3/AAH+HwAB/jcAAf5PAAH+bwAB/ocAAf6fAAH+twAB/s8AAf7fAAH+/wAB/x8AAf8/AAH/VwAB/28AAf+HAAH/nwAB/7cAAf/HAAH/5wAB//8AAgAXAAIANwACAE8AAgBnAAIAdwACAI8AAgCnAAIAvwACANcAAgDvAAIA/wACARcAAgEvAAIBRwACAV8AAgF3AAIBhwACAZ8AAgG3AAIBzwACAecAAgH3AAICDwACAicAAgI3AAICTwACAmcAAgJ3AAICjwACAqcAAgLHAAIC1wACAvcAAgMPAAIDLwACA08AAgNvAAIDhwACA58AAgO3AAIDzwACA98AAgP5AAIEEwACBC0AAgRHAAIEYQACBIMAAgSdAAIEtwACBNEAAgTrAAIFBQACBR8AAgVBAAIFUwACBW0AAgWHAAIFnwACBb8AAgXXAAIF7wACBf8AAgYXAAIGNwACBk8AAgZnAAIGdwACBo8AAgavAAIGxwACBt8AAgbvAAIHDwACBycAAgc3AAIHTwACB2kAAgeBAAIHoQACB7kAAgfZAAIH8QACCBEAAggxAAIISQACCFkAAghxAAIIiwACCKMAAgjDAAII2wACCPsAAgkTAAIJMwACCVMAAglrAAIJewACCZMAAgmtAAIJxQACCeUAAgn9AAIKHQACCjUAAgpVAAIKbQACCn0AAgqVAAIKrQACCr0AAgrVAAIK7QACCv0AAgsVAAILLwACC0kAAgtjAAILfQACC5kAAguzAAILzQACC+cAAgwBAAIMGwACDDsAAgxVAAIMbwACDIsAAgydAAIMtwACDM8AAgzpAAINAQACDRkAAg0xAAINSQACDWEAAg1xAAINiwACDaMAAg2zAAINywACDeMAAg37AAIOEwACDisAAg5DAAIOUwACDmsAAg6DAAIOmwACDq0AAg7HAAIO3wACDwEAAg8hAAIPOQACD1EAAg9xAAIPkQACD7MAAg/LAAIP4wACD/MAAhALAAIQIwACEDsAAhBTAAIQawACEIMAAhCbAAIQswACEMsAAhDjAAIRAwACERsAAhE7AAIRUwACEWsAAhGDAAIRowACEbsAAhHTAAIR8wACEhMAAhIjAAISQwACEmMAAhJ7AAISkwACEqMAAhK7AAIS2wACEvUAAhMPAAITKQACE0MAAhNdAAITfwACE5kAAhOzAAITzQACE+cAAhQBAAIUGwACFD0AAhRPAAIUaQACFIMAAhSbAAIUswACFMMAAhTbAAIU8wACFQsAAhUlAAIVPwACFVkAAhVzAAIVjwACFakAAhXDAAIV3QACFfcAAhYRAAIWMQACFksAAhZlAAIWgQACFpMAAharAAIWwwACFtMAAhbrAAIXAwACFxsAAhcrAAIXQwACF1sAAhdzAAIXiwACF6MAAhezAAIXywACF+sAAhgDAAIYGwACGDMAAhhLAAIYZwACGIEAAhidAAIYtwACGNEAAhjrAAIZBQACGR8AAhkxAAIZTQACGWcAAhl5AAIZkwACGa0AAhnHAAIZ4QACGfkAAhoRAAIaIQACGjkAAhpRAAIaaQACGoEAAhqZAAIaqQACGsEAAhrZAAIa8QACGwkAAhsZAAIbLwACG0cAAhtfAAIbdwACG48AAhunAAIbvwACG98AAhv3AAIcDwACHC8AAhxJAAIcYQACHHkAAhyRAAIcqwACHMMAAhzlAAIdBQACHR0AAh01AAIdVQACHXUAAh2XAAIdrwACHccAAh3XAAId7wACHgcAAh4fAAIeNwACHk8AAh5nAAIefwACHpcAAh6vAAIexwACHucAAh7/AAIfHwACHzcAAh9PAAIfZwACH4cAAh+fAAIftwACH9cAAh/3AAIgBwACICcAAiBHAAIgXwACIHcAAiCHAAIgnwACIL8AAiDRAAIg6QACIQkAAiEhAAIhOQACIUkAAiFhAAIheQACIYkAAiGhAAIhuQACIdEAAiHrAAIiAwACIiUAAiJFAAIiXQACInUAAiKVAAIitQACItcAAiLvAAIjBwACIxcAAiMvAAIjRwACI18AAiN3AAIjjwACI6cAAiO/AAIj1wACI+8AAiQHAAIkJwACJD8AAiRfAAIkdwACJI8AAiSnAAIkxwACJN8AAiT3AAIlFwACJTcAAiVHAAIlZwACJYcAAiWfAAIltwACJccAAiXfAAIl/wACJg8AAiYpAAImQQACJmMAAiaBAAImmQACJq8AAibPAAIm7QACJw8AAicnAAInPQACJ00AAidlAAInfQACJ5UAAietAAInxQACJ90AAif1AAIoDQACKCUAAig9AAIoXQACKHUAAiiVAAIorQACKMUAAijdAAIo+wACKRMAAikrAAIpSwACKWsAAil7AAIpmQACKbkAAinRAAIp6QACKfkAAioRAAIqMQACKkkAAiph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AAJWlQACVq8AAlbJAAJW6wACVwUAAlcnAAJXQQACV1sAAld1AAJXlwACV7EAAlfLAAJX7QACWA8AAlghAAJYQwACWGUAAlh/AAJYmQACWKsAAljFAAJY5wACWP8AAlkfAAJZLwACWU8AAllnAAJZhwACWacAAlnHAAJZ3wACWfcAAloPAAJaJwACWj8AAlpPAAJabwACWo8AAlqvAAJaxwACWt8AAlr3AAJbDwACWycAAls3AAJbVwACW28AAluHAAJbpwACW7kAAlvTAAJb6wACXA0AAlwtAAJcRQACXF0AAlx9AAJcnQACXL8AAlzXAAJc7wACXP8AAl0XAAJdLwACXUcAAl1fAAJddwACXY8AAl2nAAJdvwACXdcAAl3vAAJeDwACXicAAl5HAAJeXwACXncAAl6PAAJerwACXscAAl7fAAJe/wACXx8AAl8vAAJfTwACX28AAl+HAAJfnwACX68AAl/HAAJf5wACYAcAAmAfAAJgLwACYEcAAmBhAAJgeQACYJkAAmCxAAJg0QACYOkAAmEJAAJhIwACYTsAAmFdAAJhfQACYZUAAmGtAAJhzQACYe0AAmIPAAJiJwACYj8AAmJPAAJiZwACYn8AAmKXAAJirwACYscAAmLfAAJi9wACYw8AAmMnAAJjPwACY18AAmN3AAJjlwACY68AAmPHAAJj3wACY/8AAmQXAAJkLwACZE8AAmRvAAJkfwACZJ8AAmS/AAJk1wACZO8AAmT/AAJlFwACZTcAAmVRAAJlawACZYUAAmWfAAJluQACZdsAAmX1AAJmDwACZikAAmZDAAJmXQACZncAAmaZAAJmqwACZsUAAmbfAAJm9wACZw8AAmcnAAJnPwACZ08AAmdvAAJnjwACZ68AAmfHAAJn3wACZ/cAAmgPAAJoJwACaDcAAmhXAAJobwACaIcAAminAAJowQACaNsAAmj1AAJpDwACaSkAAmlLAAJpZQACaX8AAmmZAAJpswACac0AAmnnAAJqCQACahsAAmo1AAJqTwACamcAAmp/AAJqjwACaqcAAmq/AAJq1wACaucAAmr3AAJrBwACax8AAmsvAAJrRwACa18AAmt3AAJrjwACa6cAAmu/AAJr1wACa/cAAmwPAAJsJwACbEcAAmxhAAJseQACbJEAAmypAAJswwACbNsAAmz9AAJtHQACbTUAAm1NAAJtbQACbY0AAm2vAAJtxwACbd8AAm3vAAJuBwACbh8AAm43AAJuTwACbmcAAm5/AAJulwACbq8AAm7HAAJu3wACbv8AAm8XAAJvNwACb08AAm9nAAJvfwACb58AAm+3AAJvzwACb+8AAnAPAAJwHwACcD8AAnBfAAJwdwACcI8AAnCfAAJwtwACcNcAAnDnAAJxBwACcR8AAnEvAAJxRwACcWEAAnF5AAJxmQACcbEAAnHRAAJx6QACcgkAAnIhAAJyOQACclEAAnJpAAJyeQACcpkAAnK5AAJy2QACcvEAAnMJAAJzIQACczkAAnNRAAJzYQACc4EAAnOZAAJzsQACc9EAAnPrAAJ0BQACdB8AAnQ5AAJ0UwACdHUAAnSPAAJ0qQACdMMAAnTdAAJ09wACdREAAnUzAAJ1RQACdV8AAnV5AAJ1mQACdbEAAnXJAAJ14QACdfkAAnYRAAJ2IQACdjkAAnZRAAJ2aQACdoEAAnaRAAJ2sQACdtEAAnbxAAJ3CQACdyEAAnc5AAJ3UQACd2kAAnd5AAJ3mQACd7EAAnfJAAJ36QACeAMAAngbAAJ4NQACeE0AAnhlAAJ4fQACeJUAAnitAAJ4vQACeNcAAnjtAAJ4/QACeRUAAnktAAJ5RQACeV0AAnl1AAJ5jQACeZ0AAnm1AAJ5zQACeeUAAnn1AAJ6DQACeh0AAno1AAJ6TQACemUAAnp9AAJ6lQACeq0AAnrFAAJ65QACev0AAnsVAAJ7NQACe08AAntnAAJ7fwACe5cAAnuvAAJ7xwACe9cAAnvvAAJ8BwACfB8AAnw3AAJ8RwACfGEAAnx7AAJ8kwACfKsAAnzDAAJ82wACfPMAAn0LAAJ9IwACfTsAAn1LAAJ9YwACfXsAAn2TAAJ9qwACfbsAAn3TAAJ97QACfgUAAn4nAAJ+RwACfl8AAn53AAJ+lwACfrcAAn7ZAAJ+8QACfwkAAn8ZAAJ/LwACf0cAAn9fAAJ/dwACf48AAn+nAAJ/vwACf9cAAn/vAAKABwACgCcAAoA/AAKAXwACgHcAAoCPAAKApwACgMcAAoDfAAKA9wACgRcAAoE3AAKBRwACgWcAAoGHAAKBnwACgbcAAoHHAAKB3wACgf8AAoIZAAKCMQACglMAAoJzAAKCiwACgqMAAoLDAAKC4wACgwUAAoMdAAKDNQACg0UAAoNdAAKDdQACg40AAoOlAAKDvQACg9UAAoPtAAKEBQAChB0AAoQ1AAKEVQAChG0AAoSNAAKEpQAChL0AAoTVAAKE9QAChQ0AAoUlAAKFRQAChWUAAoV1AAKFlQAChbUAAoXNAAKF5QAChfUAAoYNAAKGLQAChkUAAoZVAAKGbQAChoUAAoadAAKGtQAChs0AAoblAAKG/QAChx0AAoc1AAKHTQACh20AAoeHAAKHnwACh7cAAofPAAKH6QACiAEAAogjAAKIQwACiFsAAohzAAKIkwACiLMAAojVAAKI7QACiQUAAokVAAKJLQACiUUAAoldAAKJdQACiY0AAomlAAKJvQACidUAAontAAKKBQACiiUAAoo9AAKKXQACinUAAoqNAAKKpQACisUAAordAAKK9QACixUAAos1AAKLRQACi2UAAouFAAKLnQACi7UAAovFAAKL3QACi/0AAowNAAKMJwACjD8AAoxhAAKMgQACjJkAAoyxAAKM0QACjPEAAo0TAAKNKwACjUMAAo1TAAKNawACjYMAAo2bAAKNswACjcsAAo3jAAKN+wACjhMAAo4rAAKOQwACjmMAAo57AAKOmwACjrMAAo7LAAKO4wACjwMAAo8bAAKPMwACj1MAAo9zAAKPgwACj6MAAo/DAAKP2wACj/MAApADAAKQGwACkDsAApBbAAKQcwACkJMAApCrAAKQwwACkOMAApD7AAKREwACkTMAApFLAAKRYwACkXMAApGLAAKRowACkbsAApHTAAKR6wACkgMAApIbAAKSNQACkk0AApJvAAKSjwACkqcAApK/AAKS3wACkv8AApMhAAKTOQACk1EAApNhAAKTeQACk5EAApOpAAKTwQACk9kAApPxAAKUCQAClCEAApQ5AAKUUQAClHEAApSJAAKUqQAClMEAApTZAAKU8QAClREAApUpAAKVQQAClWEAApWBAAKVkQAClbEAApXRAAKV6QAClgEAApYRAAKWKQAClkkAApZjAAKWewAClp0AApa9AAKW1QAClu0AApcNAAKXLQACl08AApdnAAKXfwACl48AApenAAKXvwACl9cAApfvAAKYBwACmB8AApg3AAKYTwACmGcAAph/AAKYnwACmLcAApjXAAKY7wACmQcAApkfAAKZPwACmVcAAplvAAKZjwACma8AApm/AAKZ3wACmf8AApoXAAKaLwACmj8AAppXAAKadwACmocAApqfAAKatwACms8AAprnAAKa9wACmxcAAps3AAKbVwACm28AApuHAAKbnwACm7cAApvPAAKb3wACm/8AApwXAAKcLwACnE8AApxpAAKcgQACnKMAApzDAAKc2wACnPMAAp0TAAKdMwACnVUAAp1tAAKdhQACnZUAAp2tAAKdxQACnd0AAp31AAKeDQACniUAAp49AAKeVQACnm0AAp6FAAKepQACnr0AAp7dAAKe9QACnw0AAp8lAAKfRQACn10AAp91AAKflQACn7UAAp/FAAKf5QACoAUAAqAdAAKgNQACoEUAAqBdAAKgfQACoJcAAqCvAAKg0QACoPEAAqEJAAKhIQACoUEAAqFhAAKhgwACoZsAAqGzAAKhwwACodsAAqHzAAKiCwACoiMAAqI7AAKiUwAComsAAqKDAAKimwACorMAAqLTAAKi6wACowsAAqMjAAKjOwACo1MAAqNzAAKjiwACo6MAAqPDAAKj4wACo/MAAqQTAAKkMwACpEsAAqRjAAKkcwACpIsAAqSrAAKkwwACpOMAAqTzAAKlEwACpSsAAqVLAAKlawACpYsAAqWjAAKluwACpcsAAqXjAAKl+wACphMAAqYrAAKmQwACplsAAqZzAAKmkwACpqsAAqbDAAKm4wACpv0AAqcVAAKnLQACp0UAAqdfAAKneQACp5MAAqetAAKnxwACp+kAAqgDAAKoHQACqDcAAqhRAAKoawACqIUAAqinAAKouQACqNMAAqjtAAKo/QACqQ0AAqklAAKpPQACqU0AAqllAAKpfQACqZUAAqmvAAKpyQACqeMAAqn9AAKqFwACqjkAAqpTAAKqbQACqocAAqqhAAKquwACqtUAAqr3AAKrCQACqyMAAqs9AAKrVQACq3UAAquNAAKrpQACq7UAAqvNAAKr3QACq/UAAqwNAAKsJQACrD0AAqxVAAKsbQACrIUAAqylAAKsvQACrNUAAqz1AAKtDwACrScAAq0/AAKtVwACrXEAAq2JAAKtqwACrcsAAq3jAAKt+wACrhsAAq47AAKuXQACrnUAAq6NAAKunQACrrUAAq7NAAKu5QACrv0AAq8VAAKvLQACr0UAAq9dAAKvdQACr40AAq+tAAKvxQACr+UAAq/9AAKwFQACsC0AArBNAAKwZQACsH0AArCdAAKwvQACsM0AArDtAAKxDQACsSUAArE9AAKxTQACsWUAArGFAAKxnwACsbcAArHRAAKx6QACsgEAArIZAAKyMQACskkAArJZAAKycwACsosAArKbAAKyswACsssAArLjAAKy+wACsxcAArMxAAKzVQACs3cAArORAAKzqwACs80AArPvAAK0EwACtC0AArRHAAK0WQACtHMAArSNAAK0pwACtMEAArTbAAK09QACtQ8AArUpAAK1QwACtV0AArV/AAK1mQACtbsAArXVAAK17wACtgkAArYrAAK2RQACtl8AAraBAAK2owACtrUAArbXAAK2+QACtxMAArctAAK3PwACt1kAArd7AAK3mwACt7MAArfDAAK32wACt/UAArgNAAK4LQACuEUAArhlAAK4fQACuJ0AAri3AAK40QACuOsAArkFAAK5HwACuUEAArlbAAK5dQACuY8AArmpAAK5wwACud0AArn/AAK6EQACuisAArpFAAK6ZwACuocAArqpAAK6yQACuukAArsJAAK7KQACu0kAArthAAK7gwACu6MAAru7AAK72wACu/sAArwbAAK8OwACvFUAArxtAAK8jwACvK8AArzHAAK83wACvP8AAr0fAAK9QQACvVkAAr1xAAK9gQACvZkAAr2xAAK9yQACveEAAr35AAK+EQACvikAAr5BAAK+WQACvnEAAr6RAAK+qQACvskAAr7hAAK++QACvxEAAr8xAAK/SQACv2EAAr+BAAK/oQACv7EAAr/RAAK/8QACwAkAAsAhAALAMQACwEkAAsBpAALAgwACwJsAAsC9AALA3QACwPUAAsENAALBLQACwU0AAsFvAALBhwACwZ8AAsGvAALBxwACwd8AAsH3AALCDwACwicAAsI/AALCVwACwm8AAsKHAALCnwACwr8AAsLXAALC9wACww8AAsMnAALDPwACw18AAsN3AALDjwACw68AAsPPAALD3wACw/8AAsQfAALENwACxE8AAsRfAALEdwACxJcAAsSxAALEyQACxOsAAsULAALFIwACxTsAAsVbAALFewACxZ0AAsW1AALFzQACxd0AAsX1AALGDQACxiUAAsY9AALGVQACxm0AAsaFAALGnQACxrUAAsbNAALG7QACxwUAAsclAALHPQACx1UAAsdtAALHjQACx6UAAse9AALH3QACx/0AAsgNAALILQACyE0AAshlAALIfQACyI0AAsilAALIxQACyN0AAsjtAALJBQACyR0AAsk1AALJTQACyWUAAsl9AALJlQACybUAAsnNAALJ5QACygUAAsofAALKNwACyk8AAspnAALKfwACyo8AAsqnAALKvwACytcAAsrvAALLBwACyx8AAss3AALLVwACy28AAsuHAALLpwACy8EAAsvZAALL8QACzAkAAswhAALMOQACzEkAAsxhAALMeQACzJEAAsyxAALMyQACzOEAAsz5AALNEQACzSkAAs05AALNUQACzWEAAs15AALNkQACzakAAs3BAALN2QACzfEAAs4JAALOKQACzkEAAs5ZAALOeQACzpMAAs6rAALOwwACztsAAs7zAALPAwACzxsAAs8zAALPSwACz2MAAs97AALPkwACz6sAAs/LAALP4wACz/sAAtAbAALQNQAC0E0AAtBlAALQfQAC0J0AAtC1AALQxQAC0N0AAtD3AALRDwAC0S8AAtFHAALRZwAC0X8AAtGfAALRvwAC0dcAAtHnAALR/wAC0hkAAtIxAALSUQAC0mkAAtKJAALSoQAC0sEAAtLZAALS+QAC0xEAAtMpAALTOQAC01EAAtNxAALTiQAC06EAAtOxAALTywAC0+MAAtQFAALUIwAC1DsAAtRTAALUcwAC1JMAAtS1AALUzQAC1OUAAtT1AALVDQAC1SUAAtU9AALVVQAC1W0AAtWFAALVnQAC1bUAAtXNAALV5QAC1gUAAtYdAALWPQAC1lUAAtZtAALWhQAC1qUAAta9AALW1QAC1vUAAtcVAALXJQAC10MAAtdjAALXewAC15MAAtejAALXuwAC19sAAtf1AALYDQAC2C8AAthPAALYZwAC2H8AAtifAALYvwAC2OEAAtj5AALZEQAC2SEAAtk5AALZUQAC2WkAAtmBAALZmQAC2bEAAtnJAALZ4QAC2fkAAtoRAALaMQAC2kkAAtppAALagQAC2pkAAtqxAALa0QAC2ukAAtsBAALbIQAC20EAAttRAALbcQAC25EAAtupAALbwQAC29EAAtvpAALcCQAC3CkAAtxBAALcUQAC3GkAAtyDAALcmwAC3LsAAtzTAALc8wAC3QsAAt0rAALdRQAC3V8AAt13AALdmQAC3bkAAt3RAALd6QAC3gkAAt4pAALeSwAC3mMAAt57AALeiwAC3qMAAt67AALe0wAC3usAAt8DAALfGwAC3zMAAt9LAALfYwAC33sAAt+bAALfswAC39MAAt/rAALgAwAC4BsAAuA7AALgUwAC4GsAAuCLAALgqwAC4LsAAuDbAALg+wAC4RMAAuErAALhOwAC4VMAAuFzAALhiwAC4ZsAAuGzAALhywAC4eMAAuH7AALiEwAC4isAAuJDAALiYwAC4nsAAuKTAALiswAC4s0AAuLlAALi/QAC4xUAAuMtAALjPQAC41MAAuNrAALjgwAC45sAAuOzAALjywAC4+MAAuQDAALkGwAC5DMAAuRTAALkbQAC5IUAAuSdAALktQAC5MUAAuTVAALk5QAC5P0AAuUNAALlJQAC5T0AAuVVAALlbQAC5YUAAuWdAALltQAC5dUAAuXtAALmBQAC5iUAAuY/AALmVwAC5m8AAuaHAALmpwAC5r8AAubXAALm7wAC5wcAAucfAALnLwAC50cAAudXAALnbwAC54cAAuefAALntwAC588AAufnAALn/wAC6B8AAug3AALoTwAC6G8AAuiJAALooQAC6LkAAujRAALo4QAC6PkAAukRAALpKQAC6UEAAulRAALpcQAC6ZEAAumxAALpyQAC6eEAAun5AALqEQAC6ikAAuo5AALqWQAC6nEAAuqJAALqqQAC6sEAAurZAALq8QAC6wkAAusZAALrOQAC61kAAut5AALrkQAC66kAAuvBAALr2QAC6/EAAuwBAALsIQAC7DkAAuxRAALscQAC7JkAAuzBAALs4QAC7QkAAu0hAALtUQAC7YEAAu2xAALt0QAC7fEAAu4RAALuMQAC7lkAAu55AALuqQAC7tEAAu75AALvKQAC70EAAu9ZAALvaQAC74EAAu+ZAALvsQAC78kAAu/hAALv8QAC8AkAAvAhAALwOQAC8FEAAvBpAALwgQAC8JkAAvCpAALwyQAC8OkAAvEJAALxIQAC8TkAAvFRAALxaQAC8YEAAvGRAALxsQAC8ckAAvHhAALyAQAC8hkAAvIxAALyQQAC8lkAAvJxAALyiQAC8qEAAvK5AALyyQAC8uEAAvL5AALzEQAC8ykAAvNBAALzUQAC82kAAvOBAALzmQAC87EAAvPJAALz2QAC8/EAAvQJAAL0IQAC9DkAAvRJAAL0ZQAC9IEAAvSbAAL0tQAC9M0AAvTl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AAMgvQADINUAAyDtAAMhDQADISUAAyFFAAMhXQADIXUAAyGNAAMhrQADIcUAAyHdAAMh/QADIh0AAyItAAMiTQADIm0AAyKFAAMinQADIq0AAyLFAAMi5QADIvUAAyMLAAMjIwADIzMAAyNPAAMjawADI4UAAyOfAAMjtwADI88AAyPnAAMj/wADJBkAAyQxAAMkUwADJHMAAySLAAMkowADJMMAAyTjAAMlBQADJR0AAyU1AAMlRQADJV0AAyV1AAMljQADJaUAAyW9AAMl1QADJe0AAyYFAAMmHQADJjUAAyZVAAMmbQADJo0AAyalAAMmvQADJtUAAyb1AAMnDQADJyUAAydFAAMnZQADJ3UAAyeVAAMntQADJ80AAyflAAMn9QADKA0AAygtAAMoRwADKF8AAyiBAAMooQADKLkAAyjRAAMo8QADKREAAykzAAMpSwADKWMAAylzAAMpiwADKaMAAym7AAMp0wADKesAAyoDAAMqGwADKjMAAypLAAMqYwADKoMAAyqbAAMquwADKtMAAyrrAAMrAwADKyMAAys7AAMrUwADK3MAAyuTAAMrowADK8MAAyvjAAMr+wADLBMAAywjAAMsOwADLFsAAyxrAAMsewADLJMAAyyrAAMswwADLNsAAyzrAAMtAwADLRsAAy0zAAMtSwADLWMAAy1zAAMtiwADLaMAAy27AAMt0wADLesAAy37AAMuEwADLisAAy5DAAMuWwADLnMAAy6DAAMumwADLrMAAy7LAAMu8wADLxsAAy87AAMvYwADL3sAAy+rAAMv2wADMAsAAzArAAMwSwADMGsAAzCLAAMwswADMNMAAzEDAAMxKwADMVMAAzGDAAMxmwADMbMAAzHDAAMx2wADMfMAAzILAAMyIwADMjsAAzJLAAMyYwADMnsAAzKTAAMyqwADMsMAAzLTAAMy6wADMwMAAzMbAAMzMwADM0sAAzNbAAMzcwADM4sAAzOjAAMzywADM/MAAzQTAAM0OwADNFMAAzSDAAM0swADNOMAAzUDAAM1IwADNUMAAzVjAAM1iwADNasAAzXbAAM2AwADNisAAzZbAAM2cwADNosAAzabAAM2swADNssAAzbjAAM2+wADNxMAAzcjAAM3OwADN1MAAzdrAAM3gwADN5sAAzerAAM3wwADN9sAAzfzAAM4CwADOCMAAzgzAAM4SwADOGMAAzh7AAM4kwADOKsAAzi7AAM40wADOOsAAzkDAAM5GwADOTMAAzlDAAM5WwADOXMAAzmLAAM5owADObsAAznLAAM54wADOfsAAzoTAAM6KwADOjsAAzpTAAM6awADOoMAAzqbAAM6swADOssAAzrjAAM7AwADOxsAAzszAAM7UwADO20AAzuFAAM7nQADO7UAAzvNAAM73QADO/UAAzwNAAM8JQADPD0AAzxVAAM8bQADPIUAAzylAAM8vQADPNUAAzz1AAM9DwADPScAAz0/AAM9VwADPWcAAz13AAM9hwADPZ8AAz23AAM9zwADPecAAz3/AAM+FwADPi8AAz5PAAM+bQADPocAAz6pAAM+ywADPuMAAz77AAM/GQADPzkAAz9RAAM/cQADP4kAAz+hAAM/wQADP+EAAz/5AANAEQADQCkAA0BBAANAWQADQHEAA0CJAANAqQADQMkAA0DjAANBBQADQScAA0E/AANBVwADQXcAA0GXAANBrwADQc8AA0HnAANB/wADQh8AA0I/AANCVwADQm8AA0KHAANCnwADQrcAA0LPAANC5wADQwcAA0MlAANDPwADQ2EAA0ODAANDmwADQ7MAA0PRAAND8QADRAkAA0QpAANEQQADRFkAA0R5AANEmQADRLEAA0TJAANE4QADRPkAA0URAANFKQADRUEAA0VhAANFgQADRZsAA0W9AANF3wADRfcAA0YPAANGLwADRk8AA0ZnAANGhwADRp8AA0a3AANG1wADRvcAA0cPAANHJwADRz8AA0dXAANHbwADR4cAA0efAANHvwADR98AA0f5AANIGwADSD0AA0hVAANIbQADSI0AA0itAANIxQADSOUAA0j9AANJFQADSTUAA0lVAANJbQADSYUAA0mfAANJuQADSdMAA0ntAANKBwADSikAA0pLAANKZwADSosAA0qvAANKyQADSuMAA0sFAANLJwADS0EAA0tjAANLfQADS5cAA0u5AANL2wADS/UAA0wPAANMJwADTD8AA0xXAANMbwADTIcAA0ynAANMxwADTOEAA00DAANNJQADTT0AA01VAANNdQADTZUAA02tAANNzQADTeUAA039AANOHQADTj0AA05VAANObQADToUAA06dAANOtQADTs0AA07lAANPBQADTyUAA08/AANPYQADT4MAA0+bAANPswADT9MAA0/zAANQCwADUCsAA1BDAANQWwADUHsAA1CbAANQswADUMsAA1DjAANQ+wADURMAA1ErAANRQwADUWMAA1GDAANRnQADUb8AA1HhAANR+QADUhEAA1IxAANSUQADUmkAA1KJAANSoQADUrkAA1LZAANS+QADUxEAA1MpAANTQQADU1kAA1NxAANTiQADU6EAA1PBAANT4QADU/sAA1QdAANUPwADVFcAA1RvAANUjwADVK8AA1THAANU5wADVP8AA1UXAANVNwADVVcAA1VvAANVhwADVZ8AA1W3AANVzwADVecAA1X/AANWHwADVj8AA1ZZAANWewADVp0AA1a1AANWzQADVu0AA1cNAANXJQADV0UAA1ddAANXdQADV5UAA1e1AANXzQADV+UAA1f/AANYGQADWDMAA1hNAANYZwADWIkAA1irAANYxwADWOsAA1kPAANZKQADWUMAA1llAANZhwADWaEAA1nDAANZ3QADWfcAA1oZAANaOwADWlUAA1pvAANahwADWp8AA1q3AANazwADWucAA1sHAANbJwADW0EAA1tjAANbhQADW50AA1u1AANb1QADW/UAA1wNAANcLQADXEUAA1xdAANcfQADXJ0AA1y1AANczQADXOUAA1z9AANdFQADXS0AA11FAANdZQADXYUAA12fAANdwQADXeMAA137AANeEwADXjMAA15TAANeawADXosAA16jAANeuwADXtsAA177AANfEwADXysAA19DAANfWwADX3MAA1+LAANfowADX8MAA1/jAANf/QADYB8AA2BBAANgWQADYHEAA2CRAANgsQADYMkAA2DpAANhAQADYRkAA2E5AANhWQADYXEAA2GJAANhoQADYbkAA2HRAANh6QADYgEAA2IhAANiQQADYlsAA2J9AANinwADYrcAA2LPAANi7wADYw8AA2MnAANjRwADY18AA2N3AANjlwADY7cAA2PPAANj5wADY/8AA2QXAANkLwADZEcAA2RfAANkfwADZJ8AA2S5AANk2wADZP0AA2UVAANlLQADZU0AA2VtAANlhQADZaUAA2W9AANl1QADZfUAA2YVAANmLQADZkUAA2ZdAANmdQADZo0AA2alAANmvQADZt0AA2b9AANnFwADZzkAA2dbAANncwADZ4sAA2erAANnywADZ+MAA2gDAANoGwADaDMAA2hTAANocwADaIsAA2ijAANouwADaNMAA2jrAANpAwADaRsAA2k7AANpWwADaXUAA2mXAANpuQADadEAA2npAANqCQADaikAA2pBAANqYQADankAA2qRAANqsQADatEAA2rpAANrAQADaxkAA2sxAANrSQADa2EAA2t7AANrkwADa6sAA2vDAANr2wADa/MAA2wNAANsJQADbD0AA2xVAANsbQADbIUAA2ydAANstQADbM0AA20hAANtMQADbUkAA21bAANtcwADbYsAA22fAANt0gADbeQAA232AANuCAADbhoAA24sAANuPgADblAAA25iAANudAADboYAA26YAANuqgADbrwAA27OAANu4AADbvIAA28EAANvFgADbygAA286AANvTAADb14AA29wAANv0gADcA4AA3DEAANw3AADcPQAA3FYAANxiwADcf4AA3IQAANyIAADcpIAA3KkAANy4gADcvIAA3M0AANzewADc9AAA3PyAAN0DAADdB4AA3Q4AAN0VAADdG4AA3SQAAN0qgADdMwAA3TmAAN1CAADdSIAA3VEAAN1XgADdXgAA3WKAAN2GAADdngAA3clAAN3rAADeEEAA3hbAAN4dQADeI8AA3ipAAN4uQADeMkAA3jpAAN5AQADeREAA3kpAAN5QwADeVsAA3l7AAN5kwADebMAA3nLAAN56wADegMAA3ojAAN6OwADelMAA3pjAAN66AADe0sAA3uKAAN77gADfAAAA3xaAAN81wADfO8AA30HAAN9HwADfTcAA31HAAN9ZwADfYcAA32nAAN9vwADfdcAA33vAAN+BwADfh8AA34vAAN+TwADfmcAA35/AAN+nwADfrkAA37RAAN+8wADfxMAA38rAAN/QwADf2MAA3+DAAN/pQADf70AA3/VAAN/5QADf/0AA4AVAAOALQADgEUAA4BdAAOAdQADgI0AA4ClAAOAvQADgNUAA4D1AAOBDQADgS0AA4FFAAOBXQADgXUAA4GVAAOBrQADgcUAA4HlAAOCBQADghUAA4I1AAOCVQADgm0AA4KFAAOClQADgq0AA4LNAAOC5wADgwEAA4MRAAODKQADg0EAA4NRAAODaQADg4EAA4OZAAODqQADg8EAA4PZAAOD8QADhAkAA4QhAAOEMQADhEkAA4RpAAOEgQADhJkAA4SxAAOEyQADhTIAA4WxAAOGKAADhn0AA4aXAAOGsQADhsEAA4bZAAOG6QADhwEAA4cZAAOHKQADh0EAA4dZAAOHcQADh4kAA4ehAAOHuQADh9EAA4fxAAOICQADiCEAA4hBAAOIWwADiHMAA4iLAAOIowADiMMAA4jbAAOI8wADiQsAA4kjAAOJOwADiUsAA4nnAAOJ9wADigcAA4q+AAOK1gADiuYAA4r+AAOLpwADi7cAA4vPAAOL3wADi/cAA4wHAAOMHwADjNoAA41TAAONYwADjXMAA42LAAONowADjbMAA43HAAON2wADje8AA44DAAOOFwADjisAA44/AAOOUwADjmcAA457AAOOjwADjqMAA463AAOOywADjt8AA47zAAOPBwADjxsAA48vAAOPQwADj1cAA49rAAOPfwADkCIAA5AyAAOQSgADkGIAA5B6AAOQkgADkKoAA5DCAAOQ2gADkPIAA5EKAAORIgADkToAA5FSAAORbAADkYQAA5GcAAORtAADkcwAA5HkAAOR/AADkhQAA5IsAAOSRAADklwAA5J0AAOSjAADkqQAA5K+AAOS1gADku4AA5MGAAOTHgADkzYAA5NOAAOTZgADk34AA5OWAAOTrgADk8YAA5PeAAOT9gADlA4AA5QmAAOUPgADlFgAA5RwAAOUiAADlKAAA5S4AAOU0AADlOoAA5UCAAOVGgADlTIAA5VKAAOVYgADlXoAA5WSAAOVqgADlhcAA5YpAAOWOwADlksAA5ZbAAOWbQADln0AA5aNAAOWnQADlq0AA5a/AAOW0QADluMAA5bzAAOXAwADlxMAA5cjAAOXMwADl0MAA5dTAAOXZQADl3UAA5eFAAOXlQADl60AA5fFAAOX9QADmA8AA5gnAAOYSQADmGkAA5iBAAOYmQADmLkAA5jZAAOY+wADmRMAA5krAAOZOwADmVMAA5lrAAOZgwADmZsAA5mzAAOZywADmeMAA5n7AAOaEwADmisAA5pLAAOaYwADmoMAA5qbAAOaswADmssAA5rrAAObAwADmxsAA5s7AAObWwADm2sAA5uLAAObqwADm8MAA5vbAAOb6wADnAMAA5wjAAOcOwADnFMAA5xrAAOcgwADnJsAA5y7AAOc2wADnPUAA50XAAOdOQADnVEAA51pAAOdiQADnakAA53BAAOd4QADnfkAA54RAAOeMQADnlEAA55pAAOegQADnqEAA57BAAOe6QADnxEAA59BAAOfcQADn6EAA5/RAAOgAQADoDEAA6BhAAOgkQADoMEAA6DxAAOhGQADoUEAA6FpAAOhkQADobkAA6HhAAOiCQADojEAA6JZAAOigQADoyYAA6PhAAOkSwADpO0AA6UsAAOldAADpY4AA6WmAAOlyAADpegAA6YAAAOmGAADpjgAA6ZYAAOmegADppIAA6aqAAOmugADptIAA6bqAAOnAgADpxoAA6cyAAOnSgADp2IAA6d6AAOnkgADp6oAA6fKAAOn4gADqAIAA6gaAAOoMgADqEoAA6hqAAOoggADqJoAA6i6AAOo2gADqOoAA6kKAAOpKgADqUIAA6laAAOpagADqYIAA6miAAOpvgADqdoAA6nsAAOqBAADqh4AA6o2AAOqWAADqngAA6qQAAOqqAADqsgAA6roAAOrCgADqyIAA6s6AAOrSgADq2IAA6t6AAOrkgADq6oAA6vCAAOr2gADq/IAA6wKAAOsIgADrDoAA6xaAAOscgADrJIAA6yqAAOswgADrNoAA6z6AAOtEgADrSoAA61KAAOtagADrXoAA62aAAOtugADrdIAA63qAAOt+gADrhIAA64yAAOuSgADrmIAA656AAOukgADrrIAA67KAAOu4gADrwIAA68cAAOvNAADr0wAA69kAAOvfAADr5QAA6/cAAOv8AADsAIAA7AUAAOwUwADsLsAA7FBAAOxyQADskMAA7K+AAOzIAADs3IAA7QEAAO0ZwADtIcAA7SnAAO0xwADtOcAA7UHAAO1JwADtUcAA7VnAAO1hwADtacAA7XHAAO15wADtgcAA7YnAAO2RwADtmcAA7aHAAO2pwADtscAA7bnAAO3BwADtycAA7dJAAO3awADt4sAA7erAAO3ywADt+sAA7gLAAO4KwADuEsAA7hrAAO4iwADuKsAA7jLAAO46wADuQsAA7krAAO5SwADuWsAA7mLAAO5qwADucsAA7nrAAO6CwADuisAA7pLAAO6awADuo0AA7qvAAO6zwADuu8AA7sPAAO7LwADu08AA7tvAAO7jwADu68AA7vPAAO77wADvA8AA7wvAAO8TwADvG8AA7yPAAO8rwADvM8AA7zvAAO9DwADvS8AA71PAAO9bwADvY8AA72vAAO9zwADve8AA74PAAO+LwADvk8AA75vAAO+jwADvq8AA77RAAO+8wADvxMAA78zAAO/UwADv3MAA7+TAAO/swADv9MAA7/zAAPAEwADwDMAA8BVAAPAdwADwJcAA8C3AAPA1wADwPcAA8EXAAPBNwADwVcAA8F3AAPBlwADwbcAA8HXAAPB9wADwhcAA8I3AAPCVwADwncAA8KXAAPCtwADwtcAA8L3AAPDFwADwzcAA8NXAAPDdwADxHQAA8XJAAPHuAADyVoAA8ubAAPNKQADz1EAA9BpAAPSJQAD0uYAA9MZAAPTTAAD040AA9PLAAPUOQAD1GIAA9SmAAPVCQAD1U0AA9WIAAPVyAAD1dgAA9XqAAPV+gAD1goAA9YaAAPWKgAD1joAA9ZKAAPWWgAD1moAA9aCAAPWlAAD1qYAA9a4AAPWygAD1twAA9buAAPXAAAD1xIAA9ckAAPXNgAD10gAA9daAAPXbAAD134AA9eQAAPXogAD17QAA9fGAAPX2AAD1+oAA9f+AAPYEgAD2CYAA9g6AAPYTgAD2GIAA9h2AAPYigAD2J4AA9iyAAPYxgAD2NoAA9juAAPZAgAD2RYAA9kqAAPZPgAD2VIAA9lmAAPZegAD2Y4AA9miAAPZtgAD2bYAA9npAAPaCAAD2jMAA9pdAAPajQAD2roAA9riAAPbCQAD2zAAA9taAAPbgwAD264AA9vVAAPcSQAD3KAAA90zAAPdkwAD3jIAA95mAAPenwAD3tIAA98FAAPfOAAD4ncAA+KcAAPjSgAD5B4AA+TVAAPlwwAD5pcAA+dFAAPn8wAD6GEAA+jPAAPp0QAD6joAA+qoAAPrEwAD634AA+vsAAPsewABAAAAABvnGuY1fF8PPPUACwgAAAAAAMgKMbEAAAAA1Y4/uPta+M1bvQ6FAAAACAACAAEAAAAAAuwARAAAAAACqgAAAlgAAAHiAIICMABOA8AAZQPkAGYFNgBQBVYAagFAAE4DrAEsA6wAWgN2AEEEPAA+AZIAIgLyAHQBngBgAsIAHwRCAGwEQgEkBEIAiARCAKgEQgBkBEIAqARCAJIEQgB8BEIAqARCAJQBxAB0AdAATAPYADwEagCHA9oAYALIAHAF2ABiBOb/5ASoAFQFRABgBYwAVASWAFQELgBUBaAAYAWsAFQCiABUAnL/MAUiAFQEaABUBxYAMAYQAEMF2ABiBEgAUwXWAGIE2gBTA+wAYgTkABgFpgA0BPz/8AcI//QFOP/tBKz/5ATyAEAC5AEsAsIAPgLkAFoDDAB6A/IAHAKsAOgDXgBKA+QACANOAE4EBgBOA1wAUAJoADIDpAAuBAgAJAIcAEAB3v/cBAwAJAH+ACQGLABABCgAQAP6AFID/AAcA+IATgL+AEAC4gBSAm4AKAQGABsDsv/5BaIAAAO4ABMDqgAAA34ARAMuASIBmgCaAy4BBQR0AHABrgBqA3wAWgO6AFgEfACcBUAANAGaAJQDcgBMAvIAZAUmAHACsgBeA1IAZASWAFoC9AB2BSYAcAKkAGACJABMBEgARALMAEwCfABOAggAZAQ6AJwDyABEAcAAbAHOAGQCSABOAwgATANSAF4FdgBEBdwASgV4AEYCsgBSBOb/5ATm/+QE5v/kBOb/5ATm/+QE5v/kBwL/4AVEAGIElgBUBJYAVASWAFQElgBUAogASwKIAFQCiABUAogAOAWMAFQGEABDBdgAYgXYAGIF2ABiBdgAYgXYAGIDoABuBdgAYgWmADQFpgA0BaYANAWmADQErP/kBEgAVAQyADIDXgBKA14ASgNeAEoDXgBKA14ASgNeAEoFGgBKA04ATgNcAFADXABQA1wAUANcAFACHAApAhwAQAIcAEACIAAQBAoAUAQoAEAD+gBSA/oAUgP6AFID+gBSA/oAUgSuAHgD+gBUBAYAGwQGABsEBgAbBAYAGwOqAAAD3gAAA6oAAATm/+QDXgBKBOb/5ANeAEoE5v/kA14ASgVEAGADTgBOBUQAYANOAE4FRABgA04ATgVEAGADTgBOBYwAVAQoAE4FjABUBAYATgSWAFQDXABQBJYAVANcAFAElgBUA1wAUASWAFQDXgBQBJYAVANcAFAFoABgA6QALgWgAGADpAAuBaAAYAOkAC4FoABgA6QALgWsAFQECAAUBawAVAQIACQCiABBAhwANwKIAEwCHAAdAogAVAIcAE8CkABUAhgAOAKIAFQCHABABHYAUgOyAEACcv8wAd7/4gUiAFQEDAAkBCoAQARoAFQB/gAkBGgAVAH+ACIEjABUAiIAJARoAFQDBAAkBGgAPgH+ACIGEABDBCgAQAYQAEMEKAA+BhAAQwQoAEAEKP+eBhAAQwQSAEAF2ABiA/oAUgXYAGID+gBSBdgAYgP6AFIH8gBi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BAAAAAgAAAAEAAAACAAAAAKrAAACAAAAAVUAAAPoAAACigAAAZoAAAEsAAAAAAAAAAD/4gAA/3UAAP7rAAD/4gL0AHYC9AB2BCIAdARoAHgGsAB4CPIAeAGkAFgBpABGAaQAKAGkACYC9gBYAvYARgL2ACgC9gAmAx4ARgNOAF4C7gCgAaQAYAaMAGAAAAAAAAAAAAAA/+IAAP7rAAD/dQAA/+IAAP43AqsAAAfKAFgBQABiAiAAYgNSALQCagA8AmgAVgbCAQoG2gBBAPz/OgWIAD8ExgCJBKwAfAQI/+oFcABaBGAAMAQoADIEVAAyBl4ANAaCADYBvv++Ajr/+gdpAFUHEgBoAYb/xQH0/88HaQBVBxIAaAGG/8UB9P/PB2kAVQcSAGgBhv/FAfT/zwdpAFUHEgBoAYb/xQH0/88HaQBVBxIAaAGG/5MB9P/PB2kAVQcSAGgBhv+TAfT/zwffAH0IDACCAl3/zgMH/9EH3wB9CAwAggJd/84DB//RBUsAOwUeAG4FP//TBOL/xAVLADsFHgBuBT//0wTi/8QFSwA7BR4AbgU//9ME4v/EBUsAOwUeAG4FP//TBOL/xAObAH0DxQBLA5sAfQPFAEsDmwB9A8UASwObAH0DxQBLAzP/VgK//1IDM/9WAr//UgmfAH0JDwB9BUb/yAS2/8gJnwB9CQ8AfQVG/8gEtv/ICZ8AfQkPAH0FRv/IBLb/yAmfAH0JDwB9BUb/aAS2/2gElQB5BOwAeQSVAHkE7AB5AYb/kwH0/88C9ABtAwkAfgL0AG0DRACSA57/owOw/88E3gA3BC4AKgOe/7IDIP/CCUcAewSSAHsJRwB7BCQAewFxAC8BcQAvAkYALwJGAC8CMgAvAjIALwIyAC4CMgAuAmUALwJlAC8BzAAwAZkALwGZAC8BdQAmApIALgKSAC4FQwB/BpUAgQVG/8gEtv/IAzX/UwLE/18DNf9TAsT/XwM1/1MCxP9fA/3/+AM1/1MCxP9fAzX/UwLE/18DNf9TAsT/XwYeAG4EsAB0AYb/xQH0/88Bhv/FAfT/zwNcAFADygBQBI8AfgT9AH4ESv9fBLj/XwRK/18EuP9fBEr/XwS4/18ESv9fBLj/XwXgAGUF1gBwA8X/vQXgAGUF1gBwA8X/vQYeAG4EsAB0AYb/xQH0/88FLwBhBS8AYQTBAC0F4ABlBeAAZQUvAGEFLwBhBS8AYQTBAC0F4ABlBeAAZQUvAGEFLwBhBS8AYQTBAC0F4ABlBeAAZQUvAGEEwQAtBeAAZQXgAGUGrwBhCW0AYgavAGEJbQBiBq8AYQavAGEJbQBiBjUAXwY1AF8GNQBfB0gAnwegAFsIygCfB6AAWwegAFsHoABbCMoAnwmpAG4IuQBiCLkAYgVzAGEIAABiBXMAYQgAAGIFyABhBcgAYQXIAGEGiwBiBbYAZQW2AGUFyABhBosAYgW2AGUFtgBlBjUALQZ/AGEGfwBhBn8AYQmFAGwGRQAtB9oAZQfaAGUFlQBhBZUAYQWVAGEDiAAtBcAAZQXAAGUFUABhBVAAYQVQAGEHSwBiBuYAZQbmAGUFLwBhBS8AYQUvAGEEwQAtBeAAZQXgAGUFkwBhB8wAYgg7AGUIOwBlBS8AYQUvAGEFLwBhBMEALQXgAGUF4ABlA5sAfQMz/1YGHgBuAlgAgAJYAIACWACAAlgAgAJYAIACWACABGj/VARo/1QEfQCfBhcAWQXWAHAF1gBwBGj/VARo/1QEfQCfBhcAWQXWAHAF1gBwBGj/VARo/1QEfQCfBhcAWQXWAHAF1gBwBGj/VARo/1QEfQCfBhcAWQXWAHAF1gBwBzgAZQc4AGUHOABlBzgAZQW9AC0JDQBsBYwATQeuADUHrgA1A94AcwVS//4FUv/+BYwAUAfkAGIEaP9UBGj/VAR9AJ8GFwBZBdYAcAXWAHAEsAB0BGj/VARo/1QEfQCfBhcAWQXWAHAF1gBwBSX/wQUl/8EFJf/BA4P/ygRB/88FJf/BBSX/wQUl/8EDg//KBEH/zwUl/8EFJf/BBSX/wQOD/8oEQf/PA4P/ygWr/8EF2v+uBav/wQXa/64Fq//BBdr/rgWY/8EFmP/BBZj/wQWZ/8oG6f/BBun/wQaY/8oG6f/BBun/wQbp/8EGmP/KCW3/xAhB/8kEzv/BBan/rgTO/8EFqf+uBUL/wQVC/8EFQv/BAyT/rgVC/8EDJP+uBfn/wQX5/8EF+f/BBj3/dwYS/64FD//BBQ//wQUP/8EC2/+zA7n/sgTY/8EE2P/BBNj/wQOj/8oFJf/BBSX/wQUl/8EDg//KBEH/zwUv/8EFWf+uA57/owUl/8EFJf/BBSX/wQOD/8oEQf/PBar/yQOs/88Fqv/JA6z/zwWq/8kDrP/PBar/yQOs/88IQ//JBrz/zwhD/8kGvP/PBcX/dwZB/64Dwv/OBar/yQOs/88Fqv/JA6z/zwF8/5MBfP+TAXz/kwk7AHQJOwB0CJQAZQiUAGUIlABlCJQAZQiaAHAImgBwCJoAcAiaAHAIvgBlCL4AZQi+AGUIvgBlCL4AZQi+AGUKHABwChwAcAocAHAKHABwBjUAXwY1AF8GNQBfB0gAnwcw/1AHMP9QCLL/UAiy/1AJGgB0CRoAdAcPADUHDwA1Bw8ANQcPADUI5ABwCOQAcAjkAHAI5ABwCZIAdAmSAHQJkgB0CZIAdAmSAHQJkgB0Ce4AcAnuAHAJ7gBwCe4AcAmrAG4JqwBuCasAbgeSAJ8Hev9QB3r/UAiE/1AIhP9QBZj/wQWY/8EFmP/BBZn/ygZy/88Gcv/PCEH/yQlv/8QJb//ECW//xAlv/8QJb//ECW//xAgg/8kIIP/JAdb/PwG+/6MFtwEoBbcAXwY//64L9ABuCgf/xAY//64GP/+uBTz/wQU8/8EFPP/BDbYAbgq8/8QNSAB0DUgAdAp6/8QKev/EDh8AdA1hAG4Ke//ECnv/xAxxAGIJT//JD8gAbgvL/8QNrABiDZ0AYglO/8kOHwB0DWEAbgp7/8QMcQBiCU//yQ9aAHQO2ABiCp//yQ0+AG4NI//EC/f/yQzQAHQL/gBiCtIAYglf/8kLVAB0CtIAYgtUAHQLVAB0DBcAYgj4/8kL2wBuCusAYgqlAGILJwB0CycAdAVg/6sLlQBuCqUAYgU0/8sI4ABuBRT/wQm6/8QF2/+uDUgAdAm6/8QF2/+uCbr/xAXb/64Juv/ECjv/xAkP/8kGP/+uC4YAdAsEAGIGP/+uC4YAdApaAHQKWgB0CdgAYgc5/8kLhgB0C4YAdAuGAHQLhgB0C4YAdApaAHQKWgB0DUgAdA50AHQNSAB0Dh8AdA9aAHQOHwB0D1oAdAsnAHQIcgB0C4YAdAuGAHQKWgB0DBwAdAttAHQLhgB0CAb/xAU0/8sLVAB0CvEAdAoH/8QNSAB0BTT/ywpvAGIKpQBiC/QAbg50AHQOdAB0DUgAdAttAHQLhgB0Ccj/yQiE/8kKTv/JDh8AdAuGAHQLvQB7CIQAewenAHELbP9UCaAASw5HAGIPVwB/CbIAfgufAHMK6P/+CHH/+Adu//gLYwB/W3wAkgJYAOwBfP+ZAlgBCgJYAOwCWAEGAXz/nwJYAP4BfP+DAlgBBgF8/7sCWACAAXz/kwJYAK8BfP+7Aw4AdAG+/s4Cnv9uAeD//gJRAEQDNf9TAsT/XwG+AFcB1gAHBh4AbgSwAFcBhv+8AfT/zwG+AHcB1gBQB2kAVQcSAGgBhv/FAfT/zwL0AG0DCQApB2kAVQcSAGgBhv+yAfT/zwdpAFUHEgBoAYb/vgH0/88FSwA7BR4AbgU//9ME4v/EBUsAOwUeAG4FP//TBOL/xAVLADsFHgBuBT//0wTi/8QDmwB9A8UASwObAH0DxQBLAzP/VgK//1IDM/9WAr//UgfwAHUIogB2BIz/zASN/80H8AB1CKIAdgSM/8wEjf/NCbQAeAl0AGIFlv/JBcj/xQm0AHgJdABiBZb/yQXI/8UGVwByBgQAeQSL/84Eav+4BlcAcgYEAHkEi//OBGr/uARTAHQD8gA8A9L/sgLu/68EUwB0A/IAPAPS/7IC7v+vB98AfQgMAIICXf/OAwf/0QV/AHcE3QBZAl3/zgMH/9EFQwB/BpUAgQVG/8gEtv/IBNQAfwUoAGwBaP/cAZX/twOeAHQELgBiAx3/tAO2/8kElQB5BOwAeQGG/8UB9P/PAvQAbQMJAH4Dnv+jAyD/wgM1/1MCxP9fBh4AbgSwAHQGHgBuBLAAdAGG/8UB9P/PBSX/OwWJ/z8FJf/uBYn/7AUlAHwFif/qBSUAfAWJAIIBqABqB1UASgZ9ADED0wB4BE0AdQRMAHgGfQAxBkMAaAYPAGYFLwB1BL8AdQOJAGkEgABuB9wAagY5AGkHzABzCaAAbwVsAG0ETAB4B9wAawdVAEoHVQBKBn0AMgPTAHgJoABvBkMAaAY5AGkHVQBKBIAAbgfMAHMFbABtA3gAageUAGQEygBOB5QAZAONAH8F8gB4A4YAagO7AFsDeABqBSIAbASCAGoELABqBjMAbQQsAGoFIgBsA3gAagN4AGoHlABkBjMAbgSCAGoGeQBGBnkARgbDAHYFrAB2BYoAdgjUAHYGeQBpCnAAdgYvAHYI1AB2BnkARgpwAHYGeQBpBYoAdgYvAHYDfQB0Bs4AdAWPAHQGzgB0BnsAdAN9AHQHPAB0BQ0AdAN9AHQGfAB0BSYAdARNAHQHiAB0BE0AdAZ8AHQDfQB0A30AdAbOAHQHiAB0BnsAdAUmAHQDfQB0BE0AdALfAG8HVQBKBf8ATAOZAHIFtABzBHQAcAR0AG8F/wBNBrIAcwYQAGkEvwB1A8gAbwSAAG0H3ABrBe4AdgfMAHIJowBQBWwAbQR0AHAH3ABrB1UASgdVAEoF/wBNA5kAcgmjAFAGsgBzBe4Adgd0AE0GlQBiA4IAbASGAHUEgwBrBpUAYwaYAHEGRQBqBPEAeAPNAGcEpwB0CAQAagZ3AC4H6gByCc8AXQWUADsEgwBrCAQAagd0AE0HdABNBpUAYwOCAGwJzwBdBpgAcQZ3AC4LtABpDqMAQAZNAIEB1gBQAb4AdwPyADwD0v+yBFMAdALu/68HEgBoAYb/xQdpAFUB9P/PA8UASwObAH0IDACCAl3/zgffAH0DB//RBR4AbgU//9MFSwA7BOL/xAMJAH4Dnv+jAvQAbQMg/8IGlQCBDRL/vAVG/8gFQwB/BLb/yAUoAGwBaP/cBNQAfwGV/7cELgBiAx3/tAOeAHQDtv/JBOwAeQSVAHkE3QBZBX8AdwQuAHYD6wB+AzP/Vgl0AGIFlv/JCbQAeAXI/8UIogB2BIz/zAfwAHUEjf/NBgQAeQSL/84GVwByBGr/uAPwAIsEYQB/BLAAdAYeAG4CCf+rAfn/pwORAIACCP/VA7wAfQR6/2oDaf+cAZ//ugLi/4MCtP/LBsv/hgGH/8QBIP9fAWT/ygFd/4MD2gBWAnz/cAIU/7gBof/EAt3/vAOpAIEBkf/GA8H//gLL/YMBwf/NAaz/SwEv/7MCa/+tAroAfAPG/9AAP/+BAS//ywFZ/70DSf+7Asb/2gSt/3UFOv/uAjr/2ATcAGIFYP+KBGf/rASAAIUDvv63AcH/4APw/5sCEv/CA4IAgAMY/vADYQB/Ac3/bgHs/7ICj/3DAh//WwUn/6YElv7UA1cAgARd/8MD6P6dA8YANQI8/5kCYv/JAfb9hQOTAIIB3f+HAeX/zgE//54B2f+1AtEAcQFK/9ADnP+QAb7/YAH6/5YGLwBoAU3/zgF1/28DSv3aAW//xgG//80EWABZBKP/qgORAHoEvv9wAbz/ugOBAH4GeP9tAHH/wQJ2/74DYABwAlb/zQWaAHwEWv/gBLT/wwLV/bABrv8hANUAYQPq/zoA5/9hAI//qwMg/80E2v/7BEf/0wLC/8sDDP+wBET/pwQW/7sBLv/mAAD/dgAA/wcAAP8TDzIAdgz4/7YAAP8MAAD8gA9BAHYAAP8WAAD9tAH0/8kAAP7kAAD/TgAA/3IHsQBiAAD+GQAA/dwCSf+/AkT/vAXa/6sEe//fBWT/XAAA/ugAAP62AAD+8wAA/4kAAADGAooAjAAA/0oAAP9IAAAAzwAA/zIAAP8YAAD/HAAA/58CigDSAAD/BgSwAK0EsAC8BLAAwAS0/z0GowBAAYn/dwIv/3AEPP9eATX/xgGG/8YBu/1VBNEAbAGBAC0EsP80BGX/QABM/7UBhf+mBPsAzgFiAFEF2ABiBWb/XAO2/x8CsQByAzsAdAEh/4UBgP+7AzwAcwPoAHMEhf63BFb+uQPt/1EBaP8VBB7/aQOd/50BvP+uBDX/ZQU0/2MCP/9OBAv+bgIR/4oE7/+4Axf/zwHn/4wExf/IAfH/lARs/8oDzwBlBKX+uAHo/4YDIf+NAaAALQDZ/3UB4/+hAGT/dQGOAE4DE//HAn7/wAEu/88B//+rAUX/uwHG/8ABxv1nBsQAdQT2AGMB0v+eAZn/tAGw/WcBnf/ABoIAYwS9AGMCSP9wAWL/xwG3/8YCHv9wATT/xwGG/8YB1gAHAdYAUAKp//UCqAAiAlEARAKe/24B1gBQAdb+cAHW/uwCOv/6A/IAPAPyADwD8gA8A/IAPAPyADwD8gA8A/IAPAPS/7ID0v+yA9L/sgPS/7ID0v+yA9L/sgPS/7IC7v+vAu7/rwLu/68C7v+vAu7/rwLu/68C7v+vBxIAaAcSAGgHEgBoBxIAaAcSAGgHEgBoBxIAaAcSAGgHEgBoBxIAaAcSAGgHEgBoBxIAaAcSAGgHEgBoBxIAaAcSAGgHEgBoBxIAaAGG/8UBhv/FAYb/xQGG/8UBhv8yAYb/xQGG/2EBhv/FAYb/xQGG/8UBhv+8AYb/xQGG/8UBhv/FAYb/kwGG/5MBhv/FAYb/wQGG/8UBhv/FAYb/xQGG/8UBhv++AYb/xQGG/7IBhv/FAYb/sgGG/8UBhv/FAYb/vgGG/5MBhv/FAYb/wQGG/8UBhv+yAYb/xQGG/8UBhv/FAYb/xQGG/8UBhv/FAfT/zwH0/88B9P/PAfT/zwH0/1oB9P/PAfT/rAH0/88B9P/PAfT/zwH0/88B9P/PAfT/zwH0/88B9P/PAfT/zwH0/88B9P/PAfT/zwH0/88B9P/PAfT/zwH0/88B9P/PAfT/zwH0/88B9P/PAfT/zwH0/88B9P/PAfT/zwH0/88B9P/PAfT/zwH0/88B9P/PAfT/zwH0/88B9P/PAfT/zwH0/88DxQBLA8UASwPFAEsDxQBLA8UASwPFAEsDxQBLA8UASwPFAEsDxQBLA8UASwPFAEsDxQBLA8UASwgMAIIIDACCCAwAgggMAIIIDACCCAwAgggMAIIIDACCCAwAggJd/84CXf/OAl3/zgJd/84CXf/OAl3/zgJd/84CXf/OAl3/zgJd/84CXf/OAl3/zgJd/84DB//RAwf/0QMH/9EDB//RAwf/0QMH/9EDB//RAwf/0QMH/9EDB//RAwf/0QMH/9EDB//RBR4AbgUeAG4FHgBuBR4AbgUeAG4FHgBuBR4AbgUeAG4FHgBuBR4AbgUeAG4FHgBuBR4AbgUeAG4FHgBuBR4AbgUeAG4FP//TBT//0wU//9MFP//TBT//0wU//9MFP//TBT//0wU//9MFP//TBT//0wU//9MFP//TBT//0wU//9MFP//TBT//0wTi/8QE4v/EBOL/xATi/8QE4v/EBOL/xATi/8QE4v/EBOL/xATi/8QE4v/EBOL/xATi/8QE4v/EBOL/xATi/8QE4v/EAwkAfgNEAJIDRACSAwkAfgMJACkDnv+jA57/owMg/8IDsP/PCQ8AfQkPAH0GlQCBCQ8AfQaVAIEJDwB9CQ8AfQkPAH0GlQCBBpUAgQaVAIEGlQCBCQ8AfQkPAH0JDwB9CQ8AfQkPAH0JDwB9BUb/yAVG/8gFRv/IBUb/yAVG/8gFRv/IBUb/yAVG/8gFRv/IBUb/yAVG/8gFRv/IBUb/yAVG/8gFRv95BUb/yAVG/8gFRv9oBLb/yAS2/8gEtv/IBLb/yAS2/8gEtv/IBLb/yAS2/8gEtv/IBLb/yAS2/8gEtv/IBLb/yAS2/8gEtv95BLb/yAS2/8gEtv9oBSgAbAUoAGwFKABsBSgAbAUoAGwFKABsAWj/lAFo/1oBaP/cAWj/2QFo/8YBaP9+AZX/twGV/4wBlf+3AZX/twGV/7cBlf+uBC4AYgQuAGIELgBiAx3/tAMd/7QDHf+0A7b/yQO2/8kDtv/JBOwAeQTsAHkE7AB5BOwAeQTsAHkE7AB5BOwAeQTsAHkE7AB5BN0AWQTdAFkE3QBZBN0AWQK//1ICv/9SAr//UgK//1ICv/9SAr//UgK//1ICv/9SAr//UgK//1ICv/9SAr//UgK//1ICv/9SAr//UgK//1IJdABiCXQAYgl0AGIJdABiCXQAYgWW/8kFlv/JBZb/yQWW/8kFlv/JBcj/xQXI/8UFyP/FBcj/xQXI/8UIogB2CKIAdgiiAHYIogB2CKIAdgiiAHYIogB2CKIAdgiiAHYIogB2CKIAdgSM/8wEjP/MBIz/zASM/8wEjP/MBIz/zASM/8wEjP/MBIz/zASM/8wEjP/MBI3/zQSN/80Ejf/NBI3/zQSN/80Ejf/NBI3/zQSN/80Ejf/NBI3/zQSN/80GBAB5BgQAeQYEAHkEi//OBIv/zgSL/84Eav+4BGr/uARq/7gCxP9fAsT/XwLE/18CxP9fAsT/XwLE/18CxP9fAsT/XwLE/18CxP9fA4z/8QLE/18CxP9fAsT/XwLE/18EsAB0BLAAdASwAHQEsAB0BLAAdASwAHQEsAB0BLAAdASwAHQEsAB0BLD/jQSwAHQEsABXBLAAdASwAHQEsAB0Agn/qwIJ/6sCCf+rAgn/qwIJ/6sCCf+rAdUAcwFq/6cBav+nAlP/pwH2/6cBav9eAiz/pwJW/6YCU/+nAlP/pwFq/6cCUv+nAWr/pwGn/6cBav+nAoj/pwJ8/6cBav+nAnj/pwFq/6cBav+nAWr/pwH2/6cCdP+nAfb/pwJ7/6cBav+nAnz/pwMa/6cCZ/+nAnT/pwKI/6cB3v+nAfr/pwFq/6cCfP+nAeH/pwFq/6cBav+nAWr/pwFq/6cB0/+nAmX/VAJl/1QCZf9UAmX/VAJl/1QCZf9UAmX/VAJl/1QCZf9UAmX/VAJl/1QCZf9UAmX/VAJl/1QCZf9UAmX/VAII/9UCCP/VAgj/1QII/9UCCP/VAgj/1QKQ/1ECkP9RApD/UQKQ/1ECkP9RApD/UQKQ/1ECkP9RApD/UQKQ/1EDWP/zApD/UQKQ/1ECkP9RApD/UQR6/2oEev9qBHr/agR6/2oEev9qBHr/agNp/5wDaf+cA2n/nANp/5wDaf+cA2n/nANp/5wDaf+cA2n/nANp/5wDaf+cA2n/nANp/5wDzwBlA88AZQPPAGUDzwBlA88AZQPPAGUDzwBlA88AZQPPAGUDzwBlA8//lgPPAGUDzwAbA88AZQPPAGUDzwBlAZ//TQGf/xMBn/+6AZ//ugGf/38Bn/89AuL/gwLi/4MC4v+DAuL/gwLi/4MC4v+DAIn/wQCJ/8EAif9xAIn/wQCJ/4IAif/BAIn/wQCJ/3YAif/BAIn/wQCJ/8EAif/BAIn/wQCJ/8EAif/BAIn/jgCJ/8ECtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywK0/8sCtP/LArT/ywHJAJ8Gy/+GBsv/hgbL/4YGy/+GBsv/hgGH/8QBh/+MAYf/xAGH/8QBh//EAYf/xAEg/18BIP9fASD/SwEg/18BIP9XASD/VQEg/sMBIP9VASD/XwEg/18BIP8eASD/XwEg/18BIP9fASD+kQEg/vkBIP9fASD/JwEg/18BIP9fASD/XwEg/18BIP8kASD/XwEg/xgBIP9fASD/GAEg/18BIP9fASD/JAEg/pEBIP9fASD/IwEg/18BIP8YASD/XwEg/18BIP9fASD/XwEg/18BIP9fAWT/ygFd/4MBXf8kAV3/KQFd/4MBXf5pAV3/gwFd/00BXf8pAV3/KQFd/zgBXf97AV3/gwFd/4MBXf8pAV3/fwFd/4MBXf94AV3/gwFd/zgBXf+DAV3/gwFd/4MBXf+DAV3/gwFd/zMBXf8zAV3/gwFd/4MBXf8pAV3/gwFd/38BXf+DAV3/gwFd/4MBXf+DAV3/KQFd/zgBXf+DAV3/gwFd/ykBXf8pA9oAVgPaAFYD2gBWA9oAVgPaAFYD2gBWA9oAVgPaAFYD2gBWA9oAVgPaAFYD2gBWA9oAVgPaAFYCfP9wAnz/cAJ8/3ACfP9wAnz/cAJ8/3ACfP8NAnz/cAJ8/3ACfP9wAnz/aAJ8/3ACfP9wAnz/cAJ8/z8CfP9DAnz/cAJ8/3ACfP9wAnz/cAJ8/3ACfP9wAnz/bgJ8/3ACfP9iAnz/cAJ8/2ICfP9wAnz/cAJ8/24CfP8/Anz/cAJ8/20CfP9wAnz/YgJ8/3ACfP9wAnz/cAJ8/3ACfP9wAnz/cAIU/7gArP/BAKz/wQCs/8EArP/BAKz/wQCs/8EArP/BAKz/wQCs/8EArP/BAKz/wQCs/8EArP/BAKz/wQCs/8EArP+aAKz/wQGh/8QBof+BAaH/hgGh/8QBof7GAaH/xAGh/zMBof+GAaH/hgGh/5UBof+OAaH/xAGh/8QBof+GAaH/ZQGh/0sBof+7AaH/eQGh/5UBof/EAaH/xAGh/8QBof92AaH/xAGh/2oBof+QAaH/agGh/8QBof+GAaH/dgGh/2UBof/EAaH/kwGh/8QBof9qAaH/hgGh/5UBof/EAaH/xAGh/4YBof+GAt3/vALd/7wC3f+8At3/vALd/7wC3f+8At3/OALd/7wC3f+8At3/vALd/5MC3f+8At3/vALd/7wC3f9qAt3/VQLd/7wC3f+DAt3/vALd/7wC3f+8At3/vALd/4AC3f+8At3/dALd/7wC3f90At3/vALd/7wC3f+AAt3/agLd/7wC3f+YAt3/vALd/3QC3f+8At3/vALd/7wC3f+8At3/vALd/7wDqQCBA6kAgQOpAIEDqQCBA6kAgQOpAIEDqQCBA6kAgQOpAIEDqQCBA6n/gAOpAIEDqQBTA6kAgQOpAIEDqQCBAZH/cgGR/zgBkf/GAZH/xgGR/6QBkf9JA8H//gPB//4Dwf/+A8H//gPB//4Dwf/+A8H//gPB//4Dwf/+A8H//gPB/8ADwf/+A8H//gPB//4Dwf/+A8H//gLL/YMCy/2DAsv9gwLL/YMCy/2DAsv9gwLL/YMCy/2DAsv9gwLL/YMCy/2DAsv9gwLL/YMCy/2DAsv9gwLL/YMCy/2DAsv9gwHB/80Bwf/HAcH/bAHB/6gBwf8MAcH/lAHB/uQBwf+UAcH/mgHB/80Bwf+jAcH/zQHB/80Bwf/MAcH/mAHB/4kBwf/NAcH/twHB/80Bwf/NAcH/zQHB/4ABwf+0AcH/qAHB/6gBwf/NAcH/qAHB/80Bwf+gAcH/tAHB/5gBwf+oAcH/RAHB/80Bwf+oAcH/qAHB/80Bwf/NAcH/zQHB/8wBwf+oAaz+1wGs/p0BrP9LAaz/SwGs/wkBrP6zAS//swJr/60Ca/+tAmv/rQJr/60Ca/+tAmv/rQK6AHwCugB8Awr/vAMJ/+kCuv/uArr/OwK6AHwCuv9BAroAGwK6/58Dxv/QA8b/cgPG/9ADxv/QA8b/0APG/8EAP/+BAD//gQA//4EAP/+BAD//gQA//4EAP/+BAD//gQA//4EAP/+BAD//gQA//4EAP/+BAD//gQA//4EAP/+BAD//gQEv/8sBWf+2AVn/vQFZ/70BWf+9AVn/HgFZ/70BWf+sAVn/vQFZ/70BWf+9AVn/vQFZ/70BWf+9AVn/vQFZ/70BWf+9AVn/jAFZ/70BWf+9AVn/vQFZ/70BWf+9AVn/vQFZ/70BWf+9AVn/vQFZ/70BWf+9AVn/vQFZ/70BWf+9AVn/vQFZ/70BWf+9AVn/vQFZ/70BWf+9AVn/vQFZ/70BWf+9AVn/vQNJ/7sDSf+7A0n/uwNJ/7sDSf+7A0n/uwNJ/7sCxv/aA8oAEgPKABIDygASA8oAEgPKABIDygASA8oAEgPKABIDygASA8oAEgPKABIDygASA8oAEgPKABIDygASA8oAEgSt/3UErf91BK3/dQSt/2cErf91BK3/cwSt/3UErf91BK3/dQSt/3MErf91BK3/SASt/3UAlf/BAJX/wQCV/8EAlf/BAJX/wQCV/8EAlf/BAJX/wQCV/8EAlf/BAJX/wQCV/8EAlf/BAJX/wQCV/8EAlf/BAJX/wQU6/+4FOv/uBTr/7gU6/+4FOv/uBTr/7gU6/+4FOv/uBTr/7gU6/+4FOv/uBTr/7gU6/+4FOv/uBTr/7gU6/+4FOv/uAjr/2AI6/9gCOv/YAjr/2AI6/9gCOv/YBNwAYgTcAGIE3ABiBNwAYgVg/4oFYP+KBWD/igVg/4oFYP+KBWD/igVg/4oFYP+KBWD/igVg/4oFYP+KBGf/rAF9/5IBK/+SAif/kgHN/5IBLP8fAgT/kgIu/34CE/+SAhP/kgEs/5ICKv+SAVT/kgG4/5IBK/+SAmD/kgI0/5IBe/+SAjH/kgEs/5IBfP+SAXv/kgHN/5ICLP+SAc3/kgI1/5IBK/+SAjT/kgLy/5ICJ/+SAiz/kgJg/5IBvf+SAdL/kgFU/5ICNP+SAaL/kgEs/5IBfP+SAVT/kgEr/5IBlP+SBIAAhQSAAIUEgACFBIAAhQSAAIUEgACFBIAAhQSAAIUEgACFA77+cgO+/rcDvv5yA77+twO+/rcDvv63A77+twO+/rcDvv63A77+twO+/n4Dvv63A77+twO+/rcDvv5+A77+fgO+/rcDvv5yAc4ATQHB/+ABwf/gAcH/sgHB/+ABwf9+AcH/vAHB/yoBwf+8AcH/4AHB/+ABwf+FAcH/4AHB/+ABwf/gAcH/XAHB/2ABwf/gAcH/jgHB/+ABwf/gAcH/4AHB/8YBwf+LAcH/4AHB/38Bwf/gAcH/fwHB/+ABwf/IAcH/iwHB/1wBwf/gAcH/igHB/+ABwf9/AcH/4AHB/+ABwf/gAcH/4AHB/+ABwf/gA/D/mwPw/5sD8P+bA/D/mwPw/5sD8P+bA/D/mwPw/5sD8P+bA/D/mwPw/5sCEv/CAhL/wgIS/8ICEv/CAhL/swIS/8ICEv/CAhL/wgIS/8ICEv/CAhL/wgIS/8ICEv/CAhL/wgIS/8ICEv/CAhL/wgIS/8ICEv/CAhL/wgIS/8ICEv/CAhL/wgIS/8ICEv/CAhL/wgIS/8ICEv/CAhL/wgIS/8ICEv/CAhL/wgIS/8ICEv/CAhL/wgIS/8ICEv/CAhL/wgIS/8ICEv/CAhL/wgJW/1QCVv9UAlb/VAJW/1QCVv9UAlb/VAJW/1QCVv9UAlb/VAJW/1QCVv9UAlb/VAJW/1QCVv9UAlb/VAJW/1QDGP42Axj+8AMY/jYDGP7wAxj+8AMY/vADGP7wAxj+8AMY/vADGP6kAxj+QgMY/vADGP7wAxj+8AMY/kIDGP5CAxj+pAMY/jYCNf7kAjX/UwI1/1MCNf9TAjX/UwI1/1MCNf9TAjX/UwI1/1MCNf9TAjX/UwI1/1MCNf9TAjX/UwI1/1MCNf9TAc3+/gHN/sQBzf9uAc3/bgHN/zABzf69Aez/sgHs/7ICj/3DAZD/IQGQ/yEBkP8hAZD/IQGQ/yEBkP8hAZD/IQGQ/yEBkP8hAZD/IQGQ/yEBkP8hAZD/IQGQ/yEBkP8hAZD/AgGQ/yECH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/82Ah//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwFk/8oFJ/+mBSf/pgUn/6YFJ/+mBSf/pgUn/6YFJ/+mBSf/pgUn/6YFJ/+mBSf/pgSW/kAElv7UBJb+QASW/tQElv7UBJb+1ASW/tQElv7UBJb+1ASW/q4Elv5MBJb+1ASW/tQElv7UBJb+TASW/kwElv6uBJb+QAIr/uQCK/9UAiv/VAIr/1QCK/9UAiv/VAIr/1QCK/9UAiv/VAIr/1QCK/9UAiv/VAIr/1QCK/9UAiv/VAIr/1QEXf/DBF3/wwRd/8MEXf/DBF3/wwRd/8MEXf/DA+j+gQPo/p0D6P6BA+j+nQPo/p0D6P6dA+j+nQPo/p0D6P6dA+j+nQPo/o0D6P6dA+j+nQPo/p0D6P6NA+j+jQPo/p0D6P6BA8YANQPGADUDxgA1A8YANQPGADUDxgA1A8YANQPGADUDxgA1A8YANQPG/2oDxgA1A8YANQPGADUDxgA1A8YANQI8/x4CPP7kAjz/mQI8/5kCPP9QAjz/BgJi/8kAdv/BAHb/wQB2/8EAdv/BAHb/wQB2/8EAdv/BAHb/wQB2/8EAdv/BAHb/wQB2/8EAdv/BAHb/wQB2/8EAdv/BAHb/wQH2/YUB9v2FAfb9hQH2/YUB9v2FAfb9hQOT/+oDkwCCA/X/uQP0/+YDk//sA5P/PwOTAIIDk/8JA5P+zwOT/5YB3f75Ad3+vwHd/4cB3f+HAd3/KwHd/4cB5f/OAeX/zgHl/84BSv+xAUr/0AFK/9ABSv/QAUr/GAFK/9ABSv91AUr/0AFK/9ABSv/QAUr/0AFK/9ABSv/QAUr/0AFK/6cBSv+1AUr/hwFK/9ABSv/QAUr/0AFK/9ABSv/QAUr/0AFK/9ABSv/QAUr/0AFK/9ABSv/QAUr/0AFK/9ABSv+nAUr/0AFK/9ABSv/QAUr/0AFK/9ABSv/QAUr/0AFK/9ABSv/QAUr/0AOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QA5z/kAOc/5ADnP+QAIj/wQCI/8EAiP+pAIj/wQCI/68AiP/BAIj/wQCI/6MAiP/BAIj/wQCI/8EAiP/BAIj/wQCI/8EAiP/BAIj/gACI/8EBvv9gAb7/YAG+/tIBvv8OAb7/YAG+/twBvv5KAb7+3AG+/wABvv9gAb7+pQG+/2ABvv9gAb7/YAG+/nwBvv6AAb7/YAG+/q4Bvv9gAb7/YAG+/2ABvv7mAb7+qwG+/w4Bvv6fAb7/YAG+/p8Bvv8JAb7+6AG+/qsBvv58Ab7/DgG+/qoBvv9gAb7+nwG+/w4Bvv9gAb7/YAG+/2ABvv9gAb7/DgFk/8oCI/+WAnj/lgK9/5YCMv+WAk3/PAJG/5YCkP+WAl7/lgJl/5YCWf+WAmz/lgH7/5YB+/+WAl7/lgLC/5YCjv+WAfv/lgKJ/5YCWf+WAhH/lgH7/5YCMv+WAob/lgIy/5YCjv+WAlT/lgKO/5YDNP+WAl7/lgKG/5YCwv+WAjL/lgI1/5YB+/+WAo7/lgJe/5YCWf+WAhH/lgH7/5YCXv+WAl7/lgYvAGgGLwBoBi8AaAYvAGgGLwBoBi8AaAYvAGgGLwBoBi8AaAYvAGgGLwBoBi8AaAYvAGgGLwBoBi8AaAYvAGgGLwBoBi8AaAYvAGgBTf/OAU3/twFN/7wBTf/OAU3+/AFN/84BTf9tAU3/vAFN/7wBTf/LAU3/yAFN/84BTf/OAU3/vAFN/58BTf+jAU3/zgFN/84BTf/LAU3/zgFN/84BTf/OAU3/zgFN/84BTf/CAU3/xgFN/8IBTf/OAU3/vAFN/84BTf+fAU3/zgFN/80BTf/OAU3/wgFN/7wBTf/LAU3/zgFN/84BTf+8AU3/vAF1/28Bdf9SAXX++gF1/zYBdf6XAXX/BAF1/nIBdf8EAXX/KAF1/2YBdf7NAXX/bwF1/28Bdf9XAXX+pAF1/qgBdf9vAXX+1gF1/2YBdf9vAXX/bwF1/w4Bdf7TAXX/NgF1/scBdf9hAXX+xwF1/zEBdf8QAXX+0wF1/qQBdf82AXX+0gF1/28Bdf7HAXX/NgF1/2YBdf9vAXX/bwF1/1cBdf82AWT/ygNK/doDSv3aA0r92gNK/doDSv3aA0r92gNK/doDSv3aA0r92gNK/doDSv3aA0r92gNK/doDSv3aA0r92gNK/doDSv3aA0r92gFv/8YBb//GAW//bAFv/6gBb/8WAW//lAFv/uQBb/+UAW//mgFv/8YBb/+jAW//xgFv/8YBb//GAW//mAFv/4kBb//GAW//twFv/8YBb//GAW//xgFv/4ABb/+0AW//qAFv/6gBb//GAW//qAFv/8YBb/+gAW//tAFv/5gBb/+oAW//RAFv/8YBb/+oAW//qAFv/8YBb//GAW//xgFv/8YBb/+oAb//zQG//6UBv/+qAb//zQG//uoBv//NAb//WwG//6oBv/+qAb//uQG//7YBv//NAb//zQG//6oBv/+NAb//kQG//8cBv/+/Ab//uQG//80Bv//NAb//zQG//7wBv//NAb//sAG//7QBv/+wAb//zQG//6oBv/+8Ab//jQG//80Bv/+7Ab//zQG//7ABv/+qAb//uQG//80Bv//NAb//qgG//6oEWABZBFgAWQRYAFkEWABZBFgAWQRYAFkEWABZBFgAWQRYAFkEo/+qBKP/qgSj/6oEo/+qBKP/qgSj/6oEo/+qBKP/qgSj/6oEo/+qBKP/qgSj/6oEo/+qBKP/qgSj/6oEo/+qBKP/qgJl/04CZf9OAmX/TgJl/04CZf9OAmX/TgJl/04CZf9OAmX/TgJl/04CZf9OAmX/TgJl/04CZf9OAmX/TgJl/04Evv9wBL7/cAG8/7oBvP+UAbz/ugG8/7oBvP+6Abz/ugJY/1ICWP9SAlj/UgJY/1ICWP9SAlj/UgJY/1ICWP9SAlj/UgJY/1ICWP9SAlj/UgJY/1ICWP9SAlj/UgJY/1IGeP9tBnj/bQZ4/20GeP9tBnj/bQBx/8EAcf/BAHH/wQBx/8EAcf/BAHH/wQBx/8EAcf/BAHH/wQBx/8EAcf/BAHH/wQBx/8EAcf/BAHH/wQBx/5gAcf/BAnb/vgJ2/74Cdv++Anb/vgJ2/74Cdv++Anb/egJ2/74Cdv++Anb/vgJ2/74Cdv++Anb/vgJ2/74Cdv+sAnb/uwJ2/74Cdv++Anb/vgJ2/74Cdv++Anb/vgJ2/74Cdv++Anb/vgJ2/74Cdv++Anb/vgJ2/74Cdv++Anb/rAJ2/74Cdv++Anb/vgJ2/74Cdv++Anb/vgJ2/74Cdv++Anb/vgJ2/74DYABwA2AAcANgAHADYABwA2AAcANgAHADYABwA2AAcANgAHADYABwA2D/qQNgAHADYABwA2AAcANgAHADYABwAcH/4AHB/+ABwf+yAcH/4AHB/34Bwf+8AcH/KgHB/7wBwf/gAcH/4AHB/4UBwf/gAcH/4AHB/+ABwf9cAcH/YAHB/+ABwf+OAcH/4AHB/+ABwf/gAcH/xgHB/4sBwf/gAcH/fwHB/+ABwf9/AcH/4AHB/8gBwf+LAcH/XAHB/+ABwf+8AcH/4AHB/38Bwf/gAcH/4AHB/+ABwf/gAcH/4AHB/+ACVv/NAlb/zQJW/80CVv/NAlb/zQJW/80CVv+xAlb/yQJW/80CVv/NAlb/zQRu/1AEbv9QBG7/UARu/1AEbv9QBG7/UARu/1AEbv9QBG7/UARu/1AEbv9QBG7/UARu/1AEbv9QBG7/UARu/1AF2ABwBdgAcAXYAHAF2ABwBdgAcAXYAHAF2ABwBdgAcAXYAHAF2ABwBdj/qQXYAHAF2ABwBdgAcAXYAHAF2ABwBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEWv/gBFr/4ARa/+AEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwLV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAa7/IQGu/yEBrv7DAa7/IQGu/tQBrv8hAa7/BAGu/sgBrv8hAa7/IQGu/yEBrv8hAa7/IQGu/yEBrv8hAa7+mgGu/yEA1QBhANUAYQDVAFQA1QBhANUAYQDVAGEA1QBhANUAWQDVAGEA1QBhANUAYQDVAGEA1QBhANUAYQDVAGEA1QArANUAYQPq/zoD6v86A+r/OgPq/zoD6v86A+r/OgMg/80DIP/NAyD/zQMg/80DIP/NAyD/zQMg/80E2v/7BNr/+wTa//sE2v/7BNr/+wTa//sE2v/7BNr/+wTa//sE2v/7BNr/+wTa//sE2v/7BNr/+wTa//sE2v/7BNr/+wRH/9MER//TBEf/0wRH/9MER//TBEf/0wRH/9MER//TBEf/0wRH/9MER//TBEf/0wRH/9MER//TBEf/0wRH/9MER//TAsL/ywLC/8sCwv/LAsL/ywLC/8sCwv/LAsL/rQLC/8UCwv/LAsL/ywLC/8sDDP+wAwz/sAMM/7ADDP+wAwz/sAMM/7ADDP+wAwz/sAMM/7ADDP+wAwz/sARE/6cERP+nBET/pwRE/6cERP+nBBb/uwQW/7sEFv+7BBb/uwQW/7sCGf/mAp//5gKF/5kBg//VAnT/ZAHJ/9UBwP8RAoX/1QKF/8cCgf/mAe//ngEv/+YB5//mAoX/5gHy/0MB//9/Aez/5gH7/60Cgf/mAgb/5gHe/+YBYf+tAff/qgFh/9UCe/+eAnv/5gH//54Ct//mAoX/4QH3/6oB8v9DAd7/1QFl/3EBL//mAf//ngKF/9UCgf/mAgb/5gEv/+YChf/mAoX/1QH0/8kB9P/JAfT/yQH0/8kB9P9gAfT/yQH0/3UB9P/JAfT/yQH0/8kB9P/JAfT/yQH0/8kB9P/JAfT/pwH0/6sB9P/JAfT/yQH0/8kB9P/JAfT/yQH0/8kB9P/JAfT/yQH0/8kB9P/JAfT/yQH0/8kB9P/JAfT/yQH0/6cB9P/JAfT/yQH0/8kB9P/JAfT/yQH0/8kB9P/JAfT/yQH0/8kB9P/JB7EAYgexAGIHsQBiB7EAYgexAGIHsQBiB7EAYgexAGIHsQBiB7EAYgexAGIEhgCfAoD/vwKo/78CqP+/AoD/vwMa/78CR/+/Akz/nQKo/78CqP+/Aqj/vwJJ/78CSf+/Akn/vwKo/78CgP+/AoD/vwJJ/78CgP+/Aqj/vwJJ/78CSf+/Akn/vwKA/78CSf+/Aqj/vwKo/78CgP+/AxH/vwKo/78CgP+/AoD/vwJJ/78CSf+/Akb/vwKA/78CqP+/Aqj/vwJJ/78CSf+/Aqj/vwKo/78Acf/BAHH/wQBx/18Acf/BAHH/ZQBx/8EAcf+gAHH/WQBx/8EAcf/BAHH/wQBx/8EAcf/BAHH/wQBx/8EAcf82AHH/wQBx/8EAcf/BAHH/SQBx/8EAcf9aAHH/wQBx/6gAcf9OAHH/wQBx/8EAcf/BAHH/wQBx/8EAcf/BAHH/wQBx/z4Acf/BAkT/vAS+/8AEvv/ABdr/qwXa/6sF2v+rBdr/qwXa/6sF2v+rBdr/qwXa/6sF2v+rBdr/qwXa/6sF2v+rBdr/qwXa/6sF2v+rBdr/qwXa/6sEXf/DBF3/wwRd/8MEXf/DBF3/wwRd/8MEXf/DARsAYQEbAGEBGwBhARsAYQEbAGEBGwBhARsAYQEbAGEBGwBhARsAYQEbAGEBGwBhARsAYQEbAGEBGwBhARsAYQEbAGEEe//fBWT+6AVk/fkFZP7oBWT99AVk/1wFZP9cBWT95gVk/eoFZP9cBWT/VgVk/vQFZP35BWT/XAVk/1wFZP70BWT+9AVk/1YFZP7oBLT/KQS0/z0EtP8pBLT/PQS0/z0EtP89BLT/PQS0/z0EtP89BLT/PQS0/zUEtP89BLT/PQS0/z0EtP81BLT/NQS0/z0EtP8pBqMAQAajAEAGowBABqMAQAajAEAGowBABqMAQAajAEAGowBABqMAQAajAEAGowBABqMAQAajAEAGowBABqMAQAajAEAGowBAAYn/dwGJ/3cBif93AYn/dwGJ/3cBif93Ai//UAIv/xYCL/9wAi//cAIv/3ACL/9wBDz/RwQ8/14EPP9HBDz/XgQ8/14EPP9eBDz/XgQ8/14EPP9eBDz/XgQ8/1MEPP9eBDz/XgQ8/14EPP9TBDz/UwQ8/14EPP9HATX/TwE1/xUBNf/GATX/xgE1/4EBNf8nAYb/wgGG/4gBhv/GAYb/xgGG/8YBhv+XAbv9VQG7/VUBu/1VAbv9VQG7/VUBu/1VBNEAbATRAGwE0QBsBNEAbATRAGwE0QBsAYEALQGBAC0CU//0AlMAIgIYACMCSf9uAYEALQGB/nABgf9QAfn/+gSw/xQEsP80BLD/FASw/zQEsP80BLD/NASw/zQEsP80BLD/NASw/zQEsP8gBLD/NASw/zQEsP80BLD/IASw/yAEsP80BLD/FARl/xQEZf9ABGX/FARl/0AEZf9ABGX/QARl/0AEZf9ABGX/QARl/0AEZf8gBGX/QARl/0AEZf9ABGX/IARl/yAEZf9ABGX/FABM/7UBhf+mAYX/ggGF/6YBhf+mAYX/pgGF/4UE+wDOBPsAzgT7AM4E+wDOBPsAzgT7AM4BYgARAWIAUQIm//UCJQAiAh4AQwIu/2gBYgBRAWL+agFi/vYB1P/6BWb+6gVm/1wFZv7qBWb/XAVm/1wFZv9cBWb/XAVm/1wFZv9cBWb/WAVm/vYFZv9cBWb/XAVm/1wFZv72BWb+9gVm/1gFZv7qA7b+iQO2/x8Dtv6JA7b/HwO2/x8Dtv8fA7b/HwO2/x8Dtv8fA7b+9wO2/pUDtv8fA7b/HwO2/x8Dtv6VA7b+lQO2/vcDtv6JArEAcgKxAK8CsQB0ArEAcgKx/7EDOwB0AzsAdAM7AHQDOwAMAzsAdAM7AHQDOwB0AzsADAM7AHQDOwAMAzsAdAM7AHQDOwB0AzsAdAEh/vkBIf6/ASH/hQEh/4UBIf8rASH/BQGA/z0BgP8DAYD/uwGA/7sBgP9vAYD/GgM8AHMDPACSAzwAZQM8AHMDPP+uA+gAcwPoAHMD6ABzA+gAcwPoAHMD6ABzA+gAcwPoAHMD6ABzA+gAcwPoAHMD6ABzA+gAcwPoAHMEhf4rBIX+twSF/isEhf63BIX+twSF/rcEhf63BIX+twSF/rcEhf6ZBIX+NwSF/rcEhf63BIX+twSF/jcEhf43BIX+mQSF/isEVv5IBFb+uQRW/kgEVv65BFb+uQRW/rkEVv65BFb+uQRW/rkEVv62BFb+VARW/rkEVv65BFb+uQRW/lQEVv5UBFb+tgRW/kgD7f9RA+3/UQPt/1ED7f9RA+3/UQPt/1ED7f9RAWj/FQFo/xUBaP8VAWj/DAFo/xUBaP8VAWj/FQFo/xUBaP8VAWj/FQFo/xUBaP7tAWj/FQQe/2kEHv9pBB7/aQQe/2kEHv9pBB7/aQQe/2kEHv9pBB7/aQQe/2kEHv9pBB7/aQQe/2kEHv9pBB7/aQQe/2kEHv9pA53/nQOd/50BvP+uBDX/ZQQ1/2UENf9lBDX/ZQQ1/2UENf9lBDX/ZQQ1/2UENf9lBDX/ZQQ1/2UFNP9jBTT/YwU0/2MFNP9jBTT/YwI//04BZP/KBAv+FgQL/m4EC/4WBAv+bgQL/m4EC/5uBAv+bgQL/m4EC/5uBAv+bgQL/iIEC/5uBAv+bgQL/m4EC/3SBAv+IgQL/m4EC/3GAhH/igIR/4oCEf+KAhH/igIR/4oCEf+KAhH/LQIR/4oCEf+KAhH/igIR/4gCEf+KAhH/igIR/4oCEf9fAhH/PAIR/4oCEf9qAhH/igIR/4oCEf+KAhH/igIR/2cCEf+KAhH/WwIR/4oCEf9bAhH/igIR/4oCEf9nAhH/XwIR/4oCEf+KAhH/igIR/1sCEf+KAhH/igIR/4oCEf+KAhH/igIR/4oE7/+4BO//uATv/7gE7/+4BO//uATv/7gE7/+4BO//uATv/7gE7/+4BO//uATv/7gE7/+4BO//uATv/7gE7/+4BO//uAMX/88DF//PAxf/zwHn/4wB5/+MAef/jAHn/wYB5/91Aef/EgHn/4wB5/+MAef/dQHn/xIB5/+MAef+5wHn/3UExf/IBMX/yATF/8gExf/IBMX/yATF/8gExf/IAfH/NwHx/v0B8f+UAfH/lAHx/2kB8f8XBGz/ygRs/8oDzwBlA88AZQPPAGUDzwBlA88AZQPPAGUDzwBlA88AZQPPAGUDzwBlA8//lgPPAGUDzwAbA88AZQPPAGUDzwBlBKX+EASl/rgEpf4QBKX+uASl/rgEpf64BKX+uASl/rgEpf64BKX+fgSl/hwEpf64BKX+uASl/rgEpf4cBKX+HASl/n4Epf4QAej/YgHo/ygB6P+GAej/hgHo/4YB6P9TAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40BoAAtANn/dQHj/6EB4/+hAeP/oQHj/6EB4/9uAeP/oQHj/3sB4/+hAeP/oQHj/6EB4/+hAeP/oQHj/6EB4/+hAeP/oQHj/6EB4/+hAeP/oQHj/6EB4/+hAeP/oQHj/6EB4/+hAeP/oQHj/6EB4/+hAeP/oQHj/6EB4/+hAeP/oQHj/6EB4/+hAeP/oQHj/6EB4/+hAeP/oQHj/6EB4/+hAeP/oQHj/6EB4/+hAGT/dQJH/3UBjgAbAY4ATgJd//UCXAAiAl0AQQJW/1QBjgBOAY7+VgGO/wAB/P/6AxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cCfv/AAn7/wAJ+/8ACfv/AAn7/mwJ+/8ACfv/AAn7/wAJ+/8ACfv/AAn7/wAJ+/8ACfv/AAn7/wAJ+/8ACfv/AAn7/wAJ+/8ACfv/AAn7/wAJ+/8ACfv/AAn7/wAJ+/8ACfv/AAn7/wAJ+/8ACfv/AAn7/wAJ+/8ACfv/AAn7/wAJ+/8ACfv/AAn7/wAJ+/8ACfv/AAn7/wAJ+/8ACfv/AAn7/wAEu/88BLv/PA7D/zwOw/88B//+rAf//qwH//6sB//+rAf//qwH//6sBRf+PAUX/VQFF/7sBRf+2AUX/uwFF/4ABxv/AAcb/kAHG/8ABxv/AAcb/wAHG/7cBxv1nAcb9ZwHG/WcBxv1nAcb9ZwHG/WcGxAB1BsQAdQbEAHUGxAB1BsQAdQbEAHUGxAB1BsQAdQbEAHUGxAB1BsQAdQbEAHUGxAB1BsQAdQbEAHUGxAB1BsQAdQbEAHUE9gBjBPYAYwT2AGME9gBjBPYAYwT2AGMBmf+UAZn/WgGZ/7QBmf+0AZn/tAGZ/3EBsP1nAbD9ZwGw/WcBsP1nAbD9ZwGw/WcBnf/AAZ3/kAGd/8ABnf/AAZ3/wAGd/6sGggBjBoIAYwaCAGMGggBjBoIAYwaCAGMGggBjBoIAYwaCAGMGggBjBoIAYwaCAGMGggBjBoIAYwaCAGMGggBjBoIAYwaCAGMEvQBjBL0AYwS9AGMEvQBjBL0AYwS9AGMCSP9QAkj/FgJI/3ACSP9wAkj/cAJI/3ABYv9PAWL/FQFi/8cBYv/HAWL/gQFi/zwBt//GAbf/kgG3/8YBt//GAbf/xgG3/5ICHv9QAh7/FgIe/3ACHv9wAh7/cAIe/3ABNP9PATT/FQE0/8cBNP/HATT/gQE0/0YBhv/GAYb/kgGG/8YBhv/GAYb/xgGG/5YA5/9hAOf/YQDn/2EA5/9hAOf/YQDn/2EA5/9hAOf/YQDn/2EA5/9hAOf/YQDn/2EA5/9hAOf/YQDn/2EA5/9hAOf/YQCP/6sAj/+rAI//XQCP/6YAj/9jAI//qwCP/54Aj/9XAI//qwCP/6sAj/+rAI//qwCP/6sAj/+rAI//qwCP/zQAj/+rDRL/vAz4/7YPQQB2Ab4AVAG+/zkBhv+nAYb/uwGG/7sBhv/FAYb/xQGG/6wBhv+sAYb/tgGG/6wBhv+sAYb/rAGG/6wBhv+sAYb/uQGG/uwBhv+tAYb/tgGG/4wBhv+sAYb/xQGG/7sBhv/FAWr/pwFq/6cBav+nAWr/pwFq/6cBav+nAWr/pwFq/6cBav+nAWr/pwFq/6cBav+nAWr/pwFq/6cBav8OAWr/pwFq/6cBav+nAWr/pwFq/6cBav+nAWr/pwFd/1YBXf9qAV3/agFd/4MBXf+DAV3/WwFd/1sBXf+DAV3/WwFd/1sBXf9bAV3/WwFd/1sBXf+DAV3+mwFd/2UBXf9lAV3/eAFd/1sBXf+DAV3/agFd/4MCfP9wAnz/cAJ8/3ACfP9wAnz/cAJ8/3ACfP9wAnz/cAJ8/3ACfP9wAnz/cAJ8/3ACfP9wAnz/bgJ8/3ACfP9iAnz/cAJ8/3ACfP9wAnz/cAJ8/3ACfP9wAaH/gQGh/5UBof+VAaH/xAGh/8QBof+GAaH/hgGh/8QBof+GAaH/hgGh/4YBof+GAaH/hgGh/3YBof7GAaH/agGh/5ABof+7AaH/hgGh/8QBof+VAaH/xAFq/5IBav+SAWr/kgFq/5IBav+SAWr/kgFq/5IBav+SAWr/kgFq/5IBav+SAWr/kgFq/5IBav+SAWr/HwFq/5IBav+SAWr/kgFq/5IBav+SAWr/kgFq/5IBwf/gAcH/4AHB/+ABwf/gAcH/4AHB/+ABwf/IAcH/4AHB/7IBwf/gAcH/4AHB/+ABwf+8AcH/iwHB/34Bwf9/AcH/4AHB/+ABwf/gAcH/4AHB/+ABwf/gAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwIf/1sCH/9bAh//WwFK/9ABSv/QAUr/0AFK/9ABSv/QAUr/0AFK/9ABSv+wAUr/0AFK/9ABSv/QAUr/0AFK/9ABSv/QAUr/GQFK/9ABSv/QAUr/hgFK/9ABSv/QAUr/0AFK/9AB+v+WAfr/lgH6/5YB+v+WAfr/lgH6/5YB+v+WAfr/lgH6/5YB+v+WAfr/lgH6/5YB+v+WAfr/lgH6/zIB+v+WAfr/lgH6/5YB+v+WAfr/lgH6/5YB+v+WAU3/twFN/8sBTf/LAU3/zgFN/84BTf+8AU3/vAFN/84BTf+8AU3/vAFN/7wBTf+8AU3/vAFN/84BTf78AU3/wgFN/8YBTf/OAU3/vAFN/84BTf/LAU3/zgHB/+ABwf/gAcH/4AHB/+ABwf/gAcH/4AHB/98Bwf/gAcH/yQHB/+ABwf/gAcH/4AHB/9MBwf+iAcH/UgHB/5YBwf/gAcH/4AHB/+ABwf/gAcH/4AHB/+AEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DBLT/wwS0/8MEtP/DAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sALV/bAC1f2wAtX9sAEu/+YBLv/mAS7/5gEu/+YBLv/mAS7/1QEu/+EBLv/mAS7/mQEu/8cBLv/mAS7/5gEu/9UBLv+qAS7/ZAEu/54BLv/mAS7/5gEu/9UBLv/VAS7/5gEu/+YCSf+/Akn/vwJJ/78CSf+/Akn/vwJJ/78CSf+/Akn/vwJJ/78CSf+/Akn/vwJJ/78CSf+/Akn/vwJJ/5cCSf+/Akn/vwJJ/78CSf+/Akn/vwJJ/78CSf+/AhH/igIR/4oCEf+KAhH/igIR/4oCEf+KAhH/igIR/4oCEf+KAhH/igIR/4oCEf+KAhH/igIR/2cCEf+KAhH/WwIR/4oCEf+KAhH/igIR/4oCEf+KAhH/igMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DIf+NAyH/jQMh/40DE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAxP/xwMT/8cDE//HAfn/pwFd/4MCfP9wAaH/xAFq/5IBwf/gAh//WwFK/9AB+v+WAU3/zgHa/+AEtP/DAtX9sAEu/+YCSf+/AhH/igMh/40DE//HAwz/8QMM//EDDP/xAwz/8QGqAF8CWP+6Alj/ugAA/5cCWP+6AlgAwAJYAL4CWABIAlgAEgJYAG0CWABbAlgANAJYACECWAAiAlgAVgJYAMACWAC+AlgASAJYABICWABGAlgALQJYABQCWAAhAlgAIgJYAFYCWAArAlgANAJYADcAAP9KAAD++wAAAZoCWP+6Alj/ugQIADgFSgO5Ar//3QPDAI4D+wCOA/sAjgPeAI4BfP+7Bk0AgQK8/7sF3P+6CcT/yASM/8wEjP/MBIz/zASM/8wEjP/MBIz/zASM/8wEjP/MBIz/zASM/8wEjP/MBZb/yQWW/8kFlv/JBZb/yQWW/8kJRwB7BJIAewNrAHsF3P/TBdz/zwSSAHsDawB7BJIAewNrAHsEkgB7A2sAewXc/9MF3P/TBdz/0wXc/9MF3P/TBdz/0wXc/9MF3P/TBdz/0wXc/9MF3P/TBdz/zwXc/88F3P/PBdz/zwXc/88C8wB7AwIAUAZU/vUGVP5OAfT/+AZU/04GVP2BBlT9KQZU/YEGVP0pBlT9gQZU/YEGVP2BBlT9gQZU/YEGVP2BBlT9gQZU/TUGVP2BBlT9gQZU/YEGVPzvBlT9NQZU/YEGVPzjBlT+9QZU/vUGVP4RBlT+TQZU/vUGVP4bBlT9iQZU/hsGVP4/BlT+9QZU/eQGVP71BlT+9QZU/vUGVP27BlT9vwZU/vUGVP3tBlT+9QZU/vUGVP71BlT+JQZU/eoGVP5NBlT93gZU/vUGVP3eBlT+rAZU/icGVP3qBlT9uwZU/k0GVP3pBlT+9QZU/d4GVP5NBlT+9QZU/vUGVP71BlT+9QZU/k0C8//CAvP/8ALzAHsGVP7TBlT+mQZU/04GVP9OBlT/BQZU/rMGVP5OBlT+TgZU/k4GVP3IBlT+NwZU/dQGVP5OBlT+TgZU/jcGVP3UBlT+TgZU/akGVP43AQUAfAhD/7MIQ/+eCEP/tQEF/8IBBf/wAQUAfAhD/7UIQ/+1CEP/tQhD/7MIQ/+zCEP/swhD/7MIQ/+zCEP/swhD/7MIQ/+zCEP/swhD/7MIQ/+zCEP/swhD/7MIQ/+zCEP/swhD/7MIQ/+zCEP/nghD/54IQ/+eCEP/nghD/54IQ/+eCEP/nghD/7gIQ/+4CEP/uAhD/7IIQ/+yCEP/sghD/7IE3gA3A57/sgOe/7IELgAqBC4AKgMg/8IDIP/CBC4AKgOC/9ADgv/QA4L/0AYK/9AGCv/QAAD/DQOEATIDhAEwA4QAkgOEAEoDhADEA4QAqwOEAHgDhABeA4QAYAOEAKUDhAEyA4QBMAOEAJIDhABKA4QAjwOEAG4DhABNA4QAXgOEAGADhAClA4QAbAOEAHgDhAB7CEP/uAhD/7gHEgBoAYb/xQH0/88Bav+nArT/ywEg/18BXf9sAnz/cAGh/68C3f+8AcH/zQFZ/4ABav+SAcH/4AIS/8ICH/9bAUr/ewOc/5ABvv9gAfr/lgYvAGgBTf/NAXX/aAFv/8YBv/+7Anb/vgHB/+AEWv/gBLT/wwLV/bABLv/mAfT/yQJJ/78CEf+KAyH/jQHj/6EDE//HAn7/wAGG/8UBav+nAV3/bAJ8/3ABof+vAWr/kgHB/+ACH/9bAUr/egH6/5YBTf/NAcH/4AS0/8MC1f2wAS7/5gJJ/78CEf+KAyH/jQMT/8cGVP71D4AAPALlAL4DSQC9A7AAXARjAFwDUwCQA/QAlAPyAF4EOQBgBDkAYwOBAF0C5QC+A0kAvQOwAFwEYwBcA7YAXAPKAD4D+wArBDkAYAQ5AGMDgQBdA94ARAPyAF4D2QBVA30ARANm//oB3v/CAd7/wgHe/7MB3v+4Ad7/wgHe/vgB3v/CAd7/lwHe/7gB3v+4Ad7/wgHe/8EB3v/CAd7/wgHe/7gB3v+XAd7/iQHe/8IB3v+3Ad7/wgHe/8IB3v/CAd7/wgHe/7QB3v/CAd7/qAHe/8IB3v+oAd7/wgHe/7gB3v+0Ad7/lwHe/8IB3v/CAd7/wgHe/6gB3v+4Ad7/wgHe/8IB3v/CAd7/uAHe/7gB3v+zAd7/wgHe/8IB3v/CAd7/wgHe/7gB3v+4Ad7/wgHe/7gB3v+4Ad7/uAHe/7gB3v+4Ad7/tAHe/vgB3v+oAd7/wgHe/8IB3v+4Ad7/wgHe/8IB3v/CBUMAfwaVAIEFQwB/BpUAgQVDAH8GlQCBBUMAfwaVAIEFQwB/BpUAgQVDAH8GlQCBBUMAfwaVAIEFQwB/BpUAgQVDAH8GlQCBBUMAfwaVAIEFQwB/BpUAgQVDAH8GlQCBCZ8AfQkPAH0L/AA8DPoAPAC+/7YBpAC/AaT/6AGk/6cBpP+KAaT/xgGk/uwBpP+UAaT/AgGk/5QBpP+sAaT/uwGk/10BpAC/AaT/uAGk/6wBpP80AaT/JQGk/1oBpP9TAaT/uwGk/6gBpP+oAaT/ngGk/1ABpP/GAaT/RAGk/7YBpP9EAaT/XQGk/6ABpP9QAaT/NAGk/6gBpP9iAaQAvwGk/0QBpP+sAaT/uwGk/6gBpAC/AaT/rAGk/6wCgAB7AoAAewKAAHsBpP9OBSP/wgUj/8IFI//CBSP/wgUj/38FI//CBSP/wgUj/8IFI//CBSP/wgUj/8IFI//CBSP/wgUj/8IFI//CBSP/wgUj/8IFI//CBSP/wgUj/8IFI//CBSP/wgUj/8IFI//CBSP/wgUj/8IFI//CBSP/wgUj/8IFI//CBSP/wgUj/8IFI//CBSP/wgUj/8IFI//CBSP/wgUj/8IFI//CBSP/wgUj/8IFI//CBT//0wU//9MFP//TBT//0wU//9MFP//TBT//0wU//9MFP//TBT//0wHe/8IB3v/CAd7/wgAAAaAAAP9nAAD/SAAA/0oCWAADAlgAbgJYACUCWAA2AlgAHAJYADICWAAqAlgAGAJYAEgCWAAwAYb/sgGG/74B9P/PAfT/zwJn/6cCZ/+nArT/ywK0/8sBIP8YASD/JAFd/ykBXf8pAnz/YgJ8/24Bof9qAaH/dgLd/3QC3f+AAcH/qAHB/7QBWf+9AVn/vQIn/5ICJ/+SAcH/fwHB/4sCEv/CAhL/wgIf/1sCH/9bAUr/0AFK/9ADnP+QA5z/kAG+/p8Bvv6rAl7/lgJe/5YBTf+8AU3/vAF1/scBdf7TAW//qAFv/7QBv/+qAb//qgJ2/74Cdv++AcH/fwHB/4sEWv/gBFr/4AS0/8MEtP/DAtX9sALV/bAChf+eAoX/qgH0/8kB9P/JAqj/vwKo/78CEf9bAhH/ZwMh/40DIf+NAeP/oQHj/6EDE//HAxP/xwJ+/8ACfv/AAYb/rAGG/6wBav+nAWr/pwFd/1sBXf9bAnz/YgJ8/24Bof9qAaH/dgFq/5IBav+SAcH/fwHB/4sCH/9bAh//WwFK/9ABSv/QAfr/lgH6/5YBTf+8AU3/vAHB/38Bwf+LBLT/wwS0/8MC1f2wAtX9sAEu/54BLv+qAkn/vwJJ/78CEf9bAhH/ZwMh/40DIf+NAxP/xwMT/8cGVP3eBlT96gHe/6gB3v+0Ad7/qAHe/7QBpP9EAaT/UAUj/8IFI//CA9QAYgZkADYIkAA2Bk4ANgh6ADYGWAA4CIgANgQEADgGNAA2AhgAOAAA/T4AAP1EAAD9HAAA/VAAAPz6AAD89gAA/SgDrgEmAmgALgKqADoCDAAs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ADAALgAxADAAOQAgAEEAbQBpAHIAaQAtAFIAZQBnAHUAbABhAHIASwBoAGEAbABlAGQAIABIAG8AcwBuAHkAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAbQBpAHIAaQBmAG8AbgB0AC4AbwByAGcAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGsAaABhAGwAZQBkAGgAbwBzAG4AeQAuAG8AcgBnAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4AIABUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAG8AbgAgAGEAbgAgACIAQQBTACAASQBTACIAIABCAEEAUwBJAFMALAAgAFcASQBUAEgATwBVAFQAIABXAEEAUgBSAEEATgBUAEkARQBTACAATwBSACAAQwBPAE4ARABJAFQASQBPAE4AUwAgAE8ARgAgAEEATgBZACAASwBJAE4ARAAsACAAZQBpAHQAaABlAHIAIABlAHgAcAByAGUAcwBzACAAbwByACAAaQBtAHAAbABpAGUAZAAuACAAUwBlAGUAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACAAZgBvAHIAIAB0AGgAZQAgAHMAcABlAGMAaQBmAGkAYwAgAGwAYQBuAGcAdQBhAGcAZQAsACAAcABlAHIAbQBpAHMAcwBpAG8AbgBzACAAYQBuAGQAIABsAGkAbQBpAHQAYQB0AGkAbwBuAHMAIABnAG8AdgBlAHIAbgBpAG4AZwAgAHkAbwB1AHIAIAB1AHMAZQAgAG8AZgAgAHQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlAC4AaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAIAAAAAAAD7gQBmAAAAAAAAAAAAAAAAAAAAAAAAAAAaEAAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBAgCKANoAgwCTAQMBBACNAJcAiADDAN4BBQCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6AQYBBwEIAQkBCgELAP0A/gEMAQ0BDgEPAP8BAAEQAREBEgEBARMBFAEVARYBFwEYARkBGgEbARwBHQEeAPgA+QEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAPoA1wEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQDiAOMBPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwAsACxAU0BTgFPAVABUQFSAVMBVAFVAVYA+wD8AOQA5QFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsALsBbQFuAW8BcADmAOcBcQFyAXMBdAF1AXYBdwF4AOEA2wDcAOAA3wF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInAigCKQIqAisCLAItAi4CLwIwAjECMgIzAjQCNQI2AjcCOAI5AjoCOwI8Aj0CPgI/AkACQQJCAkMCRAJFAkYCRwJIAkkCSgJLAkwCTQJOAk8CUAJRAlICUwJUAlUCVgJXAlgCWQJaAlsCXAJdAl4CXwJgAmECYgJjAmQCZQJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoICgwKEAoUChgKHAogCiQKKAosCjAKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0QLSAtMC1ALVAtYC1wLYAtkC2gLbAtwC3QLeAt8C4ALhAuIC4wLkAuUC5gLnAugC6QLqAusC7ALtAu4C7wLwAvEC8gLzAvQC9QL2AvcC+AL5AvoC+wL8Av0C/gL/AwADAQMCAwMDBAMFAwYDBwMIAwkDCgMLAwwDDQMOAw8DEAMRAxIDEwMUALIAswMVALYAtwDEAxYAtAC1AMUDFwCCAMIAhwMYAKsDGQMaAxsDHAMdAx4DHwMgAMYDIQMiAyMAvgC/AyQDJQC8AyYA7wMnAKUDKAMpAyoDKwMsAy0DLgMvAzADMQMyAzMDNAM1AzYDNwM4AzkDOgM7AzwDPQM+Az8DQANBA0IDQwNEA0UDRgNHA0gDSQNKA0sDTANNA04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwN0A3UDdgN3A3gDeQN6A3sDfAN9A34DfwOAA4EDggODA4QDhQOGA4cDiAOJA4oDiwOMA40DjgOPA5ADkQOSA5MDlAOVA5YDlwOYA5kDmgObA5wDnQOeA58DoAOhA6IDowOkA6UDpgOnA6gDqQOqA6sDrAOtA64DrwOwA7EDsgOzA7QDtQO2A7cDuAO5A7oDuwO8A70DvgO/A8ADwQPCA8MDxAPFA8YDxwPIA8kDygPLA8wDzQPOA88D0APRA9ID0wPUA9UD1gPXA9gD2QPaA9sD3APdA94D3wPgA+ED4gPjA+QD5QPmA+cD6APpA+oD6wPsA+0D7gPvA/AD8QPyA/MD9AP1A/YD9wP4A/kD+gP7A/wD/QP+A/8EAAQBBAIEAwQEBAUEBgQHBAgECQQKBAsEDAQNBA4EDwQQBBEEEgQTBBQEFQQWBBcEGAQZBBoEGwQcBB0EHgQfBCAEIQQiBCMEJAQlBCYEJwQoBCkEKgQrBCwELQQuBC8EMAQxBDIEMwQ0BDUENgQ3BDgEOQQ6BDsEPAQ9BD4EPwRABEEEQgRDBEQERQRGBEcESARJBEoESwRMBE0ETgRPBFAEUQRSBFMEVARVBFYEVwRYBFkEWgRbBFwEXQReBF8EYARhBGIEYwRkBGUEZgRnBGgEaQRqBGsEbARtBG4EbwRwBHEEcgRzBHQEdQR2BHcEeAR5BHoEewR8BH0EfgR/BIAEgQSCBIMEhASFBIYEhwSIBIkEigSLBIwEjQSOBI8EkASRBJIEkwSUBJUElgSXBJgEmQSaBJsEnASdBJ4EnwSgBKEEogSjBKQEpQSmBKcEqASpBKoEqwSsBK0ErgSvBLAEsQSyBLMEtAS1BLYEtwS4BLkEugS7BLwEvQS+BL8EwATBBMIEwwTEBMUExgTHBMgEyQTKBMsEzATNBM4EzwTQBNEE0gTTBNQE1QTWBNcE2ATZBNoE2wTcBN0E3gTfBOAE4QTiBOME5ATlBOYE5wToBOkE6gTrBOwE7QTuBO8E8ATxBPIE8wT0BPUE9gT3BPgE+QT6BPsE/AT9BP4E/wUABQEFAgUDBQQFBQUGBQcFCAUJBQoFCwUMBQ0FDgUPBRAFEQUSBRMFFAUVBRYFFwUYBRkFGgUbBRwFHQUeBR8FIAUhBSIFIwUkBSUFJgUnBSgFKQUqBSsFLAUtBS4FLwUwBTEFMgUzBTQFNQU2BTcFOAU5BToFOwU8BT0FPgU/BUAFQQVCBUMFRAVFBUYFRwVIBUkFSgVLBUwFTQVOBU8FUAVRBVIFUwVUBVUFVgVXBVgFWQVaBVsFXAVdBV4FXwVgBWEFYgVjBWQFZQVmBWcFaAVpBWoFawVsBW0FbgVvBXAFcQVyBXMFdAV1BXYFdwV4BXkFegV7BXwFfQV+BX8FgAWBBYIFgwWEBYUFhgWHBYgFiQWKBYsFjAWNBY4FjwWQBZEFkgWTBZQFlQWWBZcFmAWZBZoFmwWcBZ0FngWfBaAFoQWiBaMFpAWlBaYFpwWoBakFqgWrBawFrQWuBa8FsAWxBbIFswW0BbUFtgW3BbgFuQW6BbsFvAW9Bb4FvwXABcEFwgXDBcQFxQXGBccFyAXJBcoFywXMBc0FzgXPBdAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBd8F4AXhBeIF4wXkBeUF5gXnBegF6QXqBesF7AXtBe4F7wXwBfEF8gXzBfQF9QX2BfcF+AX5BfoF+wX8Bf0F/gX/BgAGAQYCBgMGBAYFBgYGBwYIBgkGCgYLBgwGDQYOBg8GEAYRBhIGEwYUBhUGFgYXBhgGGQYaBhsGHAYdBh4GHwYgBiEGIgYjBiQGJQYmBicGKAYpBioGKwYsBi0GLgYvBjAGMQYyBjMGNAY1BjYGNwY4BjkGOgY7BjwGPQY+Bj8GQAZBBkIGQwZEBkUGRgZHBkgGSQZKBksGTAZNBk4GTwZQBlEGUgZTBlQGVQZWBlcGWAZZBloGWwZcBl0GXgZfBmAGYQZiBmMGZAZlBmYGZwZoBmkGagZrBmwGbQZuBm8GcAZxBnIGcwZ0BnUGdgZ3BngGeQZ6BnsGfAZ9Bn4GfwaABoEGggaDBoQGhQaGBocGiAaJBooGiwaMBo0GjgaPBpAGkQaSBpMGlAaVBpYGlwaYBpkGmgabBpwGnQaeBp8GoAahBqIGowakBqUGpganBqgGqQaqBqsGrAatBq4GrwawBrEGsgazBrQGtQa2BrcGuAa5BroGuwa8Br0Gvga/BsAGwQbCBsMGxAbFBsYGxwbIBskGygbLBswGzQbOBs8G0AbRBtIG0wbUBtUG1gbXBtgG2QbaBtsG3AbdBt4G3wbgBuEG4gbjBuQG5QbmBucG6AbpBuoG6wbsBu0G7gbvBvAG8QbyBvMG9Ab1BvYG9wb4BvkG+gb7BvwG/Qb+Bv8HAAcBBwIHAwcEBwUHBgcHBwgHCQcKBwsHDAcNBw4HDwcQBxEHEgcTBxQHFQcWBxcHGAcZBxoHGwccBx0HHgcfByAHIQciByMHJAclByYHJwcoBykHKgcrBywHLQcuBy8HMAcxBzIHMwc0BzUHNgc3BzgHOQc6BzsHPAc9Bz4HPwdAB0EHQgdDB0QHRQdGB0cHSAdJB0oHSwdMB00HTgdPB1AHUQdSB1MHVAdVB1YHVwdYB1kHWgdbB1wHXQdeB18HYAdhB2IHYwdkB2UHZgdnB2gHaQdqB2sHbAdtB24HbwdwB3EHcgdzB3QHdQd2B3cHeAd5B3oHewd8B30Hfgd/B4AHgQeCB4MHhAeFB4YHhweIB4kHigeLB4wHjQeOB48HkAeRB5IHkweUB5UHlgeXB5gHmQeaB5sHnAedB54HnwegB6EHogejB6QHpQemB6cHqAepB6oHqwesB60HrgevB7AHsQeyB7MHtAe1B7YHtwe4B7kHuge7B7wHvQe+B78HwAfBB8IHwwfEB8UHxgfHB8gHyQfKB8sHzAfNB84HzwfQB9EH0gfTB9QH1QfWB9cH2AfZB9oH2wfcB90H3gffB+AH4QfiB+MH5AflB+YH5wfoB+kH6gfrB+wH7QfuB+8H8AfxB/IH8wf0B/UH9gf3B/gH+Qf6B/sH/Af9B/4H/wgACAEIAggDCAQIBQgGCAcICAgJCAoICwgMCA0IDggPCBAIEQgSCBMIFAgVCBYIFwgYCBkIGggbCBwIHQgeCB8IIAghCCIIIwgkCCUIJggnCCgIKQgqCCsILAgtCC4ILwgwCDEIMggzCDQINQg2CDcIOAg5CDoIOwg8CD0IPgg/CEAIQQhCCEMIRAhFCEYIRwhICEkISghLCEwITQhOCE8IUAhRCFIIUwhUCFUIVghXCFgIWQhaCFsIXAhdCF4IXwhgCGEIYghjCGQIZQhmCGcIaAhpCGoIawhsCG0IbghvCHAIcQhyCHMIdAh1CHYIdwh4CHkIegh7CHwIfQh+CH8IgAiBCIIIgwiECIUIhgiHCIgIiQiKCIsIjAiNCI4IjwiQCJEIkgiTCJQIlQiWCJcImAiZCJoImwicCJ0IngifCKAIoQiiCKMIpAilCKYIpwioCKkIqgirCKwIrQiuCK8IsAixCLIIswi0CLUItgi3CLgIuQi6CLsIvAi9CL4IvwjACMEIwgjDCMQIxQjGCMcIyAjJCMoIywjMCM0IzgjPCNAI0QjSCNMI1AjVCNYI1wjYCNkI2gjbCNwI3QjeCN8I4AjhCOII4wjkCOUI5gjnCOgI6QjqCOsI7AjtCO4I7wjwCPEI8gjzCPQI9Qj2CPcI+Aj5CPoI+wj8CP0I/gj/CQAJAQkCCQMJBAkFCQYJBwkICQkJCgkLCQwJDQkOCQ8JEAkRCRIJEwkUCRUJFgkXCRgJGQkaCRsJHAkdCR4JHwkgCSEJIgkjCSQJJQkmCScJKAkpCSoJKwksCS0JLgkvCTAJMQkyCTMJNAk1CTYJNwk4CTkJOgk7CTwJPQk+CT8JQAlBCUIJQwlECUUJRglHCUgJSQlKCUsJTAlNCU4JTwlQCVEJUglTCVQJVQlWCVcJWAlZCVoJWwlcCV0JXglfCWAJYQliCWMJZAllCWYJZwloCWkJaglrCWwJbQluCW8JcAlxCXIJcwl0CXUJdgl3CXgJeQl6CXsJfAl9CX4JfwmACYEJggmDCYQJhQmGCYcJiAmJCYoJiwmMCY0JjgmPCZAJkQmSCZMJlAmVCZYJlwmYCZkJmgmbCZwJnQmeCZ8JoAmhCaIJowmkCaUJpgmnCagJqQmqCasJrAmtCa4JrwmwCbEJsgmzCbQJtQm2CbcJuAm5CboJuwm8Cb0Jvgm/CcAJwQnCCcMJxAnFCcYJxwnICckJygnLCcwJzQnOCc8J0AnRCdIJ0wnUCdUJ1gnXCdgJ2QnaCdsJ3AndCd4J3wngCeEJ4gnjCeQJ5QnmCecJ6AnpCeoJ6wnsCe0J7gnvCfAJ8QnyCfMJ9An1CfYJ9wn4CfkJ+gn7CfwJ/Qn+Cf8KAAoBCgIKAwoECgUKBgoHCggKCQoKCgsKDAoNCg4KDwoQChEKEgoTChQKFQoWChcKGAoZChoKGwocCh0KHgofCiAKIQoiCiMKJAolCiYKJwooCikKKgorCiwKLQouCi8KMAoxCjIKMwo0CjUKNgo3CjgKOQo6CjsKPAo9Cj4KPwpACkEKQgpDCkQKRQpGCkcKSApJCkoKSwpMCk0KTgpPClAKUQpSClMKVApVClYKVwpYClkKWgpbClwKXQpeCl8KYAphCmIKYwpkCmUKZgpnCmgKaQpqCmsKbAptCm4KbwpwCnEKcgpzCnQKdQp2CncKeAp5CnoKewp8Cn0Kfgp/CoAKgQqCCoMKhAqFCoYKhwqICokKigqLCowKjQqOCo8KkAqRCpIKkwqUCpUKlgqXCpgKmQqaCpsKnAqdCp4KnwqgCqEKogqjCqQKpQqmCqcKqAqpCqoKqwqsCq0KrgqvCrAKsQqyCrMKtAq1CrYKtwq4CrkKugq7CrwKvQq+Cr8KwArBCsIKwwrECsUKxgrHCsgKyQrKCssKzArNCs4KzwrQCtEK0grTCtQK1QrWCtcK2ArZCtoK2wrcCt0K3grfCuAK4QriCuMK5ArlCuYK5wroCukK6grrCuwK7QruCu8K8ArxCvIK8wr0CvUK9gr3CvgK+Qr6CvsK/Ar9Cv4K/wsACwELAgsDCwQLBQsGCwcLCAsJCwoLCwsMCw0LDgsPCxALEQsSCxMLFAsVCxYLFwsYCxkLGgsbCxwLHQseCx8LIAshCyILIwskCyULJgsnCygLKQsqCysLLAstCy4LLwswCzELMgszCzQLNQs2CzcLOAs5CzoLOws8Cz0LPgs/C0ALQQtCC0MLRAtFC0YLRwtIC0kLSgtLC0wLTQtOC08LUAtRC1ILUwtUC1ULVgtXC1gLWQtaC1sLXAtdC14LXwtgC2ELYgtjC2QLZQtmC2cLaAtpC2oLawtsC20LbgtvC3ALcQtyC3MLdAt1C3YLdwt4C3kLegt7C3wLfQt+C38LgAuBC4ILgwuEC4ULhguHC4gLiQuKC4sLjAuNC44LjwuQC5ELkguTC5QLlQuWC5cLmAuZC5oLmwucC50LngufC6ALoQuiC6MLpAulC6YLpwuoC6kLqgurC6wLrQuuC68LsAuxC7ILswu0C7ULtgu3C7gLuQu6C7sLvAu9C74LvwvAC8ELwgvDC8QLxQvGC8cLyAvJC8oLywvMC80LzgvPC9AL0QvSC9ML1AvVC9YL1wvYC9kL2gvbC9wL3QveC98L4AvhC+IL4wvkC+UL5gvnC+gL6QvqC+sL7AvtC+4L7wvwC/EL8gvzC/QL9Qv2C/cL+Av5C/oL+wv8C/0L/gv/DAAMAQwCDAMMBAwFDAYMBwwIDAkMCgwLDAwMDQwODA8MEAwRDBIMEwwUDBUMFgwXDBgMGQwaDBsMHAwdDB4MHwwgDCEMIgwjDCQMJQwmDCcMKAwpDCoMKwwsDC0MLgwvDDAMMQwyDDMMNAw1DDYMNww4DDkMOgw7DDwMPQw+DD8MQAxBDEIMQwxEDEUMRgxHDEgMSQxKDEsMTAxNDE4MTwxQDFEMUgxTDFQMVQxWDFcMWAxZDFoMWwxcDF0MXgxfDGAMYQxiDGMMZAxlDGYMZwxoDGkMagxrDGwMbQxuDG8McAxxDHIMcwx0DHUMdgx3DHgMeQx6DHsMfAx9DH4MfwyADIEMggyDDIQMhQyGDIcMiAyJDIoMiwyMDI0MjgyPDJAMkQySDJMMlAyVDJYMlwyYDJkMmgybDJwMnQyeDJ8MoAyhDKIMowykDKUMpgynDKgMqQyqDKsMrAytDK4MrwywDLEMsgyzDLQMtQy2DLcMuAy5DLoMuwy8DL0Mvgy/DMAMwQzCDMMMxAzFDMYMxwzIDMkMygzLDMwMzQzODM8M0AzRDNIM0wzUDNUM1gzXDNgM2QzaDNsM3AzdDN4M3wzgDOEM4gzjDOQM5QzmDOcM6AzpDOoM6wzsDO0M7gzvDPAM8QzyDPMM9Az1DPYM9wz4DPkM+gz7DPwM/Qz+DP8NAA0BDQINAw0EDQUNBg0HDQgNCQ0KDQsNDA0NDQ4NDw0QDRENEg0TDRQNFQ0WDRcNGA0ZDRoNGw0cDR0NHg0fDSANIQ0iDSMNJA0lDSYNJw0oDSkNKg0rDSwNLQ0uDS8NMA0xDTINMw00DTUNNg03DTgNOQ06DTsNPA09DT4NPw1ADUENQg1DDUQNRQ1GDUcNSA1JDUoNSw1MDU0NTg1PDVANUQ1SDVMNVA1VDVYNVw1YDVkNWg1bDVwNXQ1eDV8NYA1hDWINYw1kDWUNZg1nDWgNaQ1qDWsNbA1tDW4Nbw1wDXENcg1zDXQNdQ12DXcNeA15DXoNew18DX0Nfg1/DYANgQ2CDYMNhA2FDYYNhw2IDYkNig2LDYwNjQ2ODY8NkA2RDZINkw2UDZUNlg2XDZgNmQ2aDZsNnA2dDZ4Nnw2gDaENog2jDaQNpQ2mDacNqA2pDaoNqw2sDa0Nrg2vDbANsQ2yDbMNtA21DbYNtw24DbkNug27DbwNvQ2+Db8NwA3BDcINww3EDcUNxg3HDcgNyQ3KDcsNzA3NDc4Nzw3QDdEN0g3TDdQN1Q3WDdcN2A3ZDdoN2w3cDd0N3g3fDeAN4Q3iDeMN5A3lDeYN5w3oDekN6g3rDewN7Q3uDe8N8A3xDfIN8w30DfUN9g33DfgN+Q36DfsN/A39Df4N/w4ADgEOAg4DDgQOBQ4GDgcOCA4JDgoOCw4MDg0ODg4PDhAOEQ4SDhMOFA4VDhYOFw4YDhkOGg4bDhwOHQ4eDh8OIA4hDiIOIw4kDiUOJg4nDigOKQ4qDisOLA4tDi4OLw4wDjEOMg4zDjQONQ42DjcOOA45DjoOOw48Dj0OPg4/DkAOQQ5CDkMORA5FDkYORw5IDkkOSg5LDkwOTQ5ODk8OUA5RDlIOUw5UDlUOVg5XDlgOWQ5aDlsOXA5dDl4OXw5gDmEOYg5jDmQOZQ5mDmcOaA5pDmoOaw5sDm0Obg5vDnAOcQ5yDnMOdA51DnYOdw54DnkOeg57DnwOfQ5+Dn8OgA6BDoIOgw6EDoUOhg6HDogOiQ6KDosOjA6NDo4Ojw6QDpEOkg6TDpQOlQ6WDpcOmA6ZDpoOmw6cDp0Ong6fDqAOoQ6iDqMOpA6lDqYOpw6oDqkOqg6rDqwOrQ6uDq8OsA6xDrIOsw60DrUOtg63DrgOuQ66DrsOvA69Dr4Ovw7ADsEOwg7DDsQOxQ7GDscOyA7JDsoOyw7MDs0Ozg7PDtAO0Q7SDtMO1A7VDtYO1w7YDtkO2g7bDtwO3Q7eDt8O4A7hDuIO4w7kDuUO5g7nDugO6Q7qDusO7A7tDu4O7w7wDvEO8g7zDvQO9Q72DvcO+A75DvoO+w78Dv0O/g7/DwAPAQ8CDwMPBA8FDwYPBw8IDwkPCg8LDwwPDQ8ODw8PEA8RDxIPEw8UDxUPFg8XDxgPGQ8aDxsPHA8dDx4PHw8gDyEPIg8jDyQPJQ8mDycPKA8pDyoPKw8sDy0PLg8vDzAPMQ8yDzMPNA81DzYPNw84DzkPOg87DzwPPQ8+Dz8PQA9BD0IPQw9ED0UPRg9HD0gPSQ9KD0sPTA9ND04PTw9QD1EPUg9TD1QPVQ9WD1cPWA9ZD1oPWw9cD10PXg9fD2APYQ9iD2MPZA9lD2YPZw9oD2kPag9rD2wPbQ9uD28PcA9xD3IPcw90D3UPdg93D3gPeQ96D3sPfA99D34Pfw+AD4EPgg+DD4QPhQ+GD4cPiA+JD4oPiw+MD40Pjg+PD5APkQ+SD5MPlA+VD5YPlw+YD5kPmg+bD5wPnQ+eD58PoA+hD6IPow+kD6UPpg+nD6gPqQ+qD6sPrA+tD64Prw+wD7EPsg+zD7QPtQ+2D7cPuA+5D7oPuw+8D70Pvg+/D8APwQ/CD8MPxA/FD8YPxw/ID8kPyg/LD8wPzQ/OD88P0A/RD9IP0w/UD9UP1g/XD9gP2Q/aD9sP3A/dD94P3w/gD+EP4g/jD+QP5Q/m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E2sTbBNtE24TbxNwE3ETchNzE3QTdRN2E3cTeBN5E3oTexN8E30TfhN/E4ATgROCE4MThBOFE4YThxOIE4kTihOLE4wTjROOE48TkBORE5ITkxOUE5UTlhOXE5gTmROaE5sTnBOdE54TnxOgE6ETohOjE6QTpROmE6cTqBOpE6oTqxOsE60TrhOvE7ATsROyE7MTtBO1E7YTtxO4E7kTuhO7E7wTvRO+E78TwBPBE8ITwxPEE8UTxhPHE8gTyRPKE8sTzBPNE84TzxPQE9ET0hPTE9QT1RPWE9cT2BPZE9oT2xPcE90T3hPfE+AT4RPiE+MT5BPlE+YT5xPoE+kT6hPrE+wT7RPuE+8T8BPxE/IT8xP0E/UT9hP3E/gT+RP6E/sT/BP9E/4T/xQAFAEUAhQDFAQUBRQGFAcUCBQJFAoUCxQMFA0UDhQPFBAUERQSFBMUFBQVFBYUFxQYFBkUGhQbFBwUHRQeFB8UIBQhFCIUIxQkFCUUJhQnFCgUKRQqFCsULBQtFC4ULxQwFDEUMhQzFDQUNRQ2FDcUOBQ5FDoUOxQ8FD0UPhQ/FEAUQRRCFEMURBRFFEYURxRIFEkUShRLFEwUTRROFE8UUBRRFFIUUxRUFFUUVhRXFFgUWRRaFFsUXBRdFF4UXxRgFGEUYhRjFGQUZRRmFGcUaBRpFGoUaxRsFG0UbhRvFHAUcRRyFHMUdBR1FHYUdxR4FHkUehR7FHwUfRR+FH8UgBSBFIIUgxSEFIUUhhSHFIgUiRSKFIsUjBSNFI4UjxSQFJEUkhSTFJQUlRSWFJcUmBSZFJoUmxScFJ0UnhSfFKAUoRSiFKMUpBSlFKYUpxSoFKkUqhSrFKwUrRSuFK8UsBSxFLIUsxS0FLUUthS3FLgUuRS6FLsUvBS9FL4UvxTAFMEUwhTDFMQUxRTGFMcUyBTJFMoUyxTMFM0UzhTPFNAU0RTSFNMU1BTVFNYU1xTYFNkU2hTbFNwU3RTeFN8U4BThFOIU4xTkFOUU5hTnFOgU6RTqFOsU7BTtFO4U7xTwFPEU8hTzFPQU9RT2FPcU+BT5FPoU+xT8FP0U/hT/FQAVARUCFQMVBBUFFQYVBxUIFQkVChULFQwVDRUOFQ8VEBURFRIVExUUFRUVFhUXFRgVGRUaFRsVHBUdFR4VHxUgFSEVIhUjFSQVJRUmFScVKBUpFSoVKxUsFS0VLhUvFTAVMRUyFTMVNBU1FTYVNxU4FTkVOhU7FTwVPRU+FT8VQBVBFUIVQxVEFUUVRhVHFUgVSRVKFUsVTBVNFU4VTxVQFVEVUhVTFVQVVRVWFVcVWBVZFVoVWxVcFV0VXhVfFWAVYRViFWMVZBVlFWYVZxVoFWkVahVrFWwVbRVuFW8VcBVxFXIVcxV0FXUVdhV3FXgVeRV6FXsVfBV9FX4VfxWAFYEVghWDFYQVhRWGFYcViBWJFYoVixWMFY0VjhWPFZAVkRWSFZMVlBWVFZYVlxWYFZkVmhWbFZwVnRWeFZ8VoBWhFaIVoxWkFaUVphWnFagVqRWqFasVrBWtFa4VrxWwFbEVshWzFbQVtRW2FbcVuBW5FboVuxW8Fb0VvhW/FcAVwRXCFcMVxBXFFcYVxxXIFckVyhXLFcwVzRXOFc8V0BXRFdIV0xXUFdUV1hXXFdgV2RXaFdsV3BXdFd4V3xXgFeEV4hXjFeQV5RXmFecV6BXpFeoV6xXsFe0V7hXvFfAV8RXyFfMV9BX1FfYV9xX4FfkV+hX7FfwV/RX+Ff8WABYBFgIWAxYEFgUWBhYHFggWCRYKFgsWDBYNFg4WDxYQFhEWEhYTFhQWFRYWFhcWGBYZFhoWGxYcFh0WHhYfFiAWIRYiFiMWJBYlFiYWJxYoFikWKhYrFiwWLRYuFi8WMBYxFjIWMxY0FjUWNhY3FjgWORY6FjsWPBY9Fj4WPxZAFkEWQhZDFkQWRRZGFkcWSBZJFkoWSxZMFk0WThZPFlAWURZSFlMWVBZVFlYWVxZYFlkWWhZbFlwWXRZeFl8WYBZhFmIWYxZkFmUWZhZnFmgWaRZqFmsWbBZtFm4WbxZwFnEWchZzFnQWdRZ2FncWeBZ5FnoWexZ8Fn0WfhZ/FoAWgRaCFoMWhBaFFoYWhxaIFokWihaLFowWjRaOFo8WkBaRFpIWkxaUFpUWlhaXFpgWmRaaFpsWnBadFp4WnxagFqEWohajFqQWpRamFqcWqBapFqoWqxasFq0WrhavFrAWsRayFrMWtBa1FrYWtxa4FrkWuha7FrwWvRa+Fr8WwBbBFsIWwxbEFsUWxhbHFsgWyRbKFssWzBbNFs4WzxbQFtEW0hbTFtQW1RbWFtcW2BbZFtoW2xbcFt0W3hbfFuAW4RbiFuMW5BblFuYW5xboFukW6hbrFuwW7RbuFu8W8BbxFvIW8xb0FvUW9hb3FvgW+Rb6FvsW/Bb9Fv4W/xcAFwEXAhcDFwQXBRcGFwcXCBcJFwoXCxcMFw0XDhcPFxAXERcSFxMXFBcVFxYXFxcYFxkXGhcbFxwXHRceFx8XIBchFyIXIxckFyUXJhcnFygXKRcqFysXLBctFy4XLxcwFzEXMhczFzQXNRc2FzcXOBc5FzoXOxc8Fz0XPhc/F0AXQRdCF0MXRBdFF0YXRxdIF0kXShdLF0wXTRdOF08XUBdRF1IXUxdUF1UXVhdXF1gXWRdaF1sXXBddF14XXxdgF2EXYhdjF2QXZRdmF2cXaBdpF2oXaxdsF20XbhdvF3AXcRdyF3MXdBd1F3YXdxd4F3kXehd7F3wXfRd+F38XgBeBF4IXgxeEF4UXhheHF4gXiReKF4sXjBeNF44XjxeQF5EXkheTF5QXlReWF5cXmBeZF5oXmxecF50XnhefF6AXoReiF6MXpBelF6YXpxeoF6kXqherF6wXrReuF68XsBexF7IXsxe0F7UXthe3F7gXuRe6F7sXvBe9F74XvxfAF8EXwhfDF8QXxRfGF8cXyBfJF8oXyxfMF80XzhfPF9AX0RfSF9MX1BfVF9YX1xfYF9kX2hfbF9wX3RfeF98X4BfhF+IX4xfkF+UX5hfnF+gX6RfqF+sX7BftF+4X7xfwF/EX8hfzF/QX9Rf2F/cX+Bf5F/oX+xf8F/0X/hf/GAAYARgCGAMYBBgFGAYYBxgIGAkYChgLGAwYDRgOGA8YEBgRGBIYExgUGBUYFhgXGBgYGRgaGBsYHBgdGB4YHxggGCEYIhgjGCQYJRgmGCcYKBgpGCoYKxgsGC0YLhgvGDAYMRgyGDMYNBg1GDYYNxg4GDkYOhg7GDwYPRg+GD8YQBhBGEIYQxhEGEUYRhhHGEgYSRhKGEsYTBhNGE4YTxhQGFEYUhhTGFQYVRhWGFcYWBhZGFoYWxhcGF0YXhhfGGAYYRhiGGMYZBhlGGYYZxhoGGkYahhrGGwYbRhuGG8YcBhxGHIYcxh0GHUYdhh3GHgYeRh6GHsYfBh9GH4YfxiAGIEYghiDGIQYhRiGGIcYiBiJGIoYixiMGI0YjhiPGJAYkRiSGJMYlBiVGJYYlxiYGJkYmhibGJwYnRieGJ8YoBihGKIYoxikGKUYphinGKgYqRiqGKsYrBitGK4YrxiwGLEYshizGLQYtRi2GLcYuBi5GLoYuxi8GL0Yvhi/GMAYwRjCGMMYxBjFGMYYxxjIGMkYyhjLGMwYzRjOGM8Y0BjRGNIY0xjUGNUY1hjXGNgY2RjaGNsY3BjdGN4Y3xjgGOEY4hjjGOQY5RjmGOcY6BjpGOoY6xjsGO0Y7hjvGPAY8RjyGPMY9Bj1GPYY9xj4GPkY+hj7GPwY/Rj+GP8ZABkBGQIZAxkEGQUZBhkHGQgZCRkKGQsZDBkNGQ4ZDxkQGREZEhkTGRQZFRkWGRcZGBkZGRoZGxkcGR0ZHhkfGSAZIRkiGSMZJBklGSYZJxkoGSkZKhkrGSwZLRkuGS8ZMBkxGTIZMxk0GTUZNhk3GTgZORk6GTsZPBk9GT4ZPxlAGUEZQhlDGUQZRRlGGUcZSBlJGUoZSxlMGU0ZThlPGVAZURlSGVMZVBlVGVYZVxlYGVkZWhlbGVwZXRleGV8ZYBlhGWIZYxlkGWUZZhlnGWgZaRlqGWsZbBltGW4ZbxlwGXEZchlzGXQZdRl2GXcZeBl5GXoZexl8GX0Zfhl/GYAZgRmCGYMZhBmFGYYZhxmIGYkZihmLGYwZjRmOGY8ZkBmRGZIZkxmUGZUZlhmXGZgZmRmaGZsZnBmdGZ4ZnxmgGaEZohmjGaQZpRmmGacZqBmpGaoZqxmsGa0ZrhmvGbAZsRmyGbMZtBm1GbYZtxm4GbkZuhm7GbwZvRm+Gb8ZwBnBGcIZwxnEGcUZxhnHGcgZyRnKGcsZzBnNGc4ZzxnQGdEZ0hnTGdQZ1RnWGdcZ2BnZGdoZ2xncGd0Z3hnfGeAZ4RniGeMZ5BnlGeYZ5xnoGekZ6hnrGewZ7RnuGe8Z8BnxGfIZ8xn0GfUZ9hn3GfgZ+Rn6GfsZ/Bn9Gf4Z/xoAGgEaAhoDGgQaBRoGGgcaCBoJGgoaCxoMGg0aDhoPGhAaERoSGhMaFBoVGhYaFxoYGhkaGhobGhwaHRoeGh8aIBohGiIaIxokGiUaJhonGigaKQd1bmkwMEFEB3VuaTAwQjIHdW5pMDBCMwd1bmkwMEI5B0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleApDZG90YWNjZW50CmNkb3RhY2NlbnQGRGNhcm9uBmRjYXJvbgZEY3JvYXQHRW1hY3JvbgdlbWFjcm9uBkVicmV2ZQZlYnJldmUKRWRvdGFjY2VudAplZG90YWNjZW50B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4Ckdkb3RhY2NlbnQKZ2RvdGFjY2VudAd1bmkwMTIyB3VuaTAxMjMLSGNpcmN1bWZsZXgLaGNpcmN1bWZsZXgESGJhcgRoYmFyBkl0aWxkZQZpdGlsZGUHSW1hY3JvbgdpbWFjcm9uBklicmV2ZQZpYnJldmUHSW9nb25lawdpb2dvbmVrAklKAmlqC0pjaXJjdW1mbGV4C2pjaXJjdW1mbGV4B3VuaTAxMzYHdW5pMDEzNwxrZ3JlZW5sYW5kaWMGTGFjdXRlBmxhY3V0ZQd1bmkwMTNCB3VuaTAxM0MGTGNhcm9uBmxjYXJvbgRMZG90BGxkb3QGTmFjdXRlBm5hY3V0ZQd1bmkwMTQ1B3VuaTAxNDYGTmNhcm9uBm5jYXJvbgtuYXBvc3Ryb3BoZQNFbmcDZW5nB09tYWNyb24Hb21hY3JvbgZPYnJldmUGb2JyZXZlDU9odW5nYXJ1bWxhdXQNb2h1bmdhcnVtbGF1dAZSYWN1dGUGcmFjdXRlB3VuaTAxNTYHdW5pMDE1NwZSY2Fyb24GcmNhcm9uBlNhY3V0ZQZzYWN1dGULU2NpcmN1bWZsZXgLc2NpcmN1bWZsZXgHdW5pMDE2Mgd1bmkwMTYzBlRjYXJvbgZ0Y2Fyb24EVGJhcgR0YmFyBlV0aWxkZQZ1dGlsZGUHVW1hY3Jvbgd1bWFjcm9uBlVicmV2ZQZ1YnJldmUFVXJpbmcFdXJpbmcNVWh1bmdhcnVtbGF1dA11aHVuZ2FydW1sYXV0B1VvZ29uZWsHdW9nb25lawtXY2lyY3VtZmxleAt3Y2lyY3VtZmxleAtZY2lyY3VtZmxleAt5Y2lyY3VtZmxleAZaYWN1dGUGemFjdXRlClpkb3RhY2NlbnQKemRvdGFjY2VudAVsb25ncwZHY2Fyb24GZ2Nhcm9uB3VuaTAyMzcHdW5pMDJCQgd1bmkwMkJDB3VuaTAyQkUHdW5pMDJCRglncmF2ZWNvbWIJYWN1dGVjb21iB3VuaTAzMDIJdGlsZGVjb21iB3VuaTAzMDQHdW5pMDMwNQd1bmkwMzA2B3VuaTAzMDcHdW5pMDMwOAd1bmkwMzBBB3VuaTAzMEIHdW5pMDMwQwd1bmkwMzEyB3VuaTAzMTUMZG90YmVsb3djb21iB3VuaTAzMjYHdW5pMDMyNwd1bmkwMzI4B3VuaTAzMkUHdW5pMDMzMQd1bmkwNjAwB3VuaTA2MDEHdW5pMDYwMgd1bmkwNjAzB3VuaTA2MDYHdW5pMDYwNwd1bmkwNjA4B3VuaTA2MDkHdW5pMDYwQQd1bmkwNjBCB3VuaTA2MEMHdW5pMDYwRAd1bmkwNjBFB3VuaTA2MEYHdW5pMDYxMAd1bmkwNjExB3VuaTA2MTIHdW5pMDYxMwd1bmkwNjE0B3VuaTA2MTUHdW5pMDYxNgd1bmkwNjE3B3VuaTA2MTgHdW5pMDYxOQd1bmkwNjFBB3VuaTA2MUIHdW5pMDYxRQd1bmkwNjFGB3VuaTA2MjAHdW5pMDYyMQd1bmkwNjIyB3VuaTA2MjMHdW5pMDYyNAd1bmkwNjI1B3VuaTA2MjYHdW5pMDYyNwd1bmkwNjI4B3VuaTA2MjkHdW5pMDYyQQd1bmkwNjJCB3VuaTA2MkMHdW5pMDYyRAd1bmkwNjJFB3VuaTA2MkYHdW5pMDYzMAd1bmkwNjMxB3VuaTA2MzIHdW5pMDYzMwd1bmkwNjM0B3VuaTA2MzUHdW5pMDYzNgd1bmkwNjM3B3VuaTA2MzgHdW5pMDYzOQd1bmkwNjNBB3VuaTA2M0IHdW5pMDYzQwd1bmkwNjNEB3VuaTA2M0UHdW5pMDYzRgd1bmkwNjQwB3VuaTA2NDEHdW5pMDY0Mgd1bmkwNjQzB3VuaTA2NDQHdW5pMDY0NQd1bmkwNjQ2B3VuaTA2NDcHdW5pMDY0OAd1bmkwNjQ5B3VuaTA2NEEHdW5pMDY0Qgd1bmkwNjRDB3VuaTA2NEQHdW5pMDY0RQd1bmkwNjRGB3VuaTA2NTAHdW5pMDY1MQd1bmkwNjUyB3VuaTA2NTMHdW5pMDY1NAd1bmkwNjU1B3VuaTA2NTYHdW5pMDY1Nwd1bmkwNjU4B3VuaTA2NTkHdW5pMDY1QQd1bmkwNjVCB3VuaTA2NUMHdW5pMDY1RAd1bmkwNjVFB3VuaTA2NUYHdW5pMDY2MAd1bmkwNjYxB3VuaTA2NjIHdW5pMDY2Mwd1bmkwNjY0B3VuaTA2NjUHdW5pMDY2Ngd1bmkwNjY3B3VuaTA2NjgHdW5pMDY2OQd1bmkwNjZBB3VuaTA2NkIHdW5pMDY2Qwd1bmkwNjZEB3VuaTA2NkUHdW5pMDY2Rgd1bmkwNjcwB3VuaTA2NzEHdW5pMDY3Mgd1bmkwNjczB3VuaTA2NzQHdW5pMDY3NQd1bmkwNjc2B3VuaTA2NzcHdW5pMDY3OAd1bmkwNjc5B3VuaTA2N0EHdW5pMDY3Qgd1bmkwNjdDB3VuaTA2N0QHdW5pMDY3RQd1bmkwNjdGB3VuaTA2ODAHdW5pMDY4MQd1bmkwNjgyB3VuaTA2ODMHdW5pMDY4NAd1bmkwNjg1B3VuaTA2ODYHdW5pMDY4Nwd1bmkwNjg4B3VuaTA2ODkHdW5pMDY4QQd1bmkwNjhCB3VuaTA2OEMHdW5pMDY4RAd1bmkwNjhFB3VuaTA2OEYHdW5pMDY5MAd1bmkwNjkxB3VuaTA2OTIHdW5pMDY5Mwd1bmkwNjk0B3VuaTA2OTUHdW5pMDY5Ngd1bmkwNjk3B3VuaTA2OTgHdW5pMDY5OQd1bmkwNjlBB3VuaTA2OUIHdW5pMDY5Qwd1bmkwNjlEB3VuaTA2OUUHdW5pMDY5Rgd1bmkwNkEwB3VuaTA2QTEHdW5pMDZBMgd1bmkwNkEzB3VuaTA2QTQHdW5pMDZBNQd1bmkwNkE2B3VuaTA2QTcHdW5pMDZBOAd1bmkwNkE5B3VuaTA2QUEHdW5pMDZBQgd1bmkwNkFDB3VuaTA2QUQHdW5pMDZBRQd1bmkwNkFGB3VuaTA2QjAHdW5pMDZCMQd1bmkwNkIyB3VuaTA2QjMHdW5pMDZCNAd1bmkwNkI1B3VuaTA2QjYHdW5pMDZCNwd1bmkwNkI4B3VuaTA2QjkHdW5pMDZCQQd1bmkwNkJCB3VuaTA2QkMHdW5pMDZCRAd1bmkwNkJFB3VuaTA2QkYHdW5pMDZDMAd1bmkwNkMxB3VuaTA2QzIHdW5pMDZDMwd1bmkwNkM0B3VuaTA2QzUHdW5pMDZDNgd1bmkwNkM3B3VuaTA2QzgHdW5pMDZDOQd1bmkwNkNBB3VuaTA2Q0IHdW5pMDZDQwd1bmkwNkNEB3VuaTA2Q0UHdW5pMDZDRgd1bmkwNkQwB3VuaTA2RDEHdW5pMDZEMgd1bmkwNkQzB3VuaTA2RDQHdW5pMDZENQd1bmkwNkQ2B3VuaTA2RDcHdW5pMDZEOAd1bmkwNkQ5B3VuaTA2REEHdW5pMDZEQgd1bmkwNkRDB3VuaTA2REQHdW5pMDZERQd1bmkwNkRGB3VuaTA2RTAHdW5pMDZFMQd1bmkwNkUyB3VuaTA2RTMHdW5pMDZFNAd1bmkwNkU1B3VuaTA2RTYHdW5pMDZFNwd1bmkwNkU4B3VuaTA2RTkHdW5pMDZFQQd1bmkwNkVCB3VuaTA2RUMHdW5pMDZFRAd1bmkwNkVFB3VuaTA2RUYHdW5pMDZGMAd1bmkwNkYxB3VuaTA2RjIHdW5pMDZGMwd1bmkwNkY0B3VuaTA2RjUHdW5pMDZGNgd1bmkwNkY3B3VuaTA2RjgHdW5pMDZGOQd1bmkwNkZBB3VuaTA2RkIHdW5pMDZGQwd1bmkwNkZEB3VuaTA2RkUHdW5pMDZGRgd1bmkwNzUwB3VuaTA3NTEHdW5pMDc1Mgd1bmkwNzUzB3VuaTA3NTQHdW5pMDc1NQd1bmkwNzU2B3VuaTA3NTcHdW5pMDc1OAd1bmkwNzU5B3VuaTA3NUEHdW5pMDc1Qgd1bmkwNzVDB3VuaTA3NUQHdW5pMDc1RQd1bmkwNzVGB3VuaTA3NjAHdW5pMDc2MQd1bmkwNzYyB3VuaTA3NjMHdW5pMDc2NAd1bmkwNzY1B3VuaTA3NjYHdW5pMDc2Nwd1bmkwNzY4B3VuaTA3NjkHdW5pMDc2QQd1bmkwNzZCB3VuaTA3NkMHdW5pMDc2RAd1bmkwNzZFB3VuaTA3NkYHdW5pMDc3MAd1bmkwNzcxB3VuaTA3NzIHdW5pMDc3Mwd1bmkwNzc0B3VuaTA3NzUHdW5pMDc3Ngd1bmkwNzc3B3VuaTA3NzgHdW5pMDc3OQd1bmkwNzdBB3VuaTA3N0IHdW5pMDc3Qwd1bmkwNzdEB3VuaTA3N0UHdW5pMDc3Rgd1bmkwOEEwB3VuaTA4QUMHdW5pMDhFNAd1bmkwOEU1B3VuaTA4RTYHdW5pMDhFNwd1bmkwOEU4B3VuaTA4RTkHdW5pMDhFQQd1bmkwOEVCB3VuaTA4RUMHdW5pMDhFRAd1bmkwOEVFB3VuaTA4RUYHdW5pMDhGMAd1bmkwOEYxB3VuaTA4RjIHdW5pMDhGMwd1bmkwOEY0B3VuaTA4RjUHdW5pMDhGNgd1bmkwOEY3B3VuaTA4RjgHdW5pMDhGOQd1bmkwOEZBB3VuaTA4RkIHdW5pMDhGQwd1bmkwOEZEB3VuaTA4RkUHdW5pMUUwMgd1bmkxRTAzB3VuaTFFMEEHdW5pMUUwQgd1bmkxRTBDB3VuaTFFMEQHdW5pMUUwRQd1bmkxRTBGB3VuaTFFMTAHdW5pMUUxMQd1bmkxRTFFB3VuaTFFMUYHdW5pMUUyNAd1bmkxRTI1B3VuaTFFMjgHdW5pMUUyOQd1bmkxRTJBB3VuaTFFMkIHdW5pMUU0MAd1bmkxRTQxB3VuaTFFNTYHdW5pMUU1Nwd1bmkxRTYwB3VuaTFFNjEHdW5pMUU2Mgd1bmkxRTYzB3VuaTFFNkEHdW5pMUU2Qgd1bmkxRTZDB3VuaTFFNkQHdW5pMUU2RQd1bmkxRTZGBldncmF2ZQZ3Z3JhdmUGV2FjdXRlBndhY3V0ZQlXZGllcmVzaXMJd2RpZXJlc2lzB3VuaTFFOTIHdW5pMUU5Mwd1bmkxRTk2B3VuaTFFOTcGWWdyYXZlBnlncmF2ZQd1bmkyMDAwB3VuaTIwMDEHdW5pMjAwMgd1bmkyMDAzB3VuaTIwMDQHdW5pMjAwNQd1bmkyMDA2B3VuaTIwMDcHdW5pMjAwOAd1bmkyMDA5B3VuaTIwMEEHdW5pMjAwQgd1bmkyMDBDB3VuaTIwMEQHdW5pMjAwRQd1bmkyMDBGB3VuaTIwMTAHdW5pMjAxMQpmaWd1cmVkYXNoB3VuaTIwMTUNcXVvdGVyZXZlcnNlZAd1bmkyMDFGDm9uZWRvdGVubGVhZGVyB3VuaTIwMjgHdW5pMjAyOQd1bmkyMDJBB3VuaTIwMkIHdW5pMjAyQwd1bmkyMDJEB3VuaTIwMkUHdW5pMjAyRgZtaW51dGUGc2Vjb25kB3VuaTIwMzgHdW5pMjAzRQd1bmkyMDQyBEV1cm8HdW5pMjIxMwd1bmkyNUNDA2ZfZgNmX2kDZl9sBWZfZl9pBWZfZl9sB3VuaUZCNTAHdW5pRkI1MQd1bmlGQjUyB3VuaUZCNTMHdW5pRkI1NAd1bmlGQjU1B3VuaUZCNTYHdW5pRkI1Nwd1bmlGQjU4B3VuaUZCNTkHdW5pRkI1QQd1bmlGQjVCB3VuaUZCNUMHdW5pRkI1RAd1bmlGQjVFB3VuaUZCNUYHdW5pRkI2MAd1bmlGQjYxB3VuaUZCNjIHdW5pRkI2Mwd1bmlGQjY0B3VuaUZCNjUHdW5pRkI2Ngd1bmlGQjY3B3VuaUZCNjgHdW5pRkI2OQd1bmlGQjZBB3VuaUZCNkIHdW5pRkI2Qwd1bmlGQjZEB3VuaUZCNkUHdW5pRkI2Rgd1bmlGQjcwB3VuaUZCNzEHdW5pRkI3Mgd1bmlGQjczB3VuaUZCNzQHdW5pRkI3NQd1bmlGQjc2B3VuaUZCNzcHdW5pRkI3OAd1bmlGQjc5B3VuaUZCN0EHdW5pRkI3Qgd1bmlGQjdDB3VuaUZCN0QHdW5pRkI3RQd1bmlGQjdGB3VuaUZCODAHdW5pRkI4MQd1bmlGQjgyB3VuaUZCODMHdW5pRkI4NAd1bmlGQjg1B3VuaUZCODYHdW5pRkI4Nwd1bmlGQjg4B3VuaUZCODkHdW5pRkI4QQd1bmlGQjhCB3VuaUZCOEMHdW5pRkI4RAd1bmlGQjhFB3VuaUZCOEYHdW5pRkI5MAd1bmlGQjkxB3VuaUZCOTIHdW5pRkI5Mwd1bmlGQjk0B3VuaUZCOTUHdW5pRkI5Ngd1bmlGQjk3B3VuaUZCOTgHdW5pRkI5OQd1bmlGQjlBB3VuaUZCOUIHdW5pRkI5Qwd1bmlGQjlEB3VuaUZCOUUHdW5pRkI5Rgd1bmlGQkEwB3VuaUZCQTEHdW5pRkJBMgd1bmlGQkEzB3VuaUZCQTQHdW5pRkJBNQd1bmlGQkE2B3VuaUZCQTcHdW5pRkJBOAd1bmlGQkE5B3VuaUZCQUEHdW5pRkJBQgd1bmlGQkFDB3VuaUZCQUQHdW5pRkJBRQd1bmlGQkFGB3VuaUZCQjAHdW5pRkJCMQd1bmlGQkIyB3VuaUZCQjMHdW5pRkJCNAd1bmlGQkI1B3VuaUZCQjYHdW5pRkJCNwd1bmlGQkI4B3VuaUZCQjkHdW5pRkJCQQd1bmlGQkJCB3VuaUZCQkMHdW5pRkJCRAd1bmlGQkJFB3VuaUZCQkYHdW5pRkJDMAd1bmlGQkMxB3VuaUZCRDMHdW5pRkJENAd1bmlGQkQ1B3VuaUZCRDYHdW5pRkJENwd1bmlGQkQ4B3VuaUZCRDkHdW5pRkJEQQd1bmlGQkRCB3VuaUZCREMHdW5pRkJERAd1bmlGQkRFB3VuaUZCREYHdW5pRkJFMAd1bmlGQkUxB3VuaUZCRTIHdW5pRkJFMwd1bmlGQkU0B3VuaUZCRTUHdW5pRkJFNgd1bmlGQkU3B3VuaUZCRTgHdW5pRkJFOQd1bmlGQkVBB3VuaUZCRUIHdW5pRkJFQwd1bmlGQkVEB3VuaUZCRUUHdW5pRkJFRgd1bmlGQkYwB3VuaUZCRjEHdW5pRkJGMgd1bmlGQkYzB3VuaUZCRjQHdW5pRkJGNQd1bmlGQkY2B3VuaUZCRjcHdW5pRkJGOAd1bmlGQkY5B3VuaUZCRkEHdW5pRkJGQgd1bmlGQkZDB3VuaUZCRkQHdW5pRkJGRQd1bmlGQkZGB3VuaUZDMDAHdW5pRkMwMQd1bmlGQzAyB3VuaUZDMDMHdW5pRkMwNAd1bmlGQzA1B3VuaUZDMDYHdW5pRkMwNwd1bmlGQzA4B3VuaUZDMDkHdW5pRkMwQQd1bmlGQzBCB3VuaUZDMEMHdW5pRkMwRAd1bmlGQzBFB3VuaUZDMEYHdW5pRkMxMAd1bmlGQzExB3VuaUZDMTIHdW5pRkMxMwd1bmlGQzE0B3VuaUZDMTUHdW5pRkMxNgd1bmlGQzE3B3VuaUZDMTgHdW5pRkMxOQd1bmlGQzFBB3VuaUZDMUIHdW5pRkMxQwd1bmlGQzFEB3VuaUZDMUUHdW5pRkMxRgd1bmlGQzIwB3VuaUZDMjEHdW5pRkMyMgd1bmlGQzIzB3VuaUZDMjQHdW5pRkMyNQd1bmlGQzI2B3VuaUZDMjcHdW5pRkMyOAd1bmlGQzI5B3VuaUZDMkEHdW5pRkMyQgd1bmlGQzJDB3VuaUZDMkQHdW5pRkMyRQd1bmlGQzJGB3VuaUZDMzAHdW5pRkMzMQd1bmlGQzMyB3VuaUZDMzMHdW5pRkMzNAd1bmlGQzM1B3VuaUZDMzYHdW5pRkMzNwd1bmlGQzM4B3VuaUZDMzkHdW5pRkMzQQd1bmlGQzNCB3VuaUZDM0MHdW5pRkMzRAd1bmlGQzNFB3VuaUZDM0YHdW5pRkM0MAd1bmlGQzQxB3VuaUZDNDIHdW5pRkM0Mwd1bmlGQzQ0B3VuaUZDNDUHdW5pRkM0Ngd1bmlGQzQ3B3VuaUZDNDgHdW5pRkM0OQd1bmlGQzRBB3VuaUZDNEIHdW5pRkM0Qwd1bmlGQzREB3VuaUZDNEUHdW5pRkM0Rgd1bmlGQzUwB3VuaUZDNTEHdW5pRkM1Mgd1bmlGQzUzB3VuaUZDNTQHdW5pRkM1NQd1bmlGQzU2B3VuaUZDNTcHdW5pRkM1OAd1bmlGQzU5B3VuaUZDNUEHdW5pRkM1Qgd1bmlGQzVDB3VuaUZDNUQHdW5pRkM1RQd1bmlGQzVGB3VuaUZDNjAHdW5pRkM2MQd1bmlGQzYyB3VuaUZDNjMHdW5pRkM2NAd1bmlGQzY1B3VuaUZDNjYHdW5pRkM2Nwd1bmlGQzY4B3VuaUZDNjkHdW5pRkM2QQd1bmlGQzZCB3VuaUZDNkMHdW5pRkM2RAd1bmlGQzZFB3VuaUZDNkYHdW5pRkM3MAd1bmlGQzcxB3VuaUZDNzIHdW5pRkM3Mwd1bmlGQzc0B3VuaUZDNzUHdW5pRkM3Ngd1bmlGQzc3B3VuaUZDNzgHdW5pRkM3OQd1bmlGQzdBB3VuaUZDN0IHdW5pRkM3Qwd1bmlGQzdEB3VuaUZDN0UHdW5pRkM3Rgd1bmlGQzgwB3VuaUZDODEHdW5pRkM4Mgd1bmlGQzgzB3VuaUZDODQHdW5pRkM4NQd1bmlGQzg2B3VuaUZDODcHdW5pRkM4OAd1bmlGQzg5B3VuaUZDOEEHdW5pRkM4Qgd1bmlGQzhDB3VuaUZDOEQHdW5pRkM4RQd1bmlGQzhGB3VuaUZDOTAHdW5pRkM5MQd1bmlGQzkyB3VuaUZDOTMHdW5pRkM5NAd1bmlGQzk1B3VuaUZDOTYHdW5pRkM5Nwd1bmlGQzk4B3VuaUZDOTkHdW5pRkM5QQd1bmlGQzlCB3VuaUZDOUMHdW5pRkM5RAd1bmlGQzlFB3VuaUZDOUYHdW5pRkNBMAd1bmlGQ0ExB3VuaUZDQTIHdW5pRkNBMwd1bmlGQ0E0B3VuaUZDQTUHdW5pRkNBNgd1bmlGQ0E3B3VuaUZDQTgHdW5pRkNBOQd1bmlGQ0FBB3VuaUZDQUIHdW5pRkNBQwd1bmlGQ0FEB3VuaUZDQUUHdW5pRkNBRgd1bmlGQ0IwB3VuaUZDQjEHdW5pRkNCMgd1bmlGQ0IzB3VuaUZDQjQHdW5pRkNCNQd1bmlGQ0I2B3VuaUZDQjcHdW5pRkNCOAd1bmlGQ0I5B3VuaUZDQkEHdW5pRkNCQgd1bmlGQ0JDB3VuaUZDQkQHdW5pRkNCRQd1bmlGQ0JGB3VuaUZDQzAHdW5pRkNDMQd1bmlGQ0MyB3VuaUZDQzMHdW5pRkNDNAd1bmlGQ0M1B3VuaUZDQzYHdW5pRkNDNwd1bmlGQ0M4B3VuaUZDQzkHdW5pRkNDQQd1bmlGQ0NCB3VuaUZDQ0MHdW5pRkNDRAd1bmlGQ0NFB3VuaUZDQ0YHdW5pRkNEMAd1bmlGQ0QxB3VuaUZDRDIHdW5pRkNEMwd1bmlGQ0Q0B3VuaUZDRDUHdW5pRkNENgd1bmlGQ0Q3B3VuaUZDRDgHdW5pRkNEOQd1bmlGQ0RBB3VuaUZDREIHdW5pRkNEQwd1bmlGQ0REB3VuaUZDREUHdW5pRkNERgd1bmlGQ0UwB3VuaUZDRTEHdW5pRkNFMgd1bmlGQ0UzB3VuaUZDRTQHdW5pRkNFNQd1bmlGQ0U2B3VuaUZDRTcHdW5pRkNFOAd1bmlGQ0U5B3VuaUZDRUEHdW5pRkNFQgd1bmlGQ0VDB3VuaUZDRUQHdW5pRkNFRQd1bmlGQ0VGB3VuaUZDRjAHdW5pRkNGMQd1bmlGQ0YyB3VuaUZDRjMHdW5pRkNGNAd1bmlGQ0Y1B3VuaUZDRjYHdW5pRkNGNwd1bmlGQ0Y4B3VuaUZDRjkHdW5pRkNGQQd1bmlGQ0ZCB3VuaUZDRkMHdW5pRkNGRAd1bmlGQ0ZFB3VuaUZDRkYHdW5pRkQwMAd1bmlGRDAxB3VuaUZEMDIHdW5pRkQwMwd1bmlGRDA0B3VuaUZEMDUHdW5pRkQwNgd1bmlGRDA3B3VuaUZEMDgHdW5pRkQwOQd1bmlGRDBBB3VuaUZEMEIHdW5pRkQwQwd1bmlGRDBEB3VuaUZEMEUHdW5pRkQwRgd1bmlGRDEwB3VuaUZEMTEHdW5pRkQxMgd1bmlGRDEzB3VuaUZEMTQHdW5pRkQxNQd1bmlGRDE2B3VuaUZEMTcHdW5pRkQxOAd1bmlGRDE5B3VuaUZEMUEHdW5pRkQxQgd1bmlGRDFDB3VuaUZEMUQHdW5pRkQxRQd1bmlGRDFGB3VuaUZEMjAHdW5pRkQyMQd1bmlGRDIyB3VuaUZEMjMHdW5pRkQyNAd1bmlGRDI1B3VuaUZEMjYHdW5pRkQyNwd1bmlGRDI4B3VuaUZEMjkHdW5pRkQyQQd1bmlGRDJCB3VuaUZEMkMHdW5pRkQyRAd1bmlGRDJFB3VuaUZEMkYHdW5pRkQzMAd1bmlGRDMxB3VuaUZEMzIHdW5pRkQzMwd1bmlGRDM0B3VuaUZEMzUHdW5pRkQzNgd1bmlGRDM3B3VuaUZEMzgHdW5pRkQzOQd1bmlGRDNBB3VuaUZEM0IHdW5pRkQzQwd1bmlGRDNEB3VuaUZEM0UHdW5pRkQzRgd1bmlGRDUwB3VuaUZENTEHdW5pRkQ1Mgd1bmlGRDUzB3VuaUZENTQHdW5pRkQ1NQd1bmlGRDU2B3VuaUZENTcHdW5pRkQ1OAd1bmlGRDU5B3VuaUZENUEHdW5pRkQ1Qgd1bmlGRDVDB3VuaUZENUQHdW5pRkQ1RQd1bmlGRDVGB3VuaUZENjAHdW5pRkQ2MQd1bmlGRDYyB3VuaUZENjMHdW5pRkQ2NAd1bmlGRDY1B3VuaUZENjYHdW5pRkQ2Nwd1bmlGRDY4B3VuaUZENjkHdW5pRkQ2QQd1bmlGRDZCB3VuaUZENkMHdW5pRkQ2RAd1bmlGRDZFB3VuaUZENkYHdW5pRkQ3MAd1bmlGRDcxB3VuaUZENzIHdW5pRkQ3Mwd1bmlGRDc0B3VuaUZENzUHdW5pRkQ3Ngd1bmlGRDc3B3VuaUZENzgHdW5pRkQ3OQd1bmlGRDdBB3VuaUZEN0IHdW5pRkQ3Qwd1bmlGRDdEB3VuaUZEN0UHdW5pRkQ3Rgd1bmlGRDgwB3VuaUZEODEHdW5pRkQ4Mgd1bmlGRDgzB3VuaUZEODQHdW5pRkQ4NQd1bmlGRDg2B3VuaUZEODcHdW5pRkQ4OAd1bmlGRDg5B3VuaUZEOEEHdW5pRkQ4Qgd1bmlGRDhDB3VuaUZEOEQHdW5pRkQ4RQd1bmlGRDhGB3VuaUZEOTIHdW5pRkQ5Mwd1bmlGRDk0B3VuaUZEOTUHdW5pRkQ5Ngd1bmlGRDk3B3VuaUZEOTgHdW5pRkQ5OQd1bmlGRDlBB3VuaUZEOUIHdW5pRkQ5Qwd1bmlGRDlEB3VuaUZEOUUHdW5pRkQ5Rgd1bmlGREEwB3VuaUZEQTEHdW5pRkRBMgd1bmlGREEzB3VuaUZEQTQHdW5pRkRBNQd1bmlGREE2B3VuaUZEQTcHdW5pRkRBOAd1bmlGREE5B3VuaUZEQUEHdW5pRkRBQgd1bmlGREFDB3VuaUZEQUQHdW5pRkRBRQd1bmlGREFGB3VuaUZEQjAHdW5pRkRCMQd1bmlGREIyB3VuaUZEQjMHdW5pRkRCNAd1bmlGREI1B3VuaUZEQjYHdW5pRkRCNwd1bmlGREI4B3VuaUZEQjkHdW5pRkRCQQd1bmlGREJCB3VuaUZEQkMHdW5pRkRCRAd1bmlGREJFB3VuaUZEQkYHdW5pRkRDMAd1bmlGREMxB3VuaUZEQzIHdW5pRkRDMwd1bmlGREM0B3VuaUZEQzUHdW5pRkRDNgd1bmlGREM3B3VuaUZERjAHdW5pRkRGMQd1bmlGREYyB3VuaUZERjMHdW5pRkRGNAd1bmlGREY1B3VuaUZERjYHdW5pRkRGNwd1bmlGREY4B3VuaUZERjkHdW5pRkRGQQd1bmlGREZCB3VuaUZERkMHdW5pRkRGRAd1bmlGRTcwB3VuaUZFNzEHdW5pRkU3Mgd1bmlGRTc0B3VuaUZFNzYHdW5pRkU3Nwd1bmlGRTc4B3VuaUZFNzkHdW5pRkU3QQd1bmlGRTdCB3VuaUZFN0MHdW5pRkU3RAd1bmlGRTdFB3VuaUZFN0YHdW5pRkU4MAd1bmlGRTgxB3VuaUZFODIHdW5pRkU4Mwd1bmlGRTg0B3VuaUZFODUHdW5pRkU4Ngd1bmlGRTg3B3VuaUZFODgHdW5pRkU4OQd1bmlGRThBB3VuaUZFOEIHdW5pRkU4Qwd1bmlGRThEB3VuaUZFOEUHdW5pRkU4Rgd1bmlGRTkwB3VuaUZFOTEHdW5pRkU5Mgd1bmlGRTkzB3VuaUZFOTQHdW5pRkU5NQd1bmlGRTk2B3VuaUZFOTcHdW5pRkU5OAd1bmlGRTk5B3VuaUZFOUEHdW5pRkU5Qgd1bmlGRTlDB3VuaUZFOUQHdW5pRkU5RQd1bmlGRTlGB3VuaUZFQTAHdW5pRkVBMQd1bmlGRUEyB3VuaUZFQTMHdW5pRkVBNAd1bmlGRUE1B3VuaUZFQTYHdW5pRkVBNwd1bmlGRUE4B3VuaUZFQTkHdW5pRkVBQQd1bmlGRUFCB3VuaUZFQUMHdW5pRkVBRAd1bmlGRUFFB3VuaUZFQUYHdW5pRkVCMAd1bmlGRUIxB3VuaUZFQjIHdW5pRkVCMwd1bmlGRUI0B3VuaUZFQjUHdW5pRkVCNgd1bmlGRUI3B3VuaUZFQjgHdW5pRkVCOQd1bmlGRUJBB3VuaUZFQkIHdW5pRkVCQwd1bmlGRUJEB3VuaUZFQkUHdW5pRkVCRgd1bmlGRUMwB3VuaUZFQzEHdW5pRkVDMgd1bmlGRUMzB3VuaUZFQzQHdW5pRkVDNQd1bmlGRUM2B3VuaUZFQzcHdW5pRkVDOAd1bmlGRUM5B3VuaUZFQ0EHdW5pRkVDQgd1bmlGRUNDB3VuaUZFQ0QHdW5pRkVDRQd1bmlGRUNGB3VuaUZFRDAHdW5pRkVEMQd1bmlGRUQyB3VuaUZFRDMHdW5pRkVENAd1bmlGRUQ1B3VuaUZFRDYHdW5pRkVENwd1bmlGRUQ4B3VuaUZFRDkHdW5pRkVEQQd1bmlGRURCB3VuaUZFREMHdW5pRkVERAd1bmlGRURFB3VuaUZFREYHdW5pRkVFMAd1bmlGRUUxB3VuaUZFRTIHdW5pRkVFMwd1bmlGRUU0B3VuaUZFRTUHdW5pRkVFNgd1bmlGRUU3B3VuaUZFRTgHdW5pRkVFOQd1bmlGRUVBB3VuaUZFRUIHdW5pRkVFQwd1bmlGRUVEB3VuaUZFRUUHdW5pRkVFRgd1bmlGRUYwB3VuaUZFRjEHdW5pRkVGMgd1bmlGRUYzB3VuaUZFRjQHdW5pRkVGNQd1bmlGRUY2B3VuaUZFRjcHdW5pRkVGOAd1bmlGRUY5B3VuaUZFRkEHdW5pRkVGQgd1bmlGRUZDBnUxRUUwMAZ1MUVFMDEGdTFFRTAyBnUxRUUwMwZ1MUVFMDUGdTFFRTA2BnUxRUUwNwZ1MUVFMDgGdTFFRTA5BnUxRUUwQQZ1MUVFMEIGdTFFRTBDBnUxRUUwRAZ1MUVFMEUGdTFFRTBGBnUxRUUxMAZ1MUVFMTEGdTFFRTEyBnUxRUUxMwZ1MUVFMTQGdTFFRTE1BnUxRUUxNgZ1MUVFMTcGdTFFRTE4BnUxRUUxOQZ1MUVFMUEGdTFFRTFCBnUxRUUxQwZ1MUVFMUQGdTFFRTFFBnUxRUUxRgZ1MUVFMjEGdTFFRTIyBnUxRUUyNAZ1MUVFMjcGdTFFRTI5BnUxRUUyQQZ1MUVFMkIGdTFFRTJDBnUxRUUyRAZ1MUVFMkUGdTFFRTJGBnUxRUUzMAZ1MUVFMzEGdTFFRTMyBnUxRUUzNAZ1MUVFMzUGdTFFRTM2BnUxRUUzNwZ1MUVFMzkGdTFFRTNCBnUxRUU0MgZ1MUVFNDcGdTFFRTQ5BnUxRUU0QgZ1MUVFNEQGdTFFRTRFBnUxRUU0RgZ1MUVFNTEGdTFFRTUyBnUxRUU1NAZ1MUVFNTcGdTFFRTU5BnUxRUU1QgZ1MUVFNUQGdTFFRTVGBnUxRUU2MQZ1MUVFNjIGdTFFRTY0BnUxRUU2NwZ1MUVFNjgGdTFFRTY5BnUxRUU2QQZ1MUVFNkMGdTFFRTZEBnUxRUU2RQZ1MUVFNkYGdTFFRTcwBnUxRUU3MQZ1MUVFNzIGdTFFRTc0BnUxRUU3NQZ1MUVFNzYGdTFFRTc3BnUxRUU3OQZ1MUVFN0EGdTFFRTdCBnUxRUU3QwZ1MUVFN0UGdTFFRTgwBnUxRUU4MQZ1MUVFODIGdTFFRTgzBnUxRUU4NAZ1MUVFODUGdTFFRTg2BnUxRUU4NwZ1MUVFODgGdTFFRTg5BnUxRUU4QgZ1MUVFOEMGdTFFRThEBnUxRUU4RQZ1MUVFOEYGdTFFRTkwBnUxRUU5MQZ1MUVFOTIGdTFFRTkzBnUxRUU5NAZ1MUVFOTUGdTFFRTk2BnUxRUU5NwZ1MUVFOTgGdTFFRTk5BnUxRUU5QQZ1MUVFOUIGdTFFRUExBnUxRUVBMgZ1MUVFQTMGdTFFRUE1BnUxRUVBNgZ1MUVFQTcGdTFFRUE4BnUxRUVBOQZ1MUVFQUIGdTFFRUFDBnUxRUVBRAZ1MUVFQUUGdTFFRUFGBnUxRUVCMAZ1MUVFQjEGdTFFRUIyBnUxRUVCMwZ1MUVFQjQGdTFFRUI1BnUxRUVCNgZ1MUVFQjcGdTFFRUI4BnUxRUVCOQZ1MUVFQkEGdTFFRUJCBnUxRUVGMAZ1MUVFRjENYUFsZi5maW5hLmFsdAlhQWxmLmZpbmEJYUFsZi5pc29sCWFBeW4uZmluYQlhQXluLmluaXQJYUF5bi5pc29sCWFBeW4ubWVkaQlhQmFhLmZpbmEJYUJhYS5pbml0CWFCYWEuaXNvbAlhQmFhLm1lZGkJYURhbC5maW5hCWFEYWwuaXNvbAlhRmFhLmZpbmEJYUZhYS5pbml0CWFGYWEuaXNvbAlhRmFhLm1lZGkJYUhhYS5maW5hCWFIYWEuaW5pdAlhSGFhLmlzb2wJYUhhYS5tZWRpCWFIZWguZmluYQlhSGVoLmluaXQJYUhlaC5pc29sCWFIZWgubWVkaQlhS2FmLmZpbmENYUthZi5pbml0LmFsdAlhS2FmLmluaXQJYUthZi5pc29sCWFLYWYubWVkaQlhTGFtLmZpbmEJYUxhbS5pbml0CWFMYW0uaXNvbAlhTGFtLm1lZGkJYU1lbS5maW5hCWFNZW0uaW5pdAlhTWVtLmlzb2wJYU1lbS5tZWRpCWFOb24uZmluYQlhTm9uLmlzb2wJYVFhZi5maW5hCWFRYWYuaXNvbA5hUmFhLmZpbmEuYWx0MglhUmFhLmZpbmEJYVJhYS5pc29sCWFTYWQuZmluYQlhU2FkLmluaXQJYVNhZC5pc29sCWFTYWQubWVkaQlhU2VuLmZpbmEJYVNlbi5pbml0CWFTZW4uaXNvbAlhU2VuLm1lZGkJYVRhYS5maW5hCWFUYWEuaW5pdAlhVGFhLmlzb2wJYVRhYS5tZWRpCWFXYXcuZmluYQlhV2F3Lmlzb2wJYVlhYS5maW5hCWFZYWEuaXNvbBRhTGFtLm1lZGlfTGFtTWVtRmluYRRhQmFhLmluaXRfQmFhUmFhSXNvbBRhUmFhLmZpbmFfQmFhUmFhSXNvbBRhTGFtLm1lZGlfTGFtV2F3RmluYRRhV2F3LmZpbmFfTGFtV2F3RmluYRRhTGFtLmluaXRfTGFtSGFhSW5pdBRhRmFhLm1lZGlfRmFhWWFhRmluYRdhTGFtLmluaXRfTGFtTGFtSGFhSW5pdBdhTGFtLm1lZGlfTGFtTGFtSGFhSW5pdBRhQmFhLm1lZGlfQmFhTWVtRmluYRJhU2FkLmluaXRfQWJvdmVIYWEXYUxhbS5pbml0X0xhbUJhYU1lbUluaXQXYUJhYS5tZWRpX0xhbUJhYU1lbUluaXQXYU1lbS5tZWRpX0xhbUJhYU1lbUluaXQQYUJhYS5pbml0X0JhYURhbBBhRGFsLmZpbmFfQmFhRGFsF2FCYWEuaW5pdF9CYWFNZW1IYWFJbml0F2FNZW0ubWVkaV9CYWFNZW1IYWFJbml0E2FCYWEuaW5pdF9CYWFCYWFZYWETYUJhYS5tZWRpX0JhYUJhYVlhYRNhWWFhLmZpbmFfQmFhQmFhWWFhFGFMYW0ubWVkaV9MYW1ZYWFGaW5hFGFZYWEuZmluYV9MYW1ZYWFGaW5hFGFLYWYuaW5pdF9LYWZCYWFJbml0FGFCYWEubWVkaV9LYWZCYWFJbml0FGFMYW0uaW5pdF9MYW1NZW1Jbml0FGFNZW0ubWVkaV9MYW1NZW1Jbml0FGFMYW0uaW5pdF9MYW1BbGZJc29sFGFBbGYuZmluYV9MYW1BbGZJc29sF2FMYW0uaW5pdF9MYW1IYWFNZW1Jbml0F2FIYWEubWVkaV9MYW1IYWFNZW1Jbml0F2FNZW0ubWVkaV9MYW1IYWFNZW1Jbml0FGFCYWEubWVkaV9CYWFCYWFJbml0FGFBeW4ubWVkaV9BeW5ZYWFGaW5hFGFNZW0uaW5pdF9NZW1SYWFJc29sFGFGYWEuaW5pdF9GYWFIYWFJbml0FGFIYWEuaW5pdF9IYWFIYWFJbml0FGFMYW0ubWVkaV9MYW1RYWZGaW5hFGFRYWYuZmluYV9MYW1RYWZGaW5hEmFTZW4uaW5pdF9BYm92ZUhhYRRhTWVtLmluaXRfTWVtSGFhSW5pdBRhTm9uLmZpbmFfQmFhTm9uSXNvbBRhS2FmLm1lZGlfS2FmTWVtRmluYRRhQmFhLmluaXRfQmFhU2VuSW5pdBRhU2VuLm1lZGlfQmFhU2VuSW5pdBRhQmFhLm1lZGlfQmFhUmFhRmluYRRhUmFhLmZpbmFfQmFhUmFhRmluYRRhS2FmLm1lZGlfS2FmUmFhRmluYRRhUmFhLmZpbmFfS2FmUmFhRmluYRRhTGFtLmluaXRfTGFtSGVoSW5pdBRhSGVoLm1lZGlfTGFtSGVoSW5pdBdhTWVtLmluaXRfTWVtSGFhTWVtSW5pdBRhQmFhLmluaXRfQmFhTWVtSW5pdBRhU2VuLmluaXRfU2VuSGFhSW5pdBRhS2FmLmluaXRfS2FmUmFhSXNvbBRhUmFhLmZpbmFfS2FmUmFhSXNvbBRhQXluLmluaXRfQXluSGFhSW5pdBRhS2FmLm1lZGlfS2FmWWFhRmluYRRhWWFhLmZpbmFfS2FmWWFhRmluYRdhTGFtLmluaXRfTGFtTWVtSGFhSW5pdBdhTWVtLm1lZGlfTGFtTWVtSGFhSW5pdBRhTGFtLm1lZGlfTGFtQWxmRmluYRRhQWxmLmZpbmFfTGFtQWxmRmluYRRhTGFtLm1lZGlfTGFtTWVtTWVkaRRhTWVtLm1lZGlfTGFtTWVtTWVkaRN1bmkwNjQ0LmluaXRfTGVsbGFoE3VuaTA2NDQubWVkaV9MZWxsYWgTdW5pMDY0Ny5maW5hX0xlbGxhaBdhQmFhLmluaXRfQmFhQmFhSGFhSW5pdBdhQmFhLm1lZGlfQmFhQmFhSGFhSW5pdBdhQmFhLm1lZGlfU2VuQmFhTWVtSW5pdBRhQmFhLmluaXRfQmFhQmFhSXNvbBRhQmFhLmZpbmFfQmFhQmFhSXNvbBdhQmFhLmluaXRfQmFhQmFhTWVtSW5pdBdhQmFhLm1lZGlfQmFhQmFhTWVtSW5pdBRhS2FmLm1lZGlfS2FmQmFhTWVkaRRhQmFhLm1lZGlfS2FmQmFhTWVkaRRhQmFhLm1lZGlfQmFhTm9uRmluYRRhTm9uLmZpbmFfQmFhTm9uRmluYRRhSGFhLmluaXRfSGFhUmFhSXNvbBRhUmFhLmZpbmFfSGFhUmFhSXNvbBRhSGVoLmluaXRfSGVoSGFhSW5pdBRhTGFtLmluaXRfTGFtUmFhSXNvbBRhUmFhLmZpbmFfTGFtUmFhSXNvbBRhU2FkLmluaXRfU2FkSGFhSW5pdBRhSGFhLm1lZGlfU2FkSGFhSW5pdBRhQmFhLm1lZGlfQmFhWWFhRmluYRRhWWFhLmZpbmFfQmFhWWFhRmluYRdhU2VuLm1lZGlfQmFhU2VuQWx0SW5pdBNhUmFhLmZpbmFfUG9zdFRvb3RoEmFCYWEuaW5pdF9BYm92ZUhhYRRhQmFhLmluaXRfQmFhSGFhSW5pdBdhQmFhLmluaXRfQmFhSGFhTWVtSW5pdBdhSGFhLm1lZGlfQmFhSGFhTWVtSW5pdBZhSGFhLmZpbmFfQWJvdmVIYWFJc29sF2FMYW0uaW5pdF9MYW1IYWFIYWFJbml0GGFIYWEubWVkaV8xTGFtSGFhSGFhSW5pdBhhSGFhLm1lZGlfMkxhbUhhYUhhYUluaXQRYUF5bi5pbml0X0ZpbmphbmkRYUhhYS5pbml0X0ZpbmphbmkRYUhhYS5tZWRpX0ZpbmphbmkQYVNlbi5pbml0X1ByZVlhYRBhU2VuLm1lZGlfUHJlWWFhEGFTYWQuaW5pdF9QcmVZYWEQYVNhZC5tZWRpX1ByZVlhYQ5hQmFhLmluaXRfSGlnaAVEb3QuYQlUd29Eb3RzLmELVGhyZWVEb3RzLmENYUthZi5pc29sLmFsdA1hS2FmLm1lZGkuYWx0CWhhbXphLmthZghkYXNoLmthZg1hS2FmLmZpbmEuYWx0DGlUaHJlZURvdHMuYQhkYXNoLmdhZg5hQmFhLm1lZGlfSGlnaA5zbWFsbHRhYS5hYm92ZQp2VHdvRG90cy5hCnJpbmcuYmVsb3cQYVNlbi5maW5hX0JhYVNlbg1kYXNoLmdhZi5hbHQyDWRhc2guZ2FmLmFsdDEOYUJhYS5pbml0X1dpZGUbYU1lbS5tZWRpX0xhbU1lbUluaXRUYXR3ZWVsEmFIYWEuaW5pdF9BYm92ZUhhYRJhTWVtLmluaXRfQWJvdmVIYWESYUthZi5pbml0X0Fib3ZlSGFhCkZvdXJEb3RzLmEMaFRocmVlRG90cy5hCWFZYWEudGFpbBB0d29zdHJva2VzLmJlbG93CmhhbXphLndhc2wKcGVyaW9kLmFyYQ11bmkwNjRCLnNtYWxsDXVuaTA2NEUuc21hbGwNdW5pMDhGMS5zbWFsbA11bmkwNjRGLnNtYWxsDnVuaTA2NTIuc21hbGwyDnVuaTA2NTAuc21hbGwyBWRvdC4xBWRvdC4yBnN0cm9rZQt1bmkwNkY0LnVyZAt1bmkwNkY2LnVyZAt1bmkwNkY3LnVyZBBhS2FmLmluaXRfS2FmTGFtFGFLYWYuZmluYV9LYWZLYWZGaW5hEGFMYW0ubWVkaV9LYWZMYW0XYUxhbS5tZWRpX0thZkxhbU1lbU1lZGkQYUthZi5tZWRpX0thZkxhbRdhTGFtLm1lZGlfS2FmTGFtSGVoSXNvbBNhTGFtLm1lZGlfS2FmTGFtWWFhE2FMYW0ubWVkaV9LYWZMYW1BbGYQYUxhbS5maW5hX0thZkxhbRBhQWxmLmZpbmFfS2FmQWxmE2FLYWYuaW5pdF9LYWZNZW1BbGYTYUthZi5tZWRpX0thZk1lbUFsZhNhTWVtLm1lZGlfS2FmTWVtQWxmE2FMYW0ubWVkaV9LYWZNZW1MYW0TYUxhbS5maW5hX0thZk1lbUxhbRNhQWxmLmZpbmFfS2FmTWVtQWxmBmF0LmFyYRBhS2FmLmluaXRfS2FmSGVoEGFLYWYubWVkaV9LYWZIZWgQYUhlaC5maW5hX0thZkhlaBBhRGFsLmZpbmFfS2FmRGFsEGFMYW0uaW5pdF9MYW1IZWgQYUxhbS5tZWRpX0xhbUhlaBBhSGVoLmZpbmFfTGFtSGVoEGFEYWwuZmluYV9MYW1EYWwUYUthZi5tZWRpX0thZk1lbU1lZGkUYUthZi5pbml0X0thZk1lbUluaXQUYUF5bi5pbml0X0F5bk1lbUluaXQUYUZhYS5pbml0X0ZhYU1lbUluaXQUYUhhYS5pbml0X0hhYU1lbUluaXQUYUhlaC5pbml0X0hlaE1lbUluaXQUYU1lbS5tZWRpX0thZk1lbU1lZGkUYVNlbi5pbml0X1Nlbk1lbUluaXQUYVNhZC5pbml0X1NhZE1lbUluaXQUYU1lbS5pbml0X01lbU1lbUluaXQUYUthZi5pbml0X0thZllhYUlzb2wUYUJhYS5pbml0X0JhYVlhYUlzb2wUYUhhYS5pbml0X0hhYVlhYUlzb2wUYU1lbS5pbml0X01lbVlhYUlzb2wUYUZhYS5pbml0X0ZhYVlhYUlzb2wUYUF5bi5pbml0X0F5bllhYUlzb2wUYUxhbS5pbml0X0xhbVlhYUlzb2wUYUhlaC5pbml0X0hlaFlhYUlzb2wUYVlhYS5maW5hX0thZllhYUlzb2wUYUthZi5pbml0X0thZk1lbUlzb2wUYUxhbS5pbml0X0xhbU1lbUlzb2wUYUJhYS5pbml0X0JhYU1lbUlzb2wUYU1lbS5maW5hX0thZk1lbUlzb2wUYU1lbS5tZWRpX01lbUFsZkZpbmEXYUJhYS5tZWRpX0JhYU1lbUFsZkZpbmEXYU1lbS5tZWRpX0JhYU1lbUFsZkZpbmEUYUFsZi5maW5hX01lbUFsZkZpbmEUYUJhYS5pbml0X0JhYUhlaEluaXQUYUJhYS5tZWRpX0JhYUhlaE1lZGkUYUhlaC5tZWRpX0JhYUhlaE1lZGkXYUxhbS5tZWRpX0thZkxhbU1lbUZpbmEUYUxhbS5pbml0X0xhbUxhbUluaXQUYUxhbS5tZWRpX0xhbUxhbUluaXQXYUxhbS5tZWRpX0xhbUxhbUFsZklzb2wUYUthZi5maW5hX0xhbUthZklzb2wUYUxhbS5maW5hX0xhbUxhbUlzb2wVdW5pMDY0NC5tZWRpX0ZhTGVsbGFoFGFMYW0ubWVkaV9MYW1MYW1NZWRpGGFMYW0ubWVkaV9MYW1MYW1BbGVmRmluYRVhTGFtLm1lZGlfTGFtTGFtTWVkaTIUYUthZi5maW5hX0xhbUthZkZpbmEUYUxhbS5maW5hX0xhbUxhbUZpbmEXYUxhbS5tZWRpX0xhbUxhbU1lbUluaXQXYUxhbS5tZWRpX0xhbUxhbUhlaElzb2wXYUxhbS5tZWRpX0xhbUxhbVlhYUlzb2wXYUxhbS5tZWRpX0xhbUxhbU1lbU1lZGkXYUxhbS5tZWRpX0xhbUxhbUhlaEZpbmEXYUxhbS5tZWRpX0xhbUxhbVlhYUZpbmEMdW5pMDYyNS5maW5hDHVuaTA2MjcuZmluYQx1bmkwNzc0LmZpbmEMdW5pMDc3My5maW5hDHVuaTA2MjMuZmluYQx1bmkwNjIyLmZpbmEMdW5pMDY3NS5maW5hDHVuaTA2NzIuZmluYQx1bmkwNjczLmZpbmEMdW5pMDY3MS5maW5hDHVuaTA2RkMuZmluYQx1bmkwNjNBLmZpbmEMdW5pMDc1RS5maW5hDHVuaTA3NUQuZmluYQx1bmkwNzVGLmZpbmEMdW5pMDZBMC5maW5hDHVuaTA2MzkuZmluYQx1bmkwNkZDLmluaXQMdW5pMDYzQS5pbml0DHVuaTA3NUUuaW5pdAx1bmkwNzVELmluaXQMdW5pMDc1Ri5pbml0DHVuaTA2QTAuaW5pdAx1bmkwNjM5LmluaXQMdW5pMDZGQy5tZWRpDHVuaTA2M0EubWVkaQx1bmkwNzVFLm1lZGkMdW5pMDc1RC5tZWRpDHVuaTA3NUYubWVkaQx1bmkwNkEwLm1lZGkMdW5pMDYzOS5tZWRpDHVuaTA3NTEuZmluYQx1bmkwNzUwLmZpbmEMdW5pMDc1My5maW5hDHVuaTA2ODAuZmluYQx1bmkwNjJBLmZpbmEMdW5pMDc1NC5maW5hDHVuaTA2MkIuZmluYQx1bmkwNjc5LmZpbmEMdW5pMDY3Qy5maW5hDHVuaTA3NTYuZmluYQx1bmkwNzUyLmZpbmEMdW5pMDY2RS5maW5hDHVuaTA2N0YuZmluYQx1bmkwNzU1LmZpbmEMdW5pMDY3RC5maW5hDHVuaTA2N0UuZmluYQx1bmkwNjdCLmZpbmEMdW5pMDYyOC5maW5hDHVuaTA2N0EuZmluYQx1bmkwNzc3LmluaXQMdW5pMDY4MC5pbml0DHVuaTA3NzYuaW5pdAx1bmkwNkJDLmluaXQMdW5pMDc1MC5pbml0DHVuaTA3NTYuaW5pdAx1bmkwNzY4LmluaXQMdW5pMDZDRS5pbml0DHVuaTA3NzUuaW5pdAx1bmkwNkJELmluaXQMdW5pMDYyNi5pbml0DHVuaTA2NkUuaW5pdAx1bmkwNjIwLmluaXQMdW5pMDY0QS5pbml0DHVuaTA2QkIuaW5pdAx1bmkwNjdGLmluaXQMdW5pMDc1NS5pbml0DHVuaTA2N0QuaW5pdAx1bmkwNjdFLmluaXQMdW5pMDY3Qi5pbml0DHVuaTA2MjguaW5pdAx1bmkwNjdBLmluaXQMdW5pMDc1MS5pbml0DHVuaTA2NDYuaW5pdAx1bmkwNzUzLmluaXQMdW5pMDc1Mi5pbml0DHVuaTA2MkEuaW5pdAx1bmkwNjc4LmluaXQMdW5pMDYzRC5pbml0DHVuaTA2MkIuaW5pdAx1bmkwNjc5LmluaXQMdW5pMDZCOS5pbml0DHVuaTA3NjkuaW5pdAx1bmkwNjQ5LmluaXQMdW5pMDY3Qy5pbml0DHVuaTA3NTQuaW5pdAx1bmkwNkQxLmluaXQMdW5pMDZEMC5pbml0DHVuaTA2QkEuaW5pdAx1bmkwNkNDLmluaXQMdW5pMDc2Ny5pbml0DHVuaTA3NzcubWVkaQx1bmkwNjgwLm1lZGkMdW5pMDc3Ni5tZWRpDHVuaTA2QkMubWVkaQx1bmkwNzUwLm1lZGkMdW5pMDc1Ni5tZWRpDHVuaTA3NjgubWVkaQx1bmkwNkNFLm1lZGkMdW5pMDc3NS5tZWRpDHVuaTA2QkQubWVkaQx1bmkwNjI2Lm1lZGkMdW5pMDY2RS5tZWRpDHVuaTA2MjAubWVkaQx1bmkwNjRBLm1lZGkMdW5pMDZCQi5tZWRpDHVuaTA2N0YubWVkaQx1bmkwNzU1Lm1lZGkMdW5pMDY3RC5tZWRpDHVuaTA2N0UubWVkaQx1bmkwNjdCLm1lZGkMdW5pMDYyOC5tZWRpDHVuaTA2N0EubWVkaQx1bmkwNzUxLm1lZGkMdW5pMDY0Ni5tZWRpDHVuaTA3NTMubWVkaQx1bmkwNzUyLm1lZGkMdW5pMDYyQS5tZWRpDHVuaTA2NzgubWVkaQx1bmkwNjNELm1lZGkMdW5pMDYyQi5tZWRpDHVuaTA2NzkubWVkaQx1bmkwNkI5Lm1lZGkMdW5pMDc2OS5tZWRpDHVuaTA2NDkubWVkaQx1bmkwNjdDLm1lZGkMdW5pMDc1NC5tZWRpDHVuaTA2RDEubWVkaQx1bmkwNkQwLm1lZGkMdW5pMDZCQS5tZWRpDHVuaTA2Q0MubWVkaQx1bmkwNzY3Lm1lZGkMdW5pMDY5MC5maW5hDHVuaTA2RUUuZmluYQx1bmkwNjg5LmZpbmEMdW5pMDY4OC5maW5hDHVuaTA3NUEuZmluYQx1bmkwNjMwLmZpbmEMdW5pMDYyRi5maW5hDHVuaTA3NTkuZmluYQx1bmkwNjhDLmZpbmEMdW5pMDY4Qi5maW5hDHVuaTA2OEEuZmluYQx1bmkwNjhGLmZpbmEMdW5pMDY4RS5maW5hDHVuaTA2OEQuZmluYQx1bmkwNzYwLmZpbmEMdW5pMDc2MS5maW5hDHVuaTA2NDEuZmluYQx1bmkwNkExLmZpbmEMdW5pMDZBMi5maW5hDHVuaTA2QTMuZmluYQx1bmkwNkE0LmZpbmEMdW5pMDZBNS5maW5hDHVuaTA2QTYuZmluYQx1bmkwNjZGLmluaXQMdW5pMDc2MS5pbml0DHVuaTA3NjAuaW5pdAx1bmkwNjQyLmluaXQMdW5pMDY0MS5pbml0DHVuaTA2QTguaW5pdAx1bmkwNkExLmluaXQMdW5pMDZBMi5pbml0DHVuaTA2QTMuaW5pdAx1bmkwNkE0LmluaXQMdW5pMDZBNS5pbml0DHVuaTA2QTYuaW5pdAx1bmkwNkE3LmluaXQMdW5pMDY2Ri5tZWRpDHVuaTA3NjEubWVkaQx1bmkwNzYwLm1lZGkMdW5pMDY0Mi5tZWRpDHVuaTA2NDEubWVkaQx1bmkwNkE4Lm1lZGkMdW5pMDZBMS5tZWRpDHVuaTA2QTIubWVkaQx1bmkwNkEzLm1lZGkMdW5pMDZBNC5tZWRpDHVuaTA2QTUubWVkaQx1bmkwNkE2Lm1lZGkMdW5pMDZBNy5tZWRpDHVuaTA2MkUuZmluYQx1bmkwNjJELmZpbmEMdW5pMDY4MS5maW5hDHVuaTA2ODcuZmluYQx1bmkwNjg1LmZpbmEMdW5pMDYyQy5maW5hDHVuaTA2ODIuZmluYQx1bmkwNzU3LmZpbmEMdW5pMDY4NC5maW5hDHVuaTA3NkYuZmluYQx1bmkwNzZFLmZpbmEMdW5pMDY4My5maW5hDHVuaTA2QkYuZmluYQx1bmkwNzdDLmZpbmEMdW5pMDc1OC5maW5hDHVuaTA3NzIuZmluYQx1bmkwNjg2LmZpbmEMdW5pMDYyRS5pbml0DHVuaTA2MkQuaW5pdAx1bmkwNjgxLmluaXQMdW5pMDY4Ny5pbml0DHVuaTA2ODUuaW5pdAx1bmkwNjJDLmluaXQMdW5pMDY4Mi5pbml0DHVuaTA3NTcuaW5pdAx1bmkwNjg0LmluaXQMdW5pMDc2Ri5pbml0DHVuaTA3NkUuaW5pdAx1bmkwNjgzLmluaXQMdW5pMDZCRi5pbml0DHVuaTA3N0MuaW5pdAx1bmkwNzU4LmluaXQMdW5pMDc3Mi5pbml0DHVuaTA2ODYuaW5pdAx1bmkwNjJFLm1lZGkMdW5pMDYyRC5tZWRpDHVuaTA2ODEubWVkaQx1bmkwNjg3Lm1lZGkMdW5pMDY4NS5tZWRpDHVuaTA2MkMubWVkaQx1bmkwNjgyLm1lZGkMdW5pMDc1Ny5tZWRpDHVuaTA2ODQubWVkaQx1bmkwNzZGLm1lZGkMdW5pMDc2RS5tZWRpDHVuaTA2ODMubWVkaQx1bmkwNkJGLm1lZGkMdW5pMDc3Qy5tZWRpDHVuaTA3NTgubWVkaQx1bmkwNzcyLm1lZGkMdW5pMDY4Ni5tZWRpDHVuaTA2NDcuZmluYQx1bmkwNkMxLmZpbmEMdW5pMDZDMy5maW5hDHVuaTA2RDUuZmluYQx1bmkwNjI5LmZpbmEMdW5pMDY0Ny5pbml0DHVuaTA2QzEuaW5pdAx1bmkwNjQ3Lm1lZGkMdW5pMDZDMS5tZWRpDHVuaTA2M0IuZmluYQx1bmkwNjNDLmZpbmEMdW5pMDc3Ri5maW5hDHVuaTA3NjQuZmluYQx1bmkwNjQzLmZpbmEMdW5pMDZCMC5maW5hDHVuaTA2QjMuZmluYQx1bmkwNkIyLmZpbmEMdW5pMDZBQi5maW5hDHVuaTA2QUMuZmluYQx1bmkwNkFELmZpbmEMdW5pMDZBRS5maW5hDHVuaTA2QUYuZmluYQx1bmkwNkE5LmZpbmEMdW5pMDZCNC5maW5hDHVuaTA3NjMuZmluYQx1bmkwNzYyLmZpbmEMdW5pMDZCMS5maW5hDHVuaTA2M0IuaW5pdAx1bmkwNjNDLmluaXQMdW5pMDc3Ri5pbml0DHVuaTA3NjQuaW5pdAx1bmkwNjQzLmluaXQMdW5pMDZCMC5pbml0DHVuaTA2QjMuaW5pdAx1bmkwNkIyLmluaXQMdW5pMDZBQi5pbml0DHVuaTA2QUMuaW5pdAx1bmkwNkFELmluaXQMdW5pMDZBRS5pbml0DHVuaTA2QUYuaW5pdAx1bmkwNkE5LmluaXQMdW5pMDZCNC5pbml0DHVuaTA3NjMuaW5pdAx1bmkwNzYyLmluaXQMdW5pMDZCMS5pbml0DHVuaTA2M0IubWVkaQx1bmkwNjNDLm1lZGkMdW5pMDc3Ri5tZWRpDHVuaTA3NjQubWVkaQx1bmkwNjQzLm1lZGkMdW5pMDZCMC5tZWRpDHVuaTA2QjMubWVkaQx1bmkwNkIyLm1lZGkMdW5pMDZBQi5tZWRpDHVuaTA2QUMubWVkaQx1bmkwNkFELm1lZGkMdW5pMDZBRS5tZWRpDHVuaTA2QUYubWVkaQx1bmkwNkE5Lm1lZGkMdW5pMDZCNC5tZWRpDHVuaTA3NjMubWVkaQx1bmkwNzYyLm1lZGkMdW5pMDZCMS5tZWRpDHVuaTA2QjUuZmluYQx1bmkwNkI3LmZpbmEMdW5pMDY0NC5maW5hDHVuaTA2QjguZmluYQx1bmkwNkI2LmZpbmEMdW5pMDc2QS5maW5hDHVuaTA2QjUuaW5pdAx1bmkwNkI3LmluaXQMdW5pMDY0NC5pbml0DHVuaTA2QjguaW5pdAx1bmkwNkI2LmluaXQMdW5pMDc2QS5pbml0DHVuaTA2QjUubWVkaQx1bmkwNkI3Lm1lZGkMdW5pMDY0NC5tZWRpDHVuaTA2QjgubWVkaQx1bmkwNkI2Lm1lZGkMdW5pMDc2QS5tZWRpDHVuaTA3NjUuZmluYQx1bmkwNjQ1LmZpbmEMdW5pMDc2Ni5maW5hDHVuaTA3NjUuaW5pdAx1bmkwNjQ1LmluaXQMdW5pMDc2Ni5pbml0DHVuaTA3NjUubWVkaQx1bmkwNjQ1Lm1lZGkMdW5pMDc2Ni5tZWRpDHVuaTA2NDYuZmluYQx1bmkwNzY3LmZpbmEMdW5pMDZCQS5maW5hDHVuaTA2QkMuZmluYQx1bmkwNkJCLmZpbmEMdW5pMDc2OC5maW5hDHVuaTA2QjkuZmluYQx1bmkwNzY5LmZpbmEMdW5pMDZCRC5maW5hDHVuaTA2QTguZmluYQx1bmkwNkE3LmZpbmEMdW5pMDY0Mi5maW5hDHVuaTA2NkYuZmluYQx1bmkwNjkxLmZpbmEMdW5pMDY5Mi5maW5hDHVuaTA2OTMuZmluYQx1bmkwNjk0LmZpbmEMdW5pMDY5NS5maW5hDHVuaTA2OTYuZmluYQx1bmkwNjk3LmZpbmEMdW5pMDY5OC5maW5hDHVuaTA2OTkuZmluYQx1bmkwNzVCLmZpbmEMdW5pMDZFRi5maW5hDHVuaTA2MzIuZmluYQx1bmkwNzcxLmZpbmEMdW5pMDYzMS5maW5hDHVuaTA3NkIuZmluYQx1bmkwNzZDLmZpbmEMdW5pMDY5RC5maW5hDHVuaTA2RkIuZmluYQx1bmkwNjM2LmZpbmEMdW5pMDY5RS5maW5hDHVuaTA2MzUuZmluYQx1bmkwNjlELmluaXQMdW5pMDZGQi5pbml0DHVuaTA2MzYuaW5pdAx1bmkwNjlFLmluaXQMdW5pMDYzNS5pbml0DHVuaTA2OUQubWVkaQx1bmkwNkZCLm1lZGkMdW5pMDYzNi5tZWRpDHVuaTA2OUUubWVkaQx1bmkwNjM1Lm1lZGkMdW5pMDZGQS5maW5hDHVuaTA3NkQuZmluYQx1bmkwNjMzLmZpbmEMdW5pMDc3RS5maW5hDHVuaTA3N0QuZmluYQx1bmkwNjM0LmZpbmEMdW5pMDc3MC5maW5hDHVuaTA3NUMuZmluYQx1bmkwNjlBLmZpbmEMdW5pMDY5Qi5maW5hDHVuaTA2OUMuZmluYQx1bmkwNkZBLmluaXQMdW5pMDc2RC5pbml0DHVuaTA2MzMuaW5pdAx1bmkwNzdFLmluaXQMdW5pMDc3RC5pbml0DHVuaTA2MzQuaW5pdAx1bmkwNzcwLmluaXQMdW5pMDc1Qy5pbml0DHVuaTA2OUEuaW5pdAx1bmkwNjlCLmluaXQMdW5pMDY5Qy5pbml0DHVuaTA2RkEubWVkaQx1bmkwNzZELm1lZGkMdW5pMDYzMy5tZWRpDHVuaTA3N0UubWVkaQx1bmkwNzdELm1lZGkMdW5pMDYzNC5tZWRpDHVuaTA3NzAubWVkaQx1bmkwNzVDLm1lZGkMdW5pMDY5QS5tZWRpDHVuaTA2OUIubWVkaQx1bmkwNjlDLm1lZGkMdW5pMDYzOC5maW5hDHVuaTA2MzcuZmluYQx1bmkwNjlGLmZpbmEMdW5pMDYzOC5pbml0DHVuaTA2MzcuaW5pdAx1bmkwNjlGLmluaXQMdW5pMDYzOC5tZWRpDHVuaTA2MzcubWVkaQx1bmkwNjlGLm1lZGkMdW5pMDZDQi5maW5hDHVuaTA2MjQuZmluYQx1bmkwNkNBLmZpbmEMdW5pMDZDRi5maW5hDHVuaTA3NzguZmluYQx1bmkwNkM2LmZpbmEMdW5pMDZDNy5maW5hDHVuaTA2QzQuZmluYQx1bmkwNkM1LmZpbmEMdW5pMDY3Ni5maW5hDHVuaTA2NzcuZmluYQx1bmkwNkM4LmZpbmEMdW5pMDZDOS5maW5hDHVuaTA3NzkuZmluYQx1bmkwNjQ4LmZpbmEMdW5pMDc3Ny5maW5hDHVuaTA2RDEuZmluYQx1bmkwNzc1LmZpbmEMdW5pMDYzRi5maW5hDHVuaTA2NzguZmluYQx1bmkwNjNELmZpbmEMdW5pMDYzRS5maW5hDHVuaTA2RDAuZmluYQx1bmkwNjQ5LmZpbmEMdW5pMDc3Ni5maW5hDHVuaTA2Q0QuZmluYQx1bmkwNkNDLmZpbmEMdW5pMDYyNi5maW5hDHVuaTA2MjAuZmluYQx1bmkwNjRBLmZpbmEMdW5pMDZDRS5maW5hF3VuaTA2QjUubWVkaV9MYW1NZW1GaW5hF3VuaTA2QjcubWVkaV9MYW1NZW1GaW5hF3VuaTA2NDQubWVkaV9MYW1NZW1GaW5hF3VuaTA2QjgubWVkaV9MYW1NZW1GaW5hF3VuaTA2QjYubWVkaV9MYW1NZW1GaW5hF3VuaTA3NkEubWVkaV9MYW1NZW1GaW5hF3VuaTA2NDUuZmluYV9MYW1NZW1GaW5hF3VuaTA3NzcuaW5pdF9CYWFSYWFJc29sF3VuaTA2ODAuaW5pdF9CYWFSYWFJc29sF3VuaTA3NzYuaW5pdF9CYWFSYWFJc29sF3VuaTA2QkMuaW5pdF9CYWFSYWFJc29sF3VuaTA3NTAuaW5pdF9CYWFSYWFJc29sF3VuaTA3NTYuaW5pdF9CYWFSYWFJc29sF3VuaTA3NjguaW5pdF9CYWFSYWFJc29sF3VuaTA2Q0UuaW5pdF9CYWFSYWFJc29sF3VuaTA3NzUuaW5pdF9CYWFSYWFJc29sF3VuaTA2QkQuaW5pdF9CYWFSYWFJc29sF3VuaTA2MjYuaW5pdF9CYWFSYWFJc29sF3VuaTA2NkUuaW5pdF9CYWFSYWFJc29sF3VuaTA2MjAuaW5pdF9CYWFSYWFJc29sF3VuaTA2NEEuaW5pdF9CYWFSYWFJc29sF3VuaTA2QkIuaW5pdF9CYWFSYWFJc29sF3VuaTA2N0YuaW5pdF9CYWFSYWFJc29sF3VuaTA3NTUuaW5pdF9CYWFSYWFJc29sF3VuaTA2N0QuaW5pdF9CYWFSYWFJc29sF3VuaTA2N0UuaW5pdF9CYWFSYWFJc29sF3VuaTA2N0IuaW5pdF9CYWFSYWFJc29sF3VuaTA2MjguaW5pdF9CYWFSYWFJc29sF3VuaTA2N0EuaW5pdF9CYWFSYWFJc29sF3VuaTA3NTEuaW5pdF9CYWFSYWFJc29sF3VuaTA2NDYuaW5pdF9CYWFSYWFJc29sF3VuaTA3NTMuaW5pdF9CYWFSYWFJc29sF3VuaTA3NTIuaW5pdF9CYWFSYWFJc29sF3VuaTA2MkEuaW5pdF9CYWFSYWFJc29sF3VuaTA2NzguaW5pdF9CYWFSYWFJc29sF3VuaTA2M0QuaW5pdF9CYWFSYWFJc29sF3VuaTA2MkIuaW5pdF9CYWFSYWFJc29sF3VuaTA2NzkuaW5pdF9CYWFSYWFJc29sF3VuaTA2QjkuaW5pdF9CYWFSYWFJc29sF3VuaTA3NjkuaW5pdF9CYWFSYWFJc29sF3VuaTA2NDkuaW5pdF9CYWFSYWFJc29sF3VuaTA2N0MuaW5pdF9CYWFSYWFJc29sF3VuaTA3NTQuaW5pdF9CYWFSYWFJc29sF3VuaTA2RDEuaW5pdF9CYWFSYWFJc29sF3VuaTA2RDAuaW5pdF9CYWFSYWFJc29sF3VuaTA2QkEuaW5pdF9CYWFSYWFJc29sF3VuaTA2Q0MuaW5pdF9CYWFSYWFJc29sF3VuaTA3NjcuaW5pdF9CYWFSYWFJc29sF3VuaTA2OTEuZmluYV9CYWFSYWFJc29sF3VuaTA2OTIuZmluYV9CYWFSYWFJc29sF3VuaTA2OTMuZmluYV9CYWFSYWFJc29sF3VuaTA2OTQuZmluYV9CYWFSYWFJc29sF3VuaTA2OTUuZmluYV9CYWFSYWFJc29sF3VuaTA2OTYuZmluYV9CYWFSYWFJc29sF3VuaTA2OTcuZmluYV9CYWFSYWFJc29sF3VuaTA2OTguZmluYV9CYWFSYWFJc29sF3VuaTA2OTkuZmluYV9CYWFSYWFJc29sF3VuaTA3NUIuZmluYV9CYWFSYWFJc29sF3VuaTA2RUYuZmluYV9CYWFSYWFJc29sF3VuaTA2MzIuZmluYV9CYWFSYWFJc29sF3VuaTA3NzEuZmluYV9CYWFSYWFJc29sF3VuaTA2MzEuZmluYV9CYWFSYWFJc29sF3VuaTA3NkIuZmluYV9CYWFSYWFJc29sF3VuaTA3NkMuZmluYV9CYWFSYWFJc29sF3VuaTA2QjUubWVkaV9MYW1XYXdGaW5hF3VuaTA2QjcubWVkaV9MYW1XYXdGaW5hF3VuaTA2NDQubWVkaV9MYW1XYXdGaW5hF3VuaTA2QjgubWVkaV9MYW1XYXdGaW5hF3VuaTA2QjYubWVkaV9MYW1XYXdGaW5hF3VuaTA3NkEubWVkaV9MYW1XYXdGaW5hF3VuaTA2Q0IuZmluYV9MYW1XYXdGaW5hF3VuaTA2MjQuZmluYV9MYW1XYXdGaW5hF3VuaTA2Q0EuZmluYV9MYW1XYXdGaW5hF3VuaTA2Q0YuZmluYV9MYW1XYXdGaW5hF3VuaTA3NzguZmluYV9MYW1XYXdGaW5hF3VuaTA2QzYuZmluYV9MYW1XYXdGaW5hF3VuaTA2QzcuZmluYV9MYW1XYXdGaW5hF3VuaTA2QzQuZmluYV9MYW1XYXdGaW5hF3VuaTA2QzUuZmluYV9MYW1XYXdGaW5hF3VuaTA2NzYuZmluYV9MYW1XYXdGaW5hF3VuaTA2NzcuZmluYV9MYW1XYXdGaW5hF3VuaTA2QzguZmluYV9MYW1XYXdGaW5hF3VuaTA2QzkuZmluYV9MYW1XYXdGaW5hF3VuaTA3NzkuZmluYV9MYW1XYXdGaW5hF3VuaTA2NDguZmluYV9MYW1XYXdGaW5hF3VuaTA2QjUuaW5pdF9MYW1IYWFJbml0F3VuaTA2QjcuaW5pdF9MYW1IYWFJbml0F3VuaTA2NDQuaW5pdF9MYW1IYWFJbml0F3VuaTA2QjguaW5pdF9MYW1IYWFJbml0F3VuaTA2QjYuaW5pdF9MYW1IYWFJbml0F3VuaTA3NkEuaW5pdF9MYW1IYWFJbml0F3VuaTA2NkYubWVkaV9GYWFZYWFGaW5hF3VuaTA3NjEubWVkaV9GYWFZYWFGaW5hF3VuaTA3NjAubWVkaV9GYWFZYWFGaW5hF3VuaTA2NDIubWVkaV9GYWFZYWFGaW5hF3VuaTA2NDEubWVkaV9GYWFZYWFGaW5hF3VuaTA2QTgubWVkaV9GYWFZYWFGaW5hF3VuaTA2QTEubWVkaV9GYWFZYWFGaW5hF3VuaTA2QTIubWVkaV9GYWFZYWFGaW5hF3VuaTA2QTMubWVkaV9GYWFZYWFGaW5hF3VuaTA2QTQubWVkaV9GYWFZYWFGaW5hF3VuaTA2QTUubWVkaV9GYWFZYWFGaW5hF3VuaTA2QTYubWVkaV9GYWFZYWFGaW5hF3VuaTA2QTcubWVkaV9GYWFZYWFGaW5hF3VuaTA3NzcuZmluYV9GYWFZYWFGaW5hF3VuaTA2RDEuZmluYV9GYWFZYWFGaW5hF3VuaTA3NzUuZmluYV9GYWFZYWFGaW5hF3VuaTA2M0YuZmluYV9GYWFZYWFGaW5hF3VuaTA2NzguZmluYV9GYWFZYWFGaW5hF3VuaTA2M0QuZmluYV9GYWFZYWFGaW5hF3VuaTA2M0UuZmluYV9GYWFZYWFGaW5hF3VuaTA2RDAuZmluYV9GYWFZYWFGaW5hF3VuaTA2NDkuZmluYV9GYWFZYWFGaW5hF3VuaTA3NzYuZmluYV9GYWFZYWFGaW5hF3VuaTA2Q0QuZmluYV9GYWFZYWFGaW5hF3VuaTA2Q0MuZmluYV9GYWFZYWFGaW5hF3VuaTA2MjYuZmluYV9GYWFZYWFGaW5hF3VuaTA2MjAuZmluYV9GYWFZYWFGaW5hF3VuaTA2NEEuZmluYV9GYWFZYWFGaW5hF3VuaTA2Q0UuZmluYV9GYWFZYWFGaW5hGnVuaTA2QjUuaW5pdF9MYW1MYW1IYWFJbml0GnVuaTA2QjcuaW5pdF9MYW1MYW1IYWFJbml0GnVuaTA2NDQuaW5pdF9MYW1MYW1IYWFJbml0GnVuaTA2QjguaW5pdF9MYW1MYW1IYWFJbml0GnVuaTA2QjYuaW5pdF9MYW1MYW1IYWFJbml0GnVuaTA3NkEuaW5pdF9MYW1MYW1IYWFJbml0GnVuaTA2QjUubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2QjcubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2NDQubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2QjgubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2QjYubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA3NkEubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2MkUubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2MkQubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2ODEubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2ODcubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2ODUubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2MkMubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2ODIubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA3NTcubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2ODQubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA3NkYubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA3NkUubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2ODMubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2QkYubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA3N0MubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA3NTgubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA3NzIubWVkaV9MYW1MYW1IYWFJbml0GnVuaTA2ODYubWVkaV9MYW1MYW1IYWFJbml0F3VuaTA3NzcubWVkaV9CYWFNZW1GaW5hF3VuaTA2ODAubWVkaV9CYWFNZW1GaW5hF3VuaTA3NzYubWVkaV9CYWFNZW1GaW5hF3VuaTA2QkMubWVkaV9CYWFNZW1GaW5hF3VuaTA3NTAubWVkaV9CYWFNZW1GaW5hF3VuaTA3NTYubWVkaV9CYWFNZW1GaW5hF3VuaTA3NjgubWVkaV9CYWFNZW1GaW5hF3VuaTA2Q0UubWVkaV9CYWFNZW1GaW5hF3VuaTA3NzUubWVkaV9CYWFNZW1GaW5hF3VuaTA2QkQubWVkaV9CYWFNZW1GaW5hF3VuaTA2MjYubWVkaV9CYWFNZW1GaW5hF3VuaTA2NkUubWVkaV9CYWFNZW1GaW5hF3VuaTA2MjAubWVkaV9CYWFNZW1GaW5hF3VuaTA2NEEubWVkaV9CYWFNZW1GaW5hF3VuaTA2QkIubWVkaV9CYWFNZW1GaW5hF3VuaTA2N0YubWVkaV9CYWFNZW1GaW5hF3VuaTA3NTUubWVkaV9CYWFNZW1GaW5hF3VuaTA2N0QubWVkaV9CYWFNZW1GaW5hF3VuaTA2N0UubWVkaV9CYWFNZW1GaW5hF3VuaTA2N0IubWVkaV9CYWFNZW1GaW5hF3VuaTA2MjgubWVkaV9CYWFNZW1GaW5hF3VuaTA2N0EubWVkaV9CYWFNZW1GaW5hF3VuaTA3NTEubWVkaV9CYWFNZW1GaW5hF3VuaTA2NDYubWVkaV9CYWFNZW1GaW5hF3VuaTA3NTMubWVkaV9CYWFNZW1GaW5hF3VuaTA3NTIubWVkaV9CYWFNZW1GaW5hF3VuaTA2MkEubWVkaV9CYWFNZW1GaW5hF3VuaTA2NzgubWVkaV9CYWFNZW1GaW5hF3VuaTA2M0QubWVkaV9CYWFNZW1GaW5hF3VuaTA2MkIubWVkaV9CYWFNZW1GaW5hF3VuaTA2NzkubWVkaV9CYWFNZW1GaW5hF3VuaTA2QjkubWVkaV9CYWFNZW1GaW5hF3VuaTA3NjkubWVkaV9CYWFNZW1GaW5hF3VuaTA2NDkubWVkaV9CYWFNZW1GaW5hF3VuaTA2N0MubWVkaV9CYWFNZW1GaW5hF3VuaTA3NTQubWVkaV9CYWFNZW1GaW5hF3VuaTA2RDEubWVkaV9CYWFNZW1GaW5hF3VuaTA2RDAubWVkaV9CYWFNZW1GaW5hF3VuaTA2QkEubWVkaV9CYWFNZW1GaW5hF3VuaTA2Q0MubWVkaV9CYWFNZW1GaW5hF3VuaTA3NjcubWVkaV9CYWFNZW1GaW5hF3VuaTA2NDUuZmluYV9CYWFNZW1GaW5hFXVuaTA2OUQuaW5pdF9BYm92ZUhhYRV1bmkwNkZCLmluaXRfQWJvdmVIYWEVdW5pMDYzNi5pbml0X0Fib3ZlSGFhFXVuaTA2OUUuaW5pdF9BYm92ZUhhYRV1bmkwNjM1LmluaXRfQWJvdmVIYWEadW5pMDZCNS5pbml0X0xhbUJhYU1lbUluaXQadW5pMDZCNy5pbml0X0xhbUJhYU1lbUluaXQadW5pMDY0NC5pbml0X0xhbUJhYU1lbUluaXQadW5pMDZCOC5pbml0X0xhbUJhYU1lbUluaXQadW5pMDZCNi5pbml0X0xhbUJhYU1lbUluaXQadW5pMDc2QS5pbml0X0xhbUJhYU1lbUluaXQadW5pMDc3Ny5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY4MC5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc3Ni5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDZCQy5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc1MC5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc1Ni5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc2OC5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDZDRS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc3NS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDZCRC5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDYyNi5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY2RS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDYyMC5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY0QS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDZCQi5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY3Ri5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc1NS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY3RC5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY3RS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY3Qi5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDYyOC5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY3QS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc1MS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY0Ni5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc1My5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc1Mi5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDYyQS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY3OC5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDYzRC5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDYyQi5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY3OS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDZCOS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc2OS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY0OS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY3Qy5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc1NC5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDZEMS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDZEMC5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDZCQS5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDZDQy5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDc2Ny5tZWRpX0xhbUJhYU1lbUluaXQadW5pMDY0NS5tZWRpX0xhbUJhYU1lbUluaXQTdW5pMDc3Ny5pbml0X0JhYURhbBN1bmkwNjgwLmluaXRfQmFhRGFsE3VuaTA3NzYuaW5pdF9CYWFEYWwTdW5pMDZCQy5pbml0X0JhYURhbBN1bmkwNzUwLmluaXRfQmFhRGFsE3VuaTA3NTYuaW5pdF9CYWFEYWwTdW5pMDc2OC5pbml0X0JhYURhbBN1bmkwNkNFLmluaXRfQmFhRGFsE3VuaTA3NzUuaW5pdF9CYWFEYWwTdW5pMDZCRC5pbml0X0JhYURhbBN1bmkwNjI2LmluaXRfQmFhRGFsE3VuaTA2NkUuaW5pdF9CYWFEYWwTdW5pMDYyMC5pbml0X0JhYURhbBN1bmkwNjRBLmluaXRfQmFhRGFsE3VuaTA2QkIuaW5pdF9CYWFEYWwTdW5pMDY3Ri5pbml0X0JhYURhbBN1bmkwNzU1LmluaXRfQmFhRGFsE3VuaTA2N0QuaW5pdF9CYWFEYWwTdW5pMDY3RS5pbml0X0JhYURhbBN1bmkwNjdCLmluaXRfQmFhRGFsE3VuaTA2MjguaW5pdF9CYWFEYWwTdW5pMDY3QS5pbml0X0JhYURhbBN1bmkwNzUxLmluaXRfQmFhRGFsE3VuaTA2NDYuaW5pdF9CYWFEYWwTdW5pMDc1My5pbml0X0JhYURhbBN1bmkwNzUyLmluaXRfQmFhRGFsE3VuaTA2MkEuaW5pdF9CYWFEYWwTdW5pMDY3OC5pbml0X0JhYURhbBN1bmkwNjNELmluaXRfQmFhRGFsE3VuaTA2MkIuaW5pdF9CYWFEYWwTdW5pMDY3OS5pbml0X0JhYURhbBN1bmkwNkI5LmluaXRfQmFhRGFsE3VuaTA3NjkuaW5pdF9CYWFEYWwTdW5pMDY0OS5pbml0X0JhYURhbBN1bmkwNjdDLmluaXRfQmFhRGFsE3VuaTA3NTQuaW5pdF9CYWFEYWwTdW5pMDZEMS5pbml0X0JhYURhbBN1bmkwNkQwLmluaXRfQmFhRGFsE3VuaTA2QkEuaW5pdF9CYWFEYWwTdW5pMDZDQy5pbml0X0JhYURhbBN1bmkwNzY3LmluaXRfQmFhRGFsE3VuaTA2OTAuZmluYV9CYWFEYWwTdW5pMDZFRS5maW5hX0JhYURhbBN1bmkwNjg5LmZpbmFfQmFhRGFsE3VuaTA2ODguZmluYV9CYWFEYWwTdW5pMDc1QS5maW5hX0JhYURhbBN1bmkwNjMwLmZpbmFfQmFhRGFsE3VuaTA2MkYuZmluYV9CYWFEYWwTdW5pMDc1OS5maW5hX0JhYURhbBN1bmkwNjhDLmZpbmFfQmFhRGFsE3VuaTA2OEIuZmluYV9CYWFEYWwTdW5pMDY4QS5maW5hX0JhYURhbBN1bmkwNjhGLmZpbmFfQmFhRGFsE3VuaTA2OEUuZmluYV9CYWFEYWwTdW5pMDY4RC5maW5hX0JhYURhbBp1bmkwNzc3LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjgwLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzc2LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNkJDLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzUwLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzU2LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzY4LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNkNFLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzc1LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNkJELmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjI2LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjZFLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjIwLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjRBLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNkJCLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjdGLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzU1LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjdELmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjdFLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjdCLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjI4LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjdBLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzUxLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjQ2LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzUzLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzUyLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjJBLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjc4LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjNELmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjJCLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjc5LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNkI5LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzY5LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjQ5LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjdDLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzU0LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNkQxLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNkQwLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNkJBLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNkNDLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNzY3LmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjQ1Lm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNjJFLm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNjJELm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNjgxLm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNjg3Lm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNjg1Lm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNjJDLm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNjgyLm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNzU3Lm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNjg0Lm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNzZGLm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNzZFLm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNjgzLm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNkJGLm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNzdDLm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNzU4Lm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNzcyLm1lZGlfQmFhTWVtSGFhSW5pdBp1bmkwNjg2Lm1lZGlfQmFhTWVtSGFhSW5pdBZ1bmkwNzc3LmluaXRfQmFhQmFhWWFhFnVuaTA2ODAuaW5pdF9CYWFCYWFZYWEWdW5pMDc3Ni5pbml0X0JhYUJhYVlhYRZ1bmkwNkJDLmluaXRfQmFhQmFhWWFhFnVuaTA3NTAuaW5pdF9CYWFCYWFZYWEWdW5pMDc1Ni5pbml0X0JhYUJhYVlhYRZ1bmkwNzY4LmluaXRfQmFhQmFhWWFhFnVuaTA2Q0UuaW5pdF9CYWFCYWFZYWEWdW5pMDc3NS5pbml0X0JhYUJhYVlhYRZ1bmkwNkJELmluaXRfQmFhQmFhWWFhFnVuaTA2MjYuaW5pdF9CYWFCYWFZYWEWdW5pMDY2RS5pbml0X0JhYUJhYVlhYRZ1bmkwNjIwLmluaXRfQmFhQmFhWWFhFnVuaTA2NEEuaW5pdF9CYWFCYWFZYWEWdW5pMDZCQi5pbml0X0JhYUJhYVlhYRZ1bmkwNjdGLmluaXRfQmFhQmFhWWFhFnVuaTA3NTUuaW5pdF9CYWFCYWFZYWEWdW5pMDY3RC5pbml0X0JhYUJhYVlhYRZ1bmkwNjdFLmluaXRfQmFhQmFhWWFhFnVuaTA2N0IuaW5pdF9CYWFCYWFZYWEWdW5pMDYyOC5pbml0X0JhYUJhYVlhYRZ1bmkwNjdBLmluaXRfQmFhQmFhWWFhFnVuaTA3NTEuaW5pdF9CYWFCYWFZYWEWdW5pMDY0Ni5pbml0X0JhYUJhYVlhYRZ1bmkwNzUzLmluaXRfQmFhQmFhWWFhFnVuaTA3NTIuaW5pdF9CYWFCYWFZYWEWdW5pMDYyQS5pbml0X0JhYUJhYVlhYRZ1bmkwNjc4LmluaXRfQmFhQmFhWWFhFnVuaTA2M0QuaW5pdF9CYWFCYWFZYWEWdW5pMDYyQi5pbml0X0JhYUJhYVlhYRZ1bmkwNjc5LmluaXRfQmFhQmFhWWFhFnVuaTA2QjkuaW5pdF9CYWFCYWFZYWEWdW5pMDc2OS5pbml0X0JhYUJhYVlhYRZ1bmkwNjQ5LmluaXRfQmFhQmFhWWFhFnVuaTA2N0MuaW5pdF9CYWFCYWFZYWEWdW5pMDc1NC5pbml0X0JhYUJhYVlhYRZ1bmkwNkQxLmluaXRfQmFhQmFhWWFhFnVuaTA2RDAuaW5pdF9CYWFCYWFZYWEWdW5pMDZCQS5pbml0X0JhYUJhYVlhYRZ1bmkwNkNDLmluaXRfQmFhQmFhWWFhFnVuaTA3NjcuaW5pdF9CYWFCYWFZYWEWdW5pMDc3Ny5tZWRpX0JhYUJhYVlhYRZ1bmkwNjgwLm1lZGlfQmFhQmFhWWFhFnVuaTA3NzYubWVkaV9CYWFCYWFZYWEWdW5pMDZCQy5tZWRpX0JhYUJhYVlhYRZ1bmkwNzUwLm1lZGlfQmFhQmFhWWFhFnVuaTA3NTYubWVkaV9CYWFCYWFZYWEWdW5pMDc2OC5tZWRpX0JhYUJhYVlhYRZ1bmkwNkNFLm1lZGlfQmFhQmFhWWFhFnVuaTA3NzUubWVkaV9CYWFCYWFZYWEWdW5pMDZCRC5tZWRpX0JhYUJhYVlhYRZ1bmkwNjI2Lm1lZGlfQmFhQmFhWWFhFnVuaTA2NkUubWVkaV9CYWFCYWFZYWEWdW5pMDYyMC5tZWRpX0JhYUJhYVlhYRZ1bmkwNjRBLm1lZGlfQmFhQmFhWWFhFnVuaTA2QkIubWVkaV9CYWFCYWFZYWEWdW5pMDY3Ri5tZWRpX0JhYUJhYVlhYRZ1bmkwNzU1Lm1lZGlfQmFhQmFhWWFhFnVuaTA2N0QubWVkaV9CYWFCYWFZYWEWdW5pMDY3RS5tZWRpX0JhYUJhYVlhYRZ1bmkwNjdCLm1lZGlfQmFhQmFhWWFhFnVuaTA2MjgubWVkaV9CYWFCYWFZYWEWdW5pMDY3QS5tZWRpX0JhYUJhYVlhYRZ1bmkwNzUxLm1lZGlfQmFhQmFhWWFhFnVuaTA2NDYubWVkaV9CYWFCYWFZYWEWdW5pMDc1My5tZWRpX0JhYUJhYVlhYRZ1bmkwNzUyLm1lZGlfQmFhQmFhWWFhFnVuaTA2MkEubWVkaV9CYWFCYWFZYWEWdW5pMDY3OC5tZWRpX0JhYUJhYVlhYRZ1bmkwNjNELm1lZGlfQmFhQmFhWWFhFnVuaTA2MkIubWVkaV9CYWFCYWFZYWEWdW5pMDY3OS5tZWRpX0JhYUJhYVlhYRZ1bmkwNkI5Lm1lZGlfQmFhQmFhWWFhFnVuaTA3NjkubWVkaV9CYWFCYWFZYWEWdW5pMDY0OS5tZWRpX0JhYUJhYVlhYRZ1bmkwNjdDLm1lZGlfQmFhQmFhWWFhFnVuaTA3NTQubWVkaV9CYWFCYWFZYWEWdW5pMDZEMS5tZWRpX0JhYUJhYVlhYRZ1bmkwNkQwLm1lZGlfQmFhQmFhWWFhFnVuaTA2QkEubWVkaV9CYWFCYWFZYWEWdW5pMDZDQy5tZWRpX0JhYUJhYVlhYRZ1bmkwNzY3Lm1lZGlfQmFhQmFhWWFhFnVuaTA3NzcuZmluYV9CYWFCYWFZYWEWdW5pMDZEMS5maW5hX0JhYUJhYVlhYRZ1bmkwNzc1LmZpbmFfQmFhQmFhWWFhFnVuaTA2M0YuZmluYV9CYWFCYWFZYWEWdW5pMDY3OC5maW5hX0JhYUJhYVlhYRZ1bmkwNjNELmZpbmFfQmFhQmFhWWFhFnVuaTA2M0UuZmluYV9CYWFCYWFZYWEWdW5pMDZEMC5maW5hX0JhYUJhYVlhYRZ1bmkwNjQ5LmZpbmFfQmFhQmFhWWFhFnVuaTA3NzYuZmluYV9CYWFCYWFZYWEWdW5pMDZDRC5maW5hX0JhYUJhYVlhYRZ1bmkwNkNDLmZpbmFfQmFhQmFhWWFhFnVuaTA2MjYuZmluYV9CYWFCYWFZYWEWdW5pMDYyMC5maW5hX0JhYUJhYVlhYRZ1bmkwNjRBLmZpbmFfQmFhQmFhWWFhFnVuaTA2Q0UuZmluYV9CYWFCYWFZYWEXdW5pMDZCNS5tZWRpX0xhbVlhYUZpbmEXdW5pMDZCNy5tZWRpX0xhbVlhYUZpbmEXdW5pMDY0NC5tZWRpX0xhbVlhYUZpbmEXdW5pMDZCOC5tZWRpX0xhbVlhYUZpbmEXdW5pMDZCNi5tZWRpX0xhbVlhYUZpbmEXdW5pMDc2QS5tZWRpX0xhbVlhYUZpbmEXdW5pMDc3Ny5maW5hX0xhbVlhYUZpbmEXdW5pMDZEMS5maW5hX0xhbVlhYUZpbmEXdW5pMDc3NS5maW5hX0xhbVlhYUZpbmEXdW5pMDYzRi5maW5hX0xhbVlhYUZpbmEXdW5pMDY3OC5maW5hX0xhbVlhYUZpbmEXdW5pMDYzRC5maW5hX0xhbVlhYUZpbmEXdW5pMDYzRS5maW5hX0xhbVlhYUZpbmEXdW5pMDZEMC5maW5hX0xhbVlhYUZpbmEXdW5pMDY0OS5maW5hX0xhbVlhYUZpbmEXdW5pMDc3Ni5maW5hX0xhbVlhYUZpbmEXdW5pMDZDRC5maW5hX0xhbVlhYUZpbmEXdW5pMDZDQy5maW5hX0xhbVlhYUZpbmEXdW5pMDYyNi5maW5hX0xhbVlhYUZpbmEXdW5pMDYyMC5maW5hX0xhbVlhYUZpbmEXdW5pMDY0QS5maW5hX0xhbVlhYUZpbmEXdW5pMDZDRS5maW5hX0xhbVlhYUZpbmEXdW5pMDYzQi5pbml0X0thZkJhYUluaXQXdW5pMDYzQy5pbml0X0thZkJhYUluaXQXdW5pMDc3Ri5pbml0X0thZkJhYUluaXQXdW5pMDc2NC5pbml0X0thZkJhYUluaXQXdW5pMDY0My5pbml0X0thZkJhYUluaXQXdW5pMDZCMC5pbml0X0thZkJhYUluaXQXdW5pMDZCMy5pbml0X0thZkJhYUluaXQXdW5pMDZCMi5pbml0X0thZkJhYUluaXQXdW5pMDZBQi5pbml0X0thZkJhYUluaXQXdW5pMDZBQy5pbml0X0thZkJhYUluaXQXdW5pMDZBRC5pbml0X0thZkJhYUluaXQXdW5pMDZBRS5pbml0X0thZkJhYUluaXQXdW5pMDZBRi5pbml0X0thZkJhYUluaXQXdW5pMDZBOS5pbml0X0thZkJhYUluaXQXdW5pMDZCNC5pbml0X0thZkJhYUluaXQXdW5pMDc2My5pbml0X0thZkJhYUluaXQXdW5pMDc2Mi5pbml0X0thZkJhYUluaXQXdW5pMDZCMS5pbml0X0thZkJhYUluaXQXdW5pMDc3Ny5tZWRpX0thZkJhYUluaXQXdW5pMDY4MC5tZWRpX0thZkJhYUluaXQXdW5pMDc3Ni5tZWRpX0thZkJhYUluaXQXdW5pMDZCQy5tZWRpX0thZkJhYUluaXQXdW5pMDc1MC5tZWRpX0thZkJhYUluaXQXdW5pMDc1Ni5tZWRpX0thZkJhYUluaXQXdW5pMDc2OC5tZWRpX0thZkJhYUluaXQXdW5pMDZDRS5tZWRpX0thZkJhYUluaXQXdW5pMDc3NS5tZWRpX0thZkJhYUluaXQXdW5pMDZCRC5tZWRpX0thZkJhYUluaXQXdW5pMDYyNi5tZWRpX0thZkJhYUluaXQXdW5pMDY2RS5tZWRpX0thZkJhYUluaXQXdW5pMDYyMC5tZWRpX0thZkJhYUluaXQXdW5pMDY0QS5tZWRpX0thZkJhYUluaXQXdW5pMDZCQi5tZWRpX0thZkJhYUluaXQXdW5pMDY3Ri5tZWRpX0thZkJhYUluaXQXdW5pMDc1NS5tZWRpX0thZkJhYUluaXQXdW5pMDY3RC5tZWRpX0thZkJhYUluaXQXdW5pMDY3RS5tZWRpX0thZkJhYUluaXQXdW5pMDY3Qi5tZWRpX0thZkJhYUluaXQXdW5pMDYyOC5tZWRpX0thZkJhYUluaXQXdW5pMDY3QS5tZWRpX0thZkJhYUluaXQXdW5pMDc1MS5tZWRpX0thZkJhYUluaXQXdW5pMDY0Ni5tZWRpX0thZkJhYUluaXQXdW5pMDc1My5tZWRpX0thZkJhYUluaXQXdW5pMDc1Mi5tZWRpX0thZkJhYUluaXQXdW5pMDYyQS5tZWRpX0thZkJhYUluaXQXdW5pMDY3OC5tZWRpX0thZkJhYUluaXQXdW5pMDYzRC5tZWRpX0thZkJhYUluaXQXdW5pMDYyQi5tZWRpX0thZkJhYUluaXQXdW5pMDY3OS5tZWRpX0thZkJhYUluaXQXdW5pMDZCOS5tZWRpX0thZkJhYUluaXQXdW5pMDc2OS5tZWRpX0thZkJhYUluaXQXdW5pMDY0OS5tZWRpX0thZkJhYUluaXQXdW5pMDY3Qy5tZWRpX0thZkJhYUluaXQXdW5pMDc1NC5tZWRpX0thZkJhYUluaXQXdW5pMDZEMS5tZWRpX0thZkJhYUluaXQXdW5pMDZEMC5tZWRpX0thZkJhYUluaXQXdW5pMDZCQS5tZWRpX0thZkJhYUluaXQXdW5pMDZDQy5tZWRpX0thZkJhYUluaXQXdW5pMDc2Ny5tZWRpX0thZkJhYUluaXQXdW5pMDZCNS5pbml0X0xhbU1lbUluaXQXdW5pMDZCNy5pbml0X0xhbU1lbUluaXQXdW5pMDY0NC5pbml0X0xhbU1lbUluaXQXdW5pMDZCOC5pbml0X0xhbU1lbUluaXQXdW5pMDZCNi5pbml0X0xhbU1lbUluaXQXdW5pMDc2QS5pbml0X0xhbU1lbUluaXQXdW5pMDY0NS5tZWRpX0xhbU1lbUluaXQXdW5pMDZCNS5pbml0X0xhbUFsZklzb2wXdW5pMDZCNy5pbml0X0xhbUFsZklzb2wXdW5pMDY0NC5pbml0X0xhbUFsZklzb2wXdW5pMDZCOC5pbml0X0xhbUFsZklzb2wXdW5pMDZCNi5pbml0X0xhbUFsZklzb2wXdW5pMDc2QS5pbml0X0xhbUFsZklzb2wXdW5pMDYyNS5maW5hX0xhbUFsZklzb2wXdW5pMDYyNy5maW5hX0xhbUFsZklzb2wXdW5pMDc3NC5maW5hX0xhbUFsZklzb2wXdW5pMDc3My5maW5hX0xhbUFsZklzb2wXdW5pMDYyMy5maW5hX0xhbUFsZklzb2wXdW5pMDYyMi5maW5hX0xhbUFsZklzb2wXdW5pMDY3NS5maW5hX0xhbUFsZklzb2wXdW5pMDY3Mi5maW5hX0xhbUFsZklzb2wXdW5pMDY3My5maW5hX0xhbUFsZklzb2wXdW5pMDY3MS5maW5hX0xhbUFsZklzb2wadW5pMDZCNS5pbml0X0xhbUhhYU1lbUluaXQadW5pMDZCNy5pbml0X0xhbUhhYU1lbUluaXQadW5pMDY0NC5pbml0X0xhbUhhYU1lbUluaXQadW5pMDZCOC5pbml0X0xhbUhhYU1lbUluaXQadW5pMDZCNi5pbml0X0xhbUhhYU1lbUluaXQadW5pMDc2QS5pbml0X0xhbUhhYU1lbUluaXQadW5pMDYyRS5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDYyRC5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDY4MS5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDY4Ny5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDY4NS5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDYyQy5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDY4Mi5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDc1Ny5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDY4NC5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDc2Ri5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDc2RS5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDY4My5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDZCRi5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDc3Qy5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDc1OC5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDc3Mi5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDY4Ni5tZWRpX0xhbUhhYU1lbUluaXQadW5pMDY0NS5tZWRpX0xhbUhhYU1lbUluaXQXdW5pMDc3Ny5tZWRpX0JhYUJhYUluaXQXdW5pMDY4MC5tZWRpX0JhYUJhYUluaXQXdW5pMDc3Ni5tZWRpX0JhYUJhYUluaXQXdW5pMDZCQy5tZWRpX0JhYUJhYUluaXQXdW5pMDc1MC5tZWRpX0JhYUJhYUluaXQXdW5pMDc1Ni5tZWRpX0JhYUJhYUluaXQXdW5pMDc2OC5tZWRpX0JhYUJhYUluaXQXdW5pMDZDRS5tZWRpX0JhYUJhYUluaXQXdW5pMDc3NS5tZWRpX0JhYUJhYUluaXQXdW5pMDZCRC5tZWRpX0JhYUJhYUluaXQXdW5pMDYyNi5tZWRpX0JhYUJhYUluaXQXdW5pMDY2RS5tZWRpX0JhYUJhYUluaXQXdW5pMDYyMC5tZWRpX0JhYUJhYUluaXQXdW5pMDY0QS5tZWRpX0JhYUJhYUluaXQXdW5pMDZCQi5tZWRpX0JhYUJhYUluaXQXdW5pMDY3Ri5tZWRpX0JhYUJhYUluaXQXdW5pMDc1NS5tZWRpX0JhYUJhYUluaXQXdW5pMDY3RC5tZWRpX0JhYUJhYUluaXQXdW5pMDY3RS5tZWRpX0JhYUJhYUluaXQXdW5pMDY3Qi5tZWRpX0JhYUJhYUluaXQXdW5pMDYyOC5tZWRpX0JhYUJhYUluaXQXdW5pMDY3QS5tZWRpX0JhYUJhYUluaXQXdW5pMDc1MS5tZWRpX0JhYUJhYUluaXQXdW5pMDY0Ni5tZWRpX0JhYUJhYUluaXQXdW5pMDc1My5tZWRpX0JhYUJhYUluaXQXdW5pMDc1Mi5tZWRpX0JhYUJhYUluaXQXdW5pMDYyQS5tZWRpX0JhYUJhYUluaXQXdW5pMDY3OC5tZWRpX0JhYUJhYUluaXQXdW5pMDYzRC5tZWRpX0JhYUJhYUluaXQXdW5pMDYyQi5tZWRpX0JhYUJhYUluaXQXdW5pMDY3OS5tZWRpX0JhYUJhYUluaXQXdW5pMDZCOS5tZWRpX0JhYUJhYUluaXQXdW5pMDc2OS5tZWRpX0JhYUJhYUluaXQXdW5pMDY0OS5tZWRpX0JhYUJhYUluaXQXdW5pMDY3Qy5tZWRpX0JhYUJhYUluaXQXdW5pMDc1NC5tZWRpX0JhYUJhYUluaXQXdW5pMDZEMS5tZWRpX0JhYUJhYUluaXQXdW5pMDZEMC5tZWRpX0JhYUJhYUluaXQXdW5pMDZCQS5tZWRpX0JhYUJhYUluaXQXdW5pMDZDQy5tZWRpX0JhYUJhYUluaXQXdW5pMDc2Ny5tZWRpX0JhYUJhYUluaXQXdW5pMDZGQy5tZWRpX0F5bllhYUZpbmEXdW5pMDYzQS5tZWRpX0F5bllhYUZpbmEXdW5pMDc1RS5tZWRpX0F5bllhYUZpbmEXdW5pMDc1RC5tZWRpX0F5bllhYUZpbmEXdW5pMDc1Ri5tZWRpX0F5bllhYUZpbmEXdW5pMDZBMC5tZWRpX0F5bllhYUZpbmEXdW5pMDYzOS5tZWRpX0F5bllhYUZpbmEXdW5pMDY0NS5pbml0X01lbVJhYUlzb2wXdW5pMDY5MS5maW5hX01lbVJhYUlzb2wXdW5pMDY5Mi5maW5hX01lbVJhYUlzb2wXdW5pMDY5My5maW5hX01lbVJhYUlzb2wXdW5pMDY5NC5maW5hX01lbVJhYUlzb2wXdW5pMDY5NS5maW5hX01lbVJhYUlzb2wXdW5pMDY5Ni5maW5hX01lbVJhYUlzb2wXdW5pMDY5Ny5maW5hX01lbVJhYUlzb2wXdW5pMDY5OC5maW5hX01lbVJhYUlzb2wXdW5pMDY5OS5maW5hX01lbVJhYUlzb2wXdW5pMDc1Qi5maW5hX01lbVJhYUlzb2wXdW5pMDZFRi5maW5hX01lbVJhYUlzb2wXdW5pMDYzMi5maW5hX01lbVJhYUlzb2wXdW5pMDc3MS5maW5hX01lbVJhYUlzb2wXdW5pMDYzMS5maW5hX01lbVJhYUlzb2wXdW5pMDc2Qi5maW5hX01lbVJhYUlzb2wXdW5pMDc2Qy5maW5hX01lbVJhYUlzb2wXdW5pMDY2Ri5pbml0X0ZhYUhhYUluaXQXdW5pMDc2MS5pbml0X0ZhYUhhYUluaXQXdW5pMDc2MC5pbml0X0ZhYUhhYUluaXQXdW5pMDY0Mi5pbml0X0ZhYUhhYUluaXQXdW5pMDY0MS5pbml0X0ZhYUhhYUluaXQXdW5pMDZBOC5pbml0X0ZhYUhhYUluaXQXdW5pMDZBMS5pbml0X0ZhYUhhYUluaXQXdW5pMDZBMi5pbml0X0ZhYUhhYUluaXQXdW5pMDZBMy5pbml0X0ZhYUhhYUluaXQXdW5pMDZBNC5pbml0X0ZhYUhhYUluaXQXdW5pMDZBNS5pbml0X0ZhYUhhYUluaXQXdW5pMDZBNi5pbml0X0ZhYUhhYUluaXQXdW5pMDZBNy5pbml0X0ZhYUhhYUluaXQXdW5pMDYyRS5tZWRpX0ZhYUhhYUluaXQXdW5pMDYyRC5tZWRpX0ZhYUhhYUluaXQXdW5pMDY4MS5tZWRpX0ZhYUhhYUluaXQXdW5pMDY4Ny5tZWRpX0ZhYUhhYUluaXQXdW5pMDY4NS5tZWRpX0ZhYUhhYUluaXQXdW5pMDYyQy5tZWRpX0ZhYUhhYUluaXQXdW5pMDY4Mi5tZWRpX0ZhYUhhYUluaXQXdW5pMDc1Ny5tZWRpX0ZhYUhhYUluaXQXdW5pMDY4NC5tZWRpX0ZhYUhhYUluaXQXdW5pMDc2Ri5tZWRpX0ZhYUhhYUluaXQXdW5pMDc2RS5tZWRpX0ZhYUhhYUluaXQXdW5pMDY4My5tZWRpX0ZhYUhhYUluaXQXdW5pMDZCRi5tZWRpX0ZhYUhhYUluaXQXdW5pMDc3Qy5tZWRpX0ZhYUhhYUluaXQXdW5pMDc1OC5tZWRpX0ZhYUhhYUluaXQXdW5pMDc3Mi5tZWRpX0ZhYUhhYUluaXQXdW5pMDY4Ni5tZWRpX0ZhYUhhYUluaXQXdW5pMDYyRS5pbml0X0hhYUhhYUluaXQXdW5pMDYyRC5pbml0X0hhYUhhYUluaXQXdW5pMDY4MS5pbml0X0hhYUhhYUluaXQXdW5pMDY4Ny5pbml0X0hhYUhhYUluaXQXdW5pMDY4NS5pbml0X0hhYUhhYUluaXQXdW5pMDYyQy5pbml0X0hhYUhhYUluaXQXdW5pMDY4Mi5pbml0X0hhYUhhYUluaXQXdW5pMDc1Ny5pbml0X0hhYUhhYUluaXQXdW5pMDY4NC5pbml0X0hhYUhhYUluaXQXdW5pMDc2Ri5pbml0X0hhYUhhYUluaXQXdW5pMDc2RS5pbml0X0hhYUhhYUluaXQXdW5pMDY4My5pbml0X0hhYUhhYUluaXQXdW5pMDZCRi5pbml0X0hhYUhhYUluaXQXdW5pMDc3Qy5pbml0X0hhYUhhYUluaXQXdW5pMDc1OC5pbml0X0hhYUhhYUluaXQXdW5pMDc3Mi5pbml0X0hhYUhhYUluaXQXdW5pMDY4Ni5pbml0X0hhYUhhYUluaXQXdW5pMDZCNS5tZWRpX0xhbVFhZkZpbmEXdW5pMDZCNy5tZWRpX0xhbVFhZkZpbmEXdW5pMDY0NC5tZWRpX0xhbVFhZkZpbmEXdW5pMDZCOC5tZWRpX0xhbVFhZkZpbmEXdW5pMDZCNi5tZWRpX0xhbVFhZkZpbmEXdW5pMDc2QS5tZWRpX0xhbVFhZkZpbmEXdW5pMDZBOC5maW5hX0xhbVFhZkZpbmEXdW5pMDZBNy5maW5hX0xhbVFhZkZpbmEXdW5pMDY0Mi5maW5hX0xhbVFhZkZpbmEXdW5pMDY2Ri5maW5hX0xhbVFhZkZpbmEVdW5pMDZGQS5pbml0X0Fib3ZlSGFhFXVuaTA3NkQuaW5pdF9BYm92ZUhhYRV1bmkwNjMzLmluaXRfQWJvdmVIYWEVdW5pMDc3RS5pbml0X0Fib3ZlSGFhFXVuaTA3N0QuaW5pdF9BYm92ZUhhYRV1bmkwNjM0LmluaXRfQWJvdmVIYWEVdW5pMDc3MC5pbml0X0Fib3ZlSGFhFXVuaTA3NUMuaW5pdF9BYm92ZUhhYRV1bmkwNjlBLmluaXRfQWJvdmVIYWEVdW5pMDY5Qi5pbml0X0Fib3ZlSGFhFXVuaTA2OUMuaW5pdF9BYm92ZUhhYRd1bmkwNjQ1LmluaXRfTWVtSGFhSW5pdBd1bmkwNzc3LmluaXRfQmFhTm9uSXNvbBd1bmkwNjgwLmluaXRfQmFhTm9uSXNvbBd1bmkwNzc2LmluaXRfQmFhTm9uSXNvbBd1bmkwNkJDLmluaXRfQmFhTm9uSXNvbBd1bmkwNzUwLmluaXRfQmFhTm9uSXNvbBd1bmkwNzU2LmluaXRfQmFhTm9uSXNvbBd1bmkwNzY4LmluaXRfQmFhTm9uSXNvbBd1bmkwNkNFLmluaXRfQmFhTm9uSXNvbBd1bmkwNzc1LmluaXRfQmFhTm9uSXNvbBd1bmkwNkJELmluaXRfQmFhTm9uSXNvbBd1bmkwNjI2LmluaXRfQmFhTm9uSXNvbBd1bmkwNjZFLmluaXRfQmFhTm9uSXNvbBd1bmkwNjIwLmluaXRfQmFhTm9uSXNvbBd1bmkwNjRBLmluaXRfQmFhTm9uSXNvbBd1bmkwNkJCLmluaXRfQmFhTm9uSXNvbBd1bmkwNjdGLmluaXRfQmFhTm9uSXNvbBd1bmkwNzU1LmluaXRfQmFhTm9uSXNvbBd1bmkwNjdELmluaXRfQmFhTm9uSXNvbBd1bmkwNjdFLmluaXRfQmFhTm9uSXNvbBd1bmkwNjdCLmluaXRfQmFhTm9uSXNvbBd1bmkwNjI4LmluaXRfQmFhTm9uSXNvbBd1bmkwNjdBLmluaXRfQmFhTm9uSXNvbBd1bmkwNzUxLmluaXRfQmFhTm9uSXNvbBd1bmkwNjQ2LmluaXRfQmFhTm9uSXNvbBd1bmkwNzUzLmluaXRfQmFhTm9uSXNvbBd1bmkwNzUyLmluaXRfQmFhTm9uSXNvbBd1bmkwNjJBLmluaXRfQmFhTm9uSXNvbBd1bmkwNjc4LmluaXRfQmFhTm9uSXNvbBd1bmkwNjNELmluaXRfQmFhTm9uSXNvbBd1bmkwNjJCLmluaXRfQmFhTm9uSXNvbBd1bmkwNjc5LmluaXRfQmFhTm9uSXNvbBd1bmkwNkI5LmluaXRfQmFhTm9uSXNvbBd1bmkwNzY5LmluaXRfQmFhTm9uSXNvbBd1bmkwNjQ5LmluaXRfQmFhTm9uSXNvbBd1bmkwNjdDLmluaXRfQmFhTm9uSXNvbBd1bmkwNzU0LmluaXRfQmFhTm9uSXNvbBd1bmkwNkQxLmluaXRfQmFhTm9uSXNvbBd1bmkwNkQwLmluaXRfQmFhTm9uSXNvbBd1bmkwNkJBLmluaXRfQmFhTm9uSXNvbBd1bmkwNkNDLmluaXRfQmFhTm9uSXNvbBd1bmkwNzY3LmluaXRfQmFhTm9uSXNvbBd1bmkwNjQ2LmZpbmFfQmFhTm9uSXNvbBd1bmkwNzY3LmZpbmFfQmFhTm9uSXNvbBd1bmkwNkJBLmZpbmFfQmFhTm9uSXNvbBd1bmkwNkJDLmZpbmFfQmFhTm9uSXNvbBd1bmkwNkJCLmZpbmFfQmFhTm9uSXNvbBd1bmkwNzY4LmZpbmFfQmFhTm9uSXNvbBd1bmkwNkI5LmZpbmFfQmFhTm9uSXNvbBd1bmkwNzY5LmZpbmFfQmFhTm9uSXNvbBd1bmkwNkJELmZpbmFfQmFhTm9uSXNvbBd1bmkwNjNCLm1lZGlfS2FmTWVtRmluYRd1bmkwNjNDLm1lZGlfS2FmTWVtRmluYRd1bmkwNzdGLm1lZGlfS2FmTWVtRmluYRd1bmkwNzY0Lm1lZGlfS2FmTWVtRmluYRd1bmkwNjQzLm1lZGlfS2FmTWVtRmluYRd1bmkwNkIwLm1lZGlfS2FmTWVtRmluYRd1bmkwNkIzLm1lZGlfS2FmTWVtRmluYRd1bmkwNkIyLm1lZGlfS2FmTWVtRmluYRd1bmkwNkFCLm1lZGlfS2FmTWVtRmluYRd1bmkwNkFDLm1lZGlfS2FmTWVtRmluYRd1bmkwNkFELm1lZGlfS2FmTWVtRmluYRd1bmkwNkFFLm1lZGlfS2FmTWVtRmluYRd1bmkwNkFGLm1lZGlfS2FmTWVtRmluYRd1bmkwNkE5Lm1lZGlfS2FmTWVtRmluYRd1bmkwNkI0Lm1lZGlfS2FmTWVtRmluYRd1bmkwNzYzLm1lZGlfS2FmTWVtRmluYRd1bmkwNzYyLm1lZGlfS2FmTWVtRmluYRd1bmkwNkIxLm1lZGlfS2FmTWVtRmluYRd1bmkwNjQ1LmZpbmFfS2FmTWVtRmluYRd1bmkwNzc3LmluaXRfQmFhU2VuSW5pdBd1bmkwNjgwLmluaXRfQmFhU2VuSW5pdBd1bmkwNzc2LmluaXRfQmFhU2VuSW5pdBd1bmkwNkJDLmluaXRfQmFhU2VuSW5pdBd1bmkwNzUwLmluaXRfQmFhU2VuSW5pdBd1bmkwNzU2LmluaXRfQmFhU2VuSW5pdBd1bmkwNzY4LmluaXRfQmFhU2VuSW5pdBd1bmkwNkNFLmluaXRfQmFhU2VuSW5pdBd1bmkwNzc1LmluaXRfQmFhU2VuSW5pdBd1bmkwNkJELmluaXRfQmFhU2VuSW5pdBd1bmkwNjI2LmluaXRfQmFhU2VuSW5pdBd1bmkwNjZFLmluaXRfQmFhU2VuSW5pdBd1bmkwNjIwLmluaXRfQmFhU2VuSW5pdBd1bmkwNjRBLmluaXRfQmFhU2VuSW5pdBd1bmkwNkJCLmluaXRfQmFhU2VuSW5pdBd1bmkwNjdGLmluaXRfQmFhU2VuSW5pdBd1bmkwNzU1LmluaXRfQmFhU2VuSW5pdBd1bmkwNjdELmluaXRfQmFhU2VuSW5pdBd1bmkwNjdFLmluaXRfQmFhU2VuSW5pdBd1bmkwNjdCLmluaXRfQmFhU2VuSW5pdBd1bmkwNjI4LmluaXRfQmFhU2VuSW5pdBd1bmkwNjdBLmluaXRfQmFhU2VuSW5pdBd1bmkwNzUxLmluaXRfQmFhU2VuSW5pdBd1bmkwNjQ2LmluaXRfQmFhU2VuSW5pdBd1bmkwNzUzLmluaXRfQmFhU2VuSW5pdBd1bmkwNzUyLmluaXRfQmFhU2VuSW5pdBd1bmkwNjJBLmluaXRfQmFhU2VuSW5pdBd1bmkwNjc4LmluaXRfQmFhU2VuSW5pdBd1bmkwNjNELmluaXRfQmFhU2VuSW5pdBd1bmkwNjJCLmluaXRfQmFhU2VuSW5pdBd1bmkwNjc5LmluaXRfQmFhU2VuSW5pdBd1bmkwNkI5LmluaXRfQmFhU2VuSW5pdBd1bmkwNzY5LmluaXRfQmFhU2VuSW5pdBd1bmkwNjQ5LmluaXRfQmFhU2VuSW5pdBd1bmkwNjdDLmluaXRfQmFhU2VuSW5pdBd1bmkwNzU0LmluaXRfQmFhU2VuSW5pdBd1bmkwNkQxLmluaXRfQmFhU2VuSW5pdBd1bmkwNkQwLmluaXRfQmFhU2VuSW5pdBd1bmkwNkJBLmluaXRfQmFhU2VuSW5pdBd1bmkwNkNDLmluaXRfQmFhU2VuSW5pdBd1bmkwNzY3LmluaXRfQmFhU2VuSW5pdBd1bmkwNkZBLm1lZGlfQmFhU2VuSW5pdBd1bmkwNzZELm1lZGlfQmFhU2VuSW5pdBd1bmkwNjMzLm1lZGlfQmFhU2VuSW5pdBd1bmkwNzdFLm1lZGlfQmFhU2VuSW5pdBd1bmkwNzdELm1lZGlfQmFhU2VuSW5pdBd1bmkwNjM0Lm1lZGlfQmFhU2VuSW5pdBd1bmkwNzcwLm1lZGlfQmFhU2VuSW5pdBd1bmkwNzVDLm1lZGlfQmFhU2VuSW5pdBd1bmkwNjlBLm1lZGlfQmFhU2VuSW5pdBd1bmkwNjlCLm1lZGlfQmFhU2VuSW5pdBd1bmkwNjlDLm1lZGlfQmFhU2VuSW5pdBd1bmkwNzc3Lm1lZGlfQmFhUmFhRmluYRd1bmkwNjgwLm1lZGlfQmFhUmFhRmluYRd1bmkwNzc2Lm1lZGlfQmFhUmFhRmluYRd1bmkwNkJDLm1lZGlfQmFhUmFhRmluYRd1bmkwNzUwLm1lZGlfQmFhUmFhRmluYRd1bmkwNzU2Lm1lZGlfQmFhUmFhRmluYRd1bmkwNzY4Lm1lZGlfQmFhUmFhRmluYRd1bmkwNkNFLm1lZGlfQmFhUmFhRmluYRd1bmkwNzc1Lm1lZGlfQmFhUmFhRmluYRd1bmkwNkJELm1lZGlfQmFhUmFhRmluYRd1bmkwNjI2Lm1lZGlfQmFhUmFhRmluYRd1bmkwNjZFLm1lZGlfQmFhUmFhRmluYRd1bmkwNjIwLm1lZGlfQmFhUmFhRmluYRd1bmkwNjRBLm1lZGlfQmFhUmFhRmluYRd1bmkwNkJCLm1lZGlfQmFhUmFhRmluYRd1bmkwNjdGLm1lZGlfQmFhUmFhRmluYRd1bmkwNzU1Lm1lZGlfQmFhUmFhRmluYRd1bmkwNjdELm1lZGlfQmFhUmFhRmluYRd1bmkwNjdFLm1lZGlfQmFhUmFhRmluYRd1bmkwNjdCLm1lZGlfQmFhUmFhRmluYRd1bmkwNjI4Lm1lZGlfQmFhUmFhRmluYRd1bmkwNjdBLm1lZGlfQmFhUmFhRmluYRd1bmkwNzUxLm1lZGlfQmFhUmFhRmluYRd1bmkwNjQ2Lm1lZGlfQmFhUmFhRmluYRd1bmkwNzUzLm1lZGlfQmFhUmFhRmluYRd1bmkwNzUyLm1lZGlfQmFhUmFhRmluYRd1bmkwNjJBLm1lZGlfQmFhUmFhRmluYRd1bmkwNjc4Lm1lZGlfQmFhUmFhRmluYRd1bmkwNjNELm1lZGlfQmFhUmFhRmluYRd1bmkwNjJCLm1lZGlfQmFhUmFhRmluYRd1bmkwNjc5Lm1lZGlfQmFhUmFhRmluYRd1bmkwNkI5Lm1lZGlfQmFhUmFhRmluYRd1bmkwNzY5Lm1lZGlfQmFhUmFhRmluYRd1bmkwNjQ5Lm1lZGlfQmFhUmFhRmluYRd1bmkwNjdDLm1lZGlfQmFhUmFhRmluYRd1bmkwNzU0Lm1lZGlfQmFhUmFhRmluYRd1bmkwNkQxLm1lZGlfQmFhUmFhRmluYRd1bmkwNkQwLm1lZGlfQmFhUmFhRmluYRd1bmkwNkJBLm1lZGlfQmFhUmFhRmluYRd1bmkwNkNDLm1lZGlfQmFhUmFhRmluYRd1bmkwNzY3Lm1lZGlfQmFhUmFhRmluYRd1bmkwNjkxLmZpbmFfQmFhUmFhRmluYRd1bmkwNjkyLmZpbmFfQmFhUmFhRmluYRd1bmkwNjkzLmZpbmFfQmFhUmFhRmluYRd1bmkwNjk0LmZpbmFfQmFhUmFhRmluYRd1bmkwNjk1LmZpbmFfQmFhUmFhRmluYRd1bmkwNjk2LmZpbmFfQmFhUmFhRmluYRd1bmkwNjk3LmZpbmFfQmFhUmFhRmluYRd1bmkwNjk4LmZpbmFfQmFhUmFhRmluYRd1bmkwNjk5LmZpbmFfQmFhUmFhRmluYRd1bmkwNzVCLmZpbmFfQmFhUmFhRmluYRd1bmkwNkVGLmZpbmFfQmFhUmFhRmluYRd1bmkwNjMyLmZpbmFfQmFhUmFhRmluYRd1bmkwNzcxLmZpbmFfQmFhUmFhRmluYRd1bmkwNjMxLmZpbmFfQmFhUmFhRmluYRd1bmkwNzZCLmZpbmFfQmFhUmFhRmluYRd1bmkwNzZDLmZpbmFfQmFhUmFhRmluYRd1bmkwNjNCLm1lZGlfS2FmUmFhRmluYRd1bmkwNjNDLm1lZGlfS2FmUmFhRmluYRd1bmkwNzdGLm1lZGlfS2FmUmFhRmluYRd1bmkwNzY0Lm1lZGlfS2FmUmFhRmluYRd1bmkwNjQzLm1lZGlfS2FmUmFhRmluYRd1bmkwNkIwLm1lZGlfS2FmUmFhRmluYRd1bmkwNkIzLm1lZGlfS2FmUmFhRmluYRd1bmkwNkIyLm1lZGlfS2FmUmFhRmluYRd1bmkwNkFCLm1lZGlfS2FmUmFhRmluYRd1bmkwNkFDLm1lZGlfS2FmUmFhRmluYRd1bmkwNkFELm1lZGlfS2FmUmFhRmluYRd1bmkwNkFFLm1lZGlfS2FmUmFhRmluYRd1bmkwNkFGLm1lZGlfS2FmUmFhRmluYRd1bmkwNkE5Lm1lZGlfS2FmUmFhRmluYRd1bmkwNkI0Lm1lZGlfS2FmUmFhRmluYRd1bmkwNzYzLm1lZGlfS2FmUmFhRmluYRd1bmkwNzYyLm1lZGlfS2FmUmFhRmluYRd1bmkwNkIxLm1lZGlfS2FmUmFhRmluYRd1bmkwNjkxLmZpbmFfS2FmUmFhRmluYRd1bmkwNjkyLmZpbmFfS2FmUmFhRmluYRd1bmkwNjkzLmZpbmFfS2FmUmFhRmluYRd1bmkwNjk0LmZpbmFfS2FmUmFhRmluYRd1bmkwNjk1LmZpbmFfS2FmUmFhRmluYRd1bmkwNjk2LmZpbmFfS2FmUmFhRmluYRd1bmkwNjk3LmZpbmFfS2FmUmFhRmluYRd1bmkwNjk4LmZpbmFfS2FmUmFhRmluYRd1bmkwNjk5LmZpbmFfS2FmUmFhRmluYRd1bmkwNzVCLmZpbmFfS2FmUmFhRmluYRd1bmkwNkVGLmZpbmFfS2FmUmFhRmluYRd1bmkwNjMyLmZpbmFfS2FmUmFhRmluYRd1bmkwNzcxLmZpbmFfS2FmUmFhRmluYRd1bmkwNjMxLmZpbmFfS2FmUmFhRmluYRd1bmkwNzZCLmZpbmFfS2FmUmFhRmluYRd1bmkwNzZDLmZpbmFfS2FmUmFhRmluYRd1bmkwNkI1LmluaXRfTGFtSGVoSW5pdBd1bmkwNkI3LmluaXRfTGFtSGVoSW5pdBd1bmkwNjQ0LmluaXRfTGFtSGVoSW5pdBd1bmkwNkI4LmluaXRfTGFtSGVoSW5pdBd1bmkwNkI2LmluaXRfTGFtSGVoSW5pdBd1bmkwNzZBLmluaXRfTGFtSGVoSW5pdBd1bmkwNjQ3Lm1lZGlfTGFtSGVoSW5pdBd1bmkwNkMxLm1lZGlfTGFtSGVoSW5pdBp1bmkwNjQ1LmluaXRfTWVtSGFhTWVtSW5pdBp1bmkwNjJFLm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNjJELm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNjgxLm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNjg3Lm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNjg1Lm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNjJDLm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNjgyLm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNzU3Lm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNjg0Lm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNzZGLm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNzZFLm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNjgzLm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNkJGLm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNzdDLm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNzU4Lm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNzcyLm1lZGlfTWVtSGFhTWVtSW5pdBp1bmkwNjg2Lm1lZGlfTWVtSGFhTWVtSW5pdBd1bmkwNzc3LmluaXRfQmFhTWVtSW5pdBd1bmkwNjgwLmluaXRfQmFhTWVtSW5pdBd1bmkwNzc2LmluaXRfQmFhTWVtSW5pdBd1bmkwNkJDLmluaXRfQmFhTWVtSW5pdBd1bmkwNzUwLmluaXRfQmFhTWVtSW5pdBd1bmkwNzU2LmluaXRfQmFhTWVtSW5pdBd1bmkwNzY4LmluaXRfQmFhTWVtSW5pdBd1bmkwNkNFLmluaXRfQmFhTWVtSW5pdBd1bmkwNzc1LmluaXRfQmFhTWVtSW5pdBd1bmkwNkJELmluaXRfQmFhTWVtSW5pdBd1bmkwNjI2LmluaXRfQmFhTWVtSW5pdBd1bmkwNjZFLmluaXRfQmFhTWVtSW5pdBd1bmkwNjIwLmluaXRfQmFhTWVtSW5pdBd1bmkwNjRBLmluaXRfQmFhTWVtSW5pdBd1bmkwNkJCLmluaXRfQmFhTWVtSW5pdBd1bmkwNjdGLmluaXRfQmFhTWVtSW5pdBd1bmkwNzU1LmluaXRfQmFhTWVtSW5pdBd1bmkwNjdELmluaXRfQmFhTWVtSW5pdBd1bmkwNjdFLmluaXRfQmFhTWVtSW5pdBd1bmkwNjdCLmluaXRfQmFhTWVtSW5pdBd1bmkwNjI4LmluaXRfQmFhTWVtSW5pdBd1bmkwNjdBLmluaXRfQmFhTWVtSW5pdBd1bmkwNzUxLmluaXRfQmFhTWVtSW5pdBd1bmkwNjQ2LmluaXRfQmFhTWVtSW5pdBd1bmkwNzUzLmluaXRfQmFhTWVtSW5pdBd1bmkwNzUyLmluaXRfQmFhTWVtSW5pdBd1bmkwNjJBLmluaXRfQmFhTWVtSW5pdBd1bmkwNjc4LmluaXRfQmFhTWVtSW5pdBd1bmkwNjNELmluaXRfQmFhTWVtSW5pdBd1bmkwNjJCLmluaXRfQmFhTWVtSW5pdBd1bmkwNjc5LmluaXRfQmFhTWVtSW5pdBd1bmkwNkI5LmluaXRfQmFhTWVtSW5pdBd1bmkwNzY5LmluaXRfQmFhTWVtSW5pdBd1bmkwNjQ5LmluaXRfQmFhTWVtSW5pdBd1bmkwNjdDLmluaXRfQmFhTWVtSW5pdBd1bmkwNzU0LmluaXRfQmFhTWVtSW5pdBd1bmkwNkQxLmluaXRfQmFhTWVtSW5pdBd1bmkwNkQwLmluaXRfQmFhTWVtSW5pdBd1bmkwNkJBLmluaXRfQmFhTWVtSW5pdBd1bmkwNkNDLmluaXRfQmFhTWVtSW5pdBd1bmkwNzY3LmluaXRfQmFhTWVtSW5pdBd1bmkwNjQ1Lm1lZGlfQmFhTWVtSW5pdBd1bmkwNkZBLmluaXRfU2VuSGFhSW5pdBd1bmkwNzZELmluaXRfU2VuSGFhSW5pdBd1bmkwNjMzLmluaXRfU2VuSGFhSW5pdBd1bmkwNzdFLmluaXRfU2VuSGFhSW5pdBd1bmkwNzdELmluaXRfU2VuSGFhSW5pdBd1bmkwNjM0LmluaXRfU2VuSGFhSW5pdBd1bmkwNzcwLmluaXRfU2VuSGFhSW5pdBd1bmkwNzVDLmluaXRfU2VuSGFhSW5pdBd1bmkwNjlBLmluaXRfU2VuSGFhSW5pdBd1bmkwNjlCLmluaXRfU2VuSGFhSW5pdBd1bmkwNjlDLmluaXRfU2VuSGFhSW5pdBd1bmkwNjNCLmluaXRfS2FmUmFhSXNvbBd1bmkwNjNDLmluaXRfS2FmUmFhSXNvbBd1bmkwNzdGLmluaXRfS2FmUmFhSXNvbBd1bmkwNzY0LmluaXRfS2FmUmFhSXNvbBd1bmkwNjQzLmluaXRfS2FmUmFhSXNvbBd1bmkwNkIwLmluaXRfS2FmUmFhSXNvbBd1bmkwNkIzLmluaXRfS2FmUmFhSXNvbBd1bmkwNkIyLmluaXRfS2FmUmFhSXNvbBd1bmkwNkFCLmluaXRfS2FmUmFhSXNvbBd1bmkwNkFDLmluaXRfS2FmUmFhSXNvbBd1bmkwNkFELmluaXRfS2FmUmFhSXNvbBd1bmkwNkFFLmluaXRfS2FmUmFhSXNvbBd1bmkwNkFGLmluaXRfS2FmUmFhSXNvbBd1bmkwNkE5LmluaXRfS2FmUmFhSXNvbBd1bmkwNkI0LmluaXRfS2FmUmFhSXNvbBd1bmkwNzYzLmluaXRfS2FmUmFhSXNvbBd1bmkwNzYyLmluaXRfS2FmUmFhSXNvbBd1bmkwNkIxLmluaXRfS2FmUmFhSXNvbBd1bmkwNjkxLmZpbmFfS2FmUmFhSXNvbBd1bmkwNjkyLmZpbmFfS2FmUmFhSXNvbBd1bmkwNjkzLmZpbmFfS2FmUmFhSXNvbBd1bmkwNjk0LmZpbmFfS2FmUmFhSXNvbBd1bmkwNjk1LmZpbmFfS2FmUmFhSXNvbBd1bmkwNjk2LmZpbmFfS2FmUmFhSXNvbBd1bmkwNjk3LmZpbmFfS2FmUmFhSXNvbBd1bmkwNjk4LmZpbmFfS2FmUmFhSXNvbBd1bmkwNjk5LmZpbmFfS2FmUmFhSXNvbBd1bmkwNzVCLmZpbmFfS2FmUmFhSXNvbBd1bmkwNkVGLmZpbmFfS2FmUmFhSXNvbBd1bmkwNjMyLmZpbmFfS2FmUmFhSXNvbBd1bmkwNzcxLmZpbmFfS2FmUmFhSXNvbBd1bmkwNjMxLmZpbmFfS2FmUmFhSXNvbBd1bmkwNzZCLmZpbmFfS2FmUmFhSXNvbBd1bmkwNzZDLmZpbmFfS2FmUmFhSXNvbBd1bmkwNkZDLmluaXRfQXluSGFhSW5pdBd1bmkwNjNBLmluaXRfQXluSGFhSW5pdBd1bmkwNzVFLmluaXRfQXluSGFhSW5pdBd1bmkwNzVELmluaXRfQXluSGFhSW5pdBd1bmkwNzVGLmluaXRfQXluSGFhSW5pdBd1bmkwNkEwLmluaXRfQXluSGFhSW5pdBd1bmkwNjM5LmluaXRfQXluSGFhSW5pdBd1bmkwNjNCLm1lZGlfS2FmWWFhRmluYRd1bmkwNjNDLm1lZGlfS2FmWWFhRmluYRd1bmkwNzdGLm1lZGlfS2FmWWFhRmluYRd1bmkwNzY0Lm1lZGlfS2FmWWFhRmluYRd1bmkwNjQzLm1lZGlfS2FmWWFhRmluYRd1bmkwNkIwLm1lZGlfS2FmWWFhRmluYRd1bmkwNkIzLm1lZGlfS2FmWWFhRmluYRd1bmkwNkIyLm1lZGlfS2FmWWFhRmluYRd1bmkwNkFCLm1lZGlfS2FmWWFhRmluYRd1bmkwNkFDLm1lZGlfS2FmWWFhRmluYRd1bmkwNkFELm1lZGlfS2FmWWFhRmluYRd1bmkwNkFFLm1lZGlfS2FmWWFhRmluYRd1bmkwNkFGLm1lZGlfS2FmWWFhRmluYRd1bmkwNkE5Lm1lZGlfS2FmWWFhRmluYRd1bmkwNkI0Lm1lZGlfS2FmWWFhRmluYRd1bmkwNzYzLm1lZGlfS2FmWWFhRmluYRd1bmkwNzYyLm1lZGlfS2FmWWFhRmluYRd1bmkwNkIxLm1lZGlfS2FmWWFhRmluYRd1bmkwNzc3LmZpbmFfS2FmWWFhRmluYRd1bmkwNkQxLmZpbmFfS2FmWWFhRmluYRd1bmkwNzc1LmZpbmFfS2FmWWFhRmluYRd1bmkwNjNGLmZpbmFfS2FmWWFhRmluYRd1bmkwNjc4LmZpbmFfS2FmWWFhRmluYRd1bmkwNjNELmZpbmFfS2FmWWFhRmluYRd1bmkwNjNFLmZpbmFfS2FmWWFhRmluYRd1bmkwNkQwLmZpbmFfS2FmWWFhRmluYRd1bmkwNjQ5LmZpbmFfS2FmWWFhRmluYRd1bmkwNzc2LmZpbmFfS2FmWWFhRmluYRd1bmkwNkNELmZpbmFfS2FmWWFhRmluYRd1bmkwNkNDLmZpbmFfS2FmWWFhRmluYRd1bmkwNjI2LmZpbmFfS2FmWWFhRmluYRd1bmkwNjIwLmZpbmFfS2FmWWFhRmluYRd1bmkwNjRBLmZpbmFfS2FmWWFhRmluYRd1bmkwNkNFLmZpbmFfS2FmWWFhRmluYRp1bmkwNkI1LmluaXRfTGFtTWVtSGFhSW5pdBp1bmkwNkI3LmluaXRfTGFtTWVtSGFhSW5pdBp1bmkwNjQ0LmluaXRfTGFtTWVtSGFhSW5pdBp1bmkwNkI4LmluaXRfTGFtTWVtSGFhSW5pdBp1bmkwNkI2LmluaXRfTGFtTWVtSGFhSW5pdBp1bmkwNzZBLmluaXRfTGFtTWVtSGFhSW5pdBp1bmkwNjQ1Lm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNjJFLm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNjJELm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNjgxLm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNjg3Lm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNjg1Lm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNjJDLm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNjgyLm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNzU3Lm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNjg0Lm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNzZGLm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNzZFLm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNjgzLm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNkJGLm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNzdDLm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNzU4Lm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNzcyLm1lZGlfTGFtTWVtSGFhSW5pdBp1bmkwNjg2Lm1lZGlfTGFtTWVtSGFhSW5pdBd1bmkwNkI1Lm1lZGlfTGFtQWxmRmluYRd1bmkwNkI3Lm1lZGlfTGFtQWxmRmluYRd1bmkwNjQ0Lm1lZGlfTGFtQWxmRmluYRd1bmkwNkI4Lm1lZGlfTGFtQWxmRmluYRd1bmkwNkI2Lm1lZGlfTGFtQWxmRmluYRd1bmkwNzZBLm1lZGlfTGFtQWxmRmluYRd1bmkwNjI1LmZpbmFfTGFtQWxmRmluYRd1bmkwNjI3LmZpbmFfTGFtQWxmRmluYRd1bmkwNzc0LmZpbmFfTGFtQWxmRmluYRd1bmkwNzczLmZpbmFfTGFtQWxmRmluYRd1bmkwNjIzLmZpbmFfTGFtQWxmRmluYRd1bmkwNjIyLmZpbmFfTGFtQWxmRmluYRd1bmkwNjc1LmZpbmFfTGFtQWxmRmluYRd1bmkwNjcyLmZpbmFfTGFtQWxmRmluYRd1bmkwNjczLmZpbmFfTGFtQWxmRmluYRd1bmkwNjcxLmZpbmFfTGFtQWxmRmluYRd1bmkwNkI1Lm1lZGlfTGFtTWVtTWVkaRd1bmkwNkI3Lm1lZGlfTGFtTWVtTWVkaRd1bmkwNjQ0Lm1lZGlfTGFtTWVtTWVkaRd1bmkwNkI4Lm1lZGlfTGFtTWVtTWVkaRd1bmkwNkI2Lm1lZGlfTGFtTWVtTWVkaRd1bmkwNzZBLm1lZGlfTGFtTWVtTWVkaRd1bmkwNzY1Lm1lZGlfTGFtTWVtTWVkaRd1bmkwNjQ1Lm1lZGlfTGFtTWVtTWVkaRd1bmkwNzY2Lm1lZGlfTGFtTWVtTWVkaRp1bmkwNzc3LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjgwLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzc2LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNkJDLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzUwLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzU2LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzY4LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNkNFLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzc1LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNkJELmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjI2LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjZFLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjIwLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjRBLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNkJCLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjdGLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzU1LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjdELmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjdFLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjdCLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjI4LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjdBLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzUxLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjQ2LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzUzLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzUyLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjJBLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjc4LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjNELmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjJCLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjc5LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNkI5LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzY5LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjQ5LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNjdDLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzU0LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNkQxLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNkQwLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNkJBLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNkNDLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzY3LmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwNzc3Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjgwLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzc2Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNkJDLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzUwLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzU2Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzY4Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNkNFLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzc1Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNkJELm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjI2Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjZFLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjIwLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjRBLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNkJCLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjdGLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzU1Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjdELm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjdFLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjdCLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjI4Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjdBLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzUxLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjQ2Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzUzLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzUyLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjJBLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjc4Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjNELm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjJCLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjc5Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNkI5Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzY5Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjQ5Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjdDLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzU0Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNkQxLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNkQwLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNkJBLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNkNDLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzY3Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjJFLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjJELm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjgxLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjg3Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjg1Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjJDLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjgyLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzU3Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjg0Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzZGLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzZFLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjgzLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNkJGLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzdDLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzU4Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzcyLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNjg2Lm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwNzc3Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjgwLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzc2Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNkJDLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzUwLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzU2Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzY4Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNkNFLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzc1Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNkJELm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjI2Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjZFLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjIwLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjRBLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNkJCLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjdGLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzU1Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjdELm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjdFLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjdCLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjI4Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjdBLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzUxLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjQ2Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzUzLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzUyLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjJBLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjc4Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjNELm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjJCLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjc5Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNkI5Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzY5Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjQ5Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjdDLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzU0Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNkQxLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNkQwLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNkJBLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNkNDLm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNzY3Lm1lZGlfU2VuQmFhTWVtSW5pdBp1bmkwNjQ1Lm1lZGlfU2VuQmFhTWVtSW5pdBd1bmkwNzc3LmluaXRfQmFhQmFhSXNvbBd1bmkwNjgwLmluaXRfQmFhQmFhSXNvbBd1bmkwNzc2LmluaXRfQmFhQmFhSXNvbBd1bmkwNkJDLmluaXRfQmFhQmFhSXNvbBd1bmkwNzUwLmluaXRfQmFhQmFhSXNvbBd1bmkwNzU2LmluaXRfQmFhQmFhSXNvbBd1bmkwNzY4LmluaXRfQmFhQmFhSXNvbBd1bmkwNkNFLmluaXRfQmFhQmFhSXNvbBd1bmkwNzc1LmluaXRfQmFhQmFhSXNvbBd1bmkwNkJELmluaXRfQmFhQmFhSXNvbBd1bmkwNjI2LmluaXRfQmFhQmFhSXNvbBd1bmkwNjZFLmluaXRfQmFhQmFhSXNvbBd1bmkwNjIwLmluaXRfQmFhQmFhSXNvbBd1bmkwNjRBLmluaXRfQmFhQmFhSXNvbBd1bmkwNkJCLmluaXRfQmFhQmFhSXNvbBd1bmkwNjdGLmluaXRfQmFhQmFhSXNvbBd1bmkwNzU1LmluaXRfQmFhQmFhSXNvbBd1bmkwNjdELmluaXRfQmFhQmFhSXNvbBd1bmkwNjdFLmluaXRfQmFhQmFhSXNvbBd1bmkwNjdCLmluaXRfQmFhQmFhSXNvbBd1bmkwNjI4LmluaXRfQmFhQmFhSXNvbBd1bmkwNjdBLmluaXRfQmFhQmFhSXNvbBd1bmkwNzUxLmluaXRfQmFhQmFhSXNvbBd1bmkwNjQ2LmluaXRfQmFhQmFhSXNvbBd1bmkwNzUzLmluaXRfQmFhQmFhSXNvbBd1bmkwNzUyLmluaXRfQmFhQmFhSXNvbBd1bmkwNjJBLmluaXRfQmFhQmFhSXNvbBd1bmkwNjc4LmluaXRfQmFhQmFhSXNvbBd1bmkwNjNELmluaXRfQmFhQmFhSXNvbBd1bmkwNjJCLmluaXRfQmFhQmFhSXNvbBd1bmkwNjc5LmluaXRfQmFhQmFhSXNvbBd1bmkwNkI5LmluaXRfQmFhQmFhSXNvbBd1bmkwNzY5LmluaXRfQmFhQmFhSXNvbBd1bmkwNjQ5LmluaXRfQmFhQmFhSXNvbBd1bmkwNjdDLmluaXRfQmFhQmFhSXNvbBd1bmkwNzU0LmluaXRfQmFhQmFhSXNvbBd1bmkwNkQxLmluaXRfQmFhQmFhSXNvbBd1bmkwNkQwLmluaXRfQmFhQmFhSXNvbBd1bmkwNkJBLmluaXRfQmFhQmFhSXNvbBd1bmkwNkNDLmluaXRfQmFhQmFhSXNvbBd1bmkwNzY3LmluaXRfQmFhQmFhSXNvbBd1bmkwNzUxLmZpbmFfQmFhQmFhSXNvbBd1bmkwNzUwLmZpbmFfQmFhQmFhSXNvbBd1bmkwNzUzLmZpbmFfQmFhQmFhSXNvbBd1bmkwNjgwLmZpbmFfQmFhQmFhSXNvbBd1bmkwNjJBLmZpbmFfQmFhQmFhSXNvbBd1bmkwNzU0LmZpbmFfQmFhQmFhSXNvbBd1bmkwNjJCLmZpbmFfQmFhQmFhSXNvbBd1bmkwNjc5LmZpbmFfQmFhQmFhSXNvbBd1bmkwNjdDLmZpbmFfQmFhQmFhSXNvbBd1bmkwNzU2LmZpbmFfQmFhQmFhSXNvbBd1bmkwNzUyLmZpbmFfQmFhQmFhSXNvbBd1bmkwNjZFLmZpbmFfQmFhQmFhSXNvbBd1bmkwNjdGLmZpbmFfQmFhQmFhSXNvbBd1bmkwNzU1LmZpbmFfQmFhQmFhSXNvbBd1bmkwNjdELmZpbmFfQmFhQmFhSXNvbBd1bmkwNjdFLmZpbmFfQmFhQmFhSXNvbBd1bmkwNjdCLmZpbmFfQmFhQmFhSXNvbBd1bmkwNjI4LmZpbmFfQmFhQmFhSXNvbBd1bmkwNjdBLmZpbmFfQmFhQmFhSXNvbBp1bmkwNzc3LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjgwLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzc2LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNkJDLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzUwLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzU2LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzY4LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNkNFLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzc1LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNkJELmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjI2LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjZFLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjIwLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjRBLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNkJCLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjdGLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzU1LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjdELmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjdFLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjdCLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjI4LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjdBLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzUxLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjQ2LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzUzLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzUyLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjJBLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjc4LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjNELmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjJCLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjc5LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNkI5LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzY5LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjQ5LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNjdDLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzU0LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNkQxLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNkQwLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNkJBLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNkNDLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzY3LmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwNzc3Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjgwLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzc2Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNkJDLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzUwLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzU2Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzY4Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNkNFLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzc1Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNkJELm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjI2Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjZFLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjIwLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjRBLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNkJCLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjdGLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzU1Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjdELm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjdFLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjdCLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjI4Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjdBLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzUxLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjQ2Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzUzLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzUyLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjJBLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjc4Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjNELm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjJCLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjc5Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNkI5Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzY5Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjQ5Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjdDLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzU0Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNkQxLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNkQwLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNkJBLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNkNDLm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNzY3Lm1lZGlfQmFhQmFhTWVtSW5pdBp1bmkwNjQ1Lm1lZGlfQmFhQmFhTWVtSW5pdBd1bmkwNjNCLm1lZGlfS2FmQmFhTWVkaRd1bmkwNjNDLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzdGLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzY0Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNjQzLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkIwLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkIzLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkIyLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkFCLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkFDLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkFELm1lZGlfS2FmQmFhTWVkaRd1bmkwNkFFLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkFGLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkE5Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNkI0Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNzYzLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzYyLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkIxLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzc3Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNjgwLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzc2Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNkJDLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzUwLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzU2Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNzY4Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNkNFLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzc1Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNkJELm1lZGlfS2FmQmFhTWVkaRd1bmkwNjI2Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNjZFLm1lZGlfS2FmQmFhTWVkaRd1bmkwNjIwLm1lZGlfS2FmQmFhTWVkaRd1bmkwNjRBLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkJCLm1lZGlfS2FmQmFhTWVkaRd1bmkwNjdGLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzU1Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNjdELm1lZGlfS2FmQmFhTWVkaRd1bmkwNjdFLm1lZGlfS2FmQmFhTWVkaRd1bmkwNjdCLm1lZGlfS2FmQmFhTWVkaRd1bmkwNjI4Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNjdBLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzUxLm1lZGlfS2FmQmFhTWVkaRd1bmkwNjQ2Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNzUzLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzUyLm1lZGlfS2FmQmFhTWVkaRd1bmkwNjJBLm1lZGlfS2FmQmFhTWVkaRd1bmkwNjc4Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNjNELm1lZGlfS2FmQmFhTWVkaRd1bmkwNjJCLm1lZGlfS2FmQmFhTWVkaRd1bmkwNjc5Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNkI5Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNzY5Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNjQ5Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNjdDLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzU0Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNkQxLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkQwLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkJBLm1lZGlfS2FmQmFhTWVkaRd1bmkwNkNDLm1lZGlfS2FmQmFhTWVkaRd1bmkwNzY3Lm1lZGlfS2FmQmFhTWVkaRd1bmkwNzc3Lm1lZGlfQmFhTm9uRmluYRd1bmkwNjgwLm1lZGlfQmFhTm9uRmluYRd1bmkwNzc2Lm1lZGlfQmFhTm9uRmluYRd1bmkwNkJDLm1lZGlfQmFhTm9uRmluYRd1bmkwNzUwLm1lZGlfQmFhTm9uRmluYRd1bmkwNzU2Lm1lZGlfQmFhTm9uRmluYRd1bmkwNzY4Lm1lZGlfQmFhTm9uRmluYRd1bmkwNkNFLm1lZGlfQmFhTm9uRmluYRd1bmkwNzc1Lm1lZGlfQmFhTm9uRmluYRd1bmkwNkJELm1lZGlfQmFhTm9uRmluYRd1bmkwNjI2Lm1lZGlfQmFhTm9uRmluYRd1bmkwNjZFLm1lZGlfQmFhTm9uRmluYRd1bmkwNjIwLm1lZGlfQmFhTm9uRmluYRd1bmkwNjRBLm1lZGlfQmFhTm9uRmluYRd1bmkwNkJCLm1lZGlfQmFhTm9uRmluYRd1bmkwNjdGLm1lZGlfQmFhTm9uRmluYRd1bmkwNzU1Lm1lZGlfQmFhTm9uRmluYRd1bmkwNjdELm1lZGlfQmFhTm9uRmluYRd1bmkwNjdFLm1lZGlfQmFhTm9uRmluYRd1bmkwNjdCLm1lZGlfQmFhTm9uRmluYRd1bmkwNjI4Lm1lZGlfQmFhTm9uRmluYRd1bmkwNjdBLm1lZGlfQmFhTm9uRmluYRd1bmkwNzUxLm1lZGlfQmFhTm9uRmluYRd1bmkwNjQ2Lm1lZGlfQmFhTm9uRmluYRd1bmkwNzUzLm1lZGlfQmFhTm9uRmluYRd1bmkwNzUyLm1lZGlfQmFhTm9uRmluYRd1bmkwNjJBLm1lZGlfQmFhTm9uRmluYRd1bmkwNjc4Lm1lZGlfQmFhTm9uRmluYRd1bmkwNjNELm1lZGlfQmFhTm9uRmluYRd1bmkwNjJCLm1lZGlfQmFhTm9uRmluYRd1bmkwNjc5Lm1lZGlfQmFhTm9uRmluYRd1bmkwNkI5Lm1lZGlfQmFhTm9uRmluYRd1bmkwNzY5Lm1lZGlfQmFhTm9uRmluYRd1bmkwNjQ5Lm1lZGlfQmFhTm9uRmluYRd1bmkwNjdDLm1lZGlfQmFhTm9uRmluYRd1bmkwNzU0Lm1lZGlfQmFhTm9uRmluYRd1bmkwNkQxLm1lZGlfQmFhTm9uRmluYRd1bmkwNkQwLm1lZGlfQmFhTm9uRmluYRd1bmkwNkJBLm1lZGlfQmFhTm9uRmluYRd1bmkwNkNDLm1lZGlfQmFhTm9uRmluYRd1bmkwNzY3Lm1lZGlfQmFhTm9uRmluYRd1bmkwNjQ2LmZpbmFfQmFhTm9uRmluYRd1bmkwNzY3LmZpbmFfQmFhTm9uRmluYRd1bmkwNkJBLmZpbmFfQmFhTm9uRmluYRd1bmkwNkJDLmZpbmFfQmFhTm9uRmluYRd1bmkwNkJCLmZpbmFfQmFhTm9uRmluYRd1bmkwNzY4LmZpbmFfQmFhTm9uRmluYRd1bmkwNkI5LmZpbmFfQmFhTm9uRmluYRd1bmkwNzY5LmZpbmFfQmFhTm9uRmluYRd1bmkwNkJELmZpbmFfQmFhTm9uRmluYRd1bmkwNjJFLmluaXRfSGFhUmFhSXNvbBd1bmkwNjJELmluaXRfSGFhUmFhSXNvbBd1bmkwNjgxLmluaXRfSGFhUmFhSXNvbBd1bmkwNjg3LmluaXRfSGFhUmFhSXNvbBd1bmkwNjg1LmluaXRfSGFhUmFhSXNvbBd1bmkwNjJDLmluaXRfSGFhUmFhSXNvbBd1bmkwNjgyLmluaXRfSGFhUmFhSXNvbBd1bmkwNzU3LmluaXRfSGFhUmFhSXNvbBd1bmkwNjg0LmluaXRfSGFhUmFhSXNvbBd1bmkwNzZGLmluaXRfSGFhUmFhSXNvbBd1bmkwNzZFLmluaXRfSGFhUmFhSXNvbBd1bmkwNjgzLmluaXRfSGFhUmFhSXNvbBd1bmkwNkJGLmluaXRfSGFhUmFhSXNvbBd1bmkwNzdDLmluaXRfSGFhUmFhSXNvbBd1bmkwNzU4LmluaXRfSGFhUmFhSXNvbBd1bmkwNzcyLmluaXRfSGFhUmFhSXNvbBd1bmkwNjg2LmluaXRfSGFhUmFhSXNvbBd1bmkwNjkxLmZpbmFfSGFhUmFhSXNvbBd1bmkwNjkyLmZpbmFfSGFhUmFhSXNvbBd1bmkwNjkzLmZpbmFfSGFhUmFhSXNvbBd1bmkwNjk0LmZpbmFfSGFhUmFhSXNvbBd1bmkwNjk1LmZpbmFfSGFhUmFhSXNvbBd1bmkwNjk2LmZpbmFfSGFhUmFhSXNvbBd1bmkwNjk3LmZpbmFfSGFhUmFhSXNvbBd1bmkwNjk4LmZpbmFfSGFhUmFhSXNvbBd1bmkwNjk5LmZpbmFfSGFhUmFhSXNvbBd1bmkwNzVCLmZpbmFfSGFhUmFhSXNvbBd1bmkwNkVGLmZpbmFfSGFhUmFhSXNvbBd1bmkwNjMyLmZpbmFfSGFhUmFhSXNvbBd1bmkwNzcxLmZpbmFfSGFhUmFhSXNvbBd1bmkwNjMxLmZpbmFfSGFhUmFhSXNvbBd1bmkwNzZCLmZpbmFfSGFhUmFhSXNvbBd1bmkwNzZDLmZpbmFfSGFhUmFhSXNvbBd1bmkwNjQ3LmluaXRfSGVoSGFhSW5pdBd1bmkwNkMxLmluaXRfSGVoSGFhSW5pdBd1bmkwNkI1LmluaXRfTGFtUmFhSXNvbBd1bmkwNkI3LmluaXRfTGFtUmFhSXNvbBd1bmkwNjQ0LmluaXRfTGFtUmFhSXNvbBd1bmkwNkI4LmluaXRfTGFtUmFhSXNvbBd1bmkwNkI2LmluaXRfTGFtUmFhSXNvbBd1bmkwNzZBLmluaXRfTGFtUmFhSXNvbBd1bmkwNjkxLmZpbmFfTGFtUmFhSXNvbBd1bmkwNjkyLmZpbmFfTGFtUmFhSXNvbBd1bmkwNjkzLmZpbmFfTGFtUmFhSXNvbBd1bmkwNjk0LmZpbmFfTGFtUmFhSXNvbBd1bmkwNjk1LmZpbmFfTGFtUmFhSXNvbBd1bmkwNjk2LmZpbmFfTGFtUmFhSXNvbBd1bmkwNjk3LmZpbmFfTGFtUmFhSXNvbBd1bmkwNjk4LmZpbmFfTGFtUmFhSXNvbBd1bmkwNjk5LmZpbmFfTGFtUmFhSXNvbBd1bmkwNzVCLmZpbmFfTGFtUmFhSXNvbBd1bmkwNkVGLmZpbmFfTGFtUmFhSXNvbBd1bmkwNjMyLmZpbmFfTGFtUmFhSXNvbBd1bmkwNzcxLmZpbmFfTGFtUmFhSXNvbBd1bmkwNjMxLmZpbmFfTGFtUmFhSXNvbBd1bmkwNzZCLmZpbmFfTGFtUmFhSXNvbBd1bmkwNzZDLmZpbmFfTGFtUmFhSXNvbBd1bmkwNjlELmluaXRfU2FkSGFhSW5pdBd1bmkwNkZCLmluaXRfU2FkSGFhSW5pdBd1bmkwNjM2LmluaXRfU2FkSGFhSW5pdBd1bmkwNjlFLmluaXRfU2FkSGFhSW5pdBd1bmkwNjM1LmluaXRfU2FkSGFhSW5pdBd1bmkwNjJFLm1lZGlfU2FkSGFhSW5pdBd1bmkwNjJELm1lZGlfU2FkSGFhSW5pdBd1bmkwNjgxLm1lZGlfU2FkSGFhSW5pdBd1bmkwNjg3Lm1lZGlfU2FkSGFhSW5pdBd1bmkwNjg1Lm1lZGlfU2FkSGFhSW5pdBd1bmkwNjJDLm1lZGlfU2FkSGFhSW5pdBd1bmkwNjgyLm1lZGlfU2FkSGFhSW5pdBd1bmkwNzU3Lm1lZGlfU2FkSGFhSW5pdBd1bmkwNjg0Lm1lZGlfU2FkSGFhSW5pdBd1bmkwNzZGLm1lZGlfU2FkSGFhSW5pdBd1bmkwNzZFLm1lZGlfU2FkSGFhSW5pdBd1bmkwNjgzLm1lZGlfU2FkSGFhSW5pdBd1bmkwNkJGLm1lZGlfU2FkSGFhSW5pdBd1bmkwNzdDLm1lZGlfU2FkSGFhSW5pdBd1bmkwNzU4Lm1lZGlfU2FkSGFhSW5pdBd1bmkwNzcyLm1lZGlfU2FkSGFhSW5pdBd1bmkwNjg2Lm1lZGlfU2FkSGFhSW5pdBd1bmkwNzc3Lm1lZGlfQmFhWWFhRmluYRd1bmkwNjgwLm1lZGlfQmFhWWFhRmluYRd1bmkwNzc2Lm1lZGlfQmFhWWFhRmluYRd1bmkwNkJDLm1lZGlfQmFhWWFhRmluYRd1bmkwNzUwLm1lZGlfQmFhWWFhRmluYRd1bmkwNzU2Lm1lZGlfQmFhWWFhRmluYRd1bmkwNzY4Lm1lZGlfQmFhWWFhRmluYRd1bmkwNkNFLm1lZGlfQmFhWWFhRmluYRd1bmkwNzc1Lm1lZGlfQmFhWWFhRmluYRd1bmkwNkJELm1lZGlfQmFhWWFhRmluYRd1bmkwNjI2Lm1lZGlfQmFhWWFhRmluYRd1bmkwNjZFLm1lZGlfQmFhWWFhRmluYRd1bmkwNjIwLm1lZGlfQmFhWWFhRmluYRd1bmkwNjRBLm1lZGlfQmFhWWFhRmluYRd1bmkwNkJCLm1lZGlfQmFhWWFhRmluYRd1bmkwNjdGLm1lZGlfQmFhWWFhRmluYRd1bmkwNzU1Lm1lZGlfQmFhWWFhRmluYRd1bmkwNjdELm1lZGlfQmFhWWFhRmluYRd1bmkwNjdFLm1lZGlfQmFhWWFhRmluYRd1bmkwNjdCLm1lZGlfQmFhWWFhRmluYRd1bmkwNjI4Lm1lZGlfQmFhWWFhRmluYRd1bmkwNjdBLm1lZGlfQmFhWWFhRmluYRd1bmkwNzUxLm1lZGlfQmFhWWFhRmluYRd1bmkwNjQ2Lm1lZGlfQmFhWWFhRmluYRd1bmkwNzUzLm1lZGlfQmFhWWFhRmluYRd1bmkwNzUyLm1lZGlfQmFhWWFhRmluYRd1bmkwNjJBLm1lZGlfQmFhWWFhRmluYRd1bmkwNjc4Lm1lZGlfQmFhWWFhRmluYRd1bmkwNjNELm1lZGlfQmFhWWFhRmluYRd1bmkwNjJCLm1lZGlfQmFhWWFhRmluYRd1bmkwNjc5Lm1lZGlfQmFhWWFhRmluYRd1bmkwNkI5Lm1lZGlfQmFhWWFhRmluYRd1bmkwNzY5Lm1lZGlfQmFhWWFhRmluYRd1bmkwNjQ5Lm1lZGlfQmFhWWFhRmluYRd1bmkwNjdDLm1lZGlfQmFhWWFhRmluYRd1bmkwNzU0Lm1lZGlfQmFhWWFhRmluYRd1bmkwNkQxLm1lZGlfQmFhWWFhRmluYRd1bmkwNkQwLm1lZGlfQmFhWWFhRmluYRd1bmkwNkJBLm1lZGlfQmFhWWFhRmluYRd1bmkwNkNDLm1lZGlfQmFhWWFhRmluYRd1bmkwNzY3Lm1lZGlfQmFhWWFhRmluYRd1bmkwNzc3LmZpbmFfQmFhWWFhRmluYRd1bmkwNkQxLmZpbmFfQmFhWWFhRmluYRd1bmkwNzc1LmZpbmFfQmFhWWFhRmluYRd1bmkwNjNGLmZpbmFfQmFhWWFhRmluYRd1bmkwNjc4LmZpbmFfQmFhWWFhRmluYRd1bmkwNjNELmZpbmFfQmFhWWFhRmluYRd1bmkwNjNFLmZpbmFfQmFhWWFhRmluYRd1bmkwNkQwLmZpbmFfQmFhWWFhRmluYRd1bmkwNjQ5LmZpbmFfQmFhWWFhRmluYRd1bmkwNzc2LmZpbmFfQmFhWWFhRmluYRd1bmkwNkNELmZpbmFfQmFhWWFhRmluYRd1bmkwNkNDLmZpbmFfQmFhWWFhRmluYRd1bmkwNjI2LmZpbmFfQmFhWWFhRmluYRd1bmkwNjIwLmZpbmFfQmFhWWFhRmluYRd1bmkwNjRBLmZpbmFfQmFhWWFhRmluYRd1bmkwNkNFLmZpbmFfQmFhWWFhRmluYRp1bmkwNzc3LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjgwLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzc2LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNkJDLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzUwLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzU2LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzY4LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNkNFLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzc1LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNkJELmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjI2LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjZFLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjIwLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjRBLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNkJCLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjdGLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzU1LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjdELmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjdFLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjdCLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjI4LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjdBLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzUxLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjQ2LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzUzLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzUyLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjJBLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjc4LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjNELmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjJCLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjc5LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNkI5LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzY5LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjQ5LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNjdDLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzU0LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNkQxLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNkQwLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNkJBLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNkNDLmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNzY3LmluaXRfQmFhU2VuQWx0SW5pdBp1bmkwNkZBLm1lZGlfQmFhU2VuQWx0SW5pdBp1bmkwNzZELm1lZGlfQmFhU2VuQWx0SW5pdBp1bmkwNjMzLm1lZGlfQmFhU2VuQWx0SW5pdBp1bmkwNzdFLm1lZGlfQmFhU2VuQWx0SW5pdBp1bmkwNzdELm1lZGlfQmFhU2VuQWx0SW5pdBp1bmkwNjM0Lm1lZGlfQmFhU2VuQWx0SW5pdBp1bmkwNzcwLm1lZGlfQmFhU2VuQWx0SW5pdBp1bmkwNzVDLm1lZGlfQmFhU2VuQWx0SW5pdBp1bmkwNjlBLm1lZGlfQmFhU2VuQWx0SW5pdBp1bmkwNjlCLm1lZGlfQmFhU2VuQWx0SW5pdBp1bmkwNjlDLm1lZGlfQmFhU2VuQWx0SW5pdBZ1bmkwNjkxLmZpbmFfUG9zdFRvb3RoFnVuaTA2OTIuZmluYV9Qb3N0VG9vdGgWdW5pMDY5My5maW5hX1Bvc3RUb290aBZ1bmkwNjk0LmZpbmFfUG9zdFRvb3RoFnVuaTA2OTUuZmluYV9Qb3N0VG9vdGgWdW5pMDY5Ni5maW5hX1Bvc3RUb290aBZ1bmkwNjk3LmZpbmFfUG9zdFRvb3RoFnVuaTA2OTguZmluYV9Qb3N0VG9vdGgWdW5pMDY5OS5maW5hX1Bvc3RUb290aBZ1bmkwNzVCLmZpbmFfUG9zdFRvb3RoFnVuaTA2RUYuZmluYV9Qb3N0VG9vdGgWdW5pMDYzMi5maW5hX1Bvc3RUb290aBZ1bmkwNzcxLmZpbmFfUG9zdFRvb3RoFnVuaTA2MzEuZmluYV9Qb3N0VG9vdGgWdW5pMDc2Qi5maW5hX1Bvc3RUb290aBZ1bmkwNzZDLmZpbmFfUG9zdFRvb3RoFnVuaTA3NzcuZmluYV9Qb3N0VG9vdGgWdW5pMDZEMS5maW5hX1Bvc3RUb290aBZ1bmkwNzc1LmZpbmFfUG9zdFRvb3RoFnVuaTA2M0YuZmluYV9Qb3N0VG9vdGgWdW5pMDY3OC5maW5hX1Bvc3RUb290aBZ1bmkwNjNELmZpbmFfUG9zdFRvb3RoFnVuaTA2M0UuZmluYV9Qb3N0VG9vdGgWdW5pMDZEMC5maW5hX1Bvc3RUb290aBZ1bmkwNjQ5LmZpbmFfUG9zdFRvb3RoFnVuaTA3NzYuZmluYV9Qb3N0VG9vdGgWdW5pMDZDRC5maW5hX1Bvc3RUb290aBZ1bmkwNkNDLmZpbmFfUG9zdFRvb3RoFnVuaTA2MjYuZmluYV9Qb3N0VG9vdGgWdW5pMDYyMC5maW5hX1Bvc3RUb290aBZ1bmkwNjRBLmZpbmFfUG9zdFRvb3RoFnVuaTA2Q0UuZmluYV9Qb3N0VG9vdGgVdW5pMDc3Ny5pbml0X0Fib3ZlSGFhFXVuaTA2ODAuaW5pdF9BYm92ZUhhYRV1bmkwNzc2LmluaXRfQWJvdmVIYWEVdW5pMDZCQy5pbml0X0Fib3ZlSGFhFXVuaTA3NTAuaW5pdF9BYm92ZUhhYRV1bmkwNzU2LmluaXRfQWJvdmVIYWEVdW5pMDc2OC5pbml0X0Fib3ZlSGFhFXVuaTA2Q0UuaW5pdF9BYm92ZUhhYRV1bmkwNzc1LmluaXRfQWJvdmVIYWEVdW5pMDZCRC5pbml0X0Fib3ZlSGFhFXVuaTA2MjYuaW5pdF9BYm92ZUhhYRV1bmkwNjZFLmluaXRfQWJvdmVIYWEVdW5pMDYyMC5pbml0X0Fib3ZlSGFhFXVuaTA2NEEuaW5pdF9BYm92ZUhhYRV1bmkwNkJCLmluaXRfQWJvdmVIYWEVdW5pMDY3Ri5pbml0X0Fib3ZlSGFhFXVuaTA3NTUuaW5pdF9BYm92ZUhhYRV1bmkwNjdELmluaXRfQWJvdmVIYWEVdW5pMDY3RS5pbml0X0Fib3ZlSGFhFXVuaTA2N0IuaW5pdF9BYm92ZUhhYRV1bmkwNjI4LmluaXRfQWJvdmVIYWEVdW5pMDY3QS5pbml0X0Fib3ZlSGFhFXVuaTA3NTEuaW5pdF9BYm92ZUhhYRV1bmkwNjQ2LmluaXRfQWJvdmVIYWEVdW5pMDc1My5pbml0X0Fib3ZlSGFhFXVuaTA3NTIuaW5pdF9BYm92ZUhhYRV1bmkwNjJBLmluaXRfQWJvdmVIYWEVdW5pMDY3OC5pbml0X0Fib3ZlSGFhFXVuaTA2M0QuaW5pdF9BYm92ZUhhYRV1bmkwNjJCLmluaXRfQWJvdmVIYWEVdW5pMDY3OS5pbml0X0Fib3ZlSGFhFXVuaTA2QjkuaW5pdF9BYm92ZUhhYRV1bmkwNzY5LmluaXRfQWJvdmVIYWEVdW5pMDY0OS5pbml0X0Fib3ZlSGFhFXVuaTA2N0MuaW5pdF9BYm92ZUhhYRV1bmkwNzU0LmluaXRfQWJvdmVIYWEVdW5pMDZEMS5pbml0X0Fib3ZlSGFhFXVuaTA2RDAuaW5pdF9BYm92ZUhhYRV1bmkwNkJBLmluaXRfQWJvdmVIYWEVdW5pMDZDQy5pbml0X0Fib3ZlSGFhFXVuaTA3NjcuaW5pdF9BYm92ZUhhYRd1bmkwNzc3LmluaXRfQmFhSGFhSW5pdBd1bmkwNjgwLmluaXRfQmFhSGFhSW5pdBd1bmkwNzc2LmluaXRfQmFhSGFhSW5pdBd1bmkwNkJDLmluaXRfQmFhSGFhSW5pdBd1bmkwNzUwLmluaXRfQmFhSGFhSW5pdBd1bmkwNzU2LmluaXRfQmFhSGFhSW5pdBd1bmkwNzY4LmluaXRfQmFhSGFhSW5pdBd1bmkwNkNFLmluaXRfQmFhSGFhSW5pdBd1bmkwNzc1LmluaXRfQmFhSGFhSW5pdBd1bmkwNkJELmluaXRfQmFhSGFhSW5pdBd1bmkwNjI2LmluaXRfQmFhSGFhSW5pdBd1bmkwNjZFLmluaXRfQmFhSGFhSW5pdBd1bmkwNjIwLmluaXRfQmFhSGFhSW5pdBd1bmkwNjRBLmluaXRfQmFhSGFhSW5pdBd1bmkwNkJCLmluaXRfQmFhSGFhSW5pdBd1bmkwNjdGLmluaXRfQmFhSGFhSW5pdBd1bmkwNzU1LmluaXRfQmFhSGFhSW5pdBd1bmkwNjdELmluaXRfQmFhSGFhSW5pdBd1bmkwNjdFLmluaXRfQmFhSGFhSW5pdBd1bmkwNjdCLmluaXRfQmFhSGFhSW5pdBd1bmkwNjI4LmluaXRfQmFhSGFhSW5pdBd1bmkwNjdBLmluaXRfQmFhSGFhSW5pdBd1bmkwNzUxLmluaXRfQmFhSGFhSW5pdBd1bmkwNjQ2LmluaXRfQmFhSGFhSW5pdBd1bmkwNzUzLmluaXRfQmFhSGFhSW5pdBd1bmkwNzUyLmluaXRfQmFhSGFhSW5pdBd1bmkwNjJBLmluaXRfQmFhSGFhSW5pdBd1bmkwNjc4LmluaXRfQmFhSGFhSW5pdBd1bmkwNjNELmluaXRfQmFhSGFhSW5pdBd1bmkwNjJCLmluaXRfQmFhSGFhSW5pdBd1bmkwNjc5LmluaXRfQmFhSGFhSW5pdBd1bmkwNkI5LmluaXRfQmFhSGFhSW5pdBd1bmkwNzY5LmluaXRfQmFhSGFhSW5pdBd1bmkwNjQ5LmluaXRfQmFhSGFhSW5pdBd1bmkwNjdDLmluaXRfQmFhSGFhSW5pdBd1bmkwNzU0LmluaXRfQmFhSGFhSW5pdBd1bmkwNkQxLmluaXRfQmFhSGFhSW5pdBd1bmkwNkQwLmluaXRfQmFhSGFhSW5pdBd1bmkwNkJBLmluaXRfQmFhSGFhSW5pdBd1bmkwNkNDLmluaXRfQmFhSGFhSW5pdBd1bmkwNzY3LmluaXRfQmFhSGFhSW5pdBp1bmkwNzc3LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjgwLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzc2LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNkJDLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzUwLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzU2LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzY4LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNkNFLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzc1LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNkJELmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjI2LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjZFLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjIwLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjRBLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNkJCLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjdGLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzU1LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjdELmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjdFLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjdCLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjI4LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjdBLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzUxLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjQ2LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzUzLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzUyLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjJBLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjc4LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjNELmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjJCLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjc5LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNkI5LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzY5LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjQ5LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjdDLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzU0LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNkQxLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNkQwLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNkJBLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNkNDLmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNzY3LmluaXRfQmFhSGFhTWVtSW5pdBp1bmkwNjJFLm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNjJELm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNjgxLm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNjg3Lm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNjg1Lm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNjJDLm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNjgyLm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNzU3Lm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNjg0Lm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNzZGLm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNzZFLm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNjgzLm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNkJGLm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNzdDLm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNzU4Lm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNzcyLm1lZGlfQmFhSGFhTWVtSW5pdBp1bmkwNjg2Lm1lZGlfQmFhSGFhTWVtSW5pdBl1bmkwNjJFLmZpbmFfQWJvdmVIYWFJc29sGXVuaTA2MkQuZmluYV9BYm92ZUhhYUlzb2wZdW5pMDY4MS5maW5hX0Fib3ZlSGFhSXNvbBl1bmkwNjg3LmZpbmFfQWJvdmVIYWFJc29sGXVuaTA2ODUuZmluYV9BYm92ZUhhYUlzb2wZdW5pMDYyQy5maW5hX0Fib3ZlSGFhSXNvbBl1bmkwNjgyLmZpbmFfQWJvdmVIYWFJc29sGXVuaTA3NTcuZmluYV9BYm92ZUhhYUlzb2wZdW5pMDY4NC5maW5hX0Fib3ZlSGFhSXNvbBl1bmkwNzZGLmZpbmFfQWJvdmVIYWFJc29sGXVuaTA3NkUuZmluYV9BYm92ZUhhYUlzb2wZdW5pMDY4My5maW5hX0Fib3ZlSGFhSXNvbBl1bmkwNkJGLmZpbmFfQWJvdmVIYWFJc29sGXVuaTA3N0MuZmluYV9BYm92ZUhhYUlzb2wZdW5pMDc1OC5maW5hX0Fib3ZlSGFhSXNvbBl1bmkwNzcyLmZpbmFfQWJvdmVIYWFJc29sGXVuaTA2ODYuZmluYV9BYm92ZUhhYUlzb2wadW5pMDZCNS5pbml0X0xhbUhhYUhhYUluaXQadW5pMDZCNy5pbml0X0xhbUhhYUhhYUluaXQadW5pMDY0NC5pbml0X0xhbUhhYUhhYUluaXQadW5pMDZCOC5pbml0X0xhbUhhYUhhYUluaXQadW5pMDZCNi5pbml0X0xhbUhhYUhhYUluaXQadW5pMDc2QS5pbml0X0xhbUhhYUhhYUluaXQUdW5pMDZGQy5pbml0X0ZpbmphbmkUdW5pMDYzQS5pbml0X0ZpbmphbmkUdW5pMDc1RS5pbml0X0ZpbmphbmkUdW5pMDc1RC5pbml0X0ZpbmphbmkUdW5pMDc1Ri5pbml0X0ZpbmphbmkUdW5pMDZBMC5pbml0X0ZpbmphbmkUdW5pMDYzOS5pbml0X0ZpbmphbmkUdW5pMDYyRS5pbml0X0ZpbmphbmkUdW5pMDYyRC5pbml0X0ZpbmphbmkUdW5pMDY4MS5pbml0X0ZpbmphbmkUdW5pMDY4Ny5pbml0X0ZpbmphbmkUdW5pMDY4NS5pbml0X0ZpbmphbmkUdW5pMDYyQy5pbml0X0ZpbmphbmkUdW5pMDY4Mi5pbml0X0ZpbmphbmkUdW5pMDc1Ny5pbml0X0ZpbmphbmkUdW5pMDY4NC5pbml0X0ZpbmphbmkUdW5pMDc2Ri5pbml0X0ZpbmphbmkUdW5pMDc2RS5pbml0X0ZpbmphbmkUdW5pMDY4My5pbml0X0ZpbmphbmkUdW5pMDZCRi5pbml0X0ZpbmphbmkUdW5pMDc3Qy5pbml0X0ZpbmphbmkUdW5pMDc1OC5pbml0X0ZpbmphbmkUdW5pMDc3Mi5pbml0X0ZpbmphbmkUdW5pMDY4Ni5pbml0X0ZpbmphbmkUdW5pMDYyRS5tZWRpX0ZpbmphbmkUdW5pMDYyRC5tZWRpX0ZpbmphbmkUdW5pMDY4MS5tZWRpX0ZpbmphbmkUdW5pMDY4Ny5tZWRpX0ZpbmphbmkUdW5pMDY4NS5tZWRpX0ZpbmphbmkUdW5pMDYyQy5tZWRpX0ZpbmphbmkUdW5pMDY4Mi5tZWRpX0ZpbmphbmkUdW5pMDc1Ny5tZWRpX0ZpbmphbmkUdW5pMDY4NC5tZWRpX0ZpbmphbmkUdW5pMDc2Ri5tZWRpX0ZpbmphbmkUdW5pMDc2RS5tZWRpX0ZpbmphbmkUdW5pMDY4My5tZWRpX0ZpbmphbmkUdW5pMDZCRi5tZWRpX0ZpbmphbmkUdW5pMDc3Qy5tZWRpX0ZpbmphbmkUdW5pMDc1OC5tZWRpX0ZpbmphbmkUdW5pMDc3Mi5tZWRpX0ZpbmphbmkUdW5pMDY4Ni5tZWRpX0ZpbmphbmkTdW5pMDZGQS5pbml0X1ByZVlhYRN1bmkwNzZELmluaXRfUHJlWWFhE3VuaTA2MzMuaW5pdF9QcmVZYWETdW5pMDc3RS5pbml0X1ByZVlhYRN1bmkwNzdELmluaXRfUHJlWWFhE3VuaTA2MzQuaW5pdF9QcmVZYWETdW5pMDc3MC5pbml0X1ByZVlhYRN1bmkwNzVDLmluaXRfUHJlWWFhE3VuaTA2OUEuaW5pdF9QcmVZYWETdW5pMDY5Qi5pbml0X1ByZVlhYRN1bmkwNjlDLmluaXRfUHJlWWFhE3VuaTA2RkEubWVkaV9QcmVZYWETdW5pMDc2RC5tZWRpX1ByZVlhYRN1bmkwNjMzLm1lZGlfUHJlWWFhE3VuaTA3N0UubWVkaV9QcmVZYWETdW5pMDc3RC5tZWRpX1ByZVlhYRN1bmkwNjM0Lm1lZGlfUHJlWWFhE3VuaTA3NzAubWVkaV9QcmVZYWETdW5pMDc1Qy5tZWRpX1ByZVlhYRN1bmkwNjlBLm1lZGlfUHJlWWFhE3VuaTA2OUIubWVkaV9QcmVZYWETdW5pMDY5Qy5tZWRpX1ByZVlhYRN1bmkwNjlELmluaXRfUHJlWWFhE3VuaTA2RkIuaW5pdF9QcmVZYWETdW5pMDYzNi5pbml0X1ByZVlhYRN1bmkwNjlFLmluaXRfUHJlWWFhE3VuaTA2MzUuaW5pdF9QcmVZYWETdW5pMDY5RC5tZWRpX1ByZVlhYRN1bmkwNkZCLm1lZGlfUHJlWWFhE3VuaTA2MzYubWVkaV9QcmVZYWETdW5pMDY5RS5tZWRpX1ByZVlhYRN1bmkwNjM1Lm1lZGlfUHJlWWFhEXVuaTA3NzcuaW5pdF9IaWdoEXVuaTA2ODAuaW5pdF9IaWdoEXVuaTA3NzYuaW5pdF9IaWdoEXVuaTA2QkMuaW5pdF9IaWdoEXVuaTA3NTAuaW5pdF9IaWdoEXVuaTA3NTYuaW5pdF9IaWdoEXVuaTA3NjguaW5pdF9IaWdoEXVuaTA2Q0UuaW5pdF9IaWdoEXVuaTA3NzUuaW5pdF9IaWdoEXVuaTA2QkQuaW5pdF9IaWdoEXVuaTA2MjYuaW5pdF9IaWdoEXVuaTA2NkUuaW5pdF9IaWdoEXVuaTA2MjAuaW5pdF9IaWdoEXVuaTA2NEEuaW5pdF9IaWdoEXVuaTA2QkIuaW5pdF9IaWdoEXVuaTA2N0YuaW5pdF9IaWdoEXVuaTA3NTUuaW5pdF9IaWdoEXVuaTA2N0QuaW5pdF9IaWdoEXVuaTA2N0UuaW5pdF9IaWdoEXVuaTA2N0IuaW5pdF9IaWdoEXVuaTA2MjguaW5pdF9IaWdoEXVuaTA2N0EuaW5pdF9IaWdoEXVuaTA3NTEuaW5pdF9IaWdoEXVuaTA2NDYuaW5pdF9IaWdoEXVuaTA3NTMuaW5pdF9IaWdoEXVuaTA3NTIuaW5pdF9IaWdoEXVuaTA2MkEuaW5pdF9IaWdoEXVuaTA2NzguaW5pdF9IaWdoEXVuaTA2M0QuaW5pdF9IaWdoEXVuaTA2MkIuaW5pdF9IaWdoEXVuaTA2NzkuaW5pdF9IaWdoEXVuaTA2QjkuaW5pdF9IaWdoEXVuaTA3NjkuaW5pdF9IaWdoEXVuaTA2NDkuaW5pdF9IaWdoEXVuaTA2N0MuaW5pdF9IaWdoEXVuaTA3NTQuaW5pdF9IaWdoEXVuaTA2RDEuaW5pdF9IaWdoEXVuaTA2RDAuaW5pdF9IaWdoEXVuaTA2QkEuaW5pdF9IaWdoEXVuaTA2Q0MuaW5pdF9IaWdoEXVuaTA3NjcuaW5pdF9IaWdoEXVuaTA3NzcubWVkaV9IaWdoEXVuaTA2ODAubWVkaV9IaWdoEXVuaTA3NzYubWVkaV9IaWdoEXVuaTA2QkMubWVkaV9IaWdoEXVuaTA3NTAubWVkaV9IaWdoEXVuaTA3NTYubWVkaV9IaWdoEXVuaTA3NjgubWVkaV9IaWdoEXVuaTA2Q0UubWVkaV9IaWdoEXVuaTA3NzUubWVkaV9IaWdoEXVuaTA2QkQubWVkaV9IaWdoEXVuaTA2MjYubWVkaV9IaWdoEXVuaTA2NkUubWVkaV9IaWdoEXVuaTA2MjAubWVkaV9IaWdoEXVuaTA2NEEubWVkaV9IaWdoEXVuaTA2QkIubWVkaV9IaWdoEXVuaTA2N0YubWVkaV9IaWdoEXVuaTA3NTUubWVkaV9IaWdoEXVuaTA2N0QubWVkaV9IaWdoEXVuaTA2N0UubWVkaV9IaWdoEXVuaTA2N0IubWVkaV9IaWdoEXVuaTA2MjgubWVkaV9IaWdoEXVuaTA2N0EubWVkaV9IaWdoEXVuaTA3NTEubWVkaV9IaWdoEXVuaTA2NDYubWVkaV9IaWdoEXVuaTA3NTMubWVkaV9IaWdoEXVuaTA3NTIubWVkaV9IaWdoEXVuaTA2MkEubWVkaV9IaWdoEXVuaTA2NzgubWVkaV9IaWdoEXVuaTA2M0QubWVkaV9IaWdoEXVuaTA2MkIubWVkaV9IaWdoEXVuaTA2NzkubWVkaV9IaWdoEXVuaTA2QjkubWVkaV9IaWdoEXVuaTA3NjkubWVkaV9IaWdoEXVuaTA2NDkubWVkaV9IaWdoEXVuaTA2N0MubWVkaV9IaWdoEXVuaTA3NTQubWVkaV9IaWdoEXVuaTA2RDEubWVkaV9IaWdoEXVuaTA2RDAubWVkaV9IaWdoEXVuaTA2QkEubWVkaV9IaWdoEXVuaTA2Q0MubWVkaV9IaWdoEXVuaTA3NjcubWVkaV9IaWdoE3VuaTA2RkEuZmluYV9CYWFTZW4TdW5pMDc2RC5maW5hX0JhYVNlbhN1bmkwNjMzLmZpbmFfQmFhU2VuE3VuaTA3N0UuZmluYV9CYWFTZW4TdW5pMDc3RC5maW5hX0JhYVNlbhN1bmkwNjM0LmZpbmFfQmFhU2VuE3VuaTA3NzAuZmluYV9CYWFTZW4TdW5pMDc1Qy5maW5hX0JhYVNlbhN1bmkwNjlBLmZpbmFfQmFhU2VuE3VuaTA2OUIuZmluYV9CYWFTZW4TdW5pMDY5Qy5maW5hX0JhYVNlbhZ1bmkwNjQ1LmZpbmFfUG9zdFRvb3RoEXVuaTA3NzcuaW5pdF9XaWRlEXVuaTA2ODAuaW5pdF9XaWRlEXVuaTA3NzYuaW5pdF9XaWRlEXVuaTA2QkMuaW5pdF9XaWRlEXVuaTA3NTAuaW5pdF9XaWRlEXVuaTA3NTYuaW5pdF9XaWRlEXVuaTA3NjguaW5pdF9XaWRlEXVuaTA2Q0UuaW5pdF9XaWRlEXVuaTA3NzUuaW5pdF9XaWRlEXVuaTA2QkQuaW5pdF9XaWRlEXVuaTA2MjYuaW5pdF9XaWRlEXVuaTA2NkUuaW5pdF9XaWRlEXVuaTA2MjAuaW5pdF9XaWRlEXVuaTA2NEEuaW5pdF9XaWRlEXVuaTA2QkIuaW5pdF9XaWRlEXVuaTA2N0YuaW5pdF9XaWRlEXVuaTA3NTUuaW5pdF9XaWRlEXVuaTA2N0QuaW5pdF9XaWRlEXVuaTA2N0UuaW5pdF9XaWRlEXVuaTA2N0IuaW5pdF9XaWRlEXVuaTA2MjguaW5pdF9XaWRlEXVuaTA2N0EuaW5pdF9XaWRlEXVuaTA3NTEuaW5pdF9XaWRlEXVuaTA2NDYuaW5pdF9XaWRlEXVuaTA3NTMuaW5pdF9XaWRlEXVuaTA3NTIuaW5pdF9XaWRlEXVuaTA2MkEuaW5pdF9XaWRlEXVuaTA2NzguaW5pdF9XaWRlEXVuaTA2M0QuaW5pdF9XaWRlEXVuaTA2MkIuaW5pdF9XaWRlEXVuaTA2NzkuaW5pdF9XaWRlEXVuaTA2QjkuaW5pdF9XaWRlEXVuaTA3NjkuaW5pdF9XaWRlEXVuaTA2NDkuaW5pdF9XaWRlEXVuaTA2N0MuaW5pdF9XaWRlEXVuaTA3NTQuaW5pdF9XaWRlEXVuaTA2RDEuaW5pdF9XaWRlEXVuaTA2RDAuaW5pdF9XaWRlEXVuaTA2QkEuaW5pdF9XaWRlEXVuaTA2Q0MuaW5pdF9XaWRlEXVuaTA3NjcuaW5pdF9XaWRlF3VuaTA2MkUubWVkaV9IYWFIYWFJbml0F3VuaTA2MkQubWVkaV9IYWFIYWFJbml0F3VuaTA2ODEubWVkaV9IYWFIYWFJbml0F3VuaTA2ODcubWVkaV9IYWFIYWFJbml0F3VuaTA2ODUubWVkaV9IYWFIYWFJbml0F3VuaTA2MkMubWVkaV9IYWFIYWFJbml0F3VuaTA2ODIubWVkaV9IYWFIYWFJbml0F3VuaTA3NTcubWVkaV9IYWFIYWFJbml0F3VuaTA2ODQubWVkaV9IYWFIYWFJbml0F3VuaTA3NkYubWVkaV9IYWFIYWFJbml0F3VuaTA3NkUubWVkaV9IYWFIYWFJbml0F3VuaTA2ODMubWVkaV9IYWFIYWFJbml0F3VuaTA2QkYubWVkaV9IYWFIYWFJbml0F3VuaTA3N0MubWVkaV9IYWFIYWFJbml0F3VuaTA3NTgubWVkaV9IYWFIYWFJbml0F3VuaTA3NzIubWVkaV9IYWFIYWFJbml0F3VuaTA2ODYubWVkaV9IYWFIYWFJbml0F3VuaTA2MkUubWVkaV9BeW5IYWFJbml0F3VuaTA2MkQubWVkaV9BeW5IYWFJbml0F3VuaTA2ODEubWVkaV9BeW5IYWFJbml0F3VuaTA2ODcubWVkaV9BeW5IYWFJbml0F3VuaTA2ODUubWVkaV9BeW5IYWFJbml0F3VuaTA2MkMubWVkaV9BeW5IYWFJbml0F3VuaTA2ODIubWVkaV9BeW5IYWFJbml0F3VuaTA3NTcubWVkaV9BeW5IYWFJbml0F3VuaTA2ODQubWVkaV9BeW5IYWFJbml0F3VuaTA3NkYubWVkaV9BeW5IYWFJbml0F3VuaTA3NkUubWVkaV9BeW5IYWFJbml0F3VuaTA2ODMubWVkaV9BeW5IYWFJbml0F3VuaTA2QkYubWVkaV9BeW5IYWFJbml0F3VuaTA3N0MubWVkaV9BeW5IYWFJbml0F3VuaTA3NTgubWVkaV9BeW5IYWFJbml0F3VuaTA3NzIubWVkaV9BeW5IYWFJbml0F3VuaTA2ODYubWVkaV9BeW5IYWFJbml0HnVuaTA2NDUubWVkaV9MYW1NZW1Jbml0VGF0d2VlbBV1bmkwNjQ3LmluaXRfQWJvdmVIYWEVdW5pMDZDMS5pbml0X0Fib3ZlSGFhFXVuaTA2MkUuaW5pdF9BYm92ZUhhYRV1bmkwNjJELmluaXRfQWJvdmVIYWEVdW5pMDY4MS5pbml0X0Fib3ZlSGFhFXVuaTA2ODcuaW5pdF9BYm92ZUhhYRV1bmkwNjg1LmluaXRfQWJvdmVIYWEVdW5pMDYyQy5pbml0X0Fib3ZlSGFhFXVuaTA2ODIuaW5pdF9BYm92ZUhhYRV1bmkwNzU3LmluaXRfQWJvdmVIYWEVdW5pMDY4NC5pbml0X0Fib3ZlSGFhFXVuaTA3NkYuaW5pdF9BYm92ZUhhYRV1bmkwNzZFLmluaXRfQWJvdmVIYWEVdW5pMDY4My5pbml0X0Fib3ZlSGFhFXVuaTA2QkYuaW5pdF9BYm92ZUhhYRV1bmkwNzdDLmluaXRfQWJvdmVIYWEVdW5pMDc1OC5pbml0X0Fib3ZlSGFhFXVuaTA3NzIuaW5pdF9BYm92ZUhhYRV1bmkwNjg2LmluaXRfQWJvdmVIYWEVdW5pMDZGQy5pbml0X0Fib3ZlSGFhFXVuaTA2M0EuaW5pdF9BYm92ZUhhYRV1bmkwNzVFLmluaXRfQWJvdmVIYWEVdW5pMDc1RC5pbml0X0Fib3ZlSGFhFXVuaTA3NUYuaW5pdF9BYm92ZUhhYRV1bmkwNkEwLmluaXRfQWJvdmVIYWEVdW5pMDYzOS5pbml0X0Fib3ZlSGFhGnVuaTA2MkUuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA2MkQuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA2ODEuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA2ODcuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA2ODUuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA2MkMuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA2ODIuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA3NTcuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA2ODQuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA3NkYuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA3NkUuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA2ODMuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA2QkYuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA3N0MuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA3NTguZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA3NzIuZmluYV9BYm92ZUhhYUlzb2wyGnVuaTA2ODYuZmluYV9BYm92ZUhhYUlzb2wyFXVuaTA2NDUuaW5pdF9BYm92ZUhhYRV1bmkwNjNCLmluaXRfQWJvdmVIYWEVdW5pMDYzQy5pbml0X0Fib3ZlSGFhFXVuaTA3N0YuaW5pdF9BYm92ZUhhYRV1bmkwNzY0LmluaXRfQWJvdmVIYWEVdW5pMDY0My5pbml0X0Fib3ZlSGFhFXVuaTA2QjAuaW5pdF9BYm92ZUhhYRV1bmkwNkIzLmluaXRfQWJvdmVIYWEVdW5pMDZCMi5pbml0X0Fib3ZlSGFhFXVuaTA2QUIuaW5pdF9BYm92ZUhhYRV1bmkwNkFDLmluaXRfQWJvdmVIYWEVdW5pMDZBRC5pbml0X0Fib3ZlSGFhFXVuaTA2QUUuaW5pdF9BYm92ZUhhYRV1bmkwNkFGLmluaXRfQWJvdmVIYWEVdW5pMDZBOS5pbml0X0Fib3ZlSGFhFXVuaTA2QjQuaW5pdF9BYm92ZUhhYRV1bmkwNzYzLmluaXRfQWJvdmVIYWEVdW5pMDc2Mi5pbml0X0Fib3ZlSGFhFXVuaTA2QjEuaW5pdF9BYm92ZUhhYRN1bmkwNjNCLmluaXRfS2FmTGFtE3VuaTA2M0MuaW5pdF9LYWZMYW0TdW5pMDc3Ri5pbml0X0thZkxhbRN1bmkwNzY0LmluaXRfS2FmTGFtE3VuaTA2NDMuaW5pdF9LYWZMYW0TdW5pMDZCMC5pbml0X0thZkxhbRN1bmkwNkIzLmluaXRfS2FmTGFtE3VuaTA2QjIuaW5pdF9LYWZMYW0TdW5pMDZBQi5pbml0X0thZkxhbRN1bmkwNkFDLmluaXRfS2FmTGFtE3VuaTA2QUQuaW5pdF9LYWZMYW0TdW5pMDZBRS5pbml0X0thZkxhbRN1bmkwNkFGLmluaXRfS2FmTGFtE3VuaTA2QTkuaW5pdF9LYWZMYW0TdW5pMDZCNC5pbml0X0thZkxhbRN1bmkwNzYzLmluaXRfS2FmTGFtE3VuaTA3NjIuaW5pdF9LYWZMYW0TdW5pMDZCMS5pbml0X0thZkxhbRd1bmkwNjNCLmZpbmFfS2FmS2FmRmluYRd1bmkwNjNDLmZpbmFfS2FmS2FmRmluYRd1bmkwNzdGLmZpbmFfS2FmS2FmRmluYRd1bmkwNzY0LmZpbmFfS2FmS2FmRmluYRd1bmkwNjQzLmZpbmFfS2FmS2FmRmluYRd1bmkwNkIwLmZpbmFfS2FmS2FmRmluYRd1bmkwNkIzLmZpbmFfS2FmS2FmRmluYRd1bmkwNkIyLmZpbmFfS2FmS2FmRmluYRd1bmkwNkFCLmZpbmFfS2FmS2FmRmluYRd1bmkwNkFDLmZpbmFfS2FmS2FmRmluYRd1bmkwNkFELmZpbmFfS2FmS2FmRmluYRd1bmkwNkFFLmZpbmFfS2FmS2FmRmluYRd1bmkwNkFGLmZpbmFfS2FmS2FmRmluYRd1bmkwNkE5LmZpbmFfS2FmS2FmRmluYRd1bmkwNkI0LmZpbmFfS2FmS2FmRmluYRd1bmkwNzYzLmZpbmFfS2FmS2FmRmluYRd1bmkwNzYyLmZpbmFfS2FmS2FmRmluYRd1bmkwNkIxLmZpbmFfS2FmS2FmRmluYRN1bmkwNkI1Lm1lZGlfS2FmTGFtE3VuaTA2QjcubWVkaV9LYWZMYW0TdW5pMDY0NC5tZWRpX0thZkxhbRN1bmkwNkI4Lm1lZGlfS2FmTGFtE3VuaTA2QjYubWVkaV9LYWZMYW0TdW5pMDc2QS5tZWRpX0thZkxhbRp1bmkwNkI1Lm1lZGlfS2FmTGFtTWVtTWVkaRp1bmkwNkI3Lm1lZGlfS2FmTGFtTWVtTWVkaRp1bmkwNjQ0Lm1lZGlfS2FmTGFtTWVtTWVkaRp1bmkwNkI4Lm1lZGlfS2FmTGFtTWVtTWVkaRp1bmkwNkI2Lm1lZGlfS2FmTGFtTWVtTWVkaRp1bmkwNzZBLm1lZGlfS2FmTGFtTWVtTWVkaRN1bmkwNjNCLm1lZGlfS2FmTGFtE3VuaTA2M0MubWVkaV9LYWZMYW0TdW5pMDc3Ri5tZWRpX0thZkxhbRN1bmkwNzY0Lm1lZGlfS2FmTGFtE3VuaTA2NDMubWVkaV9LYWZMYW0TdW5pMDZCMC5tZWRpX0thZkxhbRN1bmkwNkIzLm1lZGlfS2FmTGFtE3VuaTA2QjIubWVkaV9LYWZMYW0TdW5pMDZBQi5tZWRpX0thZkxhbRN1bmkwNkFDLm1lZGlfS2FmTGFtE3VuaTA2QUQubWVkaV9LYWZMYW0TdW5pMDZBRS5tZWRpX0thZkxhbRN1bmkwNkFGLm1lZGlfS2FmTGFtE3VuaTA2QTkubWVkaV9LYWZMYW0TdW5pMDZCNC5tZWRpX0thZkxhbRN1bmkwNzYzLm1lZGlfS2FmTGFtE3VuaTA3NjIubWVkaV9LYWZMYW0TdW5pMDZCMS5tZWRpX0thZkxhbRp1bmkwNkI1Lm1lZGlfS2FmTGFtSGVoSXNvbBp1bmkwNkI3Lm1lZGlfS2FmTGFtSGVoSXNvbBp1bmkwNjQ0Lm1lZGlfS2FmTGFtSGVoSXNvbBp1bmkwNkI4Lm1lZGlfS2FmTGFtSGVoSXNvbBp1bmkwNkI2Lm1lZGlfS2FmTGFtSGVoSXNvbBp1bmkwNzZBLm1lZGlfS2FmTGFtSGVoSXNvbBZ1bmkwNkI1Lm1lZGlfS2FmTGFtWWFhFnVuaTA2QjcubWVkaV9LYWZMYW1ZYWEWdW5pMDY0NC5tZWRpX0thZkxhbVlhYRZ1bmkwNkI4Lm1lZGlfS2FmTGFtWWFhFnVuaTA2QjYubWVkaV9LYWZMYW1ZYWEWdW5pMDc2QS5tZWRpX0thZkxhbVlhYRZ1bmkwNkI1Lm1lZGlfS2FmTGFtQWxmFnVuaTA2QjcubWVkaV9LYWZMYW1BbGYWdW5pMDY0NC5tZWRpX0thZkxhbUFsZhZ1bmkwNkI4Lm1lZGlfS2FmTGFtQWxmFnVuaTA2QjYubWVkaV9LYWZMYW1BbGYWdW5pMDc2QS5tZWRpX0thZkxhbUFsZhN1bmkwNkI1LmZpbmFfS2FmTGFtE3VuaTA2QjcuZmluYV9LYWZMYW0TdW5pMDY0NC5maW5hX0thZkxhbRN1bmkwNkI4LmZpbmFfS2FmTGFtE3VuaTA2QjYuZmluYV9LYWZMYW0TdW5pMDc2QS5maW5hX0thZkxhbRN1bmkwNjI1LmZpbmFfS2FmQWxmE3VuaTA2MjcuZmluYV9LYWZBbGYTdW5pMDc3NC5maW5hX0thZkFsZhN1bmkwNzczLmZpbmFfS2FmQWxmE3VuaTA2MjMuZmluYV9LYWZBbGYTdW5pMDYyMi5maW5hX0thZkFsZhN1bmkwNjc1LmZpbmFfS2FmQWxmE3VuaTA2NzIuZmluYV9LYWZBbGYTdW5pMDY3My5maW5hX0thZkFsZhN1bmkwNjcxLmZpbmFfS2FmQWxmFnVuaTA2M0IuaW5pdF9LYWZNZW1BbGYWdW5pMDYzQy5pbml0X0thZk1lbUFsZhZ1bmkwNzdGLmluaXRfS2FmTWVtQWxmFnVuaTA3NjQuaW5pdF9LYWZNZW1BbGYWdW5pMDY0My5pbml0X0thZk1lbUFsZhZ1bmkwNkIwLmluaXRfS2FmTWVtQWxmFnVuaTA2QjMuaW5pdF9LYWZNZW1BbGYWdW5pMDZCMi5pbml0X0thZk1lbUFsZhZ1bmkwNkFCLmluaXRfS2FmTWVtQWxmFnVuaTA2QUMuaW5pdF9LYWZNZW1BbGYWdW5pMDZBRC5pbml0X0thZk1lbUFsZhZ1bmkwNkFFLmluaXRfS2FmTWVtQWxmFnVuaTA2QUYuaW5pdF9LYWZNZW1BbGYWdW5pMDZBOS5pbml0X0thZk1lbUFsZhZ1bmkwNkI0LmluaXRfS2FmTWVtQWxmFnVuaTA3NjMuaW5pdF9LYWZNZW1BbGYWdW5pMDc2Mi5pbml0X0thZk1lbUFsZhZ1bmkwNkIxLmluaXRfS2FmTWVtQWxmFnVuaTA2M0IubWVkaV9LYWZNZW1BbGYWdW5pMDYzQy5tZWRpX0thZk1lbUFsZhZ1bmkwNzdGLm1lZGlfS2FmTWVtQWxmFnVuaTA3NjQubWVkaV9LYWZNZW1BbGYWdW5pMDY0My5tZWRpX0thZk1lbUFsZhZ1bmkwNkIwLm1lZGlfS2FmTWVtQWxmFnVuaTA2QjMubWVkaV9LYWZNZW1BbGYWdW5pMDZCMi5tZWRpX0thZk1lbUFsZhZ1bmkwNkFCLm1lZGlfS2FmTWVtQWxmFnVuaTA2QUMubWVkaV9LYWZNZW1BbGYWdW5pMDZBRC5tZWRpX0thZk1lbUFsZhZ1bmkwNkFFLm1lZGlfS2FmTWVtQWxmFnVuaTA2QUYubWVkaV9LYWZNZW1BbGYWdW5pMDZBOS5tZWRpX0thZk1lbUFsZhZ1bmkwNkI0Lm1lZGlfS2FmTWVtQWxmFnVuaTA3NjMubWVkaV9LYWZNZW1BbGYWdW5pMDc2Mi5tZWRpX0thZk1lbUFsZhZ1bmkwNkIxLm1lZGlfS2FmTWVtQWxmFnVuaTA2NDUubWVkaV9LYWZNZW1BbGYWdW5pMDZCNS5tZWRpX0thZk1lbUxhbRZ1bmkwNkI3Lm1lZGlfS2FmTWVtTGFtFnVuaTA2NDQubWVkaV9LYWZNZW1MYW0WdW5pMDZCOC5tZWRpX0thZk1lbUxhbRZ1bmkwNkI2Lm1lZGlfS2FmTWVtTGFtFnVuaTA3NkEubWVkaV9LYWZNZW1MYW0WdW5pMDZCNS5maW5hX0thZk1lbUxhbRZ1bmkwNkI3LmZpbmFfS2FmTWVtTGFtFnVuaTA2NDQuZmluYV9LYWZNZW1MYW0WdW5pMDZCOC5maW5hX0thZk1lbUxhbRZ1bmkwNkI2LmZpbmFfS2FmTWVtTGFtFnVuaTA3NkEuZmluYV9LYWZNZW1MYW0WdW5pMDYyNS5maW5hX0thZk1lbUFsZhZ1bmkwNjI3LmZpbmFfS2FmTWVtQWxmFnVuaTA3NzQuZmluYV9LYWZNZW1BbGYWdW5pMDc3My5maW5hX0thZk1lbUFsZhZ1bmkwNjIzLmZpbmFfS2FmTWVtQWxmFnVuaTA2MjIuZmluYV9LYWZNZW1BbGYWdW5pMDY3NS5maW5hX0thZk1lbUFsZhZ1bmkwNjcyLmZpbmFfS2FmTWVtQWxmFnVuaTA2NzMuZmluYV9LYWZNZW1BbGYWdW5pMDY3MS5maW5hX0thZk1lbUFsZhN1bmkwNjNCLmluaXRfS2FmSGVoE3VuaTA2M0MuaW5pdF9LYWZIZWgTdW5pMDc3Ri5pbml0X0thZkhlaBN1bmkwNzY0LmluaXRfS2FmSGVoE3VuaTA2NDMuaW5pdF9LYWZIZWgTdW5pMDZCMC5pbml0X0thZkhlaBN1bmkwNkIzLmluaXRfS2FmSGVoE3VuaTA2QjIuaW5pdF9LYWZIZWgTdW5pMDZBQi5pbml0X0thZkhlaBN1bmkwNkFDLmluaXRfS2FmSGVoE3VuaTA2QUQuaW5pdF9LYWZIZWgTdW5pMDZBRS5pbml0X0thZkhlaBN1bmkwNkFGLmluaXRfS2FmSGVoE3VuaTA2QTkuaW5pdF9LYWZIZWgTdW5pMDZCNC5pbml0X0thZkhlaBN1bmkwNzYzLmluaXRfS2FmSGVoE3VuaTA3NjIuaW5pdF9LYWZIZWgTdW5pMDZCMS5pbml0X0thZkhlaBN1bmkwNjNCLm1lZGlfS2FmSGVoE3VuaTA2M0MubWVkaV9LYWZIZWgTdW5pMDc3Ri5tZWRpX0thZkhlaBN1bmkwNzY0Lm1lZGlfS2FmSGVoE3VuaTA2NDMubWVkaV9LYWZIZWgTdW5pMDZCMC5tZWRpX0thZkhlaBN1bmkwNkIzLm1lZGlfS2FmSGVoE3VuaTA2QjIubWVkaV9LYWZIZWgTdW5pMDZBQi5tZWRpX0thZkhlaBN1bmkwNkFDLm1lZGlfS2FmSGVoE3VuaTA2QUQubWVkaV9LYWZIZWgTdW5pMDZBRS5tZWRpX0thZkhlaBN1bmkwNkFGLm1lZGlfS2FmSGVoE3VuaTA2QTkubWVkaV9LYWZIZWgTdW5pMDZCNC5tZWRpX0thZkhlaBN1bmkwNzYzLm1lZGlfS2FmSGVoE3VuaTA3NjIubWVkaV9LYWZIZWgTdW5pMDZCMS5tZWRpX0thZkhlaBN1bmkwNjQ3LmZpbmFfS2FmSGVoE3VuaTA2QzEuZmluYV9LYWZIZWgTdW5pMDZDMy5maW5hX0thZkhlaBN1bmkwNkQ1LmZpbmFfS2FmSGVoE3VuaTA2MjkuZmluYV9LYWZIZWgTdW5pMDY5MC5maW5hX0thZkRhbBN1bmkwNkVFLmZpbmFfS2FmRGFsE3VuaTA2ODkuZmluYV9LYWZEYWwTdW5pMDY4OC5maW5hX0thZkRhbBN1bmkwNzVBLmZpbmFfS2FmRGFsE3VuaTA2MzAuZmluYV9LYWZEYWwTdW5pMDYyRi5maW5hX0thZkRhbBN1bmkwNzU5LmZpbmFfS2FmRGFsE3VuaTA2OEMuZmluYV9LYWZEYWwTdW5pMDY4Qi5maW5hX0thZkRhbBN1bmkwNjhBLmZpbmFfS2FmRGFsE3VuaTA2OEYuZmluYV9LYWZEYWwTdW5pMDY4RS5maW5hX0thZkRhbBN1bmkwNjhELmZpbmFfS2FmRGFsE3VuaTA2QjUuaW5pdF9MYW1IZWgTdW5pMDZCNy5pbml0X0xhbUhlaBN1bmkwNjQ0LmluaXRfTGFtSGVoE3VuaTA2QjguaW5pdF9MYW1IZWgTdW5pMDZCNi5pbml0X0xhbUhlaBN1bmkwNzZBLmluaXRfTGFtSGVoE3VuaTA2QjUubWVkaV9MYW1IZWgTdW5pMDZCNy5tZWRpX0xhbUhlaBN1bmkwNjQ0Lm1lZGlfTGFtSGVoE3VuaTA2QjgubWVkaV9MYW1IZWgTdW5pMDZCNi5tZWRpX0xhbUhlaBN1bmkwNzZBLm1lZGlfTGFtSGVoE3VuaTA2NDcuZmluYV9MYW1IZWgTdW5pMDZDMS5maW5hX0xhbUhlaBN1bmkwNkMzLmZpbmFfTGFtSGVoE3VuaTA2RDUuZmluYV9MYW1IZWgTdW5pMDYyOS5maW5hX0xhbUhlaBN1bmkwNjkwLmZpbmFfTGFtRGFsE3VuaTA2RUUuZmluYV9MYW1EYWwTdW5pMDY4OS5maW5hX0xhbURhbBN1bmkwNjg4LmZpbmFfTGFtRGFsE3VuaTA3NUEuZmluYV9MYW1EYWwTdW5pMDYzMC5maW5hX0xhbURhbBN1bmkwNjJGLmZpbmFfTGFtRGFsE3VuaTA3NTkuZmluYV9MYW1EYWwTdW5pMDY4Qy5maW5hX0xhbURhbBN1bmkwNjhCLmZpbmFfTGFtRGFsE3VuaTA2OEEuZmluYV9MYW1EYWwTdW5pMDY4Ri5maW5hX0xhbURhbBN1bmkwNjhFLmZpbmFfTGFtRGFsE3VuaTA2OEQuZmluYV9MYW1EYWwXdW5pMDYzQi5tZWRpX0thZk1lbU1lZGkXdW5pMDYzQy5tZWRpX0thZk1lbU1lZGkXdW5pMDc3Ri5tZWRpX0thZk1lbU1lZGkXdW5pMDc2NC5tZWRpX0thZk1lbU1lZGkXdW5pMDY0My5tZWRpX0thZk1lbU1lZGkXdW5pMDZCMC5tZWRpX0thZk1lbU1lZGkXdW5pMDZCMy5tZWRpX0thZk1lbU1lZGkXdW5pMDZCMi5tZWRpX0thZk1lbU1lZGkXdW5pMDZBQi5tZWRpX0thZk1lbU1lZGkXdW5pMDZBQy5tZWRpX0thZk1lbU1lZGkXdW5pMDZBRC5tZWRpX0thZk1lbU1lZGkXdW5pMDZBRS5tZWRpX0thZk1lbU1lZGkXdW5pMDZBRi5tZWRpX0thZk1lbU1lZGkXdW5pMDZBOS5tZWRpX0thZk1lbU1lZGkXdW5pMDZCNC5tZWRpX0thZk1lbU1lZGkXdW5pMDc2My5tZWRpX0thZk1lbU1lZGkXdW5pMDc2Mi5tZWRpX0thZk1lbU1lZGkXdW5pMDZCMS5tZWRpX0thZk1lbU1lZGkXdW5pMDYzQi5pbml0X0thZk1lbUluaXQXdW5pMDYzQy5pbml0X0thZk1lbUluaXQXdW5pMDc3Ri5pbml0X0thZk1lbUluaXQXdW5pMDc2NC5pbml0X0thZk1lbUluaXQXdW5pMDY0My5pbml0X0thZk1lbUluaXQXdW5pMDZCMC5pbml0X0thZk1lbUluaXQXdW5pMDZCMy5pbml0X0thZk1lbUluaXQXdW5pMDZCMi5pbml0X0thZk1lbUluaXQXdW5pMDZBQi5pbml0X0thZk1lbUluaXQXdW5pMDZBQy5pbml0X0thZk1lbUluaXQXdW5pMDZBRC5pbml0X0thZk1lbUluaXQXdW5pMDZBRS5pbml0X0thZk1lbUluaXQXdW5pMDZBRi5pbml0X0thZk1lbUluaXQXdW5pMDZBOS5pbml0X0thZk1lbUluaXQXdW5pMDZCNC5pbml0X0thZk1lbUluaXQXdW5pMDc2My5pbml0X0thZk1lbUluaXQXdW5pMDc2Mi5pbml0X0thZk1lbUluaXQXdW5pMDZCMS5pbml0X0thZk1lbUluaXQXdW5pMDZGQy5pbml0X0F5bk1lbUluaXQXdW5pMDYzQS5pbml0X0F5bk1lbUluaXQXdW5pMDc1RS5pbml0X0F5bk1lbUluaXQXdW5pMDc1RC5pbml0X0F5bk1lbUluaXQXdW5pMDc1Ri5pbml0X0F5bk1lbUluaXQXdW5pMDZBMC5pbml0X0F5bk1lbUluaXQXdW5pMDYzOS5pbml0X0F5bk1lbUluaXQXdW5pMDY2Ri5pbml0X0ZhYU1lbUluaXQXdW5pMDc2MS5pbml0X0ZhYU1lbUluaXQXdW5pMDc2MC5pbml0X0ZhYU1lbUluaXQXdW5pMDY0Mi5pbml0X0ZhYU1lbUluaXQXdW5pMDY0MS5pbml0X0ZhYU1lbUluaXQXdW5pMDZBOC5pbml0X0ZhYU1lbUluaXQXdW5pMDZBMS5pbml0X0ZhYU1lbUluaXQXdW5pMDZBMi5pbml0X0ZhYU1lbUluaXQXdW5pMDZBMy5pbml0X0ZhYU1lbUluaXQXdW5pMDZBNC5pbml0X0ZhYU1lbUluaXQXdW5pMDZBNS5pbml0X0ZhYU1lbUluaXQXdW5pMDZBNi5pbml0X0ZhYU1lbUluaXQXdW5pMDZBNy5pbml0X0ZhYU1lbUluaXQXdW5pMDYyRS5pbml0X0hhYU1lbUluaXQXdW5pMDYyRC5pbml0X0hhYU1lbUluaXQXdW5pMDY4MS5pbml0X0hhYU1lbUluaXQXdW5pMDY4Ny5pbml0X0hhYU1lbUluaXQXdW5pMDY4NS5pbml0X0hhYU1lbUluaXQXdW5pMDYyQy5pbml0X0hhYU1lbUluaXQXdW5pMDY4Mi5pbml0X0hhYU1lbUluaXQXdW5pMDc1Ny5pbml0X0hhYU1lbUluaXQXdW5pMDY4NC5pbml0X0hhYU1lbUluaXQXdW5pMDc2Ri5pbml0X0hhYU1lbUluaXQXdW5pMDc2RS5pbml0X0hhYU1lbUluaXQXdW5pMDY4My5pbml0X0hhYU1lbUluaXQXdW5pMDZCRi5pbml0X0hhYU1lbUluaXQXdW5pMDc3Qy5pbml0X0hhYU1lbUluaXQXdW5pMDc1OC5pbml0X0hhYU1lbUluaXQXdW5pMDc3Mi5pbml0X0hhYU1lbUluaXQXdW5pMDY4Ni5pbml0X0hhYU1lbUluaXQXdW5pMDY0Ny5pbml0X0hlaE1lbUluaXQXdW5pMDZDMS5pbml0X0hlaE1lbUluaXQXdW5pMDY0NS5tZWRpX0thZk1lbU1lZGkXdW5pMDZGQS5pbml0X1Nlbk1lbUluaXQXdW5pMDc2RC5pbml0X1Nlbk1lbUluaXQXdW5pMDYzMy5pbml0X1Nlbk1lbUluaXQXdW5pMDc3RS5pbml0X1Nlbk1lbUluaXQXdW5pMDc3RC5pbml0X1Nlbk1lbUluaXQXdW5pMDYzNC5pbml0X1Nlbk1lbUluaXQXdW5pMDc3MC5pbml0X1Nlbk1lbUluaXQXdW5pMDc1Qy5pbml0X1Nlbk1lbUluaXQXdW5pMDY5QS5pbml0X1Nlbk1lbUluaXQXdW5pMDY5Qi5pbml0X1Nlbk1lbUluaXQXdW5pMDY5Qy5pbml0X1Nlbk1lbUluaXQXdW5pMDY5RC5pbml0X1NhZE1lbUluaXQXdW5pMDZGQi5pbml0X1NhZE1lbUluaXQXdW5pMDYzNi5pbml0X1NhZE1lbUluaXQXdW5pMDY5RS5pbml0X1NhZE1lbUluaXQXdW5pMDYzNS5pbml0X1NhZE1lbUluaXQXdW5pMDY0NS5pbml0X01lbU1lbUluaXQXdW5pMDY0NS5tZWRpX1Nlbk1lbUluaXQXdW5pMDYzQi5pbml0X0thZllhYUlzb2wXdW5pMDYzQy5pbml0X0thZllhYUlzb2wXdW5pMDc3Ri5pbml0X0thZllhYUlzb2wXdW5pMDc2NC5pbml0X0thZllhYUlzb2wXdW5pMDY0My5pbml0X0thZllhYUlzb2wXdW5pMDZCMC5pbml0X0thZllhYUlzb2wXdW5pMDZCMy5pbml0X0thZllhYUlzb2wXdW5pMDZCMi5pbml0X0thZllhYUlzb2wXdW5pMDZBQi5pbml0X0thZllhYUlzb2wXdW5pMDZBQy5pbml0X0thZllhYUlzb2wXdW5pMDZBRC5pbml0X0thZllhYUlzb2wXdW5pMDZBRS5pbml0X0thZllhYUlzb2wXdW5pMDZBRi5pbml0X0thZllhYUlzb2wXdW5pMDZBOS5pbml0X0thZllhYUlzb2wXdW5pMDZCNC5pbml0X0thZllhYUlzb2wXdW5pMDc2My5pbml0X0thZllhYUlzb2wXdW5pMDc2Mi5pbml0X0thZllhYUlzb2wXdW5pMDZCMS5pbml0X0thZllhYUlzb2wXdW5pMDc3Ny5pbml0X0JhYVlhYUlzb2wXdW5pMDY4MC5pbml0X0JhYVlhYUlzb2wXdW5pMDc3Ni5pbml0X0JhYVlhYUlzb2wXdW5pMDZCQy5pbml0X0JhYVlhYUlzb2wXdW5pMDc1MC5pbml0X0JhYVlhYUlzb2wXdW5pMDc1Ni5pbml0X0JhYVlhYUlzb2wXdW5pMDc2OC5pbml0X0JhYVlhYUlzb2wXdW5pMDZDRS5pbml0X0JhYVlhYUlzb2wXdW5pMDc3NS5pbml0X0JhYVlhYUlzb2wXdW5pMDZCRC5pbml0X0JhYVlhYUlzb2wXdW5pMDYyNi5pbml0X0JhYVlhYUlzb2wXdW5pMDY2RS5pbml0X0JhYVlhYUlzb2wXdW5pMDYyMC5pbml0X0JhYVlhYUlzb2wXdW5pMDY0QS5pbml0X0JhYVlhYUlzb2wXdW5pMDZCQi5pbml0X0JhYVlhYUlzb2wXdW5pMDY3Ri5pbml0X0JhYVlhYUlzb2wXdW5pMDc1NS5pbml0X0JhYVlhYUlzb2wXdW5pMDY3RC5pbml0X0JhYVlhYUlzb2wXdW5pMDY3RS5pbml0X0JhYVlhYUlzb2wXdW5pMDY3Qi5pbml0X0JhYVlhYUlzb2wXdW5pMDYyOC5pbml0X0JhYVlhYUlzb2wXdW5pMDY3QS5pbml0X0JhYVlhYUlzb2wXdW5pMDc1MS5pbml0X0JhYVlhYUlzb2wXdW5pMDY0Ni5pbml0X0JhYVlhYUlzb2wXdW5pMDc1My5pbml0X0JhYVlhYUlzb2wXdW5pMDc1Mi5pbml0X0JhYVlhYUlzb2wXdW5pMDYyQS5pbml0X0JhYVlhYUlzb2wXdW5pMDY3OC5pbml0X0JhYVlhYUlzb2wXdW5pMDYzRC5pbml0X0JhYVlhYUlzb2wXdW5pMDYyQi5pbml0X0JhYVlhYUlzb2wXdW5pMDY3OS5pbml0X0JhYVlhYUlzb2wXdW5pMDZCOS5pbml0X0JhYVlhYUlzb2wXdW5pMDc2OS5pbml0X0JhYVlhYUlzb2wXdW5pMDY0OS5pbml0X0JhYVlhYUlzb2wXdW5pMDY3Qy5pbml0X0JhYVlhYUlzb2wXdW5pMDc1NC5pbml0X0JhYVlhYUlzb2wXdW5pMDZEMS5pbml0X0JhYVlhYUlzb2wXdW5pMDZEMC5pbml0X0JhYVlhYUlzb2wXdW5pMDZCQS5pbml0X0JhYVlhYUlzb2wXdW5pMDZDQy5pbml0X0JhYVlhYUlzb2wXdW5pMDc2Ny5pbml0X0JhYVlhYUlzb2wXdW5pMDYyRS5pbml0X0hhYVlhYUlzb2wXdW5pMDYyRC5pbml0X0hhYVlhYUlzb2wXdW5pMDY4MS5pbml0X0hhYVlhYUlzb2wXdW5pMDY4Ny5pbml0X0hhYVlhYUlzb2wXdW5pMDY4NS5pbml0X0hhYVlhYUlzb2wXdW5pMDYyQy5pbml0X0hhYVlhYUlzb2wXdW5pMDY4Mi5pbml0X0hhYVlhYUlzb2wXdW5pMDc1Ny5pbml0X0hhYVlhYUlzb2wXdW5pMDY4NC5pbml0X0hhYVlhYUlzb2wXdW5pMDc2Ri5pbml0X0hhYVlhYUlzb2wXdW5pMDc2RS5pbml0X0hhYVlhYUlzb2wXdW5pMDY4My5pbml0X0hhYVlhYUlzb2wXdW5pMDZCRi5pbml0X0hhYVlhYUlzb2wXdW5pMDc3Qy5pbml0X0hhYVlhYUlzb2wXdW5pMDc1OC5pbml0X0hhYVlhYUlzb2wXdW5pMDc3Mi5pbml0X0hhYVlhYUlzb2wXdW5pMDY4Ni5pbml0X0hhYVlhYUlzb2wXdW5pMDc2NS5pbml0X01lbVlhYUlzb2wXdW5pMDY0NS5pbml0X01lbVlhYUlzb2wXdW5pMDc2Ni5pbml0X01lbVlhYUlzb2wXdW5pMDY2Ri5pbml0X0ZhYVlhYUlzb2wXdW5pMDc2MS5pbml0X0ZhYVlhYUlzb2wXdW5pMDc2MC5pbml0X0ZhYVlhYUlzb2wXdW5pMDY0Mi5pbml0X0ZhYVlhYUlzb2wXdW5pMDY0MS5pbml0X0ZhYVlhYUlzb2wXdW5pMDZBOC5pbml0X0ZhYVlhYUlzb2wXdW5pMDZBMS5pbml0X0ZhYVlhYUlzb2wXdW5pMDZBMi5pbml0X0ZhYVlhYUlzb2wXdW5pMDZBMy5pbml0X0ZhYVlhYUlzb2wXdW5pMDZBNC5pbml0X0ZhYVlhYUlzb2wXdW5pMDZBNS5pbml0X0ZhYVlhYUlzb2wXdW5pMDZBNi5pbml0X0ZhYVlhYUlzb2wXdW5pMDZBNy5pbml0X0ZhYVlhYUlzb2wXdW5pMDZGQy5pbml0X0F5bllhYUlzb2wXdW5pMDYzQS5pbml0X0F5bllhYUlzb2wXdW5pMDc1RS5pbml0X0F5bllhYUlzb2wXdW5pMDc1RC5pbml0X0F5bllhYUlzb2wXdW5pMDc1Ri5pbml0X0F5bllhYUlzb2wXdW5pMDZBMC5pbml0X0F5bllhYUlzb2wXdW5pMDYzOS5pbml0X0F5bllhYUlzb2wXdW5pMDZCNS5pbml0X0xhbVlhYUlzb2wXdW5pMDZCNy5pbml0X0xhbVlhYUlzb2wXdW5pMDY0NC5pbml0X0xhbVlhYUlzb2wXdW5pMDZCOC5pbml0X0xhbVlhYUlzb2wXdW5pMDZCNi5pbml0X0xhbVlhYUlzb2wXdW5pMDc2QS5pbml0X0xhbVlhYUlzb2wXdW5pMDY0Ny5pbml0X0hlaFlhYUlzb2wXdW5pMDZDMS5pbml0X0hlaFlhYUlzb2wXdW5pMDc3Ny5maW5hX0thZllhYUlzb2wXdW5pMDZEMS5maW5hX0thZllhYUlzb2wXdW5pMDc3NS5maW5hX0thZllhYUlzb2wXdW5pMDYzRi5maW5hX0thZllhYUlzb2wXdW5pMDY3OC5maW5hX0thZllhYUlzb2wXdW5pMDYzRC5maW5hX0thZllhYUlzb2wXdW5pMDYzRS5maW5hX0thZllhYUlzb2wXdW5pMDZEMC5maW5hX0thZllhYUlzb2wXdW5pMDY0OS5maW5hX0thZllhYUlzb2wXdW5pMDc3Ni5maW5hX0thZllhYUlzb2wXdW5pMDZDRC5maW5hX0thZllhYUlzb2wXdW5pMDZDQy5maW5hX0thZllhYUlzb2wXdW5pMDYyNi5maW5hX0thZllhYUlzb2wXdW5pMDYyMC5maW5hX0thZllhYUlzb2wXdW5pMDY0QS5maW5hX0thZllhYUlzb2wXdW5pMDZDRS5maW5hX0thZllhYUlzb2wXdW5pMDYzQi5pbml0X0thZk1lbUlzb2wXdW5pMDYzQy5pbml0X0thZk1lbUlzb2wXdW5pMDc3Ri5pbml0X0thZk1lbUlzb2wXdW5pMDc2NC5pbml0X0thZk1lbUlzb2wXdW5pMDY0My5pbml0X0thZk1lbUlzb2wXdW5pMDZCMC5pbml0X0thZk1lbUlzb2wXdW5pMDZCMy5pbml0X0thZk1lbUlzb2wXdW5pMDZCMi5pbml0X0thZk1lbUlzb2wXdW5pMDZBQi5pbml0X0thZk1lbUlzb2wXdW5pMDZBQy5pbml0X0thZk1lbUlzb2wXdW5pMDZBRC5pbml0X0thZk1lbUlzb2wXdW5pMDZBRS5pbml0X0thZk1lbUlzb2wXdW5pMDZBRi5pbml0X0thZk1lbUlzb2wXdW5pMDZBOS5pbml0X0thZk1lbUlzb2wXdW5pMDZCNC5pbml0X0thZk1lbUlzb2wXdW5pMDc2My5pbml0X0thZk1lbUlzb2wXdW5pMDc2Mi5pbml0X0thZk1lbUlzb2wXdW5pMDZCMS5pbml0X0thZk1lbUlzb2wXdW5pMDZCNS5pbml0X0xhbU1lbUlzb2wXdW5pMDZCNy5pbml0X0xhbU1lbUlzb2wXdW5pMDY0NC5pbml0X0xhbU1lbUlzb2wXdW5pMDZCOC5pbml0X0xhbU1lbUlzb2wXdW5pMDZCNi5pbml0X0xhbU1lbUlzb2wXdW5pMDc2QS5pbml0X0xhbU1lbUlzb2wXdW5pMDc3Ny5pbml0X0JhYU1lbUlzb2wXdW5pMDY4MC5pbml0X0JhYU1lbUlzb2wXdW5pMDc3Ni5pbml0X0JhYU1lbUlzb2wXdW5pMDZCQy5pbml0X0JhYU1lbUlzb2wXdW5pMDc1MC5pbml0X0JhYU1lbUlzb2wXdW5pMDc1Ni5pbml0X0JhYU1lbUlzb2wXdW5pMDc2OC5pbml0X0JhYU1lbUlzb2wXdW5pMDZDRS5pbml0X0JhYU1lbUlzb2wXdW5pMDc3NS5pbml0X0JhYU1lbUlzb2wXdW5pMDZCRC5pbml0X0JhYU1lbUlzb2wXdW5pMDYyNi5pbml0X0JhYU1lbUlzb2wXdW5pMDY2RS5pbml0X0JhYU1lbUlzb2wXdW5pMDYyMC5pbml0X0JhYU1lbUlzb2wXdW5pMDY0QS5pbml0X0JhYU1lbUlzb2wXdW5pMDZCQi5pbml0X0JhYU1lbUlzb2wXdW5pMDY3Ri5pbml0X0JhYU1lbUlzb2wXdW5pMDc1NS5pbml0X0JhYU1lbUlzb2wXdW5pMDY3RC5pbml0X0JhYU1lbUlzb2wXdW5pMDY3RS5pbml0X0JhYU1lbUlzb2wXdW5pMDY3Qi5pbml0X0JhYU1lbUlzb2wXdW5pMDYyOC5pbml0X0JhYU1lbUlzb2wXdW5pMDY3QS5pbml0X0JhYU1lbUlzb2wXdW5pMDc1MS5pbml0X0JhYU1lbUlzb2wXdW5pMDY0Ni5pbml0X0JhYU1lbUlzb2wXdW5pMDc1My5pbml0X0JhYU1lbUlzb2wXdW5pMDc1Mi5pbml0X0JhYU1lbUlzb2wXdW5pMDYyQS5pbml0X0JhYU1lbUlzb2wXdW5pMDY3OC5pbml0X0JhYU1lbUlzb2wXdW5pMDYzRC5pbml0X0JhYU1lbUlzb2wXdW5pMDYyQi5pbml0X0JhYU1lbUlzb2wXdW5pMDY3OS5pbml0X0JhYU1lbUlzb2wXdW5pMDZCOS5pbml0X0JhYU1lbUlzb2wXdW5pMDc2OS5pbml0X0JhYU1lbUlzb2wXdW5pMDY0OS5pbml0X0JhYU1lbUlzb2wXdW5pMDY3Qy5pbml0X0JhYU1lbUlzb2wXdW5pMDc1NC5pbml0X0JhYU1lbUlzb2wXdW5pMDZEMS5pbml0X0JhYU1lbUlzb2wXdW5pMDZEMC5pbml0X0JhYU1lbUlzb2wXdW5pMDZCQS5pbml0X0JhYU1lbUlzb2wXdW5pMDZDQy5pbml0X0JhYU1lbUlzb2wXdW5pMDc2Ny5pbml0X0JhYU1lbUlzb2wXdW5pMDY0NS5maW5hX0thZk1lbUlzb2wXdW5pMDY0NS5tZWRpX01lbUFsZkZpbmEadW5pMDc3Ny5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY4MC5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc3Ni5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDZCQy5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc1MC5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc1Ni5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc2OC5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDZDRS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc3NS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDZCRC5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDYyNi5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY2RS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDYyMC5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY0QS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDZCQi5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY3Ri5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc1NS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY3RC5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY3RS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY3Qi5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDYyOC5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY3QS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc1MS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY0Ni5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc1My5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc1Mi5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDYyQS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY3OC5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDYzRC5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDYyQi5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY3OS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDZCOS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc2OS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY0OS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY3Qy5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc1NC5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDZEMS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDZEMC5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDZCQS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDZDQy5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDc2Ny5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDY0NS5tZWRpX0JhYU1lbUFsZkZpbmEZdW5pMDY0NS5tZWRpX0FsZlBvc3RUb290aBd1bmkwNjI1LmZpbmFfTWVtQWxmRmluYRd1bmkwNjI3LmZpbmFfTWVtQWxmRmluYRd1bmkwNzc0LmZpbmFfTWVtQWxmRmluYRd1bmkwNzczLmZpbmFfTWVtQWxmRmluYRd1bmkwNjIzLmZpbmFfTWVtQWxmRmluYRd1bmkwNjIyLmZpbmFfTWVtQWxmRmluYRd1bmkwNjc1LmZpbmFfTWVtQWxmRmluYRd1bmkwNjcyLmZpbmFfTWVtQWxmRmluYRd1bmkwNjczLmZpbmFfTWVtQWxmRmluYRd1bmkwNjcxLmZpbmFfTWVtQWxmRmluYRd1bmkwNzc3LmluaXRfQmFhSGVoSW5pdBd1bmkwNjgwLmluaXRfQmFhSGVoSW5pdBd1bmkwNzc2LmluaXRfQmFhSGVoSW5pdBd1bmkwNkJDLmluaXRfQmFhSGVoSW5pdBd1bmkwNzUwLmluaXRfQmFhSGVoSW5pdBd1bmkwNzU2LmluaXRfQmFhSGVoSW5pdBd1bmkwNzY4LmluaXRfQmFhSGVoSW5pdBd1bmkwNkNFLmluaXRfQmFhSGVoSW5pdBd1bmkwNzc1LmluaXRfQmFhSGVoSW5pdBd1bmkwNkJELmluaXRfQmFhSGVoSW5pdBd1bmkwNjI2LmluaXRfQmFhSGVoSW5pdBd1bmkwNjZFLmluaXRfQmFhSGVoSW5pdBd1bmkwNjIwLmluaXRfQmFhSGVoSW5pdBd1bmkwNjRBLmluaXRfQmFhSGVoSW5pdBd1bmkwNkJCLmluaXRfQmFhSGVoSW5pdBd1bmkwNjdGLmluaXRfQmFhSGVoSW5pdBd1bmkwNzU1LmluaXRfQmFhSGVoSW5pdBd1bmkwNjdELmluaXRfQmFhSGVoSW5pdBd1bmkwNjdFLmluaXRfQmFhSGVoSW5pdBd1bmkwNjdCLmluaXRfQmFhSGVoSW5pdBd1bmkwNjI4LmluaXRfQmFhSGVoSW5pdBd1bmkwNjdBLmluaXRfQmFhSGVoSW5pdBd1bmkwNzUxLmluaXRfQmFhSGVoSW5pdBd1bmkwNjQ2LmluaXRfQmFhSGVoSW5pdBd1bmkwNzUzLmluaXRfQmFhSGVoSW5pdBd1bmkwNzUyLmluaXRfQmFhSGVoSW5pdBd1bmkwNjJBLmluaXRfQmFhSGVoSW5pdBd1bmkwNjc4LmluaXRfQmFhSGVoSW5pdBd1bmkwNjNELmluaXRfQmFhSGVoSW5pdBd1bmkwNjJCLmluaXRfQmFhSGVoSW5pdBd1bmkwNjc5LmluaXRfQmFhSGVoSW5pdBd1bmkwNkI5LmluaXRfQmFhSGVoSW5pdBd1bmkwNzY5LmluaXRfQmFhSGVoSW5pdBd1bmkwNjQ5LmluaXRfQmFhSGVoSW5pdBd1bmkwNjdDLmluaXRfQmFhSGVoSW5pdBd1bmkwNzU0LmluaXRfQmFhSGVoSW5pdBd1bmkwNkQxLmluaXRfQmFhSGVoSW5pdBd1bmkwNkQwLmluaXRfQmFhSGVoSW5pdBd1bmkwNkJBLmluaXRfQmFhSGVoSW5pdBd1bmkwNkNDLmluaXRfQmFhSGVoSW5pdBd1bmkwNzY3LmluaXRfQmFhSGVoSW5pdBd1bmkwNzc3Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNjgwLm1lZGlfQmFhSGVoTWVkaRd1bmkwNzc2Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNkJDLm1lZGlfQmFhSGVoTWVkaRd1bmkwNzUwLm1lZGlfQmFhSGVoTWVkaRd1bmkwNzU2Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNzY4Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNkNFLm1lZGlfQmFhSGVoTWVkaRd1bmkwNzc1Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNkJELm1lZGlfQmFhSGVoTWVkaRd1bmkwNjI2Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNjZFLm1lZGlfQmFhSGVoTWVkaRd1bmkwNjIwLm1lZGlfQmFhSGVoTWVkaRd1bmkwNjRBLm1lZGlfQmFhSGVoTWVkaRd1bmkwNkJCLm1lZGlfQmFhSGVoTWVkaRd1bmkwNjdGLm1lZGlfQmFhSGVoTWVkaRd1bmkwNzU1Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNjdELm1lZGlfQmFhSGVoTWVkaRd1bmkwNjdFLm1lZGlfQmFhSGVoTWVkaRd1bmkwNjdCLm1lZGlfQmFhSGVoTWVkaRd1bmkwNjI4Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNjdBLm1lZGlfQmFhSGVoTWVkaRd1bmkwNzUxLm1lZGlfQmFhSGVoTWVkaRd1bmkwNjQ2Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNzUzLm1lZGlfQmFhSGVoTWVkaRd1bmkwNzUyLm1lZGlfQmFhSGVoTWVkaRd1bmkwNjJBLm1lZGlfQmFhSGVoTWVkaRd1bmkwNjc4Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNjNELm1lZGlfQmFhSGVoTWVkaRd1bmkwNjJCLm1lZGlfQmFhSGVoTWVkaRd1bmkwNjc5Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNkI5Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNzY5Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNjQ5Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNjdDLm1lZGlfQmFhSGVoTWVkaRd1bmkwNzU0Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNkQxLm1lZGlfQmFhSGVoTWVkaRd1bmkwNkQwLm1lZGlfQmFhSGVoTWVkaRd1bmkwNkJBLm1lZGlfQmFhSGVoTWVkaRd1bmkwNkNDLm1lZGlfQmFhSGVoTWVkaRd1bmkwNzY3Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNjQ3Lm1lZGlfQmFhSGVoTWVkaRd1bmkwNkMxLm1lZGlfQmFhSGVoTWVkaRZ1bmkwNjQ3Lm1lZGlfUG9zdFRvb3RoFnVuaTA2QzEubWVkaV9Qb3N0VG9vdGgadW5pMDZCNS5tZWRpX0thZkxhbU1lbUZpbmEadW5pMDZCNy5tZWRpX0thZkxhbU1lbUZpbmEadW5pMDY0NC5tZWRpX0thZkxhbU1lbUZpbmEadW5pMDZCOC5tZWRpX0thZkxhbU1lbUZpbmEadW5pMDZCNi5tZWRpX0thZkxhbU1lbUZpbmEadW5pMDc2QS5tZWRpX0thZkxhbU1lbUZpbmEXdW5pMDZCNS5pbml0X0xhbUxhbUluaXQXdW5pMDZCNy5pbml0X0xhbUxhbUluaXQXdW5pMDY0NC5pbml0X0xhbUxhbUluaXQXdW5pMDZCOC5pbml0X0xhbUxhbUluaXQXdW5pMDZCNi5pbml0X0xhbUxhbUluaXQXdW5pMDc2QS5pbml0X0xhbUxhbUluaXQXdW5pMDZCNS5tZWRpX0xhbUxhbUluaXQXdW5pMDZCNy5tZWRpX0xhbUxhbUluaXQXdW5pMDY0NC5tZWRpX0xhbUxhbUluaXQXdW5pMDZCOC5tZWRpX0xhbUxhbUluaXQXdW5pMDZCNi5tZWRpX0xhbUxhbUluaXQXdW5pMDc2QS5tZWRpX0xhbUxhbUluaXQadW5pMDZCNS5tZWRpX0xhbUxhbUFsZklzb2wadW5pMDZCNy5tZWRpX0xhbUxhbUFsZklzb2wadW5pMDY0NC5tZWRpX0xhbUxhbUFsZklzb2wadW5pMDZCOC5tZWRpX0xhbUxhbUFsZklzb2wadW5pMDZCNi5tZWRpX0xhbUxhbUFsZklzb2wadW5pMDc2QS5tZWRpX0xhbUxhbUFsZklzb2wXdW5pMDYzQi5maW5hX0xhbUthZklzb2wXdW5pMDYzQy5maW5hX0xhbUthZklzb2wXdW5pMDc3Ri5maW5hX0xhbUthZklzb2wXdW5pMDc2NC5maW5hX0xhbUthZklzb2wXdW5pMDY0My5maW5hX0xhbUthZklzb2wXdW5pMDZCMC5maW5hX0xhbUthZklzb2wXdW5pMDZCMy5maW5hX0xhbUthZklzb2wXdW5pMDZCMi5maW5hX0xhbUthZklzb2wXdW5pMDZBQi5maW5hX0xhbUthZklzb2wXdW5pMDZBQy5maW5hX0xhbUthZklzb2wXdW5pMDZBRC5maW5hX0xhbUthZklzb2wXdW5pMDZBRS5maW5hX0xhbUthZklzb2wXdW5pMDZBRi5maW5hX0xhbUthZklzb2wXdW5pMDZBOS5maW5hX0xhbUthZklzb2wXdW5pMDZCNC5maW5hX0xhbUthZklzb2wXdW5pMDc2My5maW5hX0xhbUthZklzb2wXdW5pMDc2Mi5maW5hX0xhbUthZklzb2wXdW5pMDZCMS5maW5hX0xhbUthZklzb2wXdW5pMDZCNS5maW5hX0xhbUxhbUlzb2wXdW5pMDZCNy5maW5hX0xhbUxhbUlzb2wXdW5pMDY0NC5maW5hX0xhbUxhbUlzb2wXdW5pMDZCOC5maW5hX0xhbUxhbUlzb2wXdW5pMDZCNi5maW5hX0xhbUxhbUlzb2wXdW5pMDc2QS5maW5hX0xhbUxhbUlzb2wXdW5pMDZCNS5tZWRpX0xhbUxhbU1lZGkXdW5pMDZCNy5tZWRpX0xhbUxhbU1lZGkXdW5pMDY0NC5tZWRpX0xhbUxhbU1lZGkXdW5pMDZCOC5tZWRpX0xhbUxhbU1lZGkXdW5pMDZCNi5tZWRpX0xhbUxhbU1lZGkXdW5pMDc2QS5tZWRpX0xhbUxhbU1lZGkbdW5pMDZCNS5tZWRpX0xhbUxhbUFsZWZGaW5hG3VuaTA2QjcubWVkaV9MYW1MYW1BbGVmRmluYRt1bmkwNjQ0Lm1lZGlfTGFtTGFtQWxlZkZpbmEbdW5pMDZCOC5tZWRpX0xhbUxhbUFsZWZGaW5hG3VuaTA2QjYubWVkaV9MYW1MYW1BbGVmRmluYRt1bmkwNzZBLm1lZGlfTGFtTGFtQWxlZkZpbmEYdW5pMDZCNS5tZWRpX0xhbUxhbU1lZGkyGHVuaTA2QjcubWVkaV9MYW1MYW1NZWRpMhh1bmkwNjQ0Lm1lZGlfTGFtTGFtTWVkaTIYdW5pMDZCOC5tZWRpX0xhbUxhbU1lZGkyGHVuaTA2QjYubWVkaV9MYW1MYW1NZWRpMhh1bmkwNzZBLm1lZGlfTGFtTGFtTWVkaTIXdW5pMDYzQi5maW5hX0xhbUthZkZpbmEXdW5pMDYzQy5maW5hX0xhbUthZkZpbmEXdW5pMDc3Ri5maW5hX0xhbUthZkZpbmEXdW5pMDc2NC5maW5hX0xhbUthZkZpbmEXdW5pMDY0My5maW5hX0xhbUthZkZpbmEXdW5pMDZCMC5maW5hX0xhbUthZkZpbmEXdW5pMDZCMy5maW5hX0xhbUthZkZpbmEXdW5pMDZCMi5maW5hX0xhbUthZkZpbmEXdW5pMDZBQi5maW5hX0xhbUthZkZpbmEXdW5pMDZBQy5maW5hX0xhbUthZkZpbmEXdW5pMDZBRC5maW5hX0xhbUthZkZpbmEXdW5pMDZBRS5maW5hX0xhbUthZkZpbmEXdW5pMDZBRi5maW5hX0xhbUthZkZpbmEXdW5pMDZBOS5maW5hX0xhbUthZkZpbmEXdW5pMDZCNC5maW5hX0xhbUthZkZpbmEXdW5pMDc2My5maW5hX0xhbUthZkZpbmEXdW5pMDc2Mi5maW5hX0xhbUthZkZpbmEXdW5pMDZCMS5maW5hX0xhbUthZkZpbmEXdW5pMDZCNS5maW5hX0xhbUxhbUZpbmEXdW5pMDZCNy5maW5hX0xhbUxhbUZpbmEXdW5pMDY0NC5maW5hX0xhbUxhbUZpbmEXdW5pMDZCOC5maW5hX0xhbUxhbUZpbmEXdW5pMDZCNi5maW5hX0xhbUxhbUZpbmEXdW5pMDc2QS5maW5hX0xhbUxhbUZpbmEadW5pMDZCNS5tZWRpX0xhbUxhbU1lbUluaXQadW5pMDZCNy5tZWRpX0xhbUxhbU1lbUluaXQadW5pMDY0NC5tZWRpX0xhbUxhbU1lbUluaXQadW5pMDZCOC5tZWRpX0xhbUxhbU1lbUluaXQadW5pMDZCNi5tZWRpX0xhbUxhbU1lbUluaXQadW5pMDc2QS5tZWRpX0xhbUxhbU1lbUluaXQadW5pMDZCNS5tZWRpX0xhbUxhbUhlaElzb2wadW5pMDZCNy5tZWRpX0xhbUxhbUhlaElzb2wadW5pMDY0NC5tZWRpX0xhbUxhbUhlaElzb2wadW5pMDZCOC5tZWRpX0xhbUxhbUhlaElzb2wadW5pMDZCNi5tZWRpX0xhbUxhbUhlaElzb2wadW5pMDc2QS5tZWRpX0xhbUxhbUhlaElzb2wadW5pMDZCNS5tZWRpX0xhbUxhbVlhYUlzb2wadW5pMDZCNy5tZWRpX0xhbUxhbVlhYUlzb2wadW5pMDY0NC5tZWRpX0xhbUxhbVlhYUlzb2wadW5pMDZCOC5tZWRpX0xhbUxhbVlhYUlzb2wadW5pMDZCNi5tZWRpX0xhbUxhbVlhYUlzb2wadW5pMDc2QS5tZWRpX0xhbUxhbVlhYUlzb2wadW5pMDZCNS5tZWRpX0xhbUxhbU1lbU1lZGkadW5pMDZCNy5tZWRpX0xhbUxhbU1lbU1lZGkadW5pMDY0NC5tZWRpX0xhbUxhbU1lbU1lZGkadW5pMDZCOC5tZWRpX0xhbUxhbU1lbU1lZGkadW5pMDZCNi5tZWRpX0xhbUxhbU1lbU1lZGkadW5pMDc2QS5tZWRpX0xhbUxhbU1lbU1lZGkadW5pMDZCNS5tZWRpX0xhbUxhbUhlaEZpbmEadW5pMDZCNy5tZWRpX0xhbUxhbUhlaEZpbmEadW5pMDY0NC5tZWRpX0xhbUxhbUhlaEZpbmEadW5pMDZCOC5tZWRpX0xhbUxhbUhlaEZpbmEadW5pMDZCNi5tZWRpX0xhbUxhbUhlaEZpbmEadW5pMDc2QS5tZWRpX0xhbUxhbUhlaEZpbmEadW5pMDZCNS5tZWRpX0xhbUxhbVlhYUZpbmEadW5pMDZCNy5tZWRpX0xhbUxhbVlhYUZpbmEadW5pMDY0NC5tZWRpX0xhbUxhbVlhYUZpbmEadW5pMDZCOC5tZWRpX0xhbUxhbVlhYUZpbmEadW5pMDZCNi5tZWRpX0xhbUxhbVlhYUZpbmEadW5pMDc2QS5tZWRpX0xhbUxhbVlhYUZpbmEbdW5pMDYyRS5tZWRpXzFMYW1IYWFIYWFJbml0G3VuaTA2MkQubWVkaV8xTGFtSGFhSGFhSW5pdBt1bmkwNjgxLm1lZGlfMUxhbUhhYUhhYUluaXQbdW5pMDY4Ny5tZWRpXzFMYW1IYWFIYWFJbml0G3VuaTA2ODUubWVkaV8xTGFtSGFhSGFhSW5pdBt1bmkwNjJDLm1lZGlfMUxhbUhhYUhhYUluaXQbdW5pMDY4Mi5tZWRpXzFMYW1IYWFIYWFJbml0G3VuaTA3NTcubWVkaV8xTGFtSGFhSGFhSW5pdBt1bmkwNjg0Lm1lZGlfMUxhbUhhYUhhYUluaXQbdW5pMDc2Ri5tZWRpXzFMYW1IYWFIYWFJbml0G3VuaTA3NkUubWVkaV8xTGFtSGFhSGFhSW5pdBt1bmkwNjgzLm1lZGlfMUxhbUhhYUhhYUluaXQbdW5pMDZCRi5tZWRpXzFMYW1IYWFIYWFJbml0G3VuaTA3N0MubWVkaV8xTGFtSGFhSGFhSW5pdBt1bmkwNzU4Lm1lZGlfMUxhbUhhYUhhYUluaXQbdW5pMDc3Mi5tZWRpXzFMYW1IYWFIYWFJbml0G3VuaTA2ODYubWVkaV8xTGFtSGFhSGFhSW5pdBt1bmkwNjJFLm1lZGlfMkxhbUhhYUhhYUluaXQbdW5pMDYyRC5tZWRpXzJMYW1IYWFIYWFJbml0G3VuaTA2ODEubWVkaV8yTGFtSGFhSGFhSW5pdBt1bmkwNjg3Lm1lZGlfMkxhbUhhYUhhYUluaXQbdW5pMDY4NS5tZWRpXzJMYW1IYWFIYWFJbml0G3VuaTA2MkMubWVkaV8yTGFtSGFhSGFhSW5pdBt1bmkwNjgyLm1lZGlfMkxhbUhhYUhhYUluaXQbdW5pMDc1Ny5tZWRpXzJMYW1IYWFIYWFJbml0G3VuaTA2ODQubWVkaV8yTGFtSGFhSGFhSW5pdBt1bmkwNzZGLm1lZGlfMkxhbUhhYUhhYUluaXQbdW5pMDc2RS5tZWRpXzJMYW1IYWFIYWFJbml0G3VuaTA2ODMubWVkaV8yTGFtSGFhSGFhSW5pdBt1bmkwNkJGLm1lZGlfMkxhbUhhYUhhYUluaXQbdW5pMDc3Qy5tZWRpXzJMYW1IYWFIYWFJbml0G3VuaTA3NTgubWVkaV8yTGFtSGFhSGFhSW5pdBt1bmkwNzcyLm1lZGlfMkxhbUhhYUhhYUluaXQbdW5pMDY4Ni5tZWRpXzJMYW1IYWFIYWFJbml0DHVuaTA2QUEuaW5pdAx1bmkwNkFBLm1lZGkMdW5pMDZBQS5maW5hEHVuaTA2MjUuTG93SGFtemEQdW5pMDY3My5Mb3dIYW16YQ91bmkwNjgwLmluaXRfTEQPdW5pMDZCRC5pbml0X0xED3VuaTA2N0UuaW5pdF9MRA91bmkwNjdCLmluaXRfTEQPdW5pMDYyOC5pbml0X0xED3VuaTA3NjcuaW5pdF9MRA91bmkwNjNELmluaXRfTEQPdW5pMDc3Ny5pbml0X0xED3VuaTA3NzYuaW5pdF9MRA91bmkwNzc1LmluaXRfTEQPdW5pMDZDQy5pbml0X0xED3VuaTA2NEEuaW5pdF9MRA91bmkwNkNFLmluaXRfTEQPdW5pMDc1MS5pbml0X0xED3VuaTA3NTAuaW5pdF9MRA91bmkwNzUzLmluaXRfTEQPdW5pMDc1Mi5pbml0X0xED3VuaTA3NTUuaW5pdF9MRA91bmkwNzU0LmluaXRfTEQPdW5pMDZCOS5pbml0X0xED3VuaTA2RDEuaW5pdF9MRA91bmkwNkQwLmluaXRfTEQZdW5pMDY4MC5pbml0X0JhYVJhYUlzb2xMRBl1bmkwNkJELmluaXRfQmFhUmFhSXNvbExEGXVuaTA2N0UuaW5pdF9CYWFSYWFJc29sTEQZdW5pMDY3Qi5pbml0X0JhYVJhYUlzb2xMRBl1bmkwNjI4LmluaXRfQmFhUmFhSXNvbExEGXVuaTA3NjcuaW5pdF9CYWFSYWFJc29sTEQZdW5pMDYzRC5pbml0X0JhYVJhYUlzb2xMRBl1bmkwNzc3LmluaXRfQmFhUmFhSXNvbExEGXVuaTA3NzYuaW5pdF9CYWFSYWFJc29sTEQZdW5pMDc3NS5pbml0X0JhYVJhYUlzb2xMRBl1bmkwNkNDLmluaXRfQmFhUmFhSXNvbExEGXVuaTA2NEEuaW5pdF9CYWFSYWFJc29sTEQZdW5pMDZDRS5pbml0X0JhYVJhYUlzb2xMRBl1bmkwNzUxLmluaXRfQmFhUmFhSXNvbExEGXVuaTA3NTAuaW5pdF9CYWFSYWFJc29sTEQZdW5pMDc1My5pbml0X0JhYVJhYUlzb2xMRBl1bmkwNzUyLmluaXRfQmFhUmFhSXNvbExEGXVuaTA3NTUuaW5pdF9CYWFSYWFJc29sTEQZdW5pMDc1NC5pbml0X0JhYVJhYUlzb2xMRBl1bmkwNkI5LmluaXRfQmFhUmFhSXNvbExEGXVuaTA2RDEuaW5pdF9CYWFSYWFJc29sTEQZdW5pMDZEMC5pbml0X0JhYVJhYUlzb2xMRBV1bmkwNjgwLmluaXRfQmFhRGFsTEQVdW5pMDZCRC5pbml0X0JhYURhbExEFXVuaTA2N0UuaW5pdF9CYWFEYWxMRBV1bmkwNjdCLmluaXRfQmFhRGFsTEQVdW5pMDYyOC5pbml0X0JhYURhbExEFXVuaTA3NjcuaW5pdF9CYWFEYWxMRBV1bmkwNjNELmluaXRfQmFhRGFsTEQVdW5pMDc3Ny5pbml0X0JhYURhbExEFXVuaTA3NzYuaW5pdF9CYWFEYWxMRBV1bmkwNzc1LmluaXRfQmFhRGFsTEQVdW5pMDZDQy5pbml0X0JhYURhbExEFXVuaTA2NEEuaW5pdF9CYWFEYWxMRBV1bmkwNkNFLmluaXRfQmFhRGFsTEQVdW5pMDc1MS5pbml0X0JhYURhbExEFXVuaTA3NTAuaW5pdF9CYWFEYWxMRBV1bmkwNzUzLmluaXRfQmFhRGFsTEQVdW5pMDc1Mi5pbml0X0JhYURhbExEFXVuaTA3NTUuaW5pdF9CYWFEYWxMRBV1bmkwNzU0LmluaXRfQmFhRGFsTEQVdW5pMDZCOS5pbml0X0JhYURhbExEFXVuaTA2RDEuaW5pdF9CYWFEYWxMRBV1bmkwNkQwLmluaXRfQmFhRGFsTEQcdW5pMDY4MC5pbml0X0JhYU1lbUhhYUluaXRMRBx1bmkwNkJELmluaXRfQmFhTWVtSGFhSW5pdExEHHVuaTA2N0UuaW5pdF9CYWFNZW1IYWFJbml0TEQcdW5pMDY3Qi5pbml0X0JhYU1lbUhhYUluaXRMRBx1bmkwNjI4LmluaXRfQmFhTWVtSGFhSW5pdExEHHVuaTA3NjcuaW5pdF9CYWFNZW1IYWFJbml0TEQcdW5pMDYzRC5pbml0X0JhYU1lbUhhYUluaXRMRBx1bmkwNzc3LmluaXRfQmFhTWVtSGFhSW5pdExEHHVuaTA3NzYuaW5pdF9CYWFNZW1IYWFJbml0TEQcdW5pMDc3NS5pbml0X0JhYU1lbUhhYUluaXRMRBx1bmkwNkNDLmluaXRfQmFhTWVtSGFhSW5pdExEHHVuaTA2NEEuaW5pdF9CYWFNZW1IYWFJbml0TEQcdW5pMDZDRS5pbml0X0JhYU1lbUhhYUluaXRMRBx1bmkwNzUxLmluaXRfQmFhTWVtSGFhSW5pdExEHHVuaTA3NTAuaW5pdF9CYWFNZW1IYWFJbml0TEQcdW5pMDc1My5pbml0X0JhYU1lbUhhYUluaXRMRBx1bmkwNzUyLmluaXRfQmFhTWVtSGFhSW5pdExEHHVuaTA3NTUuaW5pdF9CYWFNZW1IYWFJbml0TEQcdW5pMDc1NC5pbml0X0JhYU1lbUhhYUluaXRMRBx1bmkwNkI5LmluaXRfQmFhTWVtSGFhSW5pdExEHHVuaTA2RDEuaW5pdF9CYWFNZW1IYWFJbml0TEQcdW5pMDZEMC5pbml0X0JhYU1lbUhhYUluaXRMRBh1bmkwNjgwLmluaXRfQmFhQmFhWWFhTEQYdW5pMDZCRC5pbml0X0JhYUJhYVlhYUxEGHVuaTA2N0UuaW5pdF9CYWFCYWFZYWFMRBh1bmkwNjdCLmluaXRfQmFhQmFhWWFhTEQYdW5pMDYyOC5pbml0X0JhYUJhYVlhYUxEGHVuaTA3NjcuaW5pdF9CYWFCYWFZYWFMRBh1bmkwNjNELmluaXRfQmFhQmFhWWFhTEQYdW5pMDc3Ny5pbml0X0JhYUJhYVlhYUxEGHVuaTA3NzYuaW5pdF9CYWFCYWFZYWFMRBh1bmkwNzc1LmluaXRfQmFhQmFhWWFhTEQYdW5pMDZDQy5pbml0X0JhYUJhYVlhYUxEGHVuaTA2NEEuaW5pdF9CYWFCYWFZYWFMRBh1bmkwNkNFLmluaXRfQmFhQmFhWWFhTEQYdW5pMDc1MS5pbml0X0JhYUJhYVlhYUxEGHVuaTA3NTAuaW5pdF9CYWFCYWFZYWFMRBh1bmkwNzUzLmluaXRfQmFhQmFhWWFhTEQYdW5pMDc1Mi5pbml0X0JhYUJhYVlhYUxEGHVuaTA3NTUuaW5pdF9CYWFCYWFZYWFMRBh1bmkwNzU0LmluaXRfQmFhQmFhWWFhTEQYdW5pMDZCOS5pbml0X0JhYUJhYVlhYUxEGHVuaTA2RDEuaW5pdF9CYWFCYWFZYWFMRBh1bmkwNkQwLmluaXRfQmFhQmFhWWFhTEQZdW5pMDY4MC5pbml0X0JhYU5vbklzb2xMRBl1bmkwNkJELmluaXRfQmFhTm9uSXNvbExEGXVuaTA2N0UuaW5pdF9CYWFOb25Jc29sTEQZdW5pMDY3Qi5pbml0X0JhYU5vbklzb2xMRBl1bmkwNjI4LmluaXRfQmFhTm9uSXNvbExEGXVuaTA3NjcuaW5pdF9CYWFOb25Jc29sTEQZdW5pMDYzRC5pbml0X0JhYU5vbklzb2xMRBl1bmkwNzc3LmluaXRfQmFhTm9uSXNvbExEGXVuaTA3NzYuaW5pdF9CYWFOb25Jc29sTEQZdW5pMDc3NS5pbml0X0JhYU5vbklzb2xMRBl1bmkwNkNDLmluaXRfQmFhTm9uSXNvbExEGXVuaTA2NEEuaW5pdF9CYWFOb25Jc29sTEQZdW5pMDZDRS5pbml0X0JhYU5vbklzb2xMRBl1bmkwNzUxLmluaXRfQmFhTm9uSXNvbExEGXVuaTA3NTAuaW5pdF9CYWFOb25Jc29sTEQZdW5pMDc1My5pbml0X0JhYU5vbklzb2xMRBl1bmkwNzUyLmluaXRfQmFhTm9uSXNvbExEGXVuaTA3NTUuaW5pdF9CYWFOb25Jc29sTEQZdW5pMDc1NC5pbml0X0JhYU5vbklzb2xMRBl1bmkwNkI5LmluaXRfQmFhTm9uSXNvbExEGXVuaTA2RDEuaW5pdF9CYWFOb25Jc29sTEQZdW5pMDZEMC5pbml0X0JhYU5vbklzb2xMRBl1bmkwNjgwLmluaXRfQmFhU2VuSW5pdExEGXVuaTA2QkQuaW5pdF9CYWFTZW5Jbml0TEQZdW5pMDY3RS5pbml0X0JhYVNlbkluaXRMRBl1bmkwNjdCLmluaXRfQmFhU2VuSW5pdExEGXVuaTA2MjguaW5pdF9CYWFTZW5Jbml0TEQZdW5pMDc2Ny5pbml0X0JhYVNlbkluaXRMRBl1bmkwNjNELmluaXRfQmFhU2VuSW5pdExEGXVuaTA3NzcuaW5pdF9CYWFTZW5Jbml0TEQZdW5pMDc3Ni5pbml0X0JhYVNlbkluaXRMRBl1bmkwNzc1LmluaXRfQmFhU2VuSW5pdExEGXVuaTA2Q0MuaW5pdF9CYWFTZW5Jbml0TEQZdW5pMDY0QS5pbml0X0JhYVNlbkluaXRMRBl1bmkwNkNFLmluaXRfQmFhU2VuSW5pdExEGXVuaTA3NTEuaW5pdF9CYWFTZW5Jbml0TEQZdW5pMDc1MC5pbml0X0JhYVNlbkluaXRMRBl1bmkwNzUzLmluaXRfQmFhU2VuSW5pdExEGXVuaTA3NTIuaW5pdF9CYWFTZW5Jbml0TEQZdW5pMDc1NS5pbml0X0JhYVNlbkluaXRMRBl1bmkwNzU0LmluaXRfQmFhU2VuSW5pdExEGXVuaTA2QjkuaW5pdF9CYWFTZW5Jbml0TEQZdW5pMDZEMS5pbml0X0JhYVNlbkluaXRMRBl1bmkwNkQwLmluaXRfQmFhU2VuSW5pdExEGXVuaTA2ODAuaW5pdF9CYWFNZW1Jbml0TEQZdW5pMDZCRC5pbml0X0JhYU1lbUluaXRMRBl1bmkwNjdFLmluaXRfQmFhTWVtSW5pdExEGXVuaTA2N0IuaW5pdF9CYWFNZW1Jbml0TEQZdW5pMDYyOC5pbml0X0JhYU1lbUluaXRMRBl1bmkwNzY3LmluaXRfQmFhTWVtSW5pdExEGXVuaTA2M0QuaW5pdF9CYWFNZW1Jbml0TEQZdW5pMDc3Ny5pbml0X0JhYU1lbUluaXRMRBl1bmkwNzc2LmluaXRfQmFhTWVtSW5pdExEGXVuaTA3NzUuaW5pdF9CYWFNZW1Jbml0TEQZdW5pMDZDQy5pbml0X0JhYU1lbUluaXRMRBl1bmkwNjRBLmluaXRfQmFhTWVtSW5pdExEGXVuaTA2Q0UuaW5pdF9CYWFNZW1Jbml0TEQZdW5pMDc1MS5pbml0X0JhYU1lbUluaXRMRBl1bmkwNzUwLmluaXRfQmFhTWVtSW5pdExEGXVuaTA3NTMuaW5pdF9CYWFNZW1Jbml0TEQZdW5pMDc1Mi5pbml0X0JhYU1lbUluaXRMRBl1bmkwNzU1LmluaXRfQmFhTWVtSW5pdExEGXVuaTA3NTQuaW5pdF9CYWFNZW1Jbml0TEQZdW5pMDZCOS5pbml0X0JhYU1lbUluaXRMRBl1bmkwNkQxLmluaXRfQmFhTWVtSW5pdExEGXVuaTA2RDAuaW5pdF9CYWFNZW1Jbml0TEQcdW5pMDY4MC5pbml0X0JhYUJhYUhhYUluaXRMRBx1bmkwNkJELmluaXRfQmFhQmFhSGFhSW5pdExEHHVuaTA2N0UuaW5pdF9CYWFCYWFIYWFJbml0TEQcdW5pMDY3Qi5pbml0X0JhYUJhYUhhYUluaXRMRBx1bmkwNjI4LmluaXRfQmFhQmFhSGFhSW5pdExEHHVuaTA3NjcuaW5pdF9CYWFCYWFIYWFJbml0TEQcdW5pMDYzRC5pbml0X0JhYUJhYUhhYUluaXRMRBx1bmkwNzc3LmluaXRfQmFhQmFhSGFhSW5pdExEHHVuaTA3NzYuaW5pdF9CYWFCYWFIYWFJbml0TEQcdW5pMDc3NS5pbml0X0JhYUJhYUhhYUluaXRMRBx1bmkwNkNDLmluaXRfQmFhQmFhSGFhSW5pdExEHHVuaTA2NEEuaW5pdF9CYWFCYWFIYWFJbml0TEQcdW5pMDZDRS5pbml0X0JhYUJhYUhhYUluaXRMRBx1bmkwNzUxLmluaXRfQmFhQmFhSGFhSW5pdExEHHVuaTA3NTAuaW5pdF9CYWFCYWFIYWFJbml0TEQcdW5pMDc1My5pbml0X0JhYUJhYUhhYUluaXRMRBx1bmkwNzUyLmluaXRfQmFhQmFhSGFhSW5pdExEHHVuaTA3NTUuaW5pdF9CYWFCYWFIYWFJbml0TEQcdW5pMDc1NC5pbml0X0JhYUJhYUhhYUluaXRMRBx1bmkwNkI5LmluaXRfQmFhQmFhSGFhSW5pdExEHHVuaTA2RDEuaW5pdF9CYWFCYWFIYWFJbml0TEQcdW5pMDZEMC5pbml0X0JhYUJhYUhhYUluaXRMRBl1bmkwNjgwLmluaXRfQmFhQmFhSXNvbExEGXVuaTA2QkQuaW5pdF9CYWFCYWFJc29sTEQZdW5pMDY3RS5pbml0X0JhYUJhYUlzb2xMRBl1bmkwNjdCLmluaXRfQmFhQmFhSXNvbExEGXVuaTA2MjguaW5pdF9CYWFCYWFJc29sTEQZdW5pMDc2Ny5pbml0X0JhYUJhYUlzb2xMRBl1bmkwNjNELmluaXRfQmFhQmFhSXNvbExEGXVuaTA3NzcuaW5pdF9CYWFCYWFJc29sTEQZdW5pMDc3Ni5pbml0X0JhYUJhYUlzb2xMRBl1bmkwNzc1LmluaXRfQmFhQmFhSXNvbExEGXVuaTA2Q0MuaW5pdF9CYWFCYWFJc29sTEQZdW5pMDY0QS5pbml0X0JhYUJhYUlzb2xMRBl1bmkwNkNFLmluaXRfQmFhQmFhSXNvbExEGXVuaTA3NTEuaW5pdF9CYWFCYWFJc29sTEQZdW5pMDc1MC5pbml0X0JhYUJhYUlzb2xMRBl1bmkwNzUzLmluaXRfQmFhQmFhSXNvbExEGXVuaTA3NTIuaW5pdF9CYWFCYWFJc29sTEQZdW5pMDc1NS5pbml0X0JhYUJhYUlzb2xMRBl1bmkwNzU0LmluaXRfQmFhQmFhSXNvbExEGXVuaTA2QjkuaW5pdF9CYWFCYWFJc29sTEQZdW5pMDZEMS5pbml0X0JhYUJhYUlzb2xMRBl1bmkwNkQwLmluaXRfQmFhQmFhSXNvbExEHHVuaTA2ODAuaW5pdF9CYWFCYWFNZW1Jbml0TEQcdW5pMDZCRC5pbml0X0JhYUJhYU1lbUluaXRMRBx1bmkwNjdFLmluaXRfQmFhQmFhTWVtSW5pdExEHHVuaTA2N0IuaW5pdF9CYWFCYWFNZW1Jbml0TEQcdW5pMDYyOC5pbml0X0JhYUJhYU1lbUluaXRMRBx1bmkwNzY3LmluaXRfQmFhQmFhTWVtSW5pdExEHHVuaTA2M0QuaW5pdF9CYWFCYWFNZW1Jbml0TEQcdW5pMDc3Ny5pbml0X0JhYUJhYU1lbUluaXRMRBx1bmkwNzc2LmluaXRfQmFhQmFhTWVtSW5pdExEHHVuaTA3NzUuaW5pdF9CYWFCYWFNZW1Jbml0TEQcdW5pMDZDQy5pbml0X0JhYUJhYU1lbUluaXRMRBx1bmkwNjRBLmluaXRfQmFhQmFhTWVtSW5pdExEHHVuaTA2Q0UuaW5pdF9CYWFCYWFNZW1Jbml0TEQcdW5pMDc1MS5pbml0X0JhYUJhYU1lbUluaXRMRBx1bmkwNzUwLmluaXRfQmFhQmFhTWVtSW5pdExEHHVuaTA3NTMuaW5pdF9CYWFCYWFNZW1Jbml0TEQcdW5pMDc1Mi5pbml0X0JhYUJhYU1lbUluaXRMRBx1bmkwNzU1LmluaXRfQmFhQmFhTWVtSW5pdExEHHVuaTA3NTQuaW5pdF9CYWFCYWFNZW1Jbml0TEQcdW5pMDZCOS5pbml0X0JhYUJhYU1lbUluaXRMRBx1bmkwNkQxLmluaXRfQmFhQmFhTWVtSW5pdExEHHVuaTA2RDAuaW5pdF9CYWFCYWFNZW1Jbml0TEQcdW5pMDY4MC5pbml0X0JhYVNlbkFsdEluaXRMRBx1bmkwNkJELmluaXRfQmFhU2VuQWx0SW5pdExEHHVuaTA2N0UuaW5pdF9CYWFTZW5BbHRJbml0TEQcdW5pMDY3Qi5pbml0X0JhYVNlbkFsdEluaXRMRBx1bmkwNjI4LmluaXRfQmFhU2VuQWx0SW5pdExEHHVuaTA3NjcuaW5pdF9CYWFTZW5BbHRJbml0TEQcdW5pMDYzRC5pbml0X0JhYVNlbkFsdEluaXRMRBx1bmkwNzc3LmluaXRfQmFhU2VuQWx0SW5pdExEHHVuaTA3NzYuaW5pdF9CYWFTZW5BbHRJbml0TEQcdW5pMDc3NS5pbml0X0JhYVNlbkFsdEluaXRMRBx1bmkwNkNDLmluaXRfQmFhU2VuQWx0SW5pdExEHHVuaTA2NEEuaW5pdF9CYWFTZW5BbHRJbml0TEQcdW5pMDZDRS5pbml0X0JhYVNlbkFsdEluaXRMRBx1bmkwNzUxLmluaXRfQmFhU2VuQWx0SW5pdExEHHVuaTA3NTAuaW5pdF9CYWFTZW5BbHRJbml0TEQcdW5pMDc1My5pbml0X0JhYVNlbkFsdEluaXRMRBx1bmkwNzUyLmluaXRfQmFhU2VuQWx0SW5pdExEHHVuaTA3NTUuaW5pdF9CYWFTZW5BbHRJbml0TEQcdW5pMDc1NC5pbml0X0JhYVNlbkFsdEluaXRMRBx1bmkwNkI5LmluaXRfQmFhU2VuQWx0SW5pdExEHHVuaTA2RDEuaW5pdF9CYWFTZW5BbHRJbml0TEQcdW5pMDZEMC5pbml0X0JhYVNlbkFsdEluaXRMRBl1bmkwNjgwLmluaXRfQmFhSGFhSW5pdExEGXVuaTA2QkQuaW5pdF9CYWFIYWFJbml0TEQZdW5pMDY3RS5pbml0X0JhYUhhYUluaXRMRBl1bmkwNjdCLmluaXRfQmFhSGFhSW5pdExEGXVuaTA2MjguaW5pdF9CYWFIYWFJbml0TEQZdW5pMDc2Ny5pbml0X0JhYUhhYUluaXRMRBl1bmkwNjNELmluaXRfQmFhSGFhSW5pdExEGXVuaTA3NzcuaW5pdF9CYWFIYWFJbml0TEQZdW5pMDc3Ni5pbml0X0JhYUhhYUluaXRMRBl1bmkwNzc1LmluaXRfQmFhSGFhSW5pdExEGXVuaTA2Q0MuaW5pdF9CYWFIYWFJbml0TEQZdW5pMDY0QS5pbml0X0JhYUhhYUluaXRMRBl1bmkwNkNFLmluaXRfQmFhSGFhSW5pdExEGXVuaTA3NTEuaW5pdF9CYWFIYWFJbml0TEQZdW5pMDc1MC5pbml0X0JhYUhhYUluaXRMRBl1bmkwNzUzLmluaXRfQmFhSGFhSW5pdExEGXVuaTA3NTIuaW5pdF9CYWFIYWFJbml0TEQZdW5pMDc1NS5pbml0X0JhYUhhYUluaXRMRBl1bmkwNzU0LmluaXRfQmFhSGFhSW5pdExEGXVuaTA2QjkuaW5pdF9CYWFIYWFJbml0TEQZdW5pMDZEMS5pbml0X0JhYUhhYUluaXRMRBl1bmkwNkQwLmluaXRfQmFhSGFhSW5pdExEHHVuaTA2ODAuaW5pdF9CYWFIYWFNZW1Jbml0TEQcdW5pMDZCRC5pbml0X0JhYUhhYU1lbUluaXRMRBx1bmkwNjdFLmluaXRfQmFhSGFhTWVtSW5pdExEHHVuaTA2N0IuaW5pdF9CYWFIYWFNZW1Jbml0TEQcdW5pMDYyOC5pbml0X0JhYUhhYU1lbUluaXRMRBx1bmkwNzY3LmluaXRfQmFhSGFhTWVtSW5pdExEHHVuaTA2M0QuaW5pdF9CYWFIYWFNZW1Jbml0TEQcdW5pMDc3Ny5pbml0X0JhYUhhYU1lbUluaXRMRBx1bmkwNzc2LmluaXRfQmFhSGFhTWVtSW5pdExEHHVuaTA3NzUuaW5pdF9CYWFIYWFNZW1Jbml0TEQcdW5pMDZDQy5pbml0X0JhYUhhYU1lbUluaXRMRBx1bmkwNjRBLmluaXRfQmFhSGFhTWVtSW5pdExEHHVuaTA2Q0UuaW5pdF9CYWFIYWFNZW1Jbml0TEQcdW5pMDc1MS5pbml0X0JhYUhhYU1lbUluaXRMRBx1bmkwNzUwLmluaXRfQmFhSGFhTWVtSW5pdExEHHVuaTA3NTMuaW5pdF9CYWFIYWFNZW1Jbml0TEQcdW5pMDc1Mi5pbml0X0JhYUhhYU1lbUluaXRMRBx1bmkwNzU1LmluaXRfQmFhSGFhTWVtSW5pdExEHHVuaTA3NTQuaW5pdF9CYWFIYWFNZW1Jbml0TEQcdW5pMDZCOS5pbml0X0JhYUhhYU1lbUluaXRMRBx1bmkwNkQxLmluaXRfQmFhSGFhTWVtSW5pdExEHHVuaTA2RDAuaW5pdF9CYWFIYWFNZW1Jbml0TEQTdW5pMDY4MC5pbml0X0hpZ2hMRBN1bmkwNkJELmluaXRfSGlnaExEE3VuaTA2N0UuaW5pdF9IaWdoTEQTdW5pMDY3Qi5pbml0X0hpZ2hMRBN1bmkwNjI4LmluaXRfSGlnaExEE3VuaTA3NjcuaW5pdF9IaWdoTEQTdW5pMDYzRC5pbml0X0hpZ2hMRBN1bmkwNzc3LmluaXRfSGlnaExEE3VuaTA3NzYuaW5pdF9IaWdoTEQTdW5pMDc3NS5pbml0X0hpZ2hMRBN1bmkwNkNDLmluaXRfSGlnaExEE3VuaTA2NEEuaW5pdF9IaWdoTEQTdW5pMDZDRS5pbml0X0hpZ2hMRBN1bmkwNzUxLmluaXRfSGlnaExEE3VuaTA3NTAuaW5pdF9IaWdoTEQTdW5pMDc1My5pbml0X0hpZ2hMRBN1bmkwNzUyLmluaXRfSGlnaExEE3VuaTA3NTUuaW5pdF9IaWdoTEQTdW5pMDc1NC5pbml0X0hpZ2hMRBN1bmkwNkI5LmluaXRfSGlnaExEE3VuaTA2RDEuaW5pdF9IaWdoTEQTdW5pMDZEMC5pbml0X0hpZ2hMRBN1bmkwNjgwLmluaXRfV2lkZUxEE3VuaTA2QkQuaW5pdF9XaWRlTEQTdW5pMDY3RS5pbml0X1dpZGVMRBN1bmkwNjdCLmluaXRfV2lkZUxEE3VuaTA2MjguaW5pdF9XaWRlTEQTdW5pMDc2Ny5pbml0X1dpZGVMRBN1bmkwNjNELmluaXRfV2lkZUxEE3VuaTA3NzcuaW5pdF9XaWRlTEQTdW5pMDc3Ni5pbml0X1dpZGVMRBN1bmkwNzc1LmluaXRfV2lkZUxEE3VuaTA2Q0MuaW5pdF9XaWRlTEQTdW5pMDY0QS5pbml0X1dpZGVMRBN1bmkwNkNFLmluaXRfV2lkZUxEE3VuaTA3NTEuaW5pdF9XaWRlTEQTdW5pMDc1MC5pbml0X1dpZGVMRBN1bmkwNzUzLmluaXRfV2lkZUxEE3VuaTA3NTIuaW5pdF9XaWRlTEQTdW5pMDc1NS5pbml0X1dpZGVMRBN1bmkwNzU0LmluaXRfV2lkZUxEE3VuaTA2QjkuaW5pdF9XaWRlTEQTdW5pMDZEMS5pbml0X1dpZGVMRBN1bmkwNkQwLmluaXRfV2lkZUxEGXVuaTA2ODAuaW5pdF9CYWFZYWFJc29sTEQZdW5pMDZCRC5pbml0X0JhYVlhYUlzb2xMRBl1bmkwNjdFLmluaXRfQmFhWWFhSXNvbExEGXVuaTA2N0IuaW5pdF9CYWFZYWFJc29sTEQZdW5pMDYyOC5pbml0X0JhYVlhYUlzb2xMRBl1bmkwNzY3LmluaXRfQmFhWWFhSXNvbExEGXVuaTA2M0QuaW5pdF9CYWFZYWFJc29sTEQZdW5pMDc3Ny5pbml0X0JhYVlhYUlzb2xMRBl1bmkwNzc2LmluaXRfQmFhWWFhSXNvbExEGXVuaTA3NzUuaW5pdF9CYWFZYWFJc29sTEQZdW5pMDZDQy5pbml0X0JhYVlhYUlzb2xMRBl1bmkwNjRBLmluaXRfQmFhWWFhSXNvbExEGXVuaTA2Q0UuaW5pdF9CYWFZYWFJc29sTEQZdW5pMDc1MS5pbml0X0JhYVlhYUlzb2xMRBl1bmkwNzUwLmluaXRfQmFhWWFhSXNvbExEGXVuaTA3NTMuaW5pdF9CYWFZYWFJc29sTEQZdW5pMDc1Mi5pbml0X0JhYVlhYUlzb2xMRBl1bmkwNzU1LmluaXRfQmFhWWFhSXNvbExEGXVuaTA3NTQuaW5pdF9CYWFZYWFJc29sTEQZdW5pMDZCOS5pbml0X0JhYVlhYUlzb2xMRBl1bmkwNkQxLmluaXRfQmFhWWFhSXNvbExEGXVuaTA2RDAuaW5pdF9CYWFZYWFJc29sTEQZdW5pMDY4MC5pbml0X0JhYU1lbUlzb2xMRBl1bmkwNkJELmluaXRfQmFhTWVtSXNvbExEGXVuaTA2N0UuaW5pdF9CYWFNZW1Jc29sTEQZdW5pMDY3Qi5pbml0X0JhYU1lbUlzb2xMRBl1bmkwNjI4LmluaXRfQmFhTWVtSXNvbExEGXVuaTA3NjcuaW5pdF9CYWFNZW1Jc29sTEQZdW5pMDYzRC5pbml0X0JhYU1lbUlzb2xMRBl1bmkwNzc3LmluaXRfQmFhTWVtSXNvbExEGXVuaTA3NzYuaW5pdF9CYWFNZW1Jc29sTEQZdW5pMDc3NS5pbml0X0JhYU1lbUlzb2xMRBl1bmkwNkNDLmluaXRfQmFhTWVtSXNvbExEGXVuaTA2NEEuaW5pdF9CYWFNZW1Jc29sTEQZdW5pMDZDRS5pbml0X0JhYU1lbUlzb2xMRBl1bmkwNzUxLmluaXRfQmFhTWVtSXNvbExEGXVuaTA3NTAuaW5pdF9CYWFNZW1Jc29sTEQZdW5pMDc1My5pbml0X0JhYU1lbUlzb2xMRBl1bmkwNzUyLmluaXRfQmFhTWVtSXNvbExEGXVuaTA3NTUuaW5pdF9CYWFNZW1Jc29sTEQZdW5pMDc1NC5pbml0X0JhYU1lbUlzb2xMRBl1bmkwNkI5LmluaXRfQmFhTWVtSXNvbExEGXVuaTA2RDEuaW5pdF9CYWFNZW1Jc29sTEQZdW5pMDZEMC5pbml0X0JhYU1lbUlzb2xMRBl1bmkwNjgwLmluaXRfQmFhSGVoSW5pdExEGXVuaTA2QkQuaW5pdF9CYWFIZWhJbml0TEQZdW5pMDY3RS5pbml0X0JhYUhlaEluaXRMRBl1bmkwNjdCLmluaXRfQmFhSGVoSW5pdExEGXVuaTA2MjguaW5pdF9CYWFIZWhJbml0TEQZdW5pMDc2Ny5pbml0X0JhYUhlaEluaXRMRBl1bmkwNjNELmluaXRfQmFhSGVoSW5pdExEGXVuaTA3NzcuaW5pdF9CYWFIZWhJbml0TEQZdW5pMDc3Ni5pbml0X0JhYUhlaEluaXRMRBl1bmkwNzc1LmluaXRfQmFhSGVoSW5pdExEGXVuaTA2Q0MuaW5pdF9CYWFIZWhJbml0TEQZdW5pMDY0QS5pbml0X0JhYUhlaEluaXRMRBl1bmkwNkNFLmluaXRfQmFhSGVoSW5pdExEGXVuaTA3NTEuaW5pdF9CYWFIZWhJbml0TEQZdW5pMDc1MC5pbml0X0JhYUhlaEluaXRMRBl1bmkwNzUzLmluaXRfQmFhSGVoSW5pdExEGXVuaTA3NTIuaW5pdF9CYWFIZWhJbml0TEQZdW5pMDc1NS5pbml0X0JhYUhlaEluaXRMRBl1bmkwNzU0LmluaXRfQmFhSGVoSW5pdExEGXVuaTA2QjkuaW5pdF9CYWFIZWhJbml0TEQZdW5pMDZEMS5pbml0X0JhYUhlaEluaXRMRBl1bmkwNkQwLmluaXRfQmFhSGVoSW5pdExEGXVuaTA2MjAuaW5pdF9CYWFSYWFJc29sTEQVdW5pMDYyMC5pbml0X0JhYURhbExEHHVuaTA2MjAuaW5pdF9CYWFNZW1IYWFJbml0TEQYdW5pMDYyMC5pbml0X0JhYUJhYVlhYUxEGXVuaTA2MjAuaW5pdF9CYWFOb25Jc29sTEQZdW5pMDYyMC5pbml0X0JhYVNlbkluaXRMRBl1bmkwNjIwLmluaXRfQmFhTWVtSW5pdExEHHVuaTA2MjAuaW5pdF9CYWFCYWFIYWFJbml0TEQZdW5pMDYyMC5pbml0X0JhYUJhYUlzb2xMRBx1bmkwNjIwLmluaXRfQmFhQmFhTWVtSW5pdExEHHVuaTA2MjAuaW5pdF9CYWFTZW5BbHRJbml0TEQZdW5pMDYyMC5pbml0X0JhYUhhYUluaXRMRBx1bmkwNjIwLmluaXRfQmFhSGFhTWVtSW5pdExEE3VuaTA2MjAuaW5pdF9IaWdoTEQTdW5pMDYyMC5pbml0X1dpZGVMRBl1bmkwNjIwLmluaXRfQmFhWWFhSXNvbExEGXVuaTA2MjAuaW5pdF9CYWFNZW1Jc29sTEQZdW5pMDYyMC5pbml0X0JhYUhlaEluaXRMRBd1bmkwNzY1LmluaXRfTWVtSGVoSW5pdBRhTWVtLmluaXRfTWVtSGVoSW5pdBd1bmkwNjQ1LmluaXRfTWVtSGVoSW5pdBd1bmkwNzY2LmluaXRfTWVtSGVoSW5pdAx1bmkwNjcwLmlzb2wMdW5pMDY3MC5tZWRpDHVuaTA2MjEubWVkaQ11bmkwNjIxLmZsb2F0DXVuaTA2NDAubG9uZzENdW5pMDY2MC5zbWFsbA11bmkwNjYxLnNtYWxsDXVuaTA2NjIuc21hbGwNdW5pMDY2My5zbWFsbA11bmkwNjY0LnNtYWxsDXVuaTA2NjUuc21hbGwNdW5pMDY2Ni5zbWFsbA11bmkwNjY3LnNtYWxsDXVuaTA2Njguc21hbGwNdW5pMDY2OS5zbWFsbA11bmkwNkYwLnNtYWxsDXVuaTA2RjEuc21hbGwNdW5pMDZGMi5zbWFsbA11bmkwNkYzLnNtYWxsDXVuaTA2RjQuc21hbGwNdW5pMDZGNS5zbWFsbA11bmkwNkY2LnNtYWxsDXVuaTA2Rjcuc21hbGwNdW5pMDZGOC5zbWFsbA11bmkwNkY5LnNtYWxsEXVuaTA2RjQudXJkLnNtYWxsEXVuaTA2RjYudXJkLnNtYWxsEXVuaTA2RjcudXJkLnNtYWxsDXVuaTA4RjAuc21hbGwOdW5pMDY0RS5zbWFsbDINdW5pMDY0Qy5zbWFsbAx1bmkwNkU1Lm1lZGkMdW5pMDZFNi5tZWRpDHJhZGljYWwucnRsbQtkb3QucGVyY2VudB51bmkwNjQ1Lm1lZGlfS2FmTWVtTWVkaVRhdHdlZWwfdW5pMDY0NS5maW5hX0xhbU1lbUZpbmFFeHRlbmRlZB91bmkwNjQ1LmZpbmFfS2FmTWVtRmluYUV4dGVuZGVkEmFNZW0uZmluYV9FeHRlbmRlZB91bmkwNjQ1LmZpbmFfS2FmTWVtSXNvbEV4dGVuZGVkCXVuaTA2NDAuMRR1bmkwNjI3LmZpbmFfVGF0d2VlbAl1bmkwNjQwLjIJdW5pMDY0MC4zCXVuaTA2NDAuNBp1bmkwNkZBLmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNzZELmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNjMzLmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNzdFLmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNzdELmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNjM0LmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNzcwLmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNzVDLmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNjlBLmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNjlCLmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNjlDLmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNjlELmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNkZCLmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNjM2LmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNjlFLmluaXRfU2VuQmFhTWVtSW5pdBp1bmkwNjM1LmluaXRfU2VuQmFhTWVtSW5pdA1hWWFhQmFyaS5pc29sDWFZYWFCYXJpLmZpbmEXYVlhYUJhcmkuZmluYV9Qb3N0VG9vdGgRYVNlbi5pbml0X1lhYUJhcmkRYVNhZC5pbml0X1lhYUJhcmkMdW5pMDc3Qi5maW5hFnVuaTA3N0IuZmluYV9Qb3N0VG9vdGgMdW5pMDc3QS5maW5hFnVuaTA3N0EuZmluYV9Qb3N0VG9vdGgMdW5pMDZEMi5maW5hFnVuaTA2RDIuZmluYV9Qb3N0VG9vdGgUdW5pMDZGQS5pbml0X1lhYUJhcmkUdW5pMDc2RC5pbml0X1lhYUJhcmkUdW5pMDYzMy5pbml0X1lhYUJhcmkUdW5pMDc3RS5pbml0X1lhYUJhcmkUdW5pMDc3RC5pbml0X1lhYUJhcmkUdW5pMDYzNC5pbml0X1lhYUJhcmkUdW5pMDc3MC5pbml0X1lhYUJhcmkUdW5pMDc1Qy5pbml0X1lhYUJhcmkUdW5pMDY5QS5pbml0X1lhYUJhcmkUdW5pMDY5Qi5pbml0X1lhYUJhcmkUdW5pMDY5Qy5pbml0X1lhYUJhcmkUdW5pMDY5RC5pbml0X1lhYUJhcmkUdW5pMDZGQi5pbml0X1lhYUJhcmkUdW5pMDYzNi5pbml0X1lhYUJhcmkUdW5pMDY5RS5pbml0X1lhYUJhcmkUdW5pMDYzNS5pbml0X1lhYUJhcmkaYVlhYUJhcmkuZmluYV9Qb3N0QXNjZW5kZXIRdW5pMDYyNy5maW5hX1dpZGURYUJhYS5pbml0X1lhYUJhcmkRYUZhYS5pbml0X1lhYUJhcmkLdW5pMDZFNS5sb3cRYUxhbS5pbml0X1lhYUJhcmkRYUthZi5pbml0X1lhYUJhcmkUdW5pMDYzQi5pbml0X1lhYUJhcmkUdW5pMDYzQy5pbml0X1lhYUJhcmkUdW5pMDc3Ri5pbml0X1lhYUJhcmkUdW5pMDc2NC5pbml0X1lhYUJhcmkUdW5pMDY0My5pbml0X1lhYUJhcmkUdW5pMDZCMC5pbml0X1lhYUJhcmkUdW5pMDZCMy5pbml0X1lhYUJhcmkUdW5pMDZCMi5pbml0X1lhYUJhcmkUdW5pMDZBQi5pbml0X1lhYUJhcmkUdW5pMDZBQy5pbml0X1lhYUJhcmkUdW5pMDZBRC5pbml0X1lhYUJhcmkUdW5pMDZBRS5pbml0X1lhYUJhcmkUdW5pMDZBRi5pbml0X1lhYUJhcmkUdW5pMDZBOS5pbml0X1lhYUJhcmkUdW5pMDZCNC5pbml0X1lhYUJhcmkUdW5pMDc2My5pbml0X1lhYUJhcmkUdW5pMDc2Mi5pbml0X1lhYUJhcmkUdW5pMDZCMS5pbml0X1lhYUJhcmkUdW5pMDc3Ny5pbml0X1lhYUJhcmkUdW5pMDY4MC5pbml0X1lhYUJhcmkUdW5pMDc3Ni5pbml0X1lhYUJhcmkUdW5pMDZCQy5pbml0X1lhYUJhcmkUdW5pMDc1MC5pbml0X1lhYUJhcmkUdW5pMDc1Ni5pbml0X1lhYUJhcmkUdW5pMDc2OC5pbml0X1lhYUJhcmkUdW5pMDZDRS5pbml0X1lhYUJhcmkUdW5pMDc3NS5pbml0X1lhYUJhcmkUdW5pMDZCRC5pbml0X1lhYUJhcmkUdW5pMDYyNi5pbml0X1lhYUJhcmkUdW5pMDY2RS5pbml0X1lhYUJhcmkUdW5pMDYyMC5pbml0X1lhYUJhcmkUdW5pMDY0QS5pbml0X1lhYUJhcmkUdW5pMDZCQi5pbml0X1lhYUJhcmkUdW5pMDY3Ri5pbml0X1lhYUJhcmkUdW5pMDc1NS5pbml0X1lhYUJhcmkUdW5pMDY3RC5pbml0X1lhYUJhcmkUdW5pMDY3RS5pbml0X1lhYUJhcmkUdW5pMDY3Qi5pbml0X1lhYUJhcmkUdW5pMDYyOC5pbml0X1lhYUJhcmkUdW5pMDY3QS5pbml0X1lhYUJhcmkUdW5pMDc1MS5pbml0X1lhYUJhcmkUdW5pMDY0Ni5pbml0X1lhYUJhcmkUdW5pMDc1My5pbml0X1lhYUJhcmkUdW5pMDc1Mi5pbml0X1lhYUJhcmkUdW5pMDYyQS5pbml0X1lhYUJhcmkUdW5pMDY3OC5pbml0X1lhYUJhcmkUdW5pMDYzRC5pbml0X1lhYUJhcmkUdW5pMDYyQi5pbml0X1lhYUJhcmkUdW5pMDY3OS5pbml0X1lhYUJhcmkUdW5pMDZCOS5pbml0X1lhYUJhcmkUdW5pMDc2OS5pbml0X1lhYUJhcmkUdW5pMDY0OS5pbml0X1lhYUJhcmkUdW5pMDY3Qy5pbml0X1lhYUJhcmkUdW5pMDc1NC5pbml0X1lhYUJhcmkUdW5pMDZEMS5pbml0X1lhYUJhcmkUdW5pMDZEMC5pbml0X1lhYUJhcmkUdW5pMDZCQS5pbml0X1lhYUJhcmkUdW5pMDZDQy5pbml0X1lhYUJhcmkUdW5pMDc2Ny5pbml0X1lhYUJhcmkZdW5pMDc3Qi5maW5hX1Bvc3RBc2NlbmRlchl1bmkwNzdBLmZpbmFfUG9zdEFzY2VuZGVyGXVuaTA2RDIuZmluYV9Qb3N0QXNjZW5kZXIUdW5pMDZCNS5pbml0X1lhYUJhcmkUdW5pMDZCNy5pbml0X1lhYUJhcmkUdW5pMDY0NC5pbml0X1lhYUJhcmkUdW5pMDZCOC5pbml0X1lhYUJhcmkUdW5pMDZCNi5pbml0X1lhYUJhcmkUdW5pMDc2QS5pbml0X1lhYUJhcmkUdW5pMDY2Ri5pbml0X1lhYUJhcmkUdW5pMDc2MS5pbml0X1lhYUJhcmkUdW5pMDc2MC5pbml0X1lhYUJhcmkUdW5pMDY0Mi5pbml0X1lhYUJhcmkUdW5pMDY0MS5pbml0X1lhYUJhcmkUdW5pMDZBOC5pbml0X1lhYUJhcmkUdW5pMDZBMS5pbml0X1lhYUJhcmkUdW5pMDZBMi5pbml0X1lhYUJhcmkUdW5pMDZBMy5pbml0X1lhYUJhcmkUdW5pMDZBNC5pbml0X1lhYUJhcmkUdW5pMDZBNS5pbml0X1lhYUJhcmkUdW5pMDZBNi5pbml0X1lhYUJhcmkUdW5pMDZBNy5pbml0X1lhYUJhcmkVYVlhYUJhcmkuZmluYV9Qb3N0QXluEWFIYWEuaW5pdF9ZYWFCYXJpEWFBeW4uaW5pdF9ZYWFCYXJpEWFNZW0uaW5pdF9ZYWFCYXJpFHVuaTA3N0IuZmluYV9Qb3N0QXluFHVuaTA3N0EuZmluYV9Qb3N0QXluFHVuaTA2RDIuZmluYV9Qb3N0QXluFHVuaTA3NjUuaW5pdF9ZYWFCYXJpFHVuaTA2NDUuaW5pdF9ZYWFCYXJpFHVuaTA3NjYuaW5pdF9ZYWFCYXJpFHVuaTA2MkUuaW5pdF9ZYWFCYXJpFHVuaTA2MkQuaW5pdF9ZYWFCYXJpFHVuaTA2ODEuaW5pdF9ZYWFCYXJpFHVuaTA2ODcuaW5pdF9ZYWFCYXJpFHVuaTA2ODUuaW5pdF9ZYWFCYXJpFHVuaTA2MkMuaW5pdF9ZYWFCYXJpFHVuaTA2ODIuaW5pdF9ZYWFCYXJpFHVuaTA3NTcuaW5pdF9ZYWFCYXJpFHVuaTA2ODQuaW5pdF9ZYWFCYXJpFHVuaTA3NkYuaW5pdF9ZYWFCYXJpFHVuaTA3NkUuaW5pdF9ZYWFCYXJpFHVuaTA2ODMuaW5pdF9ZYWFCYXJpFHVuaTA2QkYuaW5pdF9ZYWFCYXJpFHVuaTA3N0MuaW5pdF9ZYWFCYXJpFHVuaTA3NTguaW5pdF9ZYWFCYXJpFHVuaTA3NzIuaW5pdF9ZYWFCYXJpFHVuaTA2ODYuaW5pdF9ZYWFCYXJpFHVuaTA2RkMuaW5pdF9ZYWFCYXJpFHVuaTA2M0EuaW5pdF9ZYWFCYXJpFHVuaTA3NUUuaW5pdF9ZYWFCYXJpFHVuaTA3NUQuaW5pdF9ZYWFCYXJpFHVuaTA3NUYuaW5pdF9ZYWFCYXJpFHVuaTA2QTAuaW5pdF9ZYWFCYXJpFHVuaTA2MzkuaW5pdF9ZYWFCYXJpEWFIZWguaW5pdF9ZYWFCYXJpFHVuaTA2NDcuaW5pdF9ZYWFCYXJpFHVuaTA2QzEuaW5pdF9ZYWFCYXJpEmFUYWEuaW5pdF9ZYWFCYXJlZRR1bmkwNjM4LmluaXRfWWFhQmFyaRR1bmkwNjM3LmluaXRfWWFhQmFyaRR1bmkwNjlGLmluaXRfWWFhQmFyaRBhSGVoS25vdHRlZC5pc29sDHVuaTA2QkUuaW5pdAx1bmkwNkZGLmluaXQMdW5pMDZCRS5maW5hDHVuaTA2RkYuZmluYQx1bmkwNkJFLm1lZGkMdW5pMDZGRi5tZWRpEGFIZWhLbm90dGVkLmZpbmEUYUhlaC5tZWRpX0hlaFlhYUZpbmEXdW5pMDY0Ny5tZWRpX0hlaFlhYUZpbmEXdW5pMDZDMS5tZWRpX0hlaFlhYUZpbmEcdW5pMDY0Ny5tZWRpX1Bvc3RUb290aEhlaFlhYRx1bmkwNkMxLm1lZGlfUG9zdFRvb3RoSGVoWWFhC2hhbXphLmFib3ZlDnVuaTA2NjAubWVkaXVtDnVuaTA2NjEubWVkaXVtDnVuaTA2NjIubWVkaXVtDnVuaTA2NjMubWVkaXVtDnVuaTA2NjQubWVkaXVtDnVuaTA2NjUubWVkaXVtDnVuaTA2NjYubWVkaXVtDnVuaTA2NjcubWVkaXVtDnVuaTA2NjgubWVkaXVtDnVuaTA2NjkubWVkaXVtDnVuaTA2RjAubWVkaXVtDnVuaTA2RjEubWVkaXVtDnVuaTA2RjIubWVkaXVtDnVuaTA2RjMubWVkaXVtDnVuaTA2RjQubWVkaXVtDnVuaTA2RjUubWVkaXVtDnVuaTA2RjYubWVkaXVtDnVuaTA2RjcubWVkaXVtDnVuaTA2RjgubWVkaXVtDnVuaTA2RjkubWVkaXVtEnVuaTA2RjQudXJkLm1lZGl1bRJ1bmkwNkY2LnVyZC5tZWRpdW0SdW5pMDZGNy51cmQubWVkaXVtGGFIZWhLbm90dGVkLmluaXRfWWFhQmFyaRR1bmkwNkJFLmluaXRfWWFhQmFyaQx1bmkwOEEwLmZpbmEMdW5pMDhBMC5pbml0DHVuaTA4QTAubWVkaRd1bmkwOEEwLmluaXRfQmFhUmFhSXNvbBd1bmkwOEEwLm1lZGlfQmFhTWVtRmluYRp1bmkwOEEwLm1lZGlfTGFtQmFhTWVtSW5pdBN1bmkwOEEwLmluaXRfQmFhRGFsGnVuaTA4QTAuaW5pdF9CYWFNZW1IYWFJbml0FnVuaTA4QTAuaW5pdF9CYWFCYWFZYWEWdW5pMDhBMC5tZWRpX0JhYUJhYVlhYRd1bmkwOEEwLm1lZGlfS2FmQmFhSW5pdBd1bmkwOEEwLm1lZGlfQmFhQmFhSW5pdBd1bmkwOEEwLmluaXRfQmFhTm9uSXNvbBd1bmkwOEEwLmluaXRfQmFhU2VuSW5pdBd1bmkwOEEwLm1lZGlfQmFhUmFhRmluYRd1bmkwOEEwLmluaXRfQmFhTWVtSW5pdBp1bmkwOEEwLmluaXRfQmFhQmFhSGFhSW5pdBp1bmkwOEEwLm1lZGlfQmFhQmFhSGFhSW5pdBp1bmkwOEEwLm1lZGlfU2VuQmFhTWVtSW5pdBd1bmkwOEEwLmluaXRfQmFhQmFhSXNvbBd1bmkwOEEwLmZpbmFfQmFhQmFhSXNvbBp1bmkwOEEwLmluaXRfQmFhQmFhTWVtSW5pdBp1bmkwOEEwLm1lZGlfQmFhQmFhTWVtSW5pdBd1bmkwOEEwLm1lZGlfS2FmQmFhTWVkaRd1bmkwOEEwLm1lZGlfQmFhTm9uRmluYRd1bmkwOEEwLm1lZGlfQmFhWWFhRmluYRp1bmkwOEEwLmluaXRfQmFhU2VuQWx0SW5pdBV1bmkwOEEwLmluaXRfQWJvdmVIYWEXdW5pMDhBMC5pbml0X0JhYUhhYUluaXQadW5pMDhBMC5pbml0X0JhYUhhYU1lbUluaXQRdW5pMDhBMC5pbml0X0hpZ2gRdW5pMDhBMC5tZWRpX0hpZ2gRdW5pMDhBMC5pbml0X1dpZGUXdW5pMDhBMC5pbml0X0JhYVlhYUlzb2wXdW5pMDhBMC5pbml0X0JhYU1lbUlzb2wadW5pMDhBMC5tZWRpX0JhYU1lbUFsZkZpbmEXdW5pMDhBMC5pbml0X0JhYUhlaEluaXQXdW5pMDhBMC5tZWRpX0JhYUhlaE1lZGkPdW5pMDhBMC5pbml0X0xEGXVuaTA4QTAuaW5pdF9CYWFSYWFJc29sTEQVdW5pMDhBMC5pbml0X0JhYURhbExEHHVuaTA4QTAuaW5pdF9CYWFNZW1IYWFJbml0TEQYdW5pMDhBMC5pbml0X0JhYUJhYVlhYUxEGXVuaTA4QTAuaW5pdF9CYWFOb25Jc29sTEQZdW5pMDhBMC5pbml0X0JhYVNlbkluaXRMRBl1bmkwOEEwLmluaXRfQmFhTWVtSW5pdExEHHVuaTA4QTAuaW5pdF9CYWFCYWFIYWFJbml0TEQZdW5pMDhBMC5pbml0X0JhYUJhYUlzb2xMRBx1bmkwOEEwLmluaXRfQmFhQmFhTWVtSW5pdExEHHVuaTA4QTAuaW5pdF9CYWFTZW5BbHRJbml0TEQZdW5pMDhBMC5pbml0X0JhYUhhYUluaXRMRBx1bmkwOEEwLmluaXRfQmFhSGFhTWVtSW5pdExEE3VuaTA4QTAuaW5pdF9IaWdoTEQTdW5pMDhBMC5pbml0X1dpZGVMRBl1bmkwOEEwLmluaXRfQmFhWWFhSXNvbExEGXVuaTA4QTAuaW5pdF9CYWFNZW1Jc29sTEQZdW5pMDhBMC5pbml0X0JhYUhlaEluaXRMRBR1bmkwOEEwLmluaXRfWWFhQmFyaQl1bmkwNjAwLjQMdW5pMDY2MC5wcm9wDHVuaTA2NjEucHJvcAx1bmkwNjYyLnByb3AMdW5pMDY2My5wcm9wDHVuaTA2NjQucHJvcAx1bmkwNjY1LnByb3AMdW5pMDY2Ni5wcm9wDHVuaTA2NjcucHJvcAx1bmkwNjY4LnByb3AMdW5pMDY2OS5wcm9wDHVuaTA2RjAucHJvcAx1bmkwNkYxLnByb3AMdW5pMDZGMi5wcm9wDHVuaTA2RjMucHJvcAx1bmkwNkY0LnByb3AMdW5pMDZGNS5wcm9wDHVuaTA2RjYucHJvcAx1bmkwNkY3LnByb3AMdW5pMDZGOC5wcm9wDHVuaTA2RjkucHJvcBB1bmkwNkY0LnVyZC5wcm9wEHVuaTA2RjYudXJkLnByb3AQdW5pMDZGNy51cmQucHJvcBF1bmkwNjIzLmZpbmFfV2lkZRF1bmkwNjcxLmZpbmFfV2lkZRNhQmFhLmluaXRfQmFhQmFhSGVoFnVuaTA3NzcuaW5pdF9CYWFCYWFIZWgWdW5pMDY4MC5pbml0X0JhYUJhYUhlaBZ1bmkwNzc2LmluaXRfQmFhQmFhSGVoFnVuaTA2QkMuaW5pdF9CYWFCYWFIZWgWdW5pMDc1MC5pbml0X0JhYUJhYUhlaBZ1bmkwNzU2LmluaXRfQmFhQmFhSGVoFnVuaTA3NjguaW5pdF9CYWFCYWFIZWgWdW5pMDZDRS5pbml0X0JhYUJhYUhlaBZ1bmkwNzc1LmluaXRfQmFhQmFhSGVoFnVuaTA2QkQuaW5pdF9CYWFCYWFIZWgWdW5pMDYyNi5pbml0X0JhYUJhYUhlaBZ1bmkwNjZFLmluaXRfQmFhQmFhSGVoFnVuaTA2MjAuaW5pdF9CYWFCYWFIZWgWdW5pMDY0QS5pbml0X0JhYUJhYUhlaBZ1bmkwNkJCLmluaXRfQmFhQmFhSGVoFnVuaTA2N0YuaW5pdF9CYWFCYWFIZWgWdW5pMDc1NS5pbml0X0JhYUJhYUhlaBZ1bmkwNjdELmluaXRfQmFhQmFhSGVoFnVuaTA2N0UuaW5pdF9CYWFCYWFIZWgWdW5pMDY3Qi5pbml0X0JhYUJhYUhlaBZ1bmkwNjI4LmluaXRfQmFhQmFhSGVoFnVuaTA2N0EuaW5pdF9CYWFCYWFIZWgWdW5pMDc1MS5pbml0X0JhYUJhYUhlaBZ1bmkwNjQ2LmluaXRfQmFhQmFhSGVoFnVuaTA3NTMuaW5pdF9CYWFCYWFIZWgWdW5pMDc1Mi5pbml0X0JhYUJhYUhlaBZ1bmkwNjJBLmluaXRfQmFhQmFhSGVoFnVuaTA2NzguaW5pdF9CYWFCYWFIZWgWdW5pMDYzRC5pbml0X0JhYUJhYUhlaBZ1bmkwNjJCLmluaXRfQmFhQmFhSGVoFnVuaTA2NzkuaW5pdF9CYWFCYWFIZWgWdW5pMDZCOS5pbml0X0JhYUJhYUhlaBZ1bmkwNzY5LmluaXRfQmFhQmFhSGVoFnVuaTA2NDkuaW5pdF9CYWFCYWFIZWgWdW5pMDY3Qy5pbml0X0JhYUJhYUhlaBZ1bmkwNzU0LmluaXRfQmFhQmFhSGVoFnVuaTA2RDEuaW5pdF9CYWFCYWFIZWgWdW5pMDZEMC5pbml0X0JhYUJhYUhlaBZ1bmkwNkJBLmluaXRfQmFhQmFhSGVoFnVuaTA2Q0MuaW5pdF9CYWFCYWFIZWgWdW5pMDc2Ny5pbml0X0JhYUJhYUhlaBh1bmkwNjgwLmluaXRfQmFhQmFhSGVoTEQYdW5pMDZCRC5pbml0X0JhYUJhYUhlaExEGHVuaTA2N0UuaW5pdF9CYWFCYWFIZWhMRBh1bmkwNjdCLmluaXRfQmFhQmFhSGVoTEQYdW5pMDYyOC5pbml0X0JhYUJhYUhlaExEGHVuaTA3NjcuaW5pdF9CYWFCYWFIZWhMRBh1bmkwNjNELmluaXRfQmFhQmFhSGVoTEQYdW5pMDc3Ny5pbml0X0JhYUJhYUhlaExEGHVuaTA3NzYuaW5pdF9CYWFCYWFIZWhMRBh1bmkwNzc1LmluaXRfQmFhQmFhSGVoTEQYdW5pMDZDQy5pbml0X0JhYUJhYUhlaExEGHVuaTA2NEEuaW5pdF9CYWFCYWFIZWhMRBh1bmkwNkNFLmluaXRfQmFhQmFhSGVoTEQYdW5pMDc1MS5pbml0X0JhYUJhYUhlaExEGHVuaTA3NTAuaW5pdF9CYWFCYWFIZWhMRBh1bmkwNzUzLmluaXRfQmFhQmFhSGVoTEQYdW5pMDc1Mi5pbml0X0JhYUJhYUhlaExEGHVuaTA3NTUuaW5pdF9CYWFCYWFIZWhMRBh1bmkwNzU0LmluaXRfQmFhQmFhSGVoTEQYdW5pMDZCOS5pbml0X0JhYUJhYUhlaExEGHVuaTA2RDEuaW5pdF9CYWFCYWFIZWhMRBh1bmkwNkQwLmluaXRfQmFhQmFhSGVoTEQLdW5pMDZBOS5hbHQQdW5pMDZBOS5hbHQuZmluYQt1bmkwNkFGLmFsdBB1bmkwNkFGLmFsdC5maW5hC3VuaTA2QjAuYWx0EHVuaTA2QjAuYWx0LmZpbmELdW5pMDZCMS5hbHQQdW5pMDZCMS5hbHQuZmluYQt1bmkwNkIyLmFsdBB1bmkwNkIyLmFsdC5maW5hC3VuaTA2QjMuYWx0EHVuaTA2QjMuYWx0LmZpbmELdW5pMDZCNC5hbHQQdW5pMDZCNC5hbHQuZmluYQt1bmkwNzYyLmFsdBB1bmkwNzYyLmFsdC5maW5hC3VuaTA3NjMuYWx0EHVuaTA3NjMuYWx0LmZpbmELdW5pMDc2NC5hbHQQdW5pMDc2NC5hbHQuZmluYQt1bmkwNjNCLmFsdBB1bmkwNjNCLmFsdC5maW5hC3VuaTA2M0MuYWx0EHVuaTA2M0MuYWx0LmZpbmEJYUdhZi5pc29sCWFHYWYuZmluYQl1bmkwNjAwLjMJdW5pMDYwMy4zCnVuaTA2NDAuMDURYUJhYS5tZWRpX1lhYUJhcmkUdW5pMDc3Ny5tZWRpX1lhYUJhcmkUdW5pMDY4MC5tZWRpX1lhYUJhcmkUdW5pMDc3Ni5tZWRpX1lhYUJhcmkUdW5pMDZCQy5tZWRpX1lhYUJhcmkUdW5pMDc1MC5tZWRpX1lhYUJhcmkUdW5pMDc1Ni5tZWRpX1lhYUJhcmkUdW5pMDc2OC5tZWRpX1lhYUJhcmkUdW5pMDZDRS5tZWRpX1lhYUJhcmkUdW5pMDc3NS5tZWRpX1lhYUJhcmkUdW5pMDZCRC5tZWRpX1lhYUJhcmkUdW5pMDYyNi5tZWRpX1lhYUJhcmkUdW5pMDY2RS5tZWRpX1lhYUJhcmkUdW5pMDYyMC5tZWRpX1lhYUJhcmkUdW5pMDY0QS5tZWRpX1lhYUJhcmkUdW5pMDZCQi5tZWRpX1lhYUJhcmkUdW5pMDY3Ri5tZWRpX1lhYUJhcmkUdW5pMDc1NS5tZWRpX1lhYUJhcmkUdW5pMDY3RC5tZWRpX1lhYUJhcmkUdW5pMDY3RS5tZWRpX1lhYUJhcmkUdW5pMDY3Qi5tZWRpX1lhYUJhcmkUdW5pMDYyOC5tZWRpX1lhYUJhcmkUdW5pMDY3QS5tZWRpX1lhYUJhcmkUdW5pMDc1MS5tZWRpX1lhYUJhcmkUdW5pMDY0Ni5tZWRpX1lhYUJhcmkUdW5pMDc1My5tZWRpX1lhYUJhcmkUdW5pMDc1Mi5tZWRpX1lhYUJhcmkUdW5pMDYyQS5tZWRpX1lhYUJhcmkUdW5pMDY3OC5tZWRpX1lhYUJhcmkUdW5pMDYzRC5tZWRpX1lhYUJhcmkUdW5pMDYyQi5tZWRpX1lhYUJhcmkUdW5pMDY3OS5tZWRpX1lhYUJhcmkUdW5pMDZCOS5tZWRpX1lhYUJhcmkUdW5pMDc2OS5tZWRpX1lhYUJhcmkUdW5pMDY0OS5tZWRpX1lhYUJhcmkUdW5pMDY3Qy5tZWRpX1lhYUJhcmkUdW5pMDc1NC5tZWRpX1lhYUJhcmkUdW5pMDZEMS5tZWRpX1lhYUJhcmkUdW5pMDZEMC5tZWRpX1lhYUJhcmkUdW5pMDZCQS5tZWRpX1lhYUJhcmkUdW5pMDZDQy5tZWRpX1lhYUJhcmkUdW5pMDc2Ny5tZWRpX1lhYUJhcmkadW5pMDc3Qi5maW5hX1Bvc3RUb290aEZpbmEadW5pMDc3QS5maW5hX1Bvc3RUb290aEZpbmEadW5pMDZEMi5maW5hX1Bvc3RUb290aEZpbmEUdW5pMDhBMC5tZWRpX1lhYUJhcmkadW5pMDc3Ny5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY4MC5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc3Ni5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDZCQy5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc1MC5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc1Ni5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc2OC5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDZDRS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc3NS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDZCRC5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDYyNi5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY2RS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDYyMC5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY0QS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDZCQi5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY3Ri5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc1NS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY3RC5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY3RS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY3Qi5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDYyOC5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY3QS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc1MS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY0Ni5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc1My5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc1Mi5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDYyQS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY3OC5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDYzRC5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDYyQi5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY3OS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDZCOS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc2OS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY0OS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDY3Qy5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc1NC5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDZEMS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDZEMC5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDZCQS5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDZDQy5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDc2Ny5pbml0X0JhYUJhYVlhYUJhcmkadW5pMDhBMC5pbml0X0JhYUJhYVlhYUJhcmkXdW5pMDY4Ny5pbml0X0JhYVlhYUJhcmkXdW5pMDYyQy5pbml0X0JhYVlhYUJhcmkXdW5pMDY4NC5pbml0X0JhYVlhYUJhcmkXdW5pMDc2Ri5pbml0X0JhYVlhYUJhcmkXdW5pMDc2RS5pbml0X0JhYVlhYUJhcmkXdW5pMDY4My5pbml0X0JhYVlhYUJhcmkXdW5pMDZCRi5pbml0X0JhYVlhYUJhcmkXdW5pMDc3Qy5pbml0X0JhYVlhYUJhcmkXdW5pMDc1OC5pbml0X0JhYVlhYUJhcmkXdW5pMDY4Ni5pbml0X0JhYVlhYUJhcmkWdW5pMDhBMC5pbml0X0JhYUJhYUhlaBh1bmkwOEEwLmluaXRfQmFhQmFhSGVoTEQYdW5pMDYyMC5pbml0X0JhYUJhYUhlaExEC3VuaTA2NTcudXJkDXVuaTA2NTcuc21hbGwNdW5pMDY1MC5zbWFsbA11bmkwNjRELnNtYWxsCnplcm8uc21hbGwJb25lLnNtYWxsCXR3by5zbWFsbAt0aHJlZS5zbWFsbApmb3VyLnNtYWxsCmZpdmUuc21hbGwJc2l4LnNtYWxsC3NldmVuLnNtYWxsC2VpZ2h0LnNtYWxsCm5pbmUuc21hbGwMdW5pMDYzRS5pbml0DHVuaTA2M0YuaW5pdAx1bmkwNjNFLm1lZGkMdW5pMDYzRi5tZWRpF3VuaTA2M0UuaW5pdF9CYWFSYWFJc29sF3VuaTA2M0YuaW5pdF9CYWFSYWFJc29sF3VuaTA2M0UubWVkaV9CYWFNZW1GaW5hF3VuaTA2M0YubWVkaV9CYWFNZW1GaW5hGnVuaTA2M0UubWVkaV9MYW1CYWFNZW1Jbml0GnVuaTA2M0YubWVkaV9MYW1CYWFNZW1Jbml0E3VuaTA2M0UuaW5pdF9CYWFEYWwTdW5pMDYzRi5pbml0X0JhYURhbBp1bmkwNjNFLmluaXRfQmFhTWVtSGFhSW5pdBp1bmkwNjNGLmluaXRfQmFhTWVtSGFhSW5pdBZ1bmkwNjNFLmluaXRfQmFhQmFhWWFhFnVuaTA2M0YuaW5pdF9CYWFCYWFZYWEWdW5pMDYzRS5tZWRpX0JhYUJhYVlhYRZ1bmkwNjNGLm1lZGlfQmFhQmFhWWFhF3VuaTA2M0UubWVkaV9LYWZCYWFJbml0F3VuaTA2M0YubWVkaV9LYWZCYWFJbml0F3VuaTA2M0UubWVkaV9CYWFCYWFJbml0F3VuaTA2M0YubWVkaV9CYWFCYWFJbml0F3VuaTA2M0UuaW5pdF9CYWFOb25Jc29sF3VuaTA2M0YuaW5pdF9CYWFOb25Jc29sF3VuaTA2M0UuaW5pdF9CYWFTZW5Jbml0F3VuaTA2M0YuaW5pdF9CYWFTZW5Jbml0F3VuaTA2M0UubWVkaV9CYWFSYWFGaW5hF3VuaTA2M0YubWVkaV9CYWFSYWFGaW5hF3VuaTA2M0UuaW5pdF9CYWFNZW1Jbml0F3VuaTA2M0YuaW5pdF9CYWFNZW1Jbml0GnVuaTA2M0UuaW5pdF9CYWFCYWFIYWFJbml0GnVuaTA2M0YuaW5pdF9CYWFCYWFIYWFJbml0GnVuaTA2M0UubWVkaV9CYWFCYWFIYWFJbml0GnVuaTA2M0YubWVkaV9CYWFCYWFIYWFJbml0GnVuaTA2M0UubWVkaV9TZW5CYWFNZW1Jbml0GnVuaTA2M0YubWVkaV9TZW5CYWFNZW1Jbml0F3VuaTA2M0UuaW5pdF9CYWFCYWFJc29sF3VuaTA2M0YuaW5pdF9CYWFCYWFJc29sGnVuaTA2M0UuaW5pdF9CYWFCYWFNZW1Jbml0GnVuaTA2M0YuaW5pdF9CYWFCYWFNZW1Jbml0GnVuaTA2M0UubWVkaV9CYWFCYWFNZW1Jbml0GnVuaTA2M0YubWVkaV9CYWFCYWFNZW1Jbml0F3VuaTA2M0UubWVkaV9LYWZCYWFNZWRpF3VuaTA2M0YubWVkaV9LYWZCYWFNZWRpF3VuaTA2M0UubWVkaV9CYWFOb25GaW5hF3VuaTA2M0YubWVkaV9CYWFOb25GaW5hF3VuaTA2M0UubWVkaV9CYWFZYWFGaW5hF3VuaTA2M0YubWVkaV9CYWFZYWFGaW5hGnVuaTA2M0UuaW5pdF9CYWFTZW5BbHRJbml0GnVuaTA2M0YuaW5pdF9CYWFTZW5BbHRJbml0FXVuaTA2M0UuaW5pdF9BYm92ZUhhYRV1bmkwNjNGLmluaXRfQWJvdmVIYWEXdW5pMDYzRS5pbml0X0JhYUhhYUluaXQXdW5pMDYzRi5pbml0X0JhYUhhYUluaXQadW5pMDYzRS5pbml0X0JhYUhhYU1lbUluaXQadW5pMDYzRi5pbml0X0JhYUhhYU1lbUluaXQRdW5pMDYzRS5pbml0X0hpZ2gRdW5pMDYzRi5pbml0X0hpZ2gRdW5pMDYzRS5tZWRpX0hpZ2gRdW5pMDYzRi5tZWRpX0hpZ2gRdW5pMDYzRS5pbml0X1dpZGURdW5pMDYzRi5pbml0X1dpZGUXdW5pMDYzRS5pbml0X0JhYVlhYUlzb2wXdW5pMDYzRi5pbml0X0JhYVlhYUlzb2wXdW5pMDYzRS5pbml0X0JhYU1lbUlzb2wXdW5pMDYzRi5pbml0X0JhYU1lbUlzb2wadW5pMDYzRS5tZWRpX0JhYU1lbUFsZkZpbmEadW5pMDYzRi5tZWRpX0JhYU1lbUFsZkZpbmEXdW5pMDYzRS5pbml0X0JhYUhlaEluaXQXdW5pMDYzRi5pbml0X0JhYUhlaEluaXQXdW5pMDYzRS5tZWRpX0JhYUhlaE1lZGkXdW5pMDYzRi5tZWRpX0JhYUhlaE1lZGkPdW5pMDYzRS5pbml0X0xED3VuaTA2M0YuaW5pdF9MRBl1bmkwNjNFLmluaXRfQmFhUmFhSXNvbExEGXVuaTA2M0YuaW5pdF9CYWFSYWFJc29sTEQVdW5pMDYzRS5pbml0X0JhYURhbExEFXVuaTA2M0YuaW5pdF9CYWFEYWxMRBx1bmkwNjNFLmluaXRfQmFhTWVtSGFhSW5pdExEHHVuaTA2M0YuaW5pdF9CYWFNZW1IYWFJbml0TEQYdW5pMDYzRS5pbml0X0JhYUJhYVlhYUxEGHVuaTA2M0YuaW5pdF9CYWFCYWFZYWFMRBl1bmkwNjNFLmluaXRfQmFhTm9uSXNvbExEGXVuaTA2M0YuaW5pdF9CYWFOb25Jc29sTEQZdW5pMDYzRS5pbml0X0JhYVNlbkluaXRMRBl1bmkwNjNGLmluaXRfQmFhU2VuSW5pdExEGXVuaTA2M0UuaW5pdF9CYWFNZW1Jbml0TEQZdW5pMDYzRi5pbml0X0JhYU1lbUluaXRMRBx1bmkwNjNFLmluaXRfQmFhQmFhSGFhSW5pdExEHHVuaTA2M0YuaW5pdF9CYWFCYWFIYWFJbml0TEQZdW5pMDYzRS5pbml0X0JhYUJhYUlzb2xMRBl1bmkwNjNGLmluaXRfQmFhQmFhSXNvbExEHHVuaTA2M0UuaW5pdF9CYWFCYWFNZW1Jbml0TEQcdW5pMDYzRi5pbml0X0JhYUJhYU1lbUluaXRMRBx1bmkwNjNFLmluaXRfQmFhU2VuQWx0SW5pdExEHHVuaTA2M0YuaW5pdF9CYWFTZW5BbHRJbml0TEQZdW5pMDYzRS5pbml0X0JhYUhhYUluaXRMRBl1bmkwNjNGLmluaXRfQmFhSGFhSW5pdExEHHVuaTA2M0UuaW5pdF9CYWFIYWFNZW1Jbml0TEQcdW5pMDYzRi5pbml0X0JhYUhhYU1lbUluaXRMRBN1bmkwNjNFLmluaXRfSGlnaExEE3VuaTA2M0YuaW5pdF9IaWdoTEQTdW5pMDYzRS5pbml0X1dpZGVMRBN1bmkwNjNGLmluaXRfV2lkZUxEGXVuaTA2M0UuaW5pdF9CYWFZYWFJc29sTEQZdW5pMDYzRi5pbml0X0JhYVlhYUlzb2xMRBl1bmkwNjNFLmluaXRfQmFhTWVtSXNvbExEGXVuaTA2M0YuaW5pdF9CYWFNZW1Jc29sTEQZdW5pMDYzRS5pbml0X0JhYUhlaEluaXRMRBl1bmkwNjNGLmluaXRfQmFhSGVoSW5pdExEFHVuaTA2M0UuaW5pdF9ZYWFCYXJpFHVuaTA2M0YuaW5pdF9ZYWFCYXJpFnVuaTA2M0UuaW5pdF9CYWFCYWFIZWgWdW5pMDYzRi5pbml0X0JhYUJhYUhlaBh1bmkwNjNFLmluaXRfQmFhQmFhSGVoTEQYdW5pMDYzRi5pbml0X0JhYUJhYUhlaExEFHVuaTA2M0UubWVkaV9ZYWFCYXJpFHVuaTA2M0YubWVkaV9ZYWFCYXJpGnVuaTA2M0UuaW5pdF9CYWFCYWFZYWFCYXJpGnVuaTA2M0YuaW5pdF9CYWFCYWFZYWFCYXJpDWFtcGVyc2FuZC5hcmEDZl9iBWZfZl9iA2ZfawVmX2ZfawNmX2gFZl9mX2gDZl9qBWZfZl9qD2lvZ29uZWsuZG90bGVzcw1ncmF2ZWNvbWIuY2FwDWFjdXRlY29tYi5jYXALdW5pMDMwMi5jYXALdW5pMDMwQS5jYXANdGlsZGVjb21iLmNhcAt1bmkwMzA0LmNhcAt1bmkwMzA2LmNhcAt1bmkwMzI3LmNhcA51bmkwMzA4Lm5hcnJvdwt1bmkwMzA4LmNhcAt1bmkwMzBDLmNhcAl6ZXJvLnByb3AIb25lLnByb3AIdHdvLnByb3AKdGhyZWUucHJvcAlmb3VyLnByb3AJZml2ZS5wcm9wCHNpeC5wcm9wCnNldmVuLnByb3AKZWlnaHQucHJvcAluaW5lLnByb3AFaS5UUksLemVyby5tZWRpdW0Kb25lLm1lZGl1bQp0d28ubWVkaXVtDHRocmVlLm1lZGl1bQtmb3VyLm1lZGl1bQtmaXZlLm1lZGl1bQpzaXgubWVkaXVtDHNldmVuLm1lZGl1bQxlaWdodC5tZWRpdW0LbmluZS5tZWRpdW0JemVyby5udW1yCG9uZS5udW1yCHR3by5udW1yCnRocmVlLm51bXIJZm91ci5udW1yCWZpdmUubnVtcghzaXgubnVtcgpzZXZlbi5udW1yCmVpZ2h0Lm51bXIJbmluZS5udW1yDHVuaTA2NjAubnVtcgx1bmkwNjYxLm51bXIMdW5pMDY2Mi5udW1yDHVuaTA2NjMubnVtcgx1bmkwNjY0Lm51bXIMdW5pMDY2NS5udW1yDHVuaTA2NjYubnVtcgx1bmkwNjY3Lm51bXIMdW5pMDY2OC5udW1yDHVuaTA2NjkubnVtcgx1bmkwNkYwLm51bXIMdW5pMDZGMS5udW1yDHVuaTA2RjIubnVtcgx1bmkwNkYzLm51bXIMdW5pMDZGNC5udW1yDHVuaTA2RjUubnVtcgx1bmkwNkY2Lm51bXIMdW5pMDZGNy5udW1yDHVuaTA2RjgubnVtcgx1bmkwNkY5Lm51bXIQdW5pMDZGNC51cmQubnVtchB1bmkwNkY2LnVyZC5udW1yEHVuaTA2RjcudXJkLm51bXIGZHVtbXkxC2V4Y2xhbS5yZWYxCWNlbnQucmVmMQhFdGgucmVmMQtPc2xhc2gucmVmMQtkaXZpZGUucmVmMQtvc2xhc2gucmVmMQtkY3JvYXQucmVmMQlIYmFyLnJlZjEJaGJhci5yZWYxC0xzbGFzaC5yZWYxC2xzbGFzaC5yZWYxCVRiYXIucmVmMQl0YmFyLnJlZjEMdW5pMDYwQi5yZWYxDHVuaTA2MTIucmVmMQx1bmkwNjFGLnJlZjEMdW5pMDY1RS5yZWYxDHVuaTA4QUMucmVmMQx1bmkwOEY1LnJlZjEMdW5pMDhGNi5yZWYxDHVuaTA4RkMucmVmMQx1bmkwOEZELnJlZjEMdW5pMDhGRS5yZWYxDHVuaUZERkQucmVmMQt1MUVFMDAucmVmMQt1MUVFODEucmVmMQt1MUVFODkucmVmMQt1MUVFOEQucmVmMQt1MUVFOTAucmVmMQt1MUVFOTIu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AAAAAQAAACQAAwABAdQAAwQSBBIEEgAAAAMAAAAlAAEAJgACACcAAwABAeYAAgP0A/QAAAACAAAAKAABACkAAwABAc4AAQPcAAAAAQAAACoAAwAAAAMCUgJSAlIAAQBIAAMAAAArAAEALAACAC0AAwAAAAICNAI0AAEAKgACAAAALgABAC8AAwAAAAECHAABABIAAQAAADAAAQABAjoAAwAAAAICBAIEAAEAKgACAAAAMQABADIAAwAAAAEB7AABABIAAQAAADMAAQABAWMAAwAAAAQDTANMA0wDTAABACQABAAAADQAAQA1AAIANgADADcAAQABGDkAAwAAAAMDIgMiAyIAAQAeAAMAAAA4AAEAOQACADoAAQABGK0AAwAAAAIC/gL+AAEAKgACAAAAOwABADwAAwAAAAEC5gABABIAAQAAAD0AAQABAWEAAwAAAAQCzgLOAs4CzgABAGwABAAAAD4AAQA/AAIAQAADAEEAAwAAAAMCqgKqAqoAAQBIAAMAAABCAAEAQwACAEQAAwAAAAICjAKMAAEAKgACAAAARQABAEYAAwAAAAECdAABABIAAQAAAEcAAQABAWIAAwAAAAMCXAJcAlwAAQAeAAMAAABIAAEASQACAEoAAQABGK4AAwAAAAICOAI4AAEAKgACAAAASwABAEwAAwAAAAECIAABABIAAQAAAE0AAQABAWQAAQAAAAEACAABAIgABfwO/agAAQAAAAEACAABAHYABfde/agAAQAAAAEACAABAGQABfri/agAAQAAAAEACAABAFIABfiK/agAAQAAAAEACAABAEAABfm2/agAAQAAAAEACAABAC4ABfzq/agAAQAAAAEACAABABwABfqS/agAAQAAAAEACAABAAoABfu+/agAAgACFwQXGgAAGRkZIgAXAAEAAAABAAgAAQFgAAXw9vx8AAEAAAABAAgAAQFOAAX7gvx8AAEAAAABAAgAAQE8AAX3/vx8AAEAAAABAAgAAQEqAAX0evx8AAEAAAABAAgAAQEYAAX7Hvx8AAEAAAABAAgAAQEGAAX3mvx8AAEAAAABAAgAAQD0AAX5XPx8AAEAAAABAAgAAQDiAAX8Y/x8AAEAAAABAAgAAQDQAAXx1/x8AAEAAAABAAgAAQC+AAX6ofx8AAEAAAABAAgAAQCsAAXzmfx8AAEAAAABAAgAAQCa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AGgAcgCIAAIAAhg6GD4AABhAGEMABQACGEEAMhhCADIABBg8/5wYPf+cGED/OBhD/5wAAhhBAGQYQv/OAAEYQQBkAAIYO//OGEIAMgABGDv/zgACGDv/zhhC/84ABRg7/5wYPP+cGD3/nBhA/5wYQf+cAAIYOgAyGEIAMgACAAAABgASBEoEtBA4ItQ5wgACAMAABAAAAMoA4AAEABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoAAAAAAAD/7AAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4v/m/9QA3v/e/+j/zP/G/8r/5v/I/9r/5P/O/9b/1v/S/9L/0v/g/9YAAAAAAAD/0gDI/+gAAP/O/8L/xgAA/8L/5AAA/9T/1v/S/9r/zP/M/+D/1gABAAMACwA+AF4AAgADAAsACwADAD4APgACAF4AXgABAAIAjgATABMAFQAkACQAAQAmACYAAwAqACoAAwAtAC0ABAAyADIAAwA0ADQAAwA2ADYABQA4ADgABgBEAEQABwBGAEYACABHAEcACQBIAEgACwBJAEkADQBMAEwACgBQAFEADABSAFIACwBVAFUADABWAFYADgBXAFcADwBYAFgAEABZAFkAEgBaAFoAEwBcAFwAFABdAF0AEQCBAIYAAQCHAIcAAgCIAIgAAwCTAJcAAwCZAJkAAwCaAJ0ABgCgAKAADQChAKcABwCoAKgACACpAKwACwCtALAACgCxALEACwCyALIADACzALcACwC5ALkACwC6AL0AEAC+AL4AFADAAMAAFADBAMEAAQDCAMIABwDDAMMAAQDEAMQABwDFAMUAAQDGAMYABwDHAMcAAwDIAMgACADJAMkAAwDKAMoACADLAMsAAwDMAMwACADNAM0AAwDOAM4ACADQANAACQDSANIACQDUANQACwDWANYACwDYANgACwDaANoACwDcANwACwDdAN0AAwDfAN8AAwDhAOEAAwDjAOMAAwDqAOoACgDsAOwACgDuAO4ACgDwAPAACgDyAPIACgD0APQACgD1APUABAD5APkADAEFAQUADAEHAQcADAEJAQkADAEMAQwADAENAQ0AAwEOAQ4ACwEPAQ8AAwEQARAACwERAREAAwESARIACwETARMAAwEUARQACwEW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AAUAIwAJAAkAEQAKAAoAIwAPAA8AFAAQABAAGAARABEAFAASABIAKAATABMAMAAjACMAEgAkACQAAQAlACUAAwAmACYABAAnACkAAwAqACoABAArACwAAwAtAC0ABgAuAC8AAwAwADAABwAxADEABQAyADIABAAzADMAAwA0ADQABAA1ADUAAwA2ADYACAA3ADcACQA4ADgACgA5ADkACwA6ADoADAA7ADsADQA8ADwADgA9AD0ADwBEAEQAEABGAEYAEwBHAEcAFQBIAEgAFwBJAEkAGgBKAEoAHABLAEsAHgBMAEwAFgBNAE0AHwBOAE4AHgBPAE8AIABQAFEAGQBSAFIAFwBTAFMAIQBUAFQAIgBVAFUAGQBWAFYAJgBXAFcAKQBYAFgAKgBZAFkALABaAFoALQBbAFsALgBcAFwALwBdAF0AKwBsAGwAHQCBAIYAAQCHAIcAAgCIAIgABACJAJEAAwCSAJIABQCTAJcABACZAJkABACaAJ0ACgCeAJ4ADgCfAJ8AAwCgAKAAGgChAKcAEACoAKgAEwCpAKwAFwCtALAAFgCxALEAFwCyALIAGQCzALcAFwC5ALkAFwC6AL0AKgC+AL4ALwDAAMAALwDBAMEAAQDCAMIAEADDAMMAAQDEAMQAEADFAMUAAQDGAMYAEADHAMcABADIAMgAEwDJAMkABADKAMoAEwDLAMsABADMAMwAEwDNAM0ABADOAM4AEwDPAM8AAwDQANAAFQDRANEAAwDSANIAFQDTANMAAwDUANQAFwDVANUAAwDWANYAFwDXANcAAwDYANgAFwDZANkAAwDaANoAFwDbANsAAwDcANwAFwDdAN0ABADeAN4AHADfAN8ABADgAOAAHADhAOEABADiAOIAHADjAOMABADkAOQAHADlAOUAAwDmAOYAHgDnAOcAAwDoAOgAHgDpAOkAAwDqAOoAFgDrAOsAAwDsAOwAFgDtAO0AAwDuAO4AFgDvAO8AAwDwAPAAFgDxAPEAAwDyAPIAFgDzAPMAAwD0APQAFgD1APUABgD2APYAHwD3APcAAwD4APgAHgD5APkAGQD6APoAAwD7APsAIAD8APwAAwD9AP0AIAD+AP4AAwD/AP8AIAEAAQAAAwEBAQEAIAECAQIAAwEDAQMAIAEEAQQABQEFAQUAGQEGAQYABQEHAQcAGQEIAQgABQEJAQkAGQELAQsABQEMAQwAGQENAQ0ABAEOAQ4AFwEPAQ8ABAEQARAAFwERAREABAESARIAFwETARMABAEUARQAFwEVARUAAwEWARYAGQEXARcAAwEYARgAGQEZARkAAwEaARoAGQEbARsACAEcARwAJgEdAR0ACAEeAR4AJgEfAR8ACAEgASAAJgEhASEACAEiASIAJgEjASMACQEkASQAKQElASUACQEmASYAKQEnAScACQEoASgAKQEpASkACgEqASoAKgErASsACgEsASwAKgEtAS0ACgEuAS4AKgEvAS8ACgEwATAAKgExATEACgEyATIAKgEzATMACgE0ATQAKgE1ATUADAE2ATYALQE3ATcADgE4ATgALwE5ATkADgE6AToADwE7ATsAKwE8ATwADwE9AT0AKwE+AT4ADwE/AT8AKwFAAUAAGgFDAUMAHwKqAqoAAwKsAqwAAwKtAq0AFQKuAq4AAwKvAq8AFQKwArAAAwKxArEAFQKyArIAAwKzArMAFQK0ArQAAwK1ArUAGgK2ArYAAwK3ArcAHgK4ArgAAwK5ArkAHgK6AroAAwK7ArsAHgK8ArwABwK9Ar0AGQK+Ar4AAwK/Ar8AIQLAAsAACALBAsEAJgLCAsIACALDAsMAJgLEAsQACQLFAsUAKQLGAsYACQLHAscAKQLIAsgACQLJAskAKQLKAsoADALLAssALQLMAswADALNAs0ALQLOAs4ADALPAs8ALQLQAtAADwLRAtEAKwLSAtIAHgLTAtMAKQLUAtQADgLVAtUALwLpAusAGALsAuwAJALtAu0AJQLuAu4AFALwAvAAJALxAvEAJQLyAvIAFAL4AvgAFAMFAwUAHQMPAxMAGhmcGaMAGhmwGbAAMBm0GbQAGxm2GbYAJwACCUAABAAACn4NoAAcACoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9AAAAAD/1AAAAAD/agAAAAAAAP+yAAD/2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5gAAAAAAAAAAAAAAAAAAAAAAAAAA/+r/6gAA/+oAAAAA/+T/9AAAAAD/0gAAAAD/UgAAAAAAAP++AAD/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/k/9YAAAAAAAD/0AAAAAD/QgAAAAD/6v+0AAD/ygAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xAAAAAD/zP/M/9AAAAAAAAAAAAAA/+7/7v/O/+4AAAAA/9r/7gAAAAD/2AAAAAD/UAAAAAAAAP/SAAD/2AAAAAD/+AAA/9oAAAAAAAAAAAAAAAD/3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9AAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAD/2AAAAAD/6AAAAAAAAP/qAAD/4gAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6P/o/+oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAAAAAAAAD/7P/u//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgAAAAAAdgAAAAAAAAAAAAAAEP/gAAD/4P/q/8r/+P/aAAAAAAAAAAAAJv/iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7P/a/4j/zP+A/6D/bAAAAAAAAP+sAAD/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6gAAAAD/7P/u/+7/7AAAAAAAAAAA/+b/5gAA/+YAAAAA//AAAAAAAAD/6AAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAD/yAAAAAD/1gAAAAD/bgAAAAAAAP/iAAAAAP+kAAD/qP+o/6r/8P/MAAAAAAAAAAAAAP+uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAD/4gAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/9gAA//QAAAAAAAAAAAAAAAD/5AAAAAD/bgAAAAAAAP/cAAAAAP/4AAD/+AAA/+YAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3P/c/94AAAAAAAAAAAAAAAAAAAAAAAAAAP/s/9gAAAAAAAD/zgAAAAD/QgAAAAD/8P+w/+z/yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wgAAAAD/4v/i/+IAAAAAAAAAAAAA/+r/7P/Q/+oAAP/i/9YAAAAAAAD/zgAAAAD/QAAAAAAAAP+y/+r/xgAAAAAAAAAAAAAAAAAA//gAAP/4AAD/wAAAAAD/5v/m/+YAAAAAAAAAAAAA/+7/7v/O//AAAAAA/+oAAAAAAAD/3AAAAAD/bgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/Q/94AAAAAAAD/4gAAAAD/YgAA/+AAAP/YAAD/0v/w/+j/8P/4/9AAAAAAAAAAAAAAAAD/zv/wAAAAAAAAAAAAAAAA/+wAAAAAAAAAAAAAAAAAAAAA/+gAAAAAAAD/ygAAAAD/agAAAAAAAP/AAAD/zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7AAAAAD/lgAAAAAAAP/iAAD/3gAAAAAAAAAA/9oAAP/YAAAAAAAAAAD/5gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAD/1AAAAAD/egAAAAAAAP+8AAD/1AAAAAAAAAAA/+4AAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAAAAD/zgAAAAD/XgAAAAAAAP/MAAD/0AAAAAAAAAAA/94AAP/mAAAAAAAAAAD/1gAAAAAAAAAAAAAAAAAAAAAAAAAA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AAMCrAKsAAMCrQKtABACrgKuAAMCrwKvABACsAKwAAMCsQKxABACsgKyAAMCswKzABACtAK0AAMCtgK2AAMCuAK4AAMCugK6AAMCvAK8AAYCvgK+AAMCxALEAAcCxgLGAAcCyALIAAcCygLKAAoCzALMAAoCzgLOAAoC1ALUAAwC7gLuAA8C8gLyAA8C+AL4AA8ZsBmwABQAAwAJAAEACAABBCIBBwAABLAAAASwAAAEsAAABLAAAASwAAAEtgAABLYAAAS2AAAEtgAABLYAAAS2AAAEtgAABLwAAAS8AAAEvAAABLwAAAS8AAAEvAAABLwAAAS8AAAEvAAABLwAAAS8AAAEwgAABMgAAATIAAAEyAAABMgAAATIAAAEyAAABMgAAATIAAAEyAAABMgAAATIAAAEyAAABMgAAATIAAAEyAAABMgAAATIAAAEyATOAAAAAATUAAAE1AAABNQAAATUAAAE1AAABNQAAATUAAAE1AAABNQAAATUAAAE1AAABNoAAATaAAAE2gAABNoAAATaAAAE2gAABNoAAATgAAAE4AAABOAAAATgAAAE4AAABOAE5gAABOYAAATmAAAE7AAABOwAAATsAAAE7AAABOwAAATsAAAE7AAABOwAAATsAAAE7AAABOwAAATsAAAE7AAABOwAAATsAAAE7AAABOwAAAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVABPIAAATyAAAE8gAABPIAAATyAAAE8gAABPIAAATyAAAE8gAABPIAAATyAAAE8gAABPIAAATyAAAE8gAABPIAAATyAAAAAAT4AAAE+AAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAE/gAABP4AAAT+AAAE/gAABP4AAAT+AAAE/gAABQQAAAUuAAAFLgAABS4AAAUuAAAFLgAABS4AAAU0AAAFNAAABTQAAAU0AAAFNAAA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JVQ1RCzyLPIlWiVgJWYlZiVmJWYlZiVmKuIq4iriKuIq4iriKuIz1jPWM9Yz1jPWM9Yz1ixoJWwleCVyLGgsaCxoLGgsaCxoJXgsaCxoJX4saCWEJYosaCxoJZAlljYoNig2KDYoNig2KDYoJaI2KDYoNig2KDYoNig2KDYoJaIlqDYoNig2KDYoJZwlnDYoNig2KDYoNig2KDYoNig2KDYoJaIlqDYoNig2KCWuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuJbQ2LjYuJbo2LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuNi42LjYuJbo2LjYuNi41vDW8Nbw1vDW8Nbw1vDW8Nbw1vDW8Nbw1vDW8JcwlwCXMJcwlzCXMJcwlxiXMM9Yl0jPWM9Yz1jPWM9Yz1jPWM9Yl2DPWM9Yl6iXeJeol6iXqJeol6iXqJeol6iXkJeol6iYUJhQmFCXwJhQl8CYUJhQl9iX8JgImCCYaJg4mDiYUJhomLCYsJiwmLCYsJiwmLCYsJiwmICYsJiwmLCYmJiwmLCYsNB40HjQeNB40HjQeNB40HjQeJjI0HjQeNB4mODQeNB40HjPQJj4mRDPQM9A2TDZMNkw2TCZcJko1kiZQNZImXCZWJlY1kjWSNZI1kiZcJlwmXCZcJlwmXCfEJ8QnxCfEJ8QnxCfEJ8QnxCfEJ8QnxCfEJ8QnxCfEJ8QnxCZiJmImYiZiJmImYiZiJmImYiZiJmImYiZiJmImYiZiJmImYi+ML4wvjC+GL4wvjC2OLY4tji2OLY4tjiiKKIooiiiKKIooijWMNYw1jDZMNkw2TDW8Nbw1vCZ0JmgmdCZ0JnQmdCZuJnQmdDQeNB40HjQeNbw1vDW8JoAmeiaANbw1vDW8Nbw1vDW8Nbw1vDW8Nbw1jDWMNYw1jDWMNYw1jDWMNYw1jDWSNZI1kjWSNZImhiaGJoYmhiaGJoYmhiaGJoYmhiaGNB40HjQeNB40HjQeNB40HjQeNB40HiaMJowmjCaMJowmjCaMJowmjCaSJpI1kjWSNZI1vDW8NbwpnimeKZ41vDW8Nbw1vDW8Nbw1vDW8Nbw1vDWMNbw1vDW8NbwmmCaeJrYmtia2JrYmtiakJrYmtia2JrYmtiaqJrAmtimeKZ4pnimeKZ4pninsJrw2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDZMNkw2TCbIJsImyDZMNkw2TDZMNkw2TDZMNkw2TDZMNl42XjZeNl42XjZeLOws7CzsLOws7CzsLOws7CzsLOwmzizsLOws7CzsJtQm1CbUJtQm1CbUJvIm2ibgJvIm8ibyJvIm5ibmJvIm7CbyJvIm+Cb+JxYnFicWJxYnFicEJxYnFicWJxYnFicKJxAnFjZeNl42XjZeNl42XjW8Nbw1vDW8Nbw1vDPWM9Yz1jPWM9Yz1jPWM9Yz1iccM9Yz1jPWJyIz1jPWM9YnKCcuNjopnic0KZ4pnjY6NjonUimeKZ4nOjY6KZ4pnidAKZ4nUidYJ0wpnidMKZ4nRidGKZ4pnjY6KZ4pnidMKZ4pnimeNjonUidYKZ42OjY6J14nZCdkJ2QnZCdkNnY2djZ2NnY2djZ2J2oncDZANkA2QDZANkA2QDZAJ4I2QDZANkA2QDZANkAndjZAJ4IniDZANkA2QDZAJ3wnfDZANkA2QDZANkA2QDZANkA2QDZAJ4IniDZANkA2QDZeJ440WjZGNkY2RjZGNkY2RjZGJ6A2RjZGNkY2RjZGNkYnlDZGJ6AnpjZGNkY2RjZGJ5onmjZGNkY2RjZGNkY2RjZGNkY2RjZGJ6AnpjZGNkY2RjW8Nbw1vDW8J6w1vDW8Nbw1vDW8Nbw1vDW8NbwnsjZMNkw2TDZMNkw2TDZMNkw2TDZMNkw2TDZMNkw2TCe4Nkw2TCe+Nkw2TDZMNkw2TDZMNkw2TDZMNkw2TDZMNkw2TDZMNkw2TCe+Nkw2TDZMJ8Qn1ifWJ9Yn1ifWJ9Yn1ifWJ9YnyifWJ9Yn1ifQJ9Yn1ifWJ9w2UjZSNlI2UjZSNlI2UjZSNlI2UjZSNlI2UjZSNlI2UjZSNlI2UjZSNlI2UjZSNlI2UjZSNlI2UjZSNlI2UjZSNlI2UjZSNlI2UjZSNlI2UifiJ+g2WCgSJ+4oEigSNlg2WCgGKBIoEif0NlgoEigSJ/ooEigGKAwoEigSKBIoEigAKAAoEigSNlgoEigSKBIoEigSKBI2WCgGKAwoEjZYNlgoGCgeKDYoNig2KDYoNigkKDYoNig2KDYoNigqKDAoNi8aLxovGjKeLxovGig8KEIoWihaKFooWihaKEgoWihaKFooWihaKE4oVChaM9Yz1jPWM9Yz1jPWM9Yz1jPWM9Yz1jPWM9Yz1jPWM9Yz1jPWKGA2XjZeNl42XjZeNl42XjZeNl42XjZeNl42XjZeNl42XjZeNl4oZjZeNl42XjZeNl42XjZeNl42XjZeNl42XjZeNl42XjZeNl4oZjZeNl42Xi90L3QvdC90L3QvdC90KGwobChsKGwobChsKH4oeDPQKHIoeCh4KHgofi2gLaAtoC2gLaAtoCjGKMYoxijGKMYoxijGKMYoxijGKMYoxijGKIQoxijGKMYoiiiQNmQ2ZDZkNmQ2ZDZkNmQ2ZDZkNmQ2ZDZkNmQ2ZDZkKJY2ZDZkNmQ2ZDZkNmQ2ZDZkNmQ2ZDZkNmQ2ZDZkNmQ2ZDZkNmQ2ZDZkNmQ2ZDZkNmQ2TDZMNkw2TDZMNkw2TCicKUQpRCiiKK4oqCiuKUQpRClEKUQpRClEKUQpRClEKUQotCi0KLQotCi0KLQotCi0KLQotCi0KLQotCjGKMYoxijGKMYoxijGKMYoxii6KMYoxijGKMAoxijGKMYo2CjYKNgo2CjYKNgo2CjYKNgozCjYKNgo2CjSKNgo2CjYL3QvdC90L3QvdC90LsYuxi7GLsYo3ijeKN4o3ijeKN4o3ijeKN4o5CjkKOoo8DZqNmo2ajZqNmo2ajZqNmo2ajZqNmo2ajZqNmo2aij2Nmo2ajZqNmo2ajZqNmo2ajZqNmo2ajZqNmo2ajZqNmo2ajZqNmo2ajZqNmo2ajZqNAwo/DQMNAw0DDQMKQI0DDQMNB40HjQeNB40HjQeNB40HjQeNB40HjQeNB40HjQeNB40HjQeK34pCDZwNnA2cDZwNnA2cDZwNnA2cDZwNnA2cDZwNnA2cDZwNnA2cDZwNnA2cDZwNnA2cDZwNnA2cDZwNnA2cDZwNnA2cDZwNnA2cDZwNnA2cDZwNAw0DDQMNAw0DDQMNAw0DDQMNAw0DCkOLCw2QDZANkA2QDZANkA2QCkgNkA2QDZANkA2QDZAKRQ2QCkgKSY2QDZANkA2QCkaKRo2QDZANnY2QDZANkA2QDZANkA2QCkgKSY2QDZANkArfit+K34pMiksKTIrfit+K34rfit+K34rfit+K34rfjZMNkw2TDZMNkw2TDZMNkw2TDZMNkw2TDZMNkw2TDZMNkw2TClEKUQpRCk+KTgpPilEKUQpRClEKUQpRClEKUQpRClEKUopSilKKUopSilKNl42XilQKVwpXClcKVwpXClcKVwpXClcKVwpXClcKVwpVilcKVwpXCliKWg2fDZ8Nnw2fDZ8Nnw2fCl6Nnw2fDZ8Nnw2fDZ8KW42fCl6KYA2fDZ8Nnw2fCl0KXQ2fDZ8Nnw2fDZ8Nnw2fDZ8Nnw2fCl6KYA2fDZ8Nnw2ZCmGKYYphimGKYYphimGKYYphimGKYYpjCmMKYwpjCmMKYwpjCmMKYwpjCmMKYwpjCmMKYwpjCmMKYwpnimeKZ4pmCmSKZgpnimeKZ4pnimeKZ4pnimeKZ4pni5sLmwubC5sLmwubC5sNbw1vDW8Nbw1vDW8Nbw1vDW8Nbw1vDW8Nbw1vDW8Nbw1vDW8KaQpqinCKcIpwinCKcIpsCnCKcIpwinCKcIptim8KcIpyCnIKcgpyCnIKcgpzingKeAp4CngKeAp4CngKeAp4CnUKeAp4CngKdop4CngKeAvdC90L3QvdC90L3Qp+CnyKeYp7CnyKfIp8in4LxovGi8aLxovGi8aNtA20DbQKf42gjaCNoI2gjaCNoI2gjaCNoI2gjaCNoI2gjaCNoI2gjaCNoI2gjaCNoI2gjaCNoI2gjaCNoI2gjaCNoI2gjaCNoI2gjaCNoI2gjaCNoI2gioEKgo2iDaINog2iDaINog2iCocNog2iDaINog2iDaIKhA2iCocKiI2iDaINog2iCoWKhY2iDaINog2iDaINog2iDaINog2iCocKiI2iDaINogqNCo0KjQqNCo0KjQqNCo0KjQqKCo0KjQqNCouKjQqNCo0Kjo2jjaONo42jjaONo42jjaONo42jjaONo42jjaONo42jjaONo42jjaONo42jjaONo42jjaONo42jjaONo42jjaONo42jjaONo42jjaONo42jjPcKkAqRjaUNpQ2lDaUNpQ2lDaUKlI2lDaUNpQ2lDaUNpQ2lDaUKlIqWDaUNpQ2lDaUKkwqTDaUNpQ2lDaUNpQ2lDaUNpQ2lDaUKlIqWDaUNpQ2lCqCKl4qaipkKoIqgiqCKoIqgiqCKmoqgiqCKnAqgip2KnwqgiqCKog2mjaaNpo2mjaaNpo2mjaaNpo2mjaaNpo2mjaaNpo2mjaaNpo2mjaaNpo2mjaaNpo2mjaaNpo2mjaaNpo2mjaaNpo2mjaaNpo2mjaaNpo2miqONqA2oDagNqA2oDagNqA2oCqgNqA2oDagNqA2oDagKpQ2oCqgKqY2oDagNqA2oCqaKpo2oDagNqA2oDagNqA2oDagNqA2oCqgKqY2oDagNqAvdDZ2NnY2djZ2NnY2djZ2NnY2djZ2NnY2djZ2NnY2djZ2NnY2diqsNqY2pjamNqY2pjamNqY2pjamNqY2pjamNqY2pjamNqY2pjamKrI2pjamNqY2pjamNqY2pjamNqY2pjamNqY2pjamNqY2pjamKrI2pjamNqYquDasNqw2rDasNqw2rDasNqwqyjasNqw2rDasNqw2rCq+NqwqyirQNqw2rDasNqwqxCrENqw2rDasNqw2rDasNqw2rDasNqwqyirQNqw2rDasKuIq1iriKuIq4iriKtwq4iriKvQq9Cr0KvQq9Cr0KvQq9Cr0Kugq9Cr0KvQq7ir0KvQq9DZMNkw2TCr6MaIq+jZMNkw2TDZMNkw2TDZMNkw2TDZMKwArAC/UL9Qv1C/UL9Qv1CwsLCwsLCsMKwYrDCwsLCwsLCwsLCwsLCwsLCwsLCwsKxIrEisSKxIrEiskKyQrJCskKyQrJCskKyQrJCsYKyQrJCskKx4rJCskKyQrKiswNrIrWis2K1orWjayNrIrTitaK1orPDayK1orWitCK1orTitUK1orWitaK1orSCtIK1orWjayK1orWitaK1orWitaNrIrTitUK1o2sjayK4QriiuiK6IroiuiK6IrkCuiK6IroiuiK6IrliucK6I2uDa4Nrg2uDa4Nrg2uDa4NrgrZja4Nrg2uDa4Nrg2uDa4NrgrZitsNrg2uDa4NrgrYCtgNrg2uDa4Nrg2uDa4Nrg2uDa4NrgrZitsNrg2uDa4M9Yz1jPWM9Yz1jPWM9Yz1jPWM9Yz1it+K34rfit4K3IreCt+K34rfit+K34rfit+K34rfit+K4QriiuiK6IroiuiK6IrkCuiK6IroiuiK6IrliucK6IrqDa+Nr42vja+Nr42vja+Nr42vja+Nr42vja+Nr42vja+Nr42vja+Nr42vja+Nr42vja+Nr42vja+Nr42vja+Nr42vja+Nr42vja+Nr42vja+K642xDbENsQ2xDbENsQ2xDbENsQ2xDbENsQ2xDbENsQrtDbENsQrujbENsQ2xDbENsQ2xDbENsQ2xDbENsQ2xDbENsQ2xDbENsQrujbENsQ2xCvANso2yjbKNso2yjbKNso2yjbKNso2yjbKNso2yjbKNso2yjbKNso2yjbKNso2yjbKNso2yjbKNso2yjbKNso2yjbKNso2yjbKNso2yjbKNsovDi8OLw4vDi8OLw4vDi8OLw4rxi8OLw4vDivMLw4vDi8OLVgtWC1YK9ItWC0uLVgtWCvYLTor3i1SK+QtTCvqLVgr8C+AL4AvgCv2L4AvgCv8K/wr/Cv8K/wr/Cv8NB40HjQeNB40HjQeNB40HjQeLAI0HjQeLBQsCCwONB4sFCwmLCYsJiwmLCYsJiwmLCYsJiwaLCYsJiwmLCAsJiwmLCYvdC90L3QvdC90L3QvdC90L3QvdC90LCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLDI20DbQNtA20DbQNtA20DbQNtA20DbQNtA20DbQNtAsODbQNtAsPjbQNtA20DbQNtA20DbQNtA20DbQNtA20DbQNtA20DbQNtAsPjbQNtA20CxELEo21jbWNtY21jbWNtY21ixcNtY21jbWNtY21jbWLFA21ixcLGI21jbWNtY21ixWLFY21jbWNtY21jbWNtY21jbWNtY21ixcLGI21jbWNtYsaCxoLGgsaCxoLGgsaCxoLGgsbixuLHQseiyANtwsniywLLAssDbcNtwspCywLLAshjbcLLAssCyMLLAspCyqLJ4ssCyeLLAskiyYLLAssDbcLLAssCyeLLAssCyeNtwspCyqLLA23DbcLNQs1CzULMIs1C36LNQs1Cy8LLYsvCzCLNosyCzOLNQs2izsLOws7CzsLOws7CzsLOws7CzgLOws7CzsLOYs7CzsLOws8i1kLWQtZC1kLWQs+C1kLWQtZC1kLP4tBC0KLRAtIi0WLRwtZC0iLWQtZC1kLWQtZC1kLWQtWC1YLVgtKC1YLS4tWC1YLTQtOi1ALUYtXi1MLVItWC1eLWQtai1qLWotai1qLWotai1qLWotai1qLWotai1qLWotai1qLWotfC12LXwtcC18LXwtfC18LXwtfC18LXYtfC18LXwtfC18LXwtgi2CLYItgi2CLYItgi2CLYItgi2CLYItgi2CLYItgi2CLYI2lDaUNpQ2lDaUNpQ2TDZMNkw2TDZMNkwtiC2ILYgtiC2ILYgtiC2ILYgtiC2ILYgtiC2ILYgtiC2ILYgvmC+YL5gvki+YL5g20DbQNtAvnjbQNtAtji2OLY4tji2OLY4vjC+ML4wvhi+ML4wtmi90NqY2pi2UL3QvdC2aLaAtoC2gLaAtoC2gLaAtoC2gLaAtoC2gLaAtoC2gLaAtoC2gNYw1jDWMNYw1jDWMNYw1jDWMNYw1jDWMNYw1jDWMNYw1jDWMNpQ2lDaUNpQ2lDaUNpQtrC2sLawtpi2sLawtvi90N3gtsi24L3QvdC2+NkwtyjZMLcQ2TDZMNkw2TDZMNkw2TC3KNkw2TDZMNkw2TDZMLdAt0C3QLdAt0C3QLdAt0C3QLdAt0C3QLdAt0C3QLdAt0C3QNkw2TDZMNkw2TC3cLdwt3C3cLdYt3C3cLdwt3C3cLdwt3C3cLdw2ZDZkNmQt4jZkNmQt7i3uLe4t6C3uLe42TDZMNkw2TDZMLfot+i36Lfot9C36Lfot+i36Lfot+i36Lfot+jW8Nbw1vDW8Nbw1vDW8Nbw1vDW8Nbw1vDW8Nbw1vDW8Nbw1vDZMNkw2TDZMNkw2TDZMNkw2TDZMNkw2TDZMNkw2TDZMNkw2TC4ALgAuAC4ALgAuAC4ANmQz1jPWNmQ2ZDZkNmQz1jPWNmQz1jZkNmQuEi4SLhIuEi4SLhIuEi4SLhIuBi4SLhIuEi4MLhIuEi4SNbw1vDZMLhguGC4YLhguGC4YLhguGC4YLhguGC4eLh4uHi4eLh4uJC4qM9YuNjPWLjAz1jPWM9Yz1jPWM9Yz1i42M9Yz1jPWM9Yz1jPWLjwuQjbiNuI24jbiNuI24jbiLlQ24jbiNuI24jbiNuIuSDbiLlQuWjbiNuI24jbiLk4uTjbiNuI24jbiNuI24jbiNuI24jbiLlQuWjbiNuI24i5gLmAuYC5gLmAuYC5gLmAuYC5gLmAuYC5gLmAuYC5gLmA0HjQeNB4uZi5mLmYuZi5mLmYuZi5mLmYuZi5mLmYuZi5sLmwubC5sLmwubC5sNi42LjYuLnI2LjYuLngueC5+LoQunC6cLpwunC6cLoounC6cLpwunC6cLpAuli6cLqIuoi6iLqIuoi6iLqIuoi6iLqIuoi6iLqIuoi6iLqIuoi6iLq4uri6uLqguri6uLrQ26DboNug26DboNug26DboNug26DboNug26DboNuguujboNuguwDboNug26DboNug26DboNug26DboNug26DboNug26DboNuguwDboNug26C7GM9YuzC7SNu4vAi7YLwIvAjbuNu4u9i8CLwIu3jbuLwIvAi7kLwIu9i78LvAvAi7wLwIu6i7qLwIvAjbuLwIvAi7wLwIvAi8CNu4u9i78LwI27jbuLwgvDi8gLxoz4i8UM+IvGi8aLyAvJjb0NvQ29Db0NvQ29Db0NvQ29Db0NvQ29Db0NvQ29C8sNvQ29C8yNvQ29Db0NvQ29Db0NvQ29Db0NvQ29Db0NvQ29Db0NvQ29C8yNvQ29Db0Lzg2+jb6Nvo2+jb6Nvo2+jb6L0o2+jb6Nvo2+jb6NvovPjb6L0ovUDb6Nvo2+jb6L0QvRDb6Nvo2+jb6Nvo2+jb6Nvo2+jb6L0ovUDb6Nvo2+jZeNl42TDZMM/Qz9DP0L1Yz9DP0L1wvXC9cL1wvXC9iNig2KDYoNig2KDYoL3ovei96L3ovei96L2gvaC9oL2gvaC9oL2gvaC9oL2gvaC9oL2gvaC9oL2gvaC9oL4wvjC+ML4YvjC+ML3QvdC90L24vdC90L3ovei96L3ovei96Nig2KDYoNig2KDYoL4AvgC+AL4AvgC+AL4AvgC+AL4AvgC+AL4AvgC+AL4AvgC+AL4wvjC+ML4YvjC+MNkw2TDZMNkw2TDZML5gvmC+YL5IvmC+YNtA20DbQL5420DbQNkw2TDZMNkw2TDZML5gvmC+YL5IvmC+YNtA20DbQL5420DbQL7Yvti+2L7Yvti+2L7Yvti+2L6Qvti+2L7wvqi+wL7YvvC/UL9Qv1C/UL9Qv1C/UL9Qv1C/CL9Qv1C/aL8gvzi/UL9ov4C/mL+wv8i/yL/gwHDAcMCIwFjcANwAv/jcANwA3ADcANwAwFjAEMAowCjAQNwAwFjAcMCIwKDBMMEwwUjBGNwY3BjAuNwY3BjcGNwY3BjBGMDQwOjA6MEA3BjBGMEwwUjBYMHwwfDCCMHY3DDcMMF43DDcMNww3DDcMMHYwZDBqMGowcDcMMHYwfDCCMIgwmjCaMtQyyDcSNxIysDcSNxI3EjcSNxIyyDCOMJQwlDLCNxIyyDCaMtQwoDDEMMQwyjC+Nxg3GDCmNxg3GDcYNxg3GDC+MKwwsjCyMLg3GDC+MMQwyjDQMPQw9DFCMO43HjceMNY3HjceNx43HjceMO4w3DDiMOIw6DceMO4w9DFCMPoxHjEeMSQxGDckNyQxADckNyQ3JDckNyQxGDEGMQwxDDESNyQxGDEeMSQxKjFOMU4xVDFINyo3KjEwNyo3KjcqNyo3KjFIMTYxPDE8MUI3KjFIMU4xVDFaMX4xfjGEMXg3MDcwMWA3MDcwNzA3MDcwMXgxZjFsMWwxcjcwMXgxfjGEMYoxrjGuMbQxqDc2NzYxkDc2NzY3Njc2NzYxqDGWMZwxnDGiNzYxqDGuMbQxujHeMd4x5DHYNzw3PDHANzw3PDc8Nzw3PDHYMcYxzDHMMdI3PDHYMd4x5DHqMg4yDjIUMgg3QjdCMfA3QjdCN0I3QjdCMggx9jH8MfwyAjdCMggyDjIUMhoyPjI+MkQyODdIN0gyIDdIN0g3SDdIN0gyODImMiwyLDIyN0gyODI+MkQySjJuMm4ydDJoN043TjJQN043TjdON043TjJoMlYyXDJcMmI3TjJoMm4ydDJ6Mp4ynjKkMpg3VDdUMoA3VDdUN1Q3VDdUMpgyhjKMMowykjdUMpgynjKkMqoyzjLOMtQyyDdaN1oysDdaN1o3WjdaN1oyyDK2MrwyvDLCN1oyyDLOMtQy2jL+Mv4zBDL4N2A3YDLgN2A3YDdgN2A3YDL4MuYy7DLsMvI3YDL4Mv4zBDMKMy4zLjM0Myg3ZjdmMxA3ZjdmN2Y3ZjdmMygzFjMcMxwzIjdmMygzLjM0MzozXjNeM2QzWDdsN2wzQDdsN2w3bDdsN2wzWDNGM0wzTDNSN2wzWDNeM2QzajNwM7gzdjN8M4IziDOOM5QzmjOgM6YzrDOyM7gzvjPEM8oz0DPQM9Az1jPWM9Yz3DQeNB40HjPiNB40HjQeNB40HjQeNB40HjQeNB40HjWMNYw1jDWMNYw1vDW8Nbwz6DPoM+gz6DPoM+gz6DPoM+gz6DPoM+4z7jPuM+4z7jdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3Iz9DP0M/Q3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjdyN3I3cjP0M/Qz9DQeNB40HjQANAA0ADQANAA0ADQANAA0ADP6NAA0ADQANAA0ADQANAA0BjQGNAY0BjQGNAY0BjQeNB41jDWMNYw2TDZMNAw0DDZMNkw0EjQSNBg0GDQeNCQ0KjQwNjQ0NjQ8NEI0SDZSNE40VDRaNGA2cDRmNGw2gjRyNo40eDR+Npo0hDSKNJA0ljScNr40ojbKNKg0rjS0NLo0wDTGNMw00jTYNN405DUsNOo08DT2NPw1AjUINQ41FDUaNSA1JjUsNTI1ODU+N3I1RDVoNUo3eDd4N3g3eDd4N3g3eDVWN3g3eDYcN3g3eDd4Nhw3eDVWNVw3eDd4N3g3eDVQNVA3eDd4N3g3eDd4N3g3eDd4N3g3eDVWNVw3eDd4N3g1YjWANYA1hjV6N343fjVoN343fjd+N343fjV6NW41dDV0NiI3fjV6NYA1hjWMNZI1jDWSNYw1kjWMNZI1jDWSNYw1kjWMNZI1jDWSNYw1kjWMNZI1jDWSNYw1kjWYNZ43hDeEN4Q3hDeEN4Q3hDWwN4Q3hDWkN4Q3hDeEN4Q3hDWwNbY3hDeEN4Q3hDWqNao3hDeEN4Q3hDeEN4Q3hDeEN4Q3hDWwNbY3hDeEN4Q1vDW8Nbw1wjXINc43ijeKN4o3ijeKN4o3ijXgN4o3ijXUN4o3ijeKN4o3ijXgNeY3ijeKN4o3ijXaNdo3ijeKN4o3ijeKN4o3ijeKN4o3ijXgNeY3ijeKN4o17DXyNgQ1+DX+NgQ2BDYWNgo2EDYWNhw2IjYiNig2KDYuNi42NDY0Njo2OjZANkA2RjZGNkw2TDZSNlI2WDZYNl42XjZkNmQ2ajZqNnA2cDZ2NnY2fDZ8NoI2gjaINog2jjaONpQ2lDaaNpo2oDagNqY2pjasNqw2sjayNrg2uDa+Nr42xDbENso2yjbQNtA21jbWNtw23DbiNuI26DboNu427jb0NvQ2+jb6NwA3ADcGNwY3DDcMNxI3EjcYNxg3HjceNyQ3JDcqNyo3MDcwNzY3Njc8Nzw3QjdCN0g3SDdON043VDdUN1o3WjdgN2A3ZjdmN2w3bDdyN3I3eDd4N343fjeEN4Q3ijeKAAEC1/xzAAEBrgA8AAEBE/9CAAEC6/xVAAEBSv1EAAEA+v9CAAECxv1iAAEEEPz+AAEER/0jAAEEEfz+AAEDSPt+AAEDPvt+AAEAwv0OAAECTvzLAAEK/P1iAAEDDP0FAAEDdPt+AAEC//vJ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ABYBqAGpAasBrAGuAbEBtAG3AbgB0QI+AkkCjwKQApICmwKcAp8CqQdVF+UZFQAQAAAAQgAAAHIAAABIAAABLAAAATIAAABOAAAAYAAAAGAAAABUAAAAeAAAAFoAAABgAAAAZgAAAGwAAAByAAAAeAABAXQGaAABAZAG8AABAOQGaAABAcIG1gAB/84IngABAAAHngAB/9gIiQABAlgG1gABAiwGaAABAAAHTgAWAEwALgBeAGQANABwAHYAOgA6AHAAQABGAF4AZABMAFIAWABeAGQAagBwAHYAAQC7CHoAAQGaCAYAAQAABdwAAQFuCI4AAQC+CHoAAQEfCHoAAQEfCJgAAQCqCJgAAQEpB6MAAQGQCJgAAQAACMoAAf/OBb4AAQJnCaAABgAAAAEACAABAAwAFAABACAANgABAAICPwJBAAEABAHNB1UHVxkWAAIAAAAKAAAAEAABAcIIZgABAAAGegAEAAoAEAAWABYAAQD1CdgAAQAACWAAAf+wCS4ABgAAAAEACAABAAwAGAABADQAWAABAAQCSgdZGRcZGAABAAwBqgGtAa4BsgG8ApEClAKdAqEHWRkXGRgABAAAABIAAAAYAAAAHgAAAB4AAQLq/LYAAQAA/dUAAQAU/dUADAAsACYAGgAgACAAJgAsADIAOAA+AD4APgABAZUGaAABAAD7oAABASn8zQABAR/8hwABASn8hwAB/4L8/gAB/1b92gAGAAAAAQAIAAEADAAUAAEAGgAwAAEAAgGqAp0AAQABAbIAAgAAAAoAAAAQAAEB8/1iAAECnv3HAAEABAABAAD8GAAEAAAAAQAIAAEADAASAAEAGgAmAAEAAQI5AAEAAgeqCRYAAQAAAAYAAQH+CowAAgAGAAwAAQBkBkAAAQLkAyAABAAAAAEACAABAAwAEgABABgAJAABAAECQAABAAEJFgABAAAABgABAf7+cAABAAQAAQLk/nAABAAAAAEACAABAAwAEgABABgAJAABAAECRQABAAEQcgABAAAABgABASIGaAABAAQAAQBkA+gACAAAAAIACgAiAAMAAAABAFAAAQASAAEAAACEAAEAARkXAAMAAAABADgAAQASAAEAAACFAAEAARkYAAEAAAABAAgAAQAYAAIA0gABAAAAAQAIAAEACAACAV4AAQABAa4AAQAMAHYAAQGsAuwAAQAzAXUBdwF4AagBqQGrAawBrgGvAbABsQG0AbUBtgG3AbgBugG7Ac0B0QI8Aj0CPgI/AkECRAJIAkkCjwKQApICkwKVApYClwKbApwCngKfAqACogKjAqYCpwKoAqkHVwdYFxwZFRkWAAIAMwF9AX4AAAGAAZwAAgGeAacAHwHLAcwAKQHPAdAAKwHSAi8ALQIyAjIAiwJCAkMAjAJLAkwAjgJXAlkAkAJcAo4AkwYhBiEAxgYjBiMAxwcPBxEAyAedB50AyweqB60AzAevB7AA0AezC4oA0guMC44EqguQDb4ErQ3ADcIG3A3EEmQG3xJmEmgLgBJqEp8LgxKhEqMLuRKlFEYLvBRIFEoNXhRMFUQNYRVHFvsOWhb9FwIQDxceFx8QFRciFyQQFxcmFyYQGhcoFygQGxcsFzsQHBdCF0IQLBdEF0QQLRdGF1YQLhdYF1gQPxdbF1sQQBdeF64QQRezF9AQkhfSF9MQsBfVF9cQshfZF94QtRfhF+QQuxf+GDgQvxhRGFEQ+hhUGKoQ+xixGRQRUhkjGZoRtgAzAAAvjgAAAM4AADVqAAABBAAAKV4AAAE0AAABIgAAANQAAADsAAAxkgAAANoAAAE0AAAA7AAAATQAAADaAAAA2gAAASIAAAE0AAAA4AAAAOYAAADsAAAA7AAAAOwAAAEWAAAA8gAAARYAAAD4AAAA/gAAATQAAAEiAAABBAAAASIAADBUAAABCgAAARYAAAEQAAA0IAAAARYAAAE0AAABNAAAARYAAAEWAAA1WAAAL+gAAAEcAAABIgAAAToAAAEoAAABLgAAATQAAAE6AAEB+gZoAAEBqwZoAAEAAAO2AAEBiwZoAAH+cAO2AAEBdAZoAAEAAAZ6AAEAtQD6AAEA4AZoAAECEQZoAAEB4AZoAAEB8wZoAAEBQAZoAAEAHgZoAAECOgZoAAH/zgieAAH/2AiJAAECLAZoAAEAAAdOEi4k7iReJGQytiR2JGokdjPQJ6wz0DPQM6AzoDOgNBg0GDO4M7glxiXGJboluiSIJIg0KjQqJXIlciTuJO4k7iVgJJo0GDPKM7gkyiesLsYk7iTuM9AkmiRwJHYkfC7GMvgkgjPQM9Az0DPQM9Az0DPQM9AzoDOgM6AzoDOgM6AzoCS4NBg0GCS4NBg0GDQYNBg0GDO4M7gzuDO4M7gzuDO4M7gzuCXGJcYlxiW6JbokiDQqJWAlYCVgJI4lYCSUJJokmiVyJKA0GDQYNAw0GCVyJXIlciVyJXIlZiSmM8ozyjPKJMokyiTKJMokyjOgM6AnrCesJ6wnrC7GLsYuxi7GLsYuxi7GLsYk7iTuJO4uxiTuJO4zyiesJKwksjQYM7glxiW6NCozoDPQM9Az0DPQM9Az0DPQM6AzoCS4NBgzuCXGNCo0KjQqJWAlYCS+JMQlcjO4M7gkyiTQJNYzyjO4M7glxjOgM6Ak3CTiM6Ak6DJWJO4k7iTuLsYuxjPKM8ozoCXGJcY0GDPQJPQ0MCT6JQwlACUGJQww7iUSJRg0ACUeLpAzyjPKM8ozyjPKM8ozyjO4M7gzuDO4M7gzuDO4MBwwHDAcMBwwHDAcMBwz0DPQM9Az0DPQM9Az0DPQM9Az0DPQM9Az0DPQM9Az0DPQM9Az0DQ2NDY0NjQ2NDY0NiUkNDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0NjQ2NDY0PDQ8NDw0PDQ8NDwlKjQ8NDw0PDQ8NDw0PDQ8NDw0PDQ8NDw0PDQ8NDw0PDQ8NDw0PDQ8NDw0PDQ8NDw0PDQ8NDw0PDQ8NDw0PDQ8NDw0PDQ8JTAlSCVIJTYlSCVIJUglNiVIJTYlSCU8JUIlSCVOJU4lTiVOJU4lTiVOJU4lTjHeMd4x3jHeMd4x3jHeMd4x3jHeMd4x3jHeM6wzrDOsM6wzrDOsM6wzrDOsM6wzrDOsM6wzoDOgM6AzoDOgM6AzoDOgM6AzoDOgM6AzoDOgM6AzoDOgJVQlVCVUJVQlVCVUJVQlVCVUJVQlVCVUJVQlVCVUJVQlVDLyMvIy8jLyMvIy8jLyMvIy8jLyMvIy8jLyMvIy8jLyMvIpXDR+JVopXClcNH40fjO4MRglYCVyNB4lcjQeJXIlciVyNB40HjQSNB4lciVyJWYlZiVsJXIy8jLyMvIy8jLyMvIy8jLyMvIy8jLyMvIy8jLyMvIy8jLyMvIleCV4JXgleCV4JXgleCV4JXgleCV4JXgleCV4JXgleCV4JXgzyjPKM8ozyjPKM8olfiWEJZAlkCWKJZAlliWcMSoxKiWiMSolqCWoJagzuDO4M7gzuDO4M7glriWuJa4lriWuJa4lriWuJa4zoDOgM6AzoDRsNGw0bDRsNGw0bDRsNGw0bDRsNGw0bCW0NGw0bDRsJboluiW6JbolujL4Mvgy+DL4MvgzoDOgM6AzoC4AJcYlxiXGJcYlxiXGJcAlxiXGJcYlxjLyMvIy8jLyMvIy8iXMMvIy8jLyMvI0KjQqNCo0KjQqNCol0jQqNCo0KjQqJdgl2CXYM6AzoDOgNCo0KjQqNH40fjR+NH40fjR+NH40fjR+NH40KjR+NH40fjR+M8ozyjPKM8ol3jPKM8ozyjPKM8ozyjPKJeQzyjPKM8ol6iXwNMY0xiX2NMY0bDSWNJY0ljSWNJY0liX8NJY0ljSWJgI0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0liYINJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJYtRi1GLUYtRi1GLUYtRi1GLUYtRi1GLUYmDi1GLUYmFCYaJiAxKjEqJiYxKiYyJjImMiYyJjImMiYyJjImMiYyJiwmMiYyJjImMiY4Jj4oHigeJkQoHiZKJkomSiZKJkomSiZKJkomSiZKJkomSiZKM6AzoDOgM6AzoDOgM6AzoDOgM6AzoDOgM6AzoDOgM6AmUCZWJmImYiZcJmImaCZuKgQqBCZ0KgQ0PDQ8NDw0PDQ8NDw0PDQ8NDw0PDQ8NDw0PDQ8NDwmejQ8NH40fjR+NH40fjR+NH40fjR+NH40fjR+NH40fjR+NH40fjR+NH40fjR+NH40fjR+NH40fjR+NH40fjR+NH40fjR+NH40fjR+NH40fjR+NH40fjRsJoYmhiaGJoAmhiaMJpI1AjUCJpg1AjRgNGAmnjRgNGA0YCakNGAmqjRgJrA0YDRgNGAmwia2NGA0YDRgNGA0YDRgNGA0YDRgNGA0YCa8NGA0YCbCNGAmyDRgNGA0YDRgNGA0YDRgNGAwUjScNJw0nDScNJw0nCbONJw0nDScJtQ0nDScNJw0nDScNJw0nDScNJw0nDScNJw0nDScNJw0nCbaNJw0nDScNJwm4DScNJw0nDScNJw0nDScNJwm5ib+Jv4m7Cb+Jv4m/ibsJv4m7Cb+JvIm+Cb+M+Iz4jH2Mg4z4jSiJwQ0ojH8M+InCjPiM+Iz4icoJxAz4icWM+Iz4jPiJxwyAjIOMggz4jIIJyI0ojICJygyDicuM+IyCDIOM+Iz4jPiM+IyDi8UJzonOic6JzonOic6JzonOic6JzonOic6JzonOic6JzQnOjSoNKgyFDSoNKg0qCdANKgyGjSoJ0Y0qDSoNKg0qCdMNKgnUjSoNKg0qDSoMiA0qDSoNKg0qCdYNKgyIDSoNKgnXjSoNKg0qDSoNKg0qDSoNKg0QjRCNEI0QjRCNEInZDRCNEI0QidqNEI0QjRCNEI0QjRCNEI0QjRCNEI0QjRCNEI0QjRCNEIncDRCNEI0QjRCJ3Y0QjRCNEI0QjRCNEI0QjRCJ4gniCeIJ4gnfCeIJ4gniCeIJ4gniCeIJ4IniCeIJ4gnjieUMFIwUieaMFI0ijSKNIo0iiegNIo0ijSKNIo0ijSKNIonpjSKNIo0iie+J6wnviesJ6wnrCesJ6wnrCe4J7InrCesJ6wnsieyJ7gnvjRgNGArVDRgNGA0YCtaNGArYDRgK2Y0YDRgNGAriitsNGArcjRgNGA0YCt4K4Q0YDRgNGA0YCt+NGArhCuKNGA0YDRgNGA0YDRgNGA0YDRgNGAnxCfKNDw0PCfQNDwn1ifcJ+IzuDO4J+gzuDBSMO4n7if0J/ooACgGMFIoDCgSKB4oHigYKB4r2CvYK9gr2CvYK9gr2CvYK9gr2CvYK9gr2CvYK9goJCvYMO40xjTGNMY0xjTGNMY0xjTGNMY0xigqNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMYoMDTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGKDYoNig2KDYoNig2KDYytig8KEIobChsKGwobChIKE4oVChsKFooYChmKGwocih4KH4ofih+KH4ofih+KH4ofih+KH4ofih+KH4wUjBSMFIwUjBSMFIwUjBSMFIwUjBSMFIwUjBSMFIwUjBSKIooiiiKKIooiiiKKIooiiiKKIooiiiKKIooiiiKKIQoiiiQKJYtxC3EKJwtxCiiKKIooiiiKMAouii6KLooqCjAKK4otCi6KLoowCjGNK40rjSuNK40rjSuKMw0rjSuNK4o0jSuNK40rjSuNK40rjSuNK40rjSuNK40rjSuNK40rjSuKNg0rjSuNK40rijeNK40rjSuNK40rjSuNK40rijqKOoo6ijqKOoo5CjqKOoo6ij8M7go/DO4M7gzuDO4M7gzuCj2KPAzuDO4M7go8CjwKPYo/C6oM+gz6DImM+gz6DS0KQI0tDIsM+gpCDPoM+gz6CkmKQ4z6CkUM+gz6DPoKRoyMjPoM+gz6DPoKSA0tDIyKSYz6CksM+gz6DPoM+gz6DPoM+gz6C2aLZotmi2aLZotmikyLZotmi2aLZo0SDRINEg0SDRINEgpODRINEg0SCk+NEg0SDRINEg0SDRINEg0SDRINEg0SDRINEg0SDRINEgpRDRINEg0SDRINEg0SDRINEg0SDRINEg0SDRIKVApUClQKVApUClQKVApUClQKVApUClQKUopUClQKVYpbilcKW4pXClcKVwpXClcKVwpaCliKVwpXClcKWIpYiloKW40bDRsNGw0bDRsNGw0bDRsNGw0bDRsNGw0bDRsNGwpdCl6KYA0SDRIKYY0SCmMKYw0xjTGNMY0xjTGKZI0xjTGNMY0xjTGNMY0xjTGNMY0ximYNMY0ujS6Mjg0ujS6NLopnjS6NLo0uimkNLo0ujS6KbA0ujS6NLo0ujS6NLo0ujS6NLo0ujS6NLopqjS6NLopsDS6KbY0ujS6NLo0ujS6NLo0ujS6NQIpyCnIKcgpyCm8KcgpwinIKcgpyCnIKdo0finaNH40fjR+NH40fjR+KdQpzjR+NH40finOKc4p1CnaNGw0bDRsNGw0bDRsNGw0bDRsNGw0bDRsNGw0bDRsKeAp5inmKewp8in4Kf4qBCoQNMYqEDTGNMY0xjTGNMY0xjTGKgo0xjTGNMYqCioKNMYqEDK2MrYytjK2KhYytjK2MrYytjK2MrYytiocMrYytjK2KiIqKDRINEgqLjRIKjQqOio6KjoqOio6KjoqOio6KjoqOio6KjoqOio6KjoqOio6KkAqRjQ2NDYqTDQ2MFIw7ipSKlgqXipkKmowUipwKnYw7jDuMO4w7jLaMtoy2jTANMAyPjTANMA0wCp8NMAyRDTAKoI0wDTANMAqlCqINMA0wDTANMA0wDTAMko0wDTANMA0wCqONMAySiqUNMAqmjTANMA0wDTANMA0wDTANMA0TjROKqA0TjRONE4qpjROKqw0TiqyNE40TjROKrg0TjRONE40TjRONE40TjRONE40TjRONE4qsjRONE4quDROKr40TjRONE40TjRONE40TjRONFo0WjRaNFo0WjRaNFo0WjRaNFo0WjRaNFo0WjRaNFo0WjRUNFQqxDRUNFQ0VCrKNFQq0DRUKtY0VDRUNFQq6CrcNFQ0VDRUNFQ0VDRUNFQ0VDRUNFQ0VCriNFQ0VCroNFQq7jRUNFQ0VDRUNFQ0VDRUNFQq9DTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMYz1jPWM9Yz1jPWM9Yz1jPWM9Yz1jPWM9Yz1jPWM9Yz1jPWM9Yz1jPuM+4yUDPuM+40zCr6NMwyVjPuKwAz7jPuM+4rGCsGM+4rDDPuM+4z7jPuMlwz7jPuM+4z7isSNMwyXCsYM+4rHjPuM+4z7jPuM+4z7jPuM+40WjRaNFo0WjRaNForJDRaNFo0WisqNFo0WjRaNFo0WjRaNFo0WjRaNFo0WjRaNFo0WjRaNForMDRaNFo0WjRaKzY0WjRaNFo0WjRaNFo0WjRaMSorTis8K04rPCs8KzwrPCs8KzwrSCtCKzwrPCs8K0IrQitIK040YDRgK1Q0YDRgNGArWjRgK2A0YCtmNGA0YDRgK4orbDRgK3I0YDRgNGAreCuENGA0YDRgNGArfjRgK4QrijRgNGA0YDRgNGA0YDRgNGA0YDRgNGY0ZjRmNGY0ZjRmK5A0ZjRmNGYrljRmNGY0ZjRmNGY0ZjRmNGY0ZjRmNGY0ZjRmNGY0ZjRmK5w0ZjRmNGY0ZjRmNGY0ZjRmNGY0ZjRmNGY0ZjRONE40TjRONE4rojRONE40TiuoK6grqCuoK6grqCuoK6grqCuoK6grqCuoK6grqCuoK6grtCu0K7QrtCu0K7QrtCu0K7QrtCu0K7Qrriu0K7QrujKwMrArwCvGMSoxKivMMSor2CvYK9gr2CvYK9gr2CvYK9gr2CvYK9gr0ivYK9gr3ivqK+or6ivkK+owsjCyMLIwsjCyMLIwsjCyMLIwsjCyMLIwsjCyMLIwsjCyNGw0bDRsNGw0bDRsK/A0bDRsNGwr9jRsNGw0bDRsNGw0bDRsNGw0bDRsNGw0bDRsNGw0bDRsK/w0bDRsNGw0bDRsNGw0bDRsNGw0bDRsNGw0bCwOLA4sDiwOLAIsDiwOLA4sDiwOLA4sDiwILA4sDiwONNI00iwUNNI00jTSLBo00iwgNNIsJjTSNNI00iw+LCw00jTSNNI00jTSNNIsODTSNNI00jTSLDI00iw4LD400jTSNNI00jTSNNI00jTSNNI00ixKLEosSixKLEosSixELEosSixKLEosUCxQLFAsUCxQLFAsUCxQLFAsUCxQLFAsUCxQLFAsVjRUNFQ0VDRULFw0VDRUNFQ0VDRUNFQ0VCxiNFQ0VDRUM9wz3CxoM9wz3DRyLG40cix0M9wsejPcM9wz3CyeLIAz3CyGM9wz3DPcLIwsmDPcM9wz3DPcLJI0ciyYLJ4z3CykM9wz3DPcM9wz3DPcM9wz3DKwMrAybjKwMrA02CyqNNgydDKwLLAysDKwMrAsziy2MrAsvDKwMrAysCzCMnoysDKwMrAysCzINNgyeizOMrAs1DKwMrAysDKwMrAysDKwMrA03jTeMoAymDTeNHgs2jR4MoY03izgNN403jTeLP4s5jTeLOw03jTeNN4s8jKMMpgykjTeMpIs+DR4Mows/jKYLQQ03jKSMpg03jTeNN403jKYLRYtFi0WLRYtCi0WLRYtFi0WLRYtFi0WLRYtFi0WLRAtFi0iLSItIi0iLSItIi0iLSItIi0iLSItIi0iLSItIi0cLSItKC0uLTotOi00LTotQC1ALUAtQC1ALUAtQC7qLuou6i7qLuou6i7qLuou6i7qLuou6i7qLuou6i7qLuotRi1GLUYtRi1GLUYtRi1GLUYtRi1GLUYtRi1GLUYtRi1GLVItUi1SLVItUi1SLUwtUi1SLVItUjE8MTwxPDE8MTwxPC1YMTwxPDE8MTw0fjR+NH40fjR+LV4tXi1eLV4tXjTkNOQ05DTkNOQ05C1kNOQ05DTkLWo05DTkNOQ05DTkNOQ05DTkNOQ05DTkNOQ05DTkNOQ05C1wNOQ05DTkNOQ05DTkNOQ05DTkNOQ05DTkNOQ0wDTANMA0wDTANMAtdjTANMA0wC18NMA0wDTANMA0wDTANMA0wDTANMA0wDTANMA0wDTANMAtgjTANMA0wDTALYg0wDTANMA0wDTANMA0wDTALZQtlC2ULZQtlC2ULY4tlC2ULZQtlC2aNH40fjTqNH40fjR+LaA0fjTqNH4tpjR+NH40fjTqNH40fjR+NH40fjR+NH40fjR+NH40fjR+Law0fjR+NOo0fi2yNH40fjR+NH40fjR+NH40fi2+Lb4tvi2+Lb4tvi2+Lb4tvi2+Lb4tvi2+Lb4tvi24Lb4txC3ELcQtxC3ELcQtxC3ELcQtxC3ELcQtxC3ELcQtxC3ENMYwUjBSLdwt3C3cLdwtyi3cLdAt3C3cLdwt3C3cLdwt3C3cLdYt3C30LfQt4i30Legt7i30Lfot+i36Lfot+i36Lfot+i36Lfot+i36Lfot+i36Lfot+i4ALhguBi4YLgYuBi4GLgYuBi4GLhIuDC4GLgYuBi4MLgwuEi4YLiQuJC4kLiQuJC4kLiQuJC4kLiQuHi4kLiQuJC4eLh4uJC4kLjAz9C4wM/Qz9DP0M/Qz9DP0M/QuKjP0M/Qz9C4qLioz9C4wLjYuPDEqMSouQjEqMZwxojR+NH40fjR+Lk4uTi5OLk4uTi5OLk4uTi5OLk4uSC5OLk4uTi5ILkguTi5OMagxrjG6MboxtDG6LlQuWjRgNGAuYDRgLmYubDBSMFIucjBSM8ozyjPKM8ozyjPKMFIwUi54Ln4uhC6KLpAwUi6WLpYuli6WLpYuli6WLpYuli6WLpwuli6WLpYunC6cLpYuli6iLqIuoi6iLqIuoi6iLqIuoi6iLpwuoi6iLqIunC6cLqIuoi6oLq4utDBSMFIuujBSLsAuxi7GLsYuxi7GMFIw7i7MLtIu2C7eLuQwUi78Luou/C7qLuou6i7qLuou6i72LvAu6i7qLuou8C7wLvYu/C8OLwgvDi8ILwgvCC8ILwgvCC8ILwIvCC8ILwgvAi8CLwgvDi8ULxQvFC8ULxQvGi8aLxovGi8aLxovGi8aLxovGi8aLxovGi8aLyAvJi8yLzIvLC8yLzgvPi9KL0ovRC9KNGw0fjR+NGw0bDAcMBwwHC9QMBwwHDAcL1AwHC9QMBwwHDAcMBwvYi9cL2IvXC9cL1wvXC9cL1wvXC9WL1wvXC9cL1YvVi9cL2IvdC9uL3Qvbi9uL24vbi9uL24vbi9oL24vbi9uL2gvaC9uL3Qvki+SL3ovgC+GL4wvkjRgNGA0YDRgNGAvmDRgNGA0YC+YNGAvnjRgL6ovqi+qL6ovqi+qL6ovqi+qL6ovqi+qL6ovqi+qL6QvqjR+NH40bC+2L7Yvti+2L7Yvti+wL7Yvti+2L7Yvwi/CL8IvvC/CL8g0bC/OL+Avzi/gL+Av4C/gL+Av4C/gL9ov4C/gL+Av1C/aL+Av5jP6M/oynjP6M/o08C/sNPAypDP6L/Iz+jP6M/owCi/4M/ov/jP6M/oz+jP6Mqoz+jP6M/oz+jAENPAyqjAKM/owEDP6M/oz+jP6M/oz+jP6M/owFjAWMBYwFjAWMBYwFjAWMBYwFjAWMBYwFjAWMBYwFjAWMBwwHDAcNGY0ZjRmNGY0ZjAiNGY0ZjRmMCI0ZjAoNGY0TjROMC40TjA0MDo0TjBAMEYwUjBSMEwwUjBYMFgzuDO4M7gzuDBeM7gzuDO4M7gzuDO4M7gwZDO4M7gzuDB8MGowfDBqMGowajBqMGowajB2MHAwajBqMGowcDBwMHYwfDCCMIgwlDCUMI4wlDT2NPY09jT2NPY09jCaNPY09jT2MKA09jT2NPY09jT2NPY09jT2NPY09jT2NPY09jT2NPY09jCmNPY09jT2NPYwrDT2NPY09jT2NPY09jT2NPYwsjC4NIQ0hDSENIQ0hDSEML40hDSENIQwxDSENIQ0hDSENIQ0hDSENIQ0hDSENIQ0hDSENIQ0hDSEMMo0hDSENIQ0hDSENIQ0hDSENIQ0hDSENIQ0hDF+MTww7jDuMNAw1jDcMOIw6DDuNPw0/DT8NPw0/DT8MPQ0/DT8NPww+jT8NPw0/DT8NPw0/DT8NPw0/DT8NPw0/DT8NPw0/DT8MQA0/DT8NPw0/DT8NPw0/DT8NPw0/DT8NPw0/DSKNIo0ijSKNIo0ijEGNIo0ijSKMQw0ijSKNIo0ijSKNIo0ijSKNIo0ijSKNIo0ijSKNIo0ijESNIo0ijSKNIo0ijSKNIo0ijSKNIo0ijSKNIo0ujS6MRgxGDEqMR4xKjEqMSQxKjEwMTYxPDE8MUIxSDGEMYo1AjUCMZA1AjFsMXIxfjF+MXgxfjFUMVQxVDFUMVQxVDFUMVQxVDFUMU4xVDFUMVQxTjFOMVQxVDPKM8ozyjPKM8ozyjFaMWA0bDRsMWY0bDFsMXIxfjF+MXgxfjGEMYo1AjUCMZA1AjP0M/Qz9DP0M/Qz9DP0M/Qz9DP0MZYz9DP0M/QxljGWM/Qz9DPKM8ozyjPKM8ozyjGcMaI0fjR+NH40fjGoMa4xujG6MbQxujHAMcY0YDRgMcw0YDGcMaI0fjR+NH40fjGoMa4xujG6MbQxujHAMcY0YDRgMcw0YDMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzBDHSMwQx3jHeMd4x3jHeMd4x3jHeMd4x3jHeMd4x3jHeMd4x2DHeMeQx6jHwNJA0kDSQNJA0kDSQNJA0kDSQNJA0kDSQNJA0kDSQNJA0kDSQNJA0kDSQNJA0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljSWNJY0ljScNJw0nDScNJw0nDScNJw0nDScNJw0nDScNJw0nDScNJw0nDScNJw0nDScM+Iz4jPiM+Iz4jIONKIz4jH2Mfwz4jPiNKIyAjPiMggz4jPiMg4yDjPiM+I0qDSoNKg0qDSoNKg0qDSoMhQyGjSoNKg0qDIgNKg0qDSoNKg0qDSoNKg0qDSuNK40rjSuNK40rjSuNK40rjSuNK40rjSuNK40rjSuNK40rjSuNK40rjSuM+gz6DPoM+gz6DPoNLQz6DImMiwz6DPoNLQyMjPoM+gz6DPoM+gz6DPoM+g0ujS6NLo0ujS6NLo0ujS6Mjg0ujS6NLo0ujS6NLo0ujS6NLo0ujS6NLo0ujTANMA0wDTANMA0wDTANMAyPjJENMA0wDTAMko0wDTANMA0wDTANMA0wDTANMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMY0xjTGNMYz7jPuM+4z7jPuM+40zDPuMlAyVjPuM+40zDJcM+4z7jPuM+4z7jPuM+4z7jTSNNI00jTSNNI00jTSNNIyYjJoNNI00jTSNNI00jTSNNI00jTSNNI00jTSMrAysDKwMrAysDKwNNgysDJuMnQysDKwNNgyejKwMrAysDKwMrAysDKwMrA03jTeNN403jTeMpg03jTeMoAyhjTeNN403jKMNN4ykjTeNN4ymDKYNN403jTkNOQ05DTkNOQ05DTkNOQ05DTkNOQ05DTkNOQ05DTkNOQ05DTkNOQ05DTkNOo06jTqNOo06jTqNOo06jTqNOo06jTqNOo06jTqNOo06jTqNOo06jTqNOoz+jP6M/oz+jP6M/o08DP6Mp4ypDP6M/o08DKqM/oz+jP6M/oz+jP6M/oz+jT2NPY09jT2NPY09jT2NPY09jT2NPY09jT2NPY09jT2NPY09jT2NPY09jT2NPw0/DT8NPw0/DT8NPw0/DT8NPw0/DT8NPw0/DT8NPw0/DT8NPw0/DT8NPw0ljScM+I0qDSuM+g0ujTANK4z7jTSMrA03jTkNOoz+jT2NPwytjK2MrYyvDLCMsgyzjLUMtQy2jO4MuAzuDLmMvIy8jLyMvIy8jLyMuwy8jLyMvIy8jL4Mvgy+DL4Mvg0KjQqNCozBDMEMwQzBDMEMwQy/jMEMwQzBDMEMxAzEDMQMwozEDUCMxYzHDMcMxwzHDMcMyIzIjMiMxwzHDMcMxwzIjMcMyIzHDMcMyI1AjUCMygzajUCNQIzLjUCMzQ1AjM6NQI1AjUCM14zQDUCM0Y1AjUCNQIzTDNYM2ozZDUCM2QzUjUCM1gzXjNqM2o1AjNkM2o1AjUCNQI1AjNqNMY0xjTGM3wzcDN8M3wzdjN8NQI1AjUCNQI1AjUCNQI1AjUCNQI1AjUCNQI0xjTGNMYzyjPKM8oziDOIM4gziDOIM4gziDOIM4gziDOIM4gziDOIM4gzgjOIM8ozyjOOM8ozlDOaM8ozyjPKM6AzoDOmM6wzrDOyM7IzuDO4M74zvjPEM8QzyjPQNDY0xjSWNH40YDScM+I0qDRCNGA0xjSuM+g0SDS6NMA0TjRUNK4z1jPuNFo0YDRmNGw00jPcM/Q03jTkNMA06jP6NPY0hDT8NIo0NjSWNJwz4jSoNK4z6DS6NMA0rjPuNNIz9DTeNOQ06jP6NPY0/DUCNAA1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg0BjUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg1CDUINQg0GDQeNBg0HjQYNB40GDQeNBg0HjQYNB40DDQSNBg0HjQMNBI0GDQeNBg0HjQYNB41DjUONQ41DjUONQ40JDUONQ41DjUONQ41DjUONQ41DjUONQ41DjUONQ41DjUONQ41DjUONQ41DjUONQ41DjUONQ41DjUONQ41DjUONQ41DjUONCo0KjQqNQ41FDUUNRQ1FDUUNRQ1FDUUNRQ1FDUUNRQ1FDUUNRQ1FDUUNRQ1FDUUNRQ1FDUUNRQ1FDUUNRQ1FDUUNRQ1FDUUNRQ1FDUUNRQ1FDUUNRQ1FDUUNRQ0MDQwNDA0MDQwNDA0MDQwNDA0MDUINQg1CDQ2NDY0PDQ8NJY0ljR+NH40YDRgNJw0nDSiNKI0qDSoNEI0QjRgNGA0xjTGNK40rjS0NLQ0SDRINLo0ujTANMA0TjRONFQ0VDTGNMY0zDTMNFo0WjRgNGA0ZjRmNGw0bDTSNNI0cjRyNNg02DR4NHg05DTkNMA0wDR+NH408DTwNPY09jSENIQ0/DT8NIo0ijSQNJA0ljSWNJw0nDSiNKI0qDSoNK40rjS0NLQ0ujS6NMA0wDTGNMY0zDTMNNI00jTYNNg03jTeNOQ05DTqNOo08DTwNPY09jT8NPw1AjUCNQg1CDUINQg1DjUONRQ1FAABASwCvAABAL8IZgABAU8FRAABAHQIZgABAMgGDgABAgQIZgABBYwGSgABBEwGaAABBJ0G5wABBNgHEgABA4QGaAABBFQGaAABApYHVgABAZADVwABAaMDVwABAXwG1gABBV0GaAABBT8HigABAiYGaAABAcwH+AABAfQHMAABBcAH7gABAT0HagABAH4G9AABAyAGaAABA04GaAABAtwGjgABAJYEsAABALQDUgABAFoFFAABAPcHYgABALoG/gABAdwIDAABAFUHEgABAKAG9AABAnEG4AABAoUHOgABAnsGrgABAjYGtQABAdsGaAABBXgGaAABAmIGaAABALwGaAABBRQGaAABA/UHigABBRcGaAABBCcGaAABAi8GaAABAFAH4QAB/9AIJAABAB4HIwABAFAGaAABAIIHvAABAAIH/wABAFAG/gABAdoGaAABAqgGaAABASkG7gABBpAGaAABBf8GrgABBdwGaAABAk4HRAABAhcGyQABA+gGaAABA1IEsAABARgD/AABAKoIGwABACoIXgABAHgHXQABAJoHRAABAMIFvgABAYoFvgABARkHRgABASQFjgABANwH6QABAFwILAABAKoHKwABAfkGaAABATEGaAABATYIAgABALYIRQABAQQHRAABAiQGaAABAAkIEgAB/4kIVQAB/9cHVAABANsGaAABAaIIIQABASIIZAABAXAHYwABAIIG1gABAykHIwABA6AGaAABAKoH8wABAFAIDgABAGQHNQABAE0GwgAB/7cIXAABABEGwgAB/98G1gAB/9UGmgABAEMG1gAB/4UGkAAB/98HlAABAEEHkAABADwGCAABAQQGCAABAGkGyAABAj0GxwABAkgHOgABAkcGlQABAgIGnAABAbAGaAABAAEKTAABACkIxgABAB8IigABACkIWAABADMIHAABAPEIxgABADMIgAABACkJhAABAI4G1gABALYGaAABACcIfwABAE8G+QABACcGvQABADEGiwABAUQG+QABAE8HtwABACwIIwABAFQGnQABAM8GnQABAFQHWwABAoMFIwABARQFIwABAc0GaAABAC4HtgAB/64H+QAB//wG+AABAngEHwABAUwEHwABAXAGaAABADQIiwABAAoHigABAJcHvAAB/5MH2AAB/xMIGwAB/2EHGgABAGUGaAABAG8HLgABAQYIEwABAVQHUwABAL4HCAABAIEHCAABAK8IUQABAiEIUQABAR0IUQABAJoH9gABAGQIOQABAGQHOAABAf4GaAABAr0G1gABAMgEYAABASwEYAABAaUGaAABAkwFYgABAkwBrAABAs8EJgABAmwE9QABAqcFIAABAnQCdAABAkID9AABAs8DQAABAggCsgABAkwEsgABAkMF8AABAhcGaAABBCsHRAABAzEGaAABARIIAAABAJIIQwABAOAHQgABAsAGaAABA24G4wABAzIIrwABAzIGuwABAwAGaAABAvcGkAABAkQGaAABAHIHngABAJoGGAABAWIGGAABAJoG1gABAjoHGQABApQGaAAB/vQH3gAB/zgG3QAB/1cHDwABAB4JBgABAEYHgAABADwHRAABAEYHEgABAFAG1gABAQ4HgAABAFAHOgABAEYIPgABAjsHCAABAL4HdgABAOYF8AABAUoF8AABASYHawABAWIGaAABATAFswABASIGaAAB/rgHzQAB/vwGzAAB/xsG/gABAJYD/AAB/7oHxgAB/zoICQAB/4gHCAABAPAGaAAB/7IGsAAB//YHmQABACoISAABAFIGwgABARoGwgABAFwGwgABAFIHgAABA1QG4wABAxgISwABA1QGaAAB/sIICQAB/wYHCAAB/yUHOgABAJYELgABAXoGnwABAXoHmQABAZgG0QABAYQHXQABATUHoAABAd4GaAAB/wMHcAAB/2YGoQABAoECswABAPcECwAB/9oIPAAB/1oIfwAB/6gHfgABAZoGaAABAHEGaAABAK8IAgABADQH4QABAH0HMAABAGIGaAABAGEGaAABAK0H5AABAiUH5AABAOUH5AAB/7UG1AAB/zUHFwABAGkIegABAJEG9AABAJEGuAABAVkG9AABAJsGrgABAJEHsgABAkoGvwABAbQIWQABAg4GvwABAdwG0wABAeYGjQABAdwHkQAB/9QG1gAB/z4IcAAB/5gG1gAB/2YG6gAB/1wGrgAB/8oG6gAB/3AGpAAB/2YHqAABASUGaAABAGEIjgABAIkHCAABAH8GzAABAIkGmgABAVEHCAABAJMGwgABAIkHxgAB/2YH9gAB/44GcAAB//IGcAAB/44HLgABAbYGaAABAHAIswABAYYHHAABANMH5AABAG4HRAAB/9gI3gABADIHRAABAGQGuAABAGUHHAABAG8G6gABAAoGrgABAOYG9AABACoG8QABAIwHRAABAE8HAgABAHcFfAABANsFfAABAiIG5AABAdUGaAABASUG0AABAZMGaAABASwFGAABAIoIYAABAAoIowABAFgHogABATcHcgABAJcGaAABAUEFuAABAvEHJAABA2gGaAABAG4GrgABAJYFKAABAPoFKAABAl0EMAABATEEMAABAYgGaAABALQG4gABAB4IewABAHgG4gABAEYG9gABADwGugABAQ4G9gABAAEGjwABAFAGsAABAKUGowABAA4GaAABAW4GaAABATwEwAABAl0ELgABATEELgABAtkHhwABAkMJIQABAp0HhwABAmsHmwABAmEHXwABAmsHLQABAnUG8QABAzMHmwABAiYHNAABAnUHVQABAmsIWQABAmwJBgABApQHgAABAooHRAABApQHEgABAp4G1gABA1wHgAABAp4HOgABApQIPgABAK4JjgABAOYHlAABAMwHzAABANYHmgABAOAHXgABAkwHlAABAOAHwgABANYIxgAB/0oGpgAB/44HjwABATwGaAABAR8G4AABAUcGaAABAQsITQABAIsIkAABANkHjwABAk4GaAABAOUGaAABAVQGaAABAKEHJgABAN0GaAABAKYGyQABARMGaAABAAUHEgABAF8FKAABAScFKAABAGkH8gABAJEGbAABAPUGbAABAJEHKgABBf4GsAABBJYGaAABAcwGaAABAJEHjwABALkGaAABAYEGaAABALkGxwABACoHRAABAS4GaAABAIwGaAABBIcG3AABBMsGmQABBMsHxQABA0UGaAABAXoHZwABAYQHKwABATUHbgABAuwGmgABAMUGaAABAuQGaAABAmcGnQAB/2oIDAAB/64HCwAB/80HPQAB/6sHBgABAZcGaAABAskHfAABAywGrQABAG4H0AAB/+4IEwABADwHEgAB/8kHSwABAbUGaAABAH4IMAAB//4IcwABAEwHcgAB/8cHJwABAGUIJAABAK4HcwABAPYHGwABALoHGwABAOQIZgABAdwIKQABAEwIZgABAtUGaAAB/5YHEAABAoAGaAABANwGaAABAHgINAAB//gIdwABAEYHdgABAnYGwQABAa4GaAABAPcHkgABALoHLgABAQQIZgABAdYIPAABAEYIZgABAXIGaAAB/2wH7wAB/7AG7gAB/88HIAAB/wsHbwABAWAGaAAB/24GoAABAUoGaAABAXMGaAAB/7UHtgAB/zUH+QAB/4MG+AAB/7UGaAAB//kH0AAB/3kIEwAB/8cHEgAB//kGaAABAcQGigAB/q0H+AABAZAG1gAB/xAHKQAB/soHwwABASwGpAAB/y0G9AABASIHWQABAUAGkQABASwHHQABAN0HYAABAVAGaAAB/44HSQAB/8kHdAABAvAHCwABAgAGaAABAcwIEAABAf0GaAABAYwHOwABApkGaAABAUQGaAAB/vsHKAAB/kgH9wAB/pgH9wABAGQG1gAB/qsHKAABACEIogABAEkHHAABABgG4AABACIGrgABAPoHHAABAFMG1gABAEkH2gABAhsGaAABAV4GaAAB/4gHNwAB/8MHYgABAdsHDQABAeYG0QABAZYHFAAB//MH4gAB/3MIJQAB/8EHJAABAAAGaAABAikGaAABApIDTQABANwE4gABAV4G1gAB/pIIXQAB/tYHXAAB/vUHjgABAB4IYAAB/54IowAB/+wHogABAMgGrgABAWQH+QABAYwGcwABAlQGcwABAYwHMQABALQGaAABAG4GaAABAG8GrgABAJcFKAABAPsFKAABAPcHOgABALoG6gABAQIIZgABAcIH5AABADIIZgABAGQGaAABAXUHEgABAZ0FjAABAmUFjAABAQkHEgABATEFjAABAZUFjAABAX4GaAABAE4IcwABAJwHcgABAIIGaAABAEsHdwAB/8sHugABAOEGaAABABkGuQABAPUGaAABAokHGgABAtAGaAABAFAHmAAB/9AH2wABAB4G2gABAHAH0AAB//UHtQABAD4HBAABAEYGaAABAIYHeAABAAYHuwABAFQGugABAtUHHAABAAwG8gAB/4wHNQABAAsHfgAB/4sHwQAB/9kGwAABALAGaAABAIgHfwABAAgHwgABAFYGwQABA8sHRAABACgHRAABAKAGaAABAjQGaAABAhYGaAABBFAGaAABAJcIsgABAFsIsgAB/+QIXwABAEcHkAABACkHXgABAL0G5QABAIEG5QAB/+wGkgABALQHbAABAHgHbAABAAEHGQABAMAGrgABAP8G4AABAMMG4AABAFYGjQABAPcG9AABALsG9AABAEQGoQABAMsG1AABAI8G1AABAwIHbAABAsYHbAABAk8HGQABAUQH9AABAQgH9AABAJEHoQABAPQG0gABANYGoAABALcHCAABAHsHCAAB/90GtQABAsYGaAABAXwGaAABAI8GDgABAMgFeAABAQQGaAABAAIGaAABASwFeAABANIGaAABAeoGaAABAu4FqgABAk4HbAABAooGaAABAnYGaAABAUsH3wABAYcGaAABAOUGpgABAVwGaAABATQBRQABAIIHwQABAIIImAAB/xMH6AAB/n0JggAB/tcH6AAB/qUDagAB/psHwAAB/qUHjgAB/q8HUgAB/20DagAB/mAHlQAB/q8HtgAB/sMGxgAB/qUGlAAB/w8IhAAB/10HgwABAJYGxwABBDUGywABAoEGaAABAZ8HUwABAaoHFwABAVoHWgABArwGaAABArwGkAABAcIGaAABAp4GaAABAZAGaAABAwIGaAABA3QGaAABAlgGaAABA7EGaAABA2MGaAABA1EGaAABAPsGaAABAAoGaAABALsGaAABAu4GaAABACEGaAABAQUIZgABAhEIDAABAZEHQQABAscHRwABAaQGaAABAtoGaAABAJYHXAABAfQGaAABAmwGaAABAHgGaAABAKoGaAABAMQGaAABAOYGaAABAg4GaAABAfAGaAABAJwGaAABADIGaAAB//8GaAABAMgGaAABAp0HVQABAQoHVgABASwGaAABAX8GaAABAYYGaAABAL4GaAABAPQGaAABAJsGaAABAFsIgAABAIEGaAABAAEGaAABAHgHOgABANQGaAABAMMGaAABAPoGaAABALsGwgABAI8GaAABAsYHOgABAWwGaAABAF8GaAABAOsGaAABAHsG1gABAb4GaAABAh8GaAABAJYGaAABALMGaAABANUGaAABAd8GaAAAAAEAAAAKAQwDCgADREZMVAAUYXJhYgAYbGF0bgCmAJwAAAAQAAJTTkQgADpVUkQgAGQAAP//ABIAAQACAAMABAAFAAYABwAL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EnwSjQBUErcSyABmAAIAAAABAAgAAQEwAB8ARABKAFAAVgBcAGIAaABuAHQAegCAAIYAjACQAJYAnACiAKgArgC0ALoAwADGAMwA0gDYAN4A5ADqAPAA9gACCNYXKQACCNcXKQACCNgXKQACCNkXKQACCNoXKQACCNsXKQACCNwXKQACCN0XKQACCN4XKQACCN8XKQACCOAXKQACCOEXKQABEccAAhIqFykAAhIrFykAAhIsFykAAhItFykAAhIuFykAAhIvFykAAhKPFykAAhKQFykAAhKRFykAAhKSFykAAhKTFykAAhKUFykAAhSuFykAAhSvFykAAhSwFykAAhSxFykAAhSyFykAAhSzFykABgAAAAIACgAeAAMAAAABACoAAgBMBPIAAQAAAKoAAwAAAAEAFgADEZYAOATeAAEAAACqAAIABQjWCOEAAAt/C38ADBIqEi8ADRKPEpQAExSuFLMAGQABAAMBqgGtAbkAAQAAAAEACAABACQDQwAGAAgAAQAIAAMAAAACABYAIAAAAAIAAACsAAEAogACAAEUnhShAAAAAgABCVAJXwAAAAYACAABAAgAAwABBHgAAQAkAAAAAQAAAK8AAQAIAAEACAACAAoAAhVFFUYAAQACAYIB0AACAAAAAQAIAAEAtAARACgALgA0ADoAQABGAEwAUgBYAF4AZABqAHAAdgB8AIIAiAACC/YXJwACC/cXJwACC/gXJwACC/kXJwACC/oXJwACC/sXJwACC/wXJwACC/0XJwACC/4XJwACC/8XJwACDAAXJwACDAEXJwACDAIXJwACDAMXJwACDAQXJwACDAUXJwACDAYXJwAGAAgAAQAIAAMAAQAUAAEAHgABACgAAQAAALAAAgABC+kL9QAAAAIAAQv2DAYAAAACAAQMYAxxAAAM4AzxABINeg2LACQStxLIADYAAgAAAAEACAABATAAIgBKAFAAVgBcAGIAaABuAHQAegCAAIYAjACSAJgAngCkAKoAsAC2ALwAwgDIAM4A1ADaAOAA5gDsAPIA+AD+AQQBCgEQAAIL9hivAAIL9xivAAIL+BivAAIL+RivAAIL+hivAAIL+xivAAIL/BivAAIL/RivAAIL/hivAAIL/xivAAIMABivAAIMARivAAIMAhivAAIMAxivAAIMBBivAAIMBRivAAIMBhivAAIPlBivAAIPlRivAAIPlhivAAIPlxivAAIPmBivAAIPmRivAAIPmhivAAIPmxivAAIPnBivAAIPnRivAAIPnhivAAIPnxivAAIPoBivAAIPoRivAAIPohivAAIPoxivAAIPpBivAAYACAABAAgAAwAAAAEAEgABACIAAQAAALIAAgACC/YMBgAAD5QPpAARAAIABgynDM8AAA8kD0wAKRgNGA0AUhgXGBcAUxk9GT4AVBlPGVAAVgAGAAgAAQAIAAMAAAABABIAAQ0cAAEAAAA1AAIAAwfbCAMAABgAGAAAKRkjGSQAKgAGAAAAAQAIAAMAAAABAIgAAQASAAEAAAC2AAIAAgeqB7AAAAeyB7IABwABAAAAAQAIAAIAXgAsB9sH3AfdB94H3wfgB+EH4gfjB+QH5QfmB+cH6AfpB+oH6wfsB+0H7gfvB/AH8QfyB/MH9Af1B/YH9wf4B/kH+gf7B/wH/Qf+B/8IAAgBCAIIAxgAGSMZJAACAAMRfBGkAAAYHxgfACkZXxlgACoABgAIAAMADAAmAEAAAwAAAAEAXAABABIAAQAAALgAAQACC8ILxQADAAAAAQBWAAEAEgABAAAAuQABAAIRYRFkAAMAAQASAAEAUAAAAAEAAAC6AAEAAgu1C7wAAQAIAAEACAABAAb/+wABAAEOdAABAAgAAQAIAAEABv/7AAEAARE4AAEACAABAAgAAQAGABgAAQACDLQPMQACAAAAAQAIAAEADgAEABoAIAAmAC4AAQAEAaoBrQJKAp0AAgGqFykAAgGtFykAAwJKFykYrwACAp0XKQAGAAAAAQAIAAMAAAABABIAAQAkAAEAAAC7AAEABwGqAa0BuQJHAkoCnQdZAAIAAQezB7kAAAAGAAgAAQAIAAMAAQASAAEEtgAAAAEAAAC+AAIAFgGBAYEAAAGOAY8AAQGlAaUAAwHTAdQABAHuAfYABgIhAigADwIsAiwAFwJMAkwAGAJoAmgAGQJ4AnkAGgJ+An4AHAKFAoYAHQj4CQcAHwlBCU8ALwmQCZ8APgmmCbQATgzQDN8AXQzyDQEAbQ1jDXIAfQ9nD3YAjQ9/D44AnRASECEArQABAAgAAQAIAAIEFAIHFU4VRxVPFVUVUxVQFUgVUhVYFUkVShVLFVQVVhVXFU0VWhVZFVsVXBVRFUwVZBVdFWUVaxVpFWYVXhbpFWgVbhVfFWAVYRVqFWwVbRVjFXAVbxVxFXIVZxViFXoVcxV7FYEVfxV8FXQW6hV+FYQVdRV2FXcVgBWCFYMVeRWGFYUVhxWIFX0VeBWQFYkVkRWXFZUVkhWKFusVlBWaFYsVjBWNFZYVmBWZFY8VnBWbFZ0VnhWTFY4VphWfFacVrRWrFagVoBbsFaoVsBWhFaIVoxWsFa4VrxWlFbIVsRWzFbQVqRWkFbwVtRW9FcMVwRW+FbYW7RXAFcYVtxW4FbkVwhXEFcUVuxXIFccVyRXKFb8VuhXSFcsV0xXZFdcV1BXMFu4V1hXcFc0VzhXPFdgV2hXbFdEV3hXdFd8V4BXVFdAV6BXhFekV7xXtFeoV4hbvFewV8hXjFeQV5RXuFfAV8RXnFfQV8xX1FfYV6xXmFf4V9xX/FgUWAxYAFfgW8BYCFggV+RX6FfsWBBYGFgcV/RYKFgkWCxYMFgEV/BYUFg0WFRYbFhkWFhYOFvEWGBYeFg8WEBYRFhoWHBYdFhMWIBYfFiEWIhYXFhIWKhYjFisWMRYvFiwWJBbyFi4WNBYlFiYWJxYwFjIWMxYpFjYWNRY3FjgWLRYoFkAWORZBFkcWRRZCFjoW8xZEFkoWOxY8Fj0WRhZIFkkWPxZMFksWTRZOFkMWPhZWFk8WVxZdFlsWWBZQFvQWWhZgFlEWUhZTFlwWXhZfFlUWYhZhFmMWZBZZFlQWbBZlFm0WcxZxFm4WZhb1FnAWdhZnFmgWaRZyFnQWdRZrFngWdxZ5FnoWbxZqFoIWexaDFokWhxaEFnwW9haGFowWfRZ+Fn8WiBaKFosWgRaOFo0WjxaQFoUWgBaYFpEWmRafFp0WmhaSFvcWnBaiFpMWlBaVFp4WoBahFpcWpBajFqUWphabFpYWrhanFq8WtRazFrAWqBb4FrIWuBapFqoWqxa0FrYWtxatFroWuRa7FrwWsRasFsQWvRbFFssWyRbGFr4W+RbIFs4WvxbAFsEWyhbMFs0WwxbQFs8W0RbSFscWwhbaFtMW2xbhFt8W3BbUFvoW3hbkFtUW1hbXFuAW4hbjFtkW5hblFucW6BbdFtgYJRgmGCcYKBgpGCoYKxgsGC0YLhgvGDAYMRgyGDMYNBg1GDYYNxiEGH0YhRiLGIkYhhh+GRQYiBiOGH8YgBiBGIoYjBiNGIMYkBiPGJEYkhiHGIIZExlrGWwZbRlu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';\r\n\r\nexport default font;","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './ReportPage.css';\r\nimport { Link } from \"react-router-dom\";\r\nimport Table from '../Table/Table';\r\nimport Cookie from \"js-cookie\";\r\nimport PageHeader from '../PageHeader/PageHeader';\r\nimport Filters, { hideFilters, showFilters } from '../Filters/Filters';\r\n// import TableFooter from '../TableFooter/TableFooter';\r\nimport Loading from '../Loading/Loading';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport Field from '../Field/Field';\r\n// import ReportField from './../ReportPageComponents/ReportField/ReportField';\r\nimport DataHeader from './../DataHeader/DataHeader';\r\n// import ReportDataHeader from './../ReportPageComponents/ReportDataHeader/ReportDataHeader';\r\nimport jsPDF from 'jspdf';\r\nimport autoTable from 'jspdf-autotable';\r\n// import html2pdf from 'html2pdf.js'\r\nimport 'html2canvas';\r\nimport font from '../../Amiri-Regular-normal';\r\n// import { upLayer, downLayer } from '../MainLayout/MainLayout';\r\n// import { Employees } from '../../data/PageProps';\r\n// import ReactDomSrvr from './../ReactDomSrvr/ReactDomSrvr';\r\n// import CodeMentorPrint from './../CodeMentorPrint/CodeMentorPrint';\r\n// import Canvas from './../ReportPageComponents/Canvas/Canvas';\r\nimport update from 'immutability-helper';\r\nimport Alert from './../Alert/Alert';\r\nimport { ip } from './../../data/APIs';\r\nimport Button from './../Button/Button';\r\n\r\nclass ReportPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n // Create an Empty Search Entity when the page displayed for the first time\r\n let tempSearchEntity = {};\r\n for (let field of props.searchFields) {\r\n //'dateFromTo' type is no longer used now because we moved the search by date to the server side and removed it from the client side\r\n if (field.type === 'dateFromTo') {\r\n tempSearchEntity[field.backName + ',from'] = '';\r\n tempSearchEntity[field.backName + ',to'] = '';\r\n } else if (field.innerSearch) { // innerSearch is to search in the 'data' property of every row in 'this.state.data', so we add ',inner' to it's name in the searchEntity to recognize it. e.g searchEntity = {'nameAr,inner': ''}\r\n tempSearchEntity[field.backName + ',inner'] = '';\r\n }\r\n else {\r\n tempSearchEntity[field.backName] = '';\r\n }\r\n }\r\n\r\n let tempReadEntity = props.read.body\r\n\r\n this.state = {\r\n readEntity: props.read.body ? tempReadEntity : props.read.path,\r\n searchEntity: tempSearchEntity,\r\n rowsNumber: 10,\r\n rowsTotal: 0,\r\n currentPage: 1,\r\n message: { text: '', style: '' },\r\n loading: false,\r\n search: false,\r\n data: [],\r\n modalUpdated: false,\r\n //Company info for Print\r\n companyInfo: null,\r\n columns: props.columns.slice(),\r\n comLogo: null,\r\n generalSettings: null\r\n\r\n }\r\n // Get the Search Fields 'select elements' items from the Database when the page displayed for the first time \r\n for(let field of props.searchFields) {\r\n if (field.type === 'select' || field.type === 'multiSelect') {\r\n this.GetSelect(field.url, field.body, field.label);\r\n }\r\n }\r\n}\r\n\r\n// Styling:\r\n// ========\r\nshowModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n mainLayout.style.overflow = \"visible\";\r\n}\r\n\r\nhideModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n}\r\n// ========\r\n\r\ncomponentDidMount() {\r\n // Read Data from the Database and Display it\r\n if (this.props.permissions !== null) {\r\n this.Clear();\r\n this.GetCompanyInfo();\r\n this.GetGeneralSettings();\r\n\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n\r\n}\r\n\r\n// A method for changing the entity properties,\r\n// inputs:\r\n// state = Name of the entity, e.g: createEntity, updateEntity ... \r\n// name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n// value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\nChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n}\r\n\r\n// A method for changing the state,\r\n// inputs:\r\n// key = Name of the state\r\n// value = value of the state\r\nChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n}\r\n\r\n// A method for making a fetch Request,\r\n// inputs:\r\n// entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n// token = the JWT Bearer Authorization token.\r\n// operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n// then = the method that will be executed when we receive the response\r\nFetch(entity, token, operation, then) {\r\n\r\n let url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n fetch(url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'en'\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n}\r\n\r\n// A method for Reading data from Database,\r\n// inputs:\r\n// entity = the entity that will be sent to the Server in the request body (readEntity)\r\nRead(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n //if response.data ia an array not an object\r\n if (Array.isArray(response.data)) {\r\n // ====================================\r\n me.setState(\r\n {\r\n data: response.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else { // if response.data is not an array, it is an object\r\n // ====================================\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n }\r\n } else { // not success\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else { // response.status !== 200\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n}\r\n\r\n//Get Company Info for print\r\nGetCompanyInfo() {\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState(\r\n {\r\n companyInfo: response.data,\r\n }\r\n );\r\n //if there is an image path\r\n if (response.data.image) {\r\n //convert image path to Base64 to show it in the report\r\n this.ImageUrlToBase64(ip + '/' + response.data.image, function (myBase64) {\r\n me.Logo = myBase64;\r\n me.setState({ comLogo: myBase64 })\r\n });\r\n }\r\n } else { // not success\r\n me.setState({ message: { text: response.message, style: 'danger' } });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else { // response.status !== 200\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' } });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n fetch(ip + '/api/GetUserData', {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'en'\r\n },\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to Get Company Info.', error));\r\n}\r\n\r\nGetGeneralSettings() {\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState(\r\n {\r\n generalSettings: response.data,\r\n }\r\n );\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' } });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' } });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n fetch(ip + '/api/GeneralSetting/GetGeneralSettings', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'en'\r\n },\r\n body: JSON.stringify({\r\n \"pageSize\": 10,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n })\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to Get generalSettings Info.', error));\r\n}\r\n\r\n// Declare printing variables\r\nhead = []\r\nbody = []\r\nhasArabicCodepoints(s) {\r\n return /[\\u0600-\\u06FF]/.test(s);\r\n}\r\n// Create table for Print()\r\nCreateTable(tableHead, tableRows) {\r\n\r\n //Columns Names for Attendance and leave \r\n this.head = tableHead.map((column) =>\r\n column.backName == \"timeOut1\" ?\r\n \" Leave \"\r\n :\r\n column.backName == \"timeIn1\" ?\r\n \" Attend \"\r\n :\r\n column.backName == \"timeOut2\" ?\r\n \" Leave \"\r\n :\r\n column.backName == \"timeIn2\" ?\r\n \" Attend \"\r\n :\r\n column.backName == \"timeOut3\" ?\r\n \" Leave \"\r\n :\r\n column.backName == \"timeIn3\" ?\r\n \" Attend \"\r\n :\r\n column.backName == \"timeOut4\" ?\r\n \" Leave \"\r\n :\r\n column.backName == \"timeIn4\" ?\r\n \" Attend \"\r\n :\r\n column.name);\r\n\r\n //Display table data properly (Same Logic as displaying data in tables)\r\n this.body = tableRows?.map(\r\n (row) => {\r\n let temp = this.state.columns.map((column) =>\r\n column.boolean ?\r\n row[column.backName] === true ?\r\n column.yes\r\n :\r\n column.no\r\n :\r\n column.enum ? column.enum.find((item) => item.value == row[column.backName]) ?\r\n column.enum.find((item) => item.value == row[column.backName])['display']\r\n :\r\n row[column.backName]\r\n :\r\n row[column.backName]);\r\n //Reverse to make it rigt to left\r\n temp.reverse();\r\n return temp;\r\n });\r\n //Reverse to make it rigt to left\r\n this.head.reverse();\r\n}\r\n\r\n//A function to convert image url to base64\r\n//takes the url of the image and a callback functiob to call when image is loaded\r\nImageUrlToBase64(url, callback) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.onload = function () {\r\n var reader = new FileReader();\r\n reader.onloadend = function () {\r\n callback(reader.result);\r\n }\r\n reader.readAsDataURL(xhr.response);\r\n };\r\n xhr.open('GET', url);\r\n xhr.responseType = 'blob';\r\n xhr.send();\r\n}\r\n\r\n//Create and Download a PDF file of the Page Report\r\nPrint() {\r\n //print only if company info is loaded\r\n if (this.state.companyInfo) {\r\n let companyInfo = this.state.companyInfo\r\n //if any property in companyInfo evaluates to false, then set it to ''\r\n for (const key in companyInfo) {\r\n if (!companyInfo[key]) {\r\n companyInfo[key] = '';\r\n }\r\n }\r\n\r\n let me = this;\r\n //Make the page orientation = portrait if this is the workingTimeDetails report, otherwise it is landscape\r\n var doc = new jsPDF(this.props.workingTimeDetails ? 'portrait' : 'landscape');\r\n //Add Amirir Font for Arabic Text\r\n doc.addFileToVFS('Amiri-Regular-normal.ttf', font);\r\n doc.addFont('Amiri-Regular-normal.ttf', 'Amiri-Regular', 'normal');\r\n doc.setFont('Amiri-Regular'); // set font\r\n\r\n // You can use html:\r\n // autoTable(doc, { html: '#my-table', theme: 'grid', headStyles: { fillColor: 180 } });\r\n\r\n // Or JavaScript:\r\n\r\n // check if we want the multi tables view or the single one\r\n if (this.props.preTableFields || this.props.period && !this.props.singleTable) {\r\n let tablesData = this.state.data.slice()\r\n // The following filtering should be generic\r\n // =====================================================================\r\n // Filtering data according to the Search Fields values\r\n for (let prop in this.state.searchEntity) {\r\n if (this.state.searchEntity[prop]) {\r\n //',from' and ',to' is for 'dateFromTo' searchField type which is no longer used\r\n if (prop.toString().endsWith(',from') || prop.toString().endsWith(',to')) {\r\n if (prop.toString().endsWith(',from')) {\r\n let backName = prop.split(',')[0];\r\n tablesData = tablesData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate >= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n } else if (prop.toString().endsWith(',to')) {\r\n let backName = prop.split(',')[0];\r\n tablesData = tablesData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate <= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n }\r\n } else if (prop.toString().endsWith(',inner')) { // ',inner' is for backSearch\r\n let backName = prop.split(',')[0]; // get the backname without ',inner'\r\n tablesData = tablesData.map(row => {\r\n let newRow = Object.assign({}, row); //assign by value\r\n newRow.data = row.data.filter(innerRow => { //search into the inner 'data' of each row\r\n //get rows which the current column contains the entered word (case insensetive)\r\n if (innerRow[backName] != null) {\r\n return innerRow[backName].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n } else {\r\n return false;\r\n }\r\n }).slice();\r\n return newRow;\r\n });\r\n } else {\r\n tablesData = tablesData.filter(row => {\r\n if (row[prop] != null) { //get rows which the current column contains the entered word (case insensetive)\r\n return row[prop].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n\r\n } else {\r\n return ''.toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n //Period Section\r\n let period = \"\";\r\n if (this.props.period && tablesData && this.props.printPeriod) {\r\n this.props.abcentFrom ? period += \"Absence during the period \" : this.props.delay ? period += `Delay during the period` : period += ` period `;\r\n period += `from: ${tablesData[0]?.from ? tablesData[0].from : \" - \"}`;\r\n period += ` to: ${tablesData[0]?.to ? tablesData[0].to : \" - \"}`;\r\n }\r\n\r\n let headers = [];\r\n if (this.props.overtime) {\r\n if (this.state.data.length > 0) {\r\n for (let x = 0; x < this.state.data.length; x++) {\r\n let header1 = [], header2 = [];\r\n for (let j = 0; j < this.state.data[x].data.length; j++) {\r\n header1 = []; header2 = [];\r\n header1.push(\r\n 'Employee code'\r\n )\r\n header1.push(\r\n 'Employee name'\r\n )\r\n header2.push(\r\n ''\r\n )\r\n header2.push(\r\n ''\r\n )\r\n for (let i = 0; i < this.state.data[x].data[j].data.length; i++) {\r\n header1.push(\r\n this.state.data[x].data[j].data[i].date\r\n )\r\n header2.push(\r\n this.state.data[x].data[j].data[i].day\r\n )\r\n }\r\n }\r\n header1.push(\r\n 'Total Overtime'\r\n )\r\n header2.push(\r\n ''\r\n )\r\n header1.reverse();\r\n header2.reverse();\r\n headers.push({ header1: header1, header2: header2 })\r\n }\r\n\r\n }\r\n }\r\n let printyIndex = 0;\r\n for (let i = 0; i < tablesData.length; i++) {\r\n\r\n if (tablesData[i].data != false) { // Not to Print empty tables\r\n // Print preTableData\r\n let preTableFields = []\r\n\r\n if (this.props.preTableFields || this.props.period) {\r\n // eslint-disable-next-line array-callback-return\r\n if (this.props.preTableFields) {\r\n let rev = false;\r\n let engBranch = '';\r\n this.props.preTableFields.map((preTableField) => {\r\n if (preTableField.backName == 'branchName') {\r\n tablesData[i][preTableField.backName] = tablesData[i][preTableField.backName].replace(')', \" ' \")\r\n tablesData[i][preTableField.backName] = tablesData[i][preTableField.backName].replace('(', \" ' \")\r\n rev = this.hasArabicCodepoints(tablesData[i][preTableField.backName])\r\n\r\n }\r\n if (!rev && preTableField.backName == 'branchName') {\r\n engBranch = (tablesData[i][preTableField.backName] ?\r\n tablesData[i][preTableField.backName] : 'There is no') + ':' + preTableField.name\r\n }\r\n // isShiftOpen\r\n if (preTableField.backName == 'isShiftOpen') {\r\n preTableFields.push(preTableField.name + ': ' + (tablesData[i][preTableField.backName] ?\r\n \"Open\" : 'Normal'));\r\n }\r\n else {\r\n preTableFields.push(preTableField.name + ': ' + (tablesData[i][preTableField.backName] ?\r\n tablesData[i][preTableField.backName] : 'There is no'));\r\n }\r\n\r\n })\r\n\r\n preTableFields.push(period);\r\n if (!rev) {\r\n preTableFields.push(engBranch);\r\n\r\n }\r\n }\r\n else {\r\n preTableFields.push(period);\r\n }\r\n\r\n }\r\n let totals = [];\r\n\r\n if (this.props.totals) {\r\n totals = this.props.totals.map((column) => {\r\n return (\r\n column.backName ?\r\n tablesData[i][column.backName]\r\n :\r\n null\r\n )\r\n })\r\n let counter = 0;\r\n for (const cell of totals) {\r\n if (cell) {\r\n break;\r\n }\r\n counter++;\r\n totals.shift();\r\n }\r\n totals.unshift({ content: ': Totals', colSpan: counter, styles: { halign: 'left' } });\r\n totals.reverse();\r\n }\r\n let head1 = [];\r\n this.state.columns.map((row) => {\r\n if (row.backName == 'timeOut1') {\r\n head1.unshift({ content: \"First Shift\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut2') {\r\n head1.unshift({ content: \"Second Shift\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut3') {\r\n head1.unshift({ content: \"Third Shift\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut4') {\r\n head1.unshift({ content: \"Fourth Shift\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeIn1') {\r\n\r\n } else if (row.backName == 'timeIn2') {\r\n\r\n } else if (row.backName == 'timeIn3') {\r\n\r\n } else if (row.backName == 'timeIn4') {\r\n\r\n } else {\r\n head1.unshift({ content: \"\", styles: { halign: 'center' } })\r\n }\r\n });\r\n\r\n let OverTableData = [];\r\n // creating table data\r\n if (this.props.overtime) {\r\n OverTableData = tablesData[i].data.map((raw) => {\r\n let arr = [];\r\n\r\n for (const column of this.state.columns) {\r\n if (column.backName == 'date') {\r\n let data = raw.data.map((col) =>\r\n col.extraMinutes ? col.extraMinutes : 0\r\n );\r\n for (const i of data) {\r\n arr.unshift(i);\r\n }\r\n } else {\r\n arr.unshift(raw[column.backName] ? raw[column.backName] : ' - ');\r\n }\r\n }\r\n return arr;\r\n })\r\n }\r\n\r\n let DetailsTableData = [];\r\n // creating table data\r\n if (this.props.workingTimeDetails) {\r\n for (const column of this.state.columns) {\r\n DetailsTableData.push([\r\n {\r\n content:\r\n (tablesData[i].data[0][column.backName] ?\r\n tablesData[i].data[0][column.backName] : ' - ')\r\n },\r\n column.name,\r\n ]);\r\n }\r\n\r\n }\r\n\r\n this.CreateTable(this.state.columns, tablesData[i].data)\r\n\r\n var printHead1 = head1.some(h => h.content != \"\");\r\n var prevTable = doc.lastAutoTable.finalY;\r\n var printed = false;\r\n autoTable(doc, {\r\n head: this.props.totals ?\r\n (printHead1 ?\r\n [totals, head1, this.head]\r\n :\r\n [totals, this.head])\r\n :\r\n (printHead1 ?\r\n [head1, this.head]\r\n :\r\n headers.length > 0 ?\r\n [headers[i].header1, headers[i].header2]\r\n :\r\n DetailsTableData.length > 0 ?\r\n []\r\n :\r\n [this.head]),\r\n body: OverTableData.length > 0 ? OverTableData : DetailsTableData.length > 0 ? DetailsTableData : this.body,\r\n theme: 'grid',\r\n headStyles: { font: 'Amiri-Regular', fillColor: 230, textColor: 5, cellPadding: 1 },\r\n bodyStyles: { font: 'Amiri-Regular', overflow: 'linebreak', textColor: 10, cellPadding: this.props.DetailedReport ? 0 : 1 },\r\n styles: { cellWidth: 'auto', halign: \"center\" },\r\n startY: i === 0 ? undefined : this.props.DetailedReport ? printyIndex : (prevTable + 12),\r\n pageBreak: this.props.workingTimeDetails && i !== 0 ? 'always' : undefined,\r\n margin: { top: this.props.workingTimeDetails ? 50 : 40, bottom: this.props.DetailedReport ? 15 : 25 },\r\n showHead: 'firstPage',\r\n didDrawPage: function (data) {\r\n\r\n // Header\r\n doc.setFontSize(10)\r\n doc.setDrawColor(35);\r\n // doc.setTextColor(10)\r\n doc.rect(data.settings.margin.left, 10, doc.internal.pageSize.width - (data.settings.margin.right + data.settings.margin.left), 15)\r\n\r\n if (me.Logo && me.Logo != 'data:') {\r\n doc.addImage(me.Logo, 'JPEG', data.settings.margin.left + 5, 13, 10, 10)\r\n }\r\n\r\n //Arabic Company Name \r\n // doc.text(companyInfo.companyNameAr, (doc.internal.pageSize.width - data.settings.margin.right) - 5, 15, { align: 'right' })\r\n //Arabic Company Activity \r\n // doc.text(companyInfo.companyActivityAr, (doc.internal.pageSize.width - data.settings.margin.right) - 5, 22, { align: 'right' })\r\n\r\n //English Company Name \r\n doc.text(companyInfo.companyNameEn, data.settings.margin.left + 5, 15)\r\n //English Company Activity \r\n doc.text(companyInfo.companyActivityEn, data.settings.margin.left + 5, 22)\r\n\r\n doc.setFontSize(20)\r\n\r\n //Report Title\r\n doc.text(me.props.title, data.settings.margin.left + me.props.workingTimeDetails ? 75 : 100, 20)\r\n\r\n doc.setFontSize(10)\r\n\r\n if (!printed) {\r\n for (let index = preTableFields.length - 1; index >= 0; index--) {\r\n if (preTableFields[index].trim() == '') {\r\n preTableFields.splice(index, 1);\r\n }\r\n }\r\n\r\n if (me.props.workingTimeDetails) {\r\n let i = 0;\r\n for (let index = 0; index < preTableFields.length; index++) {\r\n doc.text(preTableFields[index], doc.internal.pageSize.width - data.settings.margin.right - i, index <= 2 ? data.settings.margin.top - 15 : index <= 5 ? data.settings.margin.top - 10 : data.settings.margin.top - 5, { align: 'right' });\r\n i += 70;\r\n if (index == 2) {\r\n i = 0;\r\n }\r\n if (index == 5) {\r\n i = 0;\r\n }\r\n }\r\n printed = true;\r\n } else if ((data.settings.startY + 40) > doc.internal.pageSize.height) {\r\n let i = 0;\r\n let lines = preTableFields.length / 4;\r\n if (lines <= 1) {\r\n for (let index = 0; index < preTableFields.length; index++) {\r\n doc.text(preTableFields[index], doc.internal.pageSize.width - data.settings.margin.right - i, data.settings.margin.top - 5, { align: 'right' });\r\n i += 70;\r\n }\r\n } else if (lines <= 2) {\r\n for (let index = 0; index < preTableFields.length; index++) {\r\n doc.text(preTableFields[index], doc.internal.pageSize.width - data.settings.margin.right - i, index <= 3 ? data.settings.margin.top - 8 : data.settings.margin.top - 3, { align: 'right' });\r\n i += 70;\r\n if (index == 3) {\r\n i = 0;\r\n }\r\n }\r\n }\r\n printed = true;\r\n } else {\r\n let i = 0;\r\n let lines = preTableFields.length / 4;\r\n if (lines <= 1) {\r\n for (let index = 0; index < preTableFields.length; index++) {\r\n doc.text(preTableFields[index], doc.internal.pageSize.width - data.settings.margin.right - i, data.settings.startY - 5, { align: 'right' });\r\n i += 70;\r\n }\r\n } else if (lines <= 2) {\r\n for (let index = 0; index < preTableFields.length; index++) {\r\n doc.text(preTableFields[index], doc.internal.pageSize.width - data.settings.margin.right - i, index <= 3 ? data.settings.startY - 8 : data.settings.startY - 3, { align: 'right' });\r\n i += 70;\r\n if (index == 3) {\r\n i = 0;\r\n }\r\n }\r\n }\r\n\r\n printed = true;\r\n\r\n }\r\n }\r\n\r\n // Footer\r\n doc.setFontSize(10)\r\n\r\n doc.line(data.settings.margin.left, (doc.internal.pageSize.height - data.settings.margin.bottom) + 11, doc.internal.pageSize.width - data.settings.margin.right, (doc.internal.pageSize.height - data.settings.margin.bottom) + 11)\r\n\r\n // Date & Time\r\n let d = new Date();\r\n\r\n doc.text(d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + (d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes()), (doc.internal.pageSize.width - (data.settings.margin.right + data.settings.margin.left)) - 10, doc.internal.pageSize.height - 15)\r\n\r\n // English Address\r\n doc.text(companyInfo.adressEn, data.settings.margin.left, doc.internal.pageSize.height - 10)\r\n\r\n // Arabic Address\r\n doc.text(companyInfo.adressAr, data.settings.margin.left + 250, doc.internal.pageSize.height - 10, { align: 'right' })\r\n\r\n // Fax\r\n doc.text('Fax: ' + companyInfo.fax, data.settings.margin.left + 135, doc.internal.pageSize.height - 10)\r\n\r\n // Phone\r\n doc.text('Phone: ' + companyInfo.companyPhoneNumber, data.settings.margin.left + 85, doc.internal.pageSize.height - 10)\r\n\r\n var str = 'Page ' + doc.internal.getNumberOfPages()\r\n // Total page number plugin only available in jspdf v1.0+\r\n // if (typeof doc.putTotalPages === 'function') {\r\n // str = str + ' of ' + totalPagesExp\r\n // }\r\n\r\n // jsPDF 1.4+ uses getWidth, <1.4 uses .width\r\n var pageSize = doc.internal.pageSize\r\n var pageHeight = pageSize.height ? pageSize.height : pageSize.getHeight()\r\n\r\n // Page Number\r\n doc.text(str, (doc.internal.pageSize.width - data.settings.margin.right) - 13, pageHeight - 10)\r\n printyIndex += doc.internal.pageSize.height;\r\n },\r\n didDrawCell: this.props.workingTimeDetails ? (data) => {\r\n if (data.column.index === 0) {\r\n if (data.row.index < 3) {\r\n doc.text('Day', data.cell.x + 2, data.cell.y + 4);\r\n } else {\r\n doc.text('hour', data.cell.x + 2, data.cell.y + 4);\r\n }\r\n }\r\n } : undefined\r\n });\r\n\r\n }\r\n }\r\n }\r\n else if (this.props.singleTable) {\r\n let tableData = this.state.data.slice();\r\n let period = '';\r\n\r\n if (this.props.period && tableData.length > 0) {\r\n let to, from;\r\n if (tableData[0].date) {\r\n to = tableData[tableData.length - 1].date;\r\n from = tableData[0].date;\r\n for (let prop of tableData) {\r\n if (prop.date <= from) {\r\n from = prop.date\r\n }\r\n if (prop.date >= to) {\r\n to = prop.date\r\n }\r\n }\r\n }\r\n\r\n if (tableData[0]?.from && tableData[0]?.to) {\r\n to = tableData[0].to;\r\n from = tableData[0].from;\r\n }\r\n period += \" \";\r\n period += \" \";\r\n period += \" \";\r\n this.props.abcentFrom ? period += \"Absence during the period \" : this.props.delay ? period += `Delay during the period` : period += ` period `;\r\n period += `from: ${tableData ? from : \" - \"}`;\r\n period += ` to : ${tableData ? to : \" - \"}`;\r\n period += \" \";\r\n }\r\n let coloredHeaders = [];\r\n if (this.props.colored) {\r\n if (this.state.data.length > 0) {\r\n coloredHeaders.unshift(\r\n 'Employee code'\r\n )\r\n coloredHeaders.unshift(\r\n 'Employee name'\r\n )\r\n for (let x = 0; x < this.state.data[0].data.length; x++) {\r\n coloredHeaders.unshift(\r\n this.state.data[0].data[x].date\r\n )\r\n }\r\n coloredHeaders.unshift(\r\n 'Shift days'\r\n )\r\n }\r\n else {\r\n coloredHeaders.unshift(\r\n 'Employee code '\r\n )\r\n coloredHeaders.unshift(\r\n 'Employee name'\r\n )\r\n coloredHeaders.unshift(\r\n 'days'\r\n )\r\n coloredHeaders.unshift(\r\n 'Shift days'\r\n )\r\n }\r\n }\r\n let coloredTableData = [];\r\n if (this.props.colored) {\r\n coloredTableData = this.state.data.map((raw) => {\r\n let arr = [];\r\n for (const column of this.state.columns) {\r\n if (column.backName == 'data') {\r\n for (const col of raw.data) {\r\n arr.unshift(col.timeIn ? col.timeIn : 0);\r\n }\r\n } else {\r\n arr.unshift(raw[column.backName] ? raw[column.backName] : ' - ');\r\n }\r\n }\r\n\r\n return arr;\r\n })\r\n }\r\n let head1 = [];\r\n this.state.columns.map((row) => {\r\n if (row.backName == 'timeOut1') {\r\n head1.unshift({ content: \"First Shift\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut2') {\r\n head1.unshift({ content: \"Second Shift\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut3') {\r\n head1.unshift({ content: \"Third Shift\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut4') {\r\n head1.unshift({ content: \"Fourth Shift\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeIn1') {\r\n\r\n } else if (row.backName == 'timeIn2') {\r\n\r\n } else if (row.backName == 'timeIn3') {\r\n\r\n } else if (row.backName == 'timeIn4') {\r\n\r\n } else {\r\n head1.unshift({ content: \"\", styles: { halign: 'center' } })\r\n }\r\n });\r\n // for single table:\r\n this.CreateTable(this.state.columns, this.state.data)\r\n var printHead1 = head1.some(h => h.content != \"\");\r\n\r\n autoTable(doc, {\r\n head: this.props.colored ? [coloredHeaders] : (printHead1 ?\r\n [head1, this.head] : [this.head]),\r\n body: coloredTableData.length > 0 ? coloredTableData : this.body,\r\n theme: 'grid',\r\n headStyles: { font: 'Amiri-Regular', fillColor: 240, textColor: 10 },\r\n bodyStyles: { font: 'Amiri-Regular', overflow: 'linebreak', lineColor: 10 },\r\n styles: { cellWidth: 'auto', halign: \"center\" },\r\n didDrawPage: function (data) {\r\n // Header\r\n doc.setFontSize(10)\r\n // doc.setTextColor(40)\r\n doc.rect(data.settings.margin.left, 10, doc.internal.pageSize.width - (data.settings.margin.right + data.settings.margin.left), 15)\r\n\r\n if (me.Logo && me.Logo != 'data:') {\r\n doc.addImage(me.Logo, 'JPEG', data.settings.margin.left + 5, 13, 10, 10)\r\n }\r\n\r\n //Arabic Company Name \r\n doc.text(companyInfo.companyNameAr, (doc.internal.pageSize.width - data.settings.margin.right) - 5, 15, { align: 'right' })\r\n //Arabic Company Activity \r\n doc.text(companyInfo.companyActivityAr, (doc.internal.pageSize.width - data.settings.margin.right) - 5, 22, { align: 'right' })\r\n\r\n //English Company Name \r\n // doc.text(companyInfo.companyNameEn, data.settings.margin.left + 5, 15)\r\n //English Company Activity \r\n // doc.text(companyInfo.companyActivityEn, data.settings.margin.left + 5, 22)\r\n\r\n doc.setFontSize(20)\r\n doc.setDrawColor(0, 0, 0);\r\n\r\n //Report Title\r\n doc.text(me.props.title, data.settings.margin.left + 100, 20)\r\n\r\n doc.setFontSize(10)\r\n if (!printed) {\r\n doc.text(period, data.settings.margin.left + 130, data.settings.margin.top - 5, { align: 'center' })\r\n printed = true;\r\n }\r\n\r\n\r\n // Footer\r\n doc.setFontSize(10)\r\n\r\n doc.line(data.settings.margin.left, (doc.internal.pageSize.height - data.settings.margin.bottom) + 11, doc.internal.pageSize.width - data.settings.margin.right, (doc.internal.pageSize.height - data.settings.margin.bottom) + 11)\r\n\r\n // Date & Time\r\n let d = new Date();\r\n\r\n doc.text(d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + (d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes()), (doc.internal.pageSize.width - (data.settings.margin.right + data.settings.margin.left)) - 10, doc.internal.pageSize.height - 15)\r\n\r\n // English Address\r\n doc.text(companyInfo.adressEn, data.settings.margin.left, doc.internal.pageSize.height - 10)\r\n\r\n // Arabic Address\r\n doc.text(companyInfo.adressAr, data.settings.margin.left + 250, doc.internal.pageSize.height - 10, { align: 'right' })\r\n\r\n // Fax\r\n doc.text('Fax: ' + companyInfo.fax, data.settings.margin.left + 135, doc.internal.pageSize.height - 10)\r\n\r\n // Phone\r\n doc.text('Phone: ' + companyInfo.companyPhoneNumber, data.settings.margin.left + 85, doc.internal.pageSize.height - 10)\r\n\r\n var str = 'Page ' + doc.internal.getNumberOfPages()\r\n // Total page number plugin only available in jspdf v1.0+\r\n // if (typeof doc.putTotalPages === 'function') {\r\n // str = str + ' of ' + totalPagesExp\r\n // }\r\n\r\n // jsPDF 1.4+ uses getWidth, <1.4 uses .width\r\n var pageSize = doc.internal.pageSize\r\n var pageHeight = pageSize.height ? pageSize.height : pageSize.getHeight()\r\n\r\n // Page Number\r\n doc.text(str, (doc.internal.pageSize.width - data.settings.margin.right) - 13, pageHeight - 10)\r\n },\r\n margin: { top: 40, bottom: 25 },\r\n });\r\n }\r\n // Total page number plugin only available in jspdf v1.0+\r\n if (typeof doc.putTotalPages === 'function') {\r\n doc.putTotalPages(doc.internal.getNumberOfPages().toString())\r\n }\r\n doc.save(this.props.title + '.pdf');\r\n\r\n }\r\n}\r\n// A method for getting the select items from the Database,\r\n// inputs:\r\n// url = Web API Service url\r\n// body = Request body\r\n// name = the name of the state that the data will be stored in\r\nGetSelect(url, body, name) {\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response.message);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n}\r\n\r\n// A method for Resetting the Search fields values\r\nClear() {\r\n let tempSearchEntity = {};\r\n let tempEntity = this.state.readEntity;\r\n let backSearch = false;\r\n\r\n for (let field of this.props.searchFields) {\r\n if (field.backSearch && field.type != 'multiSelect') {\r\n tempEntity.search[field.backName] = '';\r\n backSearch = true\r\n }\r\n if (field.type == 'multiSelect') {\r\n tempEntity[field.backName] = [];\r\n backSearch = true\r\n }\r\n else {\r\n tempSearchEntity[field.backName] = '';\r\n }\r\n }\r\n if (backSearch) {\r\n this.setState({ readEntity: tempEntity, searchEntity: tempSearchEntity });\r\n // this.Read(this.state.readEntity);\r\n } else {\r\n this.setState({ searchEntity: tempSearchEntity });\r\n\r\n }\r\n}\r\n\r\nrender() {\r\n let\r\n me = this,\r\n tableRawData = this.state.data.slice(),\r\n TableData,\r\n tables = [],\r\n totals,\r\n tablesData,\r\n preTableFields,\r\n from, to, headers = [], coloredHeaders = []\r\n ;\r\n\r\n if (tableRawData.length > 0) {\r\n to = tableRawData[tableRawData.length - 1].date;\r\n from = tableRawData[0].date;\r\n for (let prop of tableRawData) {\r\n if (prop.date <= from) {\r\n from = prop.date\r\n }\r\n if (prop.date >= to) {\r\n to = prop.date\r\n }\r\n }\r\n }\r\n if (this.props.overtime) {\r\n if (this.state.data.length > 0) {\r\n for (let x = 0; x < this.state.data.length; x++) {\r\n let header1 = [], header2 = [];\r\n for (let j = 0; j < this.state.data[x].data.length; j++) {\r\n header1 = []; header2 = [];\r\n header1.push(\r\n Employee code \r\n )\r\n header1.push(\r\n Employee name \r\n )\r\n header2.push(\r\n \r\n )\r\n header2.push(\r\n \r\n )\r\n for (let i = 0; i < this.state.data[x].data[j].data.length; i++) {\r\n header1.push(\r\n {this.state.data[x].data[j].data[i].date}\r\n )\r\n header2.push(\r\n {this.state.data[x].data[j].data[i].day}\r\n )\r\n }\r\n }\r\n header1.push(\r\n Tot. Overtime \r\n )\r\n header2.push(\r\n \r\n )\r\n headers.push({ header1: header1, header2: header2 })\r\n }\r\n\r\n }\r\n }\r\n if (this.props.colored) {\r\n if (this.state.data.length > 0) {\r\n from = this.state.data[0].from;\r\n to = this.state.data[0].to;\r\n coloredHeaders.push(\r\n Employee code \r\n )\r\n coloredHeaders.push(\r\n Employee name \r\n )\r\n for (let x = 0; x < this.state.data[0].data.length; x++) {\r\n coloredHeaders.push(\r\n {this.state.data[0].data[x].date}\r\n )\r\n }\r\n coloredHeaders.push(\r\n Working days \r\n )\r\n }\r\n else {\r\n coloredHeaders.push(\r\n Employee code \r\n )\r\n coloredHeaders.push(\r\n Employee name \r\n )\r\n coloredHeaders.push(\r\n Days \r\n )\r\n coloredHeaders.push(\r\n Working days \r\n )\r\n }\r\n }\r\n\r\n if (this.state.data.length > 0) {\r\n //Check how many shifts should we show according to the general settings\r\n if (this.state.data[0].sequanceNumber) {\r\n let i = 0;\r\n switch (this.state.data[0].sequanceNumber) {\r\n case 1:\r\n //Remove the rest of the shifts\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn2')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut2')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn3')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut3')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn4')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut4')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n break;\r\n case 2:\r\n //Remove the rest of the shifts\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn3')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut3')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn4')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut4')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n break;\r\n case 3:\r\n //Remove the rest of the shifts\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn4')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut4')[0]);\r\n if (i != -1) {\r\n if (this.props.totals) {\r\n this.props.totals.splice(this.props.totals.indexOf(this.props.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // Filtering data according to the Search Fields values\r\n for (let prop in this.state.searchEntity) {\r\n if (this.state.searchEntity[prop]) {\r\n if (!prop.toString().endsWith(',from') && !prop.toString().endsWith(',to')) {\r\n tableRawData = tableRawData.filter(row => {\r\n if (row[prop] != null) {\r\n return row[prop].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n\r\n } else {\r\n return ''.toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n }\r\n });\r\n } else {\r\n if (prop.toString().endsWith(',from')) {\r\n let backName = prop.split(',')[0];\r\n tableRawData = tableRawData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate >= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n } else if (prop.toString().endsWith(',to')) {\r\n let backName = prop.split(',')[0];\r\n tableRawData = tableRawData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate <= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Getting only the required columns for display + the row id\r\n tableRawData = tableRawData.map((row) => {\r\n let tablerow = {};\r\n for (let column of this.state.columns) {\r\n tablerow[column['backName']] = row[column['backName']];\r\n }\r\n tablerow.id = row.id;\r\n\r\n return tablerow;\r\n });\r\n\r\n // if the tableRawData length changed because of the search, update the rowsTotal for Paging\r\n if (tableRawData.length != this.state.rowsTotal) {\r\n this.setState({ rowsTotal: tableRawData.length })\r\n }\r\n\r\n // Creating the Breadcrumb links\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n // Creating the SearchFields\r\n let SearchFields = this.props.searchFields.map(\r\n (field) => {\r\n let items;\r\n switch (field.type) {\r\n case 'text':\r\n return (\r\n \r\n {\r\n if (field.backSearch) {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n } else if (field.innerSearch) {\r\n this.ChangeEntityState('searchEntity', field.backName + ',inner', value)\r\n } else {\r\n this.ChangeEntityState('searchEntity', field.backName, value)\r\n }\r\n\r\n }}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n case 'date':\r\n return (\r\n \r\n {\r\n if (field.backSearch) {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n } else {\r\n this.ChangeEntityState('searchEntity', field.backName, value)\r\n }\r\n\r\n }}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n case 'select':\r\n if (field.backSearch) {\r\n if (field.label === 'Management') {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(management => management.branchId === this.state.readEntity.search[this.props.searchFields.find(field => field.label === 'Branch').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else if (field.label === 'Department') {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(department => department.administrationId === this.state.readEntity.search[this.props.searchFields.find(field => field.label === 'Management').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n }\r\n } else {\r\n if (field.label === 'Management') {\r\n if (field.innerSearch) {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(management => management.branchId === this.state.searchEntity[this.props.searchFields.find(field => field.label === 'Branch').backName + ',inner'])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(management => management.branchId === this.state.searchEntity[this.props.searchFields.find(field => field.label === 'Branch').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n }\r\n } else if (field.label === 'Department') {\r\n if (field.innerSearch) {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(department => department.administrationId === this.state.searchEntity[this.props.searchFields.find(field => field.label === 'Management').backName + ',inner'])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(department => department.administrationId === this.state.searchEntity[this.props.searchFields.find(field => field.label === 'Management').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n }\r\n } else {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n }\r\n }\r\n\r\n\r\n return (\r\n item.value === this.state.readEntity.search[field.backName]) : (field.innerSearch ? items.find(item => item.value === this.state.searchEntity[field.backName + ',inner']) : items.find(item => item.value === this.state.searchEntity[field.backName]))}\r\n onChange={(value) => {\r\n if (field.backSearch) {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n } else if (field.innerSearch) {\r\n this.ChangeEntityState('searchEntity', field.backName + ',inner', value)\r\n } else {\r\n this.ChangeEntityState('searchEntity', field.backName, value)\r\n }\r\n }}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'multiSelect':\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].map((item) => {\r\n return {\r\n label: item[field.item.label],\r\n value: item[field.item.value]\r\n }\r\n });\r\n return (\r\n item.value === this.state.readEntity.search[field.backName]) :\r\n (field.innerSearch ?\r\n items.find(item => item.value === this.state.searchEntity[field.backName + ',inner']) :\r\n items.find(item => item.value === this.state.searchEntity[field.backName]))}\r\n\r\n onChange={(value) => {\r\n if (field.backSearch) {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n\r\n this.setState({ readEntity: tempEntity });\r\n } else if (field.innerSearch) {\r\n this.ChangeEntityState('searchEntity', field.backName + ',inner', value)\r\n } else {\r\n this.ChangeEntityState('searchEntity', field.backName, value)\r\n }\r\n }}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'staticSelect':\r\n return (\r\n item.value === this.state.readEntity.search[field.backName]) : (field.innerSearch ? field.items.find(item => item.value === this.state.searchEntity[field.backName + ',inner']) : field.items.find(item => item.value === this.state.searchEntity[field.backName]))}\r\n options={field.items}\r\n onChange={(value) => {\r\n if (field.backSearch) {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n } else if (field.innerSearch) {\r\n this.ChangeEntityState('searchEntity', field.backName + ',inner', value)\r\n } else {\r\n this.ChangeEntityState('searchEntity', field.backName, value)\r\n }\r\n }}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'dateFromTo':\r\n return (\r\n \r\n this.ChangeEntityState('searchEntity', field.backName + ',from', value)}\r\n />\r\n ]}\r\n />\r\n this.ChangeEntityState('searchEntity', field.backName + ',to', value)}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n default:\r\n return (\r\n this.ChangeEntityState('searchEntity', field.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n }\r\n }\r\n );\r\n\r\n //if there is backSearch fields, then add the search button\r\n if (this.props.searchFields.some(field => field.backSearch === true)) {\r\n SearchFields.push(\r\n
\r\n this.Read(this.state.readEntity)}\r\n >\r\n Search\r\n \r\n
\r\n\r\n );\r\n }\r\n\r\n // Creating Table Headers\r\n let TableHeaders = this.state.columns.map((column, i) =>\r\n column.backName == 'timeIn1' ?\r\n First Shift\r\n :\r\n column['backName'] == 'timeIn2' ?\r\n Second Shift \r\n :\r\n column['backName'] == 'timeIn3' ?\r\n Third Shift \r\n :\r\n column['backName'] == 'timeIn4' ?\r\n Fourth Shift \r\n :\r\n column['backName'] == 'timeOut1' ?\r\n undefined\r\n :\r\n column['backName'] == 'timeOut2' ?\r\n undefined\r\n :\r\n column['backName'] == 'timeOut3' ?\r\n undefined\r\n :\r\n column['backName'] == 'timeOut4' ?\r\n undefined\r\n :\r\n {column['name']} \r\n );\r\n\r\n let TableHeaders2 = this.state.columns.some(c => c.backName == 'timeIn1') ? this.state.columns.map((column, i) =>\r\n column.backName == 'timeIn1' ?\r\n Attend \r\n :\r\n column['backName'] == 'timeIn2' ?\r\n Attend \r\n :\r\n column['backName'] == 'timeIn3' ?\r\n Attend \r\n :\r\n column['backName'] == 'timeIn4' ?\r\n Attend \r\n :\r\n column['backName'] == 'timeOut1' ?\r\n Leave \r\n :\r\n column['backName'] == 'timeOut2' ?\r\n Leave \r\n :\r\n column['backName'] == 'timeOut3' ?\r\n Leave \r\n :\r\n column['backName'] == 'timeOut4' ?\r\n Leave \r\n :\r\n \r\n\r\n ) : null;\r\n\r\n // check if we want the multi tables view or the single one\r\n let counter = 0;\r\n for (let i = 0; i < this.state.data.length; i++) {\r\n if (this.state.data[i].data) {\r\n counter = counter + 1\r\n }\r\n }\r\n\r\n if (counter > 0 && !this.props.colored) { // for multi tables:\r\n tablesData = this.state.data.slice()\r\n\r\n // The following filtering should be generic\r\n // =====================================================================\r\n // Filtering data according to the Search Fields values\r\n for (let prop in this.state.searchEntity) {\r\n if (this.state.searchEntity[prop]) {\r\n if (prop.toString().endsWith(',from') || prop.toString().endsWith(',to')) {\r\n if (prop.toString().endsWith(',from')) {\r\n let backName = prop.split(',')[0];\r\n tablesData = tablesData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate >= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n } else if (prop.toString().endsWith(',to')) {\r\n let backName = prop.split(',')[0];\r\n tablesData = tablesData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate <= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n }\r\n } else if (prop.toString().endsWith(',inner')) {\r\n let backName = prop.split(',')[0];\r\n tablesData = tablesData.map(row => {\r\n let newRow = Object.assign({}, row);\r\n newRow.data = row.data.filter(innerRow => {\r\n if (innerRow[backName] != null) {\r\n return innerRow[backName].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n } else {\r\n return false;\r\n }\r\n }).slice();\r\n return newRow;\r\n });\r\n } else {\r\n tablesData = tablesData.filter(row => {\r\n if (row[prop] != null) {\r\n return row[prop].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n\r\n } else {\r\n return ''.toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n }\r\n });\r\n }\r\n }\r\n }\r\n // =====================================================================\r\n\r\n // creating every table data component\r\n for (let i = 0; i < tablesData.length; i++) {\r\n // creating data located before every table\r\n if (this.props.preTableFields) {\r\n\r\n preTableFields = this.props.preTableFields.map((preTableField, j) => {\r\n return (\r\n
\r\n {j == 0 ? null :\r\n this.props.preTableFields.length > 3 ?\r\n null :\r\n

           

\r\n }\r\n

{preTableField.name}   :  

\r\n {preTableField.backName == 'isShiftOpen' ?\r\n

{tablesData[i][preTableField.backName] ? \"Open\" : ' Normal'}

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

{tablesData[i][preTableField.backName] ? tablesData[i][preTableField.backName] : ' -'}

\r\n\r\n }\r\n
\r\n )\r\n })\r\n }\r\n let OverTableData = [];\r\n // creating table data\r\n if (this.props.overtime) {\r\n OverTableData = tablesData[i].data.map((raw) => {\r\n return (\r\n \r\n {\r\n this.state.columns.map((column) => {\r\n return (\r\n\r\n column.backName == 'date' ?\r\n raw.data.map((col) =>\r\n {col.extraMinutes ? col.extraMinutes : 0}\r\n )\r\n :\r\n \r\n {raw[column.backName] ? raw[column.backName] : ' - '}\r\n \r\n )\r\n })\r\n }\r\n \r\n )\r\n })\r\n }\r\n\r\n let DetailsTableData = [];\r\n // creating table data\r\n if (this.props.workingTimeDetails) {\r\n DetailsTableData = tablesData[i].data.map((raw) => {\r\n return this.state.columns.map((column) => {\r\n return (\r\n \r\n \r\n {column.name}\r\n \r\n \r\n {raw[column.backName] ? raw[column.backName] : ' - '}\r\n \r\n \r\n\r\n )\r\n });\r\n })\r\n }\r\n\r\n TableData = tablesData[i].data.map((raw) => {\r\n return (\r\n \r\n {\r\n this.state.columns.map((column) => {\r\n return (\r\n column.boolean ?\r\n \r\n {\r\n raw[column.backName] === true ?\r\n {column.yes}\r\n :\r\n {column.no}\r\n }\r\n \r\n : column.enum ?\r\n \r\n {\r\n column.enum.find((item) => item.value == raw[column.backName]) ?\r\n column.enum.find((item) => item.value == raw[column.backName])['display']\r\n :\r\n raw[column.backName]\r\n }\r\n \r\n :\r\n\r\n \r\n {raw[column.backName]}\r\n \r\n )\r\n })\r\n }\r\n \r\n )\r\n })\r\n\r\n // creating totals data if existing\r\n if (this.props.totals) {\r\n totals = [\r\n \r\n {\r\n this.props.totals.map((column, index) => {\r\n return (\r\n column.backName ?\r\n {tablesData[i][column.backName]}\r\n :\r\n index === 1 ?\r\n Total \r\n :\r\n \r\n )\r\n })\r\n }\r\n \r\n ]\r\n }\r\n // Don't Draw line after the last table\r\n let hr\r\n if (i === (tablesData.length - 1)) {\r\n hr = \"\"\r\n } else {\r\n hr =
\r\n }\r\n // collecting all data components\r\n if (TableData != false) { // Not to display empty tables\r\n tables[i] = [\r\n
\r\n {\r\n this.props.period ?\r\n
\r\n
3 ? \"justify-content-between col-md-12\" : \" \"}`}> {preTableFields}\r\n         \r\n
\r\n {tablesData[0]?.from && tablesData[0]?.to ?\r\n

3 ? \"col-md-12\" : \" \"}`} >\r\n {this.props.abcentFrom ?\r\n \"Absence during the period\"\r\n :\r\n this.props.delay ? \"Delay during the period \"\r\n : \"period\"}\r\n from : \r\n {tablesData[0]?.from} \r\n   \r\n to :\r\n {tablesData[0]?.to} \r\n

: null\r\n }\r\n\r\n
\r\n :\r\n null\r\n }\r\n\r\n {this.props.overtime ?\r\n \r\n\r\n :\r\n this.props.workingTimeDetails ?\r\n
\r\n :\r\n
\r\n\r\n }\r\n\r\n ,\r\n hr\r\n ]\r\n }\r\n }\r\n } else { // for single table:\r\n // First get the specified page of data then displays it properly\r\n let coloredTableData = [];\r\n if (this.props.colored) {\r\n coloredTableData = tableRawData.map((raw) => {\r\n return (\r\n \r\n {\r\n this.state.columns.map((column) => {\r\n return (\r\n column.backName === 'data' ?\r\n raw.data.map((col, 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 TableData = tableRawData.map(\r\n function (row) {\r\n return (\r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) => {\r\n if (columnName === 'id' && me.state.columns.find(column => column.backName === 'id') === undefined) {\r\n return null;\r\n }\r\n return me.state.columns[columnIndex]['link'] ?\r\n \r\n :\r\n me.state.columns[columnIndex]['boolean'] ?\r\n \r\n :\r\n me.state.columns[columnIndex]['enum'] ?\r\n \r\n :\r\n ;\r\n })\r\n }\r\n \r\n )\r\n }\r\n );\r\n tables = [\r\n
\r\n {this.props.colored ?\r\n
\r\n
Perimmision
\r\n
Absent
\r\n
Week end
\r\n
Work
\r\n
vacation
\r\n
Early leave
\r\n
Late
\r\n
Official vacation
\r\n
\r\n\r\n :\r\n null\r\n }\r\n {\r\n this.props.period ?\r\n\r\n
\r\n {tableRawData.length > 0 ?\r\n

\r\n {this.props.abcentFrom ?\r\n \"Absence during the period \"\r\n :\r\n this.props.delay ? \" Delay during the period \"\r\n : \" period \"}\r\n from: \r\n {from} \r\n   \r\n to:\r\n {to} \r\n

: null}\r\n\r\n
\r\n :\r\n null\r\n }\r\n {this.props.colored ?\r\n
{col.timeIn ? col.timeIn : 0}\r\n {raw[column.backName] ? raw[column.backName] : ' - '}\r\n
\r\n me.state.data.find(data => data[Object.keys(row)[0]] === row[Object.keys(row)[0]])[value]).join('/')}>\r\n {\r\n me.state.columns[columnIndex]['link']['icon'] ?\r\n me.state.columns[columnIndex]['link']['icon']\r\n :\r\n me.state.columns[columnIndex]['link']['text'] ?\r\n me.state.columns[columnIndex]['link']['text']\r\n :\r\n row[columnName]\r\n }\r\n \r\n \r\n {row[columnName] ? نعم : لا}\r\n \r\n {me.state.columns[columnIndex]['enum'].find((item) => item.value == row[columnName]) ? me.state.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display'] : row[columnName]}\r\n \r\n {row[columnName]}\r\n
\r\n :\r\n
\r\n }\r\n \r\n ]\r\n }\r\n\r\n return (\r\n
\r\n {/* startOverlayComponents */}\r\n \r\n \r\n \r\n {/* endOverlayComponents */}\r\n\r\n
\r\n\r\n\r\n\r\n hideFilters()}\r\n showFilters={() => showFilters()}\r\n printPDF={() => this.Print()}\r\n showModal={(name) => this.showModal(name)}\r\n //check for print permission\r\n print={this.props.print && this.props.permissions?.data.find(permission => permission.nameEn === 'Print') ? true : false}\r\n report={true}\r\n useSearchModal={this.props.useSearchModal ? true : false}\r\n />\r\n\r\n\r\n
\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n hideFilters()}\r\n showFilters={() => showFilters()}\r\n Clear={() => this.Clear()}\r\n />\r\n\r\n
\r\n\r\n {\r\n tables\r\n }\r\n\r\n
\r\n );\r\n}\r\n}\r\n\r\nexport default ReportPage;\r\n","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './ProcedurePage.css';\r\nimport { Link } from \"react-router-dom\";\r\nimport Table from './../Table/Table';\r\nimport Cookie from \"js-cookie\";\r\nimport Modal from './../Modal/Modal';\r\nimport PageHeader from '../PageHeader/PageHeader';\r\nimport Filters, { hideFilters, showFilters } from '../Filters/Filters';\r\nimport TableFooter from '../TableFooter/TableFooter';\r\nimport Loading from '../Loading/Loading';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Exceptions from '../Exceptions/Exceptions';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport SelectShift from '../SelectShift/SelectShift';\r\nimport PermissionTypes from '../PermissionTypes/PermissionTypes';\r\nimport Button from './../Button/Button';\r\nimport Field from './../Field/Field';\r\nimport { upLayer, downLayer } from '../MainLayout/MainLayout';\r\nimport Alert from './../Alert/Alert';\r\n// for procedure pages\r\nclass ProcedurePage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n //assign by value not by reference\r\n actionEntity: props.action.body,\r\n actionErrors: [],\r\n rowsNumber: 10,\r\n rowsTotal: 0,\r\n currentPage: 1,\r\n message: { text: '', style: '' },\r\n loading: false,\r\n search: false,\r\n data: [],\r\n modalUpdated: false,\r\n errors: []\r\n }\r\n\r\n // Get the Action 'select elements' items from the Database when the page displayed for the first time\r\n for (let prop of props.actionEntityProps) {\r\n if (prop.type === 'select' || prop.type === 'multiSelect' || prop.type === 'selectShift') {\r\n this.GetSelect(prop.url, prop.body, prop.label);\r\n }\r\n }\r\n }\r\n\r\n // Styling:\r\n // ========\r\n showModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n mainLayout.style.overflow = \"visible\";\r\n }\r\n\r\n hideModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n\r\n // return the Modal elements to the default State\r\n if (modalName === 'search') {\r\n const entity = this.state.actionEntity;\r\n entity[this.props.modalBackName] = [];\r\n this.setState({ actionEntity: entity, actionErrors: [] })\r\n }\r\n }\r\n\r\n // Without returning the Modal elements to the default State\r\n hideModalWithValues(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n //if the Page have a Read operation\r\n if (this.props.read) {\r\n this.Read({ search: this.state.actionEntity });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //if the Page have a Read operation\r\n if (this.props.read) {\r\n if (this.props.permissions !== null) {\r\n this.Read({ search: this.state.actionEntity });\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n }\r\n\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n // A method for changing the state,\r\n // inputs:\r\n // key = Name of the state\r\n // value = value of the state\r\n ChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n //url bulding is explained in BasicPage\r\n fetch(\r\n this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'en'\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for performing the Page Main Action,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server (current actionEntity)\r\n Action(entity) {\r\n //if there is a 'get' permission\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ errors: errors });\r\n if (errors.length === 0) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(Cookie.get('token'));\r\n let then = (response, me) => {\r\n console.log(response);\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n // if there is a read operation in this page\r\n if (this.props.read) {\r\n me.setState(\r\n {\r\n loading: false,\r\n modalUpdated: false,\r\n message: { text: response.message, style: 'success' }\r\n }\r\n );\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n //Read data after making action\r\n this.Read({ search: this.state.actionEntity });\r\n } else if (!this.props.action.readAction && !this.props.action.ReadMachine) { // if it is not a read action (an action that only expects a response of whether the operation is successful or not)\r\n me.setState(\r\n {\r\n loading: false,\r\n modalUpdated: false,\r\n message: { text: response.message, style: 'success' }\r\n }\r\n );\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n } else { \r\n // if it is a read action (expects data from the server)\r\n me.setState(\r\n {\r\n data: response.data.list.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false,\r\n message: { text: response.message, style: 'success' }\r\n }\r\n );\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n\r\n } else { // if not succeeded\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else { // if response.status !== 200\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n\r\n this.Fetch(entity, token, 'action', then);\r\n }\r\n }\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n // if there is a 'get' permission\r\n\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState(\r\n {\r\n data: [response.data],\r\n rowsTotal: 1,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n\r\n // A method for getting the select items from the Database,\r\n // inputs:\r\n // url = Web API Service url\r\n // body = Request body\r\n // name = the name of the state that the data will be stored in\r\n GetSelect(url, body, name) {\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response.message);\r\n }\r\n })\r\n .catch(error => console.error('Unable to perform Action.', error));\r\n }\r\n\r\n // A method for Resetting the Action fields values\r\n Clear() {\r\n let tempEntity = this.state.actionEntity;\r\n for (let field of this.props.actionEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n tempEntity[field.backName] = '';\r\n }\r\n if (field.type === 'multiSelect') {\r\n tempEntity[field.backName] = [];\r\n }\r\n if (field.type === 'searchModal') {\r\n tempEntity[field.backName] = [];\r\n }\r\n }\r\n this.setState({ actionEntity: tempEntity });\r\n // if there is a read operation in this page then read data again after clearing filters\r\n if (this.props.read) {\r\n this.Read({ search: this.state.actionEntity });\r\n }\r\n }\r\n\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n\r\n Validation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.actionEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.createEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' field Should be less than or equal to \"' + toProp[0] + '\" field.');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.createEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' field Should be greater than or equal to \"' + fromProp[0] + '\" field.');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' field should be a valid email address.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat(prop.label[1] + ' field is Required.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Employee field is Required.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Date field is Required.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Selecting a Shift is Required.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Permission Type field is Required.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }\r\n render() {\r\n let me = this;\r\n // Getting only the required columns for display + the row id\r\n let tableRawData = this.state.data.map((row) => {\r\n let tablerow = {};\r\n for (let column of this.props.columns) {\r\n tablerow[column['backName']] = row[column['backName']];\r\n }\r\n\r\n return tablerow;\r\n });\r\n\r\n // if the tableRawData lenght changed because of the search, update the rowsTotal for Paging\r\n if (tableRawData.length != this.state.rowsTotal) {\r\n this.setState({ rowsTotal: tableRawData.length })\r\n }\r\n\r\n // Creating the Breadcrumb links\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n // Creating Table Headers\r\n let TableHeaders = this.props.columns.map((column) => );\r\n\r\n // First get the specified page of data then displays it properly\r\n let TableData = tableRawData\r\n // Client side pagination\r\n .slice(((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage))\r\n .map(\r\n function (row) {\r\n return (\r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) =>\r\n //Displaying data in table is explained in BasicPage\r\n me.props.columns[columnIndex]['link'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['boolean'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['enum'] ?\r\n \r\n :\r\n )\r\n }\r\n \r\n )\r\n }\r\n );\r\n\r\n // Creating Action Fields\r\n let ActionEntityProperties = this.props.actionEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n {\r\n this.ChangeEntityState('actionEntity', prop.backName, value);\r\n //Read data again if there is a read operation in this page\r\n if (this.props.read) {\r\n this.Read({ search: this.state.actionEntity });\r\n }\r\n }}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n this.ChangeEntityState('actionEntity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n return (\r\n\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.actionEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'multiSelect':\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n return (\r\n\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.state.actionEntity[prop.backName]?.includes(item.value))}\r\n options={items}\r\n //onChange={(value) => this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n value={prop.backSearch ?\r\n items?.find(item => item.value === this.state.actionEntity[prop.backName]) :\r\n (prop.innerSearch ?\r\n items.find(item => item.value === this.state.actionEntity[prop.backName + ',inner']) :\r\n items.find(item => item.value === this.state.actionEntity[prop.backName]))}\r\n\r\n onChange={(value) => {\r\n console.log(value)\r\n if (prop.backSearch) {\r\n let tempEntity = this.state.actionEntity;\r\n tempEntity[prop.backName] = value;\r\n\r\n this.setState({ actionEntity: tempEntity });\r\n } else if (prop.innerSearch) {\r\n this.ChangeEntityState('actionEntity', prop.backName + ',inner', value)\r\n } else {\r\n this.ChangeEntityState('actionEntity', prop.backName, value)\r\n }\r\n }}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n\r\n this.ChangeEntityState('actionEntity', name, value)}\r\n onText={prop.label}\r\n offText={'Not ' + prop.label}\r\n height={30}\r\n width={110}\r\n uncheckedIconWidth=\"72px\"\r\n uncheckedIconMarginLeft=\"-35px\"\r\n checkedIconMarginLeft=\"30px\"\r\n />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.actionEntity[backName])\r\n }\r\n return (\r\n\r\n this.ChangeEntityState('actionEntity', name, value)} />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.actionEntity[backName])\r\n }\r\n return (\r\n\r\n this.ChangeEntityState('actionEntity', name, value)} />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.actionEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n return (\r\n\r\n this.ChangeEntityState('actionEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.actionEntity[backName])\r\n }\r\n items = [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ];\r\n return (\r\n\r\n this.ChangeEntityState('actionEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'searchModal':\r\n return (\r\n // a button to show search modal\r\n this.showModal('search')}\r\n >\r\n +{prop.label}\r\n \r\n ]}\r\n />\r\n );\r\n case 'readOnly':\r\n return (\r\n this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n long\r\n />\r\n );\r\n default:\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n }\r\n }\r\n );\r\n\r\n return (\r\n
\r\n {/* startOverlayComponents */}\r\n\r\n {/* Search Modal explained in Basic Page */}\r\n \r\n this.hideModal(name)}\r\n searchFields={this.props.modalSearchFields}\r\n EntityProperties={ActionEntityProperties}\r\n columns={[\r\n { name: 'Code', backName: 'employeeCode' },\r\n { name: 'Name', backName: 'nameEn' }\r\n ]}\r\n errors={[]}\r\n parent={this}\r\n backName={this.props.modalBackName}\r\n read={this.props.modalRead}\r\n fetch={() => this.hideModalWithValues('search')}\r\n updated={this.state.modalUpdated}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n {/* endOverlayComponents */}\r\n\r\n\r\n
\r\n hideFilters()}\r\n showFilters={() => showFilters()}\r\n //if readaction put the action entity in an object with a property called 'search' {search: actionEntity}\r\n Action={() => this.props.action.readAction ?\r\n this.Action({ search: this.state.actionEntity }) : this.Action(this.state.actionEntity)}\r\n\r\n showModal={(name) => this.showModal(name)}\r\n report={this.props.report}\r\n procedure={this.props.permissions?.data.find(permission => permission.nameEn === 'Get') ? true : false}\r\n noCreate={!this.props.permissions?.data.find(permission => permission.nameEn === 'Get') ? true : false}\r\n btnTxt={this.props.btnTxt}\r\n btnClr={this.props.btnClr}\r\n useSearchModal={this.props.useSearchModal ? true : false}\r\n // =================\r\n />\r\n
\r\n {\r\n this.state.errors ?\r\n this.state.errors.length > 0 ?\r\n (\r\n \r\n
    \r\n {this.state.errors.map((error) =>
  • {error}
  • )}\r\n
\r\n
\r\n )\r\n :\r\n null\r\n :\r\n null\r\n }\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n this.Clear()}\r\n />\r\n {this.props.columns.length > 0 ?\r\n <>\r\n {/* if the column name is 'not transferred transactions' that means that it's a table with only one row and one cell containing the number of not transferred transactions, so we don't nead pagination for it */}\r\n {this.props.columns[0].name !== 'Not Transferred Transactions' ?\r\n {\r\n value = value > 1 ? value : 1;\r\n this.ChangeState('rowsNumber', value);\r\n this.setState({ currentPage: 1 });\r\n }}\r\n total={this.state.rowsTotal}\r\n currentPage={this.state.currentPage}\r\n currentPageChange={(value) => this.setState({ currentPage: Number(value) })}\r\n />\r\n\r\n :\r\n null}\r\n
{column['name']}
\r\n me.state.data.find(data => data[Object.keys(row)[0]] === row[Object.keys(row)[0]])[value]).join('/')}>\r\n {\r\n me.props.columns[columnIndex]['link']['icon'] ?\r\n me.props.columns[columnIndex]['link']['icon']\r\n :\r\n me.props.columns[columnIndex]['link']['text'] ?\r\n me.props.columns[columnIndex]['link']['text']\r\n :\r\n row[columnName]\r\n }\r\n \r\n \r\n {row[columnName] ? Yes : No}\r\n \r\n {me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName]) ? me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display'] : row[columnName]}\r\n \r\n {row[columnName]}\r\n
\r\n \r\n :\r\n null\r\n }\r\n \r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ProcedurePage;\r\n","import React from 'react';\r\nimport './CompanyInfo.css';\r\nimport Button from '../Button/Button';\r\nimport Cookie from \"js-cookie\";\r\nimport Field from '../Field/Field';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Loading from '../Loading/Loading';\r\nimport Alert from './../Alert/Alert';\r\nimport { ip } from './../../data/APIs';\r\n\r\nclass CompanyInfo extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n readEntity: props.read.body ? props.read.body : props.read.path,\r\n updateEntity: props.update.body,\r\n updateErrors: [],\r\n message: { text: '', style: '' },\r\n loading: false,\r\n data: [],\r\n }\r\n this.fileInput = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.permissions !== null) {\r\n this.Read(this.state.readEntity);\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n \r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n ChangeEntityStateModel(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity.model[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n ChangeFileState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n Validation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.updateEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.updateEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' field Should be less than or equal to \"' + toProp[0] + '\" field.');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.updateEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' field Should be greater than or equal to \"' + fromProp[0] + '\" field.');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' field should be a valid email address.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Day end time field is Required.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Employee field is Required.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Date field is Required.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Selecting a Shift is Required.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Permission Type field is Required.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n let url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n var formdata = new FormData();\r\n if (operation === 'update') {\r\n formdata.append(\"model\", JSON.stringify(entity.model));\r\n if (this.fileInput.current.files[0]) {\r\n formdata.append(\"imagePath\", this.fileInput.current.files[0], this.fileInput.current.files[0].name);\r\n }\r\n\r\n }\r\n\r\n fetch(url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: operation === 'read' ? null : formdata,\r\n redirect: 'follow'\r\n\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (response.data.data) {\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else {\r\n let tempEntity = Object.assign({}, response.data);\r\n delete tempEntity.image;\r\n me.setState(\r\n {\r\n data: response.data,\r\n updateEntity: { model: tempEntity, imagePath: '' },\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n }\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n // A method for Updating an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\n Update(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.updateEntityProps) {\r\n if (prop.type === 'text') {\r\n entity.model[prop.backName] = entity.model[prop.backName] ? entity.model[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity.model);\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n }\r\n\r\n render() {\r\n\r\n let UpdateEntityProperties = this.props.updateEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value+\":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'file':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.updateEntity.model[this.props.updateEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.updateEntity.model[this.props.updateEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity.model[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', name, value)}\r\n onText={'Yes'}\r\n offText={'No'}\r\n height={30}\r\n width={70}\r\n // uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n />\r\n ]}\r\n />\r\n );\r\n\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\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

CompanyInfo

\r\n
\r\n {\r\n this.state.updateErrors ?\r\n this.state.updateErrors.length > 0 ?\r\n (\r\n \r\n
    \r\n {this.state.updateErrors.map((error) =>
  • {error}
  • )}\r\n
\r\n \r\n )\r\n :\r\n null\r\n :\r\n null\r\n }\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n {UpdateEntityProperties}\r\n { this.ChangeEntityState('updateEntity', 'imagePath', this.fileInput.current.files[0]) }}\r\n accept={'image/*'}\r\n />\r\n ]}\r\n />\r\n \r\n ]}\r\n />\r\n {(!this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ')) ?\r\n null\r\n :\r\n this.Update(this.state.updateEntity)}\r\n >\r\n Save\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default CompanyInfo;","import React from 'react';\r\nimport './FormPage.css';\r\nimport Button from '../Button/Button';\r\nimport Cookie from \"js-cookie\";\r\nimport Field from '../Field/Field';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Loading from '../Loading/Loading';\r\nimport Alert from './../Alert/Alert';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport { Link } from \"react-router-dom\";\r\n\r\nclass FormPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n readEntity: props.read.body ? props.read.body : props.read.path,\r\n updateEntity: props.update.body,\r\n updateErrors: [],\r\n message: { text: '', style: '' },\r\n loading: false,\r\n data: [],\r\n }\r\n this.fileInput = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.permissions !== null) {\r\n this.Read(this.state.readEntity);\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n // this.focusInput.focus();\r\n\r\n // var inputFields = Array.from(document.getElementsByTagName(\"input\")); // Array.from is to be able to deal with the NodeList as an array\r\n // inputFields.forEach(inputField => {\r\n // inputField.addEventListener(\"keyup\", function (event) {\r\n // if (event.keyCode === 13) {\r\n // event.preventDefault();\r\n // document.getElementById(\"submitButton\").click();\r\n // }\r\n // });\r\n // })\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n ChangeFileState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n Validation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.updateEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.updateEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' field Should be less than or equal to \"' + toProp[0] + '\" field.');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.updateEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' field Should be greater than or equal to \"' + fromProp[0] + '\" field.');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' field should be a valid email address.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat(prop.label[1] + ' field is Required.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Employee field is Required.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Date field is Required.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Selecting a Shift is Required.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Permission Type field is Required.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n let url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n\r\n fetch(url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (response.data.data) {\r\n me.setState(\r\n {\r\n data: response.data.data[0],\r\n updateEntity: response.data.data[0],\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else {\r\n\r\n me.setState(\r\n {\r\n data: response.data,\r\n updateEntity: response.data,\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n }\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n // A method for Updating an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\n Update(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.updateEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n for (const key in entity) {\r\n if (entity[key] === '') {\r\n entity[key] = null;\r\n }\r\n if (!Number.isNaN(Number.parseInt(entity[key])) && typeof entity[key] !== \"boolean\") {\r\n entity[key] = Number.parseInt(entity[key]);\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n }\r\n\r\n render() {\r\n\r\n let UpdateEntityProperties = this.props.updateEntityProps.map(\r\n (prop,i) => {\r\n\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n \r\n case 'header':\r\n return (\r\n\r\n
\r\n

{prop.label}

\r\n
\r\n );\r\n case 'link':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n \r\n \r\n {prop.name}\r\n \r\n\r\n ]}\r\n />\r\n );\r\n case 'color':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'number':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value+\":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'file':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'staticSelect':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity[prop.backName])}\r\n options={prop.items}\r\n onChange={(value) => this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n onText={'Yes'}\r\n offText={'No'}\r\n height={30}\r\n width={70}\r\n // uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\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

{this.props.title}

\r\n
\r\n {\r\n this.state.updateErrors ?\r\n this.state.updateErrors.length > 0 ?\r\n (\r\n \r\n
    \r\n {this.state.updateErrors.map((error) =>
  • {error}
  • )}\r\n
\r\n \r\n )\r\n :\r\n null\r\n :\r\n null\r\n }\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n {UpdateEntityProperties}\r\n\r\n {(!this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ')) ?\r\n null\r\n :\r\n this.Update(this.state.updateEntity)}\r\n >\r\n Save\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default FormPage;","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './BasicPage.css';\r\nimport { Link } from \"react-router-dom\";\r\nimport Table from './../Table/Table';\r\nimport Cookie from \"js-cookie\";\r\nimport Modal from './../Modal/Modal';\r\nimport PageHeader from '../PageHeader/PageHeader';\r\nimport TableFooter from '../TableFooter/TableFooter';\r\nimport Loading from '../Loading/Loading';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Exceptions from '../Exceptions/Exceptions';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport SelectShift from '../SelectShift/SelectShift';\r\nimport PermissionTypes from '../PermissionTypes/PermissionTypes';\r\nimport Field from '../Field/Field';\r\n// import { upLayer, downLayer } from '../MainLayout/MainLayout';\r\n\r\n// To use testing local data instead of server data\r\nimport { testBranches } from './../../data/testData/Branches';\r\nimport Alert from './../Alert/Alert';\r\n\r\nclass PermissionsPage extends React.Component {\r\nconstructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n createEntity: props.create.body,\r\n readEntity: props.read.body ? props.read.body : props.read.path,\r\n updateEntity: props.update.body,\r\n deleteEntity: props.delete.query ? props.delete.query : props.delete.body,\r\n createErrors: [],\r\n updateErrors: [],\r\n rowsNumber: 10,\r\n rowsTotal: 0,\r\n currentPage: 1,\r\n message: { text: '', style: '' },\r\n loading: false,\r\n add: false,\r\n edit: false,\r\n delete: false,\r\n search: false,\r\n data: [],\r\n modalUpdated: false\r\n }\r\n\r\n}\r\n\r\n// Styling:\r\n// ========\r\nshowModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n // sideNav.style.overflow = \"visible\";\r\n mainLayout.style.overflow = \"visible\";\r\n}\r\n\r\nhideModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n // sideNav.style.overflow = \"auto\";\r\n // mainLayout.style.overflow = \"auto\";\r\n\r\n // return the Modal elements to the default State\r\n if (modalName === 'add') {\r\n const entity = this.state.createEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n if (field.label === 'Active') {\r\n entity[field.backName] = true;\r\n } else {\r\n entity[field.backName] = false;\r\n }\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n if (field.type === 'exceptions') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = false;\r\n }\r\n }\r\n if (field.type === 'selectShift') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n if (field.type === 'permissionType') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n }\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'search') {\r\n const entity = this.state.createEntity;\r\n entity[this.props.modalBackName] = [];\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'edit') {\r\n const entity = this.state.updateEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n entity[field.backName] = true;\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n }\r\n this.setState({ updateEntity: entity, updateErrors: [] })\r\n }\r\n}\r\n// ========\r\n\r\ncomponentDidMount() {\r\n // Read Data from the Database and Display it\r\n if (this.props.permissions !== null) {\r\n this.Read(this.state.readEntity);\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n // To rise Lists Component up:\r\n // const lists = document.querySelector(\"#lists\");\r\n // lists.addEventListener(\"mouseenter\", () => { downLayer(); });\r\n // lists.addEventListener(\"mouseleave\", () => { upLayer(); });\r\n}\r\n\r\n// A method for changing the entity properties,\r\n// inputs:\r\n// state = Name of the entity, e.g: createEntity, updateEntity ... \r\n// name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n// value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\nChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n}\r\n\r\nAddPermission(state, pageId, permissionId) {\r\n let tempEntity = this.state[state];\r\n if (tempEntity.pagePermissions.find(page => page.pageId === pageId)) {\r\n if (!tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.find(id => id === permissionId)) {\r\n tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.push(permissionId);\r\n }\r\n } else {\r\n tempEntity.pagePermissions.push({\r\n \"pageId\": pageId,\r\n \"permissionIds\": [\r\n permissionId\r\n ]\r\n });\r\n }\r\n this.setState({ [state]: tempEntity });\r\n}\r\n\r\nSelectAllPermissions() {\r\n let tempEntity = { \"groupId\": this.props.params.groupId, \"pagePermissions\": [] };\r\n for (const page of this.state.data) {\r\n tempEntity.pagePermissions.push({\r\n \"pageId\": page.id,\r\n \"permissionIds\": [\r\n 1, 2, 3, 4, 5\r\n ]\r\n });\r\n }\r\n this.setState({ updateEntity: tempEntity });\r\n\r\n}\r\n\r\nRemovePermission(state, pageId, permissionId) {\r\n let tempEntity = this.state[state];\r\n\r\n tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds \r\n= tempEntity.pagePermissions.find(page => page.pageId === pageId)\r\n .permissionIds.filter(id => id !== permissionId);\r\n \r\n if (tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.length === 0) {\r\n tempEntity.pagePermissions = tempEntity.pagePermissions.filter(page => page.pageId !== pageId)\r\n }\r\n\r\n this.setState({ [state]: tempEntity });\r\n}\r\n// A method for changing the state,\r\n// inputs:\r\n// key = Name of the state\r\n// value = value of the state\r\nChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n}\r\n\r\n// A method for Validating the user inputs before Creating or Updating,\r\n// inputs:\r\n// entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n// output:\r\n// Array of errors if exist, otherwise an empty Array\r\nValidation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.createEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' field Should be less than or equal to \"' + toProp[0] + '\" field.');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.createEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' field Should be greater than or equal to \"' + fromProp[0] + '\" field.');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' field should be a valid email address.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Day end time field is Required.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Employee field is Required.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Date field is Required.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Selecting a Shift is Required.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Permission Type field is Required.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n}\r\n\r\n// A method for making a fetch Request,\r\n// inputs:\r\n// entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n// token = the JWT Barear Authorization token.\r\n// operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n// then = the method that will be executed when we receive the response\r\nFetch(entity, token, operation, then) {\r\n let url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].body ?\r\n this.props[operation].url + '?' + Object.keys(this.props[operation].query).map((key) => key + '=' + this.props[operation].query[key]).join('&')\r\n :\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n fetch(url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n}\r\n\r\n// A method for Creating a new entity in the Database,\r\n// inputs:\r\n// entity = the entity that will be sent to the Server for Creating (current createEntity)\r\nCreate(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ createErrors: errors });\r\n\r\n //if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (me.props.useSearchModal) {\r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n if (me.props.useSearchModal) {\r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ createErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'create', then);\r\n }\r\n}\r\n\r\n// A method for Reading data from Database,\r\n// inputs:\r\n// entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\nRead(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (response.data.data) {\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else {\r\n me.setState(\r\n {\r\n data: response.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n for (const page of response.data) {\r\n for (const permission of page.data) {\r\n if (permission.displayed) {\r\n me.AddPermission('updateEntity', page.id, permission.id);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n}\r\n\r\n// A method for Updating an existing entity in the Database,\r\n// inputs:\r\n// entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\nUpdate(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n}\r\n\r\n// A method for Deleting an existing entity in the Database,\r\n// inputs:\r\n// entity = the entity that will be sent to the Server for Delete (current deleteEntity)\r\nDelete(entity) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'delete', then);\r\n}\r\n\r\n// A method for getting the data of the selected row and putting it in the updateEntity,\r\n// inputs:\r\n// id = Selected row ID\r\nGetForUpdate(id) {\r\n let tempEntity = this.state.updateEntity;\r\n for (let prop in tempEntity) {\r\n tempEntity[prop] = this.state.data.find(item => item.id === id) ? this.state.data.find(item => item.id === id)[prop] === undefined ? tempEntity[prop] : this.state.data.find(item => item.id === id)[prop] : this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop] === undefined ? tempEntity[prop] : this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop];\r\n }\r\n this.setState({ updateEntity: tempEntity });\r\n}\r\n\r\n// A method for getting the id of the selected row and putting it in the deleteEntity,\r\n// inputs:\r\n// id = Selected row ID\r\nGetIdForDelete(id) {\r\n let tempEntity = this.state.deleteEntity;\r\n if (Array.isArray(tempEntity[Object.keys(tempEntity)[0]])) {\r\n tempEntity[Object.keys(tempEntity)[0]] = [id];\r\n } else {\r\n tempEntity[Object.keys(tempEntity)[0]] = id;\r\n }\r\n this.setState({ deleteEntity: tempEntity });\r\n}\r\n\r\n// A method for getting the select items from the Database,\r\n// inputs:\r\n// url = Web API Service url\r\n// body = Request body\r\n// name = the name of the state that the data will be stored in\r\nGetSelect(url, body, name) {\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response.message);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n}\r\n\r\nrender() {\r\n let me = this;\r\n let tableRawData = this.state.data;\r\n\r\n tableRawData = tableRawData.map((row) => {\r\n let tablerow = {};\r\n for (let column of this.props.columns) {\r\n if (column.checkbox) {\r\n tablerow[column.backName] = row.data.find(p => p.nameEn === column.backName).displayed;\r\n } else {\r\n tablerow[column.backName] = row[column.backName];\r\n }\r\n }\r\n tablerow.id = row.id;\r\n\r\n return tablerow;\r\n });\r\n\r\n // if the tableRawData length changed because of the search, update the rowsTotal for Paging\r\n if (tableRawData.length != this.state.rowsTotal) {\r\n this.setState({ rowsTotal: tableRawData.length })\r\n }\r\n\r\n // Creating the Breadcrumb links\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n // Creating Table Headers\r\n let TableHeaders = this.props.columns.map((column) => column.selection ?\r\n
\r\n :\r\n )\r\n .concat([me.props.noDelete && me.props.noEdit ? null : ]);\r\n\r\n // First get the specified page of data then displays it properly\r\n let TableData = tableRawData\r\n // .slice(((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage))\r\n .map(\r\n function (row) {\r\n return (\r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) => {\r\n if (columnName === 'id' && me.props.columns.find(column => column.backName === 'id') === undefined) {\r\n return null;\r\n }\r\n return me.props.columns[columnIndex]['link'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['boolean'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['enum'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['checkbox'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['selection'] ?\r\n \r\n :\r\n ;\r\n })\r\n .concat([me.props.noDelete && me.props.noEdit ? null :\r\n \r\n ])\r\n }\r\n \r\n )\r\n }\r\n );\r\n\r\n // Creating Add Modal Fields\r\n let CreateEntityProperties = this.props.createEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value+\":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.createEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n // this.ChangeEntityState('createEntity', name, value)}\r\n // onText={'Yes'}\r\n // offText={'No'}\r\n // height={30}\r\n // width={125}\r\n // // uncheckedIconWidth=\"80px\"\r\n // // uncheckedIconMarginLeft=\"-38px\"\r\n // checkedIconMarginLeft=\"10px\"\r\n // />\r\n this.ChangeEntityState('createEntity', name, value.currentTarget.checked)}\r\n\r\n />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n\r\n items = this.state.createEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'All Day', value: 4 }\r\n ];\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n }\r\n }\r\n );\r\n\r\n let UpdateEntityProperties;\r\n\r\n // if there is an Update operation in this page, Create Edit Modal Fields\r\n if (!this.props.noEdit) {\r\n UpdateEntityProperties = this.props.updateEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value+\":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n // this.ChangeEntityState('updateEntity', name, value.currentTarget.checked)}\r\n // onText={'Yes'}\r\n // offText={'No'}\r\n // height={30}\r\n // width={125}\r\n // // uncheckedIconWidth=\"80px\"\r\n // // uncheckedIconMarginLeft=\"-38px\"\r\n // checkedIconMarginLeft=\"10px\"\r\n // />\r\n this.ChangeEntityState('updateEntity', name,value.currentTarget.checked)} />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n\r\n items = this.state.updateEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'All Day', value: 4 }\r\n ];\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\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 {/* startOverlayComponents */}\r\n\r\n \r\n \r\n \r\n {/* endOverlayComponents */}\r\n\r\n\r\n
\r\n this.showModal(name)}\r\n report={this.props.report}\r\n procedure={this.props.procedure}\r\n save={this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ') ? true : false}\r\n noCreate={!this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ') ? true : false}\r\n Action={() => this.Update(this.state.updateEntity)}\r\n useSearchModal={this.props.useSearchModal ? true : false}\r\n // =====================\r\n />\r\n
\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n\r\n {/* {\r\n value = value > 1 ? value : 1;\r\n this.ChangeState(name, value);\r\n this.setState({ currentPage: 1 });\r\n }}\r\n total={this.state.rowsTotal}\r\n currentPage={this.state.currentPage}\r\n currentPageChange={(value) => this.setState({ currentPage: Number(value) })}\r\n /> */}\r\n
\r\n {/* page.permissionIds.length === 5) ? true : false}\r\n onChange={( value) => {\r\n if (value) {\r\n me.SelectAllPermissions();\r\n } else {\r\n this.setState({ updateEntity: { \"groupId\": me.props.params.groupId, \"pagePermissions\": [] } });\r\n }\r\n }}\r\n onText={''}\r\n offText={''}\r\n height={20}\r\n width={40}\r\n uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n /> */}\r\n page.permissionIds.length === 5) ? true : false}\r\n onChange={(value) => {\r\n if (value.currentTarget.checked) {\r\n me.SelectAllPermissions();\r\n } else {\r\n this.setState({ updateEntity: { \"groupId\": me.props.params.groupId, \"pagePermissions\": [] } });\r\n }\r\n }} />\r\n {column['name']}Actions
\r\n me.state.data.find(data => data[Object.keys(row)[0]] === row[Object.keys(row)[0]])[value]).join('/')}>\r\n {\r\n me.props.columns[columnIndex]['link']['icon'] ?\r\n me.props.columns[columnIndex]['link']['icon']\r\n :\r\n me.props.columns[columnIndex]['link']['text'] ?\r\n me.props.columns[columnIndex]['link']['text']\r\n :\r\n row[columnName]\r\n }\r\n \r\n \r\n {row[columnName] ? Yes : No}\r\n \r\n {me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName]) ? me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display'] : row[columnName]}\r\n \r\n {/* page.pageId === row.id) ?\r\n me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.find(id => id === me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id) ?\r\n true\r\n : false\r\n : false}\r\n backName={columnName}\r\n onChange={( value) => value ? me.AddPermission('updateEntity', row.id, me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id) : me.RemovePermission('updateEntity', row.id, me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id)}\r\n onText={''}\r\n offText={''}\r\n height={20}\r\n width={40}\r\n uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n /> */}\r\n page.pageId === row.id) ?\r\n me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.find(id => id === me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id) ?\r\n true\r\n : false\r\n : false}\r\n onChange={(value) => {\r\n value.currentTarget.checked ? \r\n me.AddPermission('updateEntity', row.id, me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id) : me.RemovePermission('updateEntity', row.id, me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id)}}\r\n />\r\n \r\n {/* page.pageId === row.id) ?\r\n me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(1) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(2) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(3) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(4) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(5) ?\r\n true\r\n : false\r\n : false}\r\n backName={columnName}\r\n onChange={( value) => {\r\n if (value) {\r\n for (let index = 1; index < 6; index++) {\r\n me.AddPermission('updateEntity', row.id, index)\r\n }\r\n } else {\r\n for (let index = 1; index < 6; index++) {\r\n me.RemovePermission('updateEntity', row.id, index)\r\n }\r\n }\r\n }}\r\n onText={''}\r\n offText={''}\r\n height={20}\r\n width={40}\r\n uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n /> */}\r\n page.pageId === row.id) ?\r\n me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(1) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(2) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(3) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(4) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(5) ?\r\n true\r\n : false\r\n : false}\r\n onChange={(value) => {\r\n if (value.currentTarget.checked) {\r\n for (let index = 1; index < 6; index++) {\r\n me.AddPermission('updateEntity', row.id, index)\r\n }\r\n } else {\r\n for (let index = 1; index < 6; index++) {\r\n me.RemovePermission('updateEntity', row.id, index)\r\n }\r\n }\r\n }} />\r\n \r\n {row[columnName]}\r\n \r\n {!me.props.noDelete ?\r\n {\r\n me.showModal(\"delete\");\r\n me.GetIdForDelete(row.id ? row.id : row[Object.keys(row)[0]]);\r\n }}>\r\n : null}\r\n {!me.props.noEdit ?\r\n {\r\n me.showModal(\"edit\");\r\n me.GetForUpdate(row.id ? row.id : row[Object.keys(row)[0]]);\r\n }}\r\n >\r\n : null}\r\n
\r\n\r\n \r\n\r\n \r\n );\r\n}\r\n}\r\n\r\nexport default PermissionsPage;\r\n","import React from 'react';\r\nimport './ModalPage.css';\r\nimport Button from '../Button/Button';\r\nimport Cookie from \"js-cookie\";\r\nimport Field from '../Field/Field';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Loading from '../Loading/Loading';\r\nimport Alert from '../Alert/Alert';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport Exceptions from '../Exceptions/Exceptions';\r\nimport $, { error } from \"jquery\";\r\nimport { Link } from \"react-router-dom\";\r\nimport PageHeader from '../PageHeader/PageHeader';\r\nimport { adminIp } from './../../data/APIs';\r\nimport { ip } from './../../data/APIs';\r\n\r\nclass ModalPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n entity: props.action.body ? props.action.body : props.action,\r\n readEntity: props.read ? (props.read.body ? props.read.body : (props.read.path ? props.read.path : {})) : undefined,\r\n errors: [],\r\n message: { text: '', style: '' },\r\n loading: false,\r\n data: [],\r\n pageName: props.pageName ? props.pageName : '',\r\n tryEmail: null,\r\n tryPhone: null\r\n }\r\n\r\n // Get the Search Fields 'select elements' items from the Database when the page displayed for the first time\r\n if (props.searchFields) { // to prevent undefined error\r\n for (let field of props.searchFields) {\r\n if (field.type === 'select') {\r\n this.GetSelect(field.url, field.body, field.label);\r\n }\r\n }\r\n }\r\n\r\n // Get the Create & Update 'select elements' items from the Database when the page displayed for the first time\r\n for (let prop of props.EntityProps) {\r\n // if the items already exist in the Search Field Don't Get it from the Database again\r\n if (prop.type === 'select') {\r\n this.GetSelect(prop.url, prop.body, prop.label);\r\n // selectShift Components don't have a Label\r\n } else if (prop.type === 'selectShift') {\r\n this.GetSelect(prop.url, prop.body, prop.label);\r\n }\r\n }\r\n\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.read) {\r\n this.Read(this.state.readEntity);\r\n }\r\n }\r\n\r\n // A method for getting the select items from the Database,\r\n // inputs:\r\n // url = Web API Service url\r\n // body = Request body\r\n // name = the name of the state that the data will be stored in\r\n GetSelect(url, body, name) {\r\n\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n Validation(entity) {\r\n let errors = [];\r\n let i = 0;\r\n for (let prop of this.props.EntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('Compare')) {\r\n if (entity[prop.backName] !== entity[this.props.EntityProps[i - 1].backName]) {\r\n errors = errors.concat(prop.label + ' لا يطابق ' + this.props.EntityProps[i - 1].label + '.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.EntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' field Should be less than or equal to \"' + toProp[0] + '\" field.');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.EntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' field Should be greater than or equal to \"' + fromProp[0] + '\" field.');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' field should be a valid email address.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat(prop.label[1] + ' field is Required.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Employee field is Required.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Date field is Required.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Selecting a Shift is Required.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Permission Type field is Required.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n i++;\r\n }\r\n return errors;\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n let url = ''\r\n let body = {\r\n \"message\": entity\r\n }\r\n if (operation == 'try') {\r\n if (this.props.pageName == 'emailEdites') {\r\n url = ip + \"/api/EmailTest\";\r\n }\r\n else {\r\n url = ip + \"/api/MessageTest\";\r\n }\r\n }\r\n else {\r\n url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n }\r\n\r\n\r\n let end;\r\n let start = Date.now();\r\n fetch(url, {\r\n method: operation == 'try' ? 'POST' : this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'en'\r\n },\r\n body: operation == 'try' ? JSON.stringify(body) : this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n if (this.state.errors.length === 0) {\r\n // window.history.back();\r\n }\r\n\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (response.data.data) {\r\n me.setState(\r\n {\r\n data: response.data.data[0],\r\n entity: response.data.data[0],\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else {\r\n\r\n me.setState(\r\n {\r\n data: response.data,\r\n entity: response.data,\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n }\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n\r\n }\r\n // A method for Updating an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\n Action(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.EntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ errors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ errors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'action', then);\r\n // window.history.back();\r\n }\r\n }\r\n tryService(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'}\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ errors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ errors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'try', then);\r\n // window.history.back();\r\n }\r\n }\r\n\r\n AddToTextValue(backName, value) {\r\n\r\n let newValue = this.state.entity[backName] ? this.state.entity[backName] : '';\r\n newValue = newValue + value\r\n this.ChangeEntityState('entity', backName, newValue)\r\n }\r\n trySMS(tryPhone) {\r\n let token = Cookie.get('token');\r\n\r\n fetch('http://www.jawalsms.net/httpSmsProvider.aspx?username=' + this.state.data.userName + '&password=' + this.state.data.password +\r\n '&mobile=' + tryPhone + '&unicode=' + \"E\" + '&message=' + \"ًWelcom Apex\" + '&sender=' + this.state.data.senderName, { mode: 'no-cors' }, {\r\n method: 'GET',\r\n })\r\n .then(response => {\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n render() {\r\n let Path = this.props.path.map((folder, i) => i === this.props.path.length - 1 ?\r\n {folder.title}\r\n : {folder.title});\r\n\r\n let EntityProperties = this.props.EntityProps.map(\r\n (prop, i) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n\r\n case 'info':\r\n return (\r\n
\r\n
\r\n {prop.label}\r\n
\r\n

:

\r\n
{this.state.entity[prop.backName]}
\r\n
\r\n );\r\n case 'textarea':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n
\r\n this.AddToTextValue(prop.backName, value)}\r\n />\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n
\r\n\r\n ]}\r\n />\r\n );\r\n case 'number':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'file':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.entity[this.props.EntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.entity[this.props.EntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.entity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'staticSelect':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.entity[prop.backName])}\r\n options={prop.items}\r\n onChange={(value) => this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', name, value)}\r\n onText={'نعم'}\r\n offText={'لا'}\r\n height={30}\r\n width={70}\r\n onHandleColor=\"#70c767\"\r\n onColor=\"#e1fcde\"\r\n // uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.entity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('entity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.entity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('entity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\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

{this.props.title}

\r\n
\r\n {\r\n this.state.errors ?\r\n this.state.errors.length > 0 ?\r\n (\r\n \r\n
    \r\n {this.state.errors.map((error) =>
  • {error}
  • )}\r\n
\r\n
\r\n )\r\n :\r\n null\r\n :\r\n null\r\n }\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n\r\n {this.state.entity.trial ?\r\n
\r\n

Now you are in free trial

\r\n

Do you want more ??

\r\n
\r\n :\r\n\r\n EntityProperties\r\n }\r\n\r\n
\r\n
\r\n {this.state.pageName == 'planEdites' ?\r\n this.state.entity.trial ?\r\n \r\n\r\n :\r\n
\r\n
\r\n Renew plan \r\n\r\n
\r\n \r\n
\r\n\r\n :\r\n {\r\n this.Action(this.state.entity)\r\n var scrollTop = $('.myalert')?.offset().top;\r\n $(window).scrollTop(scrollTop);\r\n if ($(\".Alert\").hasClass('d-none')) {\r\n $(\".Alert\").removeClass('d-none');\r\n }\r\n setTimeout(() => {\r\n if (this.state.errors.length <= 0)\r\n window.history.back()\r\n }, 2000)\r\n }}\r\n >\r\n Save\r\n \r\n }\r\n\r\n
\r\n
\r\n {this.props.routUnregistered ?\r\n \r\n cansel \r\n :\r\n 1 ? this.props.path[this.props.path.length - 2].path : this.props.path[0].path}\r\n className=\"btn oval cancel\"\r\n\r\n >\r\n cansel \r\n \r\n\r\n }\r\n\r\n
\r\n\r\n\r\n
\r\n {\r\n this.props.pageName == 'smsEdites' ?\r\n
\r\n
\r\n
Try mobile SMS
\r\n
\r\n { }}\r\n />\r\n ]}\r\n />\r\n
\r\n {\r\n this.trySMS(this.state.tryPhone)\r\n var scrollTop = $('.myalert')?.offset().top;\r\n $(window).scrollTop(scrollTop);\r\n if ($(\".Alert\").hasClass('d-none')) {\r\n $(\".Alert\").removeClass('d-none');\r\n }\r\n }}\r\n >\r\n Send\r\n \r\n
\r\n
\r\n\r\n :\r\n this.props.pageName == 'emailEdites' ?
\r\n
\r\n
Try emails
\r\n
\r\n {\r\n this.setState({ tryEmail: value })\r\n }}\r\n />\r\n ]}\r\n />\r\n
\r\n {\r\n this.tryService(this.state.tryEmail)\r\n var scrollTop = $('.myalert')?.offset().top;\r\n $(window).scrollTop(scrollTop);\r\n if ($(\".Alert\").hasClass('d-none')) {\r\n $(\".Alert\").removeClass('d-none');\r\n }\r\n }}\r\n >\r\n Send\r\n \r\n
\r\n
: null}\r\n\r\n\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ModalPage;","\r\n/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport Table from '../Table/Table';\r\nimport Cookie from \"js-cookie\";\r\nimport Modal from '../Modal/Modal';\r\nimport PageHeader from '../PageHeader/PageHeader';\r\nimport Loading from '../Loading/Loading';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Exceptions from '../Exceptions/Exceptions';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport SelectShift from '../SelectShift/SelectShift';\r\nimport PermissionTypes from '../PermissionTypes/PermissionTypes';\r\nimport Field from '../Field/Field';\r\n// import { upLayer, downLayer } from '../MainLayout/MainLayout';\r\n\r\n// To use testing local data instead of server data\r\nimport { testBranches } from '../../data/testData/Branches';\r\nimport Alert from '../Alert/Alert';\r\n\r\nclass MessagesSettingsEn extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n readEntity: props.read.body ? props.read.body : props.read.path,\r\n updateEntity: props.update.body,\r\n data: [],\r\n }\r\n\r\n }\r\n\r\n // Styling:\r\n // ========\r\n showModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n // sideNav.style.overflow = \"visible\";\r\n mainLayout.style.overflow = \"visible\";\r\n }\r\n\r\n hideModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n // sideNav.style.overflow = \"auto\";\r\n // mainLayout.style.overflow = \"auto\";\r\n\r\n // return the Modal elements to the default State\r\n if (modalName === 'add') {\r\n const entity = this.state.createEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n if (field.label === 'Active') {\r\n entity[field.backName] = true;\r\n } else {\r\n entity[field.backName] = false;\r\n }\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n if (field.type === 'exceptions') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = false;\r\n }\r\n }\r\n if (field.type === 'selectShift') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n if (field.type === 'permissionType') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n }\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'search') {\r\n const entity = this.state.createEntity;\r\n entity[this.props.modalBackName] = [];\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'edit') {\r\n const entity = this.state.updateEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n entity[field.backName] = true;\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n }\r\n this.setState({ updateEntity: entity, updateErrors: [] })\r\n }\r\n }\r\n // ========\r\n\r\n componentDidMount() {\r\n // Read Data from the Database and Display it\r\n if (this.props.permissions !== null) {\r\n this.Read(this.state.readEntity);\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n // To rise Lists Component up:\r\n // const lists = document.querySelector(\"#lists\");\r\n // lists.addEventListener(\"mouseenter\", () => { downLayer(); });\r\n // lists.addEventListener(\"mouseleave\", () => { upLayer(); });\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n AddPermission(state, pageId, permissionId) {\r\n let tempEntity = this.state[state];\r\n if (tempEntity.pagePermissions.find(page => page.pageId === pageId)) {\r\n if (!tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.find(id => id === permissionId)) {\r\n tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.push(permissionId);\r\n }\r\n } else {\r\n tempEntity.pagePermissions.push({\r\n \"pageId\": pageId,\r\n \"permissionIds\": [\r\n permissionId\r\n ]\r\n });\r\n }\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n SelectAllPermissions() {\r\n let tempEntity = { \"groupId\": this.props.params.groupId, \"pagePermissions\": [] };\r\n for (const page of this.state.data) {\r\n tempEntity.pagePermissions.push({\r\n \"pageId\": page.id,\r\n \"permissionIds\": [\r\n 1, 2, 3, 4, 5\r\n ]\r\n });\r\n }\r\n this.setState({ updateEntity: tempEntity });\r\n\r\n }\r\n\r\n RemovePermission(state, pageId, permissionId) {\r\n let tempEntity = this.state[state];\r\n tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds = tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.filter(id => id !== permissionId);\r\n\r\n if (tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.length === 0) {\r\n tempEntity.pagePermissions = tempEntity.pagePermissions.filter(page => page.pageId !== pageId)\r\n }\r\n\r\n this.setState({ [state]: tempEntity });\r\n }\r\n // A method for changing the state,\r\n // inputs:\r\n // key = Name of the state\r\n // value = value of the state\r\n ChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n Validation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.createEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' field Should be less than or equal to \"' + toProp[0] + '\" field.');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.createEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' field Should be greater than or equal to \"' + fromProp[0] + '\" field.');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' field should be a valid email address.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Day end time field is Required.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Employee field is Required.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Date field is Required.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Selecting a Shift is Required.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Permission Type field is Required.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n let url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].body ?\r\n this.props[operation].url + '?' + Object.keys(this.props[operation].query).map((key) => key + '=' + this.props[operation].query[key]).join('&')\r\n :\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n fetch(url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for Creating a new entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating (current createEntity)\r\n Create(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ createErrors: errors });\r\n\r\n //if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (me.props.useSearchModal) {\r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n if (me.props.useSearchModal) {\r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ createErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'create', then);\r\n }\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState({ loading: false, data: response.data });\r\n\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n\r\n // A method for Updating an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\n Update(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n }\r\n\r\n // A method for Deleting an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Delete (current deleteEntity)\r\n Delete(entity) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'delete', then);\r\n }\r\n\r\n // A method for getting the data of the selected row and putting it in the updateEntity,\r\n // inputs:\r\n // id = Selected row ID\r\n GetForUpdate(id) {\r\n let tempEntity = this.state.updateEntity;\r\n for (let prop in tempEntity) {\r\n tempEntity[prop] = this.state.data.find(item => item.id === id) ? this.state.data.find(item => item.id === id)[prop] === undefined ? tempEntity[prop] : this.state.data.find(item => item.id === id)[prop] : this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop] === undefined ? tempEntity[prop] : this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop];\r\n }\r\n this.setState({ updateEntity: tempEntity });\r\n }\r\n\r\n // A method for getting the id of the selected row and putting it in the deleteEntity,\r\n // inputs:\r\n // id = Selected row ID\r\n GetIdForDelete(id) {\r\n let tempEntity = this.state.deleteEntity;\r\n if (Array.isArray(tempEntity[Object.keys(tempEntity)[0]])) {\r\n tempEntity[Object.keys(tempEntity)[0]] = [id];\r\n } else {\r\n tempEntity[Object.keys(tempEntity)[0]] = id;\r\n }\r\n this.setState({ deleteEntity: tempEntity });\r\n }\r\n\r\n // A method for getting the select items from the Database,\r\n // inputs:\r\n // url = Web API Service url\r\n // body = Request body\r\n // name = the name of the state that the data will be stored in\r\n GetSelect(url, body, name) {\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response.message);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n }\r\n\r\n render() {\r\n let me = this;\r\n let tableRawData = this.state.data;\r\n let updatedData = this.state.data;\r\n let cheackAll, cheackRow1, cheackRow2, cheackRow3, cheackRow4, cheackRow5;\r\n\r\n // if the tableRawData length changed because of the search, update the rowsTotal for Paging\r\n if (tableRawData.length != this.state.rowsTotal) {\r\n this.setState({ rowsTotal: tableRawData.length })\r\n }\r\n if (this.state.data) {\r\n cheackRow1 = this.state.data.isLateTime;\r\n cheackRow2 = this.state.data.isAlertLateWithEmail && this.state.data.isAlertLateWithSMS;\r\n cheackRow3 = this.state.data.isAlertAbsentWithEmail && this.state.data.isAlertAbsentWithSMS;\r\n cheackRow4 = this.state.data.isAlertPermissionWithEmail && this.state.data.isAlertpermissionWithSMS;\r\n cheackRow5 = this.state.data.isAlertVocationWithEmail && this.state.data.isAlertVocationWithSMS;\r\n cheackAll = cheackRow1 && cheackRow2 && cheackRow3 && cheackRow4 && cheackRow5\r\n }\r\n\r\n // Creating the Breadcrumb links\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n // Creating Table Headers\r\n let TableHeaders = this.props.columns.map((column) => column.selection ?\r\n
\r\n :\r\n )\r\n ;\r\n\r\n // First get the specified page of data then displays it properly\r\n let TableData = []\r\n // .slice(((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage))\r\n TableData.push(\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n );\r\n TableData.push(\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n );\r\n TableData.push(\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n )\r\n TableData.push(\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n )\r\n TableData.push(\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n )\r\n\r\n\r\n\r\n\r\n\r\n // Creating Add Modal Fields\r\n let CreateEntityProperties = this.props.createEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.createEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n // this.ChangeEntityState('createEntity', name, value)}\r\n // onText={'Yes'}\r\n // offText={'No'}\r\n // height={30}\r\n // width={125}\r\n // // uncheckedIconWidth=\"80px\"\r\n // // uncheckedIconMarginLeft=\"-38px\"\r\n // checkedIconMarginLeft=\"10px\"\r\n // />\r\n this.ChangeEntityState('createEntity', name, value.currentTarget.checked)} />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n\r\n items = this.state.createEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'All Day', value: 4 }\r\n ];\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n }\r\n }\r\n );\r\n\r\n let UpdateEntityProperties;\r\n\r\n // if there is an Update operation in this page, Create Edit Modal Fields\r\n if (!this.props.noEdit) {\r\n UpdateEntityProperties = this.props.updateEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n // this.ChangeEntityState('updateEntity', name, value.currentTarget.checked)}\r\n // onText={'Yes'}\r\n // offText={'No'}\r\n // height={30}\r\n // width={125}\r\n // // uncheckedIconWidth=\"80px\"\r\n // // uncheckedIconMarginLeft=\"-38px\"\r\n // checkedIconMarginLeft=\"10px\"\r\n // />\r\n this.ChangeEntityState('updateEntity', name, value.currentTarget.checked)} />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n\r\n items = this.state.updateEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'All Day', value: 4 }\r\n ];\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\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 {/* startOverlayComponents */}\r\n\r\n \r\n \r\n \r\n {/* endOverlayComponents */}\r\n\r\n\r\n
\r\n this.showModal(name)}\r\n report={this.props.report}\r\n procedure={this.props.procedure}\r\n save={this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ') ? true : false}\r\n noCreate={!this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ') ? true : false}\r\n Action={() => {\r\n if (this.state.data.alertLateTime == null) {\r\n this.state.data.alertLateTime = '00:00'\r\n }\r\n this.Update(this.state.data)\r\n }}\r\n useSearchModal={this.props.useSearchModal ? true : false}\r\n // =====================\r\n />\r\n
\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n\r\n {/* {\r\n value = value > 1 ? value : 1;\r\n this.ChangeState(name, value);\r\n this.setState({ currentPage: 1 });\r\n }}\r\n total={this.state.rowsTotal}\r\n currentPage={this.state.currentPage}\r\n currentPageChange={(value) => this.setState({ currentPage: Number(value) })}\r\n /> */}\r\n
\r\n {\r\n updatedData.isAlertLateWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertLateWithSMS = value.currentTarget.checked;\r\n updatedData.isAlertAbsentWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertAbsentWithSMS = value.currentTarget.checked;\r\n updatedData.isAlertPermissionWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertpermissionWithSMS = value.currentTarget.checked;\r\n updatedData.isAlertVocationWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertVocationWithSMS = value.currentTarget.checked;\r\n updatedData.isLateTime = value.currentTarget.checked\r\n this.setState({ data: updatedData })\r\n }} />\r\n {column['name']}
\r\n {\r\n updatedData.isLateTime = value.currentTarget.checked\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n Alert late for more than\r\n \r\n {\r\n updatedData.alertLateTime = value;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n ]}\r\n />\r\n\r\n
\r\n {\r\n updatedData.isAlertLateWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertLateWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n Alert late employees by\r\n \r\n {\r\n updatedData.isAlertLateWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n {\r\n updatedData.isAlertLateWithEmail = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n \r\n Employees\r\n \r\n\r\n
\r\n {\r\n updatedData.isAlertAbsentWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertAbsentWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n Alert abcent employee by\r\n\r\n \r\n {\r\n updatedData.isAlertAbsentWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n {\r\n updatedData.isAlertAbsentWithEmail = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n \r\n Employees\r\n \r\n
\r\n {\r\n updatedData.isAlertPermissionWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertpermissionWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n Alert employee Permission by\r\n \r\n {\r\n updatedData.isAlertpermissionWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n {\r\n updatedData.isAlertPermissionWithEmail = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n \r\n Employees\r\n \r\n
\r\n {\r\n updatedData.isAlertVocationWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertVocationWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n Alert employee vocation by\r\n\r\n \r\n {\r\n updatedData.isAlertVocationWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n {\r\n updatedData.isAlertVocationWithEmail = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n \r\n Employees\r\n \r\n
\r\n\r\n \r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default MessagesSettingsEn;\r\n","export default __webpack_public_path__ + \"static/media/ar.a31d2170.jpg\";","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport './MainHeader.css';\r\nimport logo from './apex-logo-white.png';\r\nimport { Link } from 'react-router-dom';\r\nimport Cookie from \"js-cookie\";\r\nimport Lists from './../Lists/Lists';\r\nimport img from '../../ar.jpg'\r\nimport ReactTooltip from 'react-tooltip';\r\nimport { Dropdown } from 'react-bootstrap';\r\nimport us from '../../us.png';\r\nimport avatar from '../../avatar.png';\r\nimport ar from '../../ar.jpg'\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faEllipsisH,faEllipsisV\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nconst MainHeader = () => {\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 LOGO\r\n \r\n
\r\n
\r\n

TA SOFTWARE

\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
    \r\n
  • \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n \r\n \"\"\r\n English \r\n \r\n\r\n \r\n {\r\n e.preventDefault()\r\n let currentUrl = window.location.hash;\r\n currentUrl = currentUrl.replace('/Ar/', '/En/');\r\n window.location.hash = currentUrl;\r\n }} >\r\n \"\"\r\n English \r\n \r\n {\r\n e.preventDefault()\r\n let currentUrl = window.location.hash;\r\n currentUrl = currentUrl.replace('/En/', '/Ar/');\r\n window.location.hash = currentUrl;\r\n }} >\r\n \"\"\r\n العربية \r\n \r\n \r\n \r\n\r\n
  • \r\n
  • \r\n \r\n \r\n 0\r\n \r\n
  • \r\n
  • \r\n \r\n \r\n 0\r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n {\r\n e.preventDefault()\r\n }}>{Cookie.get('userName')}\r\n \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\n Cookie.set('token', '', { SameSite: 'Lax' });\r\n Cookie.set('userName', '', { SameSite: 'Lax' });\r\n }} className='en'>\r\n \r\n \r\n LogOut \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n
\r\n
    \r\n
  • \r\n \r\n \r\n \"\"\r\n en \r\n \r\n\r\n \r\n {\r\n e.preventDefault()\r\n let currentUrl = window.location.hash;\r\n currentUrl = currentUrl.replace('/Ar/', '/En/');\r\n window.location.hash = currentUrl;\r\n }} >\r\n \"\"\r\n English \r\n \r\n {\r\n e.preventDefault()\r\n let currentUrl = window.location.hash;\r\n currentUrl = currentUrl.replace('/En/', '/Ar/');\r\n window.location.hash = currentUrl;\r\n }} >\r\n \"\"\r\n العربية \r\n \r\n \r\n \r\n\r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n Cookie.set('token', '', { SameSite: 'Lax' });\r\n Cookie.set('userName', '', { SameSite: 'Lax' });\r\n }} className='en'>\r\n \r\n \r\n Log out\r\n \r\n \r\n \r\n \r\n \r\n\r\n
  • \r\n
\r\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 MainHeader;","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport './SideNav.css';\r\nimport { Link } from 'react-router-dom';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faCodeBranch, faBriefcase, faProjectDiagram, faGlobe, faTasks, faHourglass\r\n , faUserTie, faUserFriends, faPlane, faGamepad, faUserSecret, faDownload, faTv, faPlus,\r\n faExchangeAlt, faPowerOff, faPencilAlt, faEdit, faSmile, faInfo, faUsers, faIdCardAlt, faUserMinus,\r\n faLaptop, faChartLine, faSearchPlus, faQuestionCircle, faIdBadge, faBars, faAlignRight, faAlignLeft, faHourglassEnd,\r\n faPuzzlePiece, faHandPaper, faListOl, faBusinessTime, faSchool, faStopCircle, faWalking, faBed, faStopwatch, faSignInAlt, faFileAlt, faUsersSlash, faMoon\r\n\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nconst toggleSubMenu = (e) => {\r\n const toggledMenu = e.currentTarget.nextElementSibling;\r\n toggledMenu.classList.toggle(\"visible\");\r\n}\r\n\r\nconst SideNav = ({ activatePage, toggleSideNav, hideSideNav, activePage, permissions }) => {\r\n let mywidth = document.getElementsByTagName('body')[0].offsetWidth;\r\n const toggleNav = () => {\r\n if (mywidth < 991) return toggleSideNav();\r\n }\r\n\r\n // let mywidth=document.getElementsByTagName('body')[0].offsetWidth;\r\n return (\r\n \r\n )\r\n}\r\nexport default SideNav;","import { API, ip } from './APIs';\r\nimport React from 'react';\r\n\r\nexport const Branches = {\r\n mainTitle: 'Branches',\r\n title: 'Branches',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'ID', type: 'number', backName: 'id' },\r\n { label: 'Branches', type: 'text', backName: 'nameEn' }\r\n ],\r\n columns: [\r\n {\r\n name: 'ID',\r\n backName: 'id'\r\n },\r\n {\r\n name: 'Branches',\r\n backName: 'nameEn',\r\n link: { to: '/En/TAW/Main/Managements/', routeValues: ['id', 'nameEn'] }\r\n },\r\n {\r\n name: 'Manager',\r\n backName: 'managerName'\r\n },\r\n {\r\n name: 'Employees',\r\n backName: 'employeesCount'\r\n },\r\n {\r\n name: 'Managements',\r\n backName: 'administrationsCount'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'Manager', type: 'select', validation: '', style: 'col-lg-6', backName: 'managerId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'Manager', type: 'select', validation: '', style: 'col-lg-6', backName: 'managerId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n }\r\n ],\r\n deleteMessage: 'All Related Managements and Departments will be Deleted, Are you sure you want to Delete this Branch?',\r\n create: {\r\n url: API.Branches.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Branches.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Branches.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Branches.delete,\r\n query: {\r\n branchId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const BranchesAr = {\r\n mainTitle: 'الفروع',\r\n title: 'الفروع',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'الرقم', type: 'text', backName: 'id' },\r\n { label: 'الفرع', type: 'text', backName: 'nameAr' }\r\n ],\r\n columns: [\r\n // {\r\n // name: 'الرقم',\r\n // backName: 'id'\r\n // },\r\n {\r\n name: 'الفرع',\r\n backName: 'nameAr',\r\n link: { to: '/En/TAW/Main/Managements/', routeValues: ['id', 'nameEn'] }\r\n },\r\n {\r\n name: 'المدير',\r\n backName: 'managerName'\r\n },\r\n {\r\n name: 'الموظفون',\r\n backName: 'employeesCount'\r\n },\r\n {\r\n name: 'الإدارات',\r\n backName: 'administrationsCount'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'Manager', type: 'select', validation: '', style: '', backName: 'managerId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'Manager', type: 'select', validation: '', style: '', backName: 'managerId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n }\r\n ],\r\n deleteMessage: 'All Related Managements and Departments will be Deleted, Are you sure you want to Delete this Branch?',\r\n create: {\r\n url: API.Branches.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Branches.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Branches.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Branches.delete,\r\n query: {\r\n branchId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const Jobs = {\r\n mainTitle: 'Jobs',\r\n title: 'Jobs',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n //{ label: 'ID', type: 'number', backName: 'id' },\r\n { label: 'Jobs', type: 'text', backName: 'nameEn' }\r\n ],\r\n columns: [\r\n {\r\n name: 'ID',\r\n backName: 'id'\r\n },\r\n {\r\n name: 'Jobs',\r\n backName: 'nameEn'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: API.Jobs.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Jobs.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Jobs.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Jobs.delete,\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const Projects = {\r\n mainTitle: 'Projects',\r\n title: 'Projects',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n //{ label: 'ID', type: 'number', backName: 'id' },\r\n { label: 'Projects', type: 'text', backName: 'nameEn' }\r\n ],\r\n columns: [\r\n {\r\n name: 'ID',\r\n backName: 'id'\r\n },\r\n {\r\n name: 'Projects',\r\n backName: 'nameEn'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: API.Projects.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Projects.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Projects.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Projects.delete,\r\n query: {\r\n projectId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const Nationalities = {\r\n mainTitle: 'Nationalities',\r\n title: 'Nationalities',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'ID', type: 'number', backName: 'id' },\r\n { label: 'Nationalities', type: 'text', backName: 'nameEn' }\r\n ],\r\n columns: [\r\n {\r\n name: 'ID',\r\n backName: 'id'\r\n },\r\n {\r\n name: 'Nationalities',\r\n backName: 'nameEn'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: API.Nationalities.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Nationalities.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Nationalities.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Nationalities.delete,\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const Tasks = {\r\n mainTitle: 'Tasks',\r\n title: 'Tasks',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'ID', type: 'number', backName: 'id' },\r\n { label: 'Tasks', type: 'text', backName: 'nameEn' }\r\n ],\r\n columns: [\r\n {\r\n name: 'ID',\r\n backName: 'id'\r\n },\r\n {\r\n name: 'Tasks',\r\n backName: 'nameEn'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: API.Tasks.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Tasks.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Tasks.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Tasks.delete,\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const WorkingTime = {\r\n mainTitle: 'Working Time',\r\n title: 'Working Time',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'ID', type: 'number', backName: 'id' },\r\n { label: 'Working Time', type: 'text', backName: 'nameEn', }\r\n ],\r\n columns: [\r\n { name: 'ID', backName: 'id' },\r\n { name: 'Working Time', backName: 'nameEn', link: { to: '/En/TAW/Main/WorkingTime/WorkingHours/', routeValues: ['id', 'isShiftOpen', 'nameEn'] } },\r\n { name: 'Total', backName: 'totalHours' },\r\n { name: 'Day End Time', backName: 'dayEndTime' },\r\n { name: 'Open Working Time', backName: 'isShiftOpen', boolean: true },\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'Open Shift', type: 'checkbox', validation: '', noFormCont: true, style: 'col-lg-6', backName: 'isShiftOpen' },\r\n { label: ['Shift end next day', 'Day end time'], type: 'shiftEndNextDay', validation: '', style: 'col-lg-6', backName: ['isEndNextDay', 'dayEndTime'], inputType: 'time' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'Open Shift', type: 'checkbox', validation: '', noFormCont: true, style: 'col-lg-6', backName: 'isShiftOpen' },\r\n { label: ['Shift end next day', 'Day end time'], type: 'shiftEndNextDay', validation: '', style: 'col-lg-6', backName: ['isEndNextDay', 'dayEndTime'], inputType: 'time' }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: API.Shifts.create,\r\n body: {\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"isShiftOpen\": false,\r\n \"isEndNextDay\": false,\r\n \"dayEndTime\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Shifts.search,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Shifts.update,\r\n body: {\r\n id: '',\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"isShiftOpen\": false,\r\n \"isEndNextDay\": false,\r\n \"dayEndTime\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Shifts.delete,\r\n query: {\r\n hoursId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const Employees = {\r\n mainTitle: 'Employees',\r\n title: 'Employees',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'ID (Code)', type: 'number', backName: 'employeeCode' },\r\n { label: 'Employees', type: 'text', backName: 'nameEn' },\r\n {\r\n label: 'Branch', type: 'select', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'adminstratId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n }\r\n ],\r\n columns: [\r\n { name: 'ID (Code)', backName: 'employeeCode' },\r\n { name: 'Employees', backName: 'nameEn' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Working Time', backName: 'shiftName' },\r\n { name: 'Active', backName: 'active', boolean: true },\r\n ],\r\n createEntityProps: [\r\n { label: 'ID (Code)', type: 'number', validation: 'Required', style: 'col-lg-5', backName: 'employeeCode' },\r\n { label: 'Active', type: 'checkbox', validation: '', noFormCont: true, style: 'col-lg-6', backName: 'active' },\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'Branch', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Management', type: 'select', validation: '', style: 'col-lg-6', backName: 'adminstratId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', validation: '', style: 'col-lg-6', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', validation: '', style: 'col-lg-6', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', validation: '', style: 'col-lg-6', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'National ID', type: 'text', validation: '', style: 'col-lg-6', backName: 'nationalityNumber' },\r\n { label: 'Email', type: 'email', validation: '', style: 'col-lg-6', backName: 'email' },\r\n {\r\n label: 'Nationality', type: 'select', validation: '', style: 'col-lg-6', backName: 'nationalitiesId', url: ip + '/api/Nationalities/GetAllNationalitiesDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Task', type: 'select', validation: '', style: 'col-lg-6', backName: 'workTasksId', url: ip + '/api/WorkingTasks/GetAllTasksDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Project', type: 'select', validation: '', style: 'col-lg-6', backName: 'projectId', url: ip + '/api/Project/GetAllProjectsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'Phone', type: 'text', validation: '', style: 'col-lg-6', backName: 'phoneNumber' },\r\n {\r\n label: '', type: 'exceptions', validation: '', style: ' col-lg-12', backName: [\r\n 'provideDelayDiscountingOvertime',\r\n 'extraTimeBeforeWorking',\r\n 'extraTimeAfterWorking',\r\n 'addWorkingHoursOnHoliday',\r\n 'logOutWithoutFingerprint']\r\n }\r\n ],\r\n updateEntityProps: [\r\n { label: 'ID (Code)', type: 'number', validation: 'Required', style: 'col-lg-5', backName: 'employeeCode' },\r\n { label: 'Active', type: 'checkbox', validation: '', noFormCont: true, style: 'col-lg-6', backName: 'active' },\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'Branch', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Management', type: 'select', validation: '', style: 'col-lg-6', backName: 'adminstratId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', validation: '', style: 'col-lg-6', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', validation: '', style: 'col-lg-6', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', validation: '', style: 'col-lg-6', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'National ID', type: 'text', validation: '', style: 'col-lg-6', backName: 'nationalityNumber' },\r\n { label: 'Email', type: 'email', validation: '', style: 'col-lg-6', backName: 'email' },\r\n {\r\n label: 'Nationality', type: 'select', validation: '', style: 'col-lg-6', backName: 'nationalitiesId', url: ip + '/api/Nationalities/GetAllNationalitiesDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Task', type: 'select', validation: '', style: 'col-lg-6', backName: 'workTasksId', url: ip + '/api/WorkingTasks/GetAllTasksDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Project', type: 'select', validation: '', style: 'col-lg-6', backName: 'projectId', url: ip + '/api/Project/GetAllProjectsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'Phone', type: 'text', validation: '', style: 'col-lg-6', backName: 'phoneNumber' },\r\n {\r\n label: '', type: 'exceptions', validation: '', style: 'col-lg-12', backName: [\r\n 'provideDelayDiscountingOvertime',\r\n 'extraTimeBeforeWorking',\r\n 'extraTimeAfterWorking',\r\n 'addWorkingHoursOnHoliday',\r\n 'logOutWithoutFingerprint']\r\n }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: ip + '/api/Employee/AddEmployee',\r\n body: {\r\n \"employeeCode\": '',\r\n \"nameEn\": '',\r\n \"nameAr\": '',\r\n \"phoneNumber\": '',\r\n \"placeStay\": '',\r\n \"nationalityNumber\": '',\r\n \"email\": '',\r\n \"branchId\": '',\r\n \"departmentId\": '',\r\n \"adminstratId\": '',\r\n \"jobId\": '',\r\n \"groupId\": '',\r\n \"projectId\": '',\r\n \"nationalitiesId\": '',\r\n \"workTasksId\": '',\r\n \"shiftId\": '',\r\n \"extraTimeAfterWorking\": false,\r\n \"extraTimeBeforeWorking\": false,\r\n \"addWorkingHoursOnHoliday\": false,\r\n \"logOutWithoutFingerprint\": false,\r\n \"provideDelayDiscountingOvertime\": false,\r\n \"active\": true\r\n },\r\n verb: 'POST'\r\n },\r\n createUnrigestered: {\r\n url: ip + '/api/Employee/AddEmployee',\r\n body: {\r\n \"employeeCode\": '',\r\n \"nameEn\": '',\r\n \"nameAr\": '',\r\n \"phoneNumber\": '',\r\n \"placeStay\": '',\r\n \"nationalityNumber\": '',\r\n \"email\": '',\r\n \"branchId\": '',\r\n \"departmentId\": '',\r\n \"adminstratId\": '',\r\n \"jobId\": '',\r\n \"groupId\": '',\r\n \"projectId\": '',\r\n \"nationalitiesId\": '',\r\n \"workTasksId\": '',\r\n \"shiftId\": '',\r\n \"extraTimeAfterWorking\": false,\r\n \"extraTimeBeforeWorking\": false,\r\n \"addWorkingHoursOnHoliday\": false,\r\n \"logOutWithoutFingerprint\": false,\r\n \"provideDelayDiscountingOvertime\": false,\r\n \"active\": true\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Employees.search,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"employeeCode\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"phoneNumber\": \"\",\r\n \"placeStay\": \"\",\r\n \"email\": \"\",\r\n \"branchId\": 0,\r\n \"departmentId\": 0,\r\n \"adminstratId\": 0,\r\n \"jobId\": 0,\r\n \"projectId\": 0,\r\n \"shiftId\": 0,\r\n \"nationalitiesId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: ip + '/api/Employee/UpdateEmployee',\r\n body: {\r\n \"id\": '',\r\n \"employeeCode\": '',\r\n \"nameEn\": '',\r\n \"nameAr\": '',\r\n \"phoneNumber\": '',\r\n \"placeStay\": '',\r\n \"nationalityNumber\": '',\r\n \"email\": '',\r\n \"branchId\": '',\r\n \"departmentId\": '',\r\n \"adminstratId\": '',\r\n \"jobId\": '',\r\n \"groupId\": '',\r\n \"projectId\": '',\r\n \"nationalitiesId\": '',\r\n \"workTasksId\": '',\r\n \"shiftId\": '',\r\n \"extraTimeAfterWorking\": false,\r\n \"extraTimeBeforeWorking\": false,\r\n \"addWorkingHoursOnHoliday\": false,\r\n \"logOutWithoutFingerprint\": false,\r\n \"provideDelayDiscountingOvertime\": false,\r\n \"active\": false\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: ip + '/api/Employee/DeleteEmployee',\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const EmployeesGroups = {\r\n mainTitle: 'Employees Groups',\r\n title: 'Employees Groups',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'ID', type: 'number', backName: 'id' },\r\n { label: 'Employees Groups', type: 'text', backName: 'nameEn' },\r\n ],\r\n columns: [\r\n {\r\n name: 'ID',\r\n backName: 'id'\r\n },\r\n {\r\n name: 'Employees Groups',\r\n backName: 'nameEn'\r\n },\r\n {\r\n name: 'Employees',\r\n backName: '',\r\n link: { to: '/En/TAW/Main/EmployeesGroups/Employees/', routeValues: ['id', 'nameEn'], text: 'Employees' }\r\n },\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: ip + '/api/EmployeeGroups/AddEmployeeGroups',\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: ip + '/api/EmployeeGroups/SearchAndGetAllEmployeeGroups',\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: ip + '/api/EmployeeGroups/UpdateEmployeeGroups',\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: ip + '/api/EmployeeGroups/DeleteEmployeeGroups',\r\n query: {\r\n EmployeeGroupId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const VacationsTypes = {\r\n mainTitle: 'Vacations Types',\r\n title: 'Vacations Types',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'ID', type: 'number', backName: 'id' },\r\n { label: 'Vacations Types', type: 'text', backName: 'nameEn' }\r\n ],\r\n columns: [\r\n {\r\n name: 'ID',\r\n backName: 'id'\r\n },\r\n {\r\n name: 'Vacations Types',\r\n backName: 'nameEn'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: API.VacationsTypes.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.VacationsTypes.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.VacationsTypes.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.VacationsTypes.delete,\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const OfficialHolidays = {\r\n mainTitle: 'Official Holidays',\r\n title: 'Official Holidays',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'ID', type: 'number', backName: 'id' },\r\n { label: 'Official Holidays', type: 'text', backName: 'nameEn' }\r\n ],\r\n columns: [\r\n { name: 'ID', backName: 'id' },\r\n { name: 'Official Holidays', backName: 'nameEn', link: { to: '/En/TAW/Main/OfficialHolidays/', routeValues: ['id', 'nameEn'] } },\r\n { name: 'From', backName: 'from' },\r\n { name: 'To', backName: 'to' },\r\n { name: 'Duration', backName: 'officialVacationTime' },\r\n {\r\n name: 'Status', backName: 'status',\r\n enum: [\r\n { value: '1', display: Not Started yet },\r\n { value: '2', display: Started },\r\n { value: '3', display: Ended }\r\n ]\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'From', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'from' },\r\n { label: 'To', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'to' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'From', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'from' },\r\n { label: 'To', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'to' }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: ip + '/api/OfficialHolidays/AddOfficialHolidays',\r\n body: {\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"from\": \"\",\r\n \"to\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: ip + '/api/OfficialHolidays/SearchOfficialHolidays',\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: ip + '/api/OfficialHolidays/UpdateOfficialHolidays',\r\n body: {\r\n \"id\": '',\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"from\": \"\",\r\n \"to\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: ip + '/api/OfficialHolidays/DeleteOfficialHolidays',\r\n query: {\r\n officialHolidaysId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\nexport const GetBranchTransactions = {\r\n mainTitle: 'Get Branch Transactions',\r\n title: 'Get Branch Transactions',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n columns: [\r\n {\r\n name: 'Transactions',\r\n backName: 'value'\r\n }\r\n ],\r\n actionEntityProps: [\r\n { label: 'From', type: 'date', validation: '', style: '', backName: 'from' },\r\n { label: 'To', type: 'date', validation: '', style: '', backName: 'to' },\r\n {\r\n label: 'Branches', type: 'multiSelect', validation: '', style: '', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n }\r\n ],\r\n action: {\r\n url: ip + '/api/Transaction/ReadMachineTransaction',\r\n body: {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeCode\": 0\r\n },\r\n verb: 'POST',\r\n readAction: true\r\n }\r\n}\r\n\r\nexport const AddPermission = {\r\n mainTitle: 'Add Permission',\r\n title: 'Add Permission',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Employee Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Employee Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'select', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Permission Type', type: 'staticSelect', backName: 'permissionType',\r\n items: [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ]\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n columns: [\r\n {\r\n name: 'Employee Code',\r\n backName: 'employeeCode'\r\n },\r\n {\r\n name: 'Employee Name',\r\n backName: 'employeeName'\r\n },\r\n {\r\n name: 'Date',\r\n backName: 'permissionDate'\r\n },\r\n {\r\n name: 'Branch',\r\n backName: 'branchName'\r\n },\r\n {\r\n name: 'Working Time',\r\n backName: 'shiftName'\r\n },\r\n {\r\n name: 'Permission Type',\r\n backName: 'permissionType',\r\n enum: [{ value: '1', display: 'Temporary' }, { value: '2', display: 'late Attendance' }, { value: '3', display: 'Early Leave' }, { value: '4', display: 'All Day' }]\r\n },\r\n {\r\n name: 'Shift',\r\n backName: 'sequence',\r\n enum: [{ value: '1', display: 'First' }, { value: '2', display: 'Second' }, { value: '3', display: 'Third' }, { value: '4', display: 'Forth' }]\r\n },\r\n {\r\n name: 'Time in',\r\n backName: 'timingOfEnty'\r\n },\r\n {\r\n name: 'Time out',\r\n backName: 'timingOfExit'\r\n }\r\n ],\r\n createEntityProps: [\r\n {\r\n label: '', type: 'selectShift', validation: '', style: 'col-lg-6', backName: ['employeeId', 'permissionDate', 'periodShiftId'], url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: '', type: 'permissionType', validation: '', style: 'col-lg-6', backName: ['permissionType', 'timingOfEnty', 'timingOfExit'] },\r\n { label: 'Notes', type: 'text', validation: '', style: 'col-lg-6', backName: 'notes' }\r\n ],\r\n updateEntityProps: [\r\n {\r\n label: '', type: 'selectShift', validation: '', style: 'col-lg-6', backName: ['employeeId', 'permissionDate', 'periodShiftId'], url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: '', type: 'permissionType', validation: '', style: 'col-lg-6', backName: ['permissionType', 'timingOfEnty', 'timingOfExit'] },\r\n { label: 'Notes', type: 'text', validation: '', style: 'col-lg-6', backName: 'notes' }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: API.AddPermission.create,\r\n body: {\r\n \"employeeId\": '',\r\n \"permissionType\": '',\r\n \"periodShiftId\": '',\r\n \"permissionDate\": \"\",\r\n \"timingOfEnty\": \"\",\r\n \"timingOfExit\": \"\",\r\n \"notes\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.AddPermission.search,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": 0,\r\n \"employeeId\": 0,\r\n \"employeeCode\": 0,\r\n \"permissionType\": 0,\r\n \"branchName\": \"\",\r\n \"employeeName\": \"\",\r\n \"administrationName\": \"\",\r\n \"departmentName\": \"\",\r\n \"jobName\": \"\",\r\n \"groupName\": \"\",\r\n \"shiftName\": \"\",\r\n \"timingOfEnty\": \"\",\r\n \"timingOfExit\": \"\",\r\n \"from\": \"\",\r\n \"to\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.AddPermission.update,\r\n body: {\r\n \"id\": '',\r\n \"employeeId\": '',\r\n \"permissionType\": '',\r\n \"periodShiftId\": '',\r\n \"permissionDate\": \"\",\r\n \"timingOfEnty\": \"\",\r\n \"timingOfExit\": \"\",\r\n \"notes\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.AddPermission.delete,\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const AddVacation = {\r\n mainTitle: 'Add Vacation',\r\n title: 'Add Vacation',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Employee Code', type: 'text', backName: 'employeeNumber' },\r\n { label: 'Employee Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'select', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'adminstratId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Vacation Type', type: 'select', backName: 'vocationId', url: API.VacationsTypes.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n columns: [\r\n {\r\n name: 'Employee Code',\r\n backName: 'employeeNumber'\r\n },\r\n {\r\n name: 'Employee Name',\r\n backName: 'employeeName'\r\n },\r\n {\r\n name: 'Branch',\r\n backName: 'branchName'\r\n },\r\n {\r\n name: 'Vacation Type',\r\n backName: 'vacationType'\r\n },\r\n {\r\n name: 'From',\r\n backName: 'dateFrom'\r\n },\r\n {\r\n name: 'To',\r\n backName: 'dateTo'\r\n },\r\n {\r\n name: 'Duration',\r\n backName: 'daysNumber'\r\n },\r\n {\r\n name: 'Notes',\r\n backName: 'description'\r\n },\r\n ],\r\n createEntityProps: [\r\n {\r\n label: 'Employee', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'employeeId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Vacation Type', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'vocationId', url: API.VacationsTypes.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'dateFrom' },\r\n { label: 'To', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'dateTo' },\r\n { label: 'Description', type: 'text', validation: '', style: 'col-lg-12', backName: 'description' }\r\n ],\r\n updateEntityProps: [\r\n {\r\n label: 'Employee', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'employeeId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Vacation Type', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'vocationId', url: API.VacationsTypes.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'dateFrom' },\r\n { label: 'To', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'dateTo' },\r\n { label: 'Description', type: 'text', validation: '', style: 'col-lg-12', backName: 'description' }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: API.AddVacation.create,\r\n body: {\r\n \"employeeId\": 0,\r\n \"vocationId\": 0,\r\n \"description\": \"\",\r\n \"dateFrom\": \"\",\r\n \"dateTo\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.AddVacation.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": 0,\r\n \"employeeId\": 0,\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"jobId\": 0,\r\n \"groupId\": 0,\r\n \"shiftId\": 0,\r\n \"from\": \"\",\r\n \"to\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.AddVacation.update,\r\n body: {\r\n \"id\": 0,\r\n \"employeeId\": 0,\r\n \"vocationId\": 0,\r\n \"description\": \"\",\r\n \"dateFrom\": \"\",\r\n \"dateTo\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.AddVacation.delete,\r\n query: {\r\n employeevacationId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const TransferTransactions = {\r\n mainTitle: 'Transfer Transactions',\r\n title: 'Transfer Transactions',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n columns: [\r\n { name: 'ID (Code)', backName: 'employeeCode' },\r\n { name: 'Employees', backName: 'nameEn' },\r\n { name: 'Branch', backName: 'branchName' }\r\n ],\r\n read: {\r\n url: API.Employees.search,\r\n body: {\r\n pageSize: 100,\r\n pageNumber: 0,\r\n search: {\r\n \"employeeCode\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"phoneNumber\": \"\",\r\n \"placeStay\": \"\",\r\n \"email\": \"\",\r\n \"branchId\": 0,\r\n \"departmentId\": 0,\r\n \"adminstratId\": 0,\r\n \"jobId\": 0,\r\n \"projectId\": 0,\r\n \"shiftId\": 0,\r\n \"nationalitiesId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n actionEntityProps: [\r\n { label: 'From', type: 'date', validation: '', style: '', backName: 'from' },\r\n { label: 'To', type: 'date', validation: '', style: '', backName: 'to' },\r\n { label: 'Employees', type: 'searchModal', validation: '', style: '', backName: 'employeeIds' }\r\n ],\r\n btnText: 'Get Branch Transactions',\r\n\r\n}\r\nexport const AddEditTransactions = {\r\n mainTitle: 'Add & Edit Transactions',\r\n title: 'Add & Edit Transactions',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Employee Code', type: 'number', backName: 'employeeCode' },\r\n { label: 'Employee Name', type: 'text', backName: 'employeeName' },\r\n {\r\n\r\n // label: 'Branch', type: 'select', backName: 'branchIdIn', url: API.Branches.dropdown,\r\n label: 'Branchs', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true },\r\n ],\r\n columns: [\r\n {\r\n name: 'ID',\r\n backName: 'id'\r\n },\r\n {\r\n name: 'Employee Code',\r\n backName: 'employeeCode'\r\n },\r\n {\r\n name: 'Employee Name',\r\n backName: 'employeeName'\r\n },\r\n {\r\n name: 'Date',\r\n backName: 'date'\r\n },\r\n {\r\n name: 'Time in',\r\n backName: 'attendanceTime'\r\n },\r\n {\r\n name: 'Time out',\r\n backName: 'leaveTime'\r\n },\r\n ],\r\n createEntityProps: [\r\n {\r\n label: 'Employee', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'employeeId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'Date', type: 'date', validation: 'Required', style: 'col-lg-6', backName: 'date' },\r\n { label: 'Admin Password', type: 'password', validation: 'Required', style: 'col-lg-6', backName: 'password' },\r\n { label: 'Time in', type: 'time', validation: 'orReq', RequiredCondition: 'leaveTime', style: 'col-lg-6', backName: 'attendanceTime' },\r\n {\r\n label: 'Branch in', type: 'select', validation: 'ConditionalReq', RequiredCondition: 'attendanceTime', style: 'col-lg-6', backName: 'branchIdIn', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'Time out', type: 'time', validation: 'orReq', RequiredCondition: 'attendanceTime', style: 'col-lg-6', backName: 'leaveTime' },\r\n {\r\n label: 'Branch out', type: 'select', validation: 'ConditionalReq', RequiredCondition: 'leaveTime', style: 'col-lg-6', backName: 'branchIdOut', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n }\r\n ],\r\n updateEntityProps: [\r\n {\r\n label: 'Employee', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'employeeId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'Date', type: 'date', validation: 'Required', style: 'col-lg-6', backName: 'date' },\r\n { label: 'Admin Password', type: 'password', validation: 'Required', style: 'col-lg-6', backName: 'password' },\r\n { label: 'Time in', type: 'time', validation: '', style: 'col-lg-6', backName: 'attendanceTime' },\r\n {\r\n label: 'Branch in', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'branchIdIn', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'Time out', type: 'time', validation: '', style: 'col-lg-6', backName: 'leaveTime' },\r\n {\r\n label: 'Branch out', type: 'select', validation: 'Required', style: 'col-lg-6',\r\n backName: 'branchIdOut', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete this ?',\r\n create: {\r\n url: API.AddEditTransactions.create,\r\n body: {\r\n employeeId: '',\r\n branchIdIn: '',\r\n branchIdOut: '',\r\n password: '',\r\n date: '',\r\n attendanceTime: '',\r\n leaveTime: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.AddEditTransactions.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [\r\n ],\r\n \"employeeIds\": [\r\n ],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.AddEditTransactions.update,\r\n body: {\r\n id: '',\r\n employeeId: '',\r\n branchIdIn: '',\r\n branchIdOut: '',\r\n password: '',\r\n date: '',\r\n attendanceTime: '',\r\n leaveTime: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.AddEditTransactions.delete,\r\n query: {\r\n transactionId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\nexport const EmployeesReport = {\r\n\r\n mainTitle: 'Employees Report',\r\n title: 'Employees Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Employee Code', type: 'text', backName: 'employeeCode', backSearch: true },\r\n { label: 'Employee Name', type: 'text', backName: 'nameEn', backSearch: true },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'adminstratId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: ip + '/api/Department/GetAllDepartmentDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: ip + '/api/Shift/GetAllShiftDropdown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n }\r\n ],\r\n columns: [\r\n { name: 'Emp Code', backName: 'employeeCode' },\r\n { name: 'Employee Name', backName: 'nameEn' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Management', backName: 'administrationName' },\r\n { name: 'Department', backName: 'departmentName' },\r\n { name: 'Job', backName: 'jobName' },\r\n { name: 'Group', backName: 'groupName' },\r\n { name: 'Working Time', backName: 'shiftName' }\r\n ],\r\n read: {\r\n url: API.EmployeesReport.read,\r\n body: {\r\n \"pageSize\": 10,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"employeeCode\": '',\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"phoneNumber\": \"\",\r\n \"placeStay\": \"\",\r\n \"email\": \"\",\r\n \"branchIds\": [],\r\n \"departmentId\": 0,\r\n \"adminstratId\": 0,\r\n \"jobId\": 0,\r\n \"projectId\": 0,\r\n \"shiftId\": 0,\r\n \"nationalitiesId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const WorkingTimeReport = {\r\n mainTitle: 'Working Time Report',\r\n title: 'Working Time Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Name', type: 'text', backName: 'nameEn', backSearch: true },\r\n {\r\n label: 'Working Time Type', type: 'staticSelect', backName: 'isShiftOpen',\r\n items: [\r\n { label: 'Normal', value: false },\r\n { label: 'Open', value: true },\r\n { label: 'All', value: null },\r\n ], backSearch: true\r\n }\r\n ],\r\n // workingTimeReport: true,\r\n preTableFields: [\r\n { name: 'Code', backName: 'shiftName' },\r\n { name: 'Working Time', backName: 'nameEn' },\r\n { name: 'Tot. Hours', backName: 'totalHours' },\r\n {\r\n name: 'Working Time Type',\r\n backName: 'isShiftOpen',\r\n boolean: true,\r\n yes: 'Open',\r\n no: 'Closed'\r\n }\r\n ],\r\n columns: [\r\n {\r\n name: 'Day', backName: 'dayId', enum: [\r\n { value: '1', display: 'Monday' },\r\n { value: '2', display: 'Tuesday' },\r\n { value: '3', display: 'Wednesday' },\r\n { value: '4', display: 'Thursday' },\r\n { value: '5', display: 'Friday' },\r\n { value: '6', display: 'Saturday' },\r\n { value: '7', display: 'Sunday' }\r\n ]\r\n },\r\n { name: 'Shift 1 Att.', backName: 'timeIn1' },\r\n { name: 'Shift 1 Leave', backName: 'timeOut1' },\r\n { name: 'Shift 2 Att.', backName: 'timeIn2' },\r\n { name: 'Shift 2 Leave', backName: 'timeOut2' },\r\n { name: 'Shift 3 Att.', backName: 'timeIn3' },\r\n { name: 'Shift 3 Leave', backName: 'timeOut3' },\r\n { name: 'Shift 4 Att.', backName: 'timeIn4' },\r\n { name: 'Shift 4 Leave', backName: 'timeOut4' },\r\n { name: 'Total Hours', backName: 'totalDayHours' },\r\n {\r\n name: 'Day Status',\r\n backName: 'isVacation',\r\n boolean: true,\r\n yes: 'Vacation',\r\n no: 'Work'\r\n }\r\n ],\r\n read: {\r\n url: API.WorkingTimeReport.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\",\r\n \"isShiftOpen\": null\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n dataHandler: function (data) {\r\n // let seqs = [];\r\n\r\n },\r\n print: true\r\n}\r\nexport const DayStatusReport = {\r\n mainTitle: 'Day Status Report',\r\n title: 'Day Status Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode', innerSearch: true },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName', innerSearch: true, },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, innerSearch: true\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, innerSearch: true\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, innerSearch: true\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true },\r\n ],\r\n\r\n preTableFields: [\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Day', backName: 'day' },\r\n { name: 'Date', backName: 'date' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Working Time', backName: 'shiftName' },\r\n { name: 'Shift 1 Att.', backName: 'timeIn1' },\r\n { name: 'Shift 1 Leave', backName: 'timeOut1' },\r\n { name: 'Shift 2 Att.', backName: 'timeIn2' },\r\n { name: 'Shift 2 Leave', backName: 'timeOut2' },\r\n { name: 'Shift 3 Att.', backName: 'timeIn3' },\r\n { name: 'Shift 3 Leave', backName: 'timeOut3' },\r\n { name: 'Shift 4 Att.', backName: 'timeIn4' },\r\n { name: 'Shift 4 Leave', backName: 'timeOut4' },\r\n { name: 'Working Hours', backName: 'totalHourDay' },\r\n { name: 'Delay Hours', backName: 'hourDayDelayTime' },\r\n { name: 'Over Time Hours', backName: 'hourDayOverTime' },\r\n { name: 'Tot. Working Hours', backName: 'totalWorkingHours' },\r\n { name: 'Day Status', backName: 'dayStatus' }\r\n ],\r\n read: {\r\n url: API.DayStatusReport.read,\r\n body: {\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [\r\n ],\r\n \"employeeIds\": [\r\n ],\r\n \"employeeName\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\n\r\nexport const DetailedAttendanceReport = {\r\n mainTitle: 'Detailed Attendance Report',\r\n title: 'Detailed Attendance Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName', },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'Emp. Code', backName: 'employeeCode', style: \"col-lg-2\", },\r\n { name: 'Emp. Name', backName: 'employeeName', style: \"col-lg-2\", },\r\n { name: 'Branch', backName: 'branchName', style: \"col-lg-2\" },\r\n { name: 'Job', backName: 'jobName', style: \"col-lg-2\" },\r\n { name: 'Working Time', backName: 'shiftName', style: \"col-lg-2\", }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Day', backName: 'day' },\r\n { name: 'Date', backName: 'date' },\r\n { name: 'Shift 1 Att.', backName: 'timeIn1' },\r\n { name: 'Shift 1 Leave', backName: 'timeOut1' },\r\n { name: 'Shift 2 Att.', backName: 'timeIn2' },\r\n { name: 'Shift 2 Leave', backName: 'timeOut2' },\r\n { name: 'Shift 3 Att.', backName: 'timeIn3' },\r\n { name: 'Shift 3 Leave', backName: 'timeOut3' },\r\n { name: 'Shift 4 Att.', backName: 'timeIn4' },\r\n { name: 'Shift 4 Leave', backName: 'timeOut4' },\r\n { name: 'Working Hours', backName: 'totalHourDay' },\r\n { name: 'Delay Hours', backName: 'hourDayDelayTime' },\r\n { name: 'Over Time Hours', backName: 'hourDayOverTime' },\r\n { name: 'Tot. Working Hours', backName: 'totalWorkingHours' },\r\n { name: 'Day Status', backName: 'dayStatus' }\r\n ],\r\n totals: [\r\n { name: 'Day', backName: '' },\r\n { name: 'Date', backName: '' },\r\n { name: 'Shift 1 Att.', backName: '' },\r\n { name: 'Shift 1 Leave', backName: '' },\r\n { name: 'Shift 2 Att.', backName: '' },\r\n { name: 'Shift 2 Leave', backName: '' },\r\n { name: 'Shift 3 Att.', backName: '' },\r\n { name: 'Shift 3 Leave', backName: '' },\r\n { name: 'Shift 4 Att.', backName: '' },\r\n { name: 'Shift 4 Leave', backName: '' },\r\n { name: 'Working Hours', backName: 'totalWorkHour' },\r\n { name: 'Delay Hours', backName: 'totalHourDayDelayTime' },\r\n { name: 'Over Time Hours', backName: 'totalHourDayOverTime' },\r\n { name: 'Tot. Working Hours', backName: 'totalWorkingHoursDays' },\r\n { name: 'Day Status', backName: '' }\r\n ],\r\n read: {\r\n url: API.DetailedAttendanceReport.read,\r\n body: {\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeName\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const TotalAttendanceReport = {\r\n mainTitle: 'Total Attendance Report',\r\n title: 'Total Attendance Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode', innerSearch: true },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName', innerSearch: true, },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, innerSearch: true\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, innerSearch: true\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, innerSearch: true\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, innerSearch: true\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, innerSearch: true\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Job', backName: 'jobName' },\r\n { name: 'Working Time', backName: 'shiftName' },\r\n { name: 'Working Hours', backName: 'shiftHours' },\r\n { name: 'Delay', backName: 'lateHours' },\r\n { name: 'Absence', backName: 'absentHours' },\r\n { name: 'Vacations', backName: 'vacationsDays' },\r\n { name: 'Overtime', backName: 'extraHours' },\r\n { name: 'Actual Working Hours', backName: 'workingHours' }\r\n ],\r\n read: {\r\n url: API.TotalAttendanceReport.read,\r\n body: {\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [\r\n ],\r\n \"employeeIds\": [\r\n ],\r\n \"employeeName\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const AbsenceReport = {\r\n mainTitle: 'Absence Report',\r\n title: 'Absence Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n columns: [\r\n { name: 'Day', backName: 'day' },\r\n { name: 'Date', backName: 'date' },\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Management', backName: 'administrationName' },\r\n { name: 'Department', backName: 'departmentName' },\r\n { name: 'Job', backName: 'jobName' },\r\n { name: 'Working Time', backName: 'shiftName' }\r\n ],\r\n read: {\r\n url: API.AbsenceReport.read,\r\n body: {\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [\r\n ],\r\n \"employeeIds\": [\r\n ],\r\n \"employeeName\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const DelayReport = {\r\n mainTitle: 'Delay Report',\r\n title: 'Delay Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Day', backName: 'day' },\r\n { name: 'Date', backName: 'date' },\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Working Time', backName: 'shiftName' },\r\n { name: 'Delay Hours', backName: 'lateHours' }\r\n ],\r\n read: {\r\n url: API.DelayReport.read,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const InCompleteTransReport = {\r\n mainTitle: 'InComplete Trans. Report',\r\n title: 'InComplete Trans. Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'Day', backName: 'day' },\r\n { name: 'Date', backName: 'date' }\r\n ],\r\n columns: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Working Time', backName: 'shiftName' },\r\n { name: 'Shift', backName: 'seq' },\r\n { name: 'Att. Time', backName: 'timeIn' },\r\n { name: 'Leave Time', backName: 'timeOut' }\r\n ],\r\n read: {\r\n url: API.InCompleteTransReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true,\r\n period: true\r\n}\r\nexport const EarlyAttendanceReport = {\r\n mainTitle: 'Early Attendance Report',\r\n title: 'Early Attendance Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'Day', backName: 'day' },\r\n { name: 'Date', backName: 'date' }\r\n ],\r\n columns: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Working Time', backName: 'shiftName' },\r\n { name: 'Shift', backName: 'seq' },\r\n { name: 'Att. Time', backName: 'timeIn' },\r\n { name: 'Shift Time', backName: 'timeInShift' }\r\n ],\r\n read: {\r\n url: API.EarlyAttendanceReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const AttendanceSummaryReport = {\r\n mainTitle: 'Attendance Summary Report',\r\n title: 'Attendance Summary Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Date', backName: 'data' },\r\n { name: 'Working Days', backName: 'workingDays' }\r\n ],\r\n read: {\r\n url: API.AttendanceSummaryReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const TotalAttendanceSummaryReport = {\r\n mainTitle: 'Total Attendance Summary Report',\r\n title: 'Total Attendance Summary Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'Branch', backName: 'branchName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Job', backName: 'jobName' },\r\n { name: 'Working Time', backName: 'shiftName' },\r\n { name: 'Working Hours', backName: 'shiftHours' },\r\n { name: 'Delay', backName: 'lateHours' },\r\n { name: 'Early Att.', backName: 'earlyLeave' },\r\n { name: 'Absence', backName: 'absentHours' },\r\n { name: 'Vacations', backName: 'absentHours' },\r\n { name: 'Overtime', backName: 'extraHours' },\r\n { name: 'Actual W H', backName: 'workingHours' },\r\n { name: 'W H Ratio', backName: 'rate' }\r\n ],\r\n read: {\r\n url: API.TotalAttendanceSummaryReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const OvertimeReport = {\r\n mainTitle: 'Overtime Report',\r\n title: 'Overtime Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'Branch', backName: 'branchName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Date', backName: 'date' },\r\n { name: 'Tot. Overtime', backName: 'totalExtraHours' }\r\n ],\r\n read: {\r\n url: API.OvertimeReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const WorkingTimeDetailsReport = {\r\n mainTitle: 'Working Time Details Report',\r\n title: 'Working Time Details Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Management', backName: 'administrationName' },\r\n { name: 'Department', backName: 'departmentName' },\r\n { name: 'Job', backName: 'jobName' },\r\n { name: 'Working Time', backName: 'shiftName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'No. of Working Days', backName: 'shiftDays' },\r\n { name: 'No. of Vacation Days', backName: 'vacationsDays' },\r\n { name: 'No. of Absence Days', backName: 'absentDays' },\r\n { name: 'No. of Working Hours', backName: 'shiftHours' },\r\n { name: 'No. of Actual Working Hours', backName: 'workingHours' },\r\n { name: 'No. of Delay Hours', backName: 'lateHours' },\r\n { name: 'No. of Overtime Hours', backName: 'extraHours' },\r\n { name: 'No. of Overtime Hours in Vacations', backName: 'extraHoursInVactions' }\r\n ],\r\n read: {\r\n url: API.WorkingTimeDetailsReport.read,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [\r\n ],\r\n \"employeeIds\": [\r\n ],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const BranchAttendanceReport = {\r\n mainTitle: 'Branch Attendance Report',\r\n title: 'Branch Attendance Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Job', backName: 'JobName' },\r\n { name: 'Working Time', backName: 'shiftName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Day', backName: 'day' },\r\n { name: 'Date', backName: 'date' },\r\n { name: 'Working Time', backName: 'shiftName' },\r\n { name: 'Shift 1 Att.', backName: 'timeIn' },\r\n { name: 'Shift 1 Leave', backName: 'timeOut' },\r\n { name: 'Shift 2 Att.', backName: 'timeIn2' },\r\n { name: 'Shift 2 Leave', backName: 'timeOut2' },\r\n { name: 'Shift 3 Att.', backName: 'timeIn3' },\r\n { name: 'Shift 3 Leave', backName: 'timeOut3' },\r\n { name: 'Shift 4 Att.', backName: 'timeIn4' },\r\n { name: 'Shift 4 Leave', backName: 'timeOut4' },\r\n { name: 'Branch', backName: 'branchName' }\r\n ],\r\n read: {\r\n url: API.BranchAttendanceReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const VacationsReport = {\r\n mainTitle: 'Vacations Report',\r\n title: 'Vacations Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true },\r\n {\r\n label: 'Vacation Type', type: 'select', backName: '', url: API.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n }\r\n ],\r\n preTableFields: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Job', backName: 'JobName' },\r\n { name: 'Working Time', backName: 'shiftName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Vacation Type', backName: 'vacationType' },\r\n { name: 'Starts', backName: 'dateFrom' },\r\n { name: 'Ends', backName: 'dateTo' },\r\n { name: 'Period', backName: 'daysNumber' },\r\n { name: 'Notes', backName: 'description' }\r\n ],\r\n totals: [\r\n { name: 'Vacation Type', backName: '' },\r\n { name: 'Starts', backName: '' },\r\n { name: 'Ends', backName: '' },\r\n { name: 'Period', backName: 'totalOfVacations' },\r\n { name: 'Notes', backName: '' }\r\n ],\r\n\r\n read: {\r\n url: API.VacationsReport.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {}\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const PermissionsReport = {\r\n mainTitle: 'Permissions Report',\r\n title: 'Permissions Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true },\r\n {\r\n label: 'Vacation Type', type: 'select', backName: '', url: API.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n }\r\n ],\r\n preTableFields: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Job', backName: 'JobName' },\r\n { name: 'Working Time', backName: 'shiftName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Day', backName: 'day' },\r\n { name: 'Date', backName: 'permissionDate' },\r\n {\r\n name: 'Permission Type',\r\n backName: 'permissionType',\r\n enum: [\r\n { value: '1', display: 'Temporary' },\r\n { value: '2', display: 'late Attendance' },\r\n { value: '3', display: 'Early Leave' },\r\n { value: '4', display: 'All Day' }\r\n ]\r\n },\r\n {\r\n name: 'Shift',\r\n backName: 'sequence',\r\n enum: [\r\n { value: '1', display: 'First' },\r\n { value: '2', display: 'Second' },\r\n { value: '3', display: 'Third' },\r\n { value: '4', display: 'Forth' }\r\n ]\r\n },\r\n { name: 'Att. in', backName: 'timingOfEnty' },\r\n { name: 'Leave in', backName: 'timingOfExit' },\r\n { name: 'Notes', backName: 'notes' }\r\n ],\r\n read: {\r\n url: API.PermissionsReport.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"id\": 0,\r\n \"employeeId\": 0,\r\n \"employeeCode\": 0,\r\n \"permissionType\": 0,\r\n \"branchIds\": [],\r\n \"employeeName\": \"\",\r\n \"administrationName\": \"\",\r\n \"departmentName\": \"\",\r\n \"jobName\": \"\",\r\n \"groupName\": \"\",\r\n \"shiftName\": \"\",\r\n \"timingOfEnty\": \"\",\r\n \"timingOfExit\": \"\",\r\n \"from\": \"\",\r\n \"to\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const DelayEarlyReport = {\r\n mainTitle: 'Delay and Early Leave Report',\r\n title: 'Delay and Early Leave Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n columns: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Date', backName: 'date' },\r\n { name: 'Att.', backName: 'timeIn1' },\r\n { name: 'Leave', backName: 'timeOut1' },\r\n { name: 'Delay', backName: 'hourDayDelayTime' },\r\n { name: 'Early Leave', backName: 'earlyLeave' },\r\n { name: 'Absence', backName: 'isAbsent', boolean: true }\r\n ],\r\n read: {\r\n url: API.DelayEarlyReport.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const TotalAbsenceReport = {\r\n mainTitle: 'Total Absence Report',\r\n title: 'Total Absence Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Job', backName: 'jobName' },\r\n { name: 'working Time', backName: 'shiftName' },\r\n { name: 'Total Absence', backName: 'absentDays' }\r\n ],\r\n read: {\r\n url: API.TotalAbsenceReport.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const TotalDelayReport = {\r\n mainTitle: 'Total Delay Report',\r\n title: 'Total Delay Report',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'Emp. Code', type: 'text', backName: 'employeeCode' },\r\n { label: 'Emp. Name', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'Branch', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }, backSearch: true\r\n },\r\n {\r\n label: 'Management', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Department', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Job', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Group', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n {\r\n label: 'Working Time', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'From', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'To', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'Emp. Code', backName: 'employeeCode' },\r\n { name: 'Emp. Name', backName: 'employeeName' },\r\n { name: 'Branch', backName: 'branchName' },\r\n { name: 'Job', backName: 'jobName' },\r\n { name: 'working Time', backName: 'shiftName' },\r\n { name: 'Total Delay', backName: 'lateHours' }\r\n ],\r\n read: {\r\n url: API.TotalDelayReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\nexport const Devices = {\r\n mainTitle: 'Devices',\r\n title: 'Devices',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n {\r\n label: 'Branch', type: 'select', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'Device Name', type: 'text', backName: 'machineNameEn' },\r\n { label: 'Device Serial', type: 'text', backName: 'machineSN' },\r\n {\r\n label: 'Device type', type: 'select', backName: 'type',\r\n options: [\r\n {\r\n \"id\": 1,\r\n \"nameEn\": \"ZKTeco\",\r\n \"nameAr\": \"ZKTeco\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"nameEn\": \"Timmy TM-f630\",\r\n \"nameAr\": \"Timmy TM-f630\"\r\n }\r\n ], item: { value: 'id', label: 'nameAr' }\r\n }\r\n\r\n ],\r\n columns: [\r\n { name: 'Device ID', backName: 'id' },\r\n { name: 'Device Serial', backName: 'machineSN' },\r\n { name: 'Device Name', backName: 'machineNameEn' },\r\n { name: 'Branch', backName: 'branchName' },\r\n {\r\n name: 'Device Status', backName: 'status', enum: [\r\n { value: true, display: Active },\r\n { value: false, display: Not Active }\r\n ]\r\n } ,\r\n {\r\n name: 'Device type', backName: 'type', enum: [\r\n { value: 1, display: ZKTeco },\r\n { value: 2, display: Timmy TM-f630 }\r\n ]\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'machineNameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'machineNameEn' },\r\n {\r\n label: 'Branch', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'Serial Number', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'machineSN' },\r\n {\r\n label: 'Device type', type: 'select', backName: 'type',\r\n options: [\r\n {\r\n \"id\": 1,\r\n \"nameEn\": \"ZKTeco\",\r\n \"nameAr\": \"ZKTeco\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"nameEn\": \"Timmy TM-f630\",\r\n \"nameAr\": \"Timmy TM-f630\"\r\n }\r\n ], item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'machineNameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'machineNameEn' },\r\n {\r\n label: 'Branch', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n },\r\n { label: 'Serial Number', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'machineSN' },\r\n {\r\n label: 'Device type', type: 'select', backName: 'type',\r\n options: [\r\n {\r\n \"id\": 1,\r\n \"nameEn\": \"ZKTeco\",\r\n \"nameAr\": \"ZKTeco\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"nameEn\": \"Timmy TM-f630\",\r\n \"nameAr\": \"Timmy TM-f630\"\r\n }\r\n ], item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: API.Devices.create,\r\n body: {\r\n \"branchId\": '',\r\n \"machineNameAr\": '',\r\n \"machineNameEn\": '',\r\n \"machineSN\": ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Devices.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": 0,\r\n \"machineSN\": \"\",\r\n \"machineNameAr\": \"\",\r\n \"branchId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Devices.update,\r\n body: {\r\n \"id\": 0,\r\n \"branchId\": 0,\r\n \"machineNameAr\": \"\",\r\n \"machineNameEn\": \"\",\r\n \"machineSN\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Devices.delete,\r\n query: {\r\n branchMachineId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const SpecialWorkingDays = {\r\n mainTitle: 'Ramadan Working Times',\r\n title: 'Ramadan Working Times',\r\n path: [{ title: 'Dashboard', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: undefined,\r\n columns: [\r\n {\r\n name: 'ID',\r\n backName: 'id'\r\n },\r\n {\r\n name: 'Name',\r\n backName: 'nameEn'\r\n },\r\n {\r\n name: 'From',\r\n backName: 'dateFrom'\r\n },\r\n {\r\n name: 'To',\r\n backName: 'dateTo'\r\n },\r\n {\r\n name: 'Status',\r\n backName: 'status',\r\n enum: [\r\n { value: '1', display: Not Started yet },\r\n { value: '2', display: Started },\r\n { value: '3', display: Ended }\r\n ]\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'From', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'dateFrom' },\r\n { label: 'To', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'dateTo' },\r\n\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'From', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'dateFrom' },\r\n { label: 'To', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'dateTo' },\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete?',\r\n create: {\r\n url: API.SpecialWorkingDays.create,\r\n body: {\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"dateFrom\": \"\",\r\n \"dateTo\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.SpecialWorkingDays.read,\r\n body: {\r\n \"pageSize\": 10,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"id\": 0,\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.SpecialWorkingDays.update,\r\n body: {\r\n \"id\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"dateFrom\": \"\",\r\n \"dateTo\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.SpecialWorkingDays.delete,\r\n query: {\r\n durationRamadanWorId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\n\r\nexport const UserPermission = {\r\n // test: true, // To use testing local data instead of server data\r\n mainTitle: 'User Permissions',\r\n title: 'User Permissions',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n columns: [\r\n { name: 'ID', backName: 'id' },\r\n { name: 'Group Name', backName: 'nameEn' },\r\n {\r\n name: 'Permissions',\r\n backName: 'groupPermissions',\r\n link: { to: '/En/TAW/Main/UserPermission/Permissions/', routeValues: ['id', 'nameEn'], text: 'Permissions' }\r\n },\r\n {\r\n name: 'Users',\r\n backName: 'users',\r\n link: { to: '/En/TAW/Main/UserPermission/Users/', routeValues: ['id', 'nameEn'], text: 'Users' }\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'Are you sure you want to Delete this Group?',\r\n create: {\r\n url: API.UserPermission.create,\r\n body: {\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.UserPermission.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"id\": 0,\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.UserPermission.update,\r\n body: {\r\n \"id\": 0,\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.UserPermission.delete,\r\n query: {\r\n DeleteCustomGroupId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const GeneralSettings = {\r\n mainTitle: 'General Settings',\r\n title: 'General Settings',\r\n path: [{ title: 'Dashboard', path: '/En/TAW/Main/Dashboard' }],\r\n createEntityProps: [\r\n { label: 'Reject duplicate transaction(minutes)', type: 'text',noFormCont: true, validation: '', style: '', backName: '' },\r\n { label: 'Number of Shifts in Report', type: 'select',noFormCont: true, validation: '', style: '', backName: '' },\r\n { label: 'Calculating overtime before shift start', type: 'text',noFormCont: true, validation: '', style: '', backName: '' },\r\n { label: ' calculating overtime after shift end', type: 'text',noFormCont: true, validation: '', style: '', backName: '' },\r\n { label: ' count The day as an absence after delay', type: 'checkbox', noFormCont: true, validation: '', style: '', backName: '' },\r\n { label: ' count the day as an absence after Leaving early', type: 'checkbox', noFormCont: true, validation: '', style: '', backName: '' },\r\n { label: 'Allow first trans. IN and Last trans. OUT', type: 'checkbox', noFormCont: true, validation: '', style: '', backName: '' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'Arabic Name', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'English Name', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'Manager', type: 'select', validation: '', style: 'col-lg-6', backName: 'managerId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameEn' }\r\n }\r\n ],\r\n create: {\r\n url: API.Branches.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Branches.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Branches.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Branches.delete,\r\n query: {\r\n branchId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}","import React from 'react';\r\nimport './MainLayout.css';\r\n\r\nimport DashBoard from '../DashBoard/DashBoard';\r\nimport BasicPage from '../BasicPage/BasicPage';\r\nimport WorkingHours from '../WorkingHours/WorkingHours';\r\nimport ReportPage from '../ReportPage/ReportPage';\r\nimport ProcedurePage from '../ProcedurePage/ProcedurePage';\r\nimport CompanyInfo from '../CompanyInfo/CompanyInfo';\r\nimport FormPage from '../FormPage/FormPage';\r\nimport PermissionsPage from '../PermissionsPage/PermissionsPage';\r\nimport ModalPage from '../ModalPage/ModalPage';\r\nimport MessagesSettingsEn from '../messagesSettingsEn/messagesSettingsEn'\r\n\r\nimport MainHeader from '../MainHeader/MainHeader';\r\nimport SideNav from '../SideNav/SideNav';\r\n\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { API, ip } from './../../data/APIs';\r\nimport {\r\n Branches,\r\n // BranchesAr,\r\n Jobs,\r\n Projects,\r\n Nationalities,\r\n Tasks,\r\n WorkingTime,\r\n Employees,\r\n EmployeesGroups,\r\n VacationsTypes,\r\n OfficialHolidays,\r\n\r\n GetBranchTransactions,\r\n AddPermission,\r\n AddVacation,\r\n AddEditTransactions,\r\n\r\n EmployeesReport,\r\n WorkingTimeReport,\r\n DayStatusReport,\r\n DetailedAttendanceReport,\r\n TotalAttendanceReport,\r\n AbsenceReport,\r\n DelayReport,\r\n InCompleteTransReport,\r\n EarlyAttendanceReport,\r\n AttendanceSummaryReport,\r\n TotalAttendanceSummaryReport,\r\n OvertimeReport,\r\n WorkingTimeDetailsReport,\r\n BranchAttendanceReport,\r\n VacationsReport,\r\n PermissionsReport,\r\n DelayEarlyReport,\r\n TotalAbsenceReport,\r\n TotalDelayReport,\r\n\r\n Devices,\r\n SpecialWorkingDays,\r\n UserPermission,\r\n GeneralSettings\r\n} from './../../data/PageProps';\r\nimport Cookie from \"js-cookie\";\r\nimport $ from 'jquery';\r\nclass MainLayout extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n SideNavIsOpen: false,\r\n SideNavWasClosed: false,\r\n activePage: '',\r\n loadedPermissions: false,\r\n permissions: []\r\n }\r\n if (!this.state.loadedPermissions) {\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n fetch(ip + '/api/CustomGroupPermission/GetAllTapsWithPages', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${Cookie.get('token')}`\r\n },\r\n body: JSON.stringify({\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n })\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n if (response.success && response.data !== null) {\r\n //save permissions in a cookie\r\n Cookie.set('permissions', response.data, { SameSite: 'Lax' });\r\n this.setState({ permissions: response.data, loadedPermissions: true });\r\n } else {\r\n console.error(response);\r\n }\r\n })\r\n .catch(error => console.error('Unable to get Permissions.', error));\r\n }\r\n\r\n }\r\n\r\n componentDidMount() {\r\n // const sideNav = document.querySelector('#sideNav');\r\n // const mainLayout = document.querySelector('#mainLayout');\r\n // sideNav.classList.remove('show-side-nav');\r\n // mainLayout.classList.remove('show-side-nav');\r\n // sideNav.classList.add('hide-side-nav');\r\n // mainLayout.classList.add('hide-side-nav');\r\n\r\n\r\n // const sideNav = document.querySelector('#sideNav');\r\n const mainLayout = document.querySelector('#mainLayout');\r\n if (document.getElementsByTagName('body')[0].offsetWidth > 991) {\r\n // sideNav.classList.add('show-side-nav');\r\n mainLayout.classList.add('show-side-nav');\r\n // sideNav.classList.remove('hide-side-nav');\r\n mainLayout.classList.remove('hide-side-nav');\r\n this.setState({ SideNavIsOpen: true });\r\n // console.log('after componentDidMount:', this.state.SideNavIsOpen);\r\n // sideNav.addEventListener('click', () => {\r\n // hideSideNav();\r\n // })\r\n }\r\n if (document.getElementsByTagName('body')[0].offsetWidth < 991) {\r\n // sideNav.classList.remove('show-side-nav');\r\n mainLayout.classList.remove('show-side-nav');\r\n // sideNav.classList.add('hide-side-nav');\r\n mainLayout.classList.add('hide-side-nav');\r\n this.setState({ SideNavIsOpen: !(this.state.SideNavIsOpen) });\r\n }\r\n document.getElementsByTagName('body')[0].onresize = () => {\r\n if (document.getElementsByTagName('body')[0].offsetWidth > 991 && !(this.state.SideNavWasClosed)) {\r\n // if (sideNav.classList.contains('hide-side-nav')) {\r\n // sideNav.classList.add('show-side-nav');\r\n // mainLayout.classList.add('show-side-nav');\r\n // sideNav.classList.remove('hide-side-nav');\r\n // mainLayout.classList.remove('hide-side-nav');\r\n // this.setState({ SideNavIsOpen: !(this.state.SideNavIsOpen) });\r\n // }\r\n }\r\n if (document.getElementsByTagName('body')[0].offsetWidth < 991 && !(this.state.SideNavWasClosed)) {\r\n // if (sideNav.classList.contains('show-side-nav')) {\r\n // sideNav.classList.remove('show-side-nav');\r\n // mainLayout.classList.remove('show-side-nav');\r\n // sideNav.classList.add('hide-side-nav');\r\n // mainLayout.classList.add('hide-side-nav');\r\n // this.setState({ SideNavIsOpen: !(this.state.SideNavIsOpen) });\r\n // }\r\n }\r\n };\r\n if (!this.state.loadedPermissions) {\r\n fetch(ip + '/api/CustomGroupPermission/GetAllTapsWithPages', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${Cookie.get('token')}`\r\n },\r\n body: JSON.stringify({\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n })\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success && response.data !== null) {\r\n Cookie.set('permissions', response.data, { SameSite: 'Lax' });\r\n this.setState({ permissions: response.data, loadedPermissions: true });\r\n } else {\r\n console.error(response);\r\n }\r\n })\r\n .catch(error => console.error('Unable to get Permissions.', error));\r\n }\r\n\r\n }\r\n\r\n render() {\r\n // Styling:\r\n // ========\r\n const hideSideNav = () => {\r\n const sideNav = document.querySelector('#sideNav');\r\n sideNav.classList.remove('show-side-nav');\r\n sideNav.classList.add('hide-side-nav');\r\n const mainLayout = document.querySelector('#mainLayout');\r\n mainLayout.classList.toggle('show-side-nav');\r\n mainLayout.classList.toggle('hide-side-nav');\r\n this.setState({ SideNavIsOpen: false });\r\n this.setState({ SideNavWasClosed: true });\r\n }\r\n\r\n const toggleSideNav = () => {\r\n // const body = document.getElementsByTagName('body')[0];\r\n const sideNav = document.querySelector('#sideNav');\r\n sideNav.classList.toggle('show-side-nav');\r\n sideNav.classList.toggle('hide-side-nav');\r\n const mainLayout = document.querySelector('#mainLayout');\r\n mainLayout.classList.toggle('show-side-nav');\r\n mainLayout.classList.toggle('hide-side-nav');\r\n // const clock = document.querySelector('#clock');\r\n // clock.classList.toggle('hide-side-nav');\r\n const SideToggleButton = document.querySelector('#SideToggleButton');\r\n SideToggleButton.classList.toggle('hide-side-nav');\r\n if (this.state.SideNavIsOpen) {\r\n this.setState({ SideNavIsOpen: false });\r\n this.setState({ SideNavWasClosed: true });\r\n } else {\r\n this.setState({ SideNavIsOpen: true });\r\n }\r\n\r\n // if(this.state.SideNavIsOpen){\r\n // body.addEventListener('click', () => {\r\n // console.log('after click on body:',this.state.SideNavIsOpen);\r\n // hideSideNav();\r\n // })\r\n // }\r\n }\r\n if (window.innerHeight <= 500) {\r\n $(\"section.MainLayout--\").css('min-height', window.innerHeight - 50)\r\n }\r\n if (window.innerHeight >= 500) {\r\n $(\"section.MainLayout--\").css('min-height', document.innerHeight - 50)\r\n }\r\n const activatePage = (page) => {\r\n this.setState({ activePage: page });\r\n\r\n }\r\n // ========\r\n\r\n let mainLayout = this;\r\n\r\n return (\r\n \r\n {/* Website Master Page Header */}\r\n \r\n \r\n {/* Master Page Body (Content Holder) */}\r\n
\r\n } />\r\n\r\n tab.id === 1)?.data.find(page => page.id === 1) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 1) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 1) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 2) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 3) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 4) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 5) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 6) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 6) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 7) : 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\n }\r\n />\r\n\r\n \r\n )\r\n }\r\n }\r\n />\r\n\r\n \r\n )\r\n }\r\n }\r\n />\r\n\r\n \r\n )\r\n }\r\n }\r\n />\r\n \r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 41) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n\r\n tab.id === 1)?.data.find(page => page.id === 8) : 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\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 8) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 8) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 9) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 10) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 10) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 11) : 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\n tab.id === 2)?.data.find(page => page.id === 12) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n {/* \r\n API Not Found\r\n \r\n )\r\n }\r\n }\r\n /> */}\r\n tab.id === 2)?.data.find(page => page.id === 14) : null}\r\n print={false}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 17) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 18) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 13) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 15) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 16) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 15) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n {/* \r\n API 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\n\r\n\r\n\r\n\r\n\r\n\r\n tab.id === 3)?.data.find(page => page.id === 19) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 20) : null}\r\n />\r\n\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 21) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 22) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 23) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 24) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 25) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 26) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 27) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 28) : null}\r\n\r\n />\r\n\r\n\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 29) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 29) : null}\r\n\r\n />\r\n\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 31) : null}\r\n />\r\n\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 32) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 33) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 34) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 35) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 36) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 37) : 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\n\r\n\r\n\r\n tab.id === 4)?.data.find(page => page.id === 38) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 39) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 40) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 40) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 40) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 43) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 42) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 41) : 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 {!Cookie.get('token') ? : null}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\n\r\nfunction upLayer() {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n mainLayout.classList.remove(\"down-layer\");\r\n}\r\n\r\nfunction downLayer() {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n mainLayout.classList.add(\"down-layer\");\r\n}\r\n\r\n\r\nexport default MainLayout;\r\nexport { upLayer, downLayer }","import React from 'react';\r\nimport './Login.css';\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport Cookie from \"js-cookie\";\r\nimport Loading from '../Loading/Loading';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Alert from '../Alert/Alert';\r\nimport Button from '../Button/Button';\r\nimport { ip, adminIp } from './../../data/APIs';\r\n\r\nclass LoginAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n username: '',\r\n password: '',\r\n authenticated: false,\r\n failed: false,\r\n message: '',\r\n loading: false,\r\n exist: false,\r\n checked: false,\r\n RenewPlan: null\r\n }\r\n }\r\n componentDidMount() {\r\n this.Check();\r\n this.focusInput.focus();\r\n\r\n var inputFields = Array.from(document.getElementsByTagName(\"input\")); // Array.from is to be able to deal with the NodeList as an array\r\n inputFields.forEach(inputField => {\r\n inputField.addEventListener(\"keyup\", function (event) {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n document.getElementById(\"submitButton\").click();\r\n }\r\n });\r\n\r\n })\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.companyName !== this.props.companyName) {\r\n this.Check();\r\n }\r\n }\r\n\r\n ChangeState(event, name) {\r\n this.setState({ [name]: event.target.value });\r\n }\r\n\r\n Check() {\r\n this.setState({ loading: true });\r\n fetch(ip + '/api/CheckCompanyName?CompanyUniqueName=' + this.props.companyName, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'lang': 'ar'\r\n }\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n this.setState({ exist: data.data, checked: true, loading: false });\r\n } else {\r\n console.error(data);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n\r\n tryLogin() {\r\n let user = {\r\n userName: this.state.username,\r\n password: this.state.password,\r\n companyUniqueName: this.props.companyName\r\n }\r\n this.setState({ loading: true });\r\n fetch(ip + '/api/Login', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'lang': 'ar'\r\n },\r\n body: JSON.stringify(user)\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success && data.data !== null && data.data != false) {\r\n\r\n Cookie.set('token', data.data.token, { SameSite: 'Lax' });\r\n Cookie.set('userName', user.userName, { SameSite: 'Lax' });\r\n Cookie.set('companyName', this.props.companyName, { SameSite: 'Lax' });\r\n\r\n this.setState({ authenticated: true, loading: false });\r\n } \r\n else if(data.success && data.data == false || data.message == \"مدة الاشتراك انتهت.\" ){\r\n this.setState({ failed: true, message: data.message, loading: false , RenewPlan :true });\r\n }\r\n else {\r\n this.setState({ failed: true, message: data.message, loading: false });\r\n }\r\n })\r\n .catch(error => console.error('Unable to Login.', error));\r\n }\r\n\r\n render() {\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 this.state.message ?\r\n \r\n { this.state.RenewPlan ?\r\n Your package has expired. You can renew it from \r\n here \r\n \r\n :\r\n this.state.message\r\n }\r\n :\r\n null\r\n }\r\n
\r\n \r\n\r\n this.ChangeState(e, 'username')}\r\n ref={(input) => { this.focusInput = input; }}\r\n />\r\n
\r\n
\r\n \r\n this.ChangeState(e, 'password')}\r\n />\r\n\r\n
\r\n
\r\n this.tryLogin()}\r\n >\r\n تسجيل دخول\r\n \r\n
\r\n نسيت كلمة المرور؟\r\n\r\n {/*

\r\n ليس لديك حساب بعد؟\r\n \r\n\r\n تسجيل حساب جديد\r\n \r\n

*/}\r\n
\r\n
\r\n {!this.state.exist && this.state.checked ? : null}\r\n {this.state.authenticated ? : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default LoginAr;","import React from 'react';\r\nimport './ChooseApp.css';\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport Button from './../Button/Button'\r\nimport Loading from '../Loading/Loading';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport { ip } from './../../data/APIs';\r\nimport Alert from '../Alert/Alert';\r\n\r\nclass ChooseAppAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n companyName: '',\r\n exist: false,\r\n message: '',\r\n loading: false\r\n }\r\n }\r\n\r\n Check() {\r\n let me = this;\r\n this.setState({ loading: true });\r\n fetch(ip + '/api/CheckCompanyName?CompanyUniqueName=' + this.state.companyName, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'lang': 'ar'\r\n }\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n if (data.data) {\r\n this.setState({ exist: data.data, loading: false });\r\n } else {\r\n this.setState({ message: \"اسم الشركة غير موجود.\", exist: data.data, loading: false });\r\n setTimeout(function () { me.setState({ message: '' }); }, 10000);\r\n }\r\n } else {\r\n this.setState({ message: data.message, loading: false });\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n componentDidMount() {\r\n this.focusInput.focus();\r\n var inputFields = Array.from(document.getElementsByTagName(\"input\")); // Array.from is to be able to deal with the NodeList as an array\r\n inputFields.forEach(inputField => {\r\n inputField.addEventListener(\"keyup\", function (event) {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n document.getElementById(\"submitButton\").click();\r\n }\r\n });\r\n\r\n })\r\n }\r\n\r\n render() {\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 this.state.message ?\r\n {this.state.message}\r\n :\r\n\r\n null\r\n }\r\n \r\n this.setState({ companyName: e.target.value })}\r\n ref={(input) => { this.focusInput = input; }}\r\n />\r\n
\r\n
\r\n
\r\n this.Check()}\r\n >\r\n متابعة\r\n \r\n
\r\n
\r\n
\r\n {this.state.exist ? : null}\r\n
\r\n );\r\n }\r\n\r\n}\r\n\r\nexport default ChooseAppAr;","import React from 'react';\r\nimport './Register.css';\r\nimport { Link } from \"react-router-dom\";\r\nimport Button from './../Button/Button';\r\n\r\nclass RegisterAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}\r\n }\r\n componentDidMount() {\r\n this.focusInput.focus();\r\n\r\n var inputFields = Array.from(document.getElementsByTagName(\"input\")); // Array.from is to be able to deal with the NodeList as an array\r\n inputFields.forEach(inputField => {\r\n inputField.addEventListener(\"keyup\", function (event) {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n document.getElementById(\"submitButton\").click();\r\n }\r\n });\r\n })\r\n }\r\n render() {\r\n return (\r\n
\r\n
\r\n

تسجيل حساب جديد

\r\n {/*

الوصول إلى لوحة القيادة

*/}\r\n
\r\n
\r\n \r\n { this.focusInput = input; }}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n this.tryLogin()}\r\n >\r\n تسجيل حساب جديد\r\n \r\n

\r\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 RegisterAr;","import React from 'react';\r\nimport './Login.css';\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport Cookie from \"js-cookie\";\r\nimport Loading from '../Loading/Loading';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Alert from '../Alert/Alert';\r\nimport Button from '../Button/Button';\r\nimport { ip } from '../../data/APIs';\r\n\r\nclass ForgotPasswordAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n companyName: '',\r\n username: '',\r\n email: '',\r\n message: '',\r\n alertClass: 'success',\r\n loading: false,\r\n exist: false,\r\n checked: false\r\n }\r\n }\r\n componentDidMount() {\r\n this.Check();\r\n this.focusInput.focus();\r\n\r\n var inputFields = Array.from(document.getElementsByTagName(\"input\")); // Array.from is to be able to deal with the NodeList as an array\r\n inputFields.forEach(inputField => {\r\n inputField.addEventListener(\"keyup\", function (event) {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n document.getElementById(\"submitButton\").click();\r\n }\r\n });\r\n\r\n })\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n if (prevProps.companyName !== this.props.companyName) {\r\n this.Check();\r\n }\r\n }\r\n\r\n ChangeState(event, name) {\r\n this.setState({ [name]: event.target.value });\r\n }\r\n\r\n Check() {\r\n this.setState({ loading: true });\r\n fetch(ip + '/api/CheckCompanyName?CompanyUniqueName=' + this.props.companyName, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'lang': 'ar'\r\n }\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success) {\r\n this.setState({ exist: data.data, checked: true, loading: false });\r\n } else {\r\n console.error(data);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n\r\n Submit() {\r\n let user = {\r\n companyName: this.props.companyName,\r\n userName: this.state.username,\r\n email: this.state.email,\r\n }\r\n this.setState({ loading: true });\r\n fetch(ip + '/api/ForgotPassword', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'lang': 'ar'\r\n },\r\n body: JSON.stringify(user)\r\n })\r\n .then(response => response.json())\r\n .then((data) => {\r\n if (data.success && data.data !== null) {\r\n\r\n this.setState({ alertClass: 'success', message: data.message, loading: false });\r\n } else {\r\n this.setState({ alertClass: 'danger', message: data.message, loading: false });\r\n }\r\n })\r\n .catch(error => console.error('Unable to Login.', error));\r\n }\r\n\r\n render() {\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 this.state.message ?\r\n {this.state.message}\r\n :\r\n null\r\n }\r\n\r\n
\r\n \r\n\r\n this.ChangeState(e, 'username')}\r\n ref={(input) => { this.focusInput = input; }}\r\n\r\n />\r\n
\r\n
\r\n \r\n this.ChangeState(e, 'email')}\r\n />\r\n\r\n
\r\n
\r\n this.Submit()}\r\n >\r\n إرسال\r\n \r\n
\r\n\r\n
\r\n
\r\n {!this.state.exist && this.state.checked ? : null}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ForgotPasswordAr;","import React from 'react';\r\nimport logo from './apex-logo-light-blue.png';\r\nimport company from '../../logo-white.png';\r\nimport './StartLayout.css';\r\nimport { Route } from \"react-router-dom\";\r\nimport LoginAr from '../LoginAr/LoginAr';\r\nimport RegisterAr from '../RegisterAr/RegisterAr';\r\nimport ChooseAppAr from '../ChooseAppAr/ChooseAppAr';\r\nimport ForgotPasswordAr from '../ForgotPasswordAr/ForgotPasswordAr';\r\nimport { Link } from \"react-router-dom\";\r\nimport { Dropdown } from 'react-bootstrap';\r\n\r\nfunction StartLayoutAr(props) {\r\n return (\r\n
\r\n
\r\n {/* Nav bar */}\r\n \r\n {/* Routes */}\r\n
\r\n {/* Write Company name */}\r\n {/* thair is two ways first component name \r\n second : render{()=>{ }} */}\r\n\r\n \r\n {/* Login */}\r\n \r\n \r\n }\r\n />\r\n {/* Forgot Password */}\r\n \r\n \r\n }\r\n />\r\n
\r\n\r\n
\r\n\r\n {/* Footer */}\r\n
\r\n
\r\n
\r\n جميع الحقوق محفوظة لمؤسسة طيف الألماس التجارية ©\r\n
\r\n
\r\n

تواصل معنا

\r\n \r\n \r\n
\r\n
\r\n \r\n \"LOGO\"\r\n \r\n Powered by\r\n
\r\n\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default StartLayoutAr;","export default \"data:image/png;base64,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\"","import React from 'react'\r\nimport './PageHeaderAr.css';\r\nimport Button from './../Button/Button';\r\nimport { PDFDownloadLink, Document, Page } from '@react-pdf/renderer';\r\nimport { Link } from 'react-router-dom';\r\nimport { Dropdown } from 'react-bootstrap';\r\nimport axios from 'axios';\r\nimport ReactHTMLTableToExcel from 'react-html-table-to-excel';\r\nimport ReactExport from \"react-data-export\";\r\n\r\nclass PageHeaderAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n excelHeader: props.excelHeader ? props.excelHeader : []\r\n }\r\n }\r\n\r\n render() {\r\n //For Print Excel Button\r\n const ExcelFile = ReactExport.ExcelFile;\r\n const ExcelSheet = ReactExport.ExcelFile.ExcelSheet;\r\n let multiDataSet = [];\r\n if (this.props.excel) {\r\n this.props.excelHeader.push({ backName: \"\", name: \" \" })\r\n if (this.props.singleTable && !this.props.colored) {\r\n let columns = this.props.excelHeader.map((h, i) => {\r\n return {\r\n title: h.name,\r\n width: { wch: h.backName == 'employeeCode' ? 10 : 30 },\r\n\r\n style: i == this.props.excelHeader.length - 1 ?\r\n { alignment: { wrapText: false, readingOrder: 2 } }\r\n :\r\n { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n\r\n }\r\n });\r\n\r\n multiDataSet = [\r\n {\r\n xSteps: 1, // Will start putting cell with 1 empty cell on left most\r\n ySteps: 5, //will put space of 5 rows,\r\n columns: columns,\r\n data: this.props.excelData?.map((d, inx) => {\r\n let row = this.props.excelHeader.map((col, i) => {\r\n if (i != this.props.excelHeader.length - 1)\r\n return {\r\n value: d[col.backName] ? d[col.backName] : '',\r\n style:\r\n inx % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n }\r\n });\r\n return row;\r\n })\r\n }\r\n ];\r\n } else if (this.props.overtime) {\r\n if (this.props.excelData?.length > 0) {\r\n for (let x = 0; x < this.props.excelData?.length; x++) {\r\n let header1 = [], header2 = [];\r\n for (let j = 0; j < this.props.excelData[x].data.length; j++) {\r\n header1 = []; header2 = [];\r\n header1.push(\r\n {\r\n title: 'كود الموظف', width: { wch: 10 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n }\r\n )\r\n header1.push(\r\n {\r\n title: 'إسم الموظف', width: { wch: 40 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n }\r\n )\r\n header2.push(\r\n { value: '' }\r\n )\r\n header2.push(\r\n { value: '' }\r\n )\r\n for (let i = 0; i < this.props.excelData[x].data[j].data.length; i++) {\r\n header1.push(\r\n {\r\n title: this.props.excelData[x].data[j].data[i].date.toString(), width: { wch: 10 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n }\r\n )\r\n header2.push(\r\n { value: this.props.excelData[x].data[j].data[i].day.toString() }\r\n )\r\n }\r\n }\r\n header1.push(\r\n {\r\n title: 'اجمالي الساعات', width: { wch: 20 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n }\r\n )\r\n header2.push(\r\n { value: '' }\r\n )\r\n\r\n let OverTableData = [];\r\n // creating table data\r\n let outCounter = 0;\r\n for (const raw of this.props.excelData[x].data) {\r\n outCounter += 1;\r\n let row = [];\r\n let counter = 0;\r\n for (const column of this.props.excelHeader) {\r\n counter += 1;\r\n if (column.backName == 'date') {\r\n for (const col of raw.data) {\r\n row.push({\r\n value: col.extraMinutes ? col.extraMinutes.toString() : '0',\r\n style:\r\n outCounter % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n\r\n }\r\n );\r\n }\r\n } else {\r\n if (counter != this.props.excelHeader.length - 1) {\r\n row.push({\r\n value: raw[column.backName] ? raw[column.backName].toString() : ' ',\r\n style:\r\n outCounter % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n });\r\n }\r\n }\r\n }\r\n OverTableData.push(row);\r\n }\r\n let pretable = [];\r\n for (const pre of this.props.preTableFields) {\r\n pretable.push({ title: pre.name, width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[x][pre.backName] ? this.props.excelData[x][pre.backName].toString() : '', width: { wch: 10 } })\r\n }\r\n\r\n if (this.props.period) {\r\n pretable.push({ title: \"الفترة من:\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[x].from ? this.props.excelData[x].from.toString() : '', width: { wch: 10 } })\r\n pretable.push({ title: \"إلى:\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[x].to ? this.props.excelData[x].to.toString() : '', width: { wch: 10 } })\r\n }\r\n\r\n OverTableData.unshift(header2);\r\n\r\n multiDataSet.push({\r\n ySteps: 5,\r\n columns: pretable,\r\n data: [],\r\n\r\n });\r\n multiDataSet.push({\r\n ySteps: 1,\r\n columns: header1,\r\n data: OverTableData,\r\n\r\n });\r\n }\r\n\r\n }\r\n } else if (this.props.colored) {\r\n if (this.props.excelData?.length > 0) {\r\n let coloredHeaders = [];\r\n if (this.props.colored) {\r\n coloredHeaders.push({\r\n title: 'كود الموظف', width: { wch: 10 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n })\r\n coloredHeaders.push({\r\n title: 'إسم الموظف', width: { wch: 40 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n })\r\n for (let x = 0; x < this.props.excelData[0].data.length; x++) {\r\n coloredHeaders.push({\r\n title: this.props.excelData[0].data[x].date ? this.props.excelData[0].data[x].date.toString() : '',\r\n width: { wch: 10 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n })\r\n }\r\n coloredHeaders.push({\r\n title: 'أيام العمل', width: { wch: 20 },\r\n style: { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n })\r\n\r\n }\r\n\r\n let coloredTableData = [];\r\n coloredTableData = this.props.excelData?.map((raw, inx) => {\r\n let arr = [];\r\n for (const column of this.props.excelHeader) {\r\n let counter = 0;\r\n if (column.backName == 'data') {\r\n for (const col of raw.data) {\r\n arr.push({\r\n value: col.timeIn ? col.timeIn.toString() : '0',\r\n style:\r\n inx % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n });\r\n }\r\n } else {\r\n if (counter != this.props.excelHeader.length - 1) {\r\n arr.push({\r\n value: raw[column.backName] ? raw[column.backName].toString() : ' ',\r\n style:\r\n inx % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n });\r\n }\r\n }\r\n }\r\n return arr;\r\n })\r\n\r\n let pretable = [];\r\n\r\n if (this.props.period) {\r\n pretable.push({ title: \"الفترة من:\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[0].from ? this.props.excelData[0].from.toString() : '', width: { wch: 10 } })\r\n pretable.push({ title: \"إلى:\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[0].to ? this.props.excelData[0].to.toString() : '', width: { wch: 10 } })\r\n }\r\n\r\n multiDataSet.push({\r\n ySteps: 5,\r\n columns: pretable,\r\n data: [],\r\n\r\n });\r\n multiDataSet.push({\r\n ySteps: 1,\r\n columns: coloredHeaders,\r\n data: coloredTableData,\r\n\r\n });\r\n\r\n }\r\n } else {\r\n if (this.props.excelData) {\r\n for (const data of this.props.excelData) {\r\n let columns = this.props.excelHeader.map((h, i) => {\r\n return {\r\n title: h.name,\r\n width: { wch: h.backName == 'employeeCode' ? 10 : 30 },\r\n\r\n style: i == this.props.excelHeader.length - 1 ?\r\n { alignment: { wrapText: false, readingOrder: 2 } }\r\n :\r\n { fill: { patternType: \"solid\", fgColor: { rgb: \"A9A9A9\" } }, alignment: { wrapText: false, readingOrder: 2 } }\r\n\r\n }\r\n });\r\n\r\n let body = data.data.map((d, inx) => {\r\n let row = this.props.excelHeader?.map((col, i) => {\r\n if (i != this.props.excelHeader.length - 1)\r\n return {\r\n value: d[col.backName] ? d[col.backName] : '',\r\n style:\r\n inx % 2 != 0 ?\r\n {\r\n alignment: { wrapText: false, readingOrder: 2 },\r\n fill: { patternType: \"solid\", fgColor: { rgb: \"DCDCDC\" } }\r\n }\r\n :\r\n { alignment: { wrapText: false, readingOrder: 2 }, }\r\n }\r\n });\r\n return row;\r\n });\r\n\r\n let pretable = [];\r\n if (this.props.preTableFields) {\r\n for (const pre of this.props.preTableFields) {\r\n pretable.push({ title: pre.name, width: { wch: 10 } })\r\n pretable.push({ title: data[pre.backName] ? data[pre.backName].toString() : '', width: { wch: 10 } })\r\n }\r\n }\r\n if (this.props.period) {\r\n pretable.push({ title: \"الفترة من:\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[0].from ? this.props.excelData[0].from.toString() : '', width: { wch: 10 } })\r\n pretable.push({ title: \"إلى:\", width: { wch: 10 } })\r\n pretable.push({ title: this.props.excelData[0].to ? this.props.excelData[0].to.toString() : '', width: { wch: 10 } })\r\n\r\n }\r\n\r\n\r\n multiDataSet.push({\r\n xSteps: 1,\r\n ySteps: 5,\r\n columns: pretable,\r\n data: []\r\n });\r\n if (this.props.excelHeader && pretable) {\r\n if (this.props.excelHeader.length < pretable.length) {\r\n let loops = this.props.excelHeader.length / pretable.length\r\n for (let x = 1; x <= Math.round(loops); x++) {\r\n let pretable2 = []\r\n let index = (this.props.excelHeader.length - 1) * x\r\n for (let i = index; i < pretable.length; i++) {\r\n pretable2.push(pretable[i])\r\n }\r\n multiDataSet.push({\r\n xSteps: 1,\r\n ySteps: 1,\r\n columns: pretable2,\r\n data: []\r\n });\r\n }\r\n }\r\n }\r\n multiDataSet.push({\r\n xSteps: 1,\r\n ySteps: 1,\r\n columns: columns,\r\n data: body\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 {this.props.nobtn ?\r\n null\r\n :\r\n
\r\n {this.props.hideFilters && this.props.showFilters ?\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 this.props.report ?\r\n\r\n this.props.print ?\r\n \r\n \r\n تصدير \r\n \r\n\r\n \r\n \r\n Excel}>\r\n \r\n \r\n\r\n\r\n \r\n \r\n this.props.printPDF()}\r\n\r\n >\r\n PDF\r\n \r\n \r\n \r\n :\r\n null\r\n :\r\n this.props.procedure ?\r\n this.props.Action()}\r\n btnClr={this.props.btnClr}\r\n >\r\n {this.props.btnTxt ? this.props.btnTxt : \"Button Name\"}\r\n \r\n :\r\n this.props.save ?\r\n this.props.Action()}\r\n >\r\n حفظ\r\n \r\n :\r\n this.props.noCreate ?\r\n null\r\n :\r\n this.props.routOut ?\r\n \r\n\r\n + إضافة {/* if you remove className=\"fa\" animation will not work, and I don't know why */}\r\n \r\n :\r\n this.props.showModal(this.props.useSearchModal ? 'search' : \"add\")}\r\n >\r\n + إضافة {/* if you remove className=\"fa\" animation will not work, and I don't know why */}\r\n \r\n }\r\n
}\r\n
\r\n
\r\n )\r\n }\r\n}\r\nexport default PageHeaderAr;","import React from 'react';\r\nimport './Exceptions.css';\r\n\r\nclass ExceptionsAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n activated: false\r\n }\r\n }\r\n\r\n timeOut;\r\n\r\n activateExceptions(value) {\r\n\r\n if (!value) { // To remove all checked values\r\n clearTimeout(this.timeOut);\r\n for (const backName of this.props.backNames) {\r\n this.props.onChange(backName, false)\r\n }\r\n } else {\r\n let me = this;\r\n if (this.props.values.every((value) => value === false)) {\r\n this.timeOut = setTimeout(() => me.setState({ activated: false }), 10000);\r\n }\r\n }\r\n this.setState({ activated: value });\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n\r\n if (props.values.some((value) => value === true)) {\r\n if (state.activated) {\r\n return null;\r\n } else {\r\n return { activated: true };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n render() {\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\nexport default ExceptionsAr;\r\n","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './Exceptions.css';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Table from './../Table/Table';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Cookie from \"js-cookie\";\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Loading from '../Loading/Loading';\r\nimport Field from '../Field/Field';\r\nimport { ip } from './../../data/APIs';\r\n\r\nclass SelectShiftAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n loading: false,\r\n data: [],\r\n updated: false,\r\n prevValues: null,\r\n counter: 0\r\n }\r\n }\r\n\r\n Fetch(entity, token, operation, then) {\r\n fetch(ip + '/api/AskPermission/SearchPeriodShiftTimeForEmployee', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(entity)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n Read(entity) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(Cookie.get('token'));\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState(\r\n {\r\n data: response.data.data,\r\n loading: false,\r\n updated: true\r\n }\r\n );\r\n me.props.parent.setState({ shiftsData: response.data.data })\r\n } else {\r\n me.setState(\r\n {\r\n data: [],\r\n loading: false,\r\n updated: true\r\n }\r\n );\r\n console.error(response);\r\n }\r\n } else if (response.status === 501) {\r\n me.setState(\r\n {\r\n data: response.message,\r\n loading: false,\r\n updated: true\r\n }\r\n );\r\n me.props.onChange(me.props.backNames[2], 'open')\r\n console.error(response);\r\n } else {\r\n me.setState(\r\n {\r\n data: [],\r\n loading: false,\r\n updated: true\r\n }\r\n );\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n // Store prevValues in state so we can compare when props change. \r\n // Clear out previously-loaded data (so we don't render stale stuff).\r\n if (state.prevValues) {\r\n if (props.values[0] && props.values[1]) {\r\n if (props.values[0] !== state.prevValues[0] || props.values[1] !== state.prevValues[1]) {\r\n // if (props.values[2] != '') {\r\n // props.onChange(props.backNames[2], '')\r\n // }\r\n return { data: null, prevValues: props.values };\r\n }\r\n } else {\r\n if (props.values[2].periodShiftId != '') {\r\n props.onChange('periodShiftId', '')\r\n }\r\n if (props.values[2].periodShiftSecondId != '') {\r\n props.onChange('periodShiftSecondId', '')\r\n }\r\n if (props.values[2].periodShiftThirdId != '') {\r\n props.onChange('periodShiftThirdId', '')\r\n }\r\n if (props.values[2].periodShiftFourthId != '') {\r\n props.onChange('periodShiftFourthId', '')\r\n }\r\n return { data: [], prevValues: props.values };\r\n }\r\n } else {\r\n return { data: null, prevValues: props.values };\r\n }\r\n // No state update necessary \r\n return null;\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.state.data === null && !this.state.loading) {\r\n let entity = {\r\n \"type\": 1,\r\n \"value\": this.props.values[0].toString(),\r\n \"selectedDate\": this.props.values[1]\r\n };\r\n this.Read(entity);\r\n }\r\n }\r\n\r\n render() {\r\n let tableRows = [];\r\n if (this.state.data) {\r\n if (Array.isArray(this.state.data)) {\r\n this.state.data.sort((a, b) => a.sequence - b.sequence);\r\n tableRows = this.state.data.map(row => \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n tableRows = [\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 style={'col-lg-12'}\r\n inputComponent={[\r\n item.value === this.props.values[0])}\r\n options={this.props.items}\r\n onChange={(value) => this.props.onChange(this.props.backNames[0], value)}\r\n />\r\n ]}\r\n />\r\n
\r\n
\r\n *, \":\"]}\r\n style={'col-lg-12'}\r\n inputComponent={[\r\n this.props.onChange(this.props.backNames[1], value)}\r\n />\r\n ]}\r\n />\r\n
\r\n ,\r\n ,\r\n ,\r\n \r\n ]\r\n }\r\n data={tableRows}\r\n />\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default SelectShiftAr;\r\n","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './Exceptions.css';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Field from '../Field/Field';\r\n\r\nclass PermissionTypesAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n type: ''\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (this.state.type !== prevState.type) {\r\n switch (this.state.type) {\r\n case 2:\r\n this.props.onChange(this.props.backNames[2], '')\r\n break;\r\n case 3:\r\n this.props.onChange(this.props.backNames[1], '')\r\n break;\r\n case 4:\r\n this.props.onChange(this.props.backNames[1], '')\r\n this.props.onChange(this.props.backNames[2], '')\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n *, \":\"]}\r\n \r\n inputComponent={[\r\n item.value === this.props.values[0])}\r\n options={this.props.items}\r\n onChange={(value) => {\r\n this.setState({ type: value });\r\n this.props.onChange(this.props.backNames[0], value);\r\n }}\r\n />\r\n ]}\r\n />\r\n {\r\n this.state.type === 1 || this.state.type === 2 ?\r\n
\r\n *, \":\"]}\r\n noFormCont={false}\r\n inputComponent={[\r\n this.props.onChange(this.props.backNames[1], value)}\r\n />\r\n ]}\r\n />\r\n
\r\n :\r\n null\r\n }\r\n {\r\n this.state.type === 1 || this.state.type === 3 ?\r\n
\r\n *, \":\"]}\r\n noFormCont={false}\r\n inputComponent={[\r\n this.props.onChange(this.props.backNames[2], value)}\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\nexport default PermissionTypesAr;\r\n","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './BasicPage.css';\r\nimport { Link } from 'react-router-dom';\r\nimport Table from './../Table/Table';\r\nimport Cookie from \"js-cookie\";\r\nimport ModalAr from './../ModalAr/ModalAr';\r\nimport PageHeaderAr from '../PageHeaderAr/PageHeaderAr';\r\nimport FiltersAr, { hideFilters, showFilters } from '../FiltersAr/FiltersAr';\r\nimport TableFooterAr from '../TableFooterAr/TableFooterAr';\r\nimport Loading from '../Loading/Loading';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport ExceptionsAr from '../ExceptionsAr/ExceptionsAr';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport SelectShiftAr from '../SelectShiftAr/SelectShiftAr';\r\nimport PermissionTypesAr from '../PermissionTypesAr/PermissionTypesAr';\r\nimport Field from '../Field/Field';\r\nimport Alert from './../Alert/Alert';\r\n\r\nclass BasicPageAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n //Create empty readEntity (for the body of the read request)\r\n let tempReadEntity = props.read.body;\r\n if (props.read.body && props.searchFields) {\r\n for (let field of props.searchFields) {\r\n if (field.backSearch) {\r\n tempReadEntity.search[field.backName] = '';\r\n }\r\n }\r\n }\r\n\r\n this.state = {\r\n createEntity: props.create.body,\r\n readEntity: props.read.body ? props.read.body : (props.read.path ? props.read.path : props.read.query),\r\n updateEntity: props.update.body,\r\n deleteEntity: props.delete.query ? props.delete.query : props.delete.body,\r\n createErrors: [],\r\n updateErrors: [],\r\n\r\n //for pagination\r\n rowsNumber: 10,\r\n rowsTotal: 0,\r\n currentPage: 1,\r\n\r\n //For alert\r\n message: { text: '', style: '' },\r\n\r\n loading: false,\r\n //for modals show\r\n add: false,\r\n edit: false,\r\n delete: false,\r\n search: false,\r\n //fetched data from back-end\r\n data: [],\r\n //for Search Modal\r\n modalUpdated: false,\r\n 'نوع الجهاز': [\r\n {\r\n \"id\": 1,\r\n \"nameEn\": \"ZKTeco\",\r\n \"nameAr\": \"ZKTeco\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"nameEn\": \"Timmy TM-F630\",\r\n \"nameAr\": \"Timmy TM-F630\"\r\n }\r\n ]\r\n }\r\n // Get the Search Fields 'select elements' items from the Database when the page displayed for the first time\r\n if (props.searchFields) { // to prevent undefined error\r\n for (let field of props.searchFields) {\r\n if (field.type === 'select' || field.type == 'multiSelect') {\r\n\r\n this.GetSelect(field.url, field.body, field.label);\r\n }\r\n\r\n }\r\n }\r\n\r\n // Get the Create & Update 'select elements' items from the Database when the page displayed for the first time\r\n for (let prop of props.createEntityProps) {\r\n // if the items already exist in the Search Field Don't Get it from the Database again\r\n if (prop.type === 'select' && props.searchFields.find(field => field.label === prop.label) === undefined) {\r\n this.GetSelect(prop.url, prop.body, prop.label);\r\n // selectShift Components don't have a Label\r\n } else if (prop.type === 'selectShift') {\r\n this.GetSelect(prop.url, prop.body, prop.label);\r\n }\r\n }\r\n }\r\n\r\n // Styling:\r\n // ========\r\n // set the model name true to display the wanted modal \r\n showModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n mainLayout.style.overflow = \"visible\";\r\n }\r\n\r\n hideModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n\r\n // return the Modal elements to the default State\r\n // loop on createEntityProps to reset them properly according to their types\r\n if (modalName === 'add') {\r\n const entity = this.state.createEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n //for employee active checkbox\r\n if (field.label === 'نشط') {\r\n entity[field.backName] = true;\r\n } else {\r\n entity[field.backName] = false;\r\n }\r\n }\r\n //in Working time page\r\n if (field.type === 'shiftEndNextDay') {\r\n //Checkbox\r\n entity[field.backName[0]] = false;\r\n //input\r\n entity[field.backName[1]] = '';\r\n }\r\n //In Employees page\r\n if (field.type === 'exceptions') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = false;\r\n }\r\n }\r\n //Add permission page\r\n if (field.type === 'selectShift') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n if (typeof backName != 'object') {\r\n entity[backName] = '';\r\n }\r\n }\r\n }\r\n //Add permission page\r\n if (field.type === 'permissionType') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n }\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'search') {\r\n //For Search Modal\r\n const entity = this.state.createEntity;\r\n //set the createEntity in which the modal controls to an empty array\r\n entity[this.props.modalBackName] = [];\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'edit') {\r\n const entity = this.state.updateEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n entity[field.backName] = true;\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n }\r\n this.setState({ updateEntity: entity, updateErrors: [] })\r\n }\r\n }\r\n // ========\r\n\r\n componentDidMount() {\r\n //if permissions loaded\r\n if (this.props.permissions !== null) {\r\n //Clear search fields\r\n this.Clear();\r\n //Get data to show from back-end\r\n } else {\r\n //if not loaded, wait for a second and try again\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n // A method for changing the state,\r\n // inputs:\r\n // key = Name of the state\r\n // value = value of the state\r\n ChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n Validation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' حقل إجباري.');\r\n }\r\n }\r\n //Depends on property of RequiredCondition\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' حقل إجباري.');\r\n }\r\n }\r\n //Depends on property of RequiredCondition\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' حقل إجباري.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.createEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp.backName]))) {\r\n errors = errors.concat(prop.label + ' يجب أن يكون أقل من أو يساوي \"' + toProp.label + '\".');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.createEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp.backName])) {\r\n errors = errors.concat(prop.label + ' يجب أن يكون أكبر من أو يساوي \"' + fromProp.label + '\".');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' يجب أن يكون بريد إلكتروني صحيح.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n //if checkbox checked\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat(prop.label[1] + ' حقل إجباري.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n //Employee select is required\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('الموظف حقل إجباري.');\r\n }\r\n //Date select is required\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('التاريخ حقل إجباري.');\r\n }\r\n //prop.backName[2]\r\n //shift select is required\r\n if (!entity.periodShiftId && !entity.periodShiftFourthId\r\n && !entity.periodShiftSecondId && !entity.periodShiftThirdId) {\r\n\r\n errors = errors.concat('اختيار الوردية إجباري.');\r\n }\r\n //if open working time there are no shifts to select\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n //permission type select is required\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('نوع الإذن حقل إجباري.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n //permission type\r\n switch (entity[prop.backName[0]]) {\r\n //if temporary\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('وقت الحضور حقل إجباري.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n //split the time entered by the user to get hours and minuts in an array\r\n time = entity[prop.backName[1]].split(':');\r\n //Create a date object of the entered time\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n //split the inTime of the shift to get hours and minuts in an array\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n //Create a date object of inTime of the shift\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n //split the outTime of the shift to get hours and minuts in an array\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n //Create a date object of outTime of the shift\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n //check if entered time is between shift inTime and outTime\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('يجب أن يكون وقت حضور الإذن داخل وقت الوردية المحددة.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('وقت الانصراف حقل إجباري.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('يجب أن يكون وقت انصراف الإذن داخل وقت الوردية المحددة.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('وقت الحضور حقل إجباري.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('يجب أن يكون وقت حضور الإذن داخل وقت الوردية المحددة.');\r\n }\r\n }\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('وقت الانصراف حقل إجباري.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('يجب أن يكون وقت انصراف الإذن داخل وقت الوردية المحددة.');\r\n }\r\n }\r\n }\r\n break;\r\n case 4:\r\n errors = errors.filter((error) => error !== 'اختيار الوردية إجباري.');\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n //Creating the request url \r\n let url = this.props[operation].path ?\r\n //if path, put the entity properties in the url separated by '/' e.g: /api/Shift/GetShiftDetails/{shiftId}/{shiftType}\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n //if query, put the entity properties in the url in a query string format e.g: /api/Shift/GetShiftDetails?shiftId=1&shiftType=2\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => {\r\n if (typeof entity[key] === 'object') {\r\n return Object.keys(entity[key]).map((inkey) => key + '.' + inkey + '=' + entity[key][inkey]).join('&')\r\n }\r\n return key + '=' + entity[key];\r\n }).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n //if the url ends with '&'\r\n if (url.endsWith('&')) {\r\n url = url.substring(0, url.length - 1);\r\n }\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n fetch(url, {\r\n //Post or get\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': this.props[operation].verb === 'POST' ? 'text/json' : 'text/plain',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'ar'\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for Creating a new entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating (current createEntity)\r\n Create(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ createErrors: errors });\r\n\r\n //if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n // After the fetch ened do 'then' function\r\n let then = (response, me) => {\r\n // if the response isokay \r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (me.props.useSearchModal) {\r\n // Do reset to the modal and close \r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n if (me.props.useSearchModal) {\r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ createErrors: errors, loading: false });\r\n }\r\n if(me.props.addType){\r\n me.hideModal('search');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n }\r\n else {\r\n console.error(response);\r\n\r\n }\r\n }\r\n }\r\n this.Fetch(entity, token, 'create', then);\r\n }\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n // cheach on pemition if allow read\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get') || this.props.allPermissions) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n // the then function \r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n // if the repponce data return as data of data then \r\n\r\n if (response.data.data) {\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n // add the parameter data for all incoming data row \r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else {\r\n me.setState(\r\n {\r\n data: response.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n }\r\n } else {\r\n //if not success \r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n //if not status == 200\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n\r\n\r\n }\r\n\r\n // A method for Updating an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\n Update(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n if(me.props.addType){\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n }\r\n else {\r\n console.error(response);\r\n\r\n }\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n }\r\n\r\n // A method for Deleting an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Delete (current deleteEntity)\r\n Delete(entity) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message && !me.props.addType) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n if(me.props.addType){\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n }\r\n else {\r\n console.error(response);\r\n\r\n }\r\n }\r\n }\r\n this.Fetch(entity, token, 'delete', then);\r\n }\r\n\r\n // A method for getting the data of the selected row and putting it in the updateEntity,\r\n // inputs:\r\n // id = Selected row ID\r\n GetForUpdate(id) {\r\n // اhena ana b7ot el updateEntity 'body el fade' fe 'temp' w b 'search' fe el data 3ashan ageb el obj. \r\n // w b3d kda a7otho fe el update entity tany\r\n let tempEntity = this.state.updateEntity;\r\n for (let prop in tempEntity) {\r\n //if an item found with this 'id'\r\n tempEntity[prop] = this.state.data.find(item => item.id === id) ?\r\n //if thr property 'prop' in the founded row is undefined\r\n this.state.data.find(item => item.id === id)[prop] === undefined ?\r\n //leave it as it is\r\n tempEntity[prop]\r\n :\r\n //assign the property value\r\n this.state.data.find(item => item.id === id)[prop]\r\n :\r\n //if there is no item with this 'id' \r\n //find the row which the first property == 'id', if the 'prop' of this row == undefined\r\n this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop] === undefined ?\r\n //leave it as it is\r\n tempEntity[prop]\r\n :\r\n //assign the property value\r\n this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop];\r\n }\r\n this.setState({ updateEntity: tempEntity });\r\n }\r\n\r\n // A method for getting the id of the selected row and putting it in the deleteEntity,\r\n // inputs:\r\n // id = Selected row ID\r\n GetIdForDelete(id) {\r\n let tempEntity;\r\n if (this.props.addType) {\r\n tempEntity = {\r\n \"id\": id,\r\n \"type\": this.props.addType\r\n }\r\n }\r\n else {\r\n tempEntity = this.state.deleteEntity;\r\n if (Array.isArray(tempEntity[Object.keys(tempEntity)[0]])) {\r\n tempEntity[Object.keys(tempEntity)[0]] = [id];\r\n } else {\r\n tempEntity[Object.keys(tempEntity)[0]] = id;\r\n }\r\n }\r\n\r\n\r\n this.setState({ deleteEntity: tempEntity });\r\n }\r\n\r\n // A method for getting the select items from the Database,\r\n // inputs:\r\n // url = Web API Service url\r\n // body = Request body\r\n // name = the name of the state that the data will be stored in\r\n GetSelect(url, body, name) {\r\n\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n //Create a state with the label of the select ('name' == label)\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n }\r\n\r\n // A method for Re setting the Search fields values\r\n Clear() {\r\n let tempEntity = this.state.readEntity;\r\n if (this.props.searchFields) {\r\n for (let field of this.props.searchFields) {\r\n if (field.type === 'date') {\r\n tempEntity.search[field.backName] = '';\r\n } else if (!Number.isNaN(Number.parseInt(tempEntity.search[field.backName]))) {\r\n tempEntity.search[field.backName] = 0;\r\n }\r\n else if (field.type === 'multiSelect') {\r\n tempEntity.search[field.backName] = [];\r\n }\r\n else {\r\n tempEntity.search[field.backName] = '';\r\n }\r\n }\r\n }\r\n\r\n this.setState({ readEntity: tempEntity });\r\n if (!this.props.showEmpty) {\r\n this.Read(this.state.readEntity);\r\n }\r\n\r\n }\r\n\r\n render() {\r\n let me = this;\r\n let tableRawData = this.state.data;\r\n\r\n\r\n // Getting only the required columns for display + the row id\r\n tableRawData = tableRawData.map((row) => {\r\n let tablerow = {};\r\n for (let column of this.props.columns) {\r\n tablerow[column['backName']] = row[column['backName']];\r\n }\r\n tablerow.id = row.id;\r\n\r\n return tablerow;\r\n });\r\n\r\n // Creating the Breadcrumb links\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n // Creating the SearchFields\r\n let SearchFields\r\n if (this.props.searchFields) { // to prevent undefined error\r\n SearchFields = this.props.searchFields.map(\r\n (field) => {\r\n let items;\r\n switch (field.type) {\r\n case 'text':\r\n return (\r\n \r\n {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n case 'number':\r\n return (\r\n \r\n {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n case 'date':\r\n return (\r\n \r\n {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n case 'select':\r\n //for Branches, Managements, Departments Dropdown connection\r\n if (field.label === 'الإدارة') {\r\n //if there is no state with this name 'field.label'\r\n items = this.state[field.label] === undefined ?\r\n //return empty array\r\n []\r\n :\r\n //return only the managements in the selected branch\r\n this.state[field.label].filter(management => management.branchId === this.state.readEntity.search[this.props.searchFields.find(field => field.label === 'الفرع').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else if (field.label === 'القسم') {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(department => department.administrationId === this.state.readEntity.search[this.props.searchFields.find(field => field.label === 'الإدارة').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else {\r\n //for normal select\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].map((item) => {\r\n return {\r\n label: item[field.item.label],\r\n value: item[field.item.value]\r\n }\r\n });\r\n }\r\n\r\n return (\r\n item.value === this.state.readEntity.search[field.backName])}\r\n options={items}\r\n onChange={(value) => {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'multiSelect':\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].map((item) => {\r\n return {\r\n label: item[field.item.label],\r\n value: item[field.item.value]\r\n }\r\n });\r\n return (\r\n item.value === this.state.readEntity.search[field.backName]) :\r\n (field.innerSearch ?\r\n items.find(item => item.value === this.state.searchEntity[field.backName + ',inner']) :\r\n items.find(item => item.value === this.state.searchEntity[field.backName]))}\r\n\r\n onChange={(value) => {\r\n if (field.backSearch) {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n\r\n this.setState({ readEntity: tempEntity });\r\n } else if (field.innerSearch) {\r\n this.ChangeEntityState('searchEntity', field.backName + ',inner', value)\r\n } else {\r\n this.ChangeEntityState('searchEntity', field.backName, value)\r\n }\r\n }}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'staticSelect':\r\n // for select fields with staic options (not from the back end)\r\n return (\r\n item.value === this.state.readEntity.search[field.backName])}\r\n //items from PageProps\r\n options={field.items}\r\n onChange={(value) => {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n )\r\n default:\r\n // if type is none of the above then return a text input\r\n return (\r\n {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n }}\r\n />\r\n ]}\r\n />\r\n )\r\n }\r\n }\r\n );\r\n\r\n }\r\n\r\n // Creating Table Headers\r\n let TableHeaders = this.props.columns.map((column) => )\r\n .concat([me.props.noDelete && me.props.noEdit ? null : ]);\r\n let index = 0;\r\n // Display Data properly in the table\r\n let TableData = tableRawData\r\n // .slice(((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage))\r\n .map(\r\n function (row) {\r\n return (\r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) => {\r\n // if the current property name is 'id' and there is no column with the backname 'id' \r\n if (columnName === 'id' && me.props.columns.find(column => column.backName === 'id') === undefined && !me.props.devices) {\r\n // don't render a cell \r\n return null;\r\n }\r\n if (columnName === 'id' && me.props.devices) {\r\n return ;\r\n }\r\n\r\n //if there is a property called 'link' in the currunt column\r\n return me.props.columns[columnIndex]['link'] ?\r\n //render a cell with a in it\r\n \r\n :\r\n // if there is a property called 'boolean' in current column\r\n // me.props.columns[columnIndex]['boolean'] ?\r\n // // then render a green badge if true and red badge if false\r\n // \r\n me.props.columns[columnIndex]['boolean'] ?\r\n \r\n :\r\n // if there is a property called 'enum' in current column\r\n me.props.columns[columnIndex]['enum'] ?\r\n // enum is an array of { value: '', display: '' }, \r\n // render the 'display' value of the element with the 'value' == row[columnName]\r\n //if no element in the enum array has the 'value' == row[columnName], then return the row[columnName] as it is \r\n \r\n :\r\n //if no 'boolean' or 'enum' ... render the value in data as it is\r\n ;\r\n })\r\n //add the Actions Column\r\n //noDelete property to not show the delete button, noEdit property to not show the edit button\r\n //if both are not true then don't render the Actions Column\r\n .concat([me.props.noDelete && me.props.noEdit ? null :\r\n \r\n ])\r\n }\r\n \r\n )\r\n }\r\n );\r\n // Creating Add Modal Fields\r\n let CreateEntityProperties = this.props.createEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'number':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n //Explained in the search fields\r\n if (prop.label === 'الإدارة') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'الفرع').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'القسم') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'الإدارة').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'الموظف') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.createEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', name, value)}\r\n onText={'نعم'}\r\n offText={'لا'}\r\n height={30}\r\n width={70}\r\n onHandleColor={this.props.checkboxgreen ? \"#70c767\" : \" \"}\r\n onColor={this.props.checkboxgreen ? \"#e1fcde\" : \" \"}\r\n // uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n //in the Employees page\r\n\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n //in working times page\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n //in add pemission page\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n if (typeof backName == 'object') {\r\n for (const key in backName) {\r\n backName[key] = this.state.createEntity[key]\r\n }\r\n values.push(backName);\r\n } else {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n //in add permission page\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n\r\n items = this.state.createEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'مؤقت', value: 1 },\r\n { label: 'حضور متأخر', value: 2 },\r\n { label: 'انصراف مبكر', value: 3 },\r\n { label: 'يوم كامل', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'يوم كامل', value: 4 }\r\n ];\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n //text is the default type if none of the above\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n }\r\n }\r\n );\r\n\r\n let UpdateEntityProperties;\r\n\r\n // if there is an Update operation in this page, Create Edit Modal Fields\r\n if (!this.props.noEdit) {\r\n UpdateEntityProperties = this.props.updateEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'number':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n {\r\n this.ChangeEntityState('updateEntity', prop.backName, value + \":00\")\r\n }}\r\n />\r\n ]}\r\n />\r\n );\r\n\r\n\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n //explained in search fields\r\n if (prop.label === 'الإدارة') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'الفرع').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'القسم') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'الإدارة').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'الموظف') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n onText={'نعم'}\r\n offText={'لا'}\r\n height={30}\r\n width={70}\r\n // uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n //in Employees page\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n //in Working time page\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n //in add permission page\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n if (typeof backName == 'object') {\r\n for (const key in backName) {\r\n backName[key] = this.state.updateEntity[key]\r\n }\r\n values.push(backName);\r\n } else {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n // in add permission page\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n\r\n items = this.state.updateEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'مؤقت', value: 1 },\r\n { label: 'حضور متأخر', value: 2 },\r\n { label: 'انصراف مبكر', value: 3 },\r\n { label: 'يوم كامل', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'يوم كامل', value: 4 }\r\n ];\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n //default type is text\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n }\r\n\r\n }\r\n );\r\n }\r\n\r\n\r\n return (\r\n
\r\n {/* startOverlayComponents */}\r\n {/* Add modal */}\r\n \r\n this.hideModal(name)}\r\n //inputs in the modal\r\n EntityProperties={CreateEntityProperties}\r\n //errors to show in modal\r\n errors={this.state.createErrors}\r\n //on Submit function\r\n fetch={() => this.Create(this.state.createEntity)}\r\n removeModalTitleName={this.props.removeModalTitleName}\r\n />\r\n \r\n\r\n {/* Edit Modal */}\r\n \r\n this.hideModal(name)}\r\n EntityProperties={UpdateEntityProperties}\r\n errors={this.state.updateErrors}\r\n fetch={() => this.Update(this.state.updateEntity)}\r\n />\r\n \r\n\r\n {/* Delete Modal */}\r\n \r\n this.hideModal(name)}\r\n EntityProperties={[]}\r\n errors={[]}\r\n deleteMessage={this.props.deleteMessage}\r\n fetch={() => this.Delete(this.state.deleteEntity)}\r\n />\r\n \r\n\r\n {/* Search Modal */}\r\n \r\n this.hideModal(name)}\r\n searchFields={this.props.modalSearchFields}\r\n EntityProperties={CreateEntityProperties}\r\n //Columns of the table in modal\r\n columns={this.props.modalColumns ? this.props.modalColumns : [\r\n { name: 'الكود', backName: 'employeeCode' },\r\n { name: 'الإسم', backName: 'nameAr' }\r\n ]}\r\n errors={[]}\r\n //to set the State of the basic page from the inside of the modal component\r\n parent={this}\r\n backName={this.props.modalBackName}\r\n //the modal table read url, body, ... to get data from server and display it in the modal\r\n read={this.props.modalRead}\r\n //on Submit\r\n fetch={() => this.Create(this.state.createEntity)}\r\n //a flag to indicate whether the modal table data should be fetched again from the server or not\r\n updated={this.state.modalUpdated}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n {/* endOverlayComponents */}\r\n\r\n\r\n
\r\n hideFilters() : null}\r\n showFilters={SearchFields ? () => showFilters() : null}\r\n showModal={(name) => this.showModal(name)}\r\n routOut={this.props.routOut}\r\n //Show Create button or not\r\n noCreate={(this.props.noCreate ||\r\n !this.props.permissions?.data.find(permission => permission.nameEn === 'Add') && !this.props.allPermissions) ? true : false}\r\n useSearchModal={this.props.useSearchModal ? true : false}\r\n // =====================\r\n />\r\n
\r\n {\r\n // if there is a message show with proper style (success or danger)\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n {\r\n // if there is searchfields render the filters compnent\r\n SearchFields ?\r\n this.Clear()}\r\n // on search\r\n Search={() => this.Read(this.state.readEntity)}\r\n />\r\n :\r\n null\r\n }\r\n {/* for pagination */}\r\n {\r\n // if the value is less than 1, then make it 1 (can't be 0 or less)\r\n value = value > 1 ? value : 1;\r\n //assign the value to the pageSize property in readEntity\r\n this.ChangeEntityState('readEntity', 'pageSize', value);\r\n //return to the first page\r\n this.ChangeEntityState('readEntity', 'pageNumber', 0);\r\n }}\r\n //Total number of rows in all pages\r\n total={this.state.rowsTotal}\r\n //selected page\r\n currentPage={this.state.readEntity.pageNumber + 1}\r\n //on selecting a page to show\r\n currentPageChange={(value) => {\r\n //in back-end the pages are numbered starting from 0 not from 1 so we convert the value to a number if it is a string and subtract it by 1\r\n this.ChangeEntityState('readEntity', 'pageNumber', Number(value) - 1);\r\n //get the new page from back-end\r\n this.Read(this.state.readEntity);\r\n }}\r\n />\r\n {/* table component takes an array of column headers and an array of rows for data */}\r\n
\r\n {row.inTime ?\r\n {\r\n if (value) {\r\n switch (row.sequence) {\r\n case 1:\r\n this.props.onChange('periodShiftId', row.periodShiftId)\r\n this.setState({counter : this.state.counter+=1})\r\n break;\r\n case 2:\r\n this.props.onChange('periodShiftSecondId', row.periodShiftId)\r\n this.setState({counter : this.state.counter+=1})\r\n break;\r\n case 3:\r\n this.props.onChange('periodShiftThirdId', row.periodShiftId)\r\n this.setState({counter : this.state.counter+=1})\r\n break;\r\n case 4:\r\n this.props.onChange('periodShiftFourthId', row.periodShiftId)\r\n this.setState({counter : this.state.counter+=1})\r\n break;\r\n \r\n default:\r\n break;\r\n }\r\n } else {\r\n switch (row.sequence) {\r\n case 1:\r\n this.props.onChange('periodShiftId', '')\r\n this.setState({counter : this.state.counter-=1})\r\n break;\r\n case 2:\r\n this.props.onChange('periodShiftSecondId', '')\r\n this.setState({counter : this.state.counter-=1})\r\n break;\r\n case 3:\r\n this.props.onChange('periodShiftThirdId', '')\r\n this.setState({counter : this.state.counter-=1})\r\n break;\r\n case 4:\r\n this.props.onChange('periodShiftFourthId', '')\r\n this.setState({counter : this.state.counter-=1})\r\n break;\r\n \r\n default:\r\n break;\r\n }\r\n }\r\n \r\n // this.props.onChange(this.props.backNames[2], row.periodShiftId)\r\n \r\n }}\r\n width={50}\r\n height={25}\r\n />\r\n :\r\n }\r\n {row.sequence}{row.inTime}{row.outTime}
\r\n {this.state.data}\r\n
الورديةوقت الحضوروقت الانصراف{column['name']}العمليات
{index += 1} \r\n {/* assign the 'to' property from the PageProps and add to the url the 'routeValues' separated by a '/' */}\r\n me.state.data.find(data => data[Object.keys(row)[0]] === row[Object.keys(row)[0]])[value]).join('/')}>\r\n {/* the text in the link */}\r\n {\r\n // if there is a property called 'icon' in 'link'\r\n me.props.columns[columnIndex]['link']['icon'] ?\r\n //render the 'icon' value in the link\r\n me.props.columns[columnIndex]['link']['icon']\r\n :\r\n // if there is a property called 'text' in 'link'\r\n me.props.columns[columnIndex]['link']['text'] ?\r\n //render the 'text' value in the link\r\n me.props.columns[columnIndex]['link']['text']\r\n :\r\n //else, render the value in the current row of data\r\n row[columnName]\r\n }\r\n \r\n \r\n // {me.props.columns[columnIndex]['enum']?.find((item) => item.value == row[columnName]) ? me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display'] : row[columnName]}\r\n // \r\n {row[columnName] ? نعم : لا}\r\n \r\n {me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName]) ? me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display'] : row[columnName]}\r\n \r\n {row[columnName]}\r\n \r\n {/* check if there is a permission to delete */}\r\n {me.props.noDelete ||\r\n (me.props.permissions ? !me.props.permissions.data.find(permission => permission.nameEn === 'Delete') : true) ?\r\n\r\n me.props.allPermissions == true ?\r\n {\r\n me.showModal(\"delete\");\r\n //if there is an 'id' then return id, else return the value of the first property \r\n me.GetIdForDelete(row.id ? row.id : row[Object.keys(row)[0]]);\r\n }}>\r\n :\r\n null\r\n :\r\n {\r\n me.showModal(\"delete\");\r\n //if there is an 'id' then return id, else return the value of the first property \r\n me.GetIdForDelete(row.id ? row.id : row[Object.keys(row)[0]]);\r\n }}>}\r\n {/* check if there is a permission to delete */}\r\n {me.props.noEdit && !me.props.allPermissions || (me.props.permissions ? !me.props.permissions.data.find(permission => permission.nameEn === 'Edite ') : true) ?\r\n me.props.allPermissions == true ?\r\n {\r\n me.showModal(\"edit\");\r\n //if there is an 'id' then return id, else return the value of the first property\r\n me.GetForUpdate(row.id ? row.id : row[Object.keys(row)[0]]);\r\n }}\r\n >\r\n \r\n :\r\n null\r\n :\r\n me.props.routOut ?\r\n \r\n \r\n \r\n \r\n\r\n :\r\n me.props.routUnregistered ?\r\n \r\n \r\n \r\n \r\n :\r\n me.props.routUnregistered ?\r\n \r\n \r\n \r\n \r\n :\r\n {\r\n me.showModal(\"edit\");\r\n //if there is an 'id' then return id, else return the value of the first property\r\n me.GetForUpdate(row.id ? row.id : row[Object.keys(row)[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\nexport default BasicPageAr;\r\n","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './TableSpan.css';\r\n\r\nconst TableSpanAr = (props) => {\r\n //Days in back-end Order\r\n let Days = ['الإثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت', 'الأحد'];\r\n\r\n //Creating Table Rows Data\r\n let tableData = props.data.map((data) => {\r\n let row = [];\r\n\r\n //Day Name\r\n row.push(Days[data.dayId - 1]);\r\n\r\n //if not open Working time\r\n if (props.open !== 'true') {\r\n //Add the four shifts Columns (inTime & outTime)\r\n for (let index = 0; index < 4; index++) {\r\n //if there is a shift with the number 'seq' (index + 1) , then show the inTime of it, otherwise show '00:00:00'\r\n row.push(\r\n data.periodShiftTimes.find((shift) => (shift.seq - 1) === index) ?\r\n data.periodShiftTimes.find((shift) => (shift.seq - 1) === index).inTime\r\n :\r\n '00:00:00'\r\n );\r\n //if there is a shift with the number (index + )1 , then show the outTime of it, otherwise show '00:00:00'\r\n row.push(\r\n data.periodShiftTimes.find((shift) => (shift.seq - 1) === index) ?\r\n data.periodShiftTimes.find((shift) => (shift.seq - 1) === index).outTime\r\n :\r\n '00:00:00'\r\n );\r\n }\r\n }\r\n //totalDayHours\r\n row.push(data.totalDayHours);\r\n //Vacation\r\n row.push(data.isVacation ? 'عطلة' : 'عمل');\r\n return row;\r\n }).slice();\r\n\r\n //Creating Table Rows\r\n let tableRows = tableData.map((row) =>\r\n \r\n {row.map((data, i) => )}\r\n \r\n \r\n );\r\n\r\n return (\r\n
\r\n
{data}\r\n {\r\n props.noEdit ?\r\n null\r\n :\r\n props.onEditClick(e)}\r\n >\r\n \r\n }\r\n
\r\n \r\n\r\n {\r\n //Not Open Working Time\r\n props.open !== 'true' ?\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n //Open Working Time\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n {tableRows}\r\n \r\n
اليومالوردية الأولىالوردية الثانيةالوردية الثالثةالوردية الرابعةساعات عمل اليومحالة اليومالعمليات
حضورانصرافحضورانصرافحضورانصرافحضورانصراف
اليومساعات العملحالة اليومالعمليات
\r\n
\r\n )\r\n}\r\n\r\nexport default TableSpanAr;","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './WorkingTime.css';\r\nimport TableSpanAr from '../TableSpanAr/TableSpanAr';\r\nimport Tabs from '../Tabs/Tabs';\r\nimport ModalAr from '../ModalAr/ModalAr';\r\nimport Table from '../Table/Table';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Cookie from \"js-cookie\";\r\nimport Loading from '../Loading/Loading';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Alert from './../Alert/Alert';\r\nimport PageHeaderAr from '../PageHeaderAr/PageHeaderAr';\r\nimport { Link } from \"react-router-dom\";\r\nimport TimeField from 'react-simple-timefield';\r\n\r\n\r\nclass WorkingHoursAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n readEntity: props.read.body ? props.read.body : props.read.path,\r\n updateEntity: props.update.body,\r\n updateErrors: [],\r\n edit: false,\r\n loading: false,\r\n data: [],\r\n message: { text: '', style: '' },\r\n shiftType: 1,\r\n dayId: ''\r\n }\r\n }\r\n\r\n showModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n mainLayout.style.overflow = \"visible\";\r\n }\r\n\r\n hideModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n this.setState({ updateErrors: [] });\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.permissions !== null) {\r\n this.Read(this.state.readEntity);\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n }\r\n\r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n Fetch(entity, token, operation, then) {\r\n fetch(\r\n this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n Read(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(Cookie.get('token'));\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }).slice(),\r\n loading: false\r\n }\r\n );\r\n } else { // not success\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else { // status !== 200\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n\r\n stringToTime(strTime) {\r\n var time = strTime.split(':');\r\n var sec = Math.ceil(parseFloat(time[1]) * 5 / 3);\r\n time = time[0] + '.' + sec;\r\n time = parseFloat(time);\r\n return time\r\n }\r\n\r\n //No References\r\n prepareEntity(entity) {\r\n for (const key in entity) {\r\n if (entity[key] === '') {\r\n entity[key] = null;\r\n }\r\n\r\n if (typeof entity[key] === 'object') {\r\n this.prepareEntity(entity[key])\r\n }\r\n }\r\n }\r\n\r\n Update(entity) {\r\n //Validation\r\n let errors = [];\r\n\r\n if (this.props.open === 'false') { //if not open Working time\r\n for (const shift of entity.periodShiftParameterList) {\r\n //if the outTime is entered, then the inTime is required \r\n if (!shift.inTime && shift.outTime) {\r\n errors.push(\"ميعاد وردية الحضور للفترة رقم \" + shift.seq + \" إجباري\");\r\n } else if (shift.inTime && !shift.outTime) { //if the inTime is entered, then the outTime is required \r\n errors.push(\"ميعاد وردية الانصراف للفترة رقم \" + shift.seq + \" إجباري\");\r\n }\r\n }\r\n //You should enter at least on shift\r\n if (entity.periodShiftParameterList.every(shift => !shift.inTime && !shift.outTime) && !entity.isVacation) {\r\n errors.push(\"مطلوب وردية واحدة على الأقل.\");\r\n }\r\n\r\n } else { //Open Working time\r\n\r\n entity.totalDayHours = this.stringToTime(entity.totalDayHours);\r\n }\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n //if there is no validation errors\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('edit');\r\n console.log(response.message)\r\n if (response.message === 'Updated Successfully') {\r\n response.message = 'تم التحديث بنجاح';\r\n }\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else { // not success\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n console.error(response);\r\n }\r\n } else { // not status 200\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n }\r\n\r\n GetForUpdate(firstCell) {\r\n //days in the order of the back-end\r\n let Days = ['الإثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت', 'الأحد'];\r\n //get the dayId of the selected day from the Days array and adds 1 to it (dayIds start from 1 not 0)\r\n let dayId = Days.findIndex(day => day === firstCell) + 1;\r\n //get the index of the selected day in data\r\n let index = this.state.data.findIndex(day => day.dayId === dayId);\r\n //get a copy of the data\r\n let tempData = this.state.data.slice();\r\n //get the selected day from the tempData and assign it to shiftDay by value\r\n let shiftDay = Object.assign({}, tempData[index]);\r\n //puts the object in the last parameter in the update entity and assign it to tempEntity by value\r\n let tempEntity = Object.assign({}, this.state.updateEntity, {\r\n id: shiftDay.shiftDayId,\r\n dayId: dayId,\r\n shiftType: this.state.shiftType,\r\n isVacation: shiftDay.isVacation,\r\n periodShiftParameterList: shiftDay.periodShiftTimes.map(shift => {\r\n for (let prop in shift) {\r\n if (shift[prop] === null) {\r\n shift[prop] = '';\r\n }\r\n }\r\n return shift;\r\n }).slice()\r\n })\r\n\r\n //if open working time\r\n if (this.props.open === 'true') {\r\n tempEntity = Object.assign({}, tempEntity, { totalDayHours: shiftDay.totalDayHours });\r\n }\r\n\r\n //save selected dayId in state and set updateEntity\r\n this.setState({ dayId: dayId, updateEntity: Object.assign({}, tempEntity) });\r\n }\r\n\r\n\r\n OnTimeChange(seq, type, value) {\r\n //assign updatEntity to tempEntity by value\r\n let tempEntity = Object.assign({}, this.state.updateEntity);\r\n //get a copy of the tempEntity shifts\r\n let tempShifts = tempEntity.periodShiftParameterList.slice();\r\n //set the specified property 'type' in the specfied shift 'seq' with the 'value' \r\n tempShifts[tempEntity.periodShiftParameterList.findIndex(shift => shift.seq === seq)] = Object.assign({},\r\n tempShifts[tempEntity.periodShiftParameterList.findIndex(shift => shift.seq === seq)], { [type]: value });\r\n //update the tempEntity with the new tempShifts\r\n tempEntity = Object.assign({}, tempEntity, { periodShiftParameterList: tempShifts.slice() });\r\n //set the updateEntity with tempEntity\r\n this.setState({ updateEntity: Object.assign({}, tempEntity) });\r\n\r\n }\r\n\r\n render() {\r\n //days in the order of the back-end\r\n let Days = ['الإثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت', 'الأحد'];\r\n //Inputs in the update modal\r\n let UpdateEntityProperties = [\r\n
\r\n {/* Is Vacation */}\r\n {\r\n if (this.props.open === 'false') { //if not open working time\r\n if (value) { //if vacation\r\n //Clear all time inputs\r\n let tempShifts = this.state.updateEntity.periodShiftParameterList.slice();\r\n tempShifts = tempShifts.map(shift => {\r\n for (let prop in shift) {\r\n if (prop === 'inTime' || prop === 'outTime' || prop === 'startIn' || prop === 'endIn' || prop === 'startOut' || prop === 'endOut' || prop === 'availableEarlyTime' || prop === 'availableLateTime') {\r\n shift = Object.assign({}, shift, { [prop]: \"\" });\r\n }\r\n }\r\n return shift;\r\n }).slice();\r\n\r\n this.ChangeEntityState('updateEntity', 'periodShiftParameterList', tempShifts);\r\n }\r\n } else { // if open working time\r\n if (value) { // if vacation\r\n //set totalDayHours to 00:00\r\n this.ChangeEntityState('updateEntity', 'totalDayHours', '00:00')\r\n }\r\n }\r\n //set isVacation in updtateEntity\r\n this.ChangeEntityState('updateEntity', 'isVacation', value);\r\n }}\r\n onText=\"عطلة\"\r\n offText=\"عمل\"\r\n height={30}\r\n width={120}\r\n uncheckedIconWidth=\"80px\"\r\n uncheckedIconMarginLeft=\"-42px\"\r\n checkedIconMarginLeft=\"40px\"\r\n />\r\n
,\r\n\r\n this.props.open === 'false' ? //Not Open Working time\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={[\r\n \r\n الفترة الأولي\r\n \r\n day.seq === 1).startIn}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'startIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n\r\n \r\n \r\n day.seq === 1).inTime}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'inTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).availableLateTime}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'availableLateTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).endIn}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'endIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).startOut}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'startOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).availableEarlyTime}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'availableEarlyTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).outTime}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'outTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 1).endOut}\r\n onChange={(e, value) => { this.OnTimeChange(1, 'endOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n ,\r\n \r\n الفترة الثانية\r\n \r\n day.seq === 2).startIn}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'startIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).inTime}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'inTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).availableLateTime}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'availableLateTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).endIn}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'endIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).startOut}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'startOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).availableEarlyTime}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'availableEarlyTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).outTime}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'outTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 2).endOut}\r\n onChange={(e, value) => { this.OnTimeChange(2, 'endOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n ,\r\n \r\n الفترة الثالثة\r\n \r\n day.seq === 3).startIn}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'startIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).inTime}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'inTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).availableLateTime}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'availableLateTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).endIn}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'endIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).startOut}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'startOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).availableEarlyTime}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'availableEarlyTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).outTime}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'outTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 3).endOut}\r\n onChange={(e, value) => { this.OnTimeChange(3, 'endOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n ,\r\n \r\n الفترة الرابعة\r\n \r\n day.seq === 4).startIn}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'startIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).inTime}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'inTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).availableLateTime}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'availableLateTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).endIn}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'endIn', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).startOut}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'startOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).availableEarlyTime}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'availableEarlyTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).outTime}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'outTime', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n day.seq === 4).endOut}\r\n onChange={(e, value) => { this.OnTimeChange(4, 'endOut', value) }}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n \r\n \r\n ]}\r\n />\r\n
\r\n :\r\n //Open Working Time\r\n
\r\n \r\n
\r\n this.ChangeEntityState('updateEntity', 'totalDayHours', value)}\r\n disabled={this.state.updateEntity.isVacation}\r\n />\r\n
\r\n\r\n
\r\n ]\r\n\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n return (\r\n <>\r\n \r\n this.hideModal(name)}\r\n EntityProperties={UpdateEntityProperties}\r\n errors={this.state.updateErrors}\r\n fetch={() => this.Update(this.state.updateEntity)}\r\n updateAll={() => {// to Update all days at once\r\n let entity = Object.assign({}, this.state.updateEntity);\r\n //set dayId to null to tell the back-end that we want to update all the days\r\n entity.dayId = null;\r\n this.Update(entity);\r\n }}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n {\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n }\r\n \r\n {/* Normal days and Ramadan Days */}\r\n {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.shiftType = value;\r\n this.Read(tempEntity);\r\n this.setState({ shiftType: value, readEntity: tempEntity });\r\n }}\r\n />\r\n {\r\n this.setState({ edit: true });\r\n this.GetForUpdate(e.currentTarget.parentElement.parentElement.children[0].innerHTML);\r\n }}\r\n noEdit={!this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ') ? true : false}\r\n />\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default WorkingHoursAr;","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './ReportPage.css';\r\nimport { Link } from \"react-router-dom\";\r\nimport Table from '../Table/Table';\r\nimport Cookie from \"js-cookie\";\r\nimport PageHeaderAr from '../PageHeaderAr/PageHeaderAr';\r\nimport FiltersAr, { hideFilters, showFilters } from '../FiltersAr/FiltersAr';\r\nimport Loading from '../Loading/Loading';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport Field from '../Field/Field';\r\nimport DataHeader from './../DataHeader/DataHeader';\r\nimport jsPDF from 'jspdf';\r\nimport autoTable from 'jspdf-autotable';\r\nimport 'html2canvas';\r\nimport font from '../../Amiri-Regular-normal';\r\nimport Alert from './../Alert/Alert';\r\nimport { ip } from './../../data/APIs';\r\nimport Button from './../Button/Button';\r\nimport axios from 'axios';\r\nimport ReactHTMLTableToExcel from 'react-html-table-to-excel';\r\nimport TableFooterAr from '../TableFooterAr/TableFooterAr'\r\nclass ReportPageAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n // Create an Empty Search Entity when the page displayed for the first time\r\n let tempSearchEntity = {};\r\n for (let field of props.searchFields) {\r\n //'dateFromTo' type is no longer used now because we moved the search by date to the server side and removed it from the client side\r\n if (field.type === 'dateFromTo') {\r\n tempSearchEntity[field.backName + ',from'] = '';\r\n tempSearchEntity[field.backName + ',to'] = '';\r\n } else if (field.innerSearch) { // innerSearch is to search in the 'data' property of every row in 'this.state.data', so we add ',inner' to it's name in the searchEntity to recognize it. e.g searchEntity = {'nameAr,inner': ''}\r\n tempSearchEntity[field.backName + ',inner'] = '';\r\n }\r\n else {\r\n tempSearchEntity[field.backName] = '';\r\n }\r\n }\r\n\r\n let tempReadEntity = props.read.body\r\n\r\n this.state = {\r\n readEntity: props.read.body ? tempReadEntity : props.read.path,\r\n searchEntity: tempSearchEntity,\r\n rowsNumber: 10,\r\n rowsTotal: 0,\r\n currentPage: 1,\r\n message: { text: '', style: '' },\r\n loading: false,\r\n search: false,\r\n data: [],\r\n modalUpdated: false,\r\n //Company info for Print\r\n companyInfo: null,\r\n columns: props.columns.slice(),\r\n comLogo: null,\r\n generalSettings: null,\r\n totals: props.totals?.slice()\r\n\r\n }\r\n // Get the Search Fields 'select elements' items from the Database when the page displayed for the first time \r\n for (let field of props.searchFields) {\r\n if (field.type === 'select' || field.type === 'multiSelect') {\r\n this.GetSelect(field.url, field.body, field.label);\r\n }\r\n }\r\n }\r\n\r\n // Styling:\r\n // ========\r\n showModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n mainLayout.style.overflow = \"visible\";\r\n }\r\n\r\n hideModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n }\r\n // ========\r\n\r\n componentDidMount() {\r\n // Read Data from the Database and Display it\r\n if (this.props.permissions !== null) {\r\n this.Clear();\r\n this.GetCompanyInfo();\r\n this.GetGeneralSettings();\r\n\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n // A method for changing the state,\r\n // inputs:\r\n // key = Name of the state\r\n // value = value of the state\r\n ChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Bearer Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n\r\n let url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n fetch(url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'ar'\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the request body (readEntity)\r\n Read(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n //if response.data ia an array not an object\r\n if (Array.isArray(response.data)) {\r\n // ====================================\r\n me.setState(\r\n {\r\n data: response.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else { // if response.data is not an array, it is an object\r\n // ====================================\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n }\r\n } else { // not success\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else { // response.status !== 200\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n\r\n //Get Company Info for print\r\n GetCompanyInfo() {\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState(\r\n {\r\n companyInfo: response.data,\r\n }\r\n );\r\n //if there is an image path\r\n if (response.data.image) {\r\n //convert image path to Base64 to show it in the report\r\n this.ImageUrlToBase64(ip + '/' + response.data.image, function (myBase64) {\r\n me.Logo = myBase64;\r\n me.setState({ comLogo: myBase64 })\r\n });\r\n }\r\n } else { // not success\r\n me.setState({ message: { text: response.message, style: 'danger' } });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else { // response.status !== 200\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' } });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n fetch(ip + '/api/GetUserData', {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'ar'\r\n },\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to Get Company Info.', error));\r\n }\r\n\r\n GetGeneralSettings() {\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState(\r\n {\r\n generalSettings: response.data,\r\n }\r\n );\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' } });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' } });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n fetch(ip + '/api/GeneralSetting/GetGeneralSettings', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'ar'\r\n },\r\n body: JSON.stringify({\r\n \"pageSize\": 10,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n })\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to Get generalSettings Info.', error));\r\n }\r\n\r\n // Declare printing variables\r\n head = []\r\n body = []\r\n hasArabicCodepoints(s) {\r\n return /[\\u0600-\\u06FF]/.test(s);\r\n }\r\n // Create table for Print()\r\n CreateTable(tableHead, tableRows) {\r\n\r\n //Columns Names for Attendance and leave \r\n this.head = tableHead.map((column) =>\r\n column.backName == \"timeOut1\" ?\r\n \" انصراف \"\r\n :\r\n column.backName == \"timeIn1\" ?\r\n \" حضور \"\r\n :\r\n column.backName == \"timeOut2\" ?\r\n \" انصراف \"\r\n :\r\n column.backName == \"timeIn2\" ?\r\n \" حضور \"\r\n :\r\n column.backName == \"timeOut3\" ?\r\n \" انصراف \"\r\n :\r\n column.backName == \"timeIn3\" ?\r\n \" حضور \"\r\n :\r\n column.backName == \"timeOut4\" ?\r\n \" انصراف \"\r\n :\r\n column.backName == \"timeIn4\" ?\r\n \" حضور \"\r\n :\r\n column.name);\r\n\r\n //Display table data properly (Same Logic as displaying data in tables)\r\n this.body = tableRows?.map(\r\n (row) => {\r\n let temp = this.state.columns.map((column) =>\r\n column.boolean ?\r\n row[column.backName] === true ?\r\n column.yes\r\n :\r\n column.no\r\n :\r\n column.enum ? column.enum.find((item) => item.value == row[column.backName]) ?\r\n column.enum.find((item) => item.value == row[column.backName])['display']\r\n :\r\n row[column.backName]\r\n :\r\n row[column.backName]);\r\n //Reverse to make it rigt to left\r\n temp.reverse();\r\n return temp;\r\n });\r\n //Reverse to make it rigt to left\r\n this.head.reverse();\r\n }\r\n\r\n //A function to convert image url to base64\r\n //takes the url of the image and a callback functiob to call when image is loaded\r\n ImageUrlToBase64(url, callback) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.onload = function () {\r\n var reader = new FileReader();\r\n reader.onloadend = function () {\r\n callback(reader.result);\r\n }\r\n reader.readAsDataURL(xhr.response);\r\n };\r\n xhr.open('GET', url);\r\n xhr.responseType = 'blob';\r\n xhr.send();\r\n }\r\n\r\n //Create and Download a PDF file of the Page Report\r\n Print() {\r\n //print only if company info is loaded\r\n if (this.state.companyInfo) {\r\n let companyInfo = this.state.companyInfo\r\n //if any property in companyInfo evaluates to false, then set it to ''\r\n for (const key in companyInfo) {\r\n if (!companyInfo[key]) {\r\n companyInfo[key] = '';\r\n }\r\n }\r\n\r\n let me = this;\r\n //Make the page orientation = portrait if this is the workingTimeDetails report, otherwise it is landscape\r\n var doc = new jsPDF(this.props.workingTimeDetails ? 'portrait' : 'landscape');\r\n //Add Amirir Font for Arabic Text\r\n doc.addFileToVFS('Amiri-Regular-normal.ttf', font);\r\n doc.addFont('Amiri-Regular-normal.ttf', 'Amiri-Regular', 'normal');\r\n doc.setFont('Amiri-Regular'); // set font\r\n\r\n // You can use html:\r\n // autoTable(doc, { html: '#my-table', theme: 'grid', headStyles: { fillColor: 180 } });\r\n\r\n // Or JavaScript:\r\n\r\n // check if we want the multi tables view or the single one\r\n if (this.props.preTableFields || this.props.period && !this.props.singleTable) {\r\n let tablesData = this.state.data.slice()\r\n // The following filtering should be generic\r\n // =====================================================================\r\n // Filtering data according to the Search Fields values\r\n for (let prop in this.state.searchEntity) {\r\n if (this.state.searchEntity[prop]) {\r\n //',from' and ',to' is for 'dateFromTo' searchField type which is no longer used\r\n if (prop.toString().endsWith(',from') || prop.toString().endsWith(',to')) {\r\n if (prop.toString().endsWith(',from')) {\r\n let backName = prop.split(',')[0];\r\n tablesData = tablesData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate >= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n } else if (prop.toString().endsWith(',to')) {\r\n let backName = prop.split(',')[0];\r\n tablesData = tablesData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate <= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n }\r\n } else if (prop.toString().endsWith(',inner')) { // ',inner' is for backSearch\r\n let backName = prop.split(',')[0]; // get the backname without ',inner'\r\n tablesData = tablesData.map(row => {\r\n let newRow = Object.assign({}, row); //assign by value\r\n newRow.data = row.data.filter(innerRow => { //search into the inner 'data' of each row\r\n //get rows which the current column contains the entered word (case insensetive)\r\n if (innerRow[backName] != null) {\r\n return innerRow[backName].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n } else {\r\n return false;\r\n }\r\n }).slice();\r\n return newRow;\r\n });\r\n } else {\r\n tablesData = tablesData.filter(row => {\r\n if (row[prop] != null) { //get rows which the current column contains the entered word (case insensetive)\r\n return row[prop].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n\r\n } else {\r\n return ''.toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n //Period Section\r\n let period = \"\";\r\n if (this.props.period && tablesData && this.props.printPeriod) {\r\n this.props.abcentFrom ? period += \"الغياب خلال الفترة \" : this.props.delay ? period += `التأخير خلال الفترة` : period += ` الفترة `;\r\n period += `من: ${tablesData[0]?.from ? tablesData[0].from : \" - \"}`;\r\n period += ` إلى: ${tablesData[0]?.to ? tablesData[0].to : \" - \"}`;\r\n }\r\n\r\n let headers = [];\r\n if (this.props.overtime) {\r\n if (this.state.data.length > 0) {\r\n for (let x = 0; x < this.state.data.length; x++) {\r\n let header1 = [], header2 = [];\r\n for (let j = 0; j < this.state.data[x].data.length; j++) {\r\n header1 = []; header2 = [];\r\n header1.push(\r\n 'كود الموظف'\r\n )\r\n header1.push(\r\n 'إسم الموظف'\r\n )\r\n header2.push(\r\n ''\r\n )\r\n header2.push(\r\n ''\r\n )\r\n for (let i = 0; i < this.state.data[x].data[j].data.length; i++) {\r\n header1.push(\r\n this.state.data[x].data[j].data[i].date\r\n )\r\n header2.push(\r\n this.state.data[x].data[j].data[i].day\r\n )\r\n }\r\n }\r\n header1.push(\r\n 'اجمالي الساعات'\r\n )\r\n header2.push(\r\n ''\r\n )\r\n header1.reverse();\r\n header2.reverse();\r\n headers.push({ header1: header1, header2: header2 })\r\n }\r\n\r\n }\r\n }\r\n let printyIndex = 0;\r\n for (let i = 0; i < tablesData.length; i++) {\r\n\r\n if (tablesData[i].data != false) { // Not to Print empty tables\r\n // Print preTableData\r\n let preTableFields = []\r\n\r\n if (this.props.preTableFields || this.props.period) {\r\n // eslint-disable-next-line array-callback-return\r\n if (this.props.preTableFields) {\r\n let rev = false;\r\n let engBranch = '';\r\n this.props.preTableFields.map((preTableField) => {\r\n if (preTableField.backName == 'branchName') {\r\n tablesData[i][preTableField.backName] = tablesData[i][preTableField.backName].replace(')', \" ' \")\r\n tablesData[i][preTableField.backName] = tablesData[i][preTableField.backName].replace('(', \" ' \")\r\n rev = this.hasArabicCodepoints(tablesData[i][preTableField.backName])\r\n\r\n }\r\n if (!rev && preTableField.backName == 'branchName') {\r\n engBranch = (tablesData[i][preTableField.backName] ?\r\n tablesData[i][preTableField.backName] : ' ') + ':' + preTableField.name\r\n }\r\n // isShiftOpen\r\n if (preTableField.backName == 'isShiftOpen') {\r\n preTableFields.push(preTableField.name + ': ' + (tablesData[i][preTableField.backName] ?\r\n \"مفتوح\" : 'عادي'));\r\n }\r\n else {\r\n preTableFields.push(preTableField.name + (tablesData[i][preTableField.backName] ?\r\n ' : ' + tablesData[i][preTableField.backName] : ' '));\r\n }\r\n\r\n })\r\n\r\n preTableFields.push(period);\r\n if (!rev) {\r\n preTableFields.push(engBranch);\r\n\r\n }\r\n }\r\n else {\r\n preTableFields.push(period);\r\n }\r\n\r\n }\r\n let totals = [];\r\n\r\n if (this.props.totals) {\r\n totals = this.state.totals.map((column) => {\r\n return (\r\n column.backName ?\r\n tablesData[i][column.backName]\r\n :\r\n null\r\n )\r\n })\r\n let counter = 0;\r\n for (const cell of totals) {\r\n if (cell) {\r\n break;\r\n }\r\n counter++;\r\n totals.shift();\r\n }\r\n totals.unshift({ content: ': الإجماليات', colSpan: counter, styles: { halign: 'right' } });\r\n totals.reverse();\r\n }\r\n let head1 = [];\r\n this.state.columns.map((row) => {\r\n if (row.backName == 'timeOut1') {\r\n head1.unshift({ content: \"الوردية الاولي\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut2') {\r\n head1.unshift({ content: \"الوردية الثانية\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut3') {\r\n head1.unshift({ content: \"الوردية الثالثة\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut4') {\r\n head1.unshift({ content: \"الوردية الرابعة\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeIn1') {\r\n\r\n } else if (row.backName == 'timeIn2') {\r\n\r\n } else if (row.backName == 'timeIn3') {\r\n\r\n } else if (row.backName == 'timeIn4') {\r\n\r\n } else {\r\n head1.unshift({ content: \"\", styles: { halign: 'center' } })\r\n }\r\n });\r\n\r\n let OverTableData = [];\r\n // creating table data\r\n if (this.props.overtime) {\r\n OverTableData = tablesData[i].data.map((raw) => {\r\n let arr = [];\r\n\r\n for (const column of this.state.columns) {\r\n if (column.backName == 'date') {\r\n let data = raw.data.map((col) =>\r\n col.extraMinutes ? col.extraMinutes : 0\r\n );\r\n for (const i of data) {\r\n arr.unshift(i);\r\n }\r\n } else {\r\n arr.unshift(raw[column.backName] ? raw[column.backName] : ' - ');\r\n }\r\n }\r\n return arr;\r\n })\r\n }\r\n\r\n let DetailsTableData = [];\r\n // creating table data\r\n if (this.props.workingTimeDetails) {\r\n for (const column of this.state.columns) {\r\n DetailsTableData.push([\r\n {\r\n content:\r\n (tablesData[i].data[0][column.backName] ?\r\n tablesData[i].data[0][column.backName] : ' - ')\r\n },\r\n column.name,\r\n ]);\r\n }\r\n\r\n }\r\n this.CreateTable(this.state.columns, tablesData[i].data)\r\n\r\n var printHead1 = head1.some(h => h.content != \"\");\r\n var prevTable = doc.lastAutoTable.finalY;\r\n var printed = false;\r\n autoTable(doc, {\r\n head: this.props.totals ?\r\n (printHead1 ?\r\n [totals, head1, this.head]\r\n :\r\n [totals, this.head])\r\n :\r\n (printHead1 ?\r\n [head1, this.head]\r\n :\r\n headers.length > 0 ?\r\n [headers[i].header1, headers[i].header2]\r\n :\r\n DetailsTableData.length > 0 ?\r\n []\r\n :\r\n [this.head]),\r\n body: OverTableData.length > 0 ? OverTableData : DetailsTableData.length > 0 ? DetailsTableData : this.body,\r\n theme: 'grid',\r\n headStyles: { font: 'Amiri-Regular', fillColor: 230, textColor: 5, cellPadding: 1 },\r\n bodyStyles: { font: 'Amiri-Regular', overflow: 'linebreak', lineColor: 100, textColor: 10, cellPadding: this.props.DetailedReport ? 0 : 1 },\r\n styles: { cellWidth: 'auto', halign: \"center\" },\r\n startY: i === 0 ? undefined : this.props.DetailedReport ? printyIndex : (prevTable + 12),\r\n pageBreak: this.props.workingTimeDetails && i !== 0 ? 'always' : undefined,\r\n margin: { top: this.props.workingTimeDetails ? 50 : 40, bottom: this.props.DetailedReport ? 15 : 25 },\r\n showHead: 'firstPage',\r\n didDrawPage: function (data) {\r\n\r\n // Header\r\n doc.setFontSize(10)\r\n doc.setDrawColor(35);\r\n // doc.setTextColor(10)\r\n doc.rect(data.settings.margin.left, 10, doc.internal.pageSize.width - (data.settings.margin.right + data.settings.margin.left), 15)\r\n\r\n if (me.Logo && me.Logo != 'data:') {\r\n doc.addImage(me.Logo, 'JPEG', data.settings.margin.left + 5, 13, 10, 10)\r\n }\r\n\r\n //Arabic Company Name \r\n doc.text(companyInfo.companyNameAr, (doc.internal.pageSize.width - data.settings.margin.right) - 5, 15, { align: 'right' })\r\n //Arabic Company Activity \r\n doc.text(companyInfo.companyActivityAr, (doc.internal.pageSize.width - data.settings.margin.right) - 5, 22, { align: 'right' })\r\n\r\n //English Company Name \r\n // doc.text(companyInfo.companyNameEn, data.settings.margin.left + 5, 15)\r\n //English Company Activity \r\n // doc.text(companyInfo.companyActivityEn, data.settings.margin.left + 5, 22)\r\n\r\n doc.setFontSize(20)\r\n\r\n //Report Title\r\n doc.text(me.props.title, data.settings.margin.left + me.props.workingTimeDetails ? 75 : 100, 20)\r\n\r\n doc.setFontSize(10)\r\n\r\n if (!printed) {\r\n for (let index = preTableFields.length - 1; index >= 0; index--) {\r\n if (preTableFields[index].trim() == '') {\r\n preTableFields.splice(index, 1);\r\n }\r\n }\r\n\r\n if (me.props.workingTimeDetails) {\r\n let i = 0;\r\n for (let index = 0; index < preTableFields.length; index++) {\r\n doc.text(preTableFields[index], doc.internal.pageSize.width - data.settings.margin.right - i, index <= 2 ? data.settings.margin.top - 15 : index <= 5 ? data.settings.margin.top - 10 : data.settings.margin.top - 5, { align: 'right' });\r\n i += 70;\r\n if (index == 2) {\r\n i = 0;\r\n }\r\n if (index == 5) {\r\n i = 0;\r\n }\r\n }\r\n printed = true;\r\n } else if ((data.settings.startY + 40) > doc.internal.pageSize.height) {\r\n let i = 0;\r\n let lines = preTableFields.length / 4;\r\n if (lines <= 1) {\r\n for (let index = 0; index < preTableFields.length; index++) {\r\n doc.text(preTableFields[index], doc.internal.pageSize.width - data.settings.margin.right - i, data.settings.margin.top - 5, { align: 'right' });\r\n i += 70;\r\n }\r\n } else if (lines <= 2) {\r\n for (let index = 0; index < preTableFields.length; index++) {\r\n doc.text(preTableFields[index], doc.internal.pageSize.width - data.settings.margin.right - i, index <= 3 ? data.settings.margin.top - 8 : data.settings.margin.top - 3, { align: 'right' });\r\n i += 70;\r\n if (index == 3) {\r\n i = 0;\r\n }\r\n }\r\n }\r\n printed = true;\r\n } else {\r\n let i = 0;\r\n let lines = preTableFields.length / 4;\r\n if (lines <= 1) {\r\n for (let index = 0; index < preTableFields.length; index++) {\r\n doc.text(preTableFields[index], doc.internal.pageSize.width - data.settings.margin.right - i, data.settings.startY - 5, { align: 'right' });\r\n i += 70;\r\n }\r\n } else if (lines <= 2) {\r\n for (let index = 0; index < preTableFields.length; index++) {\r\n doc.text(preTableFields[index], doc.internal.pageSize.width - data.settings.margin.right - i, index <= 3 ? data.settings.startY - 8 : data.settings.startY - 3, { align: 'right' });\r\n i += 70;\r\n if (index == 3) {\r\n i = 0;\r\n }\r\n }\r\n }\r\n\r\n printed = true;\r\n\r\n }\r\n }\r\n\r\n // Footer\r\n doc.setFontSize(10)\r\n\r\n doc.line(data.settings.margin.left,\r\n (doc.internal.pageSize.height - data.settings.margin.bottom) + 5,\r\n doc.internal.pageSize.width - data.settings.margin.right,\r\n (doc.internal.pageSize.height - data.settings.margin.bottom) + 5)\r\n\r\n // Date & Time\r\n let d = new Date();\r\n\r\n doc.text(d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + (d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes()), (doc.internal.pageSize.width - (data.settings.margin.right + data.settings.margin.left)) - 10, doc.internal.pageSize.height - 12)\r\n\r\n // English Address\r\n doc.text(companyInfo.adressEn, data.settings.margin.left, doc.internal.pageSize.height - 5)\r\n\r\n // Arabic Address\r\n doc.text(companyInfo.adressAr, data.settings.margin.left + 250, doc.internal.pageSize.height - 5, { align: 'right' })\r\n\r\n // Fax\r\n doc.text('Fax: ' + companyInfo.fax, data.settings.margin.left + 135, doc.internal.pageSize.height - 5)\r\n\r\n // Phone\r\n doc.text('Phone: ' + companyInfo.companyPhoneNumber, data.settings.margin.left + 85, doc.internal.pageSize.height - 5)\r\n\r\n var str = 'Page ' + doc.internal.getNumberOfPages()\r\n // Total page number plugin only available in jspdf v1.0+\r\n // if (typeof doc.putTotalPages === 'function') {\r\n // str = str + ' of ' + totalPagesExp\r\n // }\r\n\r\n // jsPDF 1.4+ uses getWidth, <1.4 uses .width\r\n var pageSize = doc.internal.pageSize\r\n var pageHeight = pageSize.height ? pageSize.height : pageSize.getHeight()\r\n\r\n // Page Number\r\n doc.text(str, (doc.internal.pageSize.width - data.settings.margin.right) - 13, pageHeight - 5)\r\n printyIndex += doc.internal.pageSize.height;\r\n },\r\n didDrawCell: this.props.workingTimeDetails ? (data) => {\r\n if (data.column.index === 0) {\r\n if (data.row.index < 4) {\r\n doc.text('يوم', data.cell.x + 2, data.cell.y + 4);\r\n } else {\r\n doc.text('ساعة', data.cell.x + 2, data.cell.y + 4);\r\n }\r\n }\r\n } : undefined\r\n });\r\n\r\n }\r\n }\r\n }\r\n else if (this.props.singleTable) {\r\n let tableData = this.state.data.slice();\r\n let period = '';\r\n\r\n if (this.props.period && tableData.length > 0) {\r\n let to, from;\r\n if (tableData[0].date) {\r\n to = tableData[tableData.length - 1].date;\r\n from = tableData[0].date;\r\n for (let prop of tableData) {\r\n if (prop.date <= from) {\r\n from = prop.date\r\n }\r\n if (prop.date >= to) {\r\n to = prop.date\r\n }\r\n }\r\n }\r\n\r\n if (tableData[0]?.from && tableData[0]?.to) {\r\n to = tableData[0].to;\r\n from = tableData[0].from;\r\n }\r\n period += \" \";\r\n period += \" \";\r\n period += \" \";\r\n this.props.abcentFrom ? period += \"الغياب خلال الفترة \" : this.props.delay ? period += `التأخير خلال الفترة` : period += ` الفترة `;\r\n period += `من: ${tableData ? from : \" - \"}`;\r\n period += ` إلى : ${tableData ? to : \" - \"}`;\r\n period += \" \";\r\n }\r\n let coloredHeaders = [];\r\n if (this.props.colored) {\r\n if (this.state.data.length > 0) {\r\n coloredHeaders.unshift(\r\n 'كود الموظف'\r\n )\r\n coloredHeaders.unshift(\r\n 'إسم الموظف'\r\n )\r\n for (let x = 0; x < this.state.data[0].data.length; x++) {\r\n coloredHeaders.unshift(\r\n this.state.data[0].data[x].date\r\n )\r\n }\r\n coloredHeaders.unshift(\r\n 'أيام العمل'\r\n )\r\n }\r\n else {\r\n coloredHeaders.unshift(\r\n 'كود الموظف '\r\n )\r\n coloredHeaders.unshift(\r\n 'إسم الموظف'\r\n )\r\n coloredHeaders.unshift(\r\n 'الايام'\r\n )\r\n coloredHeaders.unshift(\r\n 'أيام العمل'\r\n )\r\n }\r\n }\r\n let coloredTableData = [];\r\n if (this.props.colored) {\r\n coloredTableData = this.state.data.map((raw) => {\r\n let arr = [];\r\n for (const column of this.state.columns) {\r\n if (column.backName == 'data') {\r\n for (const col of raw.data) {\r\n arr.unshift(col.timeIn ? col.timeIn : 0);\r\n }\r\n } else {\r\n arr.unshift(raw[column.backName] ? raw[column.backName] : ' - ');\r\n }\r\n }\r\n\r\n return arr;\r\n })\r\n }\r\n let head1 = [];\r\n this.state.columns.map((row) => {\r\n if (row.backName == 'timeOut1') {\r\n head1.unshift({ content: \"الوردية الاولي\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut2') {\r\n head1.unshift({ content: \"الوردية الثانية\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut3') {\r\n head1.unshift({ content: \"الوردية الثالثة\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeOut4') {\r\n head1.unshift({ content: \"الوردية الرابعة\", colSpan: 2, styles: { halign: 'center' } })\r\n } else if (row.backName == 'timeIn1') {\r\n\r\n } else if (row.backName == 'timeIn2') {\r\n\r\n } else if (row.backName == 'timeIn3') {\r\n\r\n } else if (row.backName == 'timeIn4') {\r\n\r\n } else {\r\n head1.unshift({ content: \"\", styles: { halign: 'center' } })\r\n }\r\n });\r\n // for single table:\r\n this.CreateTable(this.state.columns, this.state.data)\r\n var printHead1 = head1.some(h => h.content != \"\");\r\n\r\n autoTable(doc, {\r\n head: this.props.colored ? [coloredHeaders] : (printHead1 ?\r\n [head1, this.head] : [this.head]),\r\n body: coloredTableData.length > 0 ? coloredTableData : this.body,\r\n theme: 'grid',\r\n headStyles: { font: 'Amiri-Regular', fillColor: 240, textColor: 10 },\r\n bodyStyles: { font: 'Amiri-Regular', overflow: 'linebreak', lineColor: 100 },\r\n styles: { cellWidth: 'auto', halign: \"center\" },\r\n didDrawPage: function (data) {\r\n // Header\r\n doc.setFontSize(10)\r\n // doc.setTextColor(40)\r\n doc.rect(data.settings.margin.left, 10, doc.internal.pageSize.width - (data.settings.margin.right + data.settings.margin.left), 15)\r\n\r\n if (me.Logo && me.Logo != 'data:') {\r\n doc.addImage(me.Logo, 'JPEG', data.settings.margin.left + 5, 13, 10, 10)\r\n }\r\n\r\n //Arabic Company Name \r\n doc.text(companyInfo.companyNameAr, (doc.internal.pageSize.width - data.settings.margin.right) - 5, 15, { align: 'right' })\r\n //Arabic Company Activity \r\n doc.text(companyInfo.companyActivityAr, (doc.internal.pageSize.width - data.settings.margin.right) - 5, 22, { align: 'right' })\r\n\r\n //English Company Name \r\n // doc.text(companyInfo.companyNameEn, data.settings.margin.left + 5, 15)\r\n //English Company Activity \r\n // doc.text(companyInfo.companyActivityEn, data.settings.margin.left + 5, 22)\r\n\r\n doc.setFontSize(20)\r\n doc.setDrawColor(0, 0, 0);\r\n\r\n //Report Title\r\n doc.text(me.props.title, data.settings.margin.left + 100, 20)\r\n\r\n doc.setFontSize(10)\r\n if (!printed) {\r\n doc.text(period, data.settings.margin.left + 130, data.settings.margin.top - 5, { align: 'center' })\r\n printed = true;\r\n }\r\n\r\n\r\n // Footer\r\n doc.setFontSize(10)\r\n\r\n doc.line(data.settings.margin.left, (doc.internal.pageSize.height - data.settings.margin.bottom) + 11, doc.internal.pageSize.width - data.settings.margin.right, (doc.internal.pageSize.height - data.settings.margin.bottom) + 11)\r\n\r\n // Date & Time\r\n let d = new Date();\r\n\r\n doc.text(d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + (d.getMinutes() < 10 ? '0' + d.getMinutes() : d.getMinutes()), (doc.internal.pageSize.width - (data.settings.margin.right + data.settings.margin.left)) - 10, doc.internal.pageSize.height - 15)\r\n\r\n // English Address\r\n doc.text(companyInfo.adressEn, data.settings.margin.left, doc.internal.pageSize.height - 10)\r\n\r\n // Arabic Address\r\n doc.text(companyInfo.adressAr, data.settings.margin.left + 250, doc.internal.pageSize.height - 10, { align: 'right' })\r\n\r\n // Fax\r\n doc.text('Fax: ' + companyInfo.fax, data.settings.margin.left + 135, doc.internal.pageSize.height - 10)\r\n\r\n // Phone\r\n doc.text('Phone: ' + companyInfo.companyPhoneNumber, data.settings.margin.left + 85, doc.internal.pageSize.height - 10)\r\n\r\n var str = 'Page ' + doc.internal.getNumberOfPages()\r\n // Total page number plugin only available in jspdf v1.0+\r\n // if (typeof doc.putTotalPages === 'function') {\r\n // str = str + ' of ' + totalPagesExp\r\n // }\r\n\r\n // jsPDF 1.4+ uses getWidth, <1.4 uses .width\r\n var pageSize = doc.internal.pageSize\r\n var pageHeight = pageSize.height ? pageSize.height : pageSize.getHeight()\r\n\r\n // Page Number\r\n doc.text(str, (doc.internal.pageSize.width - data.settings.margin.right) - 13, pageHeight - 10)\r\n },\r\n margin: { top: 40, bottom: 25 },\r\n });\r\n }\r\n // Total page number plugin only available in jspdf v1.0+\r\n if (typeof doc.putTotalPages === 'function') {\r\n doc.putTotalPages(doc.internal.getNumberOfPages().toString())\r\n }\r\n doc.save(this.props.title + '.pdf');\r\n\r\n }\r\n }\r\n // A method for getting the select items from the Database,\r\n // inputs:\r\n // url = Web API Service url\r\n // body = Request body\r\n // name = the name of the state that the data will be stored in\r\n GetSelect(url, body, name) {\r\n let token = Cookie.get('token');\r\n this.setState({ loading: true })\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data, loading: false });\r\n } else {\r\n console.error(response.message);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n }\r\n\r\n // A method for Resetting the Search fields values\r\n Clear() {\r\n let tempSearchEntity = {};\r\n let tempEntity = this.state.readEntity;\r\n let backSearch = false;\r\n\r\n for (let field of this.props.searchFields) {\r\n if (field.backSearch && field.type != 'multiSelect') {\r\n tempEntity.search[field.backName] = '';\r\n backSearch = true\r\n }\r\n if (field.type == 'multiSelect') {\r\n tempEntity[field.backName] = [];\r\n backSearch = true\r\n }\r\n else {\r\n tempSearchEntity[field.backName] = '';\r\n }\r\n }\r\n if (backSearch) {\r\n this.setState({ readEntity: tempEntity, searchEntity: tempSearchEntity });\r\n // this.Read(this.state.readEntity);\r\n } else {\r\n this.setState({ searchEntity: tempSearchEntity });\r\n\r\n }\r\n }\r\n\r\n render() {\r\n let\r\n me = this,\r\n tableRawData = this.state.data.slice(),\r\n TableData,\r\n tables = [],\r\n totals,\r\n tablesData,\r\n preTableFields,\r\n from, to, headers = [], coloredHeaders = []\r\n ;\r\n\r\n if (tableRawData.length > 0) {\r\n to = tableRawData[tableRawData.length - 1].date;\r\n from = tableRawData[0].date;\r\n for (let prop of tableRawData) {\r\n if (prop.date <= from) {\r\n from = prop.date\r\n }\r\n if (prop.date >= to) {\r\n to = prop.date\r\n }\r\n }\r\n }\r\n if (this.props.overtime) {\r\n if (this.state.data.length > 0) {\r\n for (let x = 0; x < this.state.data.length; x++) {\r\n let header1 = [], header2 = [];\r\n for (let j = 0; j < this.state.data[x].data.length; j++) {\r\n header1 = []; header2 = [];\r\n header1.push(\r\n كود الموظف \r\n )\r\n header1.push(\r\n إسم الموظف \r\n )\r\n header2.push(\r\n \r\n )\r\n header2.push(\r\n \r\n )\r\n for (let i = 0; i < this.state.data[x].data[j].data.length; i++) {\r\n header1.push(\r\n {this.state.data[x].data[j].data[i].date}\r\n )\r\n header2.push(\r\n {this.state.data[x].data[j].data[i].day}\r\n )\r\n }\r\n }\r\n header1.push(\r\n اجمالي الساعات \r\n )\r\n header2.push(\r\n \r\n )\r\n headers.push({ header1: header1, header2: header2 })\r\n }\r\n\r\n }\r\n }\r\n if (this.props.colored) {\r\n if (this.state.data.length > 0) {\r\n from = this.state.data[0].from;\r\n to = this.state.data[0].to;\r\n coloredHeaders.push(\r\n كود الموظف \r\n )\r\n coloredHeaders.push(\r\n إسم الموظف \r\n )\r\n for (let x = 0; x < this.state.data[0].data.length; x++) {\r\n coloredHeaders.push(\r\n {this.state.data[0].data[x].date}\r\n )\r\n }\r\n coloredHeaders.push(\r\n أيام العمل \r\n )\r\n }\r\n else {\r\n coloredHeaders.push(\r\n كود الموظف \r\n )\r\n coloredHeaders.push(\r\n إسم الموظف \r\n )\r\n coloredHeaders.push(\r\n الايام \r\n )\r\n coloredHeaders.push(\r\n أيام العمل \r\n )\r\n }\r\n }\r\n\r\n if (this.state.data.length > 0) {\r\n //Check how many shifts should we show according to the general settings\r\n if (this.state.data[0].sequanceNumber) {\r\n let i = 0;\r\n switch (this.state.data[0].sequanceNumber) {\r\n case 1:\r\n //Remove the rest of the shifts\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn2')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut2')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn3')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut3')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn4')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut4')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n break;\r\n case 2:\r\n //Remove the rest of the shifts\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn3')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut3')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn4')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut4')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n break;\r\n case 3:\r\n //Remove the rest of the shifts\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeIn4')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n i = this.state.columns.indexOf(this.state.columns.filter(c => c.backName === 'timeOut4')[0]);\r\n if (i != -1) {\r\n if (this.state.totals) {\r\n this.state.totals.splice(this.state.totals.indexOf(this.state.totals.filter(c => c.name === this.state.columns[i].name)[0]), 1);\r\n }\r\n this.state.columns.splice(i, 1);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // Filtering data according to the Search Fields values\r\n for (let prop in this.state.searchEntity) {\r\n if (this.state.searchEntity[prop]) {\r\n if (!prop.toString().endsWith(',from') && !prop.toString().endsWith(',to')) {\r\n tableRawData = tableRawData.filter(row => {\r\n if (row[prop] != null) {\r\n return row[prop].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n\r\n } else {\r\n return ''.toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n }\r\n });\r\n } else {\r\n if (prop.toString().endsWith(',from')) {\r\n let backName = prop.split(',')[0];\r\n tableRawData = tableRawData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate >= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n } else if (prop.toString().endsWith(',to')) {\r\n let backName = prop.split(',')[0];\r\n tableRawData = tableRawData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate <= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Getting only the required columns for display + the row id\r\n tableRawData = tableRawData.map((row) => {\r\n let tablerow = {};\r\n for (let column of this.state.columns) {\r\n tablerow[column['backName']] = row[column['backName']];\r\n }\r\n tablerow.id = row.id;\r\n\r\n return tablerow;\r\n });\r\n\r\n // if the tableRawData length changed because of the search, update the rowsTotal for Paging\r\n if (tableRawData.length != this.state.rowsTotal) {\r\n this.setState({ rowsTotal: tableRawData.length })\r\n }\r\n\r\n // Creating the Breadcrumb links\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n // Creating the SearchFields\r\n let SearchFields = this.props.searchFields.map(\r\n (field) => {\r\n let items;\r\n switch (field.type) {\r\n case 'text':\r\n return (\r\n \r\n {\r\n if (field.backSearch) {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n } else if (field.innerSearch) {\r\n this.ChangeEntityState('searchEntity', field.backName + ',inner', value)\r\n } else {\r\n this.ChangeEntityState('searchEntity', field.backName, value)\r\n }\r\n\r\n }}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n case 'date':\r\n return (\r\n \r\n {\r\n if (field.backSearch) {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n } else {\r\n this.ChangeEntityState('searchEntity', field.backName, value)\r\n }\r\n\r\n }}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n case 'select':\r\n if (field.backSearch) {\r\n if (field.label === 'الإدارة') {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(management => management.branchIds=== this.state.readEntity.search[this.props.searchFields.find(field => field.label === 'الفرع').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else if (field.label === 'القسم') {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(department => department.administrationId === this.state.readEntity.search[this.props.searchFields.find(field => field.label === 'الإدارة').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n }\r\n } else {\r\n if (field.label === 'الإدارة') {\r\n if (field.innerSearch) {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(management => management.branchIds=== this.state.searchEntity[this.props.searchFields.find(field => field.label === 'الفرع').backName + ',inner'])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(management => management.branchIds=== this.state.searchEntity[this.props.searchFields.find(field => field.label === 'الفرع').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n }\r\n } else if (field.label === 'القسم') {\r\n if (field.innerSearch) {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(department => department.administrationId === this.state.searchEntity[this.props.searchFields.find(field => field.label === 'الإدارة').backName + ',inner'])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n } else {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].filter(department => department.administrationId === this.state.searchEntity[this.props.searchFields.find(field => field.label === 'الإدارة').backName])\r\n .map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n }\r\n } else {\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].map((item) => { return { label: item[field.item.label], value: item[field.item.value] } });\r\n }\r\n }\r\n\r\n\r\n return (\r\n item.value === this.state.readEntity.search[field.backName]) : (field.innerSearch ? items.find(item => item.value === this.state.searchEntity[field.backName + ',inner']) : items.find(item => item.value === this.state.searchEntity[field.backName]))}\r\n onChange={(value) => {\r\n if (field.backSearch) {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n } else if (field.innerSearch) {\r\n this.ChangeEntityState('searchEntity', field.backName + ',inner', value)\r\n } else {\r\n this.ChangeEntityState('searchEntity', field.backName, value)\r\n }\r\n }}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'multiSelect':\r\n items = this.state[field.label] === undefined ?\r\n []\r\n :\r\n this.state[field.label].map((item) => {\r\n return {\r\n label: item[field.item.label],\r\n value: item[field.item.value]\r\n }\r\n });\r\n return (\r\n item.value === this.state.readEntity.search[field.backName]) :\r\n (field.innerSearch ?\r\n items.find(item => item.value === this.state.searchEntity[field.backName + ',inner']) :\r\n items.find(item => item.value === this.state.searchEntity[field.backName]))}\r\n\r\n onChange={(value) => {\r\n if (field.backSearch) {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n\r\n this.setState({ readEntity: tempEntity });\r\n } else if (field.innerSearch) {\r\n this.ChangeEntityState('searchEntity', field.backName + ',inner', value)\r\n } else {\r\n this.ChangeEntityState('searchEntity', field.backName, value)\r\n }\r\n }}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'staticSelect':\r\n return (\r\n item.value === this.state.readEntity.search[field.backName]) : (field.innerSearch ? field.items.find(item => item.value === this.state.searchEntity[field.backName + ',inner']) : field.items.find(item => item.value === this.state.searchEntity[field.backName]))}\r\n options={field.items}\r\n onChange={(value) => {\r\n if (field.backSearch) {\r\n let tempEntity = this.state.readEntity;\r\n tempEntity.search[field.backName] = value;\r\n this.setState({ readEntity: tempEntity });\r\n } else if (field.innerSearch) {\r\n this.ChangeEntityState('searchEntity', field.backName + ',inner', value)\r\n } else {\r\n this.ChangeEntityState('searchEntity', field.backName, value)\r\n }\r\n }}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'dateFromTo':\r\n return (\r\n \r\n this.ChangeEntityState('searchEntity', field.backName + ',from', value)}\r\n />\r\n ]}\r\n />\r\n this.ChangeEntityState('searchEntity', field.backName + ',to', value)}\r\n />\r\n ]}\r\n />\r\n \r\n )\r\n default:\r\n return (\r\n this.ChangeEntityState('searchEntity', field.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n }\r\n }\r\n );\r\n\r\n //if there is backSearch fields, then add the search button\r\n if (this.props.searchFields.some(field => field.backSearch === true)) {\r\n SearchFields.push(\r\n
\r\n this.Read(this.state.readEntity)}\r\n >\r\n بحث\r\n \r\n
\r\n\r\n );\r\n }\r\n\r\n // Creating Table Headers\r\n let TableHeaders = this.state.columns.map((column, i) =>\r\n column.backName == 'timeIn1' ?\r\n الوردية الأولى \r\n :\r\n column['backName'] == 'timeIn2' ?\r\n الوردية الثانية \r\n :\r\n column['backName'] == 'timeIn3' ?\r\n الوردية الثالثة \r\n :\r\n column['backName'] == 'timeIn4' ?\r\n الوردية الربعة \r\n :\r\n column['backName'] == 'timeOut1' ?\r\n undefined\r\n :\r\n column['backName'] == 'timeOut2' ?\r\n undefined\r\n :\r\n column['backName'] == 'timeOut3' ?\r\n undefined\r\n :\r\n column['backName'] == 'timeOut4' ?\r\n undefined\r\n :\r\n {column['name']} \r\n );\r\n\r\n let TableHeaders2 = this.state.columns.some(c => c.backName == 'timeIn1') ? this.state.columns.map((column, i) =>\r\n column.backName == 'timeIn1' ?\r\n حضور \r\n :\r\n column['backName'] == 'timeIn2' ?\r\n حضور \r\n :\r\n column['backName'] == 'timeIn3' ?\r\n حضور \r\n :\r\n column['backName'] == 'timeIn4' ?\r\n حضور \r\n :\r\n column['backName'] == 'timeOut1' ?\r\n انصراف \r\n :\r\n column['backName'] == 'timeOut2' ?\r\n انصراف \r\n :\r\n column['backName'] == 'timeOut3' ?\r\n انصراف \r\n :\r\n column['backName'] == 'timeOut4' ?\r\n انصراف \r\n :\r\n \r\n\r\n ) : null;\r\n\r\n // check if we want the multi tables view or the single one\r\n let counter = 0;\r\n for (let i = 0; i < this.state.data.length; i++) {\r\n if (this.state.data[i].data) {\r\n counter = counter + 1\r\n }\r\n }\r\n\r\n if (counter > 0 && !this.props.colored) { // for multi tables:\r\n tablesData = this.state.data.slice()\r\n\r\n // The following filtering should be generic\r\n // =====================================================================\r\n // Filtering data according to the Search Fields values\r\n for (let prop in this.state.searchEntity) {\r\n if (this.state.searchEntity[prop]) {\r\n if (prop.toString().endsWith(',from') || prop.toString().endsWith(',to')) {\r\n if (prop.toString().endsWith(',from')) {\r\n let backName = prop.split(',')[0];\r\n tablesData = tablesData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate >= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n } else if (prop.toString().endsWith(',to')) {\r\n let backName = prop.split(',')[0];\r\n tablesData = tablesData.filter(row => {\r\n if (row[backName] != null) {\r\n let rowDate = new Date(row[backName]);\r\n let searchDate = new Date(this.state.searchEntity[prop])\r\n return rowDate <= searchDate;\r\n } else {\r\n return false;\r\n }\r\n });\r\n }\r\n } else if (prop.toString().endsWith(',inner')) {\r\n let backName = prop.split(',')[0];\r\n tablesData = tablesData.map(row => {\r\n let newRow = Object.assign({}, row);\r\n newRow.data = row.data.filter(innerRow => {\r\n if (innerRow[backName] != null) {\r\n return innerRow[backName].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n } else {\r\n return false;\r\n }\r\n }).slice();\r\n return newRow;\r\n });\r\n } else {\r\n tablesData = tablesData.filter(row => {\r\n if (row[prop] != null) {\r\n return row[prop].toString().toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n\r\n } else {\r\n return ''.toLowerCase().includes(this.state.searchEntity[prop].toString().toLowerCase())\r\n }\r\n });\r\n }\r\n }\r\n }\r\n // =====================================================================\r\n\r\n // creating every table data component\r\n for (let i = 0; i < tablesData.length; i++) {\r\n // creating data located before every table\r\n if (this.props.preTableFields) {\r\n\r\n preTableFields = this.props.preTableFields.map((preTableField, j) => {\r\n return (\r\n
\r\n {j == 0 ? null :\r\n this.props.preTableFields.length > 3 ?\r\n null :\r\n

           

\r\n }\r\n

{preTableField.name}   :  

\r\n {preTableField.backName == 'isShiftOpen' ?\r\n

{tablesData[i][preTableField.backName] ? \"مفتوح\" : ' عادي'}

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

{tablesData[i][preTableField.backName] ? tablesData[i][preTableField.backName] : ' -'}

\r\n\r\n }\r\n
\r\n )\r\n })\r\n }\r\n let OverTableData = [];\r\n // creating table data\r\n if (this.props.overtime) {\r\n OverTableData = tablesData[i].data.map((raw) => {\r\n return (\r\n \r\n {\r\n this.state.columns.map((column) => {\r\n return (\r\n\r\n column.backName == 'date' ?\r\n raw.data.map((col) =>\r\n {col.extraMinutes ? col.extraMinutes : 0}\r\n )\r\n :\r\n \r\n {raw[column.backName] ? raw[column.backName] : ' - '}\r\n \r\n )\r\n })\r\n }\r\n \r\n )\r\n })\r\n }\r\n\r\n let DetailsTableData = [];\r\n // creating table data\r\n if (this.props.workingTimeDetails) {\r\n DetailsTableData = tablesData[i].data.map((raw) => {\r\n return this.state.columns.map((column) => {\r\n return (\r\n \r\n \r\n {column.name}\r\n \r\n \r\n {raw[column.backName] ? raw[column.backName] : ' - '}\r\n \r\n \r\n\r\n )\r\n });\r\n })\r\n }\r\n\r\n TableData = tablesData[i].data.map((raw) => {\r\n return (\r\n \r\n {\r\n this.state.columns.map((column) => {\r\n return (\r\n column.boolean ?\r\n \r\n {\r\n raw[column.backName] === true ?\r\n {column.yes}\r\n :\r\n {column.no}\r\n }\r\n \r\n : column.enum ?\r\n \r\n {\r\n column.enum.find((item) => item.value == raw[column.backName]) ?\r\n column.enum.find((item) => item.value == raw[column.backName])['display']\r\n :\r\n raw[column.backName]\r\n }\r\n \r\n :\r\n\r\n \r\n {raw[column.backName]}\r\n \r\n )\r\n })\r\n }\r\n \r\n )\r\n })\r\n\r\n // creating totals data if existing\r\n if (this.props.totals) {\r\n totals = [\r\n \r\n {\r\n this.state.totals.map((column, index) => {\r\n return (\r\n column.backName ?\r\n {tablesData[i][column.backName]}\r\n :\r\n index === 1 ?\r\n الإجمالي \r\n :\r\n \r\n )\r\n })\r\n }\r\n \r\n ]\r\n }\r\n // Don't Draw line after the last table\r\n let hr\r\n if (i === (tablesData.length - 1)) {\r\n hr = \"\"\r\n } else {\r\n hr =
\r\n }\r\n // collecting all data components\r\n if (TableData != false) { // Not to display empty tables\r\n tables[i] = [\r\n
\r\n {\r\n this.props.period ?\r\n
\r\n
3 ? \"justify-content-between col-md-12\" : \" \"}`}> {preTableFields}\r\n         \r\n
\r\n {tablesData[0]?.from && tablesData[0]?.to ?\r\n

3 ? \"col-md-12\" : \" \"}`} >\r\n {this.props.abcentFrom ?\r\n \"الغياب خلال الفترة\"\r\n :\r\n this.props.delay ? \"التأخير خلال الفترة \"\r\n : \"الفترة\"}\r\n من : \r\n {tablesData[0]?.from} \r\n   \r\n إلى :\r\n {tablesData[0]?.to} \r\n

: null\r\n }\r\n\r\n
\r\n :\r\n null\r\n }\r\n\r\n {this.props.overtime ?\r\n\r\n \r\n\r\n :\r\n this.props.workingTimeDetails ?\r\n
\r\n :\r\n
\r\n\r\n }\r\n\r\n ,\r\n hr\r\n ]\r\n }\r\n }\r\n } else { // for single table:\r\n // First get the specified page of data then displays it properly\r\n let coloredTableData = [];\r\n if (this.props.colored) {\r\n coloredTableData = tableRawData.map((raw) => {\r\n return (\r\n \r\n {\r\n this.state.columns.map((column) => {\r\n return (\r\n column.backName === 'data' ?\r\n raw.data.map((col, 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 TableData = tableRawData.map(\r\n function (row) {\r\n return (\r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) => {\r\n if (columnName === 'id' && me.state.columns.find(column => column.backName === 'id') === undefined) {\r\n return null;\r\n }\r\n return me.state.columns[columnIndex]['link'] ?\r\n \r\n :\r\n me.state.columns[columnIndex]['boolean'] ?\r\n \r\n :\r\n me.state.columns[columnIndex]['enum'] ?\r\n \r\n :\r\n ;\r\n })\r\n }\r\n \r\n )\r\n }\r\n );\r\n tables = [\r\n
\r\n {this.props.colored ?\r\n
\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 this.props.period ?\r\n\r\n
\r\n {tableRawData.length > 0 ?\r\n

\r\n {this.props.abcentFrom ?\r\n \"الغياب خلال الفترة \"\r\n :\r\n this.props.delay ? \" التأخير خلال الفترة \"\r\n : \" الفترة \"}\r\n من: \r\n {from} \r\n   \r\n إلى:\r\n {to} \r\n

: null}\r\n\r\n
\r\n :\r\n null\r\n }\r\n {this.props.colored ?\r\n
{col.timeIn ? col.timeIn : 0}\r\n {raw[column.backName] ? raw[column.backName] : ' - '}\r\n
\r\n me.state.data.find(data => data[Object.keys(row)[0]] === row[Object.keys(row)[0]])[value]).join('/')}>\r\n {\r\n me.state.columns[columnIndex]['link']['icon'] ?\r\n me.state.columns[columnIndex]['link']['icon']\r\n :\r\n me.state.columns[columnIndex]['link']['text'] ?\r\n me.state.columns[columnIndex]['link']['text']\r\n :\r\n row[columnName]\r\n }\r\n \r\n \r\n {row[columnName] ? نعم : لا}\r\n \r\n {me.state.columns[columnIndex]['enum'].find((item) => item.value == row[columnName]) ? me.state.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display'] : row[columnName]}\r\n \r\n {row[columnName]}\r\n
\r\n :\r\n
\r\n }\r\n \r\n ]\r\n }\r\n\r\n return (\r\n
\r\n {/* startOverlayComponents */}\r\n \r\n \r\n \r\n {/* endOverlayComponents */}\r\n\r\n
\r\n\r\n\r\n\r\n hideFilters()}\r\n showFilters={() => showFilters()}\r\n printPDF={() => this.Print()}\r\n showModal={(name) => this.showModal(name)}\r\n //check for print permission\r\n print={this.props.print && this.props.permissions?.data.find(permission => permission.nameEn === 'Print') ? true : false}\r\n report={true}\r\n useSearchModal={this.props.useSearchModal ? true : false}\r\n />\r\n\r\n\r\n
\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n hideFilters()}\r\n showFilters={() => showFilters()}\r\n Clear={() => this.Clear()}\r\n />\r\n\r\n\r\n {/* {\r\n // if the value is less than 1, then make it 1 (can't be 0 or less)\r\n value = value > 1 ? value : 1;\r\n //assign the value to the pageSize property in readEntity\r\n this.ChangeEntityState('readEntity', 'pageSize', value);\r\n //return to the first page\r\n this.ChangeEntityState('readEntity', 'pageNumber', 0);\r\n }}\r\n //Total number of rows in all pages\r\n total={this.state.rowsTotal}\r\n //selected page\r\n currentPage={this.state.readEntity.pageNumber + 1}\r\n //on selecting a page to show+\r\n currentPageChange={(value) => {\r\n //in back-end the pages are numbered starting from 0 not from 1 so we convert the value to a number if it is a string and subtract it by 1\r\n this.ChangeEntityState('readEntity', 'pageNumber', Number(value) - 1);\r\n //get the new page from back-end\r\n this.Read(this.state.readEntity);\r\n }}\r\n /> */}\r\n
\r\n\r\n {\r\n\r\n tables\r\n }\r\n\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ReportPageAr;\r\n","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './ProcedurePage.css';\r\nimport { Link } from \"react-router-dom\";\r\nimport Table from './../Table/Table';\r\nimport Cookie from \"js-cookie\";\r\nimport ModalAr from './../ModalAr/ModalAr';\r\nimport PageHeaderAr from '../PageHeaderAr/PageHeaderAr';\r\nimport FiltersAr, { hideFilters, showFilters } from '../FiltersAr/FiltersAr';\r\nimport TableFooterAr from '../TableFooterAr/TableFooterAr';\r\nimport Loading from '../Loading/Loading';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Exceptions from '../Exceptions/Exceptions';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport SelectShift from '../SelectShift/SelectShift';\r\nimport PermissionTypes from '../PermissionTypes/PermissionTypes';\r\nimport Button from './../Button/Button';\r\nimport Field from './../Field/Field';\r\nimport { upLayer, downLayer } from '../MainLayout/MainLayout';\r\nimport Alert from './../Alert/Alert';\r\n// for procedure pages\r\nclass ProcedurePageAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n //assign by value not by reference\r\n actionEntity: props.action.body,\r\n actionErrors: [],\r\n rowsNumber: 10,\r\n rowsTotal: 0,\r\n currentPage: 1,\r\n message: { text: '', style: '' },\r\n loading: false,\r\n search: false,\r\n data: [],\r\n modalUpdated: false,\r\n errors: []\r\n }\r\n\r\n // Get the Action 'select elements' items from the Database when the page displayed for the first time\r\n for (let prop of props.actionEntityProps) {\r\n if (prop.type === 'select' || prop.type === 'multiSelect' || prop.type === 'selectShift') {\r\n this.GetSelect(prop.url, prop.body, prop.label);\r\n }\r\n }\r\n }\r\n\r\n // Styling:\r\n // ========\r\n showModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n mainLayout.style.overflow = \"visible\";\r\n }\r\n\r\n hideModal(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n\r\n // return the Modal elements to the default State\r\n if (modalName === 'search') {\r\n const entity = this.state.actionEntity;\r\n entity[this.props.modalBackName] = [];\r\n this.setState({ actionEntity: entity, actionErrors: [] })\r\n }\r\n }\r\n\r\n // Without returning the Modal elements to the default State\r\n hideModalWithValues(modalName) {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n //if the Page have a Read operation\r\n if (this.props.read) {\r\n this.Read({ search: this.state.actionEntity });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //if the Page have a Read operation\r\n if (this.props.read) {\r\n if (this.props.permissions !== null) {\r\n this.Read({ search: this.state.actionEntity });\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n }\r\n\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n // A method for changing the state,\r\n // inputs:\r\n // key = Name of the state\r\n // value = value of the state\r\n ChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n\r\n //url bulding is explained in BasicPage\r\n fetch(\r\n this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'ar'\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for performing the Page Main Action,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server (current actionEntity)\r\n Action(entity) {\r\n //if there is a 'get' permission\r\n let errors = this.Validation(entity);\r\n this.setState({ errors: errors });\r\n if (errors.length === 0) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(Cookie.get('token'));\r\n let then = (response, me) => {\r\n console.log(response);\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n // if there is a read operation in this page\r\n if (this.props.read) {\r\n me.setState(\r\n {\r\n loading: false,\r\n modalUpdated: false,\r\n message: { text: response.message, style: 'success' }\r\n }\r\n );\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n //Read data after making action\r\n this.Read({ search: this.state.actionEntity });\r\n } else if (!this.props.action.readAction && !this.props.action.ReadMachine) { // if it is not a read action (an action that only expects a response of whether the operation is successful or not)\r\n me.setState(\r\n {\r\n loading: false,\r\n modalUpdated: false,\r\n message: { text: response.message, style: 'success' }\r\n }\r\n );\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n } else {\r\n // if it is a read action (expects data from the server)\r\n me.setState(\r\n {\r\n data: response.data.list.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false,\r\n message: { text: response.message, style: 'success' }\r\n }\r\n );\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n\r\n } else { // if not succeeded\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else { // if response.status !== 200\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n\r\n this.Fetch(entity, token, 'action', then);\r\n }\r\n }\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n // if there is a 'get' permission\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState(\r\n {\r\n data: [response.data],\r\n rowsTotal: 1,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n\r\n // A method for getting the select items from the Database,\r\n // inputs:\r\n // url = Web API Service url\r\n // body = Request body\r\n // name = the name of the state that the data will be stored in\r\n GetSelect(url, body, name) {\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response.message);\r\n }\r\n })\r\n .catch(error => console.error('Unable to perform Action.', error));\r\n }\r\n\r\n // A method for Resetting the Action fields values\r\n Clear() {\r\n let tempEntity = this.state.actionEntity;\r\n for (let field of this.props.actionEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n tempEntity[field.backName] = '';\r\n }\r\n if (field.type === 'multiSelect') {\r\n tempEntity[field.backName] = [];\r\n }\r\n if (field.type === 'searchModal') {\r\n tempEntity[field.backName] = [];\r\n }\r\n }\r\n this.setState({ actionEntity: tempEntity });\r\n // if there is a read operation in this page then read data again after clearing filters\r\n if (this.props.read) {\r\n this.Read({ search: this.state.actionEntity });\r\n }\r\n }\r\n\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n\r\n Validation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.actionEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' حقل إجباري.');\r\n }\r\n }\r\n //Depends on property of RequiredCondition\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' حقل إجباري.');\r\n }\r\n }\r\n //Depends on property of RequiredCondition\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' حقل إجباري.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.createEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' يجب أن يكون أقل من أو يساوي \"' + toProp[0] + '\".');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.createEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' يجب أن يكون أكبر من أو يساوي \"' + fromProp[0] + '\".');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' يجب أن يكون بريد إلكتروني صحيح.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n //if checkbox checked\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat(prop.label[1] + ' حقل إجباري.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n //Employee select is required\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('الموظف حقل إجباري.');\r\n }\r\n //Date select is required\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('التاريخ حقل إجباري.');\r\n }\r\n //prop.backName[2]\r\n //shift select is required\r\n if (!entity.periodShiftId && !entity.periodShiftFourthId\r\n && !entity.periodShiftSecondId && !entity.periodShiftThirdId) {\r\n\r\n errors = errors.concat('اختيار الوردية إجباري.');\r\n }\r\n //if open working time there are no shifts to select\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n //permission type select is required\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('نوع الإذن حقل إجباري.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n //permission type\r\n switch (entity[prop.backName[0]]) {\r\n //if temporary\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('وقت الحضور حقل إجباري.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n //split the time entered by the user to get hours and minuts in an array\r\n time = entity[prop.backName[1]].split(':');\r\n //Create a date object of the entered time\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n //split the inTime of the shift to get hours and minuts in an array\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n //Create a date object of inTime of the shift\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n //split the outTime of the shift to get hours and minuts in an array\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n //Create a date object of outTime of the shift\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n //check if entered time is between shift inTime and outTime\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('يجب أن يكون وقت حضور الإذن داخل وقت الوردية المحددة.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('وقت الانصراف حقل إجباري.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('يجب أن يكون وقت انصراف الإذن داخل وقت الوردية المحددة.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('وقت الحضور حقل إجباري.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('يجب أن يكون وقت حضور الإذن داخل وقت الوردية المحددة.');\r\n }\r\n }\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('وقت الانصراف حقل إجباري.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('يجب أن يكون وقت انصراف الإذن داخل وقت الوردية المحددة.');\r\n }\r\n }\r\n }\r\n break;\r\n case 4:\r\n errors = errors.filter((error) => error !== 'اختيار الوردية إجباري.');\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }\r\n render() {\r\n let me = this;\r\n // Getting only the required columns for display + the row id\r\n let tableRawData = this.state.data.map((row) => {\r\n let tablerow = {};\r\n for (let column of this.props.columns) {\r\n tablerow[column['backName']] = row[column['backName']];\r\n }\r\n\r\n return tablerow;\r\n });\r\n\r\n // if the tableRawData lenght changed because of the search, update the rowsTotal for Paging\r\n if (tableRawData.length != this.state.rowsTotal) {\r\n this.setState({ rowsTotal: tableRawData.length })\r\n }\r\n\r\n // Creating the Breadcrumb links\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n // Creating Table Headers\r\n let TableHeaders = this.props.columns.map((column) => );\r\n\r\n // First get the specified page of data then displays it properly\r\n let TableData = tableRawData\r\n // Client side pagination\r\n .slice(((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage))\r\n .map(\r\n function (row) {\r\n return (\r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) =>\r\n //Displaying data in table is explained in BasicPage\r\n me.props.columns[columnIndex]['link'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['boolean'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['enum'] ?\r\n \r\n :\r\n )\r\n }\r\n \r\n )\r\n }\r\n );\r\n\r\n // Creating Action Fields\r\n let ActionEntityProperties = this.props.actionEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n {\r\n this.ChangeEntityState('actionEntity', prop.backName, value);\r\n //Read data again if there is a read operation in this page\r\n if (this.props.read) {\r\n this.Read({ search: this.state.actionEntity });\r\n }\r\n }}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n this.ChangeEntityState('actionEntity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n return (\r\n\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.actionEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'multiSelect':\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n return (\r\n\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.state.actionEntity[prop.backName]?.includes(item.value))}\r\n options={items}\r\n //onChange={(value) => this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n value={prop.backSearch ?\r\n items?.find(item => item.value === this.state.actionEntity[prop.backName]) :\r\n (prop.innerSearch ?\r\n items.find(item => item.value === this.state.actionEntity[prop.backName + ',inner']) :\r\n items.find(item => item.value === this.state.actionEntity[prop.backName]))}\r\n\r\n onChange={(value) => {\r\n if (prop.backSearch) {\r\n let tempEntity = this.state.actionEntity;\r\n tempEntity[prop.backName] = value;\r\n\r\n this.setState({ actionEntity: tempEntity });\r\n } else if (prop.innerSearch) {\r\n this.ChangeEntityState('actionEntity', prop.backName + ',inner', value)\r\n } else {\r\n this.ChangeEntityState('actionEntity', prop.backName, value)\r\n }\r\n }}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n\r\n this.ChangeEntityState('actionEntity', name, value)}\r\n onText={prop.label}\r\n offText={'Not ' + prop.label}\r\n height={30}\r\n width={110}\r\n uncheckedIconWidth=\"72px\"\r\n uncheckedIconMarginLeft=\"-35px\"\r\n checkedIconMarginLeft=\"30px\"\r\n />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.actionEntity[backName])\r\n }\r\n return (\r\n\r\n this.ChangeEntityState('actionEntity', name, value)} />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.actionEntity[backName])\r\n }\r\n return (\r\n\r\n this.ChangeEntityState('actionEntity', name, value)} />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.actionEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n return (\r\n\r\n this.ChangeEntityState('actionEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.actionEntity[backName])\r\n }\r\n items = [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ];\r\n return (\r\n\r\n this.ChangeEntityState('actionEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'searchModal':\r\n return (\r\n // a button to show search modal\r\n this.showModal('search')}\r\n >\r\n +{prop.label}\r\n \r\n ]}\r\n />\r\n );\r\n case 'readOnly':\r\n return (\r\n this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n long\r\n />\r\n );\r\n default:\r\n return (\r\n\r\n * : null, \":\"]}\r\n titleSize={prop.titleSize}\r\n inputComponent={[\r\n this.ChangeEntityState('actionEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n }\r\n }\r\n );\r\n\r\n return (\r\n
\r\n {/* startOverlayComponents */}\r\n\r\n {/* Search Modal explained in Basic Page */}\r\n \r\n this.hideModal(name)}\r\n searchFields={this.props.modalSearchFields}\r\n EntityProperties={ActionEntityProperties}\r\n columns={[\r\n { name: 'الكود', backName: 'employeeCode' },\r\n { name: 'الإسم', backName: 'nameAr' }\r\n ]}\r\n errors={[]}\r\n parent={this}\r\n backName={this.props.modalBackName}\r\n read={this.props.modalRead}\r\n fetch={() => this.hideModalWithValues('search')}\r\n updated={this.state.modalUpdated}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n {/* endOverlayComponents */}\r\n\r\n\r\n
\r\n hideFilters()}\r\n showFilters={() => showFilters()}\r\n //if readaction put the action entity in an object with a property called 'search' {search: actionEntity}\r\n Action={() => this.props.action.readAction ?\r\n this.Action({ search: this.state.actionEntity }) : this.Action(this.state.actionEntity)}\r\n\r\n showModal={(name) => this.showModal(name)}\r\n report={this.props.report}\r\n procedure={this.props.permissions?.data.find(permission => permission.nameEn === 'Get') ? true : false}\r\n noCreate={!this.props.permissions?.data.find(permission => permission.nameEn === 'Get') ? true : false}\r\n btnTxt={this.props.btnTxt}\r\n btnClr={this.props.btnClr}\r\n useSearchModal={this.props.useSearchModal ? true : false}\r\n // =================\r\n />\r\n
\r\n {\r\n this.state.errors ?\r\n this.state.errors.length > 0 ?\r\n (\r\n \r\n
    \r\n {this.state.errors.map((error) =>
  • {error}
  • )}\r\n
\r\n
\r\n )\r\n :\r\n null\r\n :\r\n null\r\n }\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n this.Clear()}\r\n />\r\n {this.props.columns.length > 0 ?\r\n <>\r\n {/* if the column name is 'not transferred transactions' that means that it's a table with only one row and one cell containing the number of not transferred transactions, so we don't nead pagination for it */}\r\n {this.props.columns[0].name !== 'الحركات الغير مرحلة' ?\r\n {\r\n value = value > 1 ? value : 1;\r\n this.ChangeState('rowsNumber', value);\r\n this.setState({ currentPage: 1 });\r\n }}\r\n total={this.state.rowsTotal}\r\n currentPage={this.state.currentPage}\r\n currentPageChange={(value) => this.setState({ currentPage: Number(value) })}\r\n />\r\n\r\n :\r\n null}\r\n
{column['name']}
\r\n me.state.data.find(data => data[Object.keys(row)[0]] === row[Object.keys(row)[0]])[value]).join('/')}>\r\n {\r\n me.props.columns[columnIndex]['link']['icon'] ?\r\n me.props.columns[columnIndex]['link']['icon']\r\n :\r\n me.props.columns[columnIndex]['link']['text'] ?\r\n me.props.columns[columnIndex]['link']['text']\r\n :\r\n row[columnName]\r\n }\r\n \r\n \r\n {row[columnName] ? Yes : No}\r\n \r\n {me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName]) ? me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display'] : row[columnName]}\r\n \r\n {row[columnName]}\r\n
\r\n \r\n :\r\n null\r\n }\r\n \r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ProcedurePageAr;\r\n","import React from 'react';\r\nimport './CompanyInfo.css';\r\nimport Button from '../Button/Button';\r\nimport Cookie from \"js-cookie\";\r\nimport Field from '../Field/Field';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Loading from '../Loading/Loading';\r\nimport Alert from './../Alert/Alert';\r\nimport { ip } from './../../data/APIs';\r\n\r\nclass CompanyInfoAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n readEntity: props.read.body ? props.read.body : props.read.path,\r\n updateEntity: props.update.body,\r\n updateErrors: [],\r\n message: { text: '', style: '' },\r\n loading: false,\r\n data: [],\r\n }\r\n this.fileInput = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.permissions !== null) {\r\n this.Read(this.state.readEntity);\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n ChangeEntityStateModel(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity.model[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n ChangeFileState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n Validation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.updateEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.updateEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' field Should be less than or equal to \"' + toProp[0] + '\" field.');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.updateEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' field Should be greater than or equal to \"' + fromProp[0] + '\" field.');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' field should be a valid email address.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Day end time field is Required.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Employee field is Required.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Date field is Required.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Selecting a Shift is Required.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Permission Type field is Required.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n let url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n\r\n //FormData for uploading the image\r\n var formdata = new FormData();\r\n //if update not read\r\n if (operation === 'update') {\r\n formdata.append(\"model\", JSON.stringify(entity.model));\r\n if (this.fileInput.current.files[0]) {\r\n formdata.append(\"imagePath\", this.fileInput.current.files[0], this.fileInput.current.files[0].name);\r\n }\r\n\r\n }\r\n\r\n fetch(url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n //if read, then no body, else use formData\r\n body: operation === 'read' ? null : formdata,\r\n redirect: 'follow'\r\n\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (response.data.data) { //if data.data\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else { // if response.data, not response.data.data\r\n let tempEntity = Object.assign({}, response.data);\r\n // remove image property\r\n delete tempEntity.image;\r\n me.setState(\r\n {\r\n data: response.data,\r\n updateEntity: { model: tempEntity, imagePath: '' },\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n }\r\n } else { //not success\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else { //status not 200\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n // A method for Updating an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\n Update(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.updateEntityProps) {\r\n if (prop.type === 'text') {\r\n entity.model[prop.backName] = entity.model[prop.backName] ? entity.model[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity.model);\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n }\r\n\r\n render() {\r\n\r\n //inputs in the page\r\n let UpdateEntityProperties = this.props.updateEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'file':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.updateEntity.model[this.props.updateEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.updateEntity.model[this.props.updateEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity.model[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', name, value)}\r\n onText={'Yes'}\r\n offText={'No'}\r\n height={30}\r\n width={70}\r\n // uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n />\r\n ]}\r\n />\r\n );\r\n\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityStateModel('updateEntity', prop.backName, value)}\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 {/* Update errors (Update Modal errors showed in the page) */}\r\n {\r\n this.state.updateErrors ?\r\n this.state.updateErrors.length > 0 ?\r\n (\r\n \r\n
    \r\n {this.state.updateErrors.map((error) =>
  • {error}
  • )}\r\n
\r\n
\r\n )\r\n :\r\n null\r\n :\r\n null\r\n }\r\n {/* Message */}\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n {UpdateEntityProperties}\r\n\r\n {/* input of type 'file' for uploading image */}\r\n { this.ChangeEntityState('updateEntity', 'imagePath', this.fileInput.current.files[0]) }}\r\n accept={'image/*'}\r\n />\r\n ]}\r\n />\r\n\r\n {/* Show current logo image */}\r\n
\r\n \r\n
\r\n \"Current\r\n
\r\n\r\n {/* if there is an 'Edite ' permission, then show save button */}\r\n {(!this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ')) ?\r\n null\r\n :\r\n this.Update(this.state.updateEntity)}\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 CompanyInfoAr;","import React from 'react';\r\nimport './FormPage.css';\r\nimport Button from '../Button/Button';\r\nimport Cookie from \"js-cookie\";\r\nimport Field from '../Field/Field';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Loading from '../Loading/Loading';\r\nimport Alert from './../Alert/Alert';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport { Link } from \"react-router-dom\";\r\n\r\nclass FormPageAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n readEntity: props.read.body ? props.read.body : props.read.path,\r\n updateEntity: props.update.body,\r\n updateErrors: [],\r\n message: { text: '', style: '' },\r\n loading: false,\r\n data: [],\r\n }\r\n this.fileInput = React.createRef();\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.permissions !== null) {\r\n this.Read(this.state.readEntity);\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n //No references\r\n ChangeFileState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n Validation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.updateEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.updateEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' field Should be less than or equal to \"' + toProp[0] + '\" field.');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.updateEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' field Should be greater than or equal to \"' + fromProp[0] + '\" field.');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' field should be a valid email address.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat(prop.label[1] + ' field is Required.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Employee field is Required.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Date field is Required.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Selecting a Shift is Required.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Permission Type field is Required.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n\r\n let url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n\r\n fetch(url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'ar'\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (response.data.data) {\r\n me.setState(\r\n {\r\n data: response.data.data[0],\r\n updateEntity: response.data.data[0],\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else { //response.data\r\n\r\n me.setState(\r\n {\r\n data: response.data,\r\n updateEntity: response.data,\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n }\r\n } else { //not success\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else { //not status 200\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n // A method for Updating an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\n Update(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.updateEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else { // not success\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else { // not status 200\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n }\r\n\r\n render() {\r\n\r\n //Inputs in page\r\n let UpdateEntityProperties = this.props.updateEntityProps.map(\r\n (prop, i) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n\r\n case 'header':\r\n return (\r\n\r\n
\r\n

{prop.label}

\r\n
\r\n );\r\n case 'link':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n \r\n \r\n {prop.name}\r\n \r\n\r\n ]}\r\n />\r\n );\r\n case 'color':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'number':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'file':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'staticSelect':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity[prop.backName])}\r\n options={prop.items}\r\n onChange={(value) => this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n onText={'نعم'}\r\n offText={'لا'}\r\n height={30}\r\n width={70}\r\n // uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\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

{this.props.title}

\r\n
\r\n {/* Update Model Errors showed in page (not in modal) */}\r\n {\r\n this.state.updateErrors ?\r\n this.state.updateErrors.length > 0 ?\r\n (\r\n \r\n
    \r\n {this.state.updateErrors.map((error) =>
  • {error}
  • )}\r\n
\r\n
\r\n )\r\n :\r\n null\r\n :\r\n null\r\n }\r\n\r\n {/* Message */}\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n\r\n {/* Inputs */}\r\n {UpdateEntityProperties}\r\n\r\n {/* if there is 'Edite ' permission, then show save button */}\r\n {(!this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ')) ?\r\n null\r\n :\r\n this.Update(this.state.updateEntity)}\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 FormPageAr;","/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport './BasicPage.css';\r\nimport { Link } from \"react-router-dom\";\r\nimport Table from './../Table/Table';\r\nimport Cookie from \"js-cookie\";\r\nimport Modal from './../Modal/Modal';\r\nimport PageHeaderAr from '../PageHeaderAr/PageHeaderAr';\r\nimport Loading from '../Loading/Loading';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Exceptions from '../Exceptions/Exceptions';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport SelectShift from '../SelectShift/SelectShift';\r\nimport PermissionTypes from '../PermissionTypes/PermissionTypes';\r\nimport Field from '../Field/Field';\r\n// import { upLayer, downLayer } from '../MainLayout/MainLayout';\r\n\r\n// To use testing local data instead of server data\r\nimport { testBranches } from './../../data/testData/Branches';\r\nimport Alert from './../Alert/Alert';\r\n\r\nclass PermissionsPageAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n createEntity: props.create.body,\r\n readEntity: props.read.body ? props.read.body : props.read.path,\r\n updateEntity: props.update.body,\r\n deleteEntity: props.delete.query ? props.delete.query : props.delete.body,\r\n createErrors: [],\r\n updateErrors: [],\r\n rowsNumber: 10,\r\n rowsTotal: 0,\r\n currentPage: 1,\r\n message: { text: '', style: '' },\r\n loading: false,\r\n add: false,\r\n edit: false,\r\n delete: false,\r\n search: false,\r\n data: [],\r\n modalUpdated: false\r\n }\r\n\r\n }\r\n\r\n // Styling:\r\n // ========\r\n showModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n // sideNav.style.overflow = \"visible\";\r\n mainLayout.style.overflow = \"visible\";\r\n }\r\n\r\n hideModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n // sideNav.style.overflow = \"auto\";\r\n // mainLayout.style.overflow = \"auto\";\r\n\r\n // return the Modal elements to the default State\r\n if (modalName === 'add') {\r\n const entity = this.state.createEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n if (field.label === 'Active') {\r\n entity[field.backName] = true;\r\n } else {\r\n entity[field.backName] = false;\r\n }\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n if (field.type === 'exceptions') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = false;\r\n }\r\n }\r\n if (field.type === 'selectShift') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n if (field.type === 'permissionType') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n }\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'search') {\r\n const entity = this.state.createEntity;\r\n entity[this.props.modalBackName] = [];\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'edit') {\r\n const entity = this.state.updateEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n entity[field.backName] = true;\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n }\r\n this.setState({ updateEntity: entity, updateErrors: [] })\r\n }\r\n }\r\n // ========\r\n\r\n componentDidMount() {\r\n // Read Data from the Database and Display it\r\n if (this.props.permissions !== null) {\r\n this.Read(this.state.readEntity);\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n // To rise Lists Component up:\r\n // const lists = document.querySelector(\"#lists\");\r\n // lists.addEventListener(\"mouseenter\", () => { downLayer(); });\r\n // lists.addEventListener(\"mouseleave\", () => { upLayer(); });\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n AddPermission(state, pageId, permissionId) {\r\n let tempEntity = this.state[state];\r\n if (tempEntity.pagePermissions.find(page => page.pageId === pageId)) {\r\n if (!tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.find(id => id === permissionId)) {\r\n tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.push(permissionId);\r\n }\r\n } else {\r\n tempEntity.pagePermissions.push({\r\n \"pageId\": pageId,\r\n \"permissionIds\": [\r\n permissionId\r\n ]\r\n });\r\n }\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n SelectAllPermissions() {\r\n let tempEntity = { \"groupId\": this.props.params.groupId, \"pagePermissions\": [] };\r\n for (const page of this.state.data) {\r\n tempEntity.pagePermissions.push({\r\n \"pageId\": page.id,\r\n \"permissionIds\": [\r\n 1, 2, 3, 4, 5\r\n ]\r\n });\r\n }\r\n this.setState({ updateEntity: tempEntity });\r\n\r\n }\r\n\r\n RemovePermission(state, pageId, permissionId) {\r\n let tempEntity = this.state[state];\r\n tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds = tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.filter(id => id !== permissionId);\r\n\r\n if (tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.length === 0) {\r\n tempEntity.pagePermissions = tempEntity.pagePermissions.filter(page => page.pageId !== pageId)\r\n }\r\n\r\n this.setState({ [state]: tempEntity });\r\n }\r\n // A method for changing the state,\r\n // inputs:\r\n // key = Name of the state\r\n // value = value of the state\r\n ChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n Validation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.createEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' field Should be less than or equal to \"' + toProp[0] + '\" field.');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.createEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' field Should be greater than or equal to \"' + fromProp[0] + '\" field.');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' field should be a valid email address.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Day end time field is Required.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Employee field is Required.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Date field is Required.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Selecting a Shift is Required.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Permission Type field is Required.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n let url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].body ?\r\n this.props[operation].url + '?' + Object.keys(this.props[operation].query).map((key) => key + '=' + this.props[operation].query[key]).join('&')\r\n :\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n fetch(url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for Creating a new entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating (current createEntity)\r\n Create(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ createErrors: errors });\r\n\r\n //if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (me.props.useSearchModal) {\r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n if (me.props.useSearchModal) {\r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ createErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'create', then);\r\n }\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (response.data.data) {\r\n me.setState(\r\n {\r\n data: response.data.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else {\r\n me.setState(\r\n {\r\n data: response.data.map((row) => {\r\n for (const key in me.props.params) {\r\n row[key] = me.props.params[key];\r\n }\r\n return row;\r\n }),\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n for (const page of response.data) {\r\n for (const permission of page.data) {\r\n if (permission.displayed) {\r\n me.AddPermission('updateEntity', page.id, permission.id);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n\r\n // A method for Updating an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\n Update(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n }\r\n\r\n // A method for Deleting an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Delete (current deleteEntity)\r\n Delete(entity) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'delete', then);\r\n }\r\n\r\n // A method for getting the data of the selected row and putting it in the updateEntity,\r\n // inputs:\r\n // id = Selected row ID\r\n GetForUpdate(id) {\r\n let tempEntity = this.state.updateEntity;\r\n for (let prop in tempEntity) {\r\n tempEntity[prop] = this.state.data.find(item => item.id === id) ? this.state.data.find(item => item.id === id)[prop] === undefined ? tempEntity[prop] : this.state.data.find(item => item.id === id)[prop] : this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop] === undefined ? tempEntity[prop] : this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop];\r\n }\r\n this.setState({ updateEntity: tempEntity });\r\n }\r\n\r\n // A method for getting the id of the selected row and putting it in the deleteEntity,\r\n // inputs:\r\n // id = Selected row ID\r\n GetIdForDelete(id) {\r\n let tempEntity = this.state.deleteEntity;\r\n if (Array.isArray(tempEntity[Object.keys(tempEntity)[0]])) {\r\n tempEntity[Object.keys(tempEntity)[0]] = [id];\r\n } else {\r\n tempEntity[Object.keys(tempEntity)[0]] = id;\r\n }\r\n this.setState({ deleteEntity: tempEntity });\r\n }\r\n\r\n // A method for getting the select items from the Database,\r\n // inputs:\r\n // url = Web API Service url\r\n // body = Request body\r\n // name = the name of the state that the data will be stored in\r\n GetSelect(url, body, name) {\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response.message);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n }\r\n\r\n render() {\r\n let me = this;\r\n let tableRawData = this.state.data;\r\n\r\n tableRawData = tableRawData.map((row) => {\r\n\r\n let tablerow = {};\r\n for (let column of this.props.columns) {\r\n if (column.checkbox) {\r\n tablerow[column.backName] = row.data.find(p => p.nameEn === column.backName).displayed;\r\n } else {\r\n tablerow[column.backName] = row[column.backName];\r\n }\r\n }\r\n tablerow.id = row.id;\r\n\r\n return tablerow;\r\n });\r\n\r\n // if the tableRawData length changed because of the search, update the rowsTotal for Paging\r\n if (tableRawData.length != this.state.rowsTotal) {\r\n this.setState({ rowsTotal: tableRawData.length })\r\n }\r\n\r\n // Creating the Breadcrumb links\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n // Creating Table Headers\r\n let TableHeaders = this.props.columns.map((column) => column.selection ?\r\n
\r\n :\r\n )\r\n .concat([me.props.noDelete && me.props.noEdit ? null : ]);\r\n\r\n // First get the specified page of data then displays it properly\r\n let TableData = tableRawData\r\n // .slice(((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage))\r\n .map(\r\n function (row) {\r\n return (\r\n \r\n {\r\n Object.keys(row)\r\n .map((columnName, columnIndex) => {\r\n if (columnName === 'id' && me.props.columns.find(column => column.backName === 'id') === undefined) {\r\n return null;\r\n }\r\n return me.props.columns[columnIndex]['link'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['boolean'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['enum'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['checkbox'] ?\r\n \r\n :\r\n me.props.columns[columnIndex]['selection'] ?\r\n \r\n :\r\n ;\r\n })\r\n .concat([me.props.noDelete && me.props.noEdit ? null :\r\n \r\n ])\r\n }\r\n \r\n )\r\n }\r\n );\r\n\r\n // Creating Add Modal Fields\r\n let CreateEntityProperties = this.props.createEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value+\":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.createEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n // this.ChangeEntityState('createEntity', name, value)}\r\n // onText={'Yes'}\r\n // offText={'No'}\r\n // height={30}\r\n // width={125}\r\n // // uncheckedIconWidth=\"80px\"\r\n // // uncheckedIconMarginLeft=\"-38px\"\r\n // checkedIconMarginLeft=\"10px\"\r\n // />\r\n this.ChangeEntityState('createEntity', name, value.currentTarget.checked)}/>\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n\r\n items = this.state.createEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'All Day', value: 4 }\r\n ];\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n }\r\n }\r\n );\r\n\r\n let UpdateEntityProperties;\r\n\r\n // if there is an Update operation in this page, Create Edit Modal Fields\r\n if (!this.props.noEdit) {\r\n UpdateEntityProperties = this.props.updateEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value+\":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n // this.ChangeEntityState('updateEntity', name, value.currentTarget.checked)}\r\n // onText={'Yes'}\r\n // offText={'No'}\r\n // height={30}\r\n // width={125}\r\n // // uncheckedIconWidth=\"80px\"\r\n // // uncheckedIconMarginLeft=\"-38px\"\r\n // checkedIconMarginLeft=\"10px\"\r\n // />\r\n this.ChangeEntityState('updateEntity', name,value.currentTarget.checked)} />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n\r\n items = this.state.updateEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'All Day', value: 4 }\r\n ];\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\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 {/* startOverlayComponents */}\r\n\r\n \r\n \r\n \r\n {/* endOverlayComponents */}\r\n\r\n\r\n
\r\n this.showModal(name)}\r\n report={this.props.report}\r\n procedure={this.props.procedure}\r\n save={this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ') ? true : false}\r\n noCreate={!this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ') ? true : false}\r\n Action={() => this.Update(this.state.updateEntity)}\r\n useSearchModal={this.props.useSearchModal ? true : false}\r\n // =====================\r\n />\r\n
\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n\r\n {/* {\r\n value = value > 1 ? value : 1;\r\n this.ChangeState(name, value);\r\n this.setState({ currentPage: 1 });\r\n }}\r\n total={this.state.rowsTotal}\r\n currentPage={this.state.currentPage}\r\n currentPageChange={(value) => this.setState({ currentPage: Number(value) })}\r\n /> */}\r\n
\r\n {/* page.permissionIds.length === 5) ? true : false}\r\n onChange={( value) => {\r\n if (value) {\r\n me.SelectAllPermissions();\r\n } else {\r\n this.setState({ updateEntity: { \"groupId\": me.props.params.groupId, \"pagePermissions\": [] } });\r\n }\r\n }}\r\n onText={''}\r\n offText={''}\r\n height={20}\r\n width={40}\r\n uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n /> */}\r\n page.permissionIds.length === 5) ? true : false}\r\n onChange={(value) => {\r\n if (value.currentTarget.checked) {\r\n me.SelectAllPermissions();\r\n } else {\r\n this.setState({ updateEntity: { \"groupId\": me.props.params.groupId, \"pagePermissions\": [] } });\r\n }\r\n }} />\r\n {column['name']}Actions
\r\n me.state.data.find(data => data[Object.keys(row)[0]] === row[Object.keys(row)[0]])[value]).join('/')}>\r\n {\r\n me.props.columns[columnIndex]['link']['icon'] ?\r\n me.props.columns[columnIndex]['link']['icon']\r\n :\r\n me.props.columns[columnIndex]['link']['text'] ?\r\n me.props.columns[columnIndex]['link']['text']\r\n :\r\n row[columnName]\r\n }\r\n \r\n \r\n {row[columnName] ? Yes : No}\r\n \r\n {me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName]) ? me.props.columns[columnIndex]['enum'].find((item) => item.value == row[columnName])['display'] : row[columnName]}\r\n \r\n {/* page.pageId === row.id) ?\r\n me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.find(id => id === me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id) ?\r\n true\r\n : false\r\n : false}\r\n backName={columnName}\r\n onChange={( value) => value ? me.AddPermission('updateEntity', row.id, me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id) : me.RemovePermission('updateEntity', row.id, me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id)}\r\n onText={''}\r\n offText={''}\r\n height={20}\r\n width={40}\r\n uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n /> */}\r\n page.pageId === row.id) ?\r\n me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.find(id => id === me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id) ?\r\n true\r\n : false\r\n : false}\r\n onChange={(value) => {\r\n value.currentTarget.checked ? \r\n me.AddPermission('updateEntity', row.id, me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id) : me.RemovePermission('updateEntity', row.id, me.state.data.find(page => page.id === row.id).data.find(p => p.nameEn === columnName).id)}}\r\n />\r\n \r\n page.pageId === row.id) ?\r\n me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(1) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(2) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(3) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(4) && me.state.updateEntity.pagePermissions.find(page => page.pageId === row.id).permissionIds.includes(5) ?\r\n true\r\n : false\r\n : false}\r\n onChange={(value) => {\r\n if (value.currentTarget.checked) {\r\n for (let index = 1; index < 6; index++) {\r\n me.AddPermission('updateEntity', row.id, index)\r\n }\r\n } else {\r\n for (let index = 1; index < 6; index++) {\r\n me.RemovePermission('updateEntity', row.id, index)\r\n }\r\n }\r\n }} />\r\n \r\n {row[columnName]}\r\n \r\n {!me.props.noDelete ?\r\n {\r\n me.showModal(\"delete\");\r\n me.GetIdForDelete(row.id ? row.id : row[Object.keys(row)[0]]);\r\n }}>\r\n : null}\r\n {!me.props.noEdit ?\r\n {\r\n me.showModal(\"edit\");\r\n me.GetForUpdate(row.id ? row.id : row[Object.keys(row)[0]]);\r\n }}\r\n >\r\n : null}\r\n
\r\n\r\n \r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default PermissionsPageAr;\r\n","import React from 'react';\r\nimport './ModalPageAr.css';\r\nimport Button from '../Button/Button';\r\nimport Cookie from \"js-cookie\";\r\nimport Field from '../Field/Field';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport Loading from '../Loading/Loading';\r\nimport Alert from '../Alert/Alert';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport ExceptionsAr from '../ExceptionsAr/ExceptionsAr';\r\nimport $, { error } from \"jquery\";\r\nimport { Link } from \"react-router-dom\";\r\nimport PageHeaderAr from '../PageHeaderAr/PageHeaderAr';\r\nimport { adminIp } from './../../data/APIs';\r\nimport { ip } from './../../data/APIs';\r\n\r\nclass ModalPageAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n entity: props.action.body ? props.action.body : props.action,\r\n readEntity: props.read ? (props.read.body ? props.read.body : (props.read.path ? props.read.path : {})) : undefined,\r\n errors: [],\r\n message: { text: '', style: '' },\r\n loading: false,\r\n data: [],\r\n pageName: props.pageName ? props.pageName : '',\r\n tryEmail: null,\r\n tryPhone: null\r\n }\r\n\r\n // Get the Search Fields 'select elements' items from the Database when the page displayed for the first time\r\n if (props.searchFields) { // to prevent undefined error\r\n for (let field of props.searchFields) {\r\n if (field.type === 'select') {\r\n this.GetSelect(field.url, field.body, field.label);\r\n }\r\n }\r\n }\r\n\r\n // Get the Create & Update 'select elements' items from the Database when the page displayed for the first time\r\n for (let prop of props.EntityProps) {\r\n // if the items already exist in the Search Field Don't Get it from the Database again\r\n if (prop.type === 'select') {\r\n this.GetSelect(prop.url, prop.body, prop.label);\r\n // selectShift Components don't have a Label\r\n } else if (prop.type === 'selectShift') {\r\n this.GetSelect(prop.url, prop.body, prop.label);\r\n }\r\n }\r\n\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.read) {\r\n this.Read(this.state.readEntity);\r\n }\r\n }\r\n\r\n // A method for getting the select items from the Database,\r\n // inputs:\r\n // url = Web API Service url\r\n // body = Request body\r\n // name = the name of the state that the data will be stored in\r\n GetSelect(url, body, name) {\r\n\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n Validation(entity) {\r\n let errors = [];\r\n let i = 0;\r\n for (let prop of this.props.EntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' حقل إجباري.');\r\n }\r\n }\r\n if (prop.validation.includes('Compare')) {\r\n if (entity[prop.backName] !== entity[this.props.EntityProps[i - 1].backName]) {\r\n errors = errors.concat(prop.label + ' لا يطابق ' + this.props.EntityProps[i - 1].label + '.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' حقل إجباري.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' حقل إجباري.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.EntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' يجب أن يكون أقل من أو يساوي \"' + toProp[0] + '\".');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.EntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' يجب أن يكون أكبر من أو يساوي \"' + fromProp[0] + '\".');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' يجب أن يكون بريد إلكتروني صحيح.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat(prop.label[1] + ' حقل إجباري.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('الموظف حقل إجباري.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('التاريخ حقل إجباري.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('اختيار الوردية إجباري.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('نوع الإذن حقل إجباري.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('وقت الحضور حقل إجباري.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('يجب أن يكون وقت حضور الإذن داخل وقت الوردية المحددة.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('وقت الانصراف حقل إجباري.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('يجب أن يكون وقت انصراف الإذن داخل وقت الوردية المحددة.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('وقت الحضور حقل إجباري.');\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('وقت الانصراف حقل إجباري.');\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n i++;\r\n }\r\n return errors;\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n let url = ''\r\n let body = {\r\n \"message\": entity\r\n }\r\n if (operation == 'try') {\r\n if (this.props.pageName == 'emailEdites') {\r\n url = ip + \"/api/EmailTest\";\r\n }\r\n else {\r\n url = ip + \"/api/MessageTest\";\r\n }\r\n }\r\n else {\r\n url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n }\r\n\r\n\r\n let end;\r\n let start = Date.now();\r\n fetch(url, {\r\n method: operation == 'try' ? 'POST' : this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`,\r\n 'lang': 'ar'\r\n },\r\n body: operation == 'try' ? JSON.stringify(body) : this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n if (this.state.errors.length === 0) {\r\n // window.history.back();\r\n }\r\n\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (response.data.data) {\r\n me.setState(\r\n {\r\n data: response.data.data[0],\r\n entity: response.data.data[0],\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n } else {\r\n\r\n me.setState(\r\n {\r\n data: response.data,\r\n entity: response.data,\r\n rowsTotal: response.data.listCount,\r\n loading: false,\r\n modalUpdated: false\r\n }\r\n );\r\n }\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n\r\n }\r\n // A method for Updating an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\n Action(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.EntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ errors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ errors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'action', then);\r\n // window.history.back();\r\n }\r\n }\r\n tryService(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'}\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ errors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ errors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'try', then);\r\n // window.history.back();\r\n }\r\n }\r\n\r\n AddToTextValue(backName, value) {\r\n\r\n let newValue = this.state.entity[backName] ? this.state.entity[backName] : '';\r\n newValue = newValue + value\r\n this.ChangeEntityState('entity', backName, newValue)\r\n }\r\n trySMS(tryPhone) {\r\n let token = Cookie.get('token');\r\n\r\n fetch('http://www.jawalsms.net/httpSmsProvider.aspx?username=' + this.state.data.userName + '&password=' + this.state.data.password +\r\n '&mobile=' + tryPhone + '&unicode=' + \"E\" + '&message=' + \"ًWelcom Apex\" + '&sender=' + this.state.data.senderName, { mode: 'no-cors'}, {\r\n method: 'GET',\r\n })\r\n .then(response => {\r\n })\r\n .catch(error => console.error('Unable to Check.', error));\r\n }\r\n render() {\r\n let Path = this.props.path.map((folder, i) => i === this.props.path.length - 1 ?\r\n {folder.title}\r\n : {folder.title});\r\n\r\n let EntityProperties = this.props.EntityProps.map(\r\n (prop, i) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n\r\n case 'info':\r\n return (\r\n
\r\n
\r\n {prop.label}\r\n
\r\n

:

\r\n
{this.state.entity[prop.backName]}
\r\n
\r\n );\r\n case 'textarea':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n
\r\n this.AddToTextValue(prop.backName, value)}\r\n />\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n
\r\n\r\n ]}\r\n />\r\n );\r\n case 'number':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'file':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.entity[this.props.EntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.entity[this.props.EntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.entity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'staticSelect':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.entity[prop.backName])}\r\n options={prop.items}\r\n onChange={(value) => this.ChangeEntityState('entity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n )\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', name, value)}\r\n onText={'نعم'}\r\n offText={'لا'}\r\n height={30}\r\n width={70}\r\n onHandleColor=\"#70c767\"\r\n onColor=\"#e1fcde\"\r\n // uncheckedIconWidth=\"80px\"\r\n // uncheckedIconMarginLeft=\"-38px\"\r\n checkedIconMarginLeft=\"10px\"\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.entity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('entity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.entity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('entity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('entity', prop.backName, value)}\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

{this.props.title}

\r\n
\r\n {\r\n this.state.errors ?\r\n this.state.errors.length > 0 ?\r\n (\r\n \r\n
    \r\n {this.state.errors.map((error) =>
  • {error}
  • )}\r\n
\r\n
\r\n )\r\n :\r\n null\r\n :\r\n null\r\n }\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n\r\n {this.state.entity.trial ?\r\n
\r\n

أنت الآن في الفترة التجريبيه

\r\n

هل تريد الحصول علي مزايا اكثر ؟

\r\n
\r\n :\r\n\r\n EntityProperties\r\n }\r\n\r\n
\r\n
\r\n {this.state.pageName == 'planEdites' ?\r\n this.state.entity.trial ?\r\n \r\n\r\n :\r\n
\r\n \r\n \r\n
\r\n\r\n :\r\n {\r\n this.Action(this.state.entity)\r\n var scrollTop = $('.myalert')?.offset().top;\r\n $(window).scrollTop(scrollTop);\r\n if ($(\".Alert\").hasClass('d-none')) {\r\n $(\".Alert\").removeClass('d-none');\r\n }\r\n setTimeout(() => {\r\n if (this.state.errors.length <= 0)\r\n window.history.back()\r\n }, 2000)\r\n }}\r\n >\r\n حفظ\r\n \r\n }\r\n\r\n
\r\n
\r\n {this.props.routUnregistered ?\r\n \r\n إلغاء\r\n :\r\n 1 ? this.props.path[this.props.path.length - 2].path : this.props.path[0].path}\r\n className=\"btn oval 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 this.props.pageName == 'smsEdites' ?\r\n
\r\n
\r\n
تجربة رسائل الهاتف
\r\n
\r\n { }}\r\n />\r\n ]}\r\n />\r\n
\r\n {\r\n this.trySMS(this.state.tryPhone)\r\n var scrollTop = $('.myalert')?.offset().top;\r\n $(window).scrollTop(scrollTop);\r\n if ($(\".Alert\").hasClass('d-none')) {\r\n $(\".Alert\").removeClass('d-none');\r\n }\r\n }}\r\n >\r\n ارسال\r\n \r\n
\r\n
\r\n\r\n :\r\n this.props.pageName == 'emailEdites' ?
\r\n
\r\n
تجربة رسائل البريد
\r\n
\r\n {\r\n this.setState({ tryEmail: value })\r\n }}\r\n />\r\n ]}\r\n />\r\n
\r\n {\r\n this.tryService(this.state.tryEmail)\r\n var scrollTop = $('.myalert')?.offset().top;\r\n $(window).scrollTop(scrollTop);\r\n if ($(\".Alert\").hasClass('d-none')) {\r\n $(\".Alert\").removeClass('d-none');\r\n }\r\n }}\r\n >\r\n ارسال\r\n \r\n
\r\n
: null}\r\n\r\n\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default ModalPageAr;","\r\n/* eslint-disable eqeqeq */\r\nimport React from 'react';\r\nimport { Link } from \"react-router-dom\";\r\nimport Table from './../Table/Table';\r\nimport Cookie from \"js-cookie\";\r\nimport Modal from './../Modal/Modal';\r\nimport PageHeaderAr from '../PageHeaderAr/PageHeaderAr';\r\nimport Loading from '../Loading/Loading';\r\nimport ToggleSwitch from '../ToggleSwitch/ToggleSwitch';\r\nimport Exceptions from '../Exceptions/Exceptions';\r\nimport Overlay from '../Overlay/Overlay';\r\nimport ShiftEndNextDay from '../ShiftEndNextDay/ShiftEndNextDay';\r\nimport TextInput from '../TextInput/TextInput';\r\nimport Dropdown from '../Dropdown/Dropdown';\r\nimport SelectShift from '../SelectShift/SelectShift';\r\nimport PermissionTypes from '../PermissionTypes/PermissionTypes';\r\nimport Field from '../Field/Field';\r\n// import { upLayer, downLayer } from '../MainLayout/MainLayout';\r\n\r\n// To use testing local data instead of server data\r\nimport { testBranches } from './../../data/testData/Branches';\r\nimport Alert from './../Alert/Alert';\r\n\r\nclass MessagesSettings extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n readEntity: props.read.body ? props.read.body : props.read.path,\r\n updateEntity: props.update.body,\r\n data: [],\r\n }\r\n\r\n }\r\n\r\n // Styling:\r\n // ========\r\n showModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: true });\r\n // sideNav.style.overflow = \"visible\";\r\n mainLayout.style.overflow = \"visible\";\r\n }\r\n\r\n hideModal(modalName) {\r\n // const sideNav = document.querySelector(\"#sideNav\");\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n this.setState({ [modalName]: false });\r\n // sideNav.style.overflow = \"auto\";\r\n // mainLayout.style.overflow = \"auto\";\r\n\r\n // return the Modal elements to the default State\r\n if (modalName === 'add') {\r\n const entity = this.state.createEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n if (field.label === 'Active') {\r\n entity[field.backName] = true;\r\n } else {\r\n entity[field.backName] = false;\r\n }\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n if (field.type === 'exceptions') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = false;\r\n }\r\n }\r\n if (field.type === 'selectShift') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n if (field.type === 'permissionType') {\r\n let backNames = [];\r\n for (const backName of field.backName) {\r\n backNames.push(backName);\r\n }\r\n for (const backName of backNames) {\r\n entity[backName] = '';\r\n }\r\n }\r\n }\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'search') {\r\n const entity = this.state.createEntity;\r\n entity[this.props.modalBackName] = [];\r\n this.setState({ createEntity: entity, createErrors: [] })\r\n } else if (modalName === 'edit') {\r\n const entity = this.state.updateEntity;\r\n for (let field of this.props.createEntityProps) {\r\n if (field.type === 'text' || field.type === 'email' || field.type === 'select' || field.type === 'date' || field.type === 'time' || field.type === 'password') {\r\n entity[field.backName] = '';\r\n }\r\n if (field.type === 'checkbox') {\r\n entity[field.backName] = true;\r\n }\r\n if (field.type === 'shiftEndNextDay') {\r\n entity[field.backName[0]] = false;\r\n entity[field.backName[1]] = '';\r\n }\r\n }\r\n this.setState({ updateEntity: entity, updateErrors: [] })\r\n }\r\n }\r\n // ========\r\n\r\n componentDidMount() {\r\n // Read Data from the Database and Display it\r\n if (this.props.permissions !== null) {\r\n this.Read(this.state.readEntity);\r\n } else {\r\n let me = this;\r\n setTimeout(function () {\r\n me.componentDidMount();\r\n }, 1000);\r\n }\r\n // To rise Lists Component up:\r\n // const lists = document.querySelector(\"#lists\");\r\n // lists.addEventListener(\"mouseenter\", () => { downLayer(); });\r\n // lists.addEventListener(\"mouseleave\", () => { upLayer(); });\r\n }\r\n\r\n // A method for changing the entity properties,\r\n // inputs:\r\n // state = Name of the entity, e.g: createEntity, updateEntity ... \r\n // name = Name of the property, e.g: createEntity.nameAr, updateEntity.nameEn ... \r\n // value = value of the property, e.g: createEntity.nameAr = 'أحمد', updateEntity.nameEn = 'Ahmad'... \r\n ChangeEntityState(state, name, value) {\r\n let tempEntity = this.state[state];\r\n tempEntity[name] = value;\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n AddPermission(state, pageId, permissionId) {\r\n let tempEntity = this.state[state];\r\n if (tempEntity.pagePermissions.find(page => page.pageId === pageId)) {\r\n if (!tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.find(id => id === permissionId)) {\r\n tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.push(permissionId);\r\n }\r\n } else {\r\n tempEntity.pagePermissions.push({\r\n \"pageId\": pageId,\r\n \"permissionIds\": [\r\n permissionId\r\n ]\r\n });\r\n }\r\n this.setState({ [state]: tempEntity });\r\n }\r\n\r\n SelectAllPermissions() {\r\n let tempEntity = { \"groupId\": this.props.params.groupId, \"pagePermissions\": [] };\r\n for (const page of this.state.data) {\r\n tempEntity.pagePermissions.push({\r\n \"pageId\": page.id,\r\n \"permissionIds\": [\r\n 1, 2, 3, 4, 5\r\n ]\r\n });\r\n }\r\n this.setState({ updateEntity: tempEntity });\r\n\r\n }\r\n\r\n RemovePermission(state, pageId, permissionId) {\r\n let tempEntity = this.state[state];\r\n tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds = tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.filter(id => id !== permissionId);\r\n\r\n if (tempEntity.pagePermissions.find(page => page.pageId === pageId).permissionIds.length === 0) {\r\n tempEntity.pagePermissions = tempEntity.pagePermissions.filter(page => page.pageId !== pageId)\r\n }\r\n\r\n this.setState({ [state]: tempEntity });\r\n }\r\n // A method for changing the state,\r\n // inputs:\r\n // key = Name of the state\r\n // value = value of the state\r\n ChangeState(key, value) {\r\n this.setState({ [key]: value });\r\n }\r\n\r\n // A method for Validating the user inputs before Creating or Updating,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating or Updating, e.g: current createEntity.\r\n // output:\r\n // Array of errors if exist, otherwise an empty Array\r\n Validation(entity) {\r\n let errors = [];\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.validation) {\r\n if (prop.validation.includes('Required')) {\r\n if (!entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('ConditionalReq')) {\r\n if (entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('orReq')) {\r\n if (!entity[prop.RequiredCondition] && !entity[prop.backName]) {\r\n errors = errors.concat(prop.label + ' field is Required.');\r\n }\r\n }\r\n if (prop.validation.includes('from')) {\r\n let toProp = this.props.createEntityProps.find(prop => prop.validation.includes('to'));\r\n if ((Date.parse(entity[prop.backName]) > Date.parse(entity[toProp[4]]))) {\r\n errors = errors.concat(prop.label + ' field Should be less than or equal to \"' + toProp[0] + '\" field.');\r\n }\r\n }\r\n if (prop.validation.includes('to')) {\r\n let fromProp = this.props.createEntityProps.find(prop => prop.validation.includes('from'));\r\n\r\n if (Date.parse(entity[prop.backName]) < Date.parse(entity[fromProp[4]])) {\r\n errors = errors.concat(prop.label + ' field Should be greater than or equal to \"' + fromProp[0] + '\" field.');\r\n }\r\n }\r\n }\r\n\r\n if (prop.type === 'email') {\r\n let mailformat = /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/;\r\n if (entity[prop.backName] && !entity[prop.backName].match(mailformat)) {\r\n errors = errors.concat(prop.label + ' field should be a valid email address.');\r\n }\r\n }\r\n if (prop.type === 'shiftEndNextDay') {\r\n if (entity[prop.backName[0]]) {\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Day end time field is Required.');\r\n }\r\n }\r\n }\r\n if (prop.type === 'selectShift') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Employee field is Required.');\r\n }\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Date field is Required.');\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Selecting a Shift is Required.');\r\n }\r\n if (entity[prop.backName[2]] === 'open') {\r\n entity[prop.backName[2]] = '';\r\n }\r\n }\r\n if (prop.type === 'permissionType') {\r\n if (!entity[prop.backName[0]]) {\r\n errors = errors.concat('Permission Type field is Required.');\r\n } else {\r\n let timeIn;\r\n let timeOut;\r\n let shiftIn;\r\n let shiftOut;\r\n let time;\r\n switch (entity[prop.backName[0]]) {\r\n case 1:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[1]].split(':');\r\n timeIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeIn >= shiftIn && timeIn <= shiftOut)) {\r\n errors = errors.concat('Permission Time In Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n } else {\r\n if (entity.periodShiftId) {\r\n time = entity[prop.backName[2]].split(':');\r\n timeOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).inTime.split(':');\r\n shiftIn = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n time = this.state.shiftsData.find(shift => shift.periodShiftId === entity.periodShiftId).outTime.split(':');\r\n shiftOut = new Date(2000, 1, 1, Number.parseInt(time[0]), Number.parseInt(time[1]));\r\n\r\n if (!(timeOut >= shiftIn && timeOut <= shiftOut)) {\r\n errors = errors.concat('Permission Time Out Value should be between Shift Time In and Shift Time Out.');\r\n }\r\n }\r\n }\r\n\r\n break;\r\n case 2:\r\n if (!entity[prop.backName[1]]) {\r\n errors = errors.concat('Time In field is Required.');\r\n }\r\n break;\r\n case 3:\r\n if (!entity[prop.backName[2]]) {\r\n errors = errors.concat('Time Out field is Required.');\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n // A method for making a fetch Request,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating, Reading, Updating, or Deleting, e.g: current deleteEntity...\r\n // token = the JWT Barear Authorization token.\r\n // operation = the operation that will be done against the entity, e.g: create, read, update, or delete\r\n // then = the method that will be executed when we receive the response\r\n Fetch(entity, token, operation, then) {\r\n let url = this.props[operation].path ?\r\n this.props[operation].url + '/' + Object.keys(entity).map((key) => entity[key]).join('/')\r\n :\r\n this.props[operation].query ?\r\n this.props[operation].body ?\r\n this.props[operation].url + '?' + Object.keys(this.props[operation].query).map((key) => key + '=' + this.props[operation].query[key]).join('&')\r\n :\r\n this.props[operation].url + '?' + Object.keys(entity).map((key) => key + '=' + entity[key]).join('&')\r\n :\r\n this.props[operation].url;\r\n\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n fetch(url, {\r\n method: this.props[operation].verb,\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: this.props[operation].body ? JSON.stringify(entity) : null\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n let me = this;\r\n then(response, me);\r\n })\r\n .catch(error => console.error('Unable to ' + operation + '.', error));\r\n }\r\n\r\n // A method for Creating a new entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Creating (current createEntity)\r\n Create(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ createErrors: errors });\r\n\r\n //if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n if (me.props.useSearchModal) {\r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n if (me.props.useSearchModal) {\r\n me.hideModal('search');\r\n }\r\n me.hideModal('add');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ createErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'create', then);\r\n }\r\n }\r\n\r\n // A method for Reading data from Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server in the reaquest body (readEntity)\r\n Read(entity) {\r\n if (this.props.permissions?.data.find(permission => permission.nameEn === 'Get')) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n console.log(token);\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.setState({ loading: false, data: response.data });\r\n\r\n } else {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'read', then);\r\n }\r\n }\r\n\r\n // A method for Updating an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Updating (current updateEntity)\r\n Update(entity) {\r\n // Trimming the 'text' user inputs ' ahmed ' => 'ahmed'\r\n for (let prop of this.props.createEntityProps) {\r\n if (prop.type === 'text') {\r\n entity[prop.backName] = entity[prop.backName] ? entity[prop.backName].toString().trim() : '';\r\n }\r\n }\r\n\r\n let errors = this.Validation(entity);\r\n\r\n this.setState({ updateErrors: errors });\r\n\r\n // if there is any validation error don't proceed\r\n if (errors.length === 0) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('edit');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n errors.push(response.message);\r\n me.setState({ updateErrors: errors, loading: false });\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'update', then);\r\n }\r\n }\r\n\r\n // A method for Deleting an existing entity in the Database,\r\n // inputs:\r\n // entity = the entity that will be sent to the Server for Delete (current deleteEntity)\r\n Delete(entity) {\r\n this.setState({ loading: true });\r\n let token = Cookie.get('token');\r\n let then = (response, me) => {\r\n if (response.status === 200 || response.success) {\r\n if (response.success) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'success' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n me.Read(me.state.readEntity);\r\n } else {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n } else {\r\n if (response.message) {\r\n me.hideModal('delete');\r\n me.setState({ message: { text: response.message, style: 'danger' }, loading: false });\r\n setTimeout(function () { me.setState({ message: { text: '', style: '' } }); }, 10000);\r\n }\r\n console.error(response);\r\n }\r\n }\r\n this.Fetch(entity, token, 'delete', then);\r\n }\r\n\r\n // A method for getting the data of the selected row and putting it in the updateEntity,\r\n // inputs:\r\n // id = Selected row ID\r\n GetForUpdate(id) {\r\n let tempEntity = this.state.updateEntity;\r\n for (let prop in tempEntity) {\r\n tempEntity[prop] = this.state.data.find(item => item.id === id) ? this.state.data.find(item => item.id === id)[prop] === undefined ? tempEntity[prop] : this.state.data.find(item => item.id === id)[prop] : this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop] === undefined ? tempEntity[prop] : this.state.data.find(item => item[Object.keys(item)[0]] === id)[prop];\r\n }\r\n this.setState({ updateEntity: tempEntity });\r\n }\r\n\r\n // A method for getting the id of the selected row and putting it in the deleteEntity,\r\n // inputs:\r\n // id = Selected row ID\r\n GetIdForDelete(id) {\r\n let tempEntity = this.state.deleteEntity;\r\n if (Array.isArray(tempEntity[Object.keys(tempEntity)[0]])) {\r\n tempEntity[Object.keys(tempEntity)[0]] = [id];\r\n } else {\r\n tempEntity[Object.keys(tempEntity)[0]] = id;\r\n }\r\n this.setState({ deleteEntity: tempEntity });\r\n }\r\n\r\n // A method for getting the select items from the Database,\r\n // inputs:\r\n // url = Web API Service url\r\n // body = Request body\r\n // name = the name of the state that the data will be stored in\r\n GetSelect(url, body, name) {\r\n let token = Cookie.get('token');\r\n fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(body)\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n if (response.success) {\r\n this.setState({ [name]: response.data.data });\r\n } else {\r\n console.error(response.message);\r\n }\r\n })\r\n .catch(error => console.error('Unable to Read.', error));\r\n }\r\n\r\n render() {\r\n let me = this;\r\n let tableRawData = this.state.data;\r\n let updatedData = this.state.data;\r\n let cheackAll, cheackRow1, cheackRow2, cheackRow3, cheackRow4, cheackRow5;\r\n\r\n // if the tableRawData length changed because of the search, update the rowsTotal for Paging\r\n if (tableRawData.length != this.state.rowsTotal) {\r\n this.setState({ rowsTotal: tableRawData.length })\r\n }\r\n if (this.state.data) {\r\n cheackRow1 = this.state.data.isLateTime;\r\n cheackRow2 = this.state.data.isAlertLateWithEmail && this.state.data.isAlertLateWithSMS;\r\n cheackRow3 = this.state.data.isAlertAbsentWithEmail && this.state.data.isAlertAbsentWithSMS;\r\n cheackRow4 = this.state.data.isAlertPermissionWithEmail && this.state.data.isAlertpermissionWithSMS;\r\n cheackRow5 = this.state.data.isAlertVocationWithEmail && this.state.data.isAlertVocationWithSMS;\r\n cheackAll = cheackRow1 && cheackRow2 && cheackRow3 && cheackRow4 && cheackRow5\r\n }\r\n\r\n // Creating the Breadcrumb links\r\n let Path = this.props.path.map((folder) => {folder.title});\r\n\r\n // Creating Table Headers\r\n let TableHeaders = this.props.columns.map((column) => column.selection ?\r\n
\r\n :\r\n )\r\n ;\r\n\r\n // First get the specified page of data then displays it properly\r\n let TableData = []\r\n // .slice(((this.state.rowsNumber * this.state.currentPage) - this.state.rowsNumber), (this.state.rowsNumber * this.state.currentPage))\r\n TableData.push(\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n );\r\n TableData.push(\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n );\r\n TableData.push(\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n )\r\n TableData.push(\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n )\r\n TableData.push(\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n )\r\n\r\n\r\n\r\n\r\n\r\n // Creating Add Modal Fields\r\n let CreateEntityProperties = this.props.createEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.createEntity[this.props.createEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.createEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n // this.ChangeEntityState('createEntity', name, value)}\r\n // onText={'Yes'}\r\n // offText={'No'}\r\n // height={30}\r\n // width={125}\r\n // // uncheckedIconWidth=\"80px\"\r\n // // uncheckedIconMarginLeft=\"-38px\"\r\n // checkedIconMarginLeft=\"10px\"\r\n // />\r\n this.ChangeEntityState('createEntity', name, value.currentTarget.checked)} />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.createEntity[backName])\r\n }\r\n\r\n items = this.state.createEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'All Day', value: 4 }\r\n ];\r\n return (\r\n this.ChangeEntityState('createEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('createEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n }\r\n }\r\n );\r\n\r\n let UpdateEntityProperties;\r\n\r\n // if there is an Update operation in this page, Create Edit Modal Fields\r\n if (!this.props.noEdit) {\r\n UpdateEntityProperties = this.props.updateEntityProps.map(\r\n (prop) => {\r\n let backNames;\r\n let values;\r\n let items;\r\n switch (prop.type) {\r\n case 'text':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'email':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'date':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'time':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value + \":00\")}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'password':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'select':\r\n if (prop.label === 'Management') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(management => management.branchId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Branch').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Department') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].filter(department => department.administrationId === this.state.updateEntity[this.props.updateEntityProps.find(prop => prop.label === 'Management').backName]).map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n } else if (prop.label === 'Employee') {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n } else {\r\n items = this.state[prop.label] === undefined ?\r\n []\r\n :\r\n this.state[prop.label].map((item) => { return { label: item[prop.item.label], value: item[prop.item.value] } });\r\n }\r\n\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n item.value === this.state.updateEntity[prop.backName])}\r\n options={items}\r\n onChange={(value) => this.ChangeEntityState('updateEntity', prop.backName, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'checkbox':\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n // this.ChangeEntityState('updateEntity', name, value.currentTarget.checked)}\r\n // onText={'Yes'}\r\n // offText={'No'}\r\n // height={30}\r\n // width={125}\r\n // // uncheckedIconWidth=\"80px\"\r\n // // uncheckedIconMarginLeft=\"-38px\"\r\n // checkedIconMarginLeft=\"10px\"\r\n // />\r\n this.ChangeEntityState('updateEntity', name, value.currentTarget.checked)} />\r\n ]}\r\n />\r\n );\r\n case 'exceptions':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'shiftEndNextDay':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'selectShift':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n items = this.state[prop.label] === undefined ? [] : this.state[prop.label].map((item) => { return { label: item.employeeCode + ': ' + item[prop.item.label], value: item[prop.item.value] } });\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n parent={this}\r\n />\r\n ]}\r\n />\r\n );\r\n case 'permissionType':\r\n backNames = [];\r\n for (const backName of prop.backName) {\r\n backNames.push(backName);\r\n }\r\n values = [];\r\n for (const backName of backNames) {\r\n values.push(this.state.updateEntity[backName])\r\n }\r\n\r\n items = this.state.updateEntity.periodShiftId !== 'open' ?\r\n [\r\n { label: 'Temporary', value: 1 },\r\n { label: 'Late Attendance', value: 2 },\r\n { label: 'Early Leave', value: 3 },\r\n { label: 'All Day', value: 4 }\r\n ]\r\n :\r\n [\r\n { label: 'All Day', value: 4 }\r\n ];\r\n\r\n return (\r\n this.ChangeEntityState('updateEntity', name, value)}\r\n />\r\n ]}\r\n />\r\n );\r\n default:\r\n return (\r\n * : null, \":\"]}\r\n inputComponent={[\r\n this.ChangeEntityState('updateEntity', prop.backName, value)}\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 {/* startOverlayComponents */}\r\n\r\n \r\n \r\n \r\n {/* endOverlayComponents */}\r\n\r\n\r\n
\r\n this.showModal(name)}\r\n report={this.props.report}\r\n procedure={this.props.procedure}\r\n save={this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ') ? true : false}\r\n noCreate={!this.props.permissions?.data.find(permission => permission.nameEn === 'Edite ') ? true : false}\r\n Action={() => {\r\n if(this.state.data.alertLateTime == null){\r\n this.state.data.alertLateTime = '00:00'\r\n }\r\n this.Update(this.state.data)}}\r\n useSearchModal={this.props.useSearchModal ? true : false}\r\n // =====================\r\n />\r\n
\r\n {\r\n this.state.message ?\r\n this.state.message['text'] ?\r\n \r\n {this.state.message['text']}\r\n \r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n\r\n {/* {\r\n value = value > 1 ? value : 1;\r\n this.ChangeState(name, value);\r\n this.setState({ currentPage: 1 });\r\n }}\r\n total={this.state.rowsTotal}\r\n currentPage={this.state.currentPage}\r\n currentPageChange={(value) => this.setState({ currentPage: Number(value) })}\r\n /> */}\r\n
\r\n {\r\n updatedData.isAlertLateWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertLateWithSMS = value.currentTarget.checked;\r\n updatedData.isAlertAbsentWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertAbsentWithSMS = value.currentTarget.checked;\r\n updatedData.isAlertPermissionWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertpermissionWithSMS = value.currentTarget.checked;\r\n updatedData.isAlertVocationWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertVocationWithSMS = value.currentTarget.checked;\r\n updatedData.isLateTime = value.currentTarget.checked\r\n this.setState({ data: updatedData })\r\n }} />\r\n {column['name']}
\r\n {\r\n updatedData.isLateTime = value.currentTarget.checked\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n تنبيه التاخير لاكثر من\r\n \r\n {\r\n updatedData.alertLateTime = value;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n ]}\r\n />\r\n\r\n
\r\n {\r\n updatedData.isAlertLateWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertLateWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n تنبية الموظف بالتاخير عن طريق\r\n \r\n {\r\n updatedData.isAlertLateWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n {\r\n updatedData.isAlertLateWithEmail = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n \r\n الموظفين\r\n \r\n\r\n
\r\n {\r\n updatedData.isAlertAbsentWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertAbsentWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n تنبية الموظف بالغياب عن طريق\r\n \r\n {\r\n updatedData.isAlertAbsentWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n {\r\n updatedData.isAlertAbsentWithEmail = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n \r\n الموظفين\r\n \r\n
\r\n {\r\n updatedData.isAlertPermissionWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertpermissionWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n تنبية الموظف بالاذونات عن طريق\r\n \r\n {\r\n updatedData.isAlertpermissionWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n {\r\n updatedData.isAlertPermissionWithEmail = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n \r\n الموظفين\r\n \r\n
\r\n {\r\n updatedData.isAlertVocationWithEmail = value.currentTarget.checked;\r\n updatedData.isAlertVocationWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n تنبية الموظف بالاجازات عن طريق\r\n \r\n {\r\n updatedData.isAlertVocationWithSMS = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\n {\r\n updatedData.isAlertVocationWithEmail = value.currentTarget.checked;\r\n this.setState({ data: updatedData })\r\n }}\r\n />\r\n \r\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 MessagesSettings;\r\n","import React from 'react';\r\nimport './MainHeaderAr.css';\r\nimport logo from './apex-logo-white.png';\r\nimport { Link } from 'react-router-dom';\r\nimport Cookie from \"js-cookie\";\r\nimport Lists from './../Lists/Lists';\r\nimport ar from '../../ar.jpg'\r\nimport ReactTooltip from 'react-tooltip';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faEllipsisH, faEllipsisV\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport { Dropdown } from 'react-bootstrap';\r\nimport us from '../../us.png';\r\nimport avatar from '../../avatar.png';\r\n\r\nconst MainHeaderAr = () => {\r\n let currentUrl = window.location.hash;\r\n currentUrl = currentUrl.replace('/Ar/', '/En/');\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n LOGO\r\n \r\n
\r\n
\r\n

TA SOFTWARE

\r\n
\r\n
\r\n\r\n\r\n\r\n
    \r\n
  • \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
  • \r\n
  • \r\n {/* Change Language */}\r\n \r\n \r\n \"\"\r\n العربية \r\n \r\n\r\n \r\n {\r\n e.preventDefault()\r\n let currentUrl = window.location.hash;\r\n currentUrl = currentUrl.replace('/Ar/', '/En/');\r\n window.location.hash = currentUrl;\r\n }} >\r\n \"\"\r\n English \r\n \r\n {\r\n e.preventDefault()\r\n let currentUrl = window.location.hash;\r\n currentUrl = currentUrl.replace('/En/', '/Ar/');\r\n window.location.hash = currentUrl;\r\n }} >\r\n \"\"\r\n العربية \r\n \r\n \r\n \r\n\r\n
  • \r\n
  • \r\n \r\n \r\n 0\r\n \r\n
  • \r\n
  • \r\n \r\n \r\n 0\r\n \r\n
  • \r\n
  • \r\n \r\n {/* Username */}\r\n \r\n \r\n \"\"\r\n \r\n \r\n {\r\n e.preventDefault()\r\n }}>{Cookie.get('userName')}\r\n \r\n\r\n \r\n \r\n \r\n \r\n تغيير كلمة المرور\r\n \r\n \r\n \r\n {/* Logout clears token and username cookies and redirect to the current company login page */}\r\n \r\n {\r\n Cookie.set('token', '', { SameSite: 'Lax' });\r\n Cookie.set('userName', '', { SameSite: 'Lax' });\r\n }} className='en'>\r\n \r\n \r\n تسجيل الخروج\r\n \r\n \r\n \r\n \r\n \r\n\r\n
  • \r\n\r\n \r\n
\r\n
    \r\n
  • \r\n \r\n \r\n \"\"\r\n ع \r\n \r\n\r\n \r\n {\r\n e.preventDefault()\r\n let currentUrl = window.location.hash;\r\n currentUrl = currentUrl.replace('/Ar/', '/En/');\r\n window.location.hash = currentUrl;\r\n }} >\r\n \"\"\r\n English \r\n \r\n {\r\n e.preventDefault()\r\n let currentUrl = window.location.hash;\r\n currentUrl = currentUrl.replace('/En/', '/Ar/');\r\n window.location.hash = currentUrl;\r\n }} >\r\n \"\"\r\n العربية \r\n \r\n \r\n \r\n\r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {\r\n Cookie.set('token', '', { SameSite: 'Lax' });\r\n Cookie.set('userName', '', { SameSite: 'Lax' });\r\n }} className='en'>\r\n \r\n \r\n تسجيل الخروج\r\n \r\n \r\n \r\n \r\n \r\n\r\n
  • \r\n
\r\n
\r\n )\r\n}\r\nexport default MainHeaderAr;","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport './SideNav.css';\r\nimport { Link } from 'react-router-dom';\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport {\r\n faMoon,\r\n faCodeBranch, faBriefcase, faProjectDiagram, faGlobe, faTasks, faHourglass, faUserTie, faUserFriends, faPlane, faGamepad, faUserSecret, faDownload, faTv, faPlus, faExchangeAlt, faPowerOff, faPencilAlt, faEdit, faSmile, faInfo, faUsers, faIdCardAlt, faUserMinus, faLaptop, faChartLine, faSearchPlus, faQuestionCircle, faIdBadge, faAlignRight, faChevronDown, faChevronLeft, faBars, faHourglassEnd, faPuzzlePiece, faHandPaper, faListOl, faBusinessTime, faSchool, faStopCircle, faWalking, faBed, faStopwatch, faSignInAlt, faFileAlt, faUsersSlash, faBan\r\n} from \"@fortawesome/free-solid-svg-icons\";\r\nimport $ from 'jquery';\r\nconst toggleSubMenu = (e) => {\r\n const toggledMenu = e.currentTarget.nextElementSibling;\r\n toggledMenu.classList.toggle(\"visible\");\r\n}\r\n\r\n\r\nconst SideNavAr = ({ activatePage, toggleSideNav, hideSideNav, activePage, permissions }) => {\r\n let mywidth = document.getElementsByTagName('body')[0].offsetWidth;\r\n const toggleNav = () => {\r\n if (mywidth < 991) return toggleSideNav();\r\n }\r\n return (\r\n \r\n )\r\n}\r\nexport default SideNavAr;","import { API, ip } from './APIs';\r\nimport React from 'react';\r\n\r\nexport const Branches = {\r\n mainTitle: 'الفروع',\r\n title: 'الفروع',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'الرقم', type: 'number', backName: 'id' },\r\n { label: 'الفروع', type: 'text', backName: 'nameAr' }\r\n ],\r\n columns: [\r\n // {\r\n // name: 'الرقم',\r\n // backName: 'id'\r\n // },\r\n {\r\n name: 'الفروع',\r\n backName: 'nameAr',\r\n link: { to: '/Ar/TAW/Main/Managements/', routeValues: ['id', 'nameAr'] }\r\n },\r\n {\r\n name: 'المدير',\r\n backName: 'managerName'\r\n },\r\n {\r\n name: 'الموظفون',\r\n backName: 'employeesCount'\r\n },\r\n {\r\n name: 'الإدارات',\r\n backName: 'administrationsCount'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'المدير', type: 'select', validation: '', style: 'col-lg-6', backName: 'managerId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'المدير', type: 'select', validation: '', style: 'col-lg-6', backName: 'managerId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n deleteMessage: 'All Related Managements and Departments will be Deleted, Are you sure you want to Delete this Branch?',\r\n create: {\r\n url: API.Branches.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Branches.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": '',\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Branches.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Branches.delete,\r\n query: {\r\n branchId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const BranchesAr = {\r\n mainTitle: 'الفروع',\r\n title: 'الفروع',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'الرقم', type: 'number', backName: 'id' },\r\n { label: 'الفرع', type: 'text', backName: 'nameAr' }\r\n ],\r\n columns: [\r\n // {\r\n // name: 'الرقم',\r\n // backName: 'id'\r\n // },\r\n {\r\n name: 'الفرع',\r\n backName: 'nameAr',\r\n link: { to: '/Ar/TAW/Main/Managements/', routeValues: ['id', 'nameAr'] }\r\n },\r\n {\r\n name: 'المدير',\r\n backName: 'managerName'\r\n },\r\n {\r\n name: 'الموظفون',\r\n backName: 'employeesCount'\r\n },\r\n {\r\n name: 'الإدارات',\r\n backName: 'administrationsCount'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'المدير', type: 'select', validation: '', style: '', backName: 'managerId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'المدير', type: 'select', validation: '', style: '', backName: 'managerId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n deleteMessage: 'All Related Managements and Departments will be Deleted, Are you sure you want to Delete this Branch?',\r\n create: {\r\n url: API.Branches.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Branches.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Branches.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Branches.delete,\r\n query: {\r\n branchId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const Jobs = {\r\n mainTitle: 'الوظائف',\r\n title: 'الوظائف',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'الرقم', type: 'number', backName: 'id' },\r\n { label: 'الإسم', type: 'text', backName: 'nameAr' }\r\n ],\r\n columns: [\r\n // {\r\n // name: 'الرقم',\r\n // backName: 'id'\r\n // },\r\n {\r\n name: 'الإسم',\r\n backName: 'nameAr'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.Jobs.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Jobs.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": '',\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Jobs.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Jobs.delete,\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const Projects = {\r\n mainTitle: 'المشاريع',\r\n title: 'المشاريع',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'الرقم', type: 'number', backName: 'id' },\r\n { label: 'الإسم', type: 'text', backName: 'nameAr' }\r\n ],\r\n columns: [\r\n // {\r\n // name: 'الرقم',\r\n // backName: 'id'\r\n // },\r\n {\r\n name: 'الإسم',\r\n backName: 'nameAr'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.Projects.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Projects.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": '',\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Projects.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Projects.delete,\r\n query: {\r\n projectId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const Nationalities = {\r\n mainTitle: 'الجنسيات',\r\n title: 'الجنسيات',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'الرقم', type: 'number', backName: 'id' },\r\n { label: 'الإسم', type: 'text', backName: 'nameAr' }\r\n ],\r\n columns: [\r\n // {\r\n // name: 'الرقم',\r\n // backName: 'id'\r\n // },\r\n {\r\n name: 'الإسم',\r\n backName: 'nameAr'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.Nationalities.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Nationalities.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": '',\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Nationalities.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Nationalities.delete,\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const Tasks = {\r\n mainTitle: 'المهام',\r\n title: 'المهام',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'الرقم', type: 'number', backName: 'id' },\r\n { label: 'الإسم', type: 'text', backName: 'nameAr' }\r\n ],\r\n columns: [\r\n // {\r\n // name: 'الرقم',\r\n // backName: 'id'\r\n // },\r\n {\r\n name: 'الإسم',\r\n backName: 'nameAr'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.Tasks.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Tasks.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": '',\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Tasks.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Tasks.delete,\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const WorkingTime = {\r\n mainTitle: 'أوقات العمل',\r\n title: 'أوقات العمل',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'الرقم', type: 'number', backName: 'id' },\r\n { label: 'الإسم', type: 'text', backName: 'nameAr' }\r\n ],\r\n columns: [\r\n // { name: 'الرقم', backName: 'id' },\r\n { name: 'الإسم', backName: 'nameAr', link: { to: '/Ar/TAW/Main/WorkingTime/WorkingHours/', routeValues: ['id', 'isShiftOpen', 'nameAr'] } },\r\n { name: 'إجمالي الساعات', backName: 'totalHours' },\r\n { name: 'وقت انتهاء اليوم', backName: 'dayEndTime' },\r\n { name: 'دوام مفتوح', backName: 'isShiftOpen', boolean: true },\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'دوام مفتوح', type: 'checkbox', validation: '', style: 'col-lg-6', noFormCont: true, backName: 'isShiftOpen' },\r\n { label: ['الدوام ينتهي اليوم التالي', 'وقت انتهاء اليوم'], type: 'shiftEndNextDay', validation: 'col-lg-6', titleSize: 'col-sm-6 ', style: 'col-lg-6', backName: ['isEndNextDay', 'dayEndTime'], inputType: 'time' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'دوام مفتوح', type: 'checkbox', validation: '', style: 'col-lg-6', noFormCont: true, backName: 'isShiftOpen' },\r\n { label: ['الدوام ينتهي اليوم التالي', 'وقت انتهاء اليوم'], type: 'shiftEndNextDay', validation: '', titleSize: 'col-sm-6 ', style: 'col-lg-6', backName: ['isEndNextDay', 'dayEndTime'], inputType: 'time' }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.Shifts.create,\r\n body: {\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"isShiftOpen\": false,\r\n \"isEndNextDay\": false,\r\n \"dayEndTime\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Shifts.search,\r\n body: {\r\n \"pageSize\": 10,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"id\": '',\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Shifts.update,\r\n body: {\r\n id: '',\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"isShiftOpen\": false,\r\n \"isEndNextDay\": false,\r\n \"dayEndTime\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Shifts.delete,\r\n query: {\r\n hoursId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const Employees = {\r\n mainTitle: 'الموظفون',\r\n title: 'الموظفون',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'الكود', type: 'number', backName: 'employeeCode' },\r\n { label: 'الاسم', type: 'text', backName: 'nameAr' },\r\n {\r\n label: 'الفرع', type: 'select', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'adminstratId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n columns: [\r\n { name: 'الكود', backName: 'employeeCode' },\r\n { name: 'الاسم', backName: 'nameAr' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'نشط', backName: 'active', boolean: true },\r\n\r\n\r\n ],\r\n createEntityProps: [\r\n { label: 'الكود', type: 'number', validation: 'Required', style: 'col-lg-5 pl-0 ml-5', backName: 'employeeCode' },\r\n { label: 'نشط', type: 'checkbox', validation: '', style: 'col-lg-6', noFormCont: true, backName: 'active' },\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'الفرع', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', validation: '', style: 'col-lg-6', backName: 'adminstratId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', validation: '', style: 'col-lg-6', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', validation: '', style: 'col-lg-6', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', validation: '', style: 'col-lg-6', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n\r\n { label: 'رقم الهوية', type: 'text', validation: '', style: 'col-lg-6', backName: 'nationalityNumber' },\r\n { label: 'البريد الإلكتروني', type: 'email', validation: '', style: 'col-lg-6', backName: 'email' },\r\n {\r\n label: 'الجنسية', type: 'select', validation: '', style: 'col-lg-6', backName: 'nationalitiesId', url: ip + '/api/Nationalities/GetAllNationalitiesDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المهمة', type: 'select', validation: '', style: 'col-lg-6', backName: 'workTasksId', url: ip + '/api/WorkingTasks/GetAllTasksDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المشروع', type: 'select', validation: '', style: 'col-lg-6', backName: 'projectId', url: ip + '/api/Project/GetAllProjectsDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'رقم الهاتف', type: 'text', validation: '', style: 'col-lg-6', backName: 'phoneNumber' },\r\n {\r\n label: '', type: 'exceptions', validation: '', style: 'col-lg-12', backName: [\r\n 'provideDelayDiscountingOvertime',\r\n 'extraTimeBeforeWorking',\r\n 'extraTimeAfterWorking',\r\n 'addWorkingHoursOnHoliday',\r\n 'logOutWithoutFingerprint']\r\n }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الكود', type: 'number', validation: 'Required', style: 'col-lg-5 pl-0 ml-5', backName: 'employeeCode' },\r\n { label: 'نشط', type: 'checkbox', validation: '', style: 'col-lg-6', noFormCont: true, backName: 'active' },\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n {\r\n label: 'الفرع', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', validation: '', style: 'col-lg-6', backName: 'adminstratId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', validation: '', style: 'col-lg-6', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', validation: '', style: 'col-lg-6', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', validation: '', style: 'col-lg-6', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'رقم الهوية', type: 'text', validation: '', style: 'col-lg-6', backName: 'nationalityNumber' },\r\n { label: 'البريد الإلكتروني', type: 'email', validation: '', style: 'col-lg-6', backName: 'email' },\r\n {\r\n label: 'الجنسية', type: 'select', validation: '', style: 'col-lg-6', backName: 'nationalitiesId', url: ip + '/api/Nationalities/GetAllNationalitiesDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المهمة', type: 'select', validation: '', style: 'col-lg-6', backName: 'workTasksId', url: ip + '/api/WorkingTasks/GetAllTasksDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المشروع', type: 'select', validation: '', style: 'col-lg-6', backName: 'projectId', url: ip + '/api/Project/GetAllProjectsDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'رقم الهاتف', type: 'text', validation: '', style: 'col-lg-6', backName: 'phoneNumber' },\r\n {\r\n label: '', type: 'exceptions', validation: '', style: 'col-lg-12', backName: [\r\n 'provideDelayDiscountingOvertime',\r\n 'extraTimeBeforeWorking',\r\n 'extraTimeAfterWorking',\r\n 'addWorkingHoursOnHoliday',\r\n 'logOutWithoutFingerprint']\r\n }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: ip + '/api/Employee/AddEmployee',\r\n body: {\r\n \"employeeCode\": '',\r\n \"nameEn\": '',\r\n \"nameAr\": '',\r\n \"phoneNumber\": '',\r\n \"placeStay\": '',\r\n \"nationalityNumber\": '',\r\n \"email\": '',\r\n \"branchId\": '',\r\n \"departmentId\": '',\r\n \"adminstratId\": '',\r\n \"jobId\": '',\r\n \"groupId\": '',\r\n \"projectId\": '',\r\n \"nationalitiesId\": '',\r\n \"workTasksId\": '',\r\n \"shiftId\": '',\r\n \"extraTimeAfterWorking\": false,\r\n \"extraTimeBeforeWorking\": false,\r\n \"addWorkingHoursOnHoliday\": false,\r\n \"logOutWithoutFingerprint\": false,\r\n \"provideDelayDiscountingOvertime\": false,\r\n \"active\": true\r\n },\r\n verb: 'POST'\r\n },\r\n createUnrigestered: {\r\n url: ip + '/api/Employee/AddEmployee',\r\n body: {\r\n \"employeeCode\": '',\r\n \"nameEn\": '',\r\n \"nameAr\": '',\r\n \"phoneNumber\": '',\r\n \"placeStay\": '',\r\n \"nationalityNumber\": '',\r\n \"email\": '',\r\n \"branchId\": '',\r\n \"departmentId\": '',\r\n \"adminstratId\": '',\r\n \"jobId\": '',\r\n \"groupId\": '',\r\n \"projectId\": '',\r\n \"nationalitiesId\": '',\r\n \"workTasksId\": '',\r\n \"shiftId\": '',\r\n \"extraTimeAfterWorking\": false,\r\n \"extraTimeBeforeWorking\": false,\r\n \"addWorkingHoursOnHoliday\": false,\r\n \"logOutWithoutFingerprint\": false,\r\n \"provideDelayDiscountingOvertime\": false,\r\n \"active\": true\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Employees.search,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"employeeCode\": '',\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"phoneNumber\": \"\",\r\n \"placeStay\": \"\",\r\n \"email\": \"\",\r\n \"branchId\": 0,\r\n \"departmentId\": 0,\r\n \"adminstratId\": 0,\r\n \"jobId\": 0,\r\n \"projectId\": 0,\r\n \"shiftId\": 0,\r\n \"nationalitiesId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: ip + '/api/Employee/UpdateEmployee',\r\n body: {\r\n \"id\": '',\r\n \"employeeCode\": '',\r\n \"nameEn\": '',\r\n \"nameAr\": '',\r\n \"phoneNumber\": '',\r\n \"placeStay\": '',\r\n \"nationalityNumber\": '',\r\n \"email\": '',\r\n \"branchId\": '',\r\n \"departmentId\": '',\r\n \"adminstratId\": '',\r\n \"jobId\": '',\r\n \"groupId\": '',\r\n \"projectId\": '',\r\n \"nationalitiesId\": '',\r\n \"workTasksId\": '',\r\n \"shiftId\": '',\r\n \"extraTimeAfterWorking\": false,\r\n \"extraTimeBeforeWorking\": false,\r\n \"addWorkingHoursOnHoliday\": false,\r\n \"logOutWithoutFingerprint\": false,\r\n \"provideDelayDiscountingOvertime\": false,\r\n \"active\": false\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: ip + '/api/Employee/DeleteEmployee',\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const EmployeesGroups = {\r\n mainTitle: 'مجموعات الموظفين',\r\n title: 'مجموعات الموظفين',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'الرقم', type: 'number', backName: 'id' },\r\n { label: 'الإسم', type: 'text', backName: 'nameAr' },\r\n ],\r\n columns: [\r\n // {\r\n // name: 'الرقم',\r\n // backName: 'id'\r\n // },\r\n {\r\n name: 'الإسم',\r\n backName: 'nameAr'\r\n },\r\n {\r\n name: 'الموظفون',\r\n backName: '',\r\n link: { to: '/Ar/TAW/Main/EmployeesGroups/Employees/', routeValues: ['id', 'nameAr'], text: 'الموظفون' }\r\n },\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: ip + '/api/EmployeeGroups/AddEmployeeGroups',\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: ip + '/api/EmployeeGroups/SearchAndGetAllEmployeeGroups',\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": '',\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: ip + '/api/EmployeeGroups/UpdateEmployeeGroups',\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: ip + '/api/EmployeeGroups/DeleteEmployeeGroups',\r\n query: {\r\n EmployeeGroupId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const VacationsTypes = {\r\n mainTitle: 'أنواع الأجازات',\r\n title: 'أنواع الأجازات',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // { label: 'الرقم', type: 'number', backName: 'id' },\r\n { label: 'الإسم', type: 'text', backName: 'nameAr' }\r\n ],\r\n columns: [\r\n // {\r\n // name: 'الرقم',\r\n // backName: 'id'\r\n // },\r\n {\r\n name: 'الإسم',\r\n backName: 'nameAr'\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.VacationsTypes.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.VacationsTypes.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": '',\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.VacationsTypes.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.VacationsTypes.delete,\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const OfficialHolidays = {\r\n mainTitle: 'العطلات الرسمية',\r\n title: 'العطلات الرسمية',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n // // { label: 'الرقم', type: 'number', backName: 'id' },\r\n { label: 'الإسم', type: 'text', backName: 'nameAr' },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true },\r\n ],\r\n columns: [\r\n // { name: 'الرقم', backName: 'id' },\r\n { name: 'الإسم', backName: 'nameAr', link: { to: '/Ar/TAW/Main/OfficialHolidays/', routeValues: ['id', 'nameAr'] } },\r\n { name: 'من', backName: 'from' },\r\n { name: 'إلى', backName: 'to' },\r\n { name: 'المدة', backName: 'officialVacationTime' },\r\n {\r\n name: 'الحالة', backName: 'status',\r\n enum: [\r\n { value: '1', display: لم تبدأ بعد },\r\n { value: '2', display: بدأت },\r\n { value: '3', display: انتهت }\r\n ]\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'من', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'from' },\r\n { label: 'إلى', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'to' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'من', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'from' },\r\n { label: 'إلى', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'to' }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: ip + '/api/OfficialHolidays/AddOfficialHolidays',\r\n body: {\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"from\": \"\",\r\n \"to\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: ip + '/api/OfficialHolidays/SearchOfficialHolidays',\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": '',\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: ip + '/api/OfficialHolidays/UpdateOfficialHolidays',\r\n body: {\r\n \"id\": '',\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"from\": \"\",\r\n \"to\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: ip + '/api/OfficialHolidays/DeleteOfficialHolidays',\r\n query: {\r\n officialHolidaysId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\nexport const GetBranchTransactions = {\r\n mainTitle: 'سحب حركات الفروع',\r\n title: 'سحب حركات الفروع',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n columns: [\r\n {\r\n name: 'الحركات',\r\n backName: 'value'\r\n }\r\n ],\r\n actionEntityProps: [\r\n { label: 'من', type: 'date', validation: '', style: '', backName: 'from' },\r\n { label: 'إلى', type: 'date', validation: '', style: '', backName: 'to' },\r\n {\r\n label: 'الفروع', type: 'multiSelect', validation: '', style: '', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n }\r\n ],\r\n action: {\r\n url: ip + '/api/Transaction/ReadMachineTransaction',\r\n body: {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeCode\": 0\r\n },\r\n verb: 'POST',\r\n readAction: true\r\n }\r\n}\r\n\r\nexport const AddPermission = {\r\n mainTitle: 'إضافة إذن',\r\n title: 'إضافة إذن',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'نوع الإذن', type: 'staticSelect', backName: 'permissionType',\r\n items: [\r\n { label: 'مؤقت', value: 1 },\r\n { label: 'حضور متأخر', value: 2 },\r\n { label: 'انصراف مبكر', value: 3 },\r\n { label: 'يوم كامل', value: 4 }\r\n ]\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n columns: [\r\n {\r\n name: 'كود الموظف',\r\n backName: 'employeeCode'\r\n },\r\n {\r\n name: 'إسم الموظف',\r\n backName: 'employeeName'\r\n },\r\n {\r\n name: 'التاريخ',\r\n backName: 'permissionDate'\r\n },\r\n {\r\n name: 'الفرع',\r\n backName: 'branchName'\r\n },\r\n {\r\n name: 'الدوام',\r\n backName: 'shiftName'\r\n },\r\n {\r\n name: 'نوع الإذن',\r\n backName: 'permissionType',\r\n enum: [{ value: '1', display: 'مؤقت' }, { value: '2', display: 'حضور متأخر' }, { value: '3', display: 'انصراف مبكر' }, { value: '4', display: 'يوم كامل' }]\r\n },\r\n {\r\n name: 'الوردية',\r\n backName: 'sequence',\r\n enum:\r\n [\r\n { value: '1', display: 'الأولى' },\r\n { value: '2', display: 'الثانية' },\r\n { value: '3', display: 'الثالثة' },\r\n { value: '4', display: 'الرابعة' }\r\n\r\n ]\r\n },\r\n {\r\n name: 'وقت الحضور',\r\n backName: 'timingOfEnty'\r\n },\r\n {\r\n name: 'وقت الانصراف',\r\n backName: 'timingOfExit'\r\n }\r\n ],\r\n createEntityProps: [\r\n {\r\n label: '', type: 'selectShift', validation: '', style: 'col-lg-6',\r\n backName: ['employeeId', 'permissionDate', { 'periodShiftId': '', 'periodShiftSecondId': '', 'periodShiftThirdId': '', 'periodShiftFourthId': '' }], url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: '', type: 'permissionType', validation: '', style: 'col-lg-6', backName: ['permissionType', 'timingOfEnty', 'timingOfExit'] },\r\n { label: 'ملاحظات', type: 'text', validation: '', style: 'col-lg-6', backName: 'notes' }\r\n ],\r\n updateEntityProps: [\r\n {\r\n label: '', type: 'selectShift', validation: '', style: 'col-lg-6', backName: ['employeeId', 'permissionDate', { 'periodShiftId': '', 'periodShiftSecondId': '', 'periodShiftThirdId': '', 'periodShiftFourthId': '' }], url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: '', type: 'permissionType', validation: '', style: 'col-lg-6', backName: ['permissionType', 'timingOfEnty', 'timingOfExit'] },\r\n { label: 'ملاحظات', type: 'text', validation: '', style: 'col-lg-6', backName: 'notes' }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.AddPermission.create,\r\n body: {\r\n \"employeeId\": '',\r\n \"permissionType\": '',\r\n \"periodShiftId\": '',\r\n \"periodShiftSecondId\": '',\r\n \"periodShiftThirdId\": '',\r\n \"periodShiftFourthId\": '',\r\n \"permissionDate\": '',\r\n \"timingOfEnty\": '',\r\n \"timingOfExit\": '',\r\n \"notes\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.AddPermission.search,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": '',\r\n \"employeeId\": 0,\r\n \"employeeCode\": '',\r\n \"permissionType\": 0,\r\n \"branchName\": \"\",\r\n \"employeeName\": \"\",\r\n \"administrationName\": \"\",\r\n \"departmentName\": \"\",\r\n \"jobName\": \"\",\r\n \"groupName\": \"\",\r\n \"shiftName\": \"\",\r\n \"timingOfEnty\": \"\",\r\n \"timingOfExit\": \"\",\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": []\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.AddPermission.update,\r\n body: {\r\n \"id\": '',\r\n \"employeeId\": '',\r\n \"permissionType\": '',\r\n \"periodShiftId\": '',\r\n \"periodShiftSecondId\": '',\r\n \"periodShiftThirdId\": '',\r\n \"periodShiftFourthId\": '',\r\n \"permissionDate\": '',\r\n \"timingOfEnty\": '',\r\n \"timingOfExit\": '',\r\n \"notes\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.AddPermission.delete,\r\n query: {\r\n jobId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const AddVacation = {\r\n mainTitle: 'إضافة أجازة',\r\n title: 'إضافة أجازة',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeNumber' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'الفرع', type: 'select', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'adminstratId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'نوع الأجازة', type: 'select', backName: 'vocationId', url: API.VacationsTypes.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n columns: [\r\n {\r\n name: 'كود الموظف',\r\n backName: 'employeeNumber'\r\n },\r\n {\r\n name: 'إسم الموظف',\r\n backName: 'employeeName'\r\n },\r\n {\r\n name: 'الفرع',\r\n backName: 'branchName'\r\n },\r\n {\r\n name: 'نوع الأجازة',\r\n backName: 'vacationType'\r\n },\r\n {\r\n name: 'من',\r\n backName: 'dateFrom'\r\n },\r\n {\r\n name: 'إلى',\r\n backName: 'dateTo'\r\n },\r\n {\r\n name: 'المدة',\r\n backName: 'daysNumber'\r\n },\r\n {\r\n name: 'ملاحظات',\r\n backName: 'description'\r\n },\r\n ],\r\n createEntityProps: [\r\n {\r\n label: 'الموظف', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'employeeId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'نوع الأجازة', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'vocationId', url: API.VacationsTypes.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'dateFrom' },\r\n { label: 'إلى', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'dateTo' },\r\n { label: 'الملاحظات', type: 'text', validation: '', style: 'col-lg-12', backName: 'description' },\r\n ],\r\n updateEntityProps: [\r\n {\r\n label: 'الموظف', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'employeeId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'نوع الأجازة', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'vocationId', url: API.VacationsTypes.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'dateFrom' },\r\n { label: 'إلى', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'dateTo' },\r\n { label: 'الملاحظات', type: 'text', validation: '', style: 'col-lg-12', backName: 'description' },\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.AddVacation.create,\r\n body: {\r\n \"employeeId\": 0,\r\n \"vocationId\": 0,\r\n \"description\": \"\",\r\n \"dateFrom\": \"\",\r\n \"dateTo\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.AddVacation.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": '',\r\n \"employeeId\": 0,\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"jobId\": 0,\r\n \"groupId\": 0,\r\n \"shiftId\": 0,\r\n \"from\": \"\",\r\n \"to\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.AddVacation.update,\r\n body: {\r\n \"id\": 0,\r\n \"employeeId\": 0,\r\n \"vocationId\": 0,\r\n \"description\": \"\",\r\n \"dateFrom\": \"\",\r\n \"dateTo\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.AddVacation.delete,\r\n query: {\r\n employeevacationId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const TransferTransactions = {\r\n mainTitle: 'Transfer الحركات',\r\n title: 'Transfer الحركات',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n columns: [\r\n { name: 'الكود', backName: 'employeeCode' },\r\n { name: 'الموظفون', backName: 'nameAr' },\r\n { name: 'الفرع', backName: 'branchName' }\r\n ],\r\n read: {\r\n url: API.Employees.search,\r\n body: {\r\n pageSize: 100,\r\n pageNumber: 0,\r\n search: {\r\n \"employeeCode\": '',\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"phoneNumber\": \"\",\r\n \"placeStay\": \"\",\r\n \"email\": \"\",\r\n \"branchId\": 0,\r\n \"departmentId\": 0,\r\n \"adminstratId\": 0,\r\n \"jobId\": 0,\r\n \"projectId\": 0,\r\n \"shiftId\": 0,\r\n \"nationalitiesId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n actionEntityProps: [\r\n { label: 'من', type: 'date', validation: '', style: '', backName: 'from' },\r\n { label: 'إلى', type: 'date', validation: '', style: '', backName: 'to' },\r\n { label: 'الموظفون', type: 'searchModal', validation: '', style: '', backName: 'employeeIds' }\r\n ],\r\n btnText: 'سحب حركات الفروع',\r\n\r\n}\r\n\r\nexport const CancelManualTransactions = {\r\n mainTitle: 'إلغاء الحركات المعدلة يدوياً',\r\n title: 'إلغاء الحركات المعدلة يدوياً',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n columns: [\r\n { name: 'الكود', backName: 'employeeCode' },\r\n { name: 'الموظفون', backName: 'nameAr' },\r\n { name: 'الفرع', backName: 'branchName' }\r\n ],\r\n read: {\r\n url: API.Employees.search,\r\n body: {\r\n pageSize: 100,\r\n pageNumber: 0,\r\n search: {\r\n \"employeeCode\": '',\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"phoneNumber\": \"\",\r\n \"placeStay\": \"\",\r\n \"email\": \"\",\r\n \"branchId\": 0,\r\n \"departmentId\": 0,\r\n \"adminstratId\": 0,\r\n \"jobId\": 0,\r\n \"projectId\": 0,\r\n \"shiftId\": 0,\r\n \"nationalitiesId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n actionEntityProps: [\r\n { label: 'من', type: 'date', validation: '', style: '', backName: 'from' },\r\n { label: 'إلى', type: 'date', validation: '', style: '', backName: 'to' },\r\n { label: 'الموظفون', type: 'searchModal', validation: '', style: '', backName: 'employeeIds' }\r\n ],\r\n btnText: 'سحب حركات الفروع',\r\n\r\n}\r\nexport const AddEditTransactions = {\r\n mainTitle: 'إضافة و تعديل حركات',\r\n title: 'إضافة و تعديل حركات',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'number', backName: 'employeeCode' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n // label: 'الفرع', type: 'select', backName: 'branchIdIn', url: API.Branches.dropdown,\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true },\r\n ],\r\n columns: [\r\n // {\r\n // name: 'الرقم',\r\n // backName: 'id'\r\n // },\r\n {\r\n name: 'كود الموظف',\r\n backName: 'employeeCode'\r\n },\r\n {\r\n name: 'إسم الموظف',\r\n backName: 'employeeName'\r\n },\r\n {\r\n name: 'التاريخ',\r\n backName: 'date'\r\n },\r\n {\r\n name: 'وقت الحضور',\r\n backName: 'attendanceTime'\r\n },\r\n {\r\n name: 'وقت الانصراف',\r\n backName: 'leaveTime'\r\n },\r\n ],\r\n createEntityProps: [\r\n {\r\n label: 'الموظف', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'employeeId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'التاريخ', type: 'date', validation: 'Required', style: 'col-lg-6', backName: 'date' },\r\n { label: 'وقت الحضور', type: 'time', validation: 'orReq', noFormCont: true, RequiredCondition: 'leaveTime', style: 'col-lg-6', backName: 'attendanceTime' },\r\n\r\n {\r\n label: 'فرع الحضور', type: 'select', validation: 'ConditionalReq', RequiredCondition: 'attendanceTime', style: 'col-lg-6', backName: 'branchIdIn', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'وقت الانصراف', type: 'time', validation: 'orReq', noFormCont: true, RequiredCondition: 'attendanceTime', style: 'col-lg-6', backName: 'leaveTime' },\r\n\r\n {\r\n label: 'فرع الانصراف', type: 'select', validation: 'ConditionalReq', RequiredCondition: 'leaveTime', style: 'col-lg-6', backName: 'branchIdOut', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'كلمة مرور المسؤول', type: 'password', validation: 'Required', style: 'col-lg-6', backName: 'password' }\r\n ],\r\n updateEntityProps: [\r\n {\r\n label: 'الموظف', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'employeeId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'التاريخ', type: 'date', validation: 'Required', style: 'col-lg-6', backName: 'date' },\r\n { label: 'وقت الحضور', type: 'time', validation: '', style: 'col-lg-6', noFormCont: true, backName: 'attendanceTime' },\r\n\r\n {\r\n label: 'فرع الحضور', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'branchIdIn', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'وقت الانصراف', type: 'time', validation: '', noFormCont: true, style: 'col-lg-6', backName: 'leaveTime' },\r\n\r\n {\r\n label: 'فرع الانصراف', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'branchIdOut', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'كلمة مرور المسؤول', type: 'password', validation: 'Required', style: 'col-lg-6', backName: 'password' }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.AddEditTransactions.create,\r\n body: {\r\n employeeId: '',\r\n branchIdIn: '',\r\n branchIdOut: '',\r\n password: '',\r\n date: '',\r\n attendanceTime: '',\r\n leaveTime: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.AddEditTransactions.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [\r\n ],\r\n \"employeeIds\": [\r\n ],\r\n \"employeeCode\": '',\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.AddEditTransactions.update,\r\n body: {\r\n id: '',\r\n employeeId: '',\r\n branchIdIn: '',\r\n branchIdOut: '',\r\n password: '',\r\n date: '',\r\n attendanceTime: '',\r\n leaveTime: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.AddEditTransactions.delete,\r\n query: {\r\n transactionId: ''\r\n },\r\n verb: 'POST'\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 EmployeesReport = {\r\n\r\n mainTitle: 'تقرير الموظفين',\r\n title: 'تقرير الموظفين',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode', backSearch: true },\r\n { label: 'إسم الموظف', type: 'text', backName: 'nameAr', backSearch: true },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'adminstratId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: ip + '/api/Department/GetAllDepartmentDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: ip + '/api/Shift/GetAllShiftDropdown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n }\r\n ],\r\n columns: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'nameAr' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الإدارة', backName: 'administrationName' },\r\n { name: 'القسم', backName: 'departmentName' },\r\n { name: 'الوظيفة', backName: 'jobName' },\r\n { name: 'المجموعة', backName: 'groupName' },\r\n { name: 'الدوام', backName: 'shiftName' }\r\n ],\r\n read: {\r\n url: API.EmployeesReport.read,\r\n body: {\r\n pageSize: 100,\r\n pageNumber: 0,\r\n \"search\": {\r\n \"employeeCode\": '',\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"phoneNumber\": \"\",\r\n \"placeStay\": \"\",\r\n \"email\": \"\",\r\n \"branchIds\": [],\r\n \"departmentId\": 0,\r\n \"adminstratId\": 0,\r\n \"jobId\": 0,\r\n \"projectId\": 0,\r\n \"shiftId\": 0,\r\n \"nationalitiesId\": 0,\r\n \"groupId\": 0,\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const WorkingTimeReport = {\r\n mainTitle: ' تقرير اوقات الدوام',\r\n title: ' تقرير اوقات الدوام',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'الإسم', type: 'text', backName: 'nameAr' },\r\n {\r\n label: 'النوع', type: 'staticSelect', backName: 'isShiftOpen',\r\n items: [\r\n { label: 'عادي', value: false },\r\n { label: 'مفتوح', value: true },\r\n { label: 'الكل', value: null },\r\n ], backSearch: true\r\n }\r\n ],\r\n // workingTimeReport: true,\r\n preTableFields: [\r\n { name: 'رقم الدوام', backName: 'id' },\r\n { name: 'اسم الدوام', backName: 'nameAr' },\r\n { name: 'إجمالي الساعات', backName: 'totalHours' },\r\n { name: 'نوع الدوام', backName: 'isShiftOpen' }\r\n ],\r\n columns: [\r\n {\r\n name: 'اليوم', backName: 'dayId', enum: [\r\n { value: '1', display: 'الإثنين' },\r\n { value: '2', display: 'الثلاثاء' },\r\n { value: '3', display: 'الأربعاء' },\r\n { value: '4', display: 'الخميس' },\r\n { value: '5', display: 'الجمعة' },\r\n { value: '6', display: 'السبت' },\r\n { value: '7', display: 'الأحد' }\r\n ]\r\n },\r\n { name: 'حضور وردية 1', backName: 'timeIn1' },\r\n { name: 'انصراف وردية 1', backName: 'timeOut1' },\r\n { name: 'حضور وردية 2', backName: 'timeIn2' },\r\n { name: 'انصراف وردية 2', backName: 'timeOut2' },\r\n { name: 'حضور وردية 3', backName: 'timeIn3' },\r\n { name: 'انصراف وردية 3', backName: 'timeOut3' },\r\n { name: 'حضور وردية 4', backName: 'timeIn4' },\r\n { name: 'انصراف وردية 4', backName: 'timeOut4' },\r\n { name: 'اجمالي الساعات ', backName: 'totalDayHours' },\r\n {\r\n name: 'حالة اليوم',\r\n backName: 'isVacation',\r\n boolean: true,\r\n yes: 'عطلة',\r\n no: 'عمل'\r\n }\r\n ],\r\n read: {\r\n url: API.WorkingTimeReport.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\",\r\n \"isShiftOpen\": null\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const DayStatusReport = {\r\n mainTitle: 'تقرير حالة اليوم',\r\n title: 'تقرير حالة اليوم',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode', innerSearch: true },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName', innerSearch: true },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true },\r\n ],\r\n\r\n preTableFields: [\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'اليوم', backName: 'day' },\r\n { name: 'التاريخ', backName: 'date' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'حضور وردية 1', backName: 'timeIn1' },\r\n { name: 'انصراف وردية 1', backName: 'timeOut1' },\r\n { name: 'حضور وردية 2', backName: 'timeIn2' },\r\n { name: 'انصراف وردية 2', backName: 'timeOut2' },\r\n { name: 'حضور وردية 3', backName: 'timeIn3' },\r\n { name: 'انصراف وردية 3', backName: 'timeOut3' },\r\n { name: 'حضور وردية 4', backName: 'timeIn4' },\r\n { name: 'انصراف وردية 4', backName: 'timeOut4' },\r\n { name: 'الدوام', backName: 'totalHourDay' },\r\n { name: 'التأخير', backName: 'hourDayDelayTime' },\r\n { name: 'الإضافي', backName: 'hourDayOverTime' },\r\n { name: 'ساعات العمل', backName: 'totalWorkingHours' },\r\n { name: 'حالة اليوم', backName: 'dayStatus' }\r\n ],\r\n read: {\r\n url: API.DayStatusReport.read,\r\n body: {\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [\r\n ],\r\n \"employeeName\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const DetailedAttendanceReport = {\r\n mainTitle: 'تقرير حضور و انصراف التفصيلي',\r\n title: 'تقرير حضور و انصراف التفصيلي',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'كود الموظف', backName: 'employeeCode', style: \"col-lg-2\" },\r\n { name: 'إسم الموظف', backName: 'employeeName', style: \"col-lg-2\" },\r\n { name: 'الفرع', backName: 'branchName', style: \"col-lg-2 \" },\r\n { name: 'الوظيفة', backName: 'jobName', style: \"col-lg-2 \" },\r\n { name: 'الدوام', backName: 'shiftName', style: \"col-lg-2 \" }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'اليوم', backName: 'day' },\r\n { name: 'التاريخ', backName: 'date' },\r\n { name: 'حضور وردية 1', backName: 'timeIn1' },\r\n { name: 'انصراف وردية 1', backName: 'timeOut1' },\r\n { name: 'حضور وردية 2', backName: 'timeIn2' },\r\n { name: 'انصراف وردية 2', backName: 'timeOut2' },\r\n { name: 'حضور وردية 3', backName: 'timeIn3' },\r\n { name: 'انصراف وردية 3', backName: 'timeOut3' },\r\n { name: 'حضور وردية 4', backName: 'timeIn4' },\r\n { name: 'انصراف وردية 4', backName: 'timeOut4' },\r\n { name: 'الدوام', backName: 'totalHourDay' },\r\n { name: 'التأخير', backName: 'hourDayDelayTime' },\r\n { name: 'الإضافي', backName: 'hourDayOverTime' },\r\n { name: 'ساعات العمل', backName: 'totalWorkingHours' },\r\n { name: 'حالة اليوم', backName: 'dayStatus' }\r\n ],\r\n totals: [\r\n { name: 'اليوم', backName: '' },\r\n { name: 'التاريخ', backName: '' },\r\n { name: 'حضور وردية 1', backName: '' },\r\n { name: 'انصراف وردية 1', backName: '' },\r\n { name: 'حضور وردية 2', backName: '' },\r\n { name: 'انصراف وردية 2', backName: '' },\r\n { name: 'حضور وردية 3', backName: '' },\r\n { name: 'انصراف وردية 3', backName: '' },\r\n { name: 'حضور وردية 4', backName: '' },\r\n { name: 'انصراف وردية 4', backName: '' },\r\n { name: 'ساعات العمل', backName: 'totalWorkHour' },\r\n { name: 'ساعات التأخير', backName: 'totalHourDayDelayTime' },\r\n { name: 'ساعات الإضافي', backName: 'totalHourDayOverTime' },\r\n { name: 'مجموع ساعات العمل', backName: 'totalWorkingHoursDays' },\r\n { name: 'حالة اليوم', backName: '' }\r\n ],\r\n read: {\r\n url: API.DetailedAttendanceReport.read,\r\n body: {\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeName\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const TotalAttendanceReport = {\r\n mainTitle: 'تقرير حضور و انصراف الإجمالي',\r\n title: 'تقرير حضور و انصراف الإجمالي',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode', innerSearch: true },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName', innerSearch: true },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الوظيفة', backName: 'jobName' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'ساعات الدوام', backName: 'shiftHours' },\r\n { name: 'التأخير', backName: 'lateHours' },\r\n { name: 'الغياب', backName: 'absentHours' },\r\n { name: 'الأجازات', backName: 'vacationsDays' },\r\n { name: 'الإضافي', backName: 'extraHours' },\r\n { name: 'ساعات العمل الفعلية', backName: 'workingHours' }\r\n ],\r\n read: {\r\n url: API.TotalAttendanceReport.read,\r\n body: {\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [\r\n ],\r\n \"employeeName\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const AbsenceReport = {\r\n mainTitle: 'تقرير الغياب',\r\n title: 'تقرير الغياب',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' },\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n columns: [\r\n { name: 'اليوم', backName: 'day' },\r\n { name: 'التاريخ', backName: 'date' },\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الإدارة', backName: 'administrationName' },\r\n { name: 'القسم', backName: 'departmentName' },\r\n { name: 'الوظيفة', backName: 'jobName' },\r\n { name: 'الدوام', backName: 'shiftName' }\r\n ],\r\n read: {\r\n url: API.AbsenceReport.read,\r\n body: {\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [\r\n ],\r\n \"employeeName\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true,\r\n period: true\r\n}\r\nexport const DelayReport = {\r\n mainTitle: 'تقرير التأخير ',\r\n title: ' تقرير التأخير',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'اليوم', backName: 'day' },\r\n { name: 'التاريخ', backName: 'date' },\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'ساعات التأخير', backName: 'lateHours' }\r\n ],\r\n read: {\r\n url: API.DelayReport.read,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": '',\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const InCompleteTransReport = {\r\n mainTitle: 'تقرير الحركات الغير مكتملة',\r\n title: 'تقرير الحركات الغير مكتملة',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode', innerSearch: true },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName', innerSearch: true },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'اليوم', backName: 'day' },\r\n { name: 'التاريخ', backName: 'date' }\r\n ],\r\n columns: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'الوردية', backName: 'seq' },\r\n { name: 'وقت الحضور', backName: 'timeIn' },\r\n { name: 'وقت الانصراف ', backName: 'timeOut' }\r\n ],\r\n read: {\r\n url: API.InCompleteTransReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": '',\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true,\r\n period: true\r\n}\r\nexport const EarlyAttendanceReport = {\r\n mainTitle: ' تقرير الحضور المبكر ',\r\n title: ' تقرير الحضور المبكر ',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode', innerSearch: true },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName', innerSearch: true },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'اليوم', backName: 'day' },\r\n { name: 'التاريخ', backName: 'date' }\r\n ],\r\n columns: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'الوردية', backName: 'seq' },\r\n { name: 'وقت الحضور', backName: 'timeIn' },\r\n { name: 'وقت الوردية', backName: 'timeInShift' }\r\n ],\r\n read: {\r\n url: API.EarlyAttendanceReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true,\r\n period: true\r\n}\r\nexport const AttendanceSummaryReport = {\r\n mainTitle: 'ملخص تقرير الحضور',\r\n title: 'ملخص تقرير الحضور',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'التاريخ', backName: 'data' },\r\n { name: 'أيام العمل', backName: 'workingDays' }\r\n ],\r\n read: {\r\n url: API.AttendanceSummaryReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true,\r\n // preTableFields: [\r\n // { name: 'كود الموظف', backName: 'employeeCode' },\r\n // ],\r\n}\r\nexport const TotalAttendanceSummaryReport = {\r\n mainTitle: ' ملخص تقرير الحضور الكلي للفروع',\r\n title: ' ملخص تقرير الحضور الكلي للفروع',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode', innerSearch: true },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName', innerSearch: true },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'الفرع', backName: 'branchName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الوظيفة', backName: 'jobName' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'س.ع الافتراضيه', backName: 'shiftHours' },\r\n { name: 'التأخير', backName: 'lateHours' },\r\n { name: ' الانصراف مبكر', backName: 'earlyLeave' },\r\n { name: 'الغياب', backName: 'absentHours' },\r\n { name: 'الأجازات', backName: 'vacationsDays' },\r\n { name: 'الإضافي', backName: 'extraHours' },\r\n { name: 'س.ع الفعلية ', backName: 'workingHours' },\r\n { name: 'النسبة ', backName: 'rate' }\r\n ],\r\n read: {\r\n url: API.TotalAttendanceSummaryReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const OvertimeReport = {\r\n mainTitle: 'تقرير الاضافي',\r\n title: 'تقرير الاضافي',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode', innerSearch: true },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName', innerSearch: true },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown, innerSearch: true,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'الفرع', backName: 'branchName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'التاريخ', backName: 'date' },\r\n { name: 'اجمالي الساعات', backName: 'totalExtraHours' }\r\n ],\r\n read: {\r\n url: API.OvertimeReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const WorkingTimeDetailsReport = {\r\n mainTitle: 'تقرير دوام الموظفين تفصيلي',\r\n title: 'تقرير دوام الموظفين تفصيلي',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الإدارة', backName: 'administrationName' },\r\n { name: 'القسم', backName: 'departmentName' },\r\n { name: 'الوظيفة', backName: 'jobName' },\r\n { name: 'الدوام', backName: 'shiftName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'عدد أيام الفترة', backName: 'shiftDays' },\r\n { name: 'عدد أيام الدوام خلال الفترة', backName: 'attendanceDaysPeriod' },\r\n { name: 'عدد أيام الأجازات', backName: 'vacationsDays' },\r\n { name: 'عدد أيام الغياب', backName: 'absentDays' },\r\n { name: 'عدد ساعات الدوام', backName: 'shiftHours' },\r\n { name: 'عدد ساعات الحضور الفعلي', backName: 'workingHours' },\r\n { name: 'عدد ساعات التأخير', backName: 'lateHours' },\r\n { name: 'عدد ساعات الإضافي', backName: 'extraHours' },\r\n { name: 'عدد ساعات الإضافي أيام الأجازات', backName: 'extraHoursInVactions' }\r\n ],\r\n read: {\r\n url: API.WorkingTimeDetailsReport.read,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [\r\n ],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const BranchAttendanceReport = {\r\n mainTitle: 'الحضور والانصراف بالفروع',\r\n title: 'الحضور والانصراف بالفروع',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 1000,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n preTableFields: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الوظيفة', backName: 'JobName' },\r\n { name: 'الدوام', backName: 'shiftName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'اليوم', backName: 'day' },\r\n { name: 'التاريخ', backName: 'date' },\r\n { name: 'الدوام', backName: 'shiftName' },\r\n { name: 'حضور وردية 1', backName: 'timeIn1' },\r\n { name: 'انصراف وردية 1', backName: 'timeOut1' },\r\n { name: 'حضور وردية 2', backName: 'timeIn2' },\r\n { name: 'انصراف وردية 2', backName: 'timeOut2' },\r\n { name: 'حضور وردية 3', backName: 'timeIn3' },\r\n { name: 'انصراف وردية 3', backName: 'timeOut3' },\r\n { name: 'حضور وردية 4', backName: 'timeIn4' },\r\n { name: 'انصراف وردية 4', backName: 'timeOut4' },\r\n { name: 'الفرع', backName: 'branchName' }\r\n ],\r\n read: {\r\n url: API.BranchAttendanceReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0,\r\n \"groupId\": 0,\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const VacationsReport = {\r\n mainTitle: 'اجازات الموظفين ',\r\n title: 'اجازات الموظفين ',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true },\r\n {\r\n label: 'نوع الأجازة', type: 'select', backName: '', url: API.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n preTableFields: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الوظيفة', backName: 'JobName' },\r\n { name: 'الدوام', backName: 'shiftName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'نوع الأجازة', backName: 'vacationType' },\r\n { name: 'تاريخ البداية', backName: 'dateFrom' },\r\n { name: 'تاريخ النهاية', backName: 'dateTo' },\r\n { name: 'المدة', backName: 'daysNumber' },\r\n { name: 'ملاحظات', backName: 'description' }\r\n ],\r\n totals: [\r\n { name: 'نوع الأجازة', backName: '' },\r\n { name: 'Starts', backName: '' },\r\n { name: 'Ends', backName: '' },\r\n { name: 'Period', backName: 'totalOfVacations' },\r\n { name: 'ملاحظات', backName: '' }\r\n ],\r\n\r\n read: {\r\n url: API.VacationsReport.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {}\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const PermissionsReport = {\r\n mainTitle: 'تقرير اذونات الموظفين',\r\n title: 'تقرير اذونات الموظفين',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true },\r\n {\r\n label: 'نوع الأذن', type: 'select', backName: '', url: API.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n preTableFields: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الوظيفة', backName: 'JobName' },\r\n { name: 'الدوام', backName: 'shiftName' }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'اليوم', backName: 'day' },\r\n { name: 'التاريخ', backName: 'permissionDate' },\r\n {\r\n name: 'نوع الإذن',\r\n backName: 'permissionType',\r\n enum: [\r\n { value: '1', display: 'مؤقت' },\r\n { value: '2', display: 'حضور متأخر' },\r\n { value: '3', display: 'انصراف مبكر' },\r\n { value: '4', display: 'يوم كامل' }\r\n ]\r\n },\r\n {\r\n name: 'الوردية',\r\n backName: 'sequence',\r\n enum: [\r\n { value: '1', display: 'الأولى' },\r\n { value: '2', display: 'الثانية' },\r\n { value: '3', display: 'الثالثة' },\r\n { value: '4', display: 'الرابعة' }\r\n ]\r\n },\r\n { name: 'وقت الحضور', backName: 'timingOfEnty' },\r\n { name: 'وقت الانصراف', backName: 'timingOfExit' },\r\n { name: 'ملاحظات', backName: 'notes' }\r\n ],\r\n read: {\r\n url: API.PermissionsReport.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"id\": 0,\r\n \"employeeId\": 0,\r\n \"employeeCode\": \"\",\r\n \"permissionType\": 0,\r\n \"branchIds\": [],\r\n \"employeeName\": \"\",\r\n \"administrationName\": \"\",\r\n \"departmentName\": \"\",\r\n \"jobName\": \"\",\r\n \"groupName\": \"\",\r\n \"shiftName\": \"\",\r\n \"timingOfEnty\": \"\",\r\n \"timingOfExit\": \"\",\r\n \"from\": \"\",\r\n \"to\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const DelayEarlyReport = {\r\n mainTitle: 'التاخير والانصراف المبكر',\r\n title: 'التاخير والانصراف المبكر',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode' },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName' },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n columns: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'التاريخ', backName: 'date' },\r\n { name: 'الحضور', backName: 'timeIn1' },\r\n { name: 'الانصراف', backName: 'timeOut1' },\r\n { name: 'الحضور', backName: 'timeIn2' },\r\n { name: 'الانصراف', backName: 'timeOut2' },\r\n { name: 'الحضور', backName: 'timeIn3' },\r\n { name: 'الانصراف', backName: 'timeOut3' },\r\n { name: 'الحضور', backName: 'timeIn4' },\r\n { name: 'الانصراف', backName: 'timeOut4' },\r\n { name: 'التأخير', backName: 'hourDayDelayTime' },\r\n { name: 'انصراف مبكر', backName: 'earlyLeave' },\r\n { name: 'الغياب', backName: 'isAbsent', boolean: true }\r\n ],\r\n read: {\r\n url: API.DelayEarlyReport.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0,\r\n \"groupId\": 0,\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const TotalAbsenceReport = {\r\n mainTitle: ' اجمالي الغياب',\r\n title: ' اجمالي الغياب',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode', innerSearch: true },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName', innerSearch: true },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الوظيفة', backName: 'jobName' },\r\n { name: 'ساعة العمل ', backName: 'shiftName' },\r\n { name: 'إجمالي الغياب ', backName: 'absentDays' }\r\n ],\r\n read: {\r\n url: API.TotalAbsenceReport.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0,\r\n \"groupId\": 0,\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\nexport const TotalDelayReport = {\r\n mainTitle: 'تقرير اجمالي التأخير ',\r\n title: 'تقرير اجمالي التأخير ',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n { label: 'كود الموظف', type: 'text', backName: 'employeeCode', innerSearch: true },\r\n { label: 'إسم الموظف', type: 'text', backName: 'employeeName', innerSearch: true },\r\n {\r\n label: 'الفرع', type: 'multiSelect', backName: 'branchIds', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, backSearch: true\r\n },\r\n {\r\n label: 'الإدارة', type: 'select', backName: 'administrationId', url: API.Directorates.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'القسم', type: 'select', backName: 'departmentId', url: API.Departments.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الوظيفة', type: 'select', backName: 'jobId', url: API.Jobs.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'المجموعة', type: 'select', backName: 'groupId', url: ip + '/api/EmployeeGroups/GetAllEmployeeGroupsDropDown',\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n {\r\n label: 'الدوام', type: 'select', backName: 'shiftId', url: API.Shifts.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }, innerSearch: true\r\n },\r\n { label: 'من', type: 'date', backName: 'from', backSearch: true },\r\n { label: 'إلى', type: 'date', backName: 'to', backSearch: true }\r\n ],\r\n period: true,\r\n columns: [\r\n { name: 'كود الموظف', backName: 'employeeCode' },\r\n { name: 'إسم الموظف', backName: 'employeeName' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n { name: 'الوظيفة', backName: 'jobName' },\r\n { name: ' الدوام', backName: 'shiftName' },\r\n { name: 'إجمالي التأخير ', backName: 'lateHours' }\r\n ],\r\n read: {\r\n url: API.TotalDelayReport.read,\r\n body: {\r\n \"pageSize\": 0,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"from\": \"\",\r\n \"to\": \"\",\r\n \"branchIds\": [],\r\n \"employeeIds\": [],\r\n \"employeeCode\": 0,\r\n \"employeeName\": \"\",\r\n \"branchId\": 0,\r\n \"administrationId\": 0,\r\n \"departmentId\": 0,\r\n \"shiftId\": 0,\r\n \"groupId\": 0,\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n print: true\r\n}\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\n// ====================================================================================================\r\nexport const Devices = {\r\n mainTitle: 'الأجهزة',\r\n title: 'الأجهزة',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: [\r\n {\r\n label: 'الفرع', type: 'select', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'إسم الجهاز', type: 'text', backName: 'machineNameAr' },\r\n { label: 'الرقم التسلسلي', type: 'text', backName: 'machineSN' },\r\n {\r\n label: 'نوع الجهاز', type: 'select', backName: 'type',\r\n options: [\r\n {\r\n \"id\": 1,\r\n \"nameEn\": \"ZKTeco\",\r\n \"nameAr\": \"ZKTeco\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"nameEn\": \"Timmy TM-f630\",\r\n \"nameAr\": \"Timmy TM-f630\"\r\n }\r\n ], item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n columns: [\r\n { name: 'رقم الجهاز', backName: 'id' },\r\n { name: 'الرقم التسلسلي', backName: 'machineSN' },\r\n { name: 'إسم الجهاز', backName: 'machineNameAr' },\r\n { name: 'الفرع', backName: 'branchName' },\r\n {\r\n name: 'حالة الجهاز', backName: 'status', enum: [\r\n { value: true, display: Active },\r\n { value: false, display: Not Active }\r\n ]\r\n },\r\n {\r\n name: 'نوع الجهاز', backName: 'type', enum: [\r\n { value: 1, display: ZKTeco },\r\n { value: 2, display: Timmy TM-f630 }\r\n ]\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'machineNameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'machineNameEn' },\r\n {\r\n label: 'الفرع', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'الرقم التسلسلي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'machineSN' },\r\n {\r\n label: 'نوع الجهاز', type: 'select', backName: 'type', validation: 'Required',\r\n options: [\r\n {\r\n \"id\": 1,\r\n \"nameEn\": \"ZKTeco\",\r\n \"nameAr\": \"ZKTeco\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"nameEn\": \"Timmy TM-f630\",\r\n \"nameAr\": \"Timmy TM-f630\"\r\n }\r\n ], item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'machineNameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'machineNameEn' },\r\n {\r\n label: 'الفرع', type: 'select', validation: 'Required', style: 'col-lg-6', backName: 'branchId', url: API.Branches.dropdown,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n },\r\n { label: 'الرقم التسلسلي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'machineSN' },\r\n {\r\n label: 'نوع الجهاز', type: 'select', backName: 'type', validation: 'Required',\r\n options: [\r\n {\r\n \"id\": 1,\r\n \"nameEn\": \"ZKTeco\",\r\n \"nameAr\": \"ZKTeco\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"nameEn\": \"Timmy TM-f630\",\r\n \"nameAr\": \"Timmy TM-f630\"\r\n }\r\n ], item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.Devices.create,\r\n body: {\r\n \"branchId\": '',\r\n \"machineNameAr\": '',\r\n \"machineNameEn\": '',\r\n \"machineSN\": ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Devices.read,\r\n body: {\r\n pageSize: 10,\r\n pageNumber: 0,\r\n search: {\r\n \"id\": '',\r\n \"machineSN\": \"\",\r\n \"machineNameAr\": \"\",\r\n \"branchId\": 0,\r\n \"type\": 0\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Devices.update,\r\n body: {\r\n \"id\": 0,\r\n \"branchId\": 0,\r\n \"machineNameAr\": \"\",\r\n \"machineNameEn\": \"\",\r\n \"machineSN\": \"\",\r\n \"type\": 0\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Devices.delete,\r\n query: {\r\n branchMachineId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const SpecialWorkingDays = {\r\n mainTitle: 'مواعيد رمضان',\r\n title: 'مواعيد رمضان',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n searchFields: undefined,\r\n columns: [\r\n // {\r\n // name: 'الرقم',\r\n // backName: 'id'\r\n // },\r\n {\r\n name: 'الإسم',\r\n backName: 'nameAr'\r\n },\r\n {\r\n name: 'من',\r\n backName: 'dateFrom'\r\n },\r\n {\r\n name: 'إلى',\r\n backName: 'dateTo'\r\n },\r\n {\r\n name: 'الحالة',\r\n backName: 'status',\r\n enum: [\r\n { value: '1', display: لم تبدأ بعد },\r\n { value: '2', display: بدأت },\r\n { value: '3', display: انتهت }\r\n ]\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'من', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'dateFrom' },\r\n { label: 'إلى', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'dateTo' },\r\n\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameEn' },\r\n { label: 'من', type: 'date', validation: 'Required from', style: 'col-lg-6', backName: 'dateFrom' },\r\n { label: 'إلى', type: 'date', validation: 'Required to', style: 'col-lg-6', backName: 'dateTo' },\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.SpecialWorkingDays.create,\r\n body: {\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"dateFrom\": \"\",\r\n \"dateTo\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.SpecialWorkingDays.read,\r\n body: {\r\n \"pageSize\": 10,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"id\": 0,\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.SpecialWorkingDays.update,\r\n body: {\r\n \"id\": 0,\r\n \"nameEn\": \"\",\r\n \"nameAr\": \"\",\r\n \"dateFrom\": \"\",\r\n \"dateTo\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.SpecialWorkingDays.delete,\r\n query: {\r\n durationRamadanWorId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const UserPermission = {\r\n // test: true, // To use testing local data instead of server data\r\n mainTitle: 'صلاحيات المستخدمين',\r\n title: 'صلاحيات المستخدمين',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n columns: [\r\n // { name: 'الرقم', backName: 'id' },\r\n { name: 'اسم المجموعة', backName: 'nameAr' },\r\n {\r\n name: 'الصلاحيات',\r\n backName: 'groupPermissions',\r\n link: { to: '/Ar/TAW/Main/UserPermission/Permissions/', routeValues: ['id', 'nameAr'], text: 'الصلاحيات' }\r\n },\r\n {\r\n name: 'المستخدمين',\r\n backName: 'users',\r\n link: { to: '/Ar/TAW/Main/UserPermission/Users/', routeValues: ['id', 'nameAr'], text: 'المستخدمين' }\r\n }\r\n ],\r\n createEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: 'col-lg-6', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: 'col-lg-6', backName: 'nameEn' }\r\n ],\r\n deleteMessage: 'هل تريد حذف هذا العنصر؟',\r\n create: {\r\n url: API.UserPermission.create,\r\n body: {\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.UserPermission.read,\r\n body: {\r\n \"pageSize\": 10,\r\n \"pageNumber\": 0,\r\n \"search\": {\r\n \"id\": '',\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.UserPermission.update,\r\n body: {\r\n \"id\": 0,\r\n \"nameAr\": \"\",\r\n \"nameEn\": \"\"\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.UserPermission.delete,\r\n query: {\r\n DeleteCustomGroupId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\nexport const GeneralSettings = {\r\n mainTitle: 'General Settings',\r\n title: 'General Settings',\r\n path: [{ title: 'الرئيسية', path: '/Ar/TAW/Main/Dashboard' }],\r\n createEntityProps: [\r\n { label: 'Reject duplicate transaction(minutes)', type: 'text', validation: '', style: '', backName: '' },\r\n { label: 'Number of Shifts in Report', type: 'select', validation: '', style: '', backName: '' },\r\n { label: 'Calculating overtime before shift start', type: 'text', validation: '', style: '', backName: '' },\r\n { label: ' calculating overtime after shift end', type: 'text', validation: '', style: '', backName: '' },\r\n { label: ' count The day as an absence after delay', type: 'checkbox', noFormCont: true, validation: '', style: '', backName: '' },\r\n { label: ' count the day as an absence after Leaving early', type: 'checkbox', noFormCont: true, validation: '', style: '', backName: '' },\r\n { label: 'Allow first trans. IN and Last trans. OUT', type: 'checkbox', noFormCont: true, validation: '', style: '', backName: '' }\r\n ],\r\n updateEntityProps: [\r\n { label: 'الإسم العربي', type: 'text', validation: 'Required', style: '', backName: 'nameAr' },\r\n { label: 'الإسم الإنجليزي', type: 'text', validation: '', style: '', backName: 'nameEn' },\r\n {\r\n label: 'المدير', type: 'select', validation: '', style: '', backName: 'managerId', url: API.Employees.read,\r\n body: {\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n },\r\n item: { value: 'id', label: 'nameAr' }\r\n }\r\n ],\r\n create: {\r\n url: API.Branches.create,\r\n body: {\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n read: {\r\n url: API.Branches.read,\r\n body: {\r\n pageSize: 100,\r\n pageNumber: 0,\r\n search: {\r\n\r\n }\r\n },\r\n verb: 'POST'\r\n },\r\n update: {\r\n url: API.Branches.update,\r\n body: {\r\n id: '',\r\n nameAr: '',\r\n nameEn: '',\r\n managerId: ''\r\n },\r\n verb: 'POST'\r\n },\r\n delete: {\r\n url: API.Branches.delete,\r\n query: {\r\n branchId: ''\r\n },\r\n verb: 'POST'\r\n }\r\n}\r\n","import React from 'react';\r\nimport './MainLayout.css';\r\n\r\nimport DashBoard from '../DashBoard/DashBoard';\r\nimport BasicPageAr from '../BasicPageAr/BasicPageAr';\r\nimport WorkingHoursAr from '../WorkingHoursAr/WorkingHoursAr';\r\nimport ReportPageAr from '../ReportPageAr/ReportPageAr';\r\nimport ProcedurePageAr from '../ProcedurePageAr/ProcedurePageAr';\r\nimport CompanyInfoAr from '../CompanyInfoAr/CompanyInfoAr';\r\nimport FormPageAr from '../FormPageAr/FormPageAr';\r\nimport PermissionsPageAr from '../PermissionsPageAr/PermissionsPageAr';\r\nimport ModalPageAr from '../ModalPageAr/ModalPageAr';\r\nimport MessagesSettings from '../messagesSettings/messagesSettings'\r\nimport MainHeaderAr from '../MainHeaderAr/MainHeaderAr';\r\nimport SideNavAr from '../SideNavAr/SideNavAr';\r\nimport $ from 'jquery';\r\n\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport { API, ip, adminIp } from './../../data/APIs';\r\n\r\nimport {\r\n Branches,\r\n // BranchesAr,\r\n Jobs,\r\n Projects,\r\n Nationalities,\r\n Tasks,\r\n WorkingTime,\r\n Employees,\r\n EmployeesGroups,\r\n VacationsTypes,\r\n OfficialHolidays,\r\n\r\n GetBranchTransactions,\r\n AddPermission,\r\n AddVacation,\r\n AddEditTransactions,\r\n\r\n EmployeesReport,\r\n WorkingTimeReport,\r\n DayStatusReport,\r\n DetailedAttendanceReport,\r\n TotalAttendanceReport,\r\n AbsenceReport,\r\n DelayReport,\r\n InCompleteTransReport,\r\n EarlyAttendanceReport,\r\n AttendanceSummaryReport,\r\n TotalAttendanceSummaryReport,\r\n OvertimeReport,\r\n WorkingTimeDetailsReport,\r\n BranchAttendanceReport,\r\n VacationsReport,\r\n PermissionsReport,\r\n DelayEarlyReport,\r\n TotalAbsenceReport,\r\n TotalDelayReport,\r\n\r\n Devices,\r\n UserPermission,\r\n GeneralSettings,\r\n SpecialWorkingDays\r\n} from './../../data/PagePropsAr';\r\nimport Cookie from \"js-cookie\";\r\nimport DateCountdown from 'react-date-countdown-timer';\r\nimport Idle from 'react-idle'\r\n\r\n// import { fontWeight } from 'html2canvas/dist/types/css/property-descriptors/font-weight';\r\n\r\nclass MainLayoutAr extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n SideNavIsOpen: false,\r\n SideNavWasClosed: false,\r\n activePage: '',\r\n loadedPermissions: false,\r\n permissions: []\r\n }\r\n\r\n\r\n if (!this.state.loadedPermissions) {\r\n let end;\r\n let start = Date.now();\r\n console.log('Start: ' + start);\r\n fetch(ip + '/api/CustomGroupPermission/GetAllTapsWithPages', {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${Cookie.get('token')}`\r\n },\r\n body: JSON.stringify({\r\n \"pageSize\": 100,\r\n \"pageNumber\": 0,\r\n \"searchCriteria\": \"\",\r\n \"selectedId\": [\r\n 0\r\n ]\r\n })\r\n })\r\n .then(response => response.json())\r\n .then((response) => {\r\n end = Date.now();\r\n console.log('End: ' + end);\r\n console.log('Time: ' + (end - start));\r\n if (response.success && response.data !== null) {\r\n //save permissions in a cookie\r\n Cookie.set('permissions', response.data, { SameSite: 'Lax' });\r\n this.setState({ permissions: response.data, loadedPermissions: true });\r\n } else {\r\n console.error(response);\r\n }\r\n })\r\n .catch(error => console.error('Unable to get Permissions.', error));\r\n }\r\n\r\n\r\n }\r\n\r\n componentDidMount() {\r\n // Handling navbar\r\n const mainLayout = document.querySelector('#mainLayout');\r\n if (document.getElementsByTagName('body')[0].offsetWidth > 991) {\r\n mainLayout.classList.add('show-side-nav');\r\n mainLayout.classList.remove('hide-side-nav');\r\n this.setState({ SideNavIsOpen: true });\r\n\r\n }\r\n if (document.getElementsByTagName('body')[0].offsetWidth < 991) {\r\n mainLayout.classList.remove('show-side-nav');\r\n mainLayout.classList.add('hide-side-nav');\r\n this.setState({ SideNavIsOpen: !(this.state.SideNavIsOpen) });\r\n }\r\n document.getElementsByTagName('body')[0].onresize = () => {\r\n if (document.getElementsByTagName('body')[0].offsetWidth > 991 && !(this.state.SideNavWasClosed)) {\r\n\r\n }\r\n if (document.getElementsByTagName('body')[0].offsetWidth < 991 && !(this.state.SideNavWasClosed)) {\r\n\r\n }\r\n };\r\n // if permissions not loaded yet load permissions\r\n\r\n\r\n }\r\n\r\n render() {\r\n\r\n // Styling:\r\n // ========\r\n const hideSideNav = () => {\r\n const sideNav = document.querySelector('#sideNav');\r\n sideNav.classList.remove('show-side-nav');\r\n sideNav.classList.add('hide-side-nav');\r\n const mainLayout = document.querySelector('#mainLayout');\r\n mainLayout.classList.toggle('show-side-nav');\r\n mainLayout.classList.toggle('hide-side-nav');\r\n const sideAR = document.querySelector('.side-ar');\r\n sideAR.classList.toggle('show-side-nav');\r\n sideAR.classList.toggle('hide-side-nav');\r\n this.setState({ SideNavIsOpen: false });\r\n this.setState({ SideNavWasClosed: true });\r\n }\r\n if (window.innerHeight <= 500) {\r\n $(\"section.MainLayout--\").css('min-height', window.innerHeight - 50)\r\n }\r\n if (window.innerHeight >= 500) {\r\n $(\"section.MainLayout--\").css('min-height', document.innerHeight - 50)\r\n }\r\n const toggleSideNav = () => {\r\n\r\n const sideNav = document.querySelector('#sideNav');\r\n sideNav.classList.toggle('show-side-nav');\r\n sideNav.classList.toggle('hide-side-nav');\r\n const mainLayout = document.querySelector('#mainLayout');\r\n mainLayout.classList.toggle('show-side-nav');\r\n mainLayout.classList.toggle('hide-side-nav');\r\n\r\n // const timerAlert = document.querySelector('#timer-alert');\r\n // timerAlert.classList.toggle('show-side-nav');\r\n // timerAlert.classList.toggle('hide-side-nav');\r\n\r\n const sideAR = document.querySelector('.side-ar');\r\n sideAR.classList.toggle('show-side-nav');\r\n sideAR.classList.toggle('hide-side-nav');\r\n // const clock = document.querySelector('#clock');\r\n // clock.classList.toggle('hide-side-nav');\r\n const SideToggleButton = document.querySelector('#SideToggleButton');\r\n SideToggleButton.classList.toggle('hide-side-nav');\r\n if (this.state.SideNavIsOpen) {\r\n this.setState({ SideNavIsOpen: false });\r\n this.setState({ SideNavWasClosed: true });\r\n } else {\r\n this.setState({ SideNavIsOpen: true });\r\n }\r\n\r\n }\r\n const activatePage = (page) => {\r\n this.setState({ activePage: page })\r\n }\r\n // ========\r\n\r\n let mainLayout = this;\r\n\r\n return (\r\n \r\n\r\n {/* Website Master Page Header */}\r\n \r\n\r\n {/*
\r\n \r\n
\r\n
\r\n باقي من الوقت \r\n
\r\n
\r\n \r\n alert('Hello')} />\r\n \r\n\r\n
\r\n
\r\n وتنتهي باقتك\r\n
\r\n
\r\n \r\n
\r\n */}\r\n \r\n {/* Master Page Body (Content Holder) */}\r\n
\r\n } />\r\n tab.id === 1)?.data.find(page => page.id === 1) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 1) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 1) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 2) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 3) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 4) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 5) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 6) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 6) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 7) : 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\n }\r\n }\r\n />\r\n\r\n \r\n )\r\n }\r\n }\r\n />\r\n\r\n \r\n\r\n )\r\n }\r\n }\r\n />\r\n\r\n \r\n )\r\n }\r\n }\r\n />\r\n \r\n )\r\n }\r\n }\r\n />\r\n\r\n \r\n )\r\n }\r\n }\r\n />\r\n \r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 41) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n\r\n tab.id === 1)?.data.find(page => page.id === 8) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n\r\n\r\n\r\n\r\n tab.id === 1)?.data.find(page => page.id === 8) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 8) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 9) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 10) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 10) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 1)?.data.find(page => page.id === 11) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 12) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n {/* \r\n API Not Found\r\n \r\n )\r\n }\r\n }\r\n /> */}\r\n tab.id === 2)?.data.find(page => page.id === 14) : null}\r\n print={false}\r\n excel={false}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 17) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 18) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 13) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 15) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 2)?.data.find(page => page.id === 16) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n\r\n tab.id === 2)?.data.find(page => page.id === 15) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n {/* \r\n API Not Found\r\n \r\n )\r\n }\r\n }\r\n /> */}\r\n\r\n tab.id === 3)?.data.find(page => page.id === 19) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 20) : null}\r\n\r\n />\r\n\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 21) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 21) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 22) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 23) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 24) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 25) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 26) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 27) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 28) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 29) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 29) : null}\r\n\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 31) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 32) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 33) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 34) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 35) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 36) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 3)?.data.find(page => page.id === 37) : 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\n\r\n\r\n\r\n tab.id === 4)?.data.find(page => page.id === 38) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 39) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 40) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 40) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 40) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 43) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 42) : null}\r\n />\r\n )\r\n }\r\n }\r\n />\r\n tab.id === 4)?.data.find(page => page.id === 41) : 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 {/* if there is no token redirect to write company name */}\r\n {!Cookie.get('token') ? : null}\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nfunction upLayer() {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n mainLayout.classList.remove(\"down-layer\");\r\n}\r\n\r\nfunction downLayer() {\r\n const mainLayout = document.querySelector(\"#mainLayout\");\r\n mainLayout.classList.add(\"down-layer\");\r\n}\r\n\r\n\r\nexport default MainLayoutAr;\r\nexport { upLayer, downLayer }","import React from 'react';\r\nimport { HashRouter as Router, Route } from \"react-router-dom\";\r\n\r\nimport StartLayout from './../StartLayout/StartLayout';\r\nimport MainLayout from '../MainLayout/MainLayout';\r\nimport StartLayoutAr from './../StartLayoutAr/StartLayoutAr';\r\nimport MainLayoutAr from '../MainLayoutAr/MainLayoutAr';\r\nimport Idle from 'react-idle'\r\nimport Cookie from \"js-cookie\";\r\n\r\n\r\nclass App extends React.Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n }\r\n }\r\n logOut() {\r\n window.location.assign(\"/\");\r\n Cookie.set('token', '', { SameSite: 'Lax' })\r\n Cookie.set('userName', '', { SameSite: 'Lax' })\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n {idle\r\n ?\r\n this.logOut()\r\n :\r\n \r\n {/* handling the empty path */}\r\n \r\n \r\n {/* handling the path */}\r\n \r\n \r\n {/* for other components */}\r\n \r\n \r\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 App;","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker === null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import 'bootstrap/dist/css/bootstrap.min.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './Components/App/App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}