{"version":3,"sources":["store/config/configureStore.prod.js","store/config/configureStore.js","store/config/configureStore.dev.js","components/organisms/App/styled.js","services/api.js","config/keys.js","enums/endpoints.js","services/authenticate.js","components/molecules/PrivateRoute/PrivateRoute.jsx","components/molecules/Modal/styled.js","components/molecules/Modal/Modal.jsx","components/molecules/FilterDataTable/styled.js","components/molecules/FilterDataTable/FilterDataTable.jsx","components/molecules/Message/index.js","components/molecules/Message/Message.jsx","components/organisms/Person/styled.js","components/organisms/Person/helpers/InputFields.js","services/account.js","store/actions/account.js","store/actions/loader.js","services/people.js","services/signature.js","store/actions/people.js","store/actions/modal.js","store/actions/signature.js","store/actions/message.js","services/report.js","store/actions/report.js","services/activity.js","store/actions/activity.js","store/actions/index.js","components/molecules/ConfirmDialog/ConfirmDialog.jsx","components/organisms/Person/helpers/DataTableColumns.js","components/atoms/Input/index.js","components/atoms/Input/Input.jsx","components/atoms/Selector/index.js","components/atoms/Selector/Selector.jsx","components/organisms/Person/components/SignatureList/styled.js","components/organisms/Person/components/SignatureList/SignatureList.jsx","components/organisms/Person/components/ModalContent/styled.js","components/organisms/Person/components/ModalContent/constants.js","components/organisms/Person/components/ModalContent/ModalContent.jsx","components/organisms/Report/styled.js","components/organisms/Report/ReportContent.jsx","utils/sort.js","components/organisms/Report/index.js","components/organisms/Report/Report.jsx","components/organisms/Report/aliancaDeMisericordia.jsx","components/organisms/Person/index.js","components/organisms/Person/Person.jsx","components/organisms/Users/styled.js","components/organisms/Users/helpers/DataTableColumns.js","components/organisms/Users/helpers/InputFields.js","components/organisms/Users/components/ModalContent/styled.js","components/organisms/Users/components/ModalContent/ModalContent.jsx","components/organisms/Users/index.js","components/organisms/Users/Users.jsx","components/organisms/Home/styled.js","assets/images/colaborador.png","assets/images/livramentoCondicional.png","utils/dashboardRedirect.js","utils/sanitizeString.js","components/organisms/Home/Home.jsx","components/organisms/Home/index.js","assets/images/activityFeed.png","components/organisms/ActivityFeed/styled.js","components/organisms/ActivityFeed/DataTableColumns.js","config/routes.js","components/organisms/ActivityFeed/ActivityFeed.jsx","assets/images/aliancademisericordia.png","components/molecules/Copyright/styled.js","components/molecules/Copyright/Copyright.jsx","assets/images/companhiaSites.png","components/molecules/Sidebar/Sidebar.jsx","components/molecules/Sidebar/index.js","components/organisms/App/App.jsx","components/organisms/Login/styled.js","components/organisms/Login/Login.jsx","components/atoms/ErrorBoundary.js","index.js","themes/default.js","store/enhancers/monitorReducers.js","store/middleware/logger.js","store/constants.js","store/reducers/account.js","store/reducers/loader.js","store/reducers/people.js","store/reducers/modal.js","store/reducers/signature.js","store/reducers/message.js","store/reducers/report.js","store/reducers/activity.js","store/reducers/index.js"],"names":["configureStore","preloadedState","middlewares","thunkMiddleware","loggerMiddleware","enhancers","applyMiddleware","apply","monitorReducersEnhancer","composedEnhancers","compose","createStore","rootReducer","module","exports","require","composeWithDevTools","Container","styled","div","_templateObject","_taggedTemplateLiteral","Header","_templateObject2","Content","_templateObject3","Footer","_templateObject4","Img","img","_templateObject5","url","apiUrl","process","_getUri","endpointUri","concat","_getHeaders","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","userToken","wrap","_context","prev","next","localStorage","getItem","abrupt","stop","arguments","_handleResponse","_ref2","_callee2","response","status","statusText","contentType","responseType","_context2","Error","headers","get","indexOf","sent","_x","_request","_ref3","_callee3","config","uri","_context3","length","t0","_objectSpread","t1","t2","t3","t4","t5","fetch","t6","_x2","_x3","undefined","mode","method","post","_ref4","_callee4","data","_args4","_context4","body","JSON","stringify","_x4","_x5","put","_ref5","_callee5","_args5","_context5","_x6","_x7","remove","_ref6","_callee6","_args6","_context6","_x8","Endpoints","LOGIN","GET_PEOPLE","POST_PERSON","UPDATE_PERSON","DELETE_PERSON","id","POST_SIGNATURE","UPDATE_SIGNATURE","GET_SIGNATURE_BY_PERSON","personId","DELETE_SIGNATURE_BY_PERSON","GET_REPORT_NO_SIGNATURE","GET_REPORT_NO_INFO_SIGNATURE","GET_REPORT_BY_PROCESS","GET_USERS","GET_USER","userId","POST_USER","UPDATE_USER","DELETE_USER","GET_ACTIVITY_FEED","authenticate","isAuthenticated","login","_login","email","password","request","Api","jwt","token","user","message","logout","removeItem","PrivateRoute","Component","component","rest","_objectWithoutProperties","_excluded","_jsx","Route","render","props","Redirect","to","pathname","state","from","location","Body","Title","ModalUI","open","onClose","title","Modal","children","_jsxs","CancelTwoToneIcon","onClick","TextField","input","ClearButton","button","Row","FilterDataTable","filterText","onFilter","onClear","placeHolder","arialLabel","type","placeholder","value","onChange","Message","severity","Snackbar","autoHideDuration","MuiAlert","elevation","variant","event","reason","inputFields","label","name","required","errorMessage","formInitialState","formData","document","birthday","record","mother","address","landmark","phone1","phone2","phone3","startDate","infopen","card","processtype","processfrequency","account","list","_list","error","_get","_post","payload","_yield$Api$post","update","_update","_yield$Api$put","delete","_delete2","_yield$Api$remove","successUser","types","SUCCESS_USER","failureUser","FAILURE_USER","accountActions","setUser","SET_USER","removeUser","REMOVE_USER","loadUsers","dispatch","dataLoad","actions","loader","showLoader","hideLoader","finish","loadUser","FETCH_USER_SUCCESS","FETCH_USER_FAIL","createUser","success","updateUser","userResult","deleteUser","loaderActions","SHOW_LOADER","HIDE_LOADER","people","item","signature","_yield$Api$get","result","successPeople","SUCCESS_PEOPLE","failurePeople","FAILURE_PEOPLE","peopleActions","loadPeople","createPerson","signatures","_yield$people$post","_yield$people$post2","signatureWithPersonId","_slicedToArray","Object","keys","map","sign","updatePerson","peopleResult","updatedSignature","newSignature","forEach","validate","push","deletePerson","modalActions","openModal","OPEN_MODAL","closeModal","CLOSE_MODAL","signatureSuccess","SIGNATURE_SUCCESS","signatureFailure","SIGNATURE_FAILURE","signatureActions","loadSignatureByPerson","addSignature","ADD_SIGNATURE","updateSignature","cleanSignatures","CLEAN_SIGNATURE","deleteSignature","getState","currentState","_dataLoad","localData","signaturesByPerson","filter","_toConsumableArray","messageActions","showMessage","SHOW_MESSAGE","hideMessage","HIDE_MESSAGE","report","getReportNoSignature","_getReportNoSignature","getReportNoShow","_getReportNoShow","getReporByProcess","_getReporByProcess","reportSuccess","REPORT_SUCCESS","reportFailure","REPORT_FAILURE","reportLoading","REPORT_LOADING","reportActions","loadReportNoSignature","endDate","processType","loadReportNoShow","loadReportByProcess","processFrequency","activity","activityActions","fetchActivity","ACTIVITY_FEED_SUCCESS","ACTIVITY_FEED_FAIL","modal","AlertDialog","dialogText","agreeText","disagreeText","onAgreement","dialogTitle","_React$useState","React","useState","_React$useState2","setOpen","handleClose","Button","color","Dialog","DialogTitle","DialogContent","DialogContentText","DialogActions","autoFocus","DeleteButton","useDispatch","DeleteForeverTwoToneIcon","style","cursor","DataTableColumns","selector","sortable","center","format","row","moment","created","cell","ignoreRowClick","allowOverflow","Input","_ref$required","_ref$validationMessag","validationMessage","_ref$error","_ref$disabled","disabled","FormControl","InputLabelProps","shrink","margin","FormHelperText","Selector","_ref$items","items","selectedOption","_ref$placeholder","InputLabel","Select","displayEmpty","inputProps","MenuItem","ListHeader","ButtonWrapper","SignatureList","signaturesList","_useState","_useState2","selectedDate","setSelectedDate","useEffect","_Fragment","formatedPickedDate","target","find","date","uuidv4","checkpoint","Table","size","TableHead","TableRow","TableCell","TableBody","sort","previousDate","currentDate","Date","index","rowTextColor","paddingLeft","paddingRight","RadioGroup","ev","currentTarget","handleToggle","FormControlLabel","labelPlacement","control","Radio","multiline","IconButton","DeleteIcon","FormFooter","FormSpacer","Form","form","Constants","processTypes","processFrequencies","ModalContent","handleChange","handleModalClose","handleSubmit","field","additionalInformation","SaveTwoTone","Wrapper","PrintWrapper","PrintContentWrapper","Separator","_templateObject6","_templateObject7","StyledTableCell","withStyles","theme","head","backgroundColor","palette","grey","common","black","borderBottom","fontSize","StyledTableRow","root","action","hover","useStyles","makeStyles","table","minWidth","renderContent","reportName","dataSet","scope","bodyForNoSign","bodyForNoInfo","bodyForByProcess","renderHeader","ReportContent","array","classes","className","a","b","nameA","toLowerCase","nameB","Report","setReportName","_useState3","_useState4","setProcessType","_useState5","_useState6","setStatus","_useState7","_useState8","setProcessFrequency","_useState9","subtract","_useState10","setStartDate","_useState11","_useState12","setEndDate","_useSelector","useSelector","loadingReport","doc","jsPDF","orientation","getElementById","header","res","autoTableHtmlToJson","autoTable","columns","top","styles","cellPadding","headerStyles","bodyStyles","lineWidth","lineColor","showHead","didDrawPage","information","addImage","internal","pageSize","getWidth","setFontSize","setTextColor","text","footer","getNumberOfPages","pageHeight","height","getHeight","settings","left","save","Typography","Person","all","modalStatus","setMode","reportModal","setOpenReportModal","setState","setFilterText","resetPaginationToggle","setResetPaginationToggle","history","useHistory","useLocation","err","handleModalOpen","handleReportModal","filteredItems","_","isArray","_item$document","_item$name","toUpperCase","includes","filterByNameOrDocument","subHeaderComponentMemo","useMemo","e","_e$target","prevState","_defineProperty","preventDefault","startdate","PersonAddTwoToneIcon","AssignmentTwoToneIcon","DataTable","pagination","paginationComponentOptions","rowsPerPageText","rangeSeparatorText","highlightOnHover","persistTableHead","noDataComponent","subHeader","subHeaderComponent","paginationResetDefaultPage","onRowClicked","showOnMode","first_name","last_name","roles","Users","users","_item$first_name","Column","PaperWrapper","Text","h1","ImgWrapper","dashboardRedirect","path","sanitizeString","str","replace","trim","paper","width","Home","Paper","src","Colaborador","alt","LivramentoCondicional","mapActivityAction","DashboardRoutes","icon","layout","User","activities","_item$user_email","user_email","filterByEmail","Anchor","attrs","href","colors","primary","CopyrightWrrapper","Copyright","menuRoutes","InboxIcon","Sidebar","toggleDrawer","SwipeableDrawer","anchor","onOpen","role","onKeyDown","List","aRoute","ListItem","ListItemIcon","ListItemText","Divider","display","appBar","menuButton","App","key","switchRoutes","Switch","prop","AppBar","position","Toolbar","edge","MenuIcon","AliancaDeMisericordia","Overlay","ImageWrapper","Login","setEmail","setPassword","show","auth","setItem","CircularProgress","onSubmit","ErrorBoundary","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","call","hasError","_createClass","info","console","log","componentStack","this","fallback","GlobalStyle","createGlobalStyle","store","ReactDOM","StrictMode","Helmet","charSet","Provider","ThemeProvider","BrowserRouter","exact","monitorReducerEnhancer","reducer","initialState","enhancer","number","start","performance","now","newState","end","diff","Math","round","logger","group","groupEnd","constants","LOAD_PEOPLE","SET_USER_DETAILS","FETCH_ACTIVITY_FEED","ACTIVITY_FEED_LOADING","accountReducer","loaderReducer","personReducer","modalReducer","serializeSignaturesByPerson","reduce","acc","current","values","signatureReducer","existsLSignatureByPersonList","messageReducer","reportReducer","rerportLoading","activityReducer","combineReducers"],"mappings":"0IAAA,2FAOe,SAASA,EAAeC,GACrC,IAAMC,EAAc,CAACC,IAAiBC,KAGhCC,EAAY,CAFSC,kBAAeC,WAAC,EAAGL,GAEPM,KACjCC,EAAoBC,UAAOH,WAAC,EAAGF,GAIrC,OAFcM,sBAAYC,IAAaX,EAAgBQ,EAGzD,C,sBCZQI,EAAOC,QAAUC,EAAQ,I,mCCLjC,oGAQe,SAASf,EAAeC,GACrC,IAAMC,EAAc,CAACC,IAAiBC,KAGhCC,EAAY,CAFSC,kBAAeC,WAAC,EAAGL,GAEPM,KACjCC,EAAoBO,sBAAmBT,WAAC,EAAGF,GAIjD,OAFcM,sBAAYC,IAAaX,EAAgBQ,EAGzD,C,oKChBaQ,EAAYC,UAAOC,IAAGC,MAAAC,YAAA,2IAQtBC,EAASJ,UAAOC,IAAGI,MAAAF,YAAA,yFAOnBG,EAAUN,UAAOC,IAAGM,MAAAJ,YAAA,oIAQpBK,EAASR,UAAOC,IAAGQ,MAAAN,YAAA,uDAKnBO,EAAMV,UAAOW,IAAGC,MAAAT,YAAA,kE,kGC5BhBU,ECFA,CACXC,OAAQC,gDDCgBD,OAEpBE,EAAU,SAAAC,GAAW,SAAAC,OAAOL,EAAG,KAAAK,OAAID,EAAW,EAE9CE,EAAW,eAAAC,EAAAC,YAAAC,cAAAC,MAAG,SAAAC,IAAA,IAAAC,EAAA,OAAAH,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAC6B,OAA1CJ,EAAYK,aAAaC,QAAQ,SAAQJ,EAAAK,OAAA,SACxC,CACN,eAAgB,mBAChB,cAAgB,WAADd,OAAaO,KAC5B,wBAAAE,EAAAM,OAAA,GAAAT,EAAA,KACD,kBANgB,OAAAJ,EAAA/B,MAAA,KAAA6C,UAAA,KAQXC,EAAe,eAAAC,EAAAf,YAAAC,cAAAC,MAAG,SAAAc,EAAOC,GAAQ,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAApB,cAAAI,MAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,OACZ,GAAlBU,EAAuBD,EAAvBC,OAAQC,EAAeF,EAAfE,WACD,MAAXD,EAAc,CAAAI,EAAAd,KAAA,cACX,IAAIe,MAAMJ,GAAY,KAAD,EAKX,OAHXC,EAAcH,EAASO,QAAQC,IAAI,gBACnCJ,EACLD,IAA4D,IAA7CA,EAAYM,QAAQ,oBAClC,OAAS,OAAMJ,EAAAd,KAAA,EACJS,EAASI,KAAgB,KAAD,SAAAC,EAAAX,OAAA,SAAAW,EAAAK,MAAA,wBAAAL,EAAAV,OAAA,GAAAI,EAAA,KACrC,gBAVoBY,GAAA,OAAAb,EAAA/C,MAAA,KAAA6C,UAAA,KAYfgB,EAAQ,eAAAC,EAAA9B,YAAAC,cAAAC,MAAG,SAAA6B,EAAOnC,EAAaoC,GAAM,IAAAC,EAAAhB,EAAA,OAAAhB,cAAAI,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAC6C,GAAnD,kBAAhBZ,GAA4BA,EAAYuC,OAAS,GAAMvC,EAChE,CAADsC,EAAA1B,KAAA,cACH,IAAIe,MAAM,qBAAqB,KAAD,EAEL,OAA1BU,EAAMtC,EAAQC,GAAYsC,EAAA3B,KAAA,EAAA2B,EAAAE,GAAAC,IAAAH,EAAAI,GAAAD,IAAAH,EAAAK,GAAA,GAAAL,EAAA1B,KAAA,GAGrBV,IAAa,QADT,OACSoC,EAAAM,GAAAN,EAAAP,KAAAO,EAAAO,IAAA,EAAAP,EAAAI,IAAAJ,EAAAK,GAAAL,EAAAM,IAAAN,EAAAQ,GACnBV,EAAOR,QAFXQ,EAAOR,SAAO,EAAAU,EAAAE,IAAAF,EAAAO,GAAAP,EAAAQ,IAAAR,EAAA1B,KAAA,GAISmC,MAAMV,EAAKD,GAAQ,KAAD,GAA3B,OAARf,EAAQiB,EAAAP,KAAAO,EAAA1B,KAAA,GACDM,EAAgBG,GAAU,KAAD,UAAAiB,EAAAvB,OAAA,SAAAuB,EAAAP,MAAA,cAAAO,EAAA3B,KAAA,GAAA2B,EAAAU,GAAAV,EAAA,SAEhC,IAAIX,MAAM,uBAAD1B,OAAwBoC,EAAG,mBAAApC,OAAAqC,EAAAU,GAAA,MAAyB,KAAD,oBAAAV,EAAAtB,OAAA,GAAAmB,EAAA,mBAEnE,gBAhBac,EAAAC,GAAA,OAAAhB,EAAA9D,MAAA,KAAA6C,UAAA,KAkBDY,EAAM,SAACjC,GAAG,IAAEwC,EAAMnB,UAAAsB,OAAA,QAAAY,IAAAlC,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAC,OACnCgB,EAASrC,EAAG6C,wBAAA,GACRL,GAAM,IACTgB,KAAM,OACNC,OAAQ,QACN,EAESC,EAAI,eAAAC,EAAAnD,YAAAC,cAAAC,MAAG,SAAAkD,EAAO5D,EAAK6D,GAAI,IAAArB,EAAAsB,EAAAzC,UAAA,OAAAZ,cAAAI,MAAA,SAAAkD,GAAA,cAAAA,EAAAhD,KAAAgD,EAAA/C,MAAA,OAAa,OAAXwB,EAAMsB,EAAAnB,OAAA,QAAAY,IAAAO,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAA5C,OAAA,SAChDkB,EAASrC,EAAG6C,wBAAA,GACRL,GAAM,IACTR,QAAS,CACR,eAAgB,oBAEjByB,OAAQ,OACRO,KAAMC,KAAKC,UAAUL,GACrBL,KAAM,WACL,wBAAAO,EAAA3C,OAAA,GAAAwC,EAAA,qBATcO,EAAAC,GAAA,OAAAT,EAAAnF,MAAA,KAAA6C,UAAA,KAWJgD,EAAG,eAAAC,EAAA9D,YAAAC,cAAAC,MAAG,SAAA6D,EAAOvE,EAAK6D,GAAI,IAAArB,EAAAgC,EAAAnD,UAAA,OAAAZ,cAAAI,MAAA,SAAA4D,GAAA,cAAAA,EAAA1D,KAAA0D,EAAAzD,MAAA,OAAa,OAAXwB,EAAMgC,EAAA7B,OAAA,QAAAY,IAAAiB,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAAtD,OAAA,SAC/CkB,EAASrC,EAAG6C,wBAAA,GACRL,GAAM,IACTR,QAAS,CACR,eAAgB,oBAEjByB,OAAQ,MACRD,KAAM,OACNQ,KAAMC,KAAKC,UAAUL,OACpB,wBAAAY,EAAArD,OAAA,GAAAmD,EAAA,qBATaG,EAAAC,GAAA,OAAAL,EAAA9F,MAAA,KAAA6C,UAAA,KAWHuD,EAAM,eAAAC,EAAArE,YAAAC,cAAAC,MAAG,SAAAoE,EAAO9E,GAAG,IAAAwC,EAAAuC,EAAA1D,UAAA,OAAAZ,cAAAI,MAAA,SAAAmE,GAAA,cAAAA,EAAAjE,KAAAiE,EAAAhE,MAAA,OAAa,OAAXwB,EAAMuC,EAAApC,OAAA,QAAAY,IAAAwB,EAAA,GAAAA,EAAA,GAAG,CAAC,EAACC,EAAA7D,OAAA,SAC5CkB,EAASrC,EAAG6C,wBAAA,GACRL,GAAM,IACTgB,KAAM,OACNC,OAAQ,aACP,wBAAAuB,EAAA5D,OAAA,GAAA0D,EAAA,qBALgBG,GAAA,OAAAJ,EAAArG,MAAA,KAAA6C,UAAA,KElDJ6D,GAvBG,CAChBC,MAAO,YACPC,WAAY,kBACZC,YAAa,oBACbC,cAAe,oBACfC,cAAe,SAACC,GAAE,oCAAAnF,OAAmCmF,EAAE,EACvDC,eAAgB,uBAChBC,iBAAkB,uBAClBC,wBAAyB,SAACC,GAAQ,qCAAAvF,OACDuF,EAAQ,EACzCC,2BAA4B,SAAAtF,GAAA,IAAGiF,EAAEjF,EAAFiF,GAAII,EAAQrF,EAARqF,SAAQ,iCAAAvF,OACdmF,EAAE,cAAAnF,OAAauF,EAAQ,EACpDE,wBAAyB,yBACzBC,6BAA8B,6BAC9BC,sBAAuB,uBACvBC,UAAW,gBACXC,SAAU,SAACC,GAAM,4BAAA9F,OAA2B8F,EAAM,EAClDC,UAAW,kBACXC,YAAa,kBACbC,YAAa,SAACd,GAAE,4BAAAnF,OAA2BmF,EAAE,EAC7Ce,kBAAmB,qBCjBfC,GAAe,CACpBC,kBAAmBxF,aAAaC,QAAQ,SAExCwF,MAAM,WAAD,IAAAC,EAAAnG,YAAAC,cAAAC,MAAE,SAAAC,EAAOiG,EAAOC,GAAQ,IAAA1B,EAAA2B,EAAA,OAAArG,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACf,OAALmE,EAAUD,GAAVC,MAAKrE,EAAAE,KAAA,EACS+F,EAAS5B,EAAO,CACrCyB,MAAOA,EACPC,SAAUA,IACT,OAHW,KAAPC,EAAOhG,EAAAqB,MAID6E,IAAI,CAADlG,EAAAE,KAAA,QACqB,OAAnCwF,GAAaC,iBAAkB,EAAI3F,EAAAK,OAAA,SAC5B,CAAE8F,MAAOH,EAAQE,IAAKE,KAAMJ,EAAQF,MAAO/C,KAAMiD,EAAQjD,OAAK,cAAA/C,EAAAK,OAAA,SAE/D,CAAEgG,QAAS,mBAAkB,wBAAArG,EAAAM,OAAA,GAAAT,EAAA,KACpC,gBAAAyB,EAAAiB,GAAA,OAAAsD,EAAAnI,MAAA,KAAA6C,UAAA,EAXK,GAaN+F,OAAQ,WACPZ,GAAaC,iBAAkB,EAC/BxF,aAAaoG,WAAW,SACxBpG,aAAaoG,WAAW,QACxBpG,aAAaoG,WAAW,QACzB,GAGcb,M,yBCCAc,GApBM,SAAH/G,GAA2C,IAA1BgH,EAAShH,EAApBiH,UAAyBC,EAAIC,YAAAnH,EAAAoH,IACnD,OACEC,eAACC,IAAKhF,wBAAA,GACA4E,GAAI,IACRK,OAAQ,SAACC,GAAK,OACZvB,GAAaC,gBACXmB,eAACL,EAAS1E,YAAA,GAAKkF,IAEbH,eAACI,IAAQ,CACPC,GAAI,CACFC,SAAU,IACVC,MAAO,CAAEC,KAAML,EAAMM,YAG1B,IAIX,E,UCxBa5I,GAAUN,UAAOC,IAAGC,MAAAC,YAAA,2QAiBpBC,GAASJ,UAAOC,IAAGI,MAAAF,YAAA,uFAKnBgJ,GAAOnJ,UAAOC,IAAGM,MAAAJ,YAAA,sHAOjBiJ,GAAQpJ,UAAOC,IAAGQ,MAAAN,YAAA,6G,oBCFhBkJ,GAxBC,SAAHjI,GAAA,IACXkI,EAAIlI,EAAJkI,KACAC,EAAOnI,EAAPmI,QACD1E,EAAIzD,EAAJyD,KACA2E,EAAKpI,EAALoI,MAAK,OAELf,eAACgB,KAAK,CACJ,kBAAgB,qBAChB,mBAAiB,2BACjBH,KAAMA,EACNC,QAASA,EAAQG,SAElBC,gBAACrJ,GAAO,CAAAoJ,SAAA,CACPC,gBAACvJ,GAAM,CAAAsJ,SAAA,CACNC,gBAACP,GAAK,CAAAM,SAAA,CAAC,IAAEF,EAAM,OACff,eAACmB,KAAiB,CAACC,QAASN,OAE7Bd,eAACU,GAAI,CAAAO,SACH7E,QAGI,ECxBIiF,GAAY9J,UAAO+J,MAAK7J,MAAAC,YAAA,0SAgBxB6J,GAAchK,UAAOiK,OAAM5J,MAAAF,YAAA,4QAa3B+J,GAAMlK,UAAOC,IAAGM,MAAAJ,YAAA,2ECrBdgK,GAPS,SAAH/I,GAAA,IAAMgJ,EAAUhJ,EAAVgJ,WAAYC,EAAQjJ,EAARiJ,SAAUC,EAAOlJ,EAAPkJ,QAASC,EAAWnJ,EAAXmJ,YAAaC,EAAUpJ,EAAVoJ,WAAU,OAC/Eb,gBAACO,GAAG,CAAAR,SAAA,CACFjB,eAACqB,GAAS,CAACzD,GAAG,SAASoE,KAAK,OAAOC,YAAaH,EAAa,aAAYC,EAAYG,MAAOP,EAAYQ,SAAUP,IAClH5B,eAACuB,GAAW,CAACS,KAAK,SAASZ,QAASS,EAAQZ,SAAC,QACzC,E,oBCLOmB,GCGQ,SAAHzJ,GAA6C,IAAvCkI,EAAIlI,EAAJkI,KAAMwB,EAAQ1J,EAAR0J,SAAUvB,EAAOnI,EAAPmI,QAASvB,EAAO5G,EAAP4G,QASjD,OACES,eAACsC,KAAQ,CAACzB,KAAMA,EAAM0B,iBAAkB,IAAMzB,QAASA,EAAQG,SAC7DjB,eAACwC,KAAQ,CAACC,UAAW,EAAGC,QAAQ,SAAS5B,QATzB,SAAC6B,EAAOC,GACX,cAAXA,GAGJ9B,GACF,EAImEuB,SAAUA,EAASpB,SAC/E1B,KAIT,ECnBa1H,GAAUN,UAAOC,IAAGC,MAAAC,YAAA,+FAOpB+J,GAAMlK,UAAOC,IAAGI,MAAAF,YAAA,iFCThBmL,GAAc,CACzB,CAACjF,GAAI,OAAQkF,MAAM,OAAQd,KAAK,OAAQe,KAAK,OAAQC,UAAU,EAAMC,aAAc,6BACnF,CAACrF,GAAI,WAAYkF,MAAM,MAAOd,KAAK,OAAQe,KAAK,WAAYC,UAAU,EAAMC,aAAc,4BAC1F,CAACrF,GAAI,WAAYkF,MAAM,sBAAoBd,KAAK,OAAQe,KAAK,WAAYC,UAAU,EAAMC,aAAc,uCACvG,CAACrF,GAAI,SAAUkF,MAAM,qBAAmBd,KAAK,OAAQe,KAAK,SAAUC,UAAU,EAAMC,aAAc,8CAClG,CAACrF,GAAI,UAAWkF,MAAM,cAAYd,KAAK,UAAWe,KAAK,UAAWC,UAAU,EAAMC,aAAc,oCAChG,CAACrF,GAAI,SAAUkF,MAAM,aAAcd,KAAK,MAAOe,KAAK,SAAUC,UAAU,EAAMC,aAAc,iCAC5F,CAACrF,GAAI,SAAUkF,MAAM,cAAYd,KAAK,OAAQe,KAAK,SAAUC,UAAU,EAAOC,aAAc,sCAC5F,CAACrF,GAAI,WAAYkF,MAAM,sBAAuBd,KAAK,OAAQe,KAAK,WAAYC,UAAU,EAAOC,aAAc,IAC3G,CAACrF,GAAI,SAAUkF,MAAM,aAAcd,KAAK,MAAOe,KAAK,SAAUC,UAAU,EAAOC,aAAc,IAC7F,CAACrF,GAAI,SAAUkF,MAAM,aAAcd,KAAK,MAAOe,KAAK,SAAUC,UAAU,EAAOC,aAAc,IAC7F,CAACrF,GAAI,YAAakF,MAAM,eAAgBd,KAAK,OAAQe,KAAK,YAAaC,UAAU,EAAMC,aAAc,oCACrG,CAACrF,GAAI,UAAWkF,MAAM,UAAWd,KAAK,OAAQe,KAAK,UAAWC,UAAU,EAAOC,aAAc,IAC7F,CAACrF,GAAI,OAAQkF,MAAM,cAAed,KAAK,OAAQe,KAAK,OAAQC,UAAU,EAAOC,aAAc,KAGhFC,GAAmB,SAAAC,GAC9B,OAAAlI,YAAA,CACE8H,KAAM,GACNK,SAAU,GACVC,SAAU,GACVC,OAAQ,GACRC,OAAQ,GACRC,QAAS,GACTC,SAAU,GACVC,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACR9J,OAAQ,GACR+J,UAAW,GACXC,QAAS,GACTC,KAAM,GACNC,YAAa,GACbC,iBAAkB,IACfd,EAEP,E,4BCjCMe,GAAU,CACdC,KAAK,WAAD,IAAAC,EAAAxL,YAAAC,cAAAC,MAAE,SAAAC,IAAA,IAAAX,EAAA8G,EAAA,OAAArG,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAE6B,OAF7BF,EAAAC,KAAA,EAEIf,EAAMkF,GAAUe,UAASnF,EAAAE,KAAA,EACT+F,EAAQ/G,GAAK,KAAD,EAArB,OAAP8G,EAAOhG,EAAAqB,KAAArB,EAAAK,OAAA,SACN2F,EAAQrF,UAAQ,cAAAX,EAAAC,KAAA,EAAAD,EAAA8B,GAAA9B,EAAA,SAAAA,EAAAK,OAAA,SAEhB,CAAE8K,MAAKnL,EAAA8B,KAAO,yBAAA9B,EAAAM,OAAA,GAAAT,EAAA,kBAExB,yBAAAqL,EAAAxN,MAAA,KAAA6C,UAAA,EARI,GASLY,IAAI,WAAD,IAAAiK,EAAA1L,YAAAC,cAAAC,MAAE,SAAAc,EAAOgE,GAAE,IAAAxF,EAAA8G,EAAA,OAAArG,cAAAI,MAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,OAEwB,OAFxBc,EAAAf,KAAA,EAEJf,EAAMkF,GAAUgB,SAASV,GAAG1D,EAAAd,KAAA,EACZ+F,EAAQ/G,GAAK,KAAD,EAArB,OAAP8G,EAAOhF,EAAAK,KAAAL,EAAAX,OAAA,SACN2F,EAAQrF,UAAQ,cAAAK,EAAAf,KAAA,EAAAe,EAAAc,GAAAd,EAAA,SAAAA,EAAAX,OAAA,SAEhB,CAAE8K,MAAKnK,EAAAc,KAAO,yBAAAd,EAAAV,OAAA,GAAAI,EAAA,kBAExB,gBAAAY,GAAA,OAAA8J,EAAA1N,MAAA,KAAA6C,UAAA,EARG,GASJqC,KAAK,WAAD,IAAAyI,EAAA3L,YAAAC,cAAAC,MAAE,SAAA6B,EAAO6J,GAAO,IAAApM,EAAAqM,EAAAxI,EAAA,OAAApD,cAAAI,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEe,OAFf0B,EAAA3B,KAAA,EAEVf,EAAMkF,GAAUkB,UAAS1D,EAAA1B,KAAA,EACR+F,EAAS/G,EAAKoM,GAAS,KAAD,EAAjC,OAAiCC,EAAA3J,EAAAP,KAArC0B,EAAIwI,EAAJxI,KAAInB,EAAAvB,OAAA,SACL0C,GAAI,cAAAnB,EAAA3B,KAAA,EAAA2B,EAAAE,GAAAF,EAAA,SAAAA,EAAAvB,OAAA,SAEJ,CAAE8K,MAAKvJ,EAAAE,KAAO,yBAAAF,EAAAtB,OAAA,GAAAmB,EAAA,kBAExB,gBAAAc,GAAA,OAAA8I,EAAA3N,MAAA,KAAA6C,UAAA,EARI,GASLiL,OAAO,WAAD,IAAAC,EAAA/L,YAAAC,cAAAC,MAAE,SAAAkD,EAAOwI,GAAO,IAAApM,EAAAwM,EAAA3I,EAAA,OAAApD,cAAAI,MAAA,SAAAkD,GAAA,cAAAA,EAAAhD,KAAAgD,EAAA/C,MAAA,OAEe,OAFf+C,EAAAhD,KAAA,EAEZf,EAAMkF,GAAUmB,YAAWtC,EAAA/C,KAAA,EACV+F,EAAQ/G,EAAKoM,GAAS,KAAD,EAAhC,OAAgCI,EAAAzI,EAAA5B,KAApC0B,EAAI2I,EAAJ3I,KAAIE,EAAA5C,OAAA,SACL0C,GAAI,cAAAE,EAAAhD,KAAA,EAAAgD,EAAAnB,GAAAmB,EAAA,SAAAA,EAAA5C,OAAA,SAEJ,CAAE8K,MAAKlI,EAAAnB,KAAO,yBAAAmB,EAAA3C,OAAA,GAAAwC,EAAA,kBAExB,gBAAAN,GAAA,OAAAiJ,EAAA/N,MAAA,KAAA6C,UAAA,EARM,GASPoL,OAAO,WAAD,IAAAC,EAAAlM,YAAAC,cAAAC,MAAE,SAAA6D,EAAMiB,GAAE,IAAAxF,EAAA2M,EAAA9I,EAAA,OAAApD,cAAAI,MAAA,SAAA4D,GAAA,cAAAA,EAAA1D,KAAA0D,EAAAzD,MAAA,OAEyB,OAFzByD,EAAA1D,KAAA,EAENf,EAAMkF,GAAUoB,YAAYd,GAAGf,EAAAzD,KAAA,EACd+F,EAAW/G,GAAI,OAA1B,OAA0B2M,EAAAlI,EAAAtC,KAA9B0B,EAAI8I,EAAJ9I,KAAIY,EAAAtD,OAAA,SACL0C,GAAI,cAAAY,EAAA1D,KAAA,EAAA0D,EAAA7B,GAAA6B,EAAA,SAAAA,EAAAtD,OAAA,SAEH,CAAE8K,MAAKxH,EAAA7B,KAAO,yBAAA6B,EAAArD,OAAA,GAAAmD,EAAA,kBAEzB,gBAAAJ,GAAA,OAAAuI,EAAAlO,MAAA,KAAA6C,UAAA,EARM,IAWMyK,MCtCTc,GAAc,SAAC/I,GAAI,MAAM,CAC7B+F,KAAMiD,KAAMC,aACZV,QAASvI,EACV,EAWKkJ,GAAc,WAAH,MAAU,CACzBnD,KAAMiD,KAAMG,aACb,EAyEKC,GAAiB,CACrBC,QAnGc,SAAChG,GAAI,MAAM,CACzB0C,KAAMiD,KAAMM,SACZf,QAASlF,EACV,EAiGCkG,WA/FiB,WAAH,MAAU,CACxBxD,KAAMiD,KAAMQ,YACb,EA8FCC,UA1EgB,WAAH,sBAAA/M,EAAAC,YAAAC,cAAAC,MAAS,SAAAC,EAAO4M,GAAQ,IAAAC,EAAA,OAAA/M,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACD,OAApCuM,EAASE,GAAQC,OAAOC,YAAY7M,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEX8K,GAAQC,OAAO,KAAD,EAA/ByB,EAAQ1M,EAAAqB,KACdoL,EAASX,GAAYY,GAAY,KAAK1M,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAA8B,GAAA9B,EAAA,SAEtCyM,EAASR,MACTQ,EAASE,GAAQC,OAAOE,YAAY,QAEA,OAFA9M,EAAAC,KAAA,GAEpCwM,EAASE,GAAQC,OAAOE,YAAY9M,EAAA+M,OAAA,6BAAA/M,EAAAM,OAAA,GAAAT,EAAA,wBAEvC,gBAAAyB,GAAA,OAAA7B,EAAA/B,MAAA,KAAA6C,UAAA,EAXc,EAWd,EAgECyM,SA7DA,SADYvM,GAAA,IACTiE,EAAEjE,EAAFiE,GAAE,sBAAAlD,EAAA9B,YAAAC,cAAAC,MACL,SAAAc,EAAO+L,GAAQ,IAAAC,EAAA,OAAA/M,cAAAI,MAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,OACuB,OAApCuM,EAASE,GAAQC,OAAOC,YAAY7L,EAAAf,KAAA,EAAAe,EAAAd,KAAA,EAEX8K,GAAQ7J,IAAIuD,GAAI,KAAD,EAAhCgI,EAAQ1L,EAAAK,KACdoL,GAhCoB1J,EAgCM2J,GAAY,KAhCR,CAClC5D,KAAMiD,KAAMkB,mBACZ3B,QAASvI,KA8BwC/B,EAAAd,KAAA,gBAAAc,EAAAf,KAAA,EAAAe,EAAAc,GAAAd,EAAA,SAE7CyL,EA7B2B,CAC/B3D,KAAMiD,KAAMmB,kBA6BRT,EAASE,GAAQC,OAAOE,YAAY,QAEA,OAFA9L,EAAAf,KAAA,GAEpCwM,EAASE,GAAQC,OAAOE,YAAY9L,EAAA+L,OAAA,6BAAA/L,EAAAV,OArCjB,IAACyC,CAqCgB,GAAArC,EAAA,wBAEvC,gBAAA6B,GAAA,OAAAf,EAAA9D,MAAA,KAAA6C,UAAA,EAZI,EAYJ,EAkDD4M,WAhDiB,SAAC7B,GAAO,sBAAAzI,EAAAnD,YAAAC,cAAAC,MAAK,SAAA6B,EAAOgL,GAAQ,IAAA1J,EAAA,OAAApD,cAAAI,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OACT,OAApCuM,EAASE,GAAQC,OAAOC,YAAYjL,EAAA3B,KAAA,EAAA2B,EAAA1B,KAAA,EAEf8K,GAAQpI,KAAK0I,GAAS,KAAD,EACN,OAD5BvI,EAAInB,EAAAP,KACVoL,EAASX,GAAY/I,GAAQ,KAAKnB,EAAAvB,OAAA,SAC3B,CAAE+M,SAAS,IAAM,OAGY,OAHZxL,EAAA3B,KAAA,EAAA2B,EAAAE,GAAAF,EAAA,SAExB6K,EAASR,MACTQ,EAASE,GAAQC,OAAOE,YAAYlL,EAAAvB,OAAA,SAC7B,CAAE+M,SAAS,EAAOjC,MAAKvJ,EAAAE,KAAO,yBAAAF,EAAAtB,OAAA,GAAAmB,EAAA,kBAExC,gBAAAe,GAAA,OAAAK,EAAAnF,MAAA,KAAA6C,UAAA,EAX0B,EAW1B,EAsCC8M,WApCiB,SAACtK,GAAI,sBAAAS,EAAA9D,YAAAC,cAAAC,MAAK,SAAAkD,EAAO2J,GAAQ,IAAAa,EAAA,OAAA3N,cAAAI,MAAA,SAAAkD,GAAA,cAAAA,EAAAhD,KAAAgD,EAAA/C,MAAA,OACN,OAApCuM,EAASE,GAAQC,OAAOC,YAAY5J,EAAAhD,KAAA,EAAAgD,EAAA/C,KAAA,EAET8K,GAAQQ,OAAOzI,GAAM,KAAD,EACL,OADlCuK,EAAUrK,EAAA5B,KAChBoL,EAASX,GAAYwB,GAAc,KAAKrK,EAAA5C,OAAA,SACjC,CAAE+M,SAAS,IAAM,OAGY,OAHZnK,EAAAhD,KAAA,EAAAgD,EAAAnB,GAAAmB,EAAA,SAExBwJ,EAASR,MACTQ,EAASE,GAAQC,OAAOE,YAAY7J,EAAA5C,OAAA,SAC7B,CAAE+M,SAAS,EAAOjC,MAAKlI,EAAAnB,KAAO,QAED,OAFCmB,EAAAhD,KAAA,GAErCwM,EAASE,GAAQC,OAAOE,YAAY7J,EAAA8J,OAAA,6BAAA9J,EAAA3C,OAAA,GAAAwC,EAAA,wBAEvC,gBAAAO,GAAA,OAAAG,EAAA9F,MAAA,KAAA6C,UAAA,EAbuB,EAavB,EAwBCgN,WAtBiB,SAAC7I,GAAE,sBAAAX,EAAArE,YAAAC,cAAAC,MAAK,SAAA6D,EAAMgJ,GAAQ,IAAA1J,EAAA,OAAApD,cAAAI,MAAA,SAAA4D,GAAA,cAAAA,EAAA1D,KAAA0D,EAAAzD,MAAA,OACJ,OAAnCuM,EAASE,GAAQC,OAAOC,YAAWlJ,EAAA1D,KAAA,EAAA0D,EAAAzD,KAAA,EAEd8K,GAAQW,OAAOjH,GAAG,OACJ,OAD3B3B,EAAIY,EAAAtC,KACVoL,EAASX,GAAY/I,GAAQ,KAAIY,EAAAtD,OAAA,SAC1B,CAAE+M,SAAS,IAAK,OAGY,OAHZzJ,EAAA1D,KAAA,EAAA0D,EAAA7B,GAAA6B,EAAA,SAEvB8I,EAASR,MACTQ,EAASE,GAAQC,OAAOE,YAAWnJ,EAAAtD,OAAA,SAC5B,CAAE+M,SAAS,EAAOjC,MAAKxH,EAAA7B,KAAM,QAED,OAFC6B,EAAA1D,KAAA,GAEpCwM,EAASE,GAAQC,OAAOE,YAAWnJ,EAAAoJ,OAAA,6BAAApJ,EAAArD,OAAA,GAAAmD,EAAA,wBAEtC,gBAAAH,GAAA,OAAAS,EAAArG,MAAA,KAAA6C,UAAA,EAbqB,EAarB,GAYc4L,MChGAqB,GALO,CACrBX,WAVkB,SAAA9J,GAAI,MAAK,CAC3B+F,KAAMiD,KAAM0B,YACZnC,QAASvI,EACT,EAQA+J,WANkB,WAAH,MAAU,CACzBhE,KAAMiD,KAAM2B,YACZ,G,oBCNKC,GAAS,CACdxM,IAAI,WAAD,IAAAiK,EAAA1L,YAAAC,cAAAC,MAAE,SAAAC,IAAA,IAAAX,EAAA8G,EAAA,OAAArG,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEgC,OAFhCF,EAAAC,KAAA,EAEMf,EAAMkF,GAAUE,WAAUtE,EAAAE,KAAA,EACV+F,EAAQ/G,GAAI,OAArB,OAAP8G,EAAOhG,EAAAqB,KAAArB,EAAAK,OAAA,SACN2F,EAAQrF,UAAQ,cAAAX,EAAAC,KAAA,EAAAD,EAAA8B,GAAA9B,EAAA,SAAAA,EAAAK,OAAA,SAEf,CAAE8K,MAAKnL,EAAA8B,KAAO,yBAAA9B,EAAAM,OAAA,GAAAT,EAAA,kBAEzB,yBAAAuL,EAAA1N,MAAA,KAAA6C,UAAA,EARE,GASHqC,KAAK,WAAD,IAAAyI,EAAA3L,YAAAC,cAAAC,MAAE,SAAAc,EAAM4K,GAAO,IAAApM,EAAAqM,EAAAqC,EAAA7K,EAAA,OAAApD,cAAAI,MAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,OAEkB,OAFlBc,EAAAf,KAAA,EAETf,EAAMkF,GAAUG,YAAWvD,EAAAd,KAAA,EACJ+F,EAAS/G,EAAKoM,GAAQ,OAAjC,OAAiCC,EAAAvK,EAAAK,KAA3CuM,EAAIrC,EAAJqC,KAAM7K,EAAIwI,EAAJxI,KAAI/B,EAAAX,OAAA,SACX,CAACuN,EAAM7K,IAAK,eAAA/B,EAAAf,KAAA,GAAAe,EAAAc,GAAAd,EAAA,SAAAA,EAAAX,OAAA,SAEX,CAAE8K,MAAKnK,EAAAc,KAAO,yBAAAd,EAAAV,OAAA,GAAAI,EAAA,mBAEzB,gBAAAY,GAAA,OAAA+J,EAAA3N,MAAA,KAAA6C,UAAA,EARI,GASLiL,OAAO,WAAD,IAAAC,EAAA/L,YAAAC,cAAAC,MAAE,SAAA6B,EAAM6J,GAAO,IAAApM,EAAAwM,EAAA3I,EAAA,OAAApD,cAAAI,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEkB,OAFlB0B,EAAA3B,KAAA,EAEXf,EAAMkF,GAAUI,cAAa5C,EAAA1B,KAAA,EACZ+F,EAAQ/G,EAAKoM,GAAQ,OAAhC,OAAgCI,EAAA9J,EAAAP,KAApC0B,EAAI2I,EAAJ3I,KAAInB,EAAAvB,OAAA,SACL0C,GAAI,cAAAnB,EAAA3B,KAAA,EAAA2B,EAAAE,GAAAF,EAAA,SAAAA,EAAAvB,OAAA,SAEH,CAAE8K,MAAKvJ,EAAAE,KAAO,yBAAAF,EAAAtB,OAAA,GAAAmB,EAAA,kBAEzB,gBAAAc,GAAA,OAAAkJ,EAAA/N,MAAA,KAAA6C,UAAA,EARM,GASPoL,OAAO,WAAD,IAAAC,EAAAlM,YAAAC,cAAAC,MAAE,SAAAkD,EAAM4B,GAAE,IAAAxF,EAAA2M,EAAA9I,EAAA,OAAApD,cAAAI,MAAA,SAAAkD,GAAA,cAAAA,EAAAhD,KAAAgD,EAAA/C,MAAA,OAE2B,OAF3B+C,EAAAhD,KAAA,EAENf,EAAMkF,GAAUK,cAAcC,GAAGzB,EAAA/C,KAAA,EAChB+F,EAAW/G,GAAI,OAA1B,OAA0B2M,EAAA5I,EAAA5B,KAA9B0B,EAAI8I,EAAJ9I,KAAIE,EAAA5C,OAAA,SACL0C,GAAI,cAAAE,EAAAhD,KAAA,EAAAgD,EAAAnB,GAAAmB,EAAA,SAAAA,EAAA5C,OAAA,SAEH,CAAE8K,MAAKlI,EAAAnB,KAAO,yBAAAmB,EAAA3C,OAAA,GAAAwC,EAAA,kBAEzB,gBAAAN,GAAA,OAAAoJ,EAAAlO,MAAA,KAAA6C,UAAA,EARM,IAWMoN,MCvCTE,GAAY,CAChB1M,IAAI,WAAD,IAAAiK,EAAA1L,YAAAC,cAAAC,MAAE,SAAAC,EAAM6E,GAAE,IAAAxF,EAAA4O,EAAAnN,EAAA,OAAAhB,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEwC,OAFxCF,EAAAC,KAAA,EAEHf,EAAMkF,GAAUS,wBAAwBH,GAAG1E,EAAAE,KAAA,EACtB+F,EAAQ/G,GAAI,OAAvB,OAAuB4O,EAAA9N,EAAAqB,KAA/BV,EAAQmN,EAARnN,SAAQX,EAAAK,OAAA,SACTM,GAAQ,cAAAX,EAAAC,KAAA,EAAAD,EAAA8B,GAAA9B,EAAA,SAAAA,EAAAK,OAAA,SAEP,CAAE8K,MAAKnL,EAAA8B,KAAO,yBAAA9B,EAAAM,OAAA,GAAAT,EAAA,kBAEzB,gBAAAyB,GAAA,OAAA8J,EAAA1N,MAAA,KAAA6C,UAAA,EARG,GASJqC,KAAK,WAAD,IAAAyI,EAAA3L,YAAAC,cAAAC,MAAE,SAAAc,EAAMqC,GAAI,IAAA7D,EAAAqM,EAAA5K,EAAA,OAAAhB,cAAAI,MAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,OAEwB,OAFxBc,EAAAf,KAAA,EAENf,EAAMkF,GAAUO,eAAc3D,EAAAd,KAAA,EACT+F,EAAS/G,EAAK6D,GAAK,OAA9B,OAA8BwI,EAAAvK,EAAAK,KAAtCV,EAAQ4K,EAAR5K,SAAQK,EAAAX,OAAA,SACTM,GAAQ,cAAAK,EAAAf,KAAA,EAAAe,EAAAc,GAAAd,EAAA,SAAAA,EAAAX,OAAA,SAEP,CAAE8K,MAAKnK,EAAAc,KAAO,yBAAAd,EAAAV,OAAA,GAAAI,EAAA,kBAEzB,gBAAA6B,GAAA,OAAA8I,EAAA3N,MAAA,KAAA6C,UAAA,EARI,GASLiL,OAAO,WAAD,IAAAC,EAAA/L,YAAAC,cAAAC,MAAE,SAAA6B,EAAMsB,GAAI,IAAA7D,EAAAwM,EAAArF,EAAA,OAAA1G,cAAAI,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEwB,OAFxB0B,EAAA3B,KAAA,EAERf,EAAMkF,GAAUQ,iBAAgBhD,EAAA1B,KAAA,EACZ+F,EAAQ/G,EAAK6D,GAAK,OAA7B,OAA6B2I,EAAA9J,EAAAP,KAApCgF,EAAOqF,EAAPrF,QAAOzE,EAAAvB,OAAA,SACRgG,GAAO,cAAAzE,EAAA3B,KAAA,EAAA2B,EAAAE,GAAAF,EAAA,SAAAA,EAAAvB,OAAA,SAEN,CAAE8K,MAAKvJ,EAAAE,KAAO,yBAAAF,EAAAtB,OAAA,GAAAmB,EAAA,kBAEzB,gBAAAe,GAAA,OAAAiJ,EAAA/N,MAAA,KAAA6C,UAAA,EARM,GASPoL,OAAO,WAAD,IAAAC,EAAAlM,YAAAC,cAAAC,MAAE,SAAAkD,EAAMC,GAAI,IAAA7D,EAAA2M,EAAAkC,EAAA,OAAApO,cAAAI,MAAA,SAAAkD,GAAA,cAAAA,EAAAhD,KAAAgD,EAAA/C,MAAA,OAEwC,OAFxC+C,EAAAhD,KAAA,EAERf,EAAMkF,GAAUW,2BAA2BhC,GAAKE,EAAA/C,KAAA,EACvB+F,EAAW/G,GAAI,OAAlC,OAAkC2M,EAAA5I,EAAA5B,KAAhC0M,EAAMlC,EAAZ9I,KAAIE,EAAA5C,OAAA,SACL0N,GAAM,cAAA9K,EAAAhD,KAAA,EAAAgD,EAAAnB,GAAAmB,EAAA,SAAAA,EAAA5C,OAAA,SAEL,CAAE8K,MAAKlI,EAAAnB,KAAO,yBAAAmB,EAAA3C,OAAA,GAAAwC,EAAA,kBAEzB,gBAAAO,GAAA,OAAAuI,EAAAlO,MAAA,KAAA6C,UAAA,EARM,IAWMsN,MCpCTG,GAAgB,SAAAjL,GAAI,MAAK,CAC7B+F,KAAMiD,KAAMkC,eACZ3C,QAASvI,EACV,EAEKmL,GAAgB,WAAH,MAAU,CAC3BpF,KAAMiD,KAAMoC,eACb,EA+EKC,GAAgB,CACpBC,WA9EiB,WAAH,sBAAA5O,EAAAC,YAAAC,cAAAC,MAAS,SAAAC,EAAM4M,GAAQ,IAAAC,EAAA,OAAA/M,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACF,OAAnCuM,EAASE,GAAQC,OAAOC,YAAW7M,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEVyN,GAAOxM,MAAK,OAA7BuL,EAAQ1M,EAAAqB,KACdoL,EAASuB,GAActB,GAAY,KAAI1M,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAA8B,GAAA9B,EAAA,SAEvCyM,EAASyB,MACTzB,EAASE,GAAQC,OAAOE,YAAW,yBAAA9M,EAAAM,OAAA,GAAAT,EAAA,kBAEtC,gBAAAyB,GAAA,OAAA7B,EAAA/B,MAAA,KAAA6C,UAAA,EATe,EASf,EAsEC+N,aApEmB,SAAChD,GAAO,IAAEiD,EAAUhO,UAAAsB,OAAA,QAAAY,IAAAlC,UAAA,GAAAA,UAAA,QAAGkC,EAAS,sBAAAhC,EAAAf,YAAAC,cAAAC,MAAK,SAAAc,EAAM+L,GAAQ,IAAA+B,EAAAC,EAAAb,EAAA7K,EAAA2L,EAAA,OAAA/O,cAAAI,MAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,OACnC,OAAnCuM,EAASE,GAAQC,OAAOC,YAAW7L,EAAAf,KAAA,EAAAe,EAAAd,KAAA,EAENyN,GAAO/K,KAAK0I,GAAQ,OAA9B,GAA8BkD,EAAAxN,EAAAK,KAAAoN,EAAAE,YAAAH,EAAA,GAAxCZ,EAAIa,EAAA,GAAE1L,EAAI0L,EAAA,KAEdG,OAAOC,KAAKN,GAAY1M,OAAS,GAAC,CAAAb,EAAAd,KAAA,SAIhC,OAHGwO,EAAwBH,EAAW,GAAGO,KAAI,SAAAC,GAAI,OAAAhN,wBAAA,GAC/CgN,GAAI,IACPjK,SAAU8I,GAAI,IACb5M,EAAAd,KAAA,GACG2N,GAAUjL,KAAK8L,GAAsB,QAGV,OAAnCjC,EAASuB,GAAcjL,GAAQ,KAAI/B,EAAAX,OAAA,SAC5B,CAAE+M,SAAS,IAAK,QAGY,OAHZpM,EAAAf,KAAA,GAAAe,EAAAc,GAAAd,EAAA,SAEvByL,EAASyB,MACTzB,EAASE,GAAQC,OAAOE,YAAW9L,EAAAX,OAAA,SAC5B,CAAE+M,SAAS,EAAOjC,MAAKnK,EAAAc,KAAM,yBAAAd,EAAAV,OAAA,GAAAI,EAAA,mBAEvC,gBAAA6B,GAAA,OAAA9B,EAAA/C,MAAA,KAAA6C,UAAA,EApBoD,EAoBpD,EAiDCyO,aA/CmB,SAACjM,GAAI,IAAEwL,EAAUhO,UAAAsB,OAAA,QAAAY,IAAAlC,UAAA,GAAAA,UAAA,QAAGkC,EAAS,sBAAAjB,EAAA9B,YAAAC,cAAAC,MAAK,SAAA6B,EAAMgL,GAAQ,IAAAwC,EAAAC,EAAAC,EAAA,OAAAxP,cAAAI,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAChC,OAAnCuM,EAASE,GAAQC,OAAOC,YAAWjL,EAAA3B,KAAA,EAAA2B,EAAA1B,KAAA,EAENyN,GAAOnC,OAAOzI,GAAK,OAA5B,GAAZkM,EAAYrN,EAAAP,OACfuN,OAAOC,KAAKN,GAAY1M,OAAS,GAAC,CAAAD,EAAA1B,KAAA,SAUjC,GATIgP,EAAmB,GACnBC,EAAe,GAErBZ,EAAWxL,EAAK2B,IAAI0K,SAAQ,SAAAL,GAE1BM,KAASN,EAAKrK,IAAMyK,EAAaG,KAAIvN,wBAAC,CAAC,EAClCgN,GAAI,IAAEjK,SAAU/B,EAAK2B,MACpBwK,EAAiBI,KAAIvN,YAAC,CAAC,EACxBgN,GACP,MACGI,EAAatN,OAAS,GAAC,CAAAD,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,GAAQ2N,GAAUjL,KAAKuM,GAAa,aAC3DD,EAAiBrN,OAAS,GAAC,CAAAD,EAAA1B,KAAA,gBAAA0B,EAAA1B,KAAA,GAAQ2N,GAAUrC,OAAO0D,GAAiB,QAE/B,OAA3CzC,EAASuB,GAAciB,GAAgB,KAAIrN,EAAAvB,OAAA,SACpC,CAAE+M,SAAS,IAAK,QAGY,OAHZxL,EAAA3B,KAAA,GAAA2B,EAAAE,GAAAF,EAAA,SAEvB6K,EAASyB,MACTzB,EAASE,GAAQC,OAAOE,YAAWlL,EAAAvB,OAAA,SAC5B,CAAE+M,SAAS,EAAOjC,MAAKvJ,EAAAE,KAAM,QAED,OAFCF,EAAA3B,KAAA,GAEpCwM,EAASE,GAAQC,OAAOE,YAAWlL,EAAAmL,OAAA,6BAAAnL,EAAAtB,OAAA,GAAAmB,EAAA,yBAEtC,gBAAAe,GAAA,OAAAhB,EAAA9D,MAAA,KAAA6C,UAAA,EA3BiD,EA2BjD,EAqBCgP,aAnBmB,SAAC7K,GAAE,sBAAA7B,EAAAnD,YAAAC,cAAAC,MAAK,SAAAkD,EAAM2J,GAAQ,IAAA1J,EAAA,OAAApD,cAAAI,MAAA,SAAAkD,GAAA,cAAAA,EAAAhD,KAAAgD,EAAA/C,MAAA,OACN,OAAnCuM,EAASE,GAAQC,OAAOC,YAAW5J,EAAAhD,KAAA,EAAAgD,EAAA/C,KAAA,EAEdyN,GAAOhC,OAAOjH,GAAG,OACD,OAD7B3B,EAAIE,EAAA5B,KACVoL,EAASuB,GAAcjL,GAAQ,KAAIE,EAAA5C,OAAA,SAC5B,CAAE+M,SAAS,IAAK,OAGY,OAHZnK,EAAAhD,KAAA,EAAAgD,EAAAnB,GAAAmB,EAAA,SAEvBwJ,EAASyB,MACTzB,EAASE,GAAQC,OAAOE,YAAW7J,EAAA5C,OAAA,SAC5B,CAAE+M,SAAS,EAAOjC,MAAKlI,EAAAnB,KAAM,QAED,OAFCmB,EAAAhD,KAAA,GAEpCwM,EAASE,GAAQC,OAAOE,YAAW7J,EAAA8J,OAAA,6BAAA9J,EAAA3C,OAAA,GAAAwC,EAAA,wBAEtC,gBAAAO,GAAA,OAAAR,EAAAnF,MAAA,KAAA6C,UAAA,EAbuB,EAavB,GASc6N,MCpFAoB,GALM,CACpBC,UATiB,WAAH,MAAU,CACxB3G,KAAMiD,KAAM2D,WACZ,EAQAC,WANkB,WAAH,MAAU,CACzB7G,KAAMiD,KAAM6D,YACZ,G,SCHKC,GAAmB,SAAA9M,GAAI,MAAK,CACjC+F,KAAMiD,KAAM+D,kBACZxE,QAASvI,EACT,EAEKgN,GAAmB,WAAH,MAAU,CAC/BjH,KAAMiD,KAAMiE,kBACZ,EA6DKC,GAAmB,CACxBJ,oBACAE,oBACCG,sBA9D4B,SAAApL,GAAQ,sBAAArF,EAAAC,YAAAC,cAAAC,MAAI,SAAAC,EAAM4M,GAAQ,IAAAC,EAAA,OAAA/M,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACpB,OAAnCuM,EAASE,GAAQC,OAAOC,YAAW7M,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAET2N,GAAU1M,IAAI2D,GAAS,OAAhC,KAAR4H,EAAQ1M,EAAAqB,MAEF8J,MAAM,CAADnL,EAAAE,KAAA,QACe,OAA9BuM,EAASoD,GAAiB,KAAI7P,EAAAK,OAAA,iBAIhCoM,EAASoD,GAAiBnD,IAAU1M,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAA8B,GAAA9B,EAAA,SAEpCyM,EAASsD,MACTtD,EAASE,GAAQC,OAAOE,YAAW,QAEA,OAFA9M,EAAAC,KAAA,GAEnCwM,EAASE,GAAQC,OAAOE,YAAW9M,EAAA+M,OAAA,6BAAA/M,EAAAM,OAAA,GAAAT,EAAA,yBAEtC,gBAAAyB,GAAA,OAAA7B,EAAA/B,MAAA,KAAA6C,UAAA,EAjBqC,EAiBrC,EA8CC4P,aA5CmB,SAAAtC,GAAS,MAAK,CACjC/E,KAAMiD,KAAMqE,cACZ9E,QAASuC,EACV,EA0CCwC,gBAxCsB,SAAAxC,GAAS,MAAK,CACpC/E,KAAMiD,KAAMnH,iBACZ0G,QAASuC,EACV,EAsCCyC,gBApCsB,WAAH,MAAU,CAC7BxH,KAAMiD,KAAMwE,gBACb,EAmCCC,gBAjCsB,SAAH/P,GAAA,IAAKiE,EAAEjE,EAAFiE,GAAII,EAAQrE,EAARqE,SAAQ,sBAAAtD,EAAA9B,YAAAC,cAAAC,MAAM,SAAAc,EAAO+L,EAAUgE,GAAQ,IAAA/D,EAAAgE,EAAAC,EAAAC,EAAA,OAAAjR,cAAAI,MAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,OAIjE,GAJiEc,EAAAf,KAAA,EAG3DyQ,EAAeD,IAAW5C,UAAUgD,mBAAmB/L,IAE1DuK,KAAS3K,GAAI,CAAD1D,EAAAd,KAAA,QACbwM,EAAWgE,EAAaI,QAAO,SAAA/B,GAAI,OAAIrK,IAAOqK,EAAKrK,EAAE,IAAC1D,EAAAd,KAAA,uBAAAc,EAAAd,KAAA,EAErC2N,GAAUlC,OAAO,CAACjH,KAAII,aAAU,OAAjD4H,EAAQ1L,EAAAK,KACFuP,EAAYF,EAAaI,QAAO,SAAAlD,GAAI,OAAIyB,KAASzB,EAAKlJ,GAAG,KAC/DiM,EAAAjE,GAAS4C,KAAI5R,MAAAiT,EAAAI,aAAIH,IAAU,YAG1BlE,EAASvB,MAAM,CAADnK,EAAAd,KAAA,gBAAAc,EAAAX,OAAA,kBAIjBoM,EAASoD,GAAiBnD,IAAU1L,EAAAd,KAAA,iBAAAc,EAAAf,KAAA,GAAAe,EAAAc,GAAAd,EAAA,SAEpCyL,EAASsD,MACTtD,EAASE,GAAQC,OAAOE,YAAW,QAEA,OAFA9L,EAAAf,KAAA,GAEnCwM,EAASE,GAAQC,OAAOE,YAAW9L,EAAA+L,OAAA,6BAAA/L,EAAAV,OAAA,GAAAI,EAAA,yBAEtC,gBAAA6B,EAAAC,GAAA,OAAAhB,EAAA9D,MAAA,KAAA6C,UAAA,EAxBqC,EAwBrC,GAYc0P,MCpEAe,GALQ,CACtBC,YATmB,WAAH,MAAU,CAC1BnI,KAAMiD,KAAMmF,aACZ,EAQAC,YANmB,WAAH,MAAU,CAC1BrI,KAAMiD,KAAMqF,aACZ,GCLKC,GAAS,CACdC,qBAAqB,WAAD,IAAAC,EAAA7R,YAAAC,cAAAC,MAAE,SAAAC,EAAOkD,GAAI,IAAA7D,EAAA8G,EAAA,OAAArG,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEiB,OAFjBF,EAAAC,KAAA,EAEtBf,EAAMkF,GAAUY,wBAAuBhF,EAAAE,KAAA,EACvB+F,EAAS/G,EAAK6D,GAAK,OAA5B,OAAPiD,EAAOhG,EAAAqB,KAAArB,EAAAK,OAAA,SACN2F,EAAQrF,UAAY,IAAE,cAAAX,EAAAC,KAAA,EAAAD,EAAA8B,GAAA9B,EAAA,SAAAA,EAAAK,OAAA,SAErB,CAAE8K,MAAKnL,EAAA8B,KAAO,yBAAA9B,EAAAM,OAAA,GAAAT,EAAA,kBAEzB,gBAAAyB,GAAA,OAAAiQ,EAAA7T,MAAA,KAAA6C,UAAA,EARmB,GASrBiR,gBAAgB,WAAD,IAAAC,EAAA/R,YAAAC,cAAAC,MAAE,SAAAc,EAAOqC,GAAI,IAAA7D,EAAA8G,EAAA,OAAArG,cAAAI,MAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,OAE2B,OAF3Bc,EAAAf,KAAA,EAEjBf,EAAMkF,GAAUa,6BAA4BjE,EAAAd,KAAA,EAC5B+F,EAAS/G,EAAK6D,GAAK,OAA5B,OAAPiD,EAAOhF,EAAAK,KAAAL,EAAAX,OAAA,SACN2F,EAAQrF,UAAY,IAAE,cAAAK,EAAAf,KAAA,EAAAe,EAAAc,GAAAd,EAAA,SAAAA,EAAAX,OAAA,SAErB,CAAE8K,MAAKnK,EAAAc,KAAO,yBAAAd,EAAAV,OAAA,GAAAI,EAAA,kBAEzB,gBAAA6B,GAAA,OAAAkP,EAAA/T,MAAA,KAAA6C,UAAA,EARc,GAShBmR,kBAAkB,WAAD,IAAAC,EAAAjS,YAAAC,cAAAC,MAAE,SAAA6B,EAAOsB,GAAI,IAAA7D,EAAA8G,EAAA,OAAArG,cAAAI,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEkB,OAFlB0B,EAAA3B,KAAA,EAEnBf,EAAMkF,GAAUc,sBAAqBtD,EAAA1B,KAAA,EACrB+F,EAAS/G,EAAK6D,GAAK,OAA5B,OAAPiD,EAAOpE,EAAAP,KAAAO,EAAAvB,OAAA,SACN2F,EAAQrF,UAAY,IAAE,cAAAiB,EAAA3B,KAAA,EAAA2B,EAAAE,GAAAF,EAAA,SAAAA,EAAAvB,OAAA,SAErB,CAAE8K,MAAKvJ,EAAAE,KAAO,yBAAAF,EAAAtB,OAAA,GAAAmB,EAAA,kBAEzB,gBAAAe,GAAA,OAAAmP,EAAAjU,MAAA,KAAA6C,UAAA,EARgB,IAWJ8Q,MC7BTO,GAAgB,SAAC7O,GAAI,MAAM,CAC/B+F,KAAMiD,KAAM8F,eACZvG,QAASvI,EACV,EAEK+O,GAAgB,WAAH,MAAU,CAC3BhJ,KAAMiD,KAAMgG,eACb,EAEKC,GAAgB,WAAH,MAAU,CAC3BlJ,KAAMiD,KAAMkG,eACb,EAkFKC,GAAgB,CACpBN,iBACAE,iBACAK,sBAlFA,SADyB1S,GAAA,IACtBkL,EAASlL,EAATkL,UAAWyH,EAAO3S,EAAP2S,QAASC,EAAW5S,EAAX4S,YAAazR,EAAMnB,EAANmB,OAAM,sBAAAH,EAAAf,YAAAC,cAAAC,MAC1C,SAAAC,EAAO4M,GAAQ,IAAAC,EAAA,OAAA/M,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEa,OAD1BuM,EAASE,GAAQC,OAAOC,YACxBJ,EAASuF,MAAiBhS,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEDmR,GAAOC,qBAAqB,CACjD3G,YACAyH,UACAC,cACAzR,WACC,KAAD,EALY,KAAR8L,EAAQ1M,EAAAqB,MAOD8J,MAAM,CAADnL,EAAAE,KAAA,QACY,OAA5BuM,EAASmF,GAAc,KAAK5R,EAAAK,OAAA,iBAI9BoM,EAASmF,GAAclF,IAAW1M,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAA8B,GAAA9B,EAAA,SAElCyM,EAASqF,MACTrF,EAASE,GAAQC,OAAOE,YAAY,QAEA,OAFA9M,EAAAC,KAAA,GAEpCwM,EAASE,GAAQC,OAAOE,YAAY9M,EAAA+M,OAAA,6BAAA/M,EAAAM,OAAA,GAAAT,EAAA,yBAEvC,gBAAAyB,GAAA,OAAAb,EAAA/C,MAAA,KAAA6C,UAAA,EAxByC,EAwBzC,EA2DD+R,iBAxDA,SADoB9Q,GAAA,IACjBmJ,EAASnJ,EAATmJ,UAAWyH,EAAO5Q,EAAP4Q,QAASC,EAAW7Q,EAAX6Q,YAAazR,EAAMY,EAANZ,OAAM,sBAAAiC,EAAAnD,YAAAC,cAAAC,MAC1C,SAAAc,EAAO+L,GAAQ,IAAAC,EAAA,OAAA/M,cAAAI,MAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,OAEa,OAD1BuM,EAASE,GAAQC,OAAOC,YACxBJ,EAASuF,MAAiBhR,EAAAf,KAAA,EAAAe,EAAAd,KAAA,EAGDmR,GAAOG,gBAAgB,CAC5C7G,YACAyH,UACAC,cACAzR,WACC,KAAD,EALY,KAAR8L,EAAQ1L,EAAAK,MAOD8J,MAAM,CAADnK,EAAAd,KAAA,QACY,OAA5BuM,EAASmF,GAAc,KAAK5Q,EAAAX,OAAA,iBAI9BoM,EAASmF,GAAclF,IAAW1L,EAAAd,KAAA,iBAAAc,EAAAf,KAAA,GAAAe,EAAAc,GAAAd,EAAA,SAElCyL,EAASqF,MACTrF,EAASE,GAAQC,OAAOE,YAAY,QAEA,OAFA9L,EAAAf,KAAA,GAEpCwM,EAASE,GAAQC,OAAOE,YAAY9L,EAAA+L,OAAA,6BAAA/L,EAAAV,OAAA,GAAAI,EAAA,yBAEvC,gBAAA6B,GAAA,OAAAM,EAAAnF,MAAA,KAAA6C,UAAA,EAzByC,EAyBzC,EAgCDgS,oBA7BA,SADuB/O,GAAA,IACpB6O,EAAW7O,EAAX6O,YAAazR,EAAM4C,EAAN5C,OAAQ4R,EAAgBhP,EAAhBgP,iBAAgB,sBAAAzO,EAAArE,YAAAC,cAAAC,MACxC,SAAA6B,EAAOgL,GAAQ,IAAAC,EAAA,OAAA/M,cAAAI,MAAA,SAAA6B,GAAA,cAAAA,EAAA3B,KAAA2B,EAAA1B,MAAA,OAEa,OAD1BuM,EAASE,GAAQC,OAAOC,YACxBJ,EAASuF,MAAiBpQ,EAAA3B,KAAA,EAAA2B,EAAA1B,KAAA,EAGDmR,GAAOK,kBAAkB,CAC9CW,cAAazR,SAAQ4R,qBACpB,KAAD,EAFY,KAAR9F,EAAQ9K,EAAAP,MAID8J,MAAM,CAADvJ,EAAA1B,KAAA,QACY,OAA5BuM,EAASmF,GAAc,KAAKhQ,EAAAvB,OAAA,iBAI9BoM,EAASmF,GAAclF,IAAW9K,EAAA1B,KAAA,iBAAA0B,EAAA3B,KAAA,GAAA2B,EAAAE,GAAAF,EAAA,SAElC6K,EAASqF,MACTrF,EAASE,GAAQC,OAAOE,YAAY,QAEA,OAFAlL,EAAA3B,KAAA,GAEpCwM,EAASE,GAAQC,OAAOE,YAAYlL,EAAAmL,OAAA,6BAAAnL,EAAAtB,OAAA,GAAAmB,EAAA,yBAEvC,gBAAAe,GAAA,OAAAuB,EAAArG,MAAA,KAAA6C,UAAA,EAtBuC,EAsBvC,GAUY2R,MCtGTO,GAAW,CAChBtR,IAAI,WAAD,IAAAiK,EAAA1L,YAAAC,cAAAC,MAAE,SAAAC,IAAA,IAAAX,EAAA8G,EAAA,OAAArG,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEuC,OAFvCF,EAAAC,KAAA,EAEMf,EAAMkF,GAAUqB,kBAAiBzF,EAAAE,KAAA,EACjB+F,EAAQ/G,GAAI,OAArB,OAAP8G,EAAOhG,EAAAqB,KAAArB,EAAAK,OAAA,SACN2F,EAAQrF,UAAQ,cAAAX,EAAAC,KAAA,EAAAD,EAAA8B,GAAA9B,EAAA,SAAAA,EAAAK,OAAA,SAEf,CAAE8K,MAAKnL,EAAA8B,KAAO,yBAAA9B,EAAAM,OAAA,GAAAT,EAAA,kBAEzB,yBAAAuL,EAAA1N,MAAA,KAAA6C,UAAA,EARE,IAWUkS,MCWTC,GAAkB,CACtBC,cAdoB,WAAH,sBAAAlT,EAAAC,YAAAC,cAAAC,MAAS,SAAAC,EAAM4M,GAAQ,IAAAC,EAAA,OAAA/M,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACL,OAAnCuM,EAASE,GAAQC,OAAOC,YAAW7M,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEVuS,GAAStR,MAAK,OAA/BuL,EAAQ1M,EAAAqB,KACdoL,GAboB1J,EAaK2J,GAAY,GAbR,CAC/B5D,KAAMiD,KAAM6G,sBACZtH,QAASvI,KAWkC/C,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAA8B,GAAA9B,EAAA,SAEzCyM,EAV2B,CAC7B3D,KAAMiD,KAAM8G,qBAUVpG,EAASE,GAAQC,OAAOE,YAAW,yBAAA9M,EAAAM,OAhBf,IAAAyC,CAgBe,GAAAlD,EAAA,kBAEtC,gBAAAyB,GAAA,OAAA7B,EAAA/B,MAAA,KAAA6C,UAAA,EATkB,EASlB,GCFcoM,GAXC,CACf3B,WACA4B,UACAe,UACAmF,SACAjF,aACAxH,WACAgL,UACAoB,SDacC,I,sEEtBA,SAASK,GAAWtT,GAE/B,IADFsI,EAAQtI,EAARsI,SAAUiL,EAAUvT,EAAVuT,WAAYC,EAASxT,EAATwT,UAAWC,EAAYzT,EAAZyT,aAAcC,EAAW1T,EAAX0T,YAAaC,EAAW3T,EAAX2T,YAE5DC,EAAwBC,IAAMC,UAAS,GAAMC,EAAA7E,YAAA0E,EAAA,GAAtC1L,EAAI6L,EAAA,GAAEC,EAAOD,EAAA,GAMdE,EAAc,WAClBD,GAAQ,EACV,EAOA,OACEzL,gBAAA,OAAAD,SAAA,CACEjB,eAAC6M,IAAM,CAACnK,QAAQ,WAAWoK,MAAM,UAAU1L,QAfvB,WACtBuL,GAAQ,EACV,EAawE1L,SACjEA,IAEHC,gBAAC6L,KAAM,CACLlM,KAAMA,EACNC,QAAS8L,EACT,kBAAgB,qBAChB,mBAAiB,2BAA0B3L,SAAA,CAE3CjB,eAACgN,KAAW,CAACpP,GAAG,qBAAoBqD,SAAEqL,IACtCtM,eAACiN,KAAa,CAAAhM,SACZjB,eAACkN,KAAiB,CAACtP,GAAG,2BAA0BqD,SAC7CiL,MAGLhL,gBAACiM,KAAa,CAAAlM,SAAA,CACZjB,eAAC6M,IAAM,CAACzL,QAASwL,EAAaE,MAAM,UAAS7L,SAC1CmL,IAEHpM,eAAC6M,IAAM,CAACzL,QA1BI,WAClBwL,IACAP,GACF,EAuBsCS,MAAM,UAAUM,WAAS,EAAAnM,SACpDkL,YAMb,CC/CA,I,sGAAMkB,GAAe,SAAH1U,GAAgB,IAAViF,EAAEjF,EAAFiF,GACjB+H,EAAW2H,cACjB,OACCtN,eAACiM,GAAW,CACXK,YAAa,kBACbJ,WAAY,4CACZC,UAAW,WACXC,aAAc,WACdC,YAAa,kBAAM1G,EAASE,GAAQgB,OAAO4B,aAAa7K,GAAI,EAACqD,SAE7DjB,eAACuN,KAAwB,CAACC,MAAO,CAAEC,OAAQ,cAG9C,EAEaC,GAAmB,CAC/B,CACC3K,KAAM,OACN4K,SAAU,OACVC,UAAU,EACVC,QAAQ,GAET,CACC9K,KAAM,MACN4K,SAAU,WACVC,UAAU,EACVC,QAAQ,GAET,CACC9K,KAAM,iBACN4K,SAAU,SACVC,UAAU,EACVC,QAAQ,GAET,CACC9K,KAAM,mBACN4K,SAAU,UACVG,OAAQ,SAAAC,GAAG,OAAIC,KAAOD,EAAIE,SAASH,OAAO,aAAa,EACvDF,UAAU,EACVC,QAAQ,GAET,CACCK,KAAM,SAAAH,GAAG,OAAI/N,eAACqN,GAAY,CAACzP,GAAImQ,EAAInQ,IAAM,EACzCuQ,gBAAgB,EAChBC,eAAe,EACf5M,QAAQ,EACRqM,QAAQ,I,uJCnDKQ,GCGD,SAAH1V,GAA2H,IAArHmK,EAAKnK,EAALmK,MAAOd,EAAIrJ,EAAJqJ,KAAME,EAAKvJ,EAALuJ,MAAOC,EAAQxJ,EAARwJ,SAAUY,EAAIpK,EAAJoK,KAAIuL,EAAA3V,EAAEqK,gBAAQ,IAAAsL,GAAQA,EAAAC,EAAA5V,EAAE6V,yBAAiB,IAAAD,EAAG,GAAEA,EAAAE,EAAA9V,EAAE0L,aAAK,IAAAoK,GAAQA,EAAAC,EAAA/V,EAAEgW,gBAAQ,IAAAD,GAAQA,EAC5H,OACExN,gBAAC0N,KAAW,CAAA3N,SAAA,CACVjB,eAACqB,KAAS,CACRzD,GAAG,kBACHkF,MAAOA,EACPZ,MAAOA,EACPF,KAAMA,EACNe,KAAMA,EACN8L,gBAAiB,CACfC,QAAQ,GAEV3M,SAAUA,EACV4M,OAAO,SACP/L,SAAUA,EACV2L,SAAUA,IAEXtK,GAASrE,eAACgP,KAAc,CAAA/N,SAAEuN,MAEhC,E,8BCtBcS,GCKE,SAAHtW,GAQP,IAADuW,EAAAvW,EAPLwW,aAAK,IAAAD,EAAG,GAAEA,EACVpM,EAAKnK,EAALmK,MACAC,EAAIpK,EAAJoK,KACAZ,EAAQxJ,EAARwJ,SACAiN,EAAczW,EAAdyW,eAAcC,EAAA1W,EACdsJ,mBAAW,IAAAoN,EAAG,GAAEA,EAAAd,EAAA5V,EAChB6V,yBAAiB,IAAAD,EAAG,GAAEA,EAErB,OACArN,gBAAC0N,KAAW,CAAA3N,SAAA,CACVjB,eAACsP,KAAU,CAAArO,SAAE6B,IACb5B,gBAACqO,KAAM,CACLxM,KAAMA,EACNb,MAAOkN,EACPjN,SAAUA,EACVqN,cAAY,EACZC,WAAY,CAAE,aAAc,iBAAkBxO,SAAA,CAE7CgB,GACCjC,eAAC0P,KAAQ,CAACxN,MAAM,GAAGyM,UAAQ,EAAA1N,SACxBgB,IAGJkN,EAAMnH,KAAI,SAAAlB,GAAI,OAAI9G,eAAC0P,KAAQ,CAAYxN,MAAO4E,EAAK7F,SAAE6F,GAApBA,EAAoC,OAEvE0H,GAAqBxO,eAACgP,KAAc,CAAA/N,SAAEuN,MAE1C,ECjCYmB,GAAapY,UAAOC,IAAGC,QAAAC,YAAA,+DAKvBkY,GAAgBrY,UAAOC,IAAGI,QAAAF,YAAA,4BCoLxBmY,GAzKO,SAAHlX,GAAsC,IAAhCqF,EAAQrF,EAARqF,SAAU8R,EAAcnX,EAAdmX,eACjCC,EAAwCtD,mBACtCuB,OAASF,OAAO,eACjBkC,EAAAnI,YAAAkI,EAAA,GAFME,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GAI9BrK,EAAW2H,cAEjB6C,qBAAU,WACRxK,EAASE,GAAQkB,UAAUqC,sBAAsBpL,GACnD,GAAG,IA4CH,OACEkD,gBAAAkP,YAAA,CAAAnP,SAAA,CACEC,gBAACyO,GAAU,CAAA1O,SAAA,CACTjB,eAACqO,GAAK,CAEJzQ,GAAG,iBACHkF,MAAM,kBACNd,KAAK,OACLe,KAAK,iBACLb,MAAO+N,EACP9N,SA5BiB,SAACQ,GACxB,IAAM0N,EAAqBrC,KAAOrL,EAAM2N,OAAOpO,OAAO4L,OAAO,cAC7DoC,EAAgBG,EAClB,EA0BQvC,OAAO,cAPH,kBASN9N,eAAC4P,GAAa,CAAA3O,SACZjB,eAAC6M,IAAM,CAEL7K,KAAM,SACNU,QAAS,YACTtB,QA/Be,WACL,OAAd0O,QAAc,IAAdA,KAAgBS,MAAK,SAACzJ,GAAI,OAAKA,EAAK0J,OAASP,CAAY,KAC7DtK,EACEE,GAAQkB,UAAUsC,aAAa,CAC7BzL,GAAI6S,eACJD,KAAMP,EACNS,WAAY,IACZ1S,SAAUA,EACV4E,OAAQ,KAGd,EAoBoC3B,SAC3B,kBAJK,6BASVC,gBAACyP,KAAK,CAACC,KAAK,QAAQ,aAAW,gBAAe3P,SAAA,CAC5CjB,eAAC6Q,KAAS,CAAA5P,SACRC,gBAAC4P,KAAQ,CAAA7P,SAAA,CACPjB,eAAC+Q,KAAS,CAAA9P,SAAC,uBACXjB,eAAC+Q,KAAS,CAAA9P,SAAC,aACXjB,eAAC+Q,KAAS,CAAA9P,SAAC,WACXjB,eAAC+Q,KAAS,CAAA9P,SAAC,qBAGfjB,eAACgR,KAAS,CAAA/P,UACO,OAAd6O,QAAc,IAAdA,OAAc,EAAdA,EACGmB,MACA,SAAAtX,EAAAe,GAAA,IAASwW,EAAYvX,EAAlB6W,KAA8BW,EAAWzW,EAAjB8V,KAAI,OAC7B,IAAIY,KAAKF,GAAgB,IAAIE,KAAKD,EAAY,IAEjDnJ,KAAI,SAACjB,EAAWsK,GAAK,OACpBnQ,gBAAC4P,KAAQ,CAEPQ,aAAc,WACZ,OAAQvK,EAAU2J,YAChB,IAAK,IACH,MAAO,OACT,IAAK,IACH,MAAO,MACT,QACE,MAAO,QAEb,EAAEzP,SAAA,CAEFjB,eAAC+Q,KAAS,CAAA9P,SACP+M,KAAOjH,EAAUyJ,MAAM1C,OAAO,gBAEjC9N,eAAC+Q,KAAS,CAACvD,MAAO,CAAE+D,YAAa,EAAGC,aAAc,GAAIvQ,SACpDC,gBAACuQ,KAAU,CACT1D,KAAG,EACH7L,MAAO6E,EAAU2J,WACjBvO,SAAU,SAACuP,GAAE,OAtGV,SAACA,EAAIxP,GACxByD,EACEE,GAAQkB,UAAUwC,gBAAgB,CAChC3L,GAAIsE,EAAMtE,GACV4S,KAAMtO,EAAMsO,KACZE,WAAYgB,EAAGC,cAAczP,MAC7BlE,SAAUA,EACV4E,OAAQV,EAAMU,SAGpB,CA4FoCgP,CAAaF,EAAI3K,EAAU,EAC7C,aAAW,UACXhE,KAAK,oBAAmB9B,SAAA,CAExBjB,eAAC6R,KAAgB,CACfC,eAAe,QACf5P,MAAM,IACN6P,QAAS/R,eAACgS,KAAK,CAAClF,MAAM,YACtBhK,MAAM,QAER9C,eAAC6R,KAAgB,CACfC,eAAe,QACf5P,MAAM,IACN6P,QAAS/R,eAACgS,KAAK,CAAClF,MAAM,cACtBhK,MAAM,WAER9C,eAAC6R,KAAgB,CACf3P,MAAM,IACN4P,eAAe,QACfnD,UAAQ,EACRoD,QAAS/R,eAACgS,KAAK,IACflP,MAAM,aAIV9C,eAAC+Q,KAAS,CAAA9P,SACRjB,eAACqO,GAAK,CAEJzQ,GAAG,mBACHoE,KAAK,QACLe,KAAK,mBACLb,MAAO6E,EAAUnE,OACjBT,SAAU,SAACuP,GAAE,OA1HXpQ,EA2HaoQ,EAAGpB,OAAOpO,MA3HhBA,EA2HuB6E,OA1HlDpB,EACEE,GAAQkB,UAAUwC,gBAAgB,CAChC3L,GAAIsE,EAAMtE,GACV4S,KAAMtO,EAAMsO,KACZE,WAAYxO,EAAMwO,WAClB1S,SAAUA,EACV4E,OAAQtB,KAPO,IAACA,EAAOY,CA2HiC,EAE1C+P,WAAS,GARL,sBAWVjS,eAAC+Q,KAAS,CAAA9P,SACRjB,eAACkS,KAAU,CACT,aAAW,SACX9Q,QAAS,kBACPuE,EAASE,GAAQkB,UAAU2C,gBAAgB3C,GAAW,EACvD9F,SAEDjB,eAACmS,KAAU,UAEH,uBAAA1Z,OAlEgB4Y,GAmEnB,MACP,UAKlB,E,oBCvLae,GAAa7a,UAAOC,IAAGC,QAAAC,YAAA,gGAOvB2a,GAAa9a,UAAOC,IAAGI,QAAAF,YAAA,sEAMvB4a,GAAO/a,UAAOgb,KAAIza,QAAAJ,YAAA,kLCThB8a,GANG,CAChB1Y,OAAQ,CAAC,QAAQ,QAAQ,WAAW,WAAW,UAAW,mBAAiB,0BAAuB,YAAY,wBAAqB,wBAAqB,0BAAuB,eAAe,kBAAkB,kCAAmC,WACnP2Y,aAAc,CAAC,cAAe,SAAU,OAAQ,sBAAoB,iBACpEC,mBAAoB,CAAC,YAAY,gBAAgB,kBAAmB,SAAU,aAAc,YCoG/EC,GA3FM,SAAHha,GAAA,IAChBia,EAAYja,EAAZia,aACArS,EAAK5H,EAAL4H,MACAkH,EAAU9O,EAAV8O,WACAlI,EAAO5G,EAAP4G,QACAsT,EAAgBla,EAAhBka,iBACAC,EAAYna,EAAZma,aACAlX,EAAIjD,EAAJiD,KACAyO,EAAW1R,EAAX0R,YAAW,OAETnJ,gBAACoR,GAAI,CAAArR,SAAA,CACF4B,GAAYmF,KAAI,SAAA+K,GAAK,OACpB/S,eAACqO,GAAK,CAEJzQ,GAAImV,EAAMhQ,KACVD,MAAOiQ,EAAMjQ,MACbd,KAAM+Q,EAAM/Q,KACZe,KAAMgQ,EAAMhQ,KACZb,MAAO3B,EAAMwS,EAAMhQ,MACnBC,SAAU+P,EAAM/P,SAChBwL,kBAAmBuE,EAAM9P,aACzBoB,OAAO,EACPlC,SAAUyQ,GATLG,EAAMnV,GASe,IAE9BoC,eAACiP,GAAQ,CACPrR,GAAG,SACHkF,MAAM,6BACNC,KAAK,SACLqM,eAAgB7O,EAAMzG,OACtBqV,MAAOqD,GAAU1Y,OACjBqI,SAAUyQ,IACV1R,gBAACmR,GAAU,CAAApR,SAAA,CACTjB,eAACiP,GAAQ,CACPrR,GAAG,cACHkF,MAAM,mBACNC,KAAK,cACLqM,eAAgB7O,EAAMyD,YACtBmL,MAAOqD,GAAUC,aACjBtQ,SAAUyQ,IACZ5S,eAACiP,GAAQ,CACPrR,GAAG,mBACHkF,MAAM,aACNC,KAAK,mBACLqM,eAAgB7O,EAAM0D,iBACtBkL,MAAOqD,GAAUE,mBACjBvQ,SAAUyQ,IACW,wBAAtBrS,EAAMyD,aACLhE,eAACqO,GAAK,CACJzQ,GAAG,wBACHkF,MAAM,+BACNd,KAAK,OACLe,KAAK,wBACLb,MAAO3B,EAAMyS,sBACb7Q,SAAUyQ,OAGlB5S,eAAC6P,GAAa,CACZ7R,SAAUuC,EAAM3C,IAAM,EACtBkS,eAAgBrI,EAAWlH,EAAM3C,IAAM,KAEzCsD,gBAACkR,GAAU,CAAAnR,SAAA,CACR1B,GACCS,eAACoC,GAAO,CACNvB,KAAMtB,EACN8C,SAAS,QACTvB,QAASuJ,EACT9K,QAAS,4CAGb2B,gBAAC2L,IAAM,CAEL7K,KAAM,SACNU,QAAS,YACTtB,QAAS,SAAAsQ,GAAE,OAAIoB,EAAapB,EAAI9V,EAAK,EAACqF,SAAA,CAEtCjB,eAACiT,KAAW,IACF,WAATrX,EAAoB,0BAAsB,2BANvC,iBAQNsF,gBAAC2L,IAAM,CAEL7K,KAAM,SACNU,QAAS,YACTtB,QAASyR,EAAiB5R,SAAA,CAE1BjB,eAACmB,KAAiB,IAAG,aALjB,sBASH,E,SClGE+R,GAAU3b,UAAOC,IAAGC,QAAAC,YAAA,6FAOpBkY,GAAgBrY,UAAOC,IAAGI,QAAAF,YAAA,sIAQ1Byb,GAAe5b,UAAOC,IAAGM,QAAAJ,YAAA,oGAOzB0b,GAAsB7b,UAAOC,IAAGQ,QAAAN,YAAA,uDAkBhC2b,IAbS9b,UAAOC,IAAGW,QAAAT,YAAA,yFAObH,UAAOW,IAAGob,QAAA5b,YAAA,kEAMJH,UAAOC,IAAG+b,QAAA7b,YAAA,2B,oCCjC7B8b,GAAkBC,cAAW,SAACC,GAAK,MAAM,CAC7CC,KAAM,CACJC,gBAAiBF,EAAMG,QAAQC,KAC/BhH,MAAO4G,EAAMG,QAAQE,OAAOC,MAC5BC,aAAa,aAADxb,OAAeib,EAAMG,QAAQE,OAAOC,QAElD5X,KAAM,CACJ8X,SAAU,GACVD,aAAc,aAEjB,GAVuBR,CAUpB1C,MAEEoD,GAAiBV,cAAW,SAACC,GAAK,MAAM,CAC5CU,KAAM,CACJ,qBAAsB,CACpBR,gBAAiBF,EAAMG,QAAQQ,OAAOC,QAG3C,GANsBb,CAMnB3C,MAEEyD,GAAYC,aAAW,CAC3BC,MAAO,CACLC,SAAU,OAgDRC,GAAgB,SAACC,EAAYC,GACjC,OAAQD,GACN,IAAK,SACH,OA/CgB,SAACC,GAAO,OAC5BA,EAAQ7M,KAAI,SAAC+F,EAAKnQ,GAAE,OAClBsD,gBAACiT,GAAc,CAAAlT,SAAA,CACbjB,eAACwT,GAAe,CAAAvS,SAAErD,EAAK,IACvBoC,eAACwT,GAAe,CAAC5T,UAAU,KAAKkV,MAAM,MAAK7T,SACxC8M,EAAIhL,OAEP/C,eAACwT,GAAe,CAAAvS,SAAE8M,EAAIjU,SACtBkG,eAACwT,GAAe,CAAAvS,SAAE8M,EAAIjK,UACtB9D,eAACwT,GAAe,CAAAvS,SAAE8M,EAAIzK,SACtBtD,eAACwT,GAAe,CAAAvS,SAAE8M,EAAIrK,SACtB1D,eAACwT,GAAe,CAAAvS,SAAE8M,EAAIvK,UACtBxD,eAACwT,GAAe,CAAAvS,SAAE8M,EAAInL,WAVHhF,EAWJ,GAChB,CAiCQmX,CAAcF,GACvB,IAAK,SACH,OAjCgB,SAACA,GAAO,OAC5BA,EAAQ7M,KAAI,SAAC+F,EAAKnQ,GAAE,OAClBsD,gBAACiT,GAAc,CAAAlT,SAAA,CACbjB,eAACwT,GAAe,CAAAvS,SAAErD,EAAK,IACvBoC,eAACwT,GAAe,CAAC5T,UAAU,KAAKkV,MAAM,MAAK7T,SACxC8M,EAAIhL,OAEP/C,eAACwT,GAAe,CAAAvS,SAAE8M,EAAIjU,SACtBkG,eAACwT,GAAe,CAAAvS,SAAE8M,EAAI/J,cACtBhE,eAACwT,GAAe,CAAAvS,SAAE8M,EAAIrK,SACtB1D,eAACwT,GAAe,CAAAvS,SAAE8M,EAAIvK,YARH5F,EASJ,GAChB,CAqBQoX,CAAcH,GACvB,IAAK,YACH,OArBmB,SAACA,GAAO,OAC/BA,EAAQ7M,KAAI,SAAC+F,EAAKnQ,GAAE,OAClBsD,gBAACiT,GAAc,CAAAlT,SAAA,CACbjB,eAACwT,GAAe,CAAAvS,SAAErD,EAAK,IACvBoC,eAACwT,GAAe,CAAAvS,SAAE8M,EAAIhL,OACtB/C,eAACwT,GAAe,CAAAvS,SAAE8M,EAAIjU,SACtBkG,eAACwT,GAAe,CAAC5T,UAAU,KAAKkV,MAAM,MAAK7T,SACxC8M,EAAIvK,UAEPxD,eAACwT,GAAe,CAAAvS,SAAE8M,EAAIrK,SACtB1D,eAACwT,GAAe,CAAAvS,SAAE8M,EAAI9J,qBARHrG,EASJ,GAChB,CASQqX,CAAiBJ,GAI9B,EAqCMK,GAAe,SAACN,GACpB,OAAQA,GACN,IAAK,SACH,OArCJ1T,gBAAC4P,KAAQ,CAAA7P,SAAA,CACPjB,eAACwT,GAAe,CAAAvS,SAAC,MACjBjB,eAACwT,GAAe,CAAAvS,SAAC,mBACjBjB,eAACwT,GAAe,CAAAvS,SAAC,mBACjBjB,eAACwT,GAAe,CAAAvS,SAAC,YACjBjB,eAACwT,GAAe,CAAAvS,SAAC,0BACjBjB,eAACwT,GAAe,CAAAvS,SAAC,aACjBjB,eAACwT,GAAe,CAAAvS,SAAC,gBACjBjB,eAACwT,GAAe,CAAAvS,SAAC,kCA8BjB,IAAK,SACH,OA1BJC,gBAAC4P,KAAQ,CAAA7P,SAAA,CACPjB,eAACwT,GAAe,CAAAvS,SAAC,MACjBjB,eAACwT,GAAe,CAAAvS,SAAC,mBACjBjB,eAACwT,GAAe,CAAAvS,SAAC,mBACjBjB,eAACwT,GAAe,CAAAvS,SAAC,kBACjBjB,eAACwT,GAAe,CAAAvS,SAAC,aACjBjB,eAACwT,GAAe,CAAAvS,SAAC,mBAqBjB,IAAK,YACH,OAjBJC,gBAAC4P,KAAQ,CAAA7P,SAAA,CACPjB,eAACwT,GAAe,CAAAvS,SAAC,MACjBjB,eAACwT,GAAe,CAAAvS,SAAC,mBACjBjB,eAACwT,GAAe,CAAAvS,SAAC,mBACjBjB,eAACwT,GAAe,CAAAvS,SAAC,gBACjBjB,eAACwT,GAAe,CAAAvS,SAAC,aACjBjB,eAACwT,GAAe,CAAAvS,SAAC,kBAerB,EAmBekU,GAjBO,SAAHxc,GAAiC,IC5IjByc,ED4IVP,EAAOlc,EAAPkc,QAASD,EAAUjc,EAAVic,WAC1BS,EAAUd,KAEhB,OACErT,gBAACyP,KAAK,CACJ2E,UAAWD,EAAQZ,MACnB7W,GAAG,iBACH,aAAW,mBAAkBqD,SAAA,CAE7BjB,eAAC6Q,KAAS,CAAA5P,SAAEiU,GAAaN,KACzB5U,eAACgR,KAAS,CAAA/P,SACP0T,GAAcC,GCvJYQ,EDuJmBP,EAAQtK,OCtJ5D6K,EAAMnE,MAAK,SAAUsE,EAAGC,GACtB,IAAIC,EAAQF,EAAExS,KAAK2S,cACjBC,EAAQH,EAAEzS,KAAK2S,cACjB,OAAID,EAAQE,GAEF,EACNF,EAAQE,EAAc,EACnB,CACT,UDkJF,EE1JeC,GCkBO,WACpB,IAAA7F,EAAoCtD,mBAAS,IAAGuD,EAAAnI,YAAAkI,EAAA,GAAzC6E,EAAU5E,EAAA,GAAE6F,EAAa7F,EAAA,GAChC8F,EAAsCrJ,mBAAS,IAAGsJ,EAAAlO,YAAAiO,EAAA,GAA3CvK,EAAWwK,EAAA,GAAEC,EAAcD,EAAA,GAClCE,EAA4BxJ,mBAAS,IAAGyJ,EAAArO,YAAAoO,EAAA,GAAjCnc,EAAMoc,EAAA,GAAEC,EAASD,EAAA,GACxBE,EAAgD3J,mBAAS,IAAG4J,EAAAxO,YAAAuO,EAAA,GAArD1K,EAAgB2K,EAAA,GAAEC,EAAmBD,EAAA,GAC5CE,EAAkC9J,mBAChCuB,OAASwI,SAAS,EAAG,UAAU1I,OAAO,eACvC2I,EAAA5O,YAAA0O,EAAA,GAFM1S,EAAS4S,EAAA,GAAEC,EAAYD,EAAA,GAG9BE,EAA8BlK,mBAASuB,OAASF,OAAO,eAAc8I,EAAA/O,YAAA8O,EAAA,GAA9DrL,EAAOsL,EAAA,GAAEC,EAAUD,EAAA,GAEpBjR,EAAW2H,cAEjBwJ,EAAkCC,aAAY,SAACxW,GAAK,MAAM,CACxDgK,OAAQhK,EAAMgK,OAAOA,OACrBW,cAAe3K,EAAMgK,OAAOW,cAC7B,IAHO8L,EAAaF,EAAbE,cAAezM,EAAMuM,EAANvM,OA0BvB,OACErJ,gBAACgS,GAAO,CAAAjS,SAAA,CACNjB,eAACqO,GAAK,CAEJzQ,GAAG,aACHkF,MAAM,eACNd,KAAK,OACLe,KAAK,aACLb,MAAO2B,EACP1B,SA9BwB,SAACQ,GAC7B,IAAM0N,EAAqBrC,KAAOrL,EAAM2N,OAAOpO,OAAO4L,OAAO,cAC7D4I,EAAarG,EACf,EA4BMvC,OAAO,cAPH,cASN9N,eAACqO,GAAK,CAEJzQ,GAAG,WACHkF,MAAM,cACNd,KAAK,OACLe,KAAK,WACLb,MAAOoJ,EACPnJ,SAnCsB,SAACQ,GAC3B,IAAM0N,EAAqBrC,KAAOrL,EAAM2N,OAAOpO,OAAO4L,OAAO,cAC7D+I,EAAWxG,EACb,EAiCMvC,OAAO,cAPH,YASN9N,eAACqT,GAAS,IACVrT,eAACiP,GAAQ,CACPrR,GAAG,cACHkF,MAAM,mBACNC,KAAK,cACLqM,eAAgB7D,EAChB4D,MAAOqD,GAAUC,aACjBtQ,SAxCe,SAACQ,GACpBqT,EAAerT,EAAM2N,OAAOpO,MAC9B,IAwCIlC,eAACqT,GAAS,IACVrT,eAACiP,GAAQ,CACPrR,GAAG,gBACHkF,MAAM,6BACNC,KAAK,gBACLqM,eAAgBtV,EAChBqV,MAAOqD,GAAU1Y,OACjBqI,SA7CqB,SAACQ,GAC1BwT,EAAUxT,EAAM2N,OAAOpO,MACzB,IA6CIlC,eAACqT,GAAS,IACVrT,eAACiP,GAAQ,CACPrR,GAAG,YACHkF,MAAM,4BACNC,KAAK,cACLqM,eAAgB1D,EAChByD,MAAOqD,GAAUE,mBACjBvQ,SAnDwB,SAACQ,GAC7B2T,EAAoB3T,EAAM2N,OAAOpO,MACnC,IAmDIlC,eAACqT,GAAS,IACVnS,gBAAC0O,GAAa,CAAA3O,SAAA,CACZjB,eAAC6M,IAAM,CAEL7K,KAAM,SACNU,QAAO,GAAAjK,OAAoB,WAAfmc,EAA0B,YAAc,YACpD9H,MAAM,UACN1L,QAAS,WACPuE,EACEE,GAAQ0E,OAAOc,sBAAsB,CACnCxH,YACAyH,UACAC,cACAzR,YAGJ+b,EAAc,SAChB,EAAE5U,SACH,iDAfK,uBAkBNjB,eAACqT,GAAS,IACVrT,eAAC6M,IAAM,CAEL7K,KAAM,SACNU,QAAO,GAAAjK,OAAoB,WAAfmc,EAA0B,YAAc,YACpD9H,MAAM,UACN1L,QAAS,WACPuE,EACEE,GAAQ0E,OAAOiB,iBAAiB,CAC9B3H,YACAyH,UACAC,cACAzR,YAGJ+b,EAAc,SAChB,EAAE5U,SACH,0CAfK,wBAkBNjB,eAACqT,GAAS,IACVrT,eAAC6M,IAAM,CAEL7K,KAAM,SACNU,QAAO,GAAAjK,OAAoB,cAAfmc,EAA6B,YAAc,YACvD9H,MAAM,UACN1L,QAAS,WACPuE,EAASE,GAAQ0E,OAAOkB,oBAAoB,CAAEF,cAAazR,SAAQ4R,sBACnEmK,EAAc,YAChB,EAAE5U,SACH,+EARK,2BAYRjB,eAACmT,GAAY,CAAAlS,SACXjB,eAAC6M,IAAM,CAEL7K,KAAM,SACNU,QAAO,GAAAjK,OAAKue,EAAgB,WAAa,aACzClK,MAAM,YACN6B,SAAUqI,GAAoC,KAAb,OAANzM,QAAM,IAANA,OAAM,EAANA,EAAQxP,QACnCqG,QAAS,WACP,IAAM6V,EAAM,IAAIC,WAAM,CACpBC,YAA4B,WAAfvC,EAA0B,IAAM,MAEzCH,EAAQrR,SAASgU,eAAe,kBAChCC,EAAM,4JAAA5e,OAKEuV,KAAOnK,GAAWiK,OAC9B,cACD,iBAAArV,OAAgBuV,KAAO1C,GAASwC,OAAO,cAAa,kBAEjDwJ,EAAML,EAAIM,oBAAoB9C,GAElCwC,EAAIO,UAAUF,EAAIG,QAASH,EAAIrb,KAAM,CACnC8S,OAAQ,CAAE2I,IAAK,IACfC,OAAQ,CACNC,YAAa,GACb1D,SAAU,IAEZ2D,aAAc,CACZ3D,SAAU,IAEZ4D,WAAY,CACV/I,OAAQ,GACRmF,SAAU,GACV6D,UAAW,GACXC,UAAW,CAAC,EAAG,EAAG,IAEpBtE,MAAO,UACPuE,SAAU,YACVC,YAAa,SAAUC,GACrBlB,EAAImB,SC1MiB,ytzED0Me,OAAQnB,EAAIoB,SAASC,SAASC,WAAa,IAAK,EAAG,GAAI,IAE3FtB,EAAIuB,YAAY,IAChBvB,EAAIwB,aAAa,IACjBxB,EAAIyB,KAAKrB,EAAQJ,EAAIoB,SAASC,SAASC,WAAa,EAAG,GAAI,KAAM,KAAM,UAGvE,IAAMI,EAAS,aAAY1B,EAAIoB,SAASO,mBAExC3B,EAAIuB,YAAY,IAGhB,IAAMF,EAAWrB,EAAIoB,SAASC,SACxBO,EAAaP,EAASQ,OACxBR,EAASQ,OACTR,EAASS,YACb9B,EAAIyB,KAAKC,EAAQR,EAAYa,SAASjK,OAAOkK,KAAMJ,EAAa,GAClE,IAEF5B,EAAIiC,KAAK,aAADzgB,OAAcmc,EAAU,KAAAnc,OAAIoL,EAAS,KAAApL,OAAI6S,EAAO,QAC1D,EAAErK,SACH,gBA5DK,0BAgERC,gBAACkS,GAAmB,CAAAnS,SAAA,CAClBjB,eAACmZ,KAAU,CAACzW,QAAQ,KAAIzB,SAAC,8CACzBjB,eAACmV,GAAa,CACZN,QAAS,CAAEtK,OAAQA,GAAU,IAC7BqK,WAAYA,SAKtB,E,oBE1OewE,GCcA,WACb,IAAAtC,EAAkDC,aAAY,SAACxW,GAAK,MAAM,CACxE8Y,IAAK9Y,EAAMsG,OAAOwS,IAClBC,YAAa/Y,EAAMyL,MAAMnL,KACzB4G,WAAYlH,EAAMwG,UAAUgD,mBAC5BxK,QAASgB,EAAMhB,QAAQsB,KACxB,IALOwY,EAAGvC,EAAHuC,IAAKC,EAAWxC,EAAXwC,YAAa7R,EAAUqP,EAAVrP,WAAYlI,EAAOuX,EAAPvX,QAOtCwQ,EAAwBtD,mBAAS,IAAGuD,EAAAnI,YAAAkI,EAAA,GAA7BnU,EAAIoU,EAAA,GAAEuJ,EAAOvJ,EAAA,GACpB8F,EAA0CrJ,oBAAS,GAAMsJ,EAAAlO,YAAAiO,EAAA,GAAlD0D,EAAWzD,EAAA,GAAE0D,EAAkB1D,EAAA,GACtCE,EAA0BxJ,mBAASvJ,MAAmBgT,EAAArO,YAAAoO,EAAA,GAA/C1V,EAAK2V,EAAA,GAAEwD,EAAQxD,EAAA,GACtBE,EAAoC3J,mBAAS,IAAG4J,EAAAxO,YAAAuO,EAAA,GAAzCzU,EAAU0U,EAAA,GAAEsD,EAAatD,EAAA,GAChCE,EAA0D9J,oBAAS,GAAMgK,EAAA5O,YAAA0O,EAAA,GAAlEqD,EAAqBnD,EAAA,GAAEoD,EAAwBpD,EAAA,GAEhD9Q,EAAW2H,cACXwM,EAAUC,cACVtZ,EAAWuZ,cAEjB7J,qBAAU,WACR,IACExK,EAASE,GAAQgB,OAAOU,aAC1B,CAAE,MAAO0S,GACP,IAAQzZ,GAASC,EAASF,OAAS,CAAEC,KAAM,CAAEF,SAAU,gBAA/CE,KAER,MADAsZ,EAAQtR,KAAK,IAAKhI,GACZ,IAAIrG,MAAM8f,EAClB,CACF,GAAG,CAACtU,EAAUmU,EAASrZ,EAASF,QAEhC,IA+BMsS,EAAmB,WACvBlN,EAASE,GAAQmG,MAAMnD,aACzB,EAEMqR,EAAkB,SAAC/W,GACvBoW,EAAQpW,EAAW,OAAS,UAC5BuW,EAASxW,GAAiBC,IAC1BwC,EAASE,GAAQmG,MAAMrD,YACzB,EAEMwR,EAAoB,WACxBV,GAAoBD,EACtB,EASMY,EACJC,KAAEC,QAAQjB,IAAQA,EAAIrP,QAAO,SAAClD,GAAI,OARL,SAACA,GAAU,IAADyT,EAAAC,EACvC,OACe,QAAbD,EAAAzT,EAAK1D,gBAAQ,IAAAmX,OAAA,EAAbA,EAAeE,cAAcC,SAAS/Y,EAAW8Y,kBACxC,QADsDD,EAC/D1T,EAAK/D,YAAI,IAAAyX,OAAA,EAATA,EAAWC,cAAcC,SAAS/Y,EAAW8Y,eAEjD,CAGyCE,CAAuB7T,EAAK,IAE/D8T,EAAyBC,mBAAQ,WAQrC,OACE7a,eAAC0B,GAAe,CACdE,SAAU,SAACkZ,GAAC,OAAKnB,EAAcmB,EAAExK,OAAOpO,MAAM,EAC9CL,QAVgB,WACdF,IACFkY,GAA0BD,GAC1BD,EAAc,IAElB,EAMIhY,WAAYA,EACZG,YAAY,0BACZC,WAAW,0BAGjB,GAAG,CAACJ,EAAYiY,IAEhB,OACE1Y,gBAAAkP,YAAA,CAAAnP,SAAA,CACEjB,eAACgB,GAAK,CACJH,KAAMyY,EACNxY,QAAS+R,EACT9R,MAAK,GAAAtI,OAAc,WAATmD,EAAoB,QAAU,SAAQ,gBAChDQ,KACE4D,eAAC2S,GAAY,CACXC,aAlFW,SAACkI,GACpB,IAAAC,EAAwBD,EAAExK,OAAlBvN,EAAIgY,EAAJhY,KAAMb,EAAK6Y,EAAL7Y,MACdwX,GAAS,SAACsB,GAAS,OAAA/f,wBAAA,GACd+f,GAAS,GAAAC,YAAA,GACXlY,EAAOb,GAAK,GAEjB,EA6EU3B,MAAOA,EACPkH,WAAYA,EACZlI,QAASA,EACTsT,iBAAkBA,EAClBC,aA/EW,SAACnQ,EAAO/G,GAC3B+G,EAAMuY,iBAGW,KAAf3a,EAAMwC,MACa,KAAnBxC,EAAM8C,UACc,KAApB9C,EAAM4a,WACY,KAAlB5a,EAAMiD,SACW,KAAjBjD,EAAM+C,QACa,KAAnB/C,EAAM6C,UACW,KAAjB7C,EAAMmD,QAKK,WAAT9H,EACF+J,EAASE,GAAQgB,OAAOW,aAAajH,EAAOkH,IAC1B,SAAT7L,GACT+J,EAASE,GAAQgB,OAAOqB,aAAa3H,EAAOkH,IAE9C9B,EAASE,GAAQmG,MAAMnD,eARrBlD,EAASE,GAAQtG,QAAQ4K,cAS7B,EA2DUvO,KAAMA,EACNyO,YAAa,kBAAM1E,EAASE,GAAQtG,QAAQ8K,cAAc,MAIhErK,eAACgB,GAAK,CACJH,KAAM2Y,EACN1Y,QAASqZ,EACT/d,KAAM4D,eAAC4V,GAAM,IACb7U,MAAM,6BAERG,gBAACrJ,GAAO,CAAAoJ,SAAA,CACNC,gBAACO,GAAG,CAAAR,SAAA,CACFC,gBAAC2L,IAAM,CAEL7K,KAAM,SACNU,QAAS,YACTtB,QAAS,kBAAM8Y,EAAgB,KAAK,EAACjZ,SAAA,CAErCjB,eAACob,IAAoB,IAAG,sBALpB,iBAQNla,gBAAC2L,IAAM,CAEL7K,KAAM,SACNU,QAAS,YACTtB,QAAS,kBAAM+Y,GAAmB,EAAClZ,SAAA,CAEnCjB,eAACqb,IAAqB,IAAG,kBALrB,+BASRrb,eAACsb,IAAS,CACR7D,QAAS/J,GACTzR,KAAMme,EACNmB,YAAU,EACVC,2BAA4B,CAC1BC,gBAAiB,wBACjBC,mBAAoB,MAEtBC,kBAAgB,EAChBC,kBAAgB,EAChBC,gBAAiB,yCACjBC,WAAS,EACTC,mBAAoBnB,EACpBoB,2BAA4BpC,EAC5BqC,aAAc,SAAClO,GAAG,OAAKmM,EAAgBnM,EAAI,SAKrD,ECrLalW,GAAUN,UAAOC,IAAGC,QAAAC,YAAA,+FAOpB+J,GAAMlK,UAAOC,IAAGI,QAAAF,YAAA,iFCHvB2V,GAAe,SAAH1U,GAAgB,IAAViF,EAAEjF,EAAFiF,GACjB+H,EAAW2H,cACjB,OACCtN,eAACiM,GAAW,CACXK,YAAa,uBACbJ,WAAY,4CACZC,UAAW,YACXC,aAAc,WACdC,YAAa,kBAAM1G,EAASE,GAAQ3B,QAAQuC,WAAW7I,GAAI,EAACqD,SAE5DjB,eAACuN,KAAwB,CAACC,MAAO,CAAEC,OAAQ,cAG9C,EAEaC,GAAmB,CAC/B,CACC3K,KAAM,OACN4K,SAAU,aACVC,UAAU,EACVC,QAAQ,GAET,CACC9K,KAAM,YACN4K,SAAU,YACVC,UAAU,EACVC,QAAQ,GAET,CACC9K,KAAM,QACN4K,SAAU,QACVC,UAAU,EACVC,QAAQ,GAET,CACC9K,KAAM,OACN4K,SAAU,QACVC,UAAU,EACVC,QAAQ,GAET,CACCK,KAAM,SAAAH,GAAG,OAAI/N,eAACqN,GAAY,CAACzP,GAAImQ,EAAInQ,IAAM,EACzCuQ,gBAAgB,EAChBC,eAAe,EACf5M,QAAQ,EACRqM,QAAQ,ICnDGhL,GAAc,CACzB,CAACjF,GAAI,aAAckF,MAAM,gBAAiBd,KAAK,OAAQe,KAAK,aAAcC,UAAU,EAAMC,aAAc,qCAAgCiZ,WAAY,CAAC,SAAU,SAC/J,CAACte,GAAI,YAAakF,MAAM,cAAed,KAAK,OAAQe,KAAK,YAAaC,UAAU,EAAMC,aAAc,mCAA8BiZ,WAAY,CAAC,SAAU,SACzJ,CAACte,GAAI,QAASkF,MAAM,QAASd,KAAK,QAASe,KAAK,QAASC,UAAU,EAAMC,aAAc,6BAAwBiZ,WAAY,CAAC,SAAU,SACtI,CAACte,GAAI,WAAYkF,MAAM,QAASd,KAAK,WAAYe,KAAK,WAAYC,UAAU,EAAMC,aAAc,6BAAwBiZ,WAAY,CAAC,SAAU,UAGpIhZ,GAAmB,SAAAC,GAC9B,OAAAlI,YAAA,CACEkhB,WAAY,GACZC,UAAW,GACXpd,MAAO,GACPC,SAAU,IACPkE,EAEP,ECbaiP,GAAa7a,UAAOC,IAAGC,QAAAC,YAAA,gGAavB4a,IANa/a,UAAOC,IAAGI,QAAAF,YAAA,sEAMhBH,UAAOgb,KAAIza,QAAAJ,YAAA,mLC0DhBib,GAhEM,SAAHha,GAAA,IAChBia,EAAYja,EAAZia,aACArS,EAAK5H,EAAL4H,MACAhB,EAAO5G,EAAP4G,QACAsT,EAAgBla,EAAhBka,iBACAC,EAAYna,EAAZma,aACAlX,EAAIjD,EAAJiD,KACAyO,EAAW1R,EAAX0R,YAAW,OAEXnJ,gBAACoR,GAAI,CAAArR,SAAA,CACF4B,GAAYmF,KAAI,SAAC+K,GAAK,OACrB/S,eAACqO,GAAK,CAEJzQ,GAAImV,EAAMhQ,KACVD,MAAOiQ,EAAMjQ,MACbd,KAAM+Q,EAAM/Q,KACZe,KAAMgQ,EAAMhQ,KACZb,MAAO3B,EAAMwS,EAAMhQ,MACnBC,SAAU+P,EAAM/P,SAChBwL,kBAAmBuE,EAAM9P,aACzBoB,OAAO,EACPlC,SAAUyQ,EACVjE,UAAWoE,EAAMmJ,WAAWxB,SAAS9e,IAVhCmX,EAAMnV,GAWX,IAEJoC,eAACiP,GAAQ,CACPrR,GAAG,QACHkF,MAAM,QACNC,KAAK,QACLqM,eAAgB7O,EAAM8b,OAAS,GAC/BlN,MAAO,CAAC,OAAQ,SAChBhN,SAAUyQ,IAEZ1R,gBAACkR,GAAU,CAAAnR,SAAA,CACR1B,GACCS,eAACoC,GAAO,CACNvB,KAAMtB,EACN8C,SAAS,QACTvB,QAASuJ,EACT9K,QAAS,4CAGb2B,gBAAC2L,IAAM,CAEL7K,KAAM,SACNU,QAAS,YACTtB,QAAS,SAACsQ,GAAE,OAAKoB,EAAapB,EAAI9V,EAAK,EAACqF,SAAA,CAExCjB,eAACiT,KAAW,IACF,WAATrX,EAAoB,0BAAsB,2BANvC,iBAQNsF,gBAAC2L,IAAM,CAEL7K,KAAM,SACNU,QAAS,YACTtB,QAASyR,EAAiB5R,SAAA,CAE1BjB,eAACmB,KAAiB,IAAG,aALjB,sBASH,ECrEMmb,GCWM,WACnB,IAAAvM,EAA0DtD,oBAAS,GAAMuD,EAAAnI,YAAAkI,EAAA,GAAlE6J,EAAqB5J,EAAA,GAAE6J,EAAwB7J,EAAA,GACtD8F,EAAoCrJ,mBAAS,IAAGsJ,EAAAlO,YAAAiO,EAAA,GAAzCnU,EAAUoU,EAAA,GAAE4D,EAAa5D,EAAA,GAChCE,EAAwBxJ,mBAAS,IAAGyJ,EAAArO,YAAAoO,EAAA,GAA7Bra,EAAIsa,EAAA,GAAEqD,EAAOrD,EAAA,GACpBE,EAA0B3J,mBAASvJ,MAAmBmT,EAAAxO,YAAAuO,EAAA,GAA/C7V,EAAK8V,EAAA,GAAEqD,EAAQrD,EAAA,GAEtBS,EAAwCC,aAAY,SAACxW,GAAK,MAAM,CAC9Dgc,MAAOhc,EAAM2D,QAAQqY,MACrBjD,YAAa/Y,EAAMyL,MAAMnL,KACzBtB,QAASgB,EAAMhB,QAAQsB,KACxB,IAJO0b,EAAKzF,EAALyF,MAAOjD,EAAWxC,EAAXwC,YAAa/Z,EAAOuX,EAAPvX,QAKtBoG,EAAW2H,cAEjB6C,qBAAU,WACR,IACExK,EAASE,GAAQ3B,QAAQwB,YAC3B,CAAE,MAAOrB,GACP,MAAM,IAAIlK,MAAMkK,EAClB,CACF,GAAG,IAEH,IAAM+V,GACC,OAALmC,QAAK,IAALA,OAAK,EAALA,EAAOvS,QAAO,SAAClD,GAAI,IAAA0V,EAAA,OACF,QADEA,EACjB1V,EAAKqV,kBAAU,IAAAK,OAAA,EAAfA,EAAiB/B,cAAcC,SAAS/Y,EAAW8Y,cAAc,MAC9D,GAEDG,EAAyBC,mBAAQ,WAQrC,OACE7a,eAAC0B,GAAe,CACdE,SAAU,SAACkZ,GAAC,OAAKnB,EAAcmB,EAAExK,OAAOpO,MAAM,EAC9CL,QAVgB,WACdF,IACFkY,GAA0BD,GAC1BD,EAAc,IAElB,EAMIhY,WAAYA,EACZG,YAAY,gBACZC,WAAW,oBAGjB,GAAG,CAACJ,EAAYiY,IAEVM,EAAkB,SAAC/W,GACvBoW,EAAQpW,EAAW,OAAS,UAC5BuW,EAASxW,GAAiBC,IAC1BwC,EAASE,GAAQmG,MAAMrD,YACzB,EAEMkK,EAAmB,WACvBlN,EAASE,GAAQmG,MAAMnD,aACzB,EA+BA,OACE3H,gBAACrJ,GAAO,CAAAoJ,SAAA,CACNjB,eAACgB,GAAK,CACJH,KAAMyY,EACNxY,QAAS+R,EACT9R,MAAK,GAAAtI,OAAc,WAATmD,EAAoB,QAAU,SAAQ,qBAChDQ,KACE4D,eAAC2S,GAAY,CACXC,aArCW,SAACkI,GACpB,IAAAC,EAAwBD,EAAExK,OAAlBvN,EAAIgY,EAAJhY,KAAMb,EAAK6Y,EAAL7Y,MACdwX,GAAS,SAACsB,GAAS,OAAA/f,wBAAA,GACd+f,GAAS,GAAAC,YAAA,GACXlY,EAAOb,GAAK,GAEjB,EAgCU3B,MAAOA,EACPhB,QAASA,EACTsT,iBAAkBA,EAClBC,aAjCW,SAACnQ,EAAO/G,GAC3B+G,EAAMuY,iBAGiB,KAArB3a,EAAM4b,YACc,KAApB5b,EAAM6b,WACU,KAAhB7b,EAAMvB,OACa,KAAnBuB,EAAMtB,UAKK,WAATrD,EACF+J,EAASE,GAAQ3B,QAAQmC,WAAW9F,IAClB,SAAT3E,GACT+J,EAASE,GAAQ3B,QAAQqC,WAAWhG,IAEtCoF,EAASE,GAAQmG,MAAMnD,eARrBlD,EAASE,GAAQtG,QAAQ4K,cAS7B,EAgBUvO,KAAMA,EACNyO,YAAa,kBAAM1E,EAASE,GAAQtG,QAAQ8K,cAAc,MAIhErK,eAACyB,GAAG,CAAAR,SACFC,gBAAC2L,IAAM,CAEL7K,KAAM,SACNU,QAAS,YACTtB,QAAS,kBAAM8Y,EAAgB,KAAK,EAACjZ,SAAA,CAErCjB,eAACob,IAAoB,IAAG,2BALpB,mBASRpb,eAACsb,IAAS,CACR7D,QAAS/J,GACTzR,KAAMme,EACNmB,YAAU,EACVC,2BAA4B,CAC1BC,gBAAiB,wBACjBC,mBAAoB,MAEtBC,kBAAgB,EAChBC,kBAAgB,EAChBC,gBAAiB,yCACjBC,WAAS,EACTC,mBAAoBnB,EACpBoB,2BAA4BpC,EAC5BqC,aAAc,SAAClO,GAAG,OAAKmM,EAAgBnM,EAAI,MAInD,EC7IalW,GAAUN,UAAOC,IAAGC,QAAAC,YAAA,yHAQpB+kB,GAASllB,UAAOC,IAAGI,QAAAF,YAAA,iFAMnBglB,GAAenlB,UAAOC,IAAGM,QAAAJ,YAAA,uDAKzBilB,GAAOplB,UAAOqlB,GAAE5kB,QAAAN,YAAA,0EAMhBO,GAAMV,UAAOW,IAAGC,QAAAT,YAAA,6CAKhBmlB,GAAatlB,UAAOC,IAAG8b,QAAA5b,YAAA,0EChCrB,OAA0B,wCCA1B,OAA0B,kDCK1BolB,GALW,SAACC,EAAMjD,EAASrZ,GACxC,IAAQD,GAASC,EAASF,OAAS,CAAEC,KAAM,CAAEF,SAAS,cAAD7H,OAAgBskB,MAA7Dvc,KACRsZ,EAAQtR,KAAKhI,EACf,ECEewc,GALQ,SAACC,GAEtB,OADAA,EAAMA,EAAIC,QAAQ,kDAA6B,KACpCC,MACb,E,UCSM5I,GAAYC,cAAW,SAACd,GAAK,MAAM,CACvC0J,MAAO,CACLC,MAAO,QACPvE,OAAQ,QACRrL,OAAQ,WAEX,ICjBc6P,GDkBK,WAClB,IAAMjI,EAAUd,KACVuF,EAAUC,cACVtZ,EAAWuZ,cACXqC,EAAQW,GAAe3jB,aAAaC,QAAQ,UAElD,OACE4H,gBAACrJ,GAAO,CAAAoJ,SAAA,CACK,UAAVob,GACCrc,eAACyc,GAAM,CAACrb,QAAS,kBAAM0b,GAAkB,OAAQhD,EAASrZ,EAAS,EAACQ,SAClEjB,eAACud,KAAK,CAAC9a,UAAW,EAAG6S,UAAWD,EAAQ+H,MAAMnc,SAC5CC,gBAACwb,GAAY,CAAAzb,SAAA,CACXjB,eAAC6c,GAAU,CAAA5b,SACTjB,eAAC/H,GAAG,CAACulB,IAAKC,GAAaC,IAAI,4BAE7B1d,eAAC2c,GAAI,CAAA1b,SAAC,yBAKdjB,eAACyc,GAAM,CAACrb,QAAS,kBAAM0b,GAAkB,SAAUhD,EAASrZ,EAAS,EAACQ,SACpEjB,eAACud,KAAK,CAAC9a,UAAW,EAAG6S,UAAWD,EAAQ+H,MAAMnc,SAC5CC,gBAACwb,GAAY,CAAAzb,SAAA,CACXjB,eAAC6c,GAAU,CAAA5b,SACTjB,eAAC/H,GAAG,CACFulB,IAAKG,GACLD,IAAI,4BAGR1d,eAAC2c,GAAI,CAAA1b,SAAC,uBAIZjB,eAACyc,GAAM,CAACrb,QAAS,kBAAM0b,GAAkB,WAAYhD,EAASrZ,EAAS,EAACQ,SACtEjB,eAACud,KAAK,CAAC9a,UAAW,EAAG6S,UAAWD,EAAQ+H,MAAMnc,SAC5CC,gBAACwb,GAAY,CAAAzb,SAAA,CACXjB,eAAC6c,GAAU,CAAA5b,SACTjB,eAAC/H,GAAG,CACFulB,IEzDD,qhLF0DCE,IAAI,2BAGR1d,eAAC2c,GAAI,CAAA1b,SAAC,wBAMlB,EGjEapJ,GAAUN,UAAOC,IAAGC,QAAAC,YAAA,+FCA3BkmB,GAAoB,CACzB,cAAiB,eACjB,cAAiB,mBACjB,cAAiB,kBAGLlQ,GAAmB,CAC/B,CACC3K,KAAM,YACN4K,SAAU,SACVG,OAAQ,SAAAC,GAAG,OAAI6P,GAAkB7P,EAAIsG,OAAO,EAC5CzG,UAAU,EACVC,QAAQ,GAET,CACC9K,KAAM,aACN4K,SAAU,aACVC,UAAU,EACVC,QAAQ,GAET,CACC9K,KAAM,cACN4K,SAAU,OACVC,UAAU,EACVC,QAAQ,GAET,CACC9K,KAAM,mBACN4K,SAAU,WACVC,UAAU,EACVC,QAAQ,GAET,CACC9K,KAAM,cACN4K,SAAU,cACVG,OAAQ,SAAAC,GAAG,OAAIC,KAAOD,EAAIE,SAASH,OAAO,uBAAuB,EACjEF,UAAU,EACVC,QAAQ,ICHKgQ,GA/BS,CACvB,CACCd,KAAM,QACNha,KAAM,OACNnD,UAAW0d,GACXQ,KAAM,GACNC,OAAQ,cAET,CACChB,KAAM,UACNha,KAAM,SACNnD,UAAWwZ,GACX2E,OAAQ,aACRD,KAAM,IAEP,CACCf,KAAM,QACNha,KAAM,QACNnD,UAAWoe,GACXD,OAAQ,aACRD,KAAM,IAEP,CACCf,KAAM,YACNha,KAAM,gBACNnD,UCpBmB,WACnB,IAAQqe,EAAelH,aAAY,SAACxW,GAAK,MAAM,CAC7C0d,WAAY1d,EAAMoL,SAASsS,WAC5B,IAFOA,WAIRlO,EAAoCtD,mBAAS,IAAGuD,EAAAnI,YAAAkI,EAAA,GAAzCpO,EAAUqO,EAAA,GAAE2J,EAAa3J,EAAA,GAChC8F,EAA0DrJ,oBAAS,GAAMsJ,EAAAlO,YAAAiO,EAAA,GAAlE8D,EAAqB7D,EAAA,GAAE8D,EAAwB9D,EAAA,GAEhDpQ,EAAW2H,cACXwM,EAAUC,cACVtZ,EAAWuZ,cAEjB7J,qBAAU,WACR,IACExK,EAASE,GAAQ8F,SAASE,gBAC5B,CAAE,MAAOoO,GACP,IAAQzZ,GAASC,EAASF,OAAS,CAAEC,KAAM,CAAEF,SAAU,gBAA/CE,KAER,MADAsZ,EAAQtR,KAAK,IAAKhI,GACZ,IAAIrG,MAAM8f,EAClB,CACF,GAAG,CAACtU,EAAUmU,EAASrZ,EAASF,QAGhC,IAIM6Z,EACJC,KAAEC,QAAQ2D,IAAeA,EAAWjU,QAAO,SAAClD,GAAI,OAL5B,SAACA,GAAU,IAADoX,EAC9B,OAAsB,QAAtBA,EAAOpX,EAAKqX,kBAAU,IAAAD,OAAA,EAAfA,EAAiBzD,cAAcC,SAAS/Y,EAAW8Y,cAC5D,CAGuD2D,CAActX,EAAK,IAEpE8T,EAAyBC,mBAAQ,WAQrC,OACE7a,eAAC0B,GAAe,CACdE,SAAU,SAACkZ,GAAC,OAAKnB,EAAcmB,EAAExK,OAAOpO,MAAM,EAC9CL,QAVgB,WACdF,IACFkY,GAA0BD,GAC1BD,EAAc,IAElB,EAMIhY,WAAYA,EACZG,YAAY,oBACZC,WAAW,oBAGjB,GAAG,CAACJ,EAAYiY,IAEhB,OACE5Z,eAACnI,GAAO,CAAAoJ,SACNjB,eAACsb,IAAS,CACR7D,QAAS/J,GACTzR,KAAMme,EACNmB,YAAU,EACVC,2BAA4B,CAC1BC,gBAAiB,wBACjBC,mBAAoB,MAEtBC,kBAAgB,EAChBC,kBAAgB,EAChBC,gBAAiB,yCACjBC,WAAS,EACTC,mBAAoBnB,EACpBoB,2BAA4BpC,KAIpC,ED/CEmE,OAAQ,aACRD,KAAM,KEhCO,OAA0B,kDCE5BO,GAAS9mB,UAAOge,EAAE+I,OAAM,SAAAne,GAAK,MAAK,CAC7Coe,KAAMpe,EAAM/H,IACZkY,OAAO,SACR,GAHqB/Y,CAGnBE,QAAAC,YAAA,yBACQ,SAAAiB,GAAQ,OAAAA,EAAL+a,MAAkB8K,OAAOC,OAAO,IAGjCxmB,GAAMV,UAAOW,IAAGN,QAAAF,YAAA,iEAMhBgnB,GAAoBnnB,UAAOC,IAAGM,QAAAJ,YAAA,kHCV9BinB,GAAY,WACvB,OACEzd,gBAACwd,GAAiB,CAAAzd,SAAA,CAChBjB,eAACmZ,KAAU,CAAAlY,SAAC,+BACZjB,eAACqe,GAAM,CAACjmB,IAAI,iCAAgC6I,SAC1CjB,eAAC/H,GAAG,CAACulB,ICVE,ilODUmBE,IAAI,wBAItC,E,gFEDMnJ,GAAYC,aAAW,CAC3BrQ,KAAM,CACJkZ,MAAO,OAILuB,GAAa,CACjB,CACE7b,KAAM,iBACN+a,KAAM9d,eAAC6e,KAAS,IAChBxC,MAAO,CAAC,QAAS,QACjBU,KAAM,QAER,CAAEha,KAAM,cAAe+a,KAAM9d,eAAC6e,KAAS,IAAKxC,MAAO,CAAC,SAAUU,KAAM,QACpE,CAAEha,KAAM,0BAA2B+a,KAAM9d,eAAC6e,KAAS,IAAKxC,MAAO,CAAC,SAAUU,KAAM,YAChF,CACEha,KAAM,cACN+a,KAAM9d,eAAC6e,KAAS,IAChBxC,MAAO,CAAC,QAAS,QACjBU,KAAM,WC9BK+B,GDkCQ,SAAHnmB,GAAgC,IAA1BkI,EAAIlI,EAAJkI,KAAMke,EAAYpmB,EAAZomB,aACxB1J,EAAUd,KACVuF,EAAUC,cACVtZ,EAAWuZ,cACXqC,EAAQW,GAAe3jB,aAAaC,QAAQ,UAgClD,OACE0G,eAACgf,KAAe,CACdC,OAAQ,OACRpe,KAAMA,EACNC,QAASie,GAAa,GACtBG,OAAQH,GAAa,GAAM9d,SAlC7BjB,eAAA,OACEsV,UAAWD,EAAQlR,KACnBgb,KAAK,eACL/d,QAAS2d,GAAa,GACtBK,UAAWL,GAAa,GAAO9d,SAE/BjB,eAACqf,KAAI,CAAApe,SACF2d,GAAW5W,KACV,SAACsX,EAAQjO,GAAK,OACZiO,EAAOjD,MAAM3B,SAAS2B,IACpBnb,gBAAAkP,YAAA,CAAAnP,SAAA,CACEC,gBAACqe,KAAQ,CACP/d,QAAM,EAENJ,QAAS,WACP0b,GAAkBwC,EAAOvC,KAAMjD,EAASrZ,EAC1C,EAAEQ,SAAA,CAEFjB,eAACwf,KAAY,CAAAve,SAAEqe,EAAOxB,OACtB9d,eAACyf,KAAY,CAAChB,QAASa,EAAOvc,SANzBsO,GAQPrR,eAAC0f,KAAO,MAEX,SAgBb,E,yCErEMnL,GAAYC,cAAW,SAACd,GAAK,MAAM,CACvCU,KAAM,CACJuL,QAAS,QAEXC,OAAQ,CACNhM,gBAAiB,WAEnBiM,WAAY,CACV/S,MAAO,SAEV,IA8DcgT,GA5DH,WACV,IAAMzK,EAAUd,KAChBxE,EAAwBtD,oBAAS,GAAMuD,EAAAnI,YAAAkI,EAAA,GAAhClP,EAAImP,EAAA,GAAErD,EAAOqD,EAAA,GAEd+O,EAAe,SAACle,GAAI,OAAK,SAAC8B,KAE5BA,GACe,YAAfA,EAAMX,MACS,QAAdW,EAAMod,KAA+B,UAAdpd,EAAMod,MAIhCpT,EAAQ9L,EACV,CAAE,EAEImf,EACJ9e,gBAAC+e,IAAM,CAAAhf,SAAA,CACJ4c,GAAgB7V,KAAI,SAACkY,EAAMH,GAC1B,MAAoB,eAAhBG,EAAKnC,OAEL/d,eAACC,IAAK,CACJ8c,KAAMmD,EAAKnC,OAASmC,EAAKnD,KACzBnd,UAAWsgB,EAAKtgB,WACXmgB,GAIJ,IACT,IACA/f,eAACI,IAAQ,CAACI,KAAK,aAAaH,GAAG,uBAInC,OACEa,gBAAC5J,EAAS,CAAA2J,SAAA,CACRjB,eAACmgB,KAAM,CAACC,SAAS,WAAW9K,UAAWD,EAAQuK,OAAO3e,SACpDC,gBAACmf,KAAO,CAAApf,SAAA,CACNjB,eAACkS,KAAU,CACTpF,MAAM,UACN,aAAW,cACX1L,QAAS2d,GAAa,GACtBuB,KAAK,QACLhL,UAAWD,EAAQwK,WAAW5e,SAE9BjB,eAACugB,KAAQ,MAEXvgB,eAACrI,EAAM,CAAAsJ,SACLjB,eAAC/H,EAAG,CAACulB,IAAKgD,GAAuB9C,IAAI,sCAI3C1d,eAAC8e,GAAO,CAACje,KAAMA,EAAMke,aAAcA,IACnC/e,eAACnI,EAAO,CAAAoJ,SAAE+e,IACVhgB,eAACjI,EAAM,CAAAkJ,SACLjB,eAAC2e,GAAS,QAIlB,E,UCjFa8B,GAAUlpB,UAAOC,IAAGC,QAAAC,YAAA,0IAUpBwb,GAAU3b,UAAOC,IAAGI,QAAAF,YAAA,oGAOpBG,GAAUN,UAAOC,IAAGM,QAAAJ,YAAA,wDAKpB4a,GAAO/a,UAAOgb,KAAIva,QAAAN,YAAA,qaAgBlBO,GAAMV,UAAOW,IAAGC,QAAAT,YAAA,sDAKhBgpB,GAAenpB,UAAOC,IAAG8b,QAAA5b,YAAA,wDCkEvBipB,GAlGD,WACZ,IAAA5Q,EAA0BtD,mBAAS,IAAGuD,EAAAnI,YAAAkI,EAAA,GAA/B/Q,EAAKgR,EAAA,GAAE4Q,EAAQ5Q,EAAA,GACtB8F,EAAgCrJ,mBAAS,IAAGsJ,EAAAlO,YAAAiO,EAAA,GAArC7W,EAAQ8W,EAAA,GAAE8K,EAAW9K,EAAA,GACtB+D,EAAUC,cACVtZ,EAAWuZ,cACXrU,EAAW2H,cACjBwJ,EAA0BC,aAAY,SAACxW,GAAK,MAAM,CAChDugB,KAAMvgB,EAAMuF,OAAOgb,KACnBvhB,QAASgB,EAAMhB,QAAQsB,KACxB,IAHOigB,EAAIhK,EAAJgK,KAAMvhB,EAAOuX,EAAPvX,QASRuT,EAAY,eAAAna,EAAAC,YAAAC,cAAAC,MAAG,SAAAC,EAAO4J,GAAK,IAAAoe,EAAA1hB,EAAAC,EAAArD,EAAAtC,EAAA6G,EAAA,OAAA3H,cAAAI,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEW,OAD1CuJ,EAAMuY,iBACNvV,EAASE,GAAQC,OAAOC,YAAW,IAAO7M,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAErBwF,GAAaE,MAAME,EAAOC,GAAU,KAAD,EAAhD8hB,EAAI7nB,EAAAqB,KACF8E,EAAsB0hB,EAAtB1hB,MAAOC,EAAeyhB,EAAfzhB,KAAMrD,EAAS8kB,EAAT9kB,KAEjBoD,GAASC,IACXjG,aAAa2nB,QAAQ,QAAS3hB,GAC9BhG,aAAa2nB,QAAQ,OAAQ1hB,GAC7BjG,aAAa2nB,QAAQ,QAAS/kB,EAAKogB,OACnC1W,EACEE,GAAQ3B,QAAQoB,QAAOrK,YAAC,CAAE+D,MAAOM,EAAMD,MAAOA,GAAUpD,KACxDtC,EACe8G,EAASF,OAAS,CAAEC,KAAM,CAAEF,SAAU,eAA/CE,EAAI7G,EAAJ6G,KACRsZ,EAAQoD,QAAQ1c,IACjBtH,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAA8B,GAAA9B,EAAA,SAEDyM,EAASE,GAAQtG,QAAQ4K,eAAe,QAEF,OAFEjR,EAAAC,KAAA,GAExCwM,EAASE,GAAQC,OAAOE,cAAc9M,EAAA+M,OAAA,6BAAA/M,EAAAM,OAAA,GAAAT,EAAA,yBAEzC,gBAtBiByB,GAAA,OAAA7B,EAAA/B,MAAA,KAAA6C,UAAA,KA4BlB,OACEyH,gBAACuf,GAAO,CAAAxf,SAAA,CACNC,gBAACgS,GAAO,CAAAjS,SAAA,CACNjB,eAAC0gB,GAAY,CAAAzf,SACXjB,eAAC/H,GAAG,CAACulB,IAAKgD,GAAuB9C,IAAI,iCAEvC1d,eAACnI,GAAO,CAAAoJ,SACL6f,EACC9gB,eAACihB,KAAgB,IAEjB/f,gBAACoR,GAAI,CAAC4O,SAAUpO,EAAa7R,SAAA,CAC3BjB,eAACqB,KAAS,CACRzD,GAAI,aACJoF,UAAQ,EACRN,QAAS,SACTV,KAAM,OACNe,KAAM,OACNd,YAAa,QACbwN,WAAY,CAAE,aAAc,gBAC5BtN,SAAU,SAAC2Y,GAAC,OAAK8F,EAAS9F,EAAExK,OAAOpO,MAAM,IAE3ClC,eAACqB,KAAS,CACRzD,GAAI,iBACJoF,UAAQ,EACRN,QAAS,SACTV,KAAM,WACNe,KAAM,WACNd,YAAa,WACbE,SAAU,SAAC2Y,GAAC,OAAK+F,EAAY/F,EAAExK,OAAOpO,MAAM,EAC5CuN,WAAY,CAAE,aAAc,kBAE9BzP,eAAC6M,IAAM,CACL7K,KAAM,SACNU,QAAS,YACTiM,WAjEL3P,EAAMjE,QAAU,GAAKkE,EAASlE,OAAS,GAiERkG,SAC3B,eAMN1B,GACCS,eAACoC,GAAO,CACNvB,KAAMtB,EACN8C,SAAS,QACTvB,QAjDa,WACrB6E,EAASE,GAAQtG,QAAQ8K,cAC3B,EAgDU9K,QAAS,kCAIfS,eAAC2e,GAAS,MAGhB,E,2DC3GqBwC,GAAa,SAAAC,GAAAC,aAAAF,EAAAC,GAAA,IAAAE,EAAAC,aAAAJ,GAChC,SAAAA,EAAYhhB,GAAQ,IAADqhB,EAEgB,OAFhBC,aAAA,KAAAN,IACjBK,EAAAF,EAAAI,KAAA,KAAMvhB,IACDI,MAAQ,CAAEohB,UAAU,GAAQH,CACnC,CAKC,OALAI,aAAAT,EAAA,EAAApB,IAAA,oBAAA7d,MAOD,SAAkBmC,EAAOwd,GAMvBC,QAAQC,IAAI1d,EAAOwd,EAAKG,eAC1B,GAAC,CAAAjC,IAAA,SAAA7d,MAED,WACE,OAAI+f,KAAK1hB,MAAMohB,SAENM,KAAK9hB,MAAM+hB,SAGbD,KAAK9hB,MAAMc,QACpB,IAAC,EAAA8e,IAAA,2BAAA7d,MArBD,SAAgCmC,GAE9B,MAAO,CAAEsd,UAAU,EACrB,KAACR,CAAA,CAT+B,CAAS3U,IAAM7M,WCU3CwiB,GAAcC,4BAAiB3qB,QAAAC,YAAA,2NAc/B2qB,GAAQhsB,OAEdisB,IAASpiB,OACPgB,gBAACqhB,aAAU,CAAAthB,SAAA,CACTC,gBAACshB,IAAM,CAAAvhB,SAAA,CACLjB,eAAA,QAAMyiB,QAAQ,UACdziB,eAAA,SAAAiB,SAAO,qCAETjB,eAACmiB,GAAW,IACZniB,eAACmhB,GAAa,CAAAlgB,SACZjB,eAAC0iB,IAAQ,CAACL,MAAOA,GAAMphB,SACrBjB,eAAC2iB,gBAAa,CAACjP,MCrCK,CAC1B8K,OAAQ,CACNC,QAAS,YDmC8Bxd,SACjCjB,eAAC4iB,IAAa,CAAA3hB,SACZC,gBAAC+e,IAAM,CAAAhf,SAAA,CACLjB,eAACC,IAAK,CAAC4iB,OAAK,EAAC9F,KAAM,IAAKnd,UAAW+gB,KACnC3gB,eAACN,GAAY,CAACqd,KAAM,aAAcnd,UAAWkgB,mBAOzD1c,SAASgU,eAAe,Q,kCE3BX0L,IAnBgB,SAAA9rB,GAAW,OAAI,SAC5C+rB,EACAC,EACAC,GAaA,OAAOjsB,GAXkB,SAACuJ,EAAO8T,GAC/B,IARU6O,EAQJC,EAAQC,YAAYC,MACpBC,EAAWP,EAAQxiB,EAAO8T,GAC1BkP,EAAMH,YAAYC,MAClBG,GAXIN,EAWSK,EAAMJ,EAXLM,KAAKC,MAAe,IAATR,GAAgB,KAe/C,OAFApB,QAAQC,IAAI,wBAAyByB,GAE9BF,CACT,GAEqCN,EAAcC,EACrD,CAAC,C,kCCVcU,IATA,SAAAtB,GAAK,OAAI,SAAAjpB,GAAI,OAAI,SAAAib,GAC9ByN,QAAQ8B,MAAMvP,EAAOrS,MACrB8f,QAAQD,KAAK,cAAexN,GAC5B,IAAIpN,EAAS7N,EAAKib,GAGlB,OAFAyN,QAAQC,IAAI,aAAcM,EAAM1Y,YAChCmY,QAAQ+B,WACD5c,CACT,CAAC,E,iCCwBc6c,IA/BG,CAChBve,SAAU,WACVE,YAAa,cACbP,aAAc,eACdE,aAAc,eACduB,YAAa,cACbC,YAAa,cACbmd,YAAa,cACb5c,eAAgB,iBAChBE,eAAgB,iBAChBuB,WAAY,aACZE,YAAa,cACbE,kBAAmB,oBACnBE,kBAAmB,oBACnBpL,iBAAkB,mBAClBwL,cAAe,gBACfc,aAAc,eACdE,aAAc,eACdb,gBAAiB,kBACjBsB,eAAgB,iBAChBE,eAAgB,iBAChBE,eAAgB,iBAChB6Y,iBAAkB,mBAClB7d,mBAAoB,qBACpBC,gBAAiB,kBACjB6d,oBAAqB,sBACrBnY,sBAAuB,wBACvBC,mBAAoB,qBACpBmY,sBAAuB,wB,4DC1BnBlB,EAAe,CACnB1jB,KAAM,KACNid,MAAO,IAIPhX,EAMEue,IANFve,SACAE,EAKEqe,IALFre,YACAP,EAIE4e,IAJF5e,aACAE,EAGE0e,IAHF1e,aACAe,EAEE2d,IAFF3d,mBACAC,EACE0d,IADF1d,gBAsBa+d,EAnBQ,WAA8C,IAA7C5jB,EAAK9G,UAAAsB,OAAA,QAAAY,IAAAlC,UAAA,GAAAA,UAAA,GAAGupB,EAAYrqB,EAAAc,UAAAsB,OAAA,EAAAtB,UAAA,QAAAkC,EAAI6I,EAAO7L,EAAP6L,QAC9C,OAD2D7L,EAAJqJ,MAErD,KAAKuD,EACH,OAAAtK,wBAAA,GAAYsF,GAAK,IAAEjB,KAAMkF,IAC3B,KAAKiB,EACH,OAAAxK,YAAA,GAAY+nB,GACd,KAAK9d,EACH,OAAAjK,wBAAA,GAAYsF,GAAK,IAAEgc,MAAO/X,IAC5B,KAAKY,EACH,OAAAnK,YAAA,GAAY+nB,GACd,KAAK7c,EACH,OAAAlL,wBAAA,GAAYsF,GAAK,IAAEjB,KAAMkF,IAC3B,KAAK4B,EACH,OAAAnL,YAAA,GAAYsF,GACd,QACE,OAAOA,EAEb,EC/BMyiB,EAAe,CACpBlC,MAAM,GAGCna,EAA6Bmd,IAA7Bnd,YAAaC,EAAgBkd,IAAhBld,YAaNwd,EAXO,WAA8C,IAA7C7jB,EAAK9G,UAAAsB,OAAA,QAAAY,IAAAlC,UAAA,GAAAA,UAAA,GAAGupB,EAAYrqB,EAAAc,UAAAsB,OAAA,EAAAtB,UAAA,QAAAkC,EAAI6I,EAAO7L,EAAP6L,QAC9C,OAD2D7L,EAAJqJ,MAEtD,KAAK2E,EACJ,OAAA1L,wBAAA,GAAYsF,GAAK,IAAEugB,KAAMtc,IAC1B,KAAKoC,EACJ,OAAA3L,YAAA,GAAY+nB,GACb,QACC,OAAOziB,EAEV,ECfMyiB,EAAe,CACpB3J,IAAK,IAGElS,EAAmC2c,IAAnC3c,eAAgBE,EAAmByc,IAAnBzc,eAaTgd,EAXO,WAA8C,IAA7C9jB,EAAK9G,UAAAsB,OAAA,QAAAY,IAAAlC,UAAA,GAAAA,UAAA,GAAGupB,EAAYrqB,EAAAc,UAAAsB,OAAA,EAAAtB,UAAA,QAAAkC,EAAI6I,EAAO7L,EAAP6L,QAC9C,OAD2D7L,EAAJqJ,MAEtD,KAAKmF,EACJ,OAAAlM,wBAAA,GAAYsF,GAAK,IAAE8Y,IAAK7U,IACzB,KAAK6C,EACJ,OAAApM,YAAA,GAAY+nB,GACb,QACC,OAAOziB,EAEV,ECfMyiB,EAAe,CACpBniB,MAAM,GAGC+H,EAA4Bkb,IAA5Blb,WAAYE,EAAgBgb,IAAhBhb,YAaLwb,EAXM,WAAqC,IAApC/jB,EAAK9G,UAAAsB,OAAA,QAAAY,IAAAlC,UAAA,GAAAA,UAAA,GAAGupB,EAC7B,QADyCvpB,UAAAsB,OAAA,EAAAtB,UAAA,QAAAkC,GAAIqG,MAE5C,KAAK4G,EACJ,MAAO,CAAE/H,MAAM,GAChB,KAAKiI,EACJ,OAAA7N,YAAA,GAAY+nB,GACb,QACC,OAAOziB,EAEV,E,gBCfMyiB,EAAe,CACpBjZ,mBAAoB,CAAC,GAGdf,EAA2F8a,IAA3F9a,kBAAmBE,EAAwE4a,IAAxE5a,kBAAmBI,EAAqDwa,IAArDxa,cAAexL,EAAsCgmB,IAAtChmB,iBAAkB2L,EAAoBqa,IAApBra,gBAEzE8a,EAA8B,SAAA/f,GAmBlC,OAlBeA,EAAQggB,QAAO,SAACC,EAAKC,GAClC,OAAkC,IAA9B5c,OAAO6c,OAAOF,GAAK1pB,QAAiB0pB,EAAIC,EAAQ1mB,UAQpD/C,wBAAA,GACKwpB,GAAG,GAAAxJ,YAAA,GACLyJ,EAAQ1mB,SAAQ,GAAAvF,OAAAwR,YACZwa,EAAIC,EAAQ1mB,WAAS,CAAA/C,YAAA,GACnBypB,OAXPzpB,wBAAA,GACKwpB,GAAG,GAAAxJ,YAAA,GACLyJ,EAAQ1mB,SAAW,CAAA/C,YAAA,GACbypB,KAWb,GAAG,CAAC,EAGN,EA4CeE,EA1CU,WAA8C,IAA7CrkB,EAAK9G,UAAAsB,OAAA,QAAAY,IAAAlC,UAAA,GAAAA,UAAA,GAAGupB,EAAYrqB,EAAAc,UAAAsB,OAAA,EAAAtB,UAAA,QAAAkC,EAAI6I,EAAO7L,EAAP6L,QACjD,OAD8D7L,EAAJqJ,MAEzD,KAAKgH,EACJ,MAAO,CAAEe,mBAAoBwa,EAA4B/f,IAC1D,KAAK0E,EACD,OAAO8Z,EACT,KAAK1Z,EACH,IAAMub,EAA+BtkB,EAAMwJ,mBAAmBvF,EAAQxG,UACtE,OAAA/C,wBAAA,GACKsF,GAAK,IACRwJ,mBAAkBkR,YAAA,GACfzW,EAAQxG,SAAQ,GAAAvF,OAAAwR,YACX4a,EAA+BtkB,EAAMwJ,mBAAmBvF,EAAQxG,UAAY,IAAI,CACpF,CAAEJ,GAAI4G,EAAQ5G,GACZ4S,KAAMhM,EAAQgM,KACdE,WAAYlM,EAAQkM,WACpB1S,SAAUwG,EAAQxG,SAClB4E,OAAQ4B,EAAQ5B,aAI1B,KAAK9E,EACH,OAAA7C,wBAAA,GACKsF,GAAK,IACRwJ,mBAAkBkR,YAAA,GACfzW,EAAQxG,SAAWuC,EAAMwJ,mBAAmBvF,EAAQxG,UAAUwmB,QAAO,SAACC,EAAKC,GAK5E,OAJIA,EAAQ9mB,KAAO4G,EAAQ5G,KACzB8mB,EAAQhU,WAAalM,EAAQkM,WAC7BgU,EAAQ9hB,OAAS4B,EAAQ5B,QAErB,GAANnK,OAAAwR,YAAWwa,GAAG,CAAEC,GAClB,GAAG,OAEP,KAAKjb,EACH,MAAO,CACLM,mBAAoBiZ,GAE1B,QACC,OAAOziB,EAEV,ECpEMyiB,EAAe,CACpBniB,MAAM,GAGCuJ,EAA+B0Z,IAA/B1Z,aAAcE,EAAiBwZ,IAAjBxZ,aAaPwa,EAXQ,WAAqC,IAApCvkB,EAAK9G,UAAAsB,OAAA,QAAAY,IAAAlC,UAAA,GAAAA,UAAA,GAAGupB,EAC/B,QAD2CvpB,UAAAsB,OAAA,EAAAtB,UAAA,QAAAkC,GAAIqG,MAE9C,KAAKoI,EACJ,OAAAnP,wBAAA,GAAYsF,GAAK,IAAEM,MAAM,IAC1B,KAAKyJ,EACJ,OAAArP,YAAA,GAAY+nB,GACb,QACC,OAAOziB,EAEV,ECfMyiB,EAAe,CACpBzY,OAAQ,GACRW,eAAe,GAGRH,EAAmD+Y,IAAnD/Y,eAAgBE,EAAmC6Y,IAAnC7Y,eAAgBE,EAAmB2Y,IAAnB3Y,eAezB4Z,EAbO,WAA8C,IAA7CxkB,EAAK9G,UAAAsB,OAAA,QAAAY,IAAAlC,UAAA,GAAAA,UAAA,GAAGupB,EAAYrqB,EAAAc,UAAAsB,OAAA,EAAAtB,UAAA,QAAAkC,EAAI6I,EAAO7L,EAAP6L,QAC9C,OAD2D7L,EAAJqJ,MAEtD,KAAKmJ,EACJ,OAAAlQ,wBAAA,GAAYsF,GAAK,IAAE2K,eAAe,IACnC,KAAKH,EACJ,MAAO,CAAER,OAAQ/F,EAASwgB,gBAAgB,GAC3C,KAAK/Z,EACJ,OAAAhQ,YAAA,GAAY+nB,GACb,QACC,OAAOziB,EAEV,EClBMyiB,EAAe,CACpB/E,WAAY,IAGLnS,EAA8CgY,IAA9ChY,sBAAuBC,EAAuB+X,IAAvB/X,mBAahBkZ,EAXS,WAA8C,IAA7C1kB,EAAK9G,UAAAsB,OAAA,QAAAY,IAAAlC,UAAA,GAAAA,UAAA,GAAGupB,EAAYrqB,EAAAc,UAAAsB,OAAA,EAAAtB,UAAA,QAAAkC,EAAI6I,EAAO7L,EAAP6L,QAChD,OAD6D7L,EAAJqJ,MAExD,KAAK8J,EACJ,OAAA7Q,wBAAA,GAAYsF,GAAK,IAAE0d,WAAYzZ,IAChC,KAAKuH,EACJ,OAAA9Q,YAAA,GAAY+nB,GACb,QACC,OAAOziB,EAEV,ECPMtJ,EAAciuB,0BAAgB,CACnChhB,UACA4B,SACAe,SACAmF,QACAjF,YACAxH,UACAgL,SACAoB,aAGc1U,K","file":"static/js/main.1d7ea9bd.chunk.js","sourcesContent":["import { applyMiddleware, compose, createStore } from 'redux'\nimport thunkMiddleware from 'redux-thunk'\n\nimport monitorReducersEnhancer from '../enhancers/monitorReducers'\nimport loggerMiddleware from '../middleware/logger'\nimport rootReducer from '../reducers'\n\nexport default function configureStore(preloadedState) {\n const middlewares = [thunkMiddleware, loggerMiddleware]\n const middlewareEnhancer = applyMiddleware(...middlewares)\n\n const enhancers = [middlewareEnhancer, monitorReducersEnhancer]\n const composedEnhancers = compose(...enhancers)\n\n const store = createStore(rootReducer, preloadedState, composedEnhancers)\n\n return store\n}","switch (process.env.NODE_ENV) {\n case 'develop':\n module.exports = require('./configureStore.dev');\n break;\n case 'production':\n module.exports = require('./configureStore.prod');\n break;\n default:\n module.exports = require('./configureStore.prod');\n break;\n}\n","import { applyMiddleware, createStore } from 'redux'\nimport thunkMiddleware from 'redux-thunk'\nimport { composeWithDevTools } from 'redux-devtools-extension'\n\nimport monitorReducersEnhancer from '../enhancers/monitorReducers'\nimport loggerMiddleware from '../middleware/logger'\nimport rootReducer from '../reducers'\n\nexport default function configureStore(preloadedState) {\n const middlewares = [thunkMiddleware, loggerMiddleware]\n const middlewareEnhancer = applyMiddleware(...middlewares)\n\n const enhancers = [middlewareEnhancer, monitorReducersEnhancer]\n const composedEnhancers = composeWithDevTools(...enhancers)\n\n const store = createStore(rootReducer, preloadedState, composedEnhancers)\n\n return store\n}","import styled from 'styled-components';\n\nexport const Container = styled.div`\n height: 100vh;\n display: flex;\n background-color: rgb(169 169 169 / 10%);\n flex-direction: column;\n overflow: hidden;\n`;\n\nexport const Header = styled.div`\n display: flex;\n margin: 10px;\n width: 100%;\n justify-content: center;\n`;\n\nexport const Content = styled.div`\n display: flex;\n text-transform: uppercase;\n flex-direction: column;\n background-color: white;\n overflow: auto;\n`;\n\nexport const Footer = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const Img = styled.img`\n width: auto;\n height: 140px;\n padding-top: 10px;\n`;\n","import config from '../config/keys';\n\nexport const url = config.apiUrl;\n\nconst _getUri = endpointUri => `${url}/${endpointUri}`;\n\nconst _getHeaders = async () => {\n\tconst userToken = localStorage.getItem('token');\n\treturn {\n\t\t'Content-Type': 'application/json',\n\t\t'Authorization': `Bearer: ${userToken}`,\n\t};\n};\n\nconst _handleResponse = async (response) => {\n\tconst { status, statusText } = response;\n\tif (status !== 200) {\n\t\tthrow new Error(statusText);\n\t}\n\tconst contentType = response.headers.get('content-type');\n\tconst responseType =\n\t\tcontentType && contentType.indexOf('application/json') !== -1 ?\n\t\t\t'json' : 'text';\n\treturn await response[responseType]();\n};\n\nconst _request = async (endpointUri, config) => {\n\tlet route = (typeof endpointUri === 'string' && endpointUri.length > 0) && endpointUri;\n\tif (!route) {\n\t\tthrow new Error('no route provided');\n\t}\n\tconst uri = _getUri(endpointUri);\n\ttry {\n\t\tconfig.headers = {\n\t\t\t...await _getHeaders(),\n\t\t\t...config.headers\n\t\t};\n\t\tconst response = await fetch(uri, config);\n\t\treturn await _handleResponse(response);\n\t} catch (err) {\n\t\tthrow new Error(`error when calling '${uri}' - message: \"${err}\"`);\n\t}\n};\n\nexport const get = (url, config = {}) =>\n\t_request(url, {\n\t\t...config,\n\t\tmode: 'cors',\n\t\tmethod: 'GET'\n\t});\n\nexport const post = async (url, data, config = {}) =>\n\t_request(url, {\n\t\t...config,\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tmethod: 'POST',\n\t\tbody: JSON.stringify(data),\n\t\tmode: 'cors'\n\t});\n\nexport const put = async (url, data, config = {}) =>\n\t_request(url, {\n\t\t...config,\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tmethod: 'PUT',\n\t\tmode: 'cors',\n\t\tbody: JSON.stringify(data)\n\t});\n\nexport const remove = async (url, config = {}) =>\n\t_request(url, {\n\t\t...config,\n\t\tmode: 'cors',\n\t\tmethod: 'DELETE',\n\t});\n","const keys = {\n apiUrl: process.env.REACT_APP_API_URL,\n};\n\nexport default keys;\n","const Endpoints = {\n LOGIN: 'login.php',\n GET_PEOPLE: 'person/read.php',\n POST_PERSON: 'person/create.php',\n UPDATE_PERSON: 'person/update.php',\n DELETE_PERSON: (id) => `person/delete.php?personId=${id}`,\n POST_SIGNATURE: 'signature/create.php',\n UPDATE_SIGNATURE: 'signature/update.php',\n GET_SIGNATURE_BY_PERSON: (personId) =>\n `signature/read.php?personId=${personId}`,\n DELETE_SIGNATURE_BY_PERSON: ({ id, personId }) =>\n `signature/delete.php?id=${id}&personId=${personId}`,\n GET_REPORT_NO_SIGNATURE: 'report/nosignature.php',\n GET_REPORT_NO_INFO_SIGNATURE: 'report/noinfosignature.php',\n GET_REPORT_BY_PROCESS: 'report/byprocess.php',\n GET_USERS: 'user/read.php',\n GET_USER: (userId) => `user/single.php?id=${userId}`,\n POST_USER: 'user/create.php',\n UPDATE_USER: 'user/update.php',\n DELETE_USER: (id) => `user/delete.php?id=${id}`,\n GET_ACTIVITY_FEED: 'activity/read.php',\n};\n\nexport default Endpoints;\n","import * as Api from './api'\nimport Endpoints from '../enums/endpoints'\n\nconst authenticate = {\n\tisAuthenticated: !!localStorage.getItem('token'),\n\n\tlogin: async (email, password) => {\n\t\tconst { LOGIN } = Endpoints\n\t\tconst request = await Api.post(LOGIN, {\n\t\t\temail: email,\n\t\t\tpassword: password,\n\t\t})\n\t\tif (request.jwt) {\n\t\t\tauthenticate.isAuthenticated = true\n\t\t\treturn { token: request.jwt, user: request.email, data: request.data}\n\t\t}\n\t\treturn { message: 'user not found' }\n\t},\n\n\tlogout: () => {\n\t\tauthenticate.isAuthenticated = false\n\t\tlocalStorage.removeItem('token')\n\t\tlocalStorage.removeItem('user')\n\t\tlocalStorage.removeItem('roles')\n\t},\n};\n\nexport default authenticate;","import React from 'react';\nimport {\n Route,\n Redirect,\n} from \"react-router-dom\";\n\nimport authenticate from '../../../services/authenticate';\n\nconst PrivateRoute = ({ component: Component, ...rest }) => {\n return (\n \n authenticate.isAuthenticated ? (\n \n ) : (\n \n )\n }\n />\n );\n}\n\nexport default PrivateRoute;","import styled from 'styled-components'\n\nexport const Content = styled.div`\n position: absolute;\n display: flex;\n flex-direction: column;\n background-color: white;\n top: 0;\n bottom: 0;\n left: 5%;\n right: 5%;\n \n @media screen and (max-width: 800px) {\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n`\nexport const Header = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n`\nexport const Body = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: center;\n height: 90vh;\n overflow-y: auto;\n`\nexport const Title = styled.div`\n flex: 1;\n text-align: center;\n font-size: 24px;\n font-weight: bold;\n padding-top: 30px;\n`\n","import React from 'react'\nimport Modal from '@material-ui/core/Modal'\nimport { Content, Header, Title, Body } from './styled'\nimport CancelTwoToneIcon from '@material-ui/icons/CancelTwoTone'\n\nconst ModalUI = ({\n open,\n onClose,\n\tbody,\n\ttitle\n}) => (\n\t\n\t\t\n\t\t\t
\n\t\t\t\t {title} \n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\t{body}\n\t\t\t\n\t\t
\n\t\n)\n\nexport default ModalUI","import styled from 'styled-components'\n\nexport const TextField = styled.input`\n height: 50px;\n width: 270px;\n border-radius: 3px;\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border: 1px solid #e5e5e5;\n padding: 0 32px 0 16px;\n\n &:hover {\n cursor: pointer;\n }\n`\n\nexport const ClearButton = styled.button`\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n height: 52px;\n width: 32px;\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n\nexport const Row = styled.div`\n display: flex;\n flex-direction: row;\n margin-bottom: 5px;\n`\n","import React from 'react'\nimport { TextField, ClearButton, Row } from './styled'\n\nconst FilterDataTable = ({ filterText, onFilter, onClear, placeHolder, arialLabel }) => (\n \n \n X\n \n)\n\nexport default FilterDataTable","import { Message } from './Message'\n\nexport default Message","import React from 'react'\nimport Snackbar from '@material-ui/core/Snackbar'\nimport MuiAlert from '@material-ui/lab/Alert'\n\n\nexport const Message = ({ open, severity, onClose, message}) => {\n\n const handleClose = (event, reason) => {\n if (reason === 'clickaway') {\n return\n }\n onClose()\n }\n\n return (\n \n \n {message}\n \n \n )\n}\n","import styled from 'styled-components'\n\nexport const Content = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n height: auto;\n`\n\nexport const Row = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 15px;\n`\n","export const inputFields = [\n {id: \"name\", label:\"Nome\", type:\"text\", name:\"name\", required: true, errorMessage: \"Nome é obrigatório.\"},\n {id: \"document\", label:\"CPF\", type:\"text\", name:\"document\", required: true, errorMessage: \"CPF é obrigatório.\"},\n {id: \"birthday\", label:\"Data aniversário\", type:\"date\", name:\"birthday\", required: true, errorMessage: \"Aniversário é obrigatório.\"},\n {id: \"record\", label:\"Número Processo\", type:\"text\", name:\"record\", required: true, errorMessage: \"Número do processo é obrigatório.\"},\n {id: \"address\", label:\"Endereço\", type:\"address\", name:\"address\", required: true, errorMessage: \"Endereço é obrigatório.\"},\n {id: \"phone1\", label:\"Telefone 1\", type:\"tel\", name:\"phone1\", required: true, errorMessage: \"Telefone é obrigatório.\"},\n {id: \"mother\", label:\"Nome Mãe\", type:\"text\", name:\"mother\", required: false, errorMessage: \"Nome da mãe é obrigatório\"},\n {id: \"landmark\", label:\"Ponto de referencia\", type:\"text\", name:\"landmark\", required: false, errorMessage: \"\"},\n {id: \"phone2\", label:\"Telefone 2\", type:\"tel\", name:\"phone2\", required: false, errorMessage: \"\"},\n {id: \"phone3\", label:\"Telefone 3\", type:\"tel\", name:\"phone3\", required: false, errorMessage: \"\"},\n {id: \"startdate\", label:\"Data Inicial\", type:\"date\", name:\"startdate\", required: true, errorMessage: \"Data inicial é obrigatório\"},\n {id: \"infopen\", label:\"INFOPEN\", type:\"text\", name:\"infopen\", required: false, errorMessage: \"\"},\n {id: \"card\", label:\"Carteirinha\", type:\"text\", name:\"card\", required: false, errorMessage: \"\"},\n]\n\nexport const formInitialState = formData => {\n return ({\n name: '',\n document: '',\n birthday: '',\n record: '',\n mother: '',\n address: '',\n landmark: '',\n phone1: '',\n phone2: '',\n phone3: '',\n status: '',\n startDate: '',\n infopen: '',\n card: '',\n processtype: '',\n processfrequency: '',\n ...formData,\n })\n}\n","import * as Api from './api';\nimport Endpoints from '../enums/endpoints';\n\nconst account = {\n list: async () => {\n try {\n const url = Endpoints.GET_USERS;\n const request = await Api.get(url);\n return request.response;\n } catch (err) {\n return { error: err };\n }\n },\n get: async (id) => {\n try {\n const url = Endpoints.GET_USER(id);\n const request = await Api.get(url);\n return request.response;\n } catch (err) {\n return { error: err };\n }\n },\n post: async (payload) => {\n try {\n const url = Endpoints.POST_USER;\n const { data } = await Api.post(url, payload);\n return data;\n } catch (err) {\n return { error: err };\n }\n },\n update: async (payload) => {\n try {\n const url = Endpoints.UPDATE_USER;\n const { data } = await Api.put(url, payload);\n return data;\n } catch (err) {\n return { error: err };\n }\n },\n delete: async id => {\n try {\n const url = Endpoints.DELETE_USER(id)\n const { data } = await Api.remove(url)\n return data\n } catch(err) {\n return ({ error: err })\n }\n }\n};\n\nexport default account;\n","import types from '../constants';\nimport actions from '.';\nimport account from '../../services/account';\n\nconst setUser = (user) => ({\n type: types.SET_USER,\n payload: user,\n});\n\nconst removeUser = () => ({\n type: types.REMOVE_USER,\n});\n\nconst successUser = (data) => ({\n type: types.SUCCESS_USER,\n payload: data,\n});\n\nconst fetchUserSuccess = (data) => ({\n type: types.FETCH_USER_SUCCESS,\n payload: data,\n});\n\nconst fetchUserFail = (data) => ({\n type: types.FETCH_USER_FAIL,\n});\n\nconst failureUser = () => ({\n type: types.FAILURE_USER,\n});\n\nconst loadUsers = () => async (dispatch) => {\n dispatch(actions.loader.showLoader);\n try {\n const dataLoad = await account.list();\n dispatch(successUser(dataLoad || []));\n } catch (err) {\n dispatch(failureUser());\n dispatch(actions.loader.hideLoader);\n } finally {\n dispatch(actions.loader.hideLoader);\n }\n};\n\nconst loadUser =\n ({ id }) =>\n async (dispatch) => {\n dispatch(actions.loader.showLoader);\n try {\n const dataLoad = await account.get(id);\n dispatch(fetchUserSuccess(dataLoad || null));\n } catch (err) {\n dispatch(fetchUserFail());\n dispatch(actions.loader.hideLoader);\n } finally {\n dispatch(actions.loader.hideLoader);\n }\n };\n\nconst createUser = (payload) => async (dispatch) => {\n dispatch(actions.loader.showLoader);\n try {\n const data = await account.post(payload);\n dispatch(successUser(data || []));\n return { success: true };\n } catch (err) {\n dispatch(failureUser());\n dispatch(actions.loader.hideLoader);\n return { success: false, error: err };\n }\n};\n\nconst updateUser = (data) => async (dispatch) => {\n dispatch(actions.loader.showLoader);\n try {\n const userResult = await account.update(data);\n dispatch(successUser(userResult || []));\n return { success: true };\n } catch (err) {\n dispatch(failureUser());\n dispatch(actions.loader.hideLoader);\n return { success: false, error: err };\n } finally {\n dispatch(actions.loader.hideLoader);\n }\n};\n\nconst deleteUser = (id) => async dispatch => {\n dispatch(actions.loader.showLoader)\n try {\n const data = await account.delete(id)\n dispatch(successUser(data || []))\n return { success: true}\n } catch(err) {\n dispatch(failureUser())\n dispatch(actions.loader.hideLoader)\n return { success: false, error: err}\n } finally {\n dispatch(actions.loader.hideLoader)\n }\n}\n\nconst accountActions = {\n setUser,\n removeUser,\n loadUsers,\n loadUser,\n createUser,\n updateUser,\n deleteUser,\n};\n\nexport default accountActions;\n","import types from '../constants'\n\nconst showLoader = data => ({\n\ttype: types.SHOW_LOADER,\n\tpayload: data\n})\n\nconst hideLoader = () => ({\n\ttype: types.HIDE_LOADER,\n})\n\nconst loaderActions = {\n\tshowLoader,\n\thideLoader, \n}\n\nexport default loaderActions\n","import * as Api from './api'\nimport Endpoints from '../enums/endpoints'\n\nconst people = {\n\tget: async () => {\n try {\n const url = Endpoints.GET_PEOPLE\n const request = await Api.get(url)\n return request.response\n } catch(err) {\n return ({ error: err })\n }\n },\n post: async payload => {\n try {\n const url = Endpoints.POST_PERSON\n const { item, data } = await Api.post(url, payload)\n return [item, data]\n } catch(err) {\n return ({ error: err })\n }\n },\n update: async payload => {\n try {\n const url = Endpoints.UPDATE_PERSON\n const { data } = await Api.put(url, payload)\n return data\n } catch(err) {\n return ({ error: err })\n }\n },\n delete: async id => {\n try {\n const url = Endpoints.DELETE_PERSON(id)\n const { data } = await Api.remove(url)\n return data\n } catch(err) {\n return ({ error: err })\n }\n }\n}\n\nexport default people","import * as Api from './api'\nimport Endpoints from '../enums/endpoints'\n\nconst signature = {\n get: async id => {\n try {\n const url = Endpoints.GET_SIGNATURE_BY_PERSON(id)\n const { response } = await Api.get(url)\n return response\n } catch(err) {\n return ({ error: err })\n }\n },\n post: async data => {\n try {\n const url = Endpoints.POST_SIGNATURE\n const { response } = await Api.post(url, data)\n return response\n } catch(err) {\n return ({ error: err })\n }\n },\n update: async data => {\n try {\n const url = Endpoints.UPDATE_SIGNATURE\n const { message } = await Api.put(url, data)\n return message\n } catch(err) {\n return ({ error: err })\n }\n },\n delete: async data => {\n try {\n const url = Endpoints.DELETE_SIGNATURE_BY_PERSON(data)\n const { data: result } = await Api.remove(url)\n return result\n } catch(err) {\n return ({ error: err })\n }\n }\n}\n\nexport default signature","import validate from 'uuid-validate'\nimport types from '../constants'\nimport actions from '.'\nimport people from '../../services/people'\nimport signature from '../../services/signature'\n\nconst successPeople = data => ({\n type: types.SUCCESS_PEOPLE,\n payload: data,\n})\n\nconst failurePeople = () => ({\n type: types.FAILURE_PEOPLE,\n})\n\nconst loadPeople = () => async dispatch => {\n dispatch(actions.loader.showLoader)\n try {\n const dataLoad = await people.get()\n dispatch(successPeople(dataLoad || []))\n } catch(err) {\n dispatch(failurePeople())\n dispatch(actions.loader.hideLoader)\n }\n}\n\nconst createPerson = (payload, signatures = undefined) => async dispatch => {\n dispatch(actions.loader.showLoader)\n try {\n const [item, data] = await people.post(payload)\n \n if(Object.keys(signatures).length > 0) {\n const signatureWithPersonId = signatures[0].map(sign => ({ \n ...sign,\n personId: item \n }))\n await signature.post(signatureWithPersonId)\n }\n\n dispatch(successPeople(data || []))\n return { success: true}\n } catch(err) {\n dispatch(failurePeople())\n dispatch(actions.loader.hideLoader)\n return { success: false, error: err}\n }\n}\n\nconst updatePerson = (data, signatures = undefined) => async dispatch => {\n dispatch(actions.loader.showLoader)\n try {\n const peopleResult = await people.update(data)\n if(Object.keys(signatures).length > 0) {\n const updatedSignature = []\n const newSignature = []\n\n signatures[data.id].forEach(sign => {\n //when uuid it means item is new and not persisted yet\n validate(sign.id) ? newSignature.push({ \n ...sign, personId: data.id\n }) : updatedSignature.push({ \n ...sign })\n })\n if(newSignature.length > 0) await signature.post(newSignature)\n if(updatedSignature.length > 0) await signature.update(updatedSignature)\n }\n dispatch(successPeople(peopleResult || []))\n return { success: true}\n } catch(err) {\n dispatch(failurePeople())\n dispatch(actions.loader.hideLoader)\n return { success: false, error: err}\n } finally {\n dispatch(actions.loader.hideLoader)\n }\n}\n\nconst deletePerson = (id) => async dispatch => {\n dispatch(actions.loader.showLoader)\n try {\n const data = await people.delete(id)\n dispatch(successPeople(data || []))\n return { success: true}\n } catch(err) {\n dispatch(failurePeople())\n dispatch(actions.loader.hideLoader)\n return { success: false, error: err}\n } finally {\n dispatch(actions.loader.hideLoader)\n }\n}\n\nconst peopleActions = {\n loadPeople,\n createPerson,\n updatePerson,\n deletePerson,\n}\n\nexport default peopleActions\n","import types from '../constants'\n\nconst openModal = () => ({\n\ttype: types.OPEN_MODAL,\n})\n\nconst closeModal = () => ({\n\ttype: types.CLOSE_MODAL,\n})\n\nconst modalActions = {\n\topenModal,\n\tcloseModal, \n}\n\nexport default modalActions\n","import validate from 'uuid-validate'\nimport types from '../constants'\nimport actions from '.'\nimport signature from '../../services/signature'\n\nconst signatureSuccess = data => ({\n\ttype: types.SIGNATURE_SUCCESS,\n\tpayload: data\n})\n\nconst signatureFailure = () => ({\n\ttype: types.SIGNATURE_FAILURE,\n})\n\nconst loadSignatureByPerson = personId => async dispatch => {\n\tdispatch(actions.loader.showLoader)\n try {\n const dataLoad = await signature.get(personId)\n \n if(dataLoad.error) {\n dispatch(signatureSuccess([]))\n return\n }\n \n dispatch(signatureSuccess(dataLoad))\n } catch(err) {\n dispatch(signatureFailure())\n dispatch(actions.loader.hideLoader)\n } finally {\n dispatch(actions.loader.hideLoader)\n }\n}\n\nconst addSignature = signature => ({\n type: types.ADD_SIGNATURE,\n payload: signature\n})\n\nconst updateSignature = signature => ({\n type: types.UPDATE_SIGNATURE,\n payload: signature\n})\n\nconst cleanSignatures = () => ({\n type: types.CLEAN_SIGNATURE\n})\n\nconst deleteSignature = ({id, personId}) => async (dispatch, getState) => {\n try {\n let dataLoad\n const currentState = getState().signature.signaturesByPerson[personId]\n // validate if it is a uuid(not saved to db yet)\n if(validate(id)) {\n dataLoad = currentState.filter(sign => id !== sign.id)\n } else {\n dataLoad = await signature.delete({id, personId})\n const localData = currentState.filter(item => validate(item.id))\n dataLoad.push(...localData)\n }\n\n if(dataLoad.error) {\n return\n }\n\n dispatch(signatureSuccess(dataLoad))\n } catch(err) {\n dispatch(signatureFailure())\n dispatch(actions.loader.hideLoader)\n } finally {\n dispatch(actions.loader.hideLoader)\n }\n}\n\nconst signatureActions = {\n\tsignatureSuccess,\n\tsignatureFailure,\n loadSignatureByPerson,\n addSignature,\n updateSignature,\n cleanSignatures,\n deleteSignature,\n}\n\nexport default signatureActions\n","import types from '../constants'\n\nconst showMessage = () => ({\n\ttype: types.SHOW_MESSAGE,\n})\n\nconst hideMessage = () => ({\n\ttype: types.HIDE_MESSAGE,\n})\n\nconst messageActions = {\n\tshowMessage,\n\thideMessage, \n}\n\nexport default messageActions\n","import * as Api from './api'\nimport Endpoints from '../enums/endpoints'\n\nconst report = {\n\tgetReportNoSignature: async (data) => {\n try {\n const url = Endpoints.GET_REPORT_NO_SIGNATURE\n const request = await Api.post(url, data)\n return request.response || []\n } catch(err) {\n return ({ error: err })\n }\n },\n\tgetReportNoShow: async (data) => {\n try {\n const url = Endpoints.GET_REPORT_NO_INFO_SIGNATURE\n const request = await Api.post(url, data)\n return request.response || []\n } catch(err) {\n return ({ error: err })\n }\n },\n\tgetReporByProcess: async (data) => {\n try {\n const url = Endpoints.GET_REPORT_BY_PROCESS\n const request = await Api.post(url, data)\n return request.response || []\n } catch(err) {\n return ({ error: err })\n }\n }\n}\n\nexport default report","import types from '../constants';\nimport actions from '.';\nimport report from '../../services/report';\n\nconst reportSuccess = (data) => ({\n type: types.REPORT_SUCCESS,\n payload: data,\n});\n\nconst reportFailure = () => ({\n type: types.REPORT_FAILURE,\n});\n\nconst reportLoading = () => ({\n type: types.REPORT_LOADING,\n});\n\nconst loadReportNoSignature =\n ({ startDate, endDate, processType, status }) =>\n async (dispatch) => {\n dispatch(actions.loader.showLoader);\n dispatch(reportLoading());\n try {\n const dataLoad = await report.getReportNoSignature({\n startDate,\n endDate,\n processType,\n status,\n });\n\n if (dataLoad.error) {\n dispatch(reportSuccess([]));\n return;\n }\n\n dispatch(reportSuccess(dataLoad));\n } catch (err) {\n dispatch(reportFailure());\n dispatch(actions.loader.hideLoader);\n } finally {\n dispatch(actions.loader.hideLoader);\n }\n };\n\nconst loadReportNoShow =\n ({ startDate, endDate, processType, status }) =>\n async (dispatch) => {\n dispatch(actions.loader.showLoader);\n dispatch(reportLoading());\n\n try {\n const dataLoad = await report.getReportNoShow({\n startDate,\n endDate,\n processType,\n status\n });\n\n if (dataLoad.error) {\n dispatch(reportSuccess([]));\n return;\n }\n\n dispatch(reportSuccess(dataLoad));\n } catch (err) {\n dispatch(reportFailure());\n dispatch(actions.loader.hideLoader);\n } finally {\n dispatch(actions.loader.hideLoader);\n }\n };\n\nconst loadReportByProcess =\n ({ processType, status, processFrequency }) =>\n async (dispatch) => {\n dispatch(actions.loader.showLoader);\n dispatch(reportLoading());\n\n try {\n const dataLoad = await report.getReporByProcess({\n processType, status, processFrequency\n });\n\n if (dataLoad.error) {\n dispatch(reportSuccess([]));\n return;\n }\n\n dispatch(reportSuccess(dataLoad));\n } catch (err) {\n dispatch(reportFailure());\n dispatch(actions.loader.hideLoader);\n } finally {\n dispatch(actions.loader.hideLoader);\n }\n };\n\nconst reportActions = {\n reportSuccess,\n reportFailure,\n loadReportNoSignature,\n loadReportNoShow,\n loadReportByProcess,\n};\n\nexport default reportActions;\n","import * as Api from './api'\nimport Endpoints from '../enums/endpoints'\n\nconst activity = {\n\tget: async () => {\n try {\n const url = Endpoints.GET_ACTIVITY_FEED\n const request = await Api.get(url)\n return request.response\n } catch(err) {\n return ({ error: err })\n }\n },\n}\n\nexport default activity","import types from '../constants'\nimport actions from '.'\nimport activity from '../../services/activity'\n\nconst successActivity = data => ({\n type: types.ACTIVITY_FEED_SUCCESS,\n payload: data,\n})\n\nconst failureActivity = () => ({\n type: types.ACTIVITY_FEED_FAIL,\n})\n\nconst fetchActivity = () => async dispatch => {\n dispatch(actions.loader.showLoader)\n try {\n const dataLoad = await activity.get()\n dispatch(successActivity(dataLoad || []))\n } catch(err) {\n dispatch(failureActivity())\n dispatch(actions.loader.hideLoader)\n }\n}\n\n\n\nconst activityActions = {\n fetchActivity,\n}\n\nexport default activityActions\n","import account from './account'\nimport loader from './loader'\nimport people from './people'\nimport modal from './modal'\nimport signature from './signature'\nimport message from './message'\nimport report from './report'\nimport activity from './activity'\n\nconst actions = {\n\taccount,\n\tloader,\n\tpeople,\n\tmodal,\n\tsignature,\n\tmessage,\n\treport,\n\tactivity,\n}\n\nexport default actions\n","import React from 'react';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\n\nexport default function AlertDialog({\n children, dialogText, agreeText, disagreeText, onAgreement, dialogTitle\n}) {\n const [open, setOpen] = React.useState(false);\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleAgree = () => {\n handleClose()\n onAgreement()\n }\n\n return (\n
\n \n \n {dialogTitle}\n \n \n {dialogText}\n \n \n \n \n \n \n \n
\n );\n}\n","import React from 'react'\nimport moment from 'moment'\nimport { useDispatch } from 'react-redux'\nimport actions from '../../../../store/actions'\nimport DeleteForeverTwoToneIcon from '@material-ui/icons/DeleteForeverTwoTone'\nimport AlertDialog from '../../../molecules/ConfirmDialog/ConfirmDialog'\n\nconst DeleteButton = ({ id }) => {\n\tconst dispatch = useDispatch()\n\treturn (\n\t\t dispatch(actions.people.deletePerson(id))}\n\t\t>\n\t\t\t\n\t\t\n\t)\n}\n\nexport const DataTableColumns = [\n\t{\n\t\tname: 'Nome',\n\t\tselector: 'name',\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tname: 'CPF',\n\t\tselector: 'document',\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tname: 'Situação',\n\t\tselector: 'status',\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tname: 'Data de cadastro',\n\t\tselector: 'created',\n\t\tformat: row => moment(row.created).format('DD/MM/YYYY'),\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tcell: row => ,\n\t\tignoreRowClick: true,\n\t\tallowOverflow: true,\n\t\tbutton: true,\n\t\tcenter: true,\n\t},\n]\n","import Input from './Input'\n\nexport default Input","import React from 'react'\nimport TextField from '@material-ui/core/TextField'\nimport FormControl from '@material-ui/core/FormControl'\nimport FormHelperText from '@material-ui/core/FormHelperText'\n\nconst Input = ({ label, type, value, onChange, name, required = false, validationMessage = '', error = false, disabled = false }) => {\n return (\n \n \n {error && {validationMessage}}\n \n)}\n\nexport default Input","import Selector from './Selector'\n\nexport default Selector","import React from 'react'\nimport Select from '@material-ui/core/Select'\nimport MenuItem from '@material-ui/core/MenuItem'\nimport FormHelperText from '@material-ui/core/FormHelperText'\nimport FormControl from '@material-ui/core/FormControl'\nimport InputLabel from '@material-ui/core/InputLabel';\n\nconst Selector = ({\n items = [],\n label,\n name,\n onChange,\n selectedOption,\n placeholder = '',\n validationMessage = '',\n}) => {\n return (\n \n {label}\n \n {placeholder && \n \n {placeholder}\n \n }\n {items.map(item => {item})}\n \n {validationMessage && {validationMessage}}\n \n)}\n\nexport default Selector","import styled from 'styled-components'\n\nexport const ListHeader = styled.div`\n display: flex;\n justify-content: space-between;\n`\n\nexport const ButtonWrapper = styled.div`\n padding: 15px;\n`\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { v4 as uuidv4 } from 'uuid';\nimport { Button, IconButton } from '@material-ui/core';\nimport moment from 'moment';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport Radio from '@material-ui/core/Radio';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport { Input } from '../../../../atoms';\nimport { ListHeader, ButtonWrapper } from './styled';\nimport actions from '../../../../../store/actions';\n\nconst SignatureList = ({ personId, signaturesList }) => {\n const [selectedDate, setSelectedDate] = useState(\n moment().format('YYYY-MM-DD')\n );\n\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(actions.signature.loadSignatureByPerson(personId));\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const handleToggle = (ev, value) => {\n dispatch(\n actions.signature.updateSignature({\n id: value.id,\n date: value.date,\n checkpoint: ev.currentTarget.value,\n personId: personId,\n reason: value.reason,\n })\n );\n };\n\n const handleReason = (input, value) => {\n dispatch(\n actions.signature.updateSignature({\n id: value.id,\n date: value.date,\n checkpoint: value.checkpoint,\n personId: personId,\n reason: input,\n })\n );\n };\n\n const handleDatePicker = (event) => {\n const formatedPickedDate = moment(event.target.value).format('YYYY-MM-DD');\n setSelectedDate(formatedPickedDate);\n };\n\n const addSignatureDate = () => {\n if (signaturesList?.find((item) => item.date === selectedDate)) return;\n dispatch(\n actions.signature.addSignature({\n id: uuidv4(),\n date: selectedDate,\n checkpoint: '0',\n personId: personId,\n reason: '',\n })\n );\n };\n\n return (\n <>\n \n \n \n \n Adicionar Data\n \n \n \n \n \n \n Data da Assinatura\n Assinou?\n Motivo\n Ações\n \n \n \n {signaturesList\n ?.sort(\n ({ date: previousDate }, { date: currentDate }) =>\n new Date(previousDate) - new Date(currentDate)\n )\n .map((signature, index) => (\n {\n switch (signature.checkpoint) {\n case '1':\n return 'blue';\n case '2':\n return 'red';\n default:\n return 'black';\n }\n }}\n >\n \n {moment(signature.date).format('DD/MM/YYYY')}\n \n \n handleToggle(ev, signature)}\n aria-label='assinou'\n name='customized-radios'\n >\n }\n label='Sim'\n />\n }\n label='Não'\n />\n }\n label='N/A'\n />\n \n \n \n \n handleReason(ev.target.value, signature)\n }\n multiline\n />\n \n \n \n dispatch(actions.signature.deleteSignature(signature))\n }\n >\n \n \n \n \n )) || []}\n \n
\n \n );\n};\n\nexport default SignatureList;\n","import styled from 'styled-components'\n\nexport const FormFooter = styled.div`\ndisplay: flex;\njustify-content: flex-end;\nmargin-top: 40px;\npadding-bottom: 50px;\n`\n\nexport const FormSpacer = styled.div`\ndisplay: flex;\nflex-direction: column;\nmargin-top: 15px;\n`\n\nexport const Form = styled.form`\n display: flex;\n flex-direction: column;\n padding-top: 20px;\n padding-left: 50px;\n padding-right: 50px;\n padding-bottom: 40px;\n flex: 1;\n height: 90vh;\n`\n","const Constants = {\n status: ['Ativo','Preso','Suspenso','Revogado','Extinto', 'Transferência', 'Progressão de Regime','Arquivado','Arquivado/Rescisão','Regressão Cautelar','Regressão Definitiva','Lc Concedido','Pena Convertida','Cumprimento Integral/Aguardando', 'Indulto'],\n processTypes: ['Condicional', 'Sursis', 'ANPP', 'Carta Precatória', 'Regime Aberto'],\n processFrequencies: ['Bimestral','Bimestral par','Bimestral impar', 'Mensal', 'Trimestral', 'Semanal'],\n}\n\nexport default Constants\n","import React from 'react'\nimport { Button } from '@material-ui/core'\nimport CancelTwoToneIcon from '@material-ui/icons/CancelTwoTone'\nimport SaveTwoTone from '@material-ui/icons/SaveTwoTone'\nimport { Input, Selector } from '../../../../atoms'\nimport { Message } from '../../../../molecules'\nimport { Form, FormFooter, FormSpacer } from './styled'\nimport { inputFields } from '../../helpers/InputFields'\nimport { SignatureList } from '../'\nimport Constants from './constants'\n\n\nconst ModalContent = ({ \n handleChange,\n state,\n signatures,\n message,\n handleModalClose,\n handleSubmit,\n mode,\n hideMessage,\n }) => (\n
\n {inputFields.map(field => (\n \n ))}\n \n \n \n \n {state.processtype === 'Carta Precatória' && \n \n }\n \n \n \n {message && \n \n }\n handleSubmit(ev, mode)}\n >\n \n {mode === 'create' ? 'Confirmar Criação' : 'Confirmar Edição'}\n \n \n \n Cancelar\n \n \n \n )\n \nexport default ModalContent","import styled from 'styled-components';\n\nexport const Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n padding: 0px 30px;\n`;\n\nexport const ButtonWrapper = styled.div`\n display: flex;\n height: 100px;\n padding: 30px 0;\n justify-content: space-evenly;\n border-bottom: 2px solid #000;\n`;\n\nexport const PrintWrapper = styled.div`\n display: flex;\n height: 100px;\n padding: 25px 0;\n justify-content: space-evenly;\n`;\n\nexport const PrintContentWrapper = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const Header = styled.div`\n display: flex;\n margin: 10px;\n width: 100%;\n justify-content: center;\n`;\n\nexport const Img = styled.img`\n width: auto;\n height: 140px;\n padding-top: 10px;\n`;\n\nexport const Separator = styled.div`\n margin: 8px;\n`;","import React from 'react';\nimport { withStyles, makeStyles } from '@material-ui/core/styles';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport { sortNameAlphabetic } from '../../../utils/sort';\n\nconst StyledTableCell = withStyles((theme) => ({\n head: {\n backgroundColor: theme.palette.grey,\n color: theme.palette.common.black,\n borderBottom: `1px solid ${theme.palette.common.black}`,\n },\n body: {\n fontSize: 14,\n borderBottom: '1px solid',\n },\n}))(TableCell);\n\nconst StyledTableRow = withStyles((theme) => ({\n root: {\n '&:nth-of-type(odd)': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n}))(TableRow);\n\nconst useStyles = makeStyles({\n table: {\n minWidth: 700,\n },\n});\n\nconst bodyForNoSign = (dataSet) =>\n dataSet.map((row, id) => (\n \n {id + 1}\n \n {row.name}\n \n {row.status}\n {row.infopen}\n {row.record}\n {row.phone1}\n {row.address}\n {row.reason}\n \n ));\n\nconst bodyForNoInfo = (dataSet) =>\n dataSet.map((row, id) => (\n \n {id + 1}\n \n {row.name}\n \n {row.status}\n {row.processtype}\n {row.phone1}\n {row.address}\n \n ));\n\nconst bodyForByProcess = (dataSet) =>\n dataSet.map((row, id) => (\n \n {id + 1}\n {row.name}\n {row.status}\n \n {row.address}\n \n {row.phone1}\n {row.processfrequency}\n \n ));\n\nconst renderContent = (reportName, dataSet) => {\n switch (reportName) {\n case 'noSign':\n return bodyForNoSign(dataSet);\n case 'noInfo':\n return bodyForNoInfo(dataSet);\n case 'byProcess':\n return bodyForByProcess(dataSet);\n default:\n break;\n }\n};\n\nconst headerForNoSign = () => (\n \n #\n Nome da Pessoa\n Situação\n INFOPEN\n Número do Processo\n Telefone\n Endereço\n Razão de não Assinar\n \n);\n\nconst headerForNoInfo = () => (\n \n #\n Nome da Pessoa\n Situação\n Tipo Processo\n Telefone\n Endereço\n \n);\n\nconst headerForByProcess = () => (\n \n #\n Nome da Pessoa\n Situação\n Endereço\n Telefone\n Frequencia\n \n);\n\nconst renderHeader = (reportName) => {\n switch (reportName) {\n case 'noSign':\n return headerForNoSign();\n case 'noInfo':\n return headerForNoInfo();\n case 'byProcess':\n return headerForByProcess();\n default:\n break;\n }\n};\n\nconst ReportContent = ({ dataSet, reportName }) => {\n const classes = useStyles();\n\n return (\n \n {renderHeader(reportName)}\n \n {renderContent(reportName, sortNameAlphabetic(dataSet.report))}\n \n \n );\n};\n\nexport default ReportContent;\n","export const sortNameAlphabetic = (array) =>\n array.sort(function (a, b) {\n var nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB)\n //sort string ascending\n return -1;\n if (nameA > nameB) return 1;\n return 0; //default return value (no sorting)\n });\n","import { Report } from './Report'\nexport default Report","import React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Input, Selector } from '../../atoms';\nimport { Button, Typography } from '@material-ui/core';\nimport moment from 'moment';\nimport actions from '../../../store/actions';\nimport {\n Wrapper,\n ButtonWrapper,\n PrintWrapper,\n PrintContentWrapper,\n Separator,\n} from './styled';\nimport jsPDF from 'jspdf';\nimport 'jspdf-autotable';\nimport ReportContent from './ReportContent';\nimport Constants from '../Person/components/ModalContent/constants';\nimport { aliancaDeMisericordia } from './aliancaDeMisericordia';\n\nexport const Report = () => {\n const [reportName, setReportName] = useState('');\n const [processType, setProcessType] = useState('');\n const [status, setStatus] = useState('');\n const [processFrequency, setProcessFrequency] = useState('');\n const [startDate, setStartDate] = useState(\n moment().subtract(1, 'months').format('YYYY-MM-DD')\n );\n const [endDate, setEndDate] = useState(moment().format('YYYY-MM-DD'));\n\n const dispatch = useDispatch();\n\n const { loadingReport, report } = useSelector((state) => ({\n report: state.report.report,\n reportLoading: state.report.reportLoading,\n }));\n\n const handleStartDatePicker = (event) => {\n const formatedPickedDate = moment(event.target.value).format('YYYY-MM-DD');\n setStartDate(formatedPickedDate);\n };\n\n const handleEndDatePicker = (event) => {\n const formatedPickedDate = moment(event.target.value).format('YYYY-MM-DD');\n setEndDate(formatedPickedDate);\n };\n\n const handleChange = (event) => {\n setProcessType(event.target.value);\n };\n\n const handleStatusChange = (event) => {\n setStatus(event.target.value);\n };\n const handleFrequencyChange = (event) => {\n setProcessFrequency(event.target.value);\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {\n dispatch(\n actions.report.loadReportNoSignature({\n startDate,\n endDate,\n processType,\n status\n })\n );\n setReportName('noSign');\n }}\n >\n Gerar relatório - não consta assinatura\n \n \n {\n dispatch(\n actions.report.loadReportNoShow({\n startDate,\n endDate,\n processType,\n status\n })\n );\n setReportName('noInfo');\n }}\n >\n Gerar relatório - não compareceu\n \n \n {\n dispatch(actions.report.loadReportByProcess({ processType, status, processFrequency }));\n setReportName('byProcess');\n }}\n >\n Gerar relatório - por situação, tipo, e frequência de Processos\n \n \n \n {\n const doc = new jsPDF({\n orientation: reportName === 'noSign' ? 'l' : 'p'\n });\n const table = document.getElementById('tableContainer');\n const header = `\n \n Rua Lázara Silva, 211 – Belvedere II.\n Telefone: (37) 99779-1313.\n \n Data Inicio:${moment(startDate).format(\n 'DD/MM/YYYY'\n )} - Data Fim: ${moment(endDate).format('DD/MM/YYYY')}\n `;\n var res = doc.autoTableHtmlToJson(table);\n\n doc.autoTable(res.columns, res.data, {\n margin: { top: 80 },\n styles: {\n cellPadding: 0.5,\n fontSize: 12,\n },\n headerStyles: {\n fontSize: 12\n },\n bodyStyles: {\n margin: 40,\n fontSize: 10,\n lineWidth: 0.2,\n lineColor: [0, 0, 0],\n },\n theme: 'striped',\n showHead: 'everyPage',\n didDrawPage: function (information) {\n doc.addImage(aliancaDeMisericordia, 'JPEG', doc.internal.pageSize.getWidth() - 120, 5, 40, 40);\n // Header\n doc.setFontSize(12);\n doc.setTextColor(40);\n doc.text(header, doc.internal.pageSize.getWidth() / 2, 50, null, null, 'center');\n\n // Footer\n const footer = 'Página ' + doc.internal.getNumberOfPages();\n\n doc.setFontSize(10);\n\n // jsPDF 1.4+ uses getWidth, <1.4 uses .width\n const pageSize = doc.internal.pageSize;\n const pageHeight = pageSize.height\n ? pageSize.height\n : pageSize.getHeight();\n doc.text(footer, information.settings.margin.left, pageHeight - 10);\n },\n });\n doc.save(`relatorio-${reportName}-${startDate}-${endDate}.pdf`);\n }}\n >\n Imprimir PDF\n \n \n \n Pré Visualização de Relatório\n \n \n \n );\n};\n","export const aliancaDeMisericordia = \"data:image/jpg;base64,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\";","import Person from './Person'\n\nexport default Person","import React, { useEffect, useState, useMemo } from 'react';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport DataTable from 'react-data-table-component';\nimport { Button } from '@material-ui/core';\nimport PersonAddTwoToneIcon from '@material-ui/icons/PersonAddTwoTone';\nimport AssignmentTwoToneIcon from '@material-ui/icons/AssignmentTwoTone';\nimport { Modal, FilterDataTable } from '../../molecules';\nimport { Content, Row } from './styled';\nimport { formInitialState } from './helpers/InputFields';\nimport { DataTableColumns } from './helpers/DataTableColumns';\nimport actions from '../../../store/actions';\nimport { ModalContent } from './components';\nimport Report from '../Report';\nimport _ from 'lodash';\n\nconst Person = () => {\n const { all, modalStatus, signatures, message } = useSelector((state) => ({\n all: state.people.all,\n modalStatus: state.modal.open,\n signatures: state.signature.signaturesByPerson,\n message: state.message.open,\n }));\n\n const [mode, setMode] = useState('');\n const [reportModal, setOpenReportModal] = useState(false);\n const [state, setState] = useState(formInitialState());\n const [filterText, setFilterText] = useState('');\n const [resetPaginationToggle, setResetPaginationToggle] = useState(false);\n\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n\n useEffect(() => {\n try {\n dispatch(actions.people.loadPeople());\n } catch (err) {\n const { from } = location.state || { from: { pathname: '/dashboard' } };\n history.push('/', from);\n throw new Error(err);\n }\n }, [dispatch, history, location.state]);\n\n const handleChange = (e) => {\n const { name, value } = e.target;\n setState((prevState) => ({\n ...prevState,\n [name]: value,\n }));\n };\n\n const handleSubmit = (event, mode) => {\n event.preventDefault();\n // TO DO : improve this logic to better reading. Get required from the input configuration and find out what is required or not\n if (\n state.name === '' ||\n state.birthday === '' ||\n state.startdate === '' ||\n state.address === '' ||\n state.record === '' ||\n state.document === '' ||\n state.phone1 === ''\n ) {\n dispatch(actions.message.showMessage());\n return;\n }\n if (mode === 'create') {\n dispatch(actions.people.createPerson(state, signatures));\n } else if (mode === 'edit') {\n dispatch(actions.people.updatePerson(state, signatures));\n }\n dispatch(actions.modal.closeModal());\n };\n\n const handleModalClose = () => {\n dispatch(actions.modal.closeModal());\n };\n\n const handleModalOpen = (formData) => {\n setMode(formData ? 'edit' : 'create');\n setState(formInitialState(formData));\n dispatch(actions.modal.openModal());\n };\n\n const handleReportModal = () => {\n setOpenReportModal(!reportModal);\n };\n\n const filterByNameOrDocument = (item) => {\n return (\n item.document?.toUpperCase().includes(filterText.toUpperCase()) ||\n item.name?.toUpperCase().includes(filterText.toUpperCase())\n );\n };\n\n const filteredItems =\n _.isArray(all) && all.filter((item) => filterByNameOrDocument(item));\n\n const subHeaderComponentMemo = useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle);\n setFilterText('');\n }\n };\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n placeHolder='Filtrar por CPF ou Nome'\n arialLabel='CPF ou Nome para busca'\n />\n );\n }, [filterText, resetPaginationToggle]);\n\n return (\n <>\n dispatch(actions.message.hideMessage())}\n />\n }\n />\n }\n title='Relatórios de pessoas'\n />\n \n \n handleModalOpen(null)}\n >\n \n Criar Nova Pessoa\n \n handleReportModal()}\n >\n \n Relatórios\n \n \n handleModalOpen(row)}\n />\n \n \n );\n};\n\nexport default Person;\n","import styled from 'styled-components'\n\nexport const Content = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n height: auto;\n`\n\nexport const Row = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 15px;\n`\n","import React from 'react'\nimport { useDispatch } from 'react-redux'\nimport actions from '../../../../store/actions'\nimport DeleteForeverTwoToneIcon from '@material-ui/icons/DeleteForeverTwoTone'\nimport AlertDialog from '../../../molecules/ConfirmDialog/ConfirmDialog'\n\nconst DeleteButton = ({ id }) => {\n\tconst dispatch = useDispatch()\n\treturn (\n\t\t dispatch(actions.account.deleteUser(id))}\n\t\t>\n\t\t\t\n\t\t\n\t)\n}\n\nexport const DataTableColumns = [\n\t{\n\t\tname: 'Nome',\n\t\tselector: 'first_name',\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tname: 'Sobrenome',\n\t\tselector: 'last_name',\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tname: 'Email',\n\t\tselector: 'email',\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tname: 'Role',\n\t\tselector: 'roles',\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tcell: row => ,\n\t\tignoreRowClick: true,\n\t\tallowOverflow: true,\n\t\tbutton: true,\n\t\tcenter: true,\n\t},\n]\n","export const inputFields = [\n {id: \"first_name\", label:\"Primeiro Nome\", type:\"text\", name:\"first_name\", required: true, errorMessage: \"Primeiro nome é obrigatório.\", showOnMode: [\"create\", \"edit\"]},\n {id: \"last_name\", label:\"Ultimo Nome\", type:\"text\", name:\"last_name\", required: true, errorMessage: \"Ultimo nome é obrigatório.\", showOnMode: [\"create\", \"edit\"]},\n {id: \"email\", label:\"Email\", type:\"email\", name:\"email\", required: true, errorMessage: \"Email é obrigatório.\", showOnMode: [\"create\", \"edit\"]},\n {id: \"password\", label:\"Senha\", type:\"password\", name:\"password\", required: true, errorMessage: \"Senha é obrigatório.\", showOnMode: [\"create\", \"edit\"]},\n]\n\nexport const formInitialState = formData => {\n return ({\n first_name: '',\n last_name: '',\n email: '',\n password: '',\n ...formData,\n })\n}\n","import styled from 'styled-components'\n\nexport const FormFooter = styled.div`\ndisplay: flex;\njustify-content: flex-end;\nmargin-top: 40px;\npadding-bottom: 50px;\n`\n\nexport const FormSpacer = styled.div`\ndisplay: flex;\nflex-direction: column;\nmargin-top: 15px;\n`\n\nexport const Form = styled.form`\n display: flex;\n flex-direction: column;\n padding-top: 20px;\n padding-left: 50px;\n padding-right: 50px;\n padding-bottom: 40px;\n flex: 1;\n height: 90vh;\n`\n","import React from \"react\";\nimport { Button } from \"@material-ui/core\";\nimport CancelTwoToneIcon from \"@material-ui/icons/CancelTwoTone\";\nimport SaveTwoTone from \"@material-ui/icons/SaveTwoTone\";\nimport { Input, Selector } from '../../../../atoms'\nimport { Message } from \"../../../../molecules\";\nimport { Form, FormFooter } from \"./styled\";\nimport { inputFields } from \"../../helpers/InputFields\";\n\nconst ModalContent = ({\n handleChange,\n state,\n message,\n handleModalClose,\n handleSubmit,\n mode,\n hideMessage,\n}) => (\n
\n {inputFields.map((field) => (\n \n ))}\n \n \n {message && (\n \n )}\n handleSubmit(ev, mode)}\n >\n \n {mode === \"create\" ? \"Confirmar Criação\" : \"Confirmar Edição\"}\n \n \n \n Cancelar\n \n \n \n);\n\nexport default ModalContent;\n","import { Users } from './Users'\nexport default Users","/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useEffect, useState, useMemo } from 'react';\nimport DataTable from 'react-data-table-component';\nimport PersonAddTwoToneIcon from '@material-ui/icons/PersonAddTwoTone';\nimport { Button } from '@material-ui/core';\nimport { FilterDataTable, Modal } from '../../molecules';\nimport { useDispatch, useSelector } from 'react-redux';\nimport actions from '../../../store/actions';\nimport { Content, Row } from './styled';\nimport { DataTableColumns, formInitialState } from './helpers';\nimport { ModalContent } from './components';\n\nexport const Users = () => {\n const [resetPaginationToggle, setResetPaginationToggle] = useState(false);\n const [filterText, setFilterText] = useState('');\n const [mode, setMode] = useState('');\n const [state, setState] = useState(formInitialState());\n\n const { users, modalStatus, message } = useSelector((state) => ({\n users: state.account.users,\n modalStatus: state.modal.open,\n message: state.message.open,\n }));\n const dispatch = useDispatch();\n\n useEffect(() => {\n try {\n dispatch(actions.account.loadUsers());\n } catch (error) {\n throw new Error(error);\n }\n }, []);\n\n const filteredItems =\n users?.filter((item) =>\n item.first_name?.toUpperCase().includes(filterText.toUpperCase())\n ) || [];\n\n const subHeaderComponentMemo = useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle);\n setFilterText('');\n }\n };\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n placeHolder='Primeiro Nome'\n arialLabel='Nome para buscar'\n />\n );\n }, [filterText, resetPaginationToggle]);\n\n const handleModalOpen = (formData) => {\n setMode(formData ? 'edit' : 'create');\n setState(formInitialState(formData));\n dispatch(actions.modal.openModal());\n };\n\n const handleModalClose = () => {\n dispatch(actions.modal.closeModal());\n };\n\n const handleChange = (e) => {\n const { name, value } = e.target;\n setState((prevState) => ({\n ...prevState,\n [name]: value,\n }));\n };\n\n const handleSubmit = (event, mode) => {\n event.preventDefault();\n // TO DO : improve this logic to better reading. Get required from the input configuration and find out what is required or not\n if (\n state.first_name === '' ||\n state.last_name === '' ||\n state.email === '' ||\n state.password === ''\n ) {\n dispatch(actions.message.showMessage());\n return;\n }\n if (mode === 'create') {\n dispatch(actions.account.createUser(state));\n } else if (mode === 'edit') {\n dispatch(actions.account.updateUser(state));\n }\n dispatch(actions.modal.closeModal());\n };\n\n\n return (\n \n dispatch(actions.message.hideMessage())}\n />\n }\n />\n \n handleModalOpen(null)}\n >\n \n Criar Novo Colaborador\n \n \n handleModalOpen(row)}\n />\n \n );\n};\n","import styled from 'styled-components'\n\nexport const Content = styled.div`\n position: relative;\n display: flex;\n flex-direction: row;\n justify-content: center;\n height: 500px;\n`\n\nexport const Column = styled.div`\n display: flex;\n justify-content: space-between;\n padding: 15px;\n`\n\nexport const PaperWrapper = styled.div`\n display: flex;\n flex-direction: column;\n`\n\nexport const Text = styled.h1`\n font-size: 16px;\n text-align: center;\n font-weight: 900;\n`\n\nexport const Img = styled.img`\n width: 100px;\n height: 100px;\n`\n\nexport const ImgWrapper = styled.div`\n display: flex;\n justify-content: center;\n padding: 16px;\n`","export default __webpack_public_path__ + \"static/media/colaborador.f5df51aa.png\";","export default __webpack_public_path__ + \"static/media/livramentoCondicional.d5bfb877.png\";","const dashboardRedirect = (path, history, location) => {\n const { from } = location.state || { from: { pathname: `/dashboard/${path}` } };\n history.push(from);\n};\n\nexport default dashboardRedirect","const sanitizeString = (str) => {\n str = str.replace(/[^a-z0-9áéíóúñü \\\\.,_-]/gim,\"\");\n return str.trim();\n}\n\nexport default sanitizeString","import React from 'react';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { Content, Column, PaperWrapper, Text, Img, ImgWrapper } from './styled';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Colaborador from '../../../assets/images/colaborador.png';\nimport LivramentoCondicional from '../../../assets/images/livramentoCondicional.png';\nimport ActivityFeed from '../../../assets/images/activityFeed.png';\nimport dashboardRedirect from '../../../utils/dashboardRedirect';\nimport sanitizeString from '../../../utils/sanitizeString';\n\nimport Paper from '@material-ui/core/Paper';\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n width: '200px',\n height: '180px',\n cursor: 'pointer',\n },\n}));\nexport const Home = () => {\n const classes = useStyles();\n const history = useHistory();\n const location = useLocation();\n const roles = sanitizeString(localStorage.getItem('roles'));\n\n return (\n \n {roles === 'admin' && (\n dashboardRedirect('user', history, location)}>\n \n \n \n Colaborador - Sistema\n \n Colaboradores\n \n \n \n )}\n dashboardRedirect('person', history, location)}>\n \n \n \n \n \n Assinaturas\n \n \n \n dashboardRedirect('activity', history, location)}>\n \n \n \n \n \n Atividades\n \n \n \n \n );\n};\n","import { Home } from './Home'\nexport default Home","export default \"data:image/png;base64,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\"","import styled from 'styled-components'\n\nexport const Content = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n height: auto;\n`\n","import moment from 'moment'\n\nconst mapActivityAction = {\n\t'UPDATE_PERSON': 'Criou pessoa',\n\t'CREATE_PERSON': 'Atualizou pessoa',\n\t'DELETE_PERSON': 'Deletou pessoa',\n}\n\nexport const DataTableColumns = [\n\t{\n\t\tname: 'Atividade',\n\t\tselector: 'action',\n\t\tformat: row => mapActivityAction[row.action],\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tname: 'Email Ator',\n\t\tselector: 'user_email',\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tname: 'Nome Pessoa',\n\t\tselector: 'name',\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tname: 'Documento Pessoa',\n\t\tselector: 'document',\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n\t{\n\t\tname: 'Data e Hora',\n\t\tselector: 'action_time',\n\t\tformat: row => moment(row.created).format('DD/MM/YYYY, HH:mm:ss'),\n\t\tsortable: true,\n\t\tcenter: true,\n\t},\n]\n","import Person from '../components/organisms/Person';\nimport User from '../components/organisms/Users';\nimport Home from '../components/organisms/Home';\nimport ActivityFeed from '../components/organisms/ActivityFeed';\n\nconst DashboardRoutes = [\n\t{\n\t\tpath: '/home',\n\t\tname: 'Home',\n\t\tcomponent: Home,\n\t\ticon: '',\n\t\tlayout: '/dashboard',\n\t},\n\t{\n\t\tpath: '/person',\n\t\tname: 'Person',\n\t\tcomponent: Person,\n\t\tlayout: '/dashboard',\n\t\ticon: '',\n\t},\n\t{\n\t\tpath: '/user',\n\t\tname: 'Users',\n\t\tcomponent: User,\n\t\tlayout: '/dashboard',\n\t\ticon: '',\n\t},\n\t{\n\t\tpath: '/activity',\n\t\tname: 'Activity Feed',\n\t\tcomponent: ActivityFeed,\n\t\tlayout: '/dashboard',\n\t\ticon: '',\n\t},\n];\n\nexport default DashboardRoutes;\n","import React, { useEffect, useState, useMemo } from 'react';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\nimport DataTable from 'react-data-table-component';\nimport { FilterDataTable } from '../../molecules';\nimport { Content } from './styled';\nimport actions from '../../../store/actions';\nimport _ from 'lodash';\nimport { DataTableColumns } from './DataTableColumns';\n\nconst ActivityFeed = () => {\n const { activities } = useSelector((state) => ({\n activities: state.activity.activities,\n }));\n\n const [filterText, setFilterText] = useState('');\n const [resetPaginationToggle, setResetPaginationToggle] = useState(false);\n\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n\n useEffect(() => {\n try {\n dispatch(actions.activity.fetchActivity());\n } catch (err) {\n const { from } = location.state || { from: { pathname: '/dashboard' } };\n history.push('/', from);\n throw new Error(err);\n }\n }, [dispatch, history, location.state]);\n\n\n const filterByEmail = (item) => {\n return item.user_email?.toUpperCase().includes(filterText.toUpperCase());\n };\n\n const filteredItems =\n _.isArray(activities) && activities.filter((item) => filterByEmail(item));\n\n const subHeaderComponentMemo = useMemo(() => {\n const handleClear = () => {\n if (filterText) {\n setResetPaginationToggle(!resetPaginationToggle);\n setFilterText('');\n }\n };\n\n return (\n setFilterText(e.target.value)}\n onClear={handleClear}\n filterText={filterText}\n placeHolder='Filtrar por Email'\n arialLabel='Email para busca'\n />\n );\n }, [filterText, resetPaginationToggle]);\n\n return (\n \n \n \n );\n};\n\nexport default ActivityFeed;\n","export default __webpack_public_path__ + \"static/media/aliancademisericordia.76567028.png\";","import styled from 'styled-components'\n\nexport const Anchor = styled.a.attrs(props => ({\n href: props.url,\n target:\"_blank\",\n}))`\n color: ${({ theme }) => theme.colors.primary};\n`\n\nexport const Img = styled.img`\n width: auto;\n height: 25px;\n padding-top: 10px;\n`\n\nexport const CopyrightWrrapper = styled.div`\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: center;\n padding: 10px;\n`","import React from 'react'\nimport CompanhiaSites from '../../../assets/images/companhiaSites.png'\nimport { Typography } from '@material-ui/core'\nimport { Anchor, Img, CopyrightWrrapper } from './styled'\n\nexport const Copyright = () => {\n return (\n \n Desenvolvido e Mantido por\n \n \"Companhia\n \n \n )\n}","export default \"data:image/png;base64,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\"","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport SwipeableDrawer from \"@material-ui/core/SwipeableDrawer\";\nimport List from \"@material-ui/core/List\";\nimport Divider from \"@material-ui/core/Divider\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport InboxIcon from \"@material-ui/icons/MoveToInbox\";\nimport dashboardRedirect from \"../../../utils/dashboardRedirect\";\nimport { useHistory, useLocation } from \"react-router\";\nimport sanitizeString from \"../../../utils/sanitizeString\";\n\nconst useStyles = makeStyles({\n list: {\n width: 250,\n },\n});\n\nconst menuRoutes = [\n {\n name: \"Pagina Inicial\",\n icon: ,\n roles: [\"admin\", \"user\"],\n path: \"home\",\n },\n { name: \"Colaborador\", icon: , roles: [\"admin\"], path: \"user\" },\n { name: \"Registros de Atividades\", icon: , roles: [\"admin\"], path: \"activity\" },\n {\n name: \"Assinaturas\",\n icon: ,\n roles: [\"admin\", \"user\"],\n path: \"person\",\n },\n];\n\nexport const Sidebar = ({ open, toggleDrawer }) => {\n const classes = useStyles();\n const history = useHistory();\n const location = useLocation();\n const roles = sanitizeString(localStorage.getItem(\"roles\"));\n\n const list = () => (\n \n \n {menuRoutes.map(\n (aRoute, index) =>\n aRoute.roles.includes(roles) && (\n <>\n {\n dashboardRedirect(aRoute.path, history, location);\n }}\n >\n {aRoute.icon}\n \n \n \n \n )\n )}\n \n \n );\n\n return (\n \n {list()}\n \n );\n};\n","import { Sidebar } from \"./Sidebar\";\n\nexport default Sidebar\n","import React, { useState } from 'react';\nimport { Switch, Route, Redirect } from 'react-router-dom';\nimport { Container, Header, Content, Footer, Img } from './styled';\nimport DashboardRoutes from '../../../config/routes';\nimport AliancaDeMisericordia from '../../../assets/images/aliancademisericordia.png';\nimport { Copyright } from '../../molecules/Copyright';\nimport Sidebar from '../../molecules/Sidebar';\nimport AppBar from '@material-ui/core/AppBar';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport MenuIcon from '@material-ui/icons/Menu';\nimport IconButton from '@material-ui/core/IconButton';\nimport { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n display: 'flex',\n },\n appBar: {\n backgroundColor: '#f6f6f6',\n },\n menuButton: {\n color: 'black',\n },\n}));\n\nconst App = () => {\n const classes = useStyles();\n const [open, setOpen] = useState(false);\n\n const toggleDrawer = (open) => (event) => {\n if (\n event &&\n event.type === 'keydown' &&\n (event.key === 'Tab' || event.key === 'Shift')\n ) {\n return;\n }\n setOpen(open);\n };\n\n const switchRoutes = (\n \n {DashboardRoutes.map((prop, key) => {\n if (prop.layout === '/dashboard') {\n return (\n \n );\n }\n return null;\n })}\n \n \n );\n\n return (\n \n \n \n \n \n \n
\n Aliança de Misericordia\n
\n
\n
\n \n {switchRoutes}\n
\n \n
\n
\n );\n};\n\nexport default App;\n","import styled from 'styled-components'\n\nexport const Overlay = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n overflow: auto;\n background: rgb(187 195 204 / 31%);\n`\n\nexport const Wrapper = styled.div`\n display: flex;\n height: 100%;\n justify-content: center;\n flex-direction: column;\n`\n\nexport const Content = styled.div`\n display: flex;\n justify-content: center;\n`\n\nexport const Form = styled.form`\n display: flex;\n flex-direction: column;\n text-align: center;\n background: white;\n padding: 30px;\n border-radius: 9px;\n box-shadow:\n 0 0.4px 0.4px -14px rgba(0, 0, 0, 0.048),\n 0 1px 0.9px -14px rgba(0, 0, 0, 0.069),\n 0 1.9px 1.8px -14px rgba(0, 0, 0, 0.085),\n 0 3.4px 3.1px -14px rgba(0, 0, 0, 0.101),\n 0 6.3px 5.8px -14px rgba(0, 0, 0, 0.122),\n 0 15px 14px -14px rgba(0, 0, 0, 0.17);\n`\n\nexport const Img = styled.img`\n width: 200px;\n padding-bottom : 10px;\n`\n\nexport const ImageWrapper = styled.div`\n display: flex;\n justify-content: center;\n`","import React, { useState } from 'react';\nimport { TextField, Button, CircularProgress } from '@material-ui/core';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport actions from '../../../store/actions';\nimport authenticate from '../../../services/authenticate';\nimport { Message } from '../../molecules';\nimport AliancaDeMisericordia from '../../../assets/images/aliancademisericordia.png';\n\nimport { Overlay, Wrapper, Content, Form, Img, ImageWrapper } from './styled';\nimport { Copyright } from '../../molecules/Copyright';\n\nconst Login = () => {\n const [email, setEmail] = useState('');\n const [password, setPassword] = useState('');\n const history = useHistory();\n const location = useLocation();\n const dispatch = useDispatch();\n const { show, message } = useSelector((state) => ({\n show: state.loader.show,\n message: state.message.open,\n }));\n\n const validateForm = () => {\n return email.length >= 6 && password.length > 0;\n };\n\n const handleSubmit = async (event) => {\n event.preventDefault();\n dispatch(actions.loader.showLoader(true));\n try {\n const auth = await authenticate.login(email, password);\n const { token, user, data } = auth;\n\n if (token && user) {\n localStorage.setItem('token', token);\n localStorage.setItem('user', user);\n localStorage.setItem('roles', data.roles);\n dispatch(\n actions.account.setUser({ email: user, token: token, ...data })\n );\n const { from } = location.state || { from: { pathname: '/dashboard' } };\n history.replace(from);\n }\n } catch (err) {\n dispatch(actions.message.showMessage());\n } finally {\n dispatch(actions.loader.hideLoader());\n }\n };\n\n const onCloseMessage = () => {\n dispatch(actions.message.hideMessage());\n };\n\n return (\n \n \n \n Aliança de Misericordia\n \n \n {show ? (\n \n ) : (\n
\n setEmail(e.target.value)}\n />\n setPassword(e.target.value)}\n inputProps={{ 'aria-label': 'hidden label' }}\n />\n \n Login\n \n \n )}\n
\n {message && (\n \n )}\n
\n \n
\n );\n};\n\nexport default Login;\n","import React from \"react\";\n\nexport default class ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error) {\n // Update state so the next render will show the fallback UI.\n return { hasError: true };\n }\n\n componentDidCatch(error, info) {\n // Example \"componentStack\":\n // in ComponentThatThrows (created by App)\n // in ErrorBoundary (created by App)\n // in div (created by App)\n // in App\n console.log(error, info.componentStack);\n }\n\n render() {\n if (this.state.hasError) {\n // You can render any custom fallback UI\n return this.props.fallback;\n }\n\n return this.props.children;\n }\n}\n","import React, { StrictMode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { BrowserRouter, Switch, Route } from \"react-router-dom\";\nimport { createGlobalStyle, ThemeProvider } from \"styled-components\";\nimport { Helmet } from \"react-helmet\";\nimport { Provider } from \"react-redux\";\nimport { themeDefault } from \"./themes\";\nimport { App, Login } from \"./components/organisms\";\nimport { PrivateRoute } from \"./components/molecules\";\nimport configureStore from \"./store/config/configureStore\";\nimport ErrorBoundary from \"./components/atoms/ErrorBoundary\";\n\nconst GlobalStyle = createGlobalStyle`\n * {\n text-transform: uppercase;\n font-weight: 500;\n font-size: 18px;\n }\n body {\n font-family: 'Open Sans', sans-serif;\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n`;\n\nconst store = configureStore();\n\nReactDOM.render(\n \n \n \n Aliança de Misericórdia\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n","export const themeDefault = {\n colors: {\n primary: '#0070f3',\n },\n}","const round = number => Math.round(number * 100) / 100\n\nconst monitorReducerEnhancer = createStore => (\n reducer,\n initialState,\n enhancer\n) => {\n const monitoredReducer = (state, action) => {\n const start = performance.now()\n const newState = reducer(state, action)\n const end = performance.now()\n const diff = round(end - start)\n\n console.log('reducer process time:', diff)\n\n return newState\n }\n\n return createStore(monitoredReducer, initialState, enhancer)\n}\n\nexport default monitorReducerEnhancer","const logger = store => next => action => {\n console.group(action.type)\n console.info('dispatching', action)\n let result = next(action)\n console.log('next state', store.getState())\n console.groupEnd()\n return result\n}\n\nexport default logger","const constants = {\n SET_USER: 'SET_USER',\n REMOVE_USER: 'REMOVE_USER',\n SUCCESS_USER: 'SUCCESS_USER',\n FAILURE_USER: 'FAILURE_USER',\n SHOW_LOADER: 'SHOW_LOADER',\n HIDE_LOADER: 'HIDE_LOADER',\n LOAD_PEOPLE: 'LOAD_PEOPLE',\n SUCCESS_PEOPLE: 'SUCCESS_PEOPLE',\n FAILURE_PEOPLE: 'FAILURE_PEOPLE',\n OPEN_MODAL: 'OPEN_MODAL',\n CLOSE_MODAL: 'CLOSE_MODAL',\n SIGNATURE_SUCCESS: 'SIGNATURE_SUCCESS',\n SIGNATURE_FAILURE: 'SIGNATURE_FAILURE',\n UPDATE_SIGNATURE: 'UPDATE_SIGNATURE',\n ADD_SIGNATURE: 'ADD_SIGNATURE',\n SHOW_MESSAGE: 'SHOW_MESSAGE',\n HIDE_MESSAGE: 'HIDE_MESSAGE',\n CLEAN_SIGNATURE: 'CLEAN_SIGNATURE',\n REPORT_SUCCESS: 'REPORT_SUCCESS',\n REPORT_FAILURE: 'REPORT_FAILURE',\n REPORT_LOADING: 'REPORT_LOADING',\n SET_USER_DETAILS: 'SET_USER_DETAILS',\n FETCH_USER_SUCCESS: 'FETCH_USER_SUCCESS',\n FETCH_USER_FAIL: 'FETCH_USER_FAIL',\n FETCH_ACTIVITY_FEED: 'FETCH_ACTIVITY_FEED',\n ACTIVITY_FEED_SUCCESS: 'ACTIVITY_FEED_SUCCESS',\n ACTIVITY_FEED_FAIL: 'ACTIVITY_FEED_FAIL',\n ACTIVITY_FEED_LOADING: 'ACTIVITY_FEED_LOADING',\n};\n\nexport default constants;\n","import constants from '../constants';\n\nconst initialState = {\n user: null,\n users: [],\n};\n\nconst {\n SET_USER,\n REMOVE_USER,\n SUCCESS_USER,\n FAILURE_USER,\n FETCH_USER_SUCCESS,\n FETCH_USER_FAIL,\n} = constants;\n\nconst accountReducer = (state = initialState, { payload, type }) => {\n switch (type) {\n case SET_USER:\n return { ...state, user: payload };\n case REMOVE_USER:\n return { ...initialState };\n case SUCCESS_USER:\n return { ...state, users: payload };\n case FAILURE_USER:\n return { ...initialState };\n case FETCH_USER_SUCCESS:\n return { ...state, user: payload };\n case FETCH_USER_FAIL:\n return { ...state };\n default:\n return state;\n }\n};\n\nexport default accountReducer;\n","import constants from '../constants'\n\nconst initialState = {\n\tshow: false\n};\n\nconst { SHOW_LOADER, HIDE_LOADER } = constants\n\nconst loaderReducer = (state = initialState, { payload, type }) => {\n\tswitch (type) {\n\t\tcase SHOW_LOADER:\n\t\t\treturn { ...state, show: payload };\n\t\tcase HIDE_LOADER:\n\t\t\treturn { ...initialState };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nexport default loaderReducer","import constants from '../constants';\n\nconst initialState = {\n\tall: []\n};\n\nconst { SUCCESS_PEOPLE, FAILURE_PEOPLE } = constants\n\nconst personReducer = (state = initialState, { payload, type }) => {\n\tswitch (type) {\n\t\tcase SUCCESS_PEOPLE:\n\t\t\treturn { ...state, all: payload }\n\t\tcase FAILURE_PEOPLE:\n\t\t\treturn { ...initialState }\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nexport default personReducer","import constants from '../constants'\n\nconst initialState = {\n\topen: false\n};\n\nconst { OPEN_MODAL, CLOSE_MODAL } = constants\n\nconst modalReducer = (state = initialState, { type }) => {\n\tswitch (type) {\n\t\tcase OPEN_MODAL:\n\t\t\treturn { open: true };\n\t\tcase CLOSE_MODAL:\n\t\t\treturn { ...initialState };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nexport default modalReducer","import constants from '../constants';\n\nconst initialState = {\n\tsignaturesByPerson: {}\n};\n\nconst { SIGNATURE_SUCCESS, SIGNATURE_FAILURE, ADD_SIGNATURE, UPDATE_SIGNATURE, CLEAN_SIGNATURE } = constants\n\nconst serializeSignaturesByPerson = payload => {\n const result = payload.reduce((acc, current) => {\n if (Object.values(acc).length === 0 || !acc[current.personId]) {\n return ({\n ...acc,\n [current.personId]: [\n { ...current }\n ]\n })\n }\n return ({\n ...acc,\n [current.personId]: [\n ...acc[current.personId], \n { ...current }\n ]\n })\n }, {})\n \n return result\n}\n\nconst signatureReducer = (state = initialState, { payload, type }) => {\n\tswitch (type) {\n\t\tcase SIGNATURE_SUCCESS:\n\t\t\treturn { signaturesByPerson: serializeSignaturesByPerson(payload) }\n\t\tcase SIGNATURE_FAILURE:\n return initialState\n case ADD_SIGNATURE:\n const existsLSignatureByPersonList = state.signaturesByPerson[payload.personId]\n return {\n ...state,\n signaturesByPerson: {\n [payload.personId]: [ \n ...(existsLSignatureByPersonList ? state.signaturesByPerson[payload.personId] : []),\n { id: payload.id,\n date: payload.date,\n checkpoint: payload.checkpoint,\n personId: payload.personId, \n reason: payload.reason\n }]\n }\n }\n case UPDATE_SIGNATURE:\n return {\n ...state,\n signaturesByPerson: {\n [payload.personId]: state.signaturesByPerson[payload.personId].reduce((acc, current) => {\n if (current.id === payload.id) {\n current.checkpoint = payload.checkpoint\n current.reason = payload.reason\n }\n return [...acc, current]\n }, [])}\n }\n case CLEAN_SIGNATURE:\n return {\n signaturesByPerson: initialState // this clean all the signature temporarily add but not saved. \n }\n\t\tdefault:\n\t\t\treturn state\n\t}\n}\n\nexport default signatureReducer","import constants from '../constants'\n\nconst initialState = {\n\topen: false\n};\n\nconst { SHOW_MESSAGE, HIDE_MESSAGE } = constants\n\nconst messageReducer = (state = initialState, { type }) => {\n\tswitch (type) {\n\t\tcase SHOW_MESSAGE:\n\t\t\treturn { ...state, open: true };\n\t\tcase HIDE_MESSAGE:\n\t\t\treturn { ...initialState };\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nexport default messageReducer","import constants from '../constants';\n\nconst initialState = {\n\treport: [],\n\treportLoading: false\n};\n\nconst { REPORT_SUCCESS, REPORT_FAILURE, REPORT_LOADING } = constants\n\nconst reportReducer = (state = initialState, { payload, type }) => {\n\tswitch (type) {\n\t\tcase REPORT_LOADING:\n\t\t\treturn { ...state, reportLoading: true }\n\t\tcase REPORT_SUCCESS:\n\t\t\treturn { report: payload, rerportLoading: false }\n\t\tcase REPORT_FAILURE:\n\t\t\treturn { ...initialState }\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nexport default reportReducer","import constants from '../constants';\n\nconst initialState = {\n\tactivities: []\n};\n\nconst { ACTIVITY_FEED_SUCCESS, ACTIVITY_FEED_FAIL } = constants\n\nconst activityReducer = (state = initialState, { payload, type }) => {\n\tswitch (type) {\n\t\tcase ACTIVITY_FEED_SUCCESS:\n\t\t\treturn { ...state, activities: payload }\n\t\tcase ACTIVITY_FEED_FAIL:\n\t\t\treturn { ...initialState }\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nexport default activityReducer","import { combineReducers } from 'redux'\nimport account from './account'\nimport loader from './loader'\nimport people from './people'\nimport modal from './modal'\nimport signature from './signature'\nimport message from './message'\nimport report from './report'\nimport activity from './activity'\n\nconst rootReducer = combineReducers({\n\taccount,\n\tloader,\n\tpeople,\n\tmodal,\n\tsignature,\n\tmessage,\n\treport,\n\tactivity,\n})\n\nexport default rootReducer\n"],"sourceRoot":""}