{"version":3,"sources":["assets/LogoBranco.png","assets/user-alt-solid.png","assets/Banner.jpg","assets/bradesco_logo.png","assets/logoUnasp.png","assets/img_01.jpg","assets/img_02.jpg","assets/img_03.jpg","assets/img_04.jpg","assets/LogoP.png","assets/a_unasp.png","assets/euapoio1new.jpg","assets/euapoio2.jpg","assets/student.jpg","assets/imagePreLoading.png","store/modules/auth/actions.js","store/modules/auth/reducer.js","store/modules/user/reducer.js","store/modules/header/reducer.js","store/modules/rootRecuder.js","config/URLApi.js","services/history.js","services/api.js","store/modules/auth/sagas.js","store/modules/user/actions.js","store/modules/user/sagas.js","store/modules/rootSaga.js","store/index.js","store/persistReducers.js","store/createStore.js","routes/Route.js","components/CardStudentPage/styles.js","components/CardStudentPage/index.js","pages/AllDonationsPage/styles.js","pages/AllDonationsPage/index.js","util/format.js","config/URLSystem.js","components/CartaoCC/styles.js","components/CartaoCC/index.js","util/explodeDate.js","util/parseDataBradesco.js","components/BankSlip/styles.js","components/BankSlip/BoletoComponent/styles.js","util/copy.js","components/BankSlip/BoletoComponent/index.js","components/BankSlip/index.js","components/Spinner/styles.js","util/youtube.js","util/replaceLinks.js","pages/StudentDonationPage/styles.js","pages/StudentDonationPage/index.js","pages/DonationsCampaign/styles.js","pages/DonationsCampaign/index.js","pages/SignIn/index.js","pages/Logout/index.js","pages/SignUp/index.js","pages/RecoveryPass/index.js","pages/RecoveryPass/ConfirmPass/index.js","util/enumState.js","util/enumTransactionStatus.js","util/enumTransactionType.js","util/CurrencyInput.js","components/CropImage/cropImage.js","components/CropImage/rotateImage.js","components/CropImage/styled.js","components/CropImage/index.js","pages/Dashboard/Student/styles.js","pages/Dashboard/Student/index.js","util/enumMetodPayment.js","pages/Dashboard/Donor/styles.js","pages/Dashboard/Donor/index.js","pages/Dashboard/styles.js","pages/Dashboard/index.js","store/modules/header/actions.js","pages/Dashboard/ConfirmPage/index.js","pages/LandingPages/AboutProject/styles.js","pages/LandingPages/AboutProject/index.js","pages/AdminPages/Home/index.js","util/buildURLQuery.js","pages/AdminPages/ContasFinanceiras/index.js","pages/AdminPages/TransferenciasFinanceiras/index.js","pages/AdminPages/TransferenciasRealizadas/index.js","pages/AdminPages/ModerarAlteracoes/index.js","pages/AdminPages/Campanhas/index.js","pages/AdminPages/Lotes/index.js","pages/AdminPages/Configuracoes/index.js","pages/AdminPages/Doacoes/index.js","components/Header/styles.js","components/Header/menu.js","util/validatePass.js","components/Header/index.js","pages/__layouts/auth/styles.js","pages/__layouts/auth/index.js","pages/__layouts/default/styles.js","pages/__layouts/default/index.js","pages/__layouts/admin/Components/Header/styles.js","pages/__layouts/admin/Components/menu.js","pages/__layouts/admin/Components/Header/index.js","pages/__layouts/admin/Components/Sidebar/styles.js","pages/__layouts/admin/Components/Sidebar/index.js","pages/__layouts/admin/styles.js","pages/__layouts/admin/index.js","pages/AdminPages/userManagement/index.js","components/Form/input.js","pages/AdminPages/Students/index.js","routes/index.js","styles/global.js","App.js","index.js"],"names":["module","exports","signInSuccess","token","user","type","payload","INITIAL_STATE","signed","loading","exp","profile","template","modalUser","modalEmail","tenantProfile","itemsMenu","combineReducers","auth","state","action","produce","draft","JSON","parse","atob","split","regulationAccepted","status","avatar","Confirmation","newEmail","newEmailConfirmed","codeExpiration","usr","updateEmail","header","emailConfirmed","stringify","tenant","includes","URLApi","window","location","hostname","history","createBrowserHistory","domain","api","axios","create","baseURL","interceptors","response","use","error","Promise","reject","toast","push","signInDonor","signInAdmin","signInStudent","email","password","call","post","useremail","data","authenticated","defaults","headers","Authorization","get","responseUserInfo","responseEmailConfirmation","url","id","imgUser","put","campus","ra","birthDate","a","name","confirmPassword","result","message","success","autoClose","all","takeLatest","updateProfileSuccess","updateImageProfile","acceptRegulationRequest","acceptRegulationSuccess","updateEmailConfirmation","updateProfile","accept_regulation","avatar_id","rest","Object","assign","oldPassword","rootSaga","reducers","sagaMiddleware","createSagaMiddleware","sagaMonitor","middlewares","store","enhancer","applyMiddleware","createStore","rootReducer","persistReducer","key","storage","whitelist","persistor","persistStore","RouteWrapper","Component","component","isPrivate","Layout","layout","dispatch","useDispatch","getState","now","Math","round","Date","getTime","to","render","props","run","defaultProps","Wrapper","styled","div","CardStudentPage","className","Card","imageId","src","imagePreLoading","effect","urlImage","visibleByDefault","size","color","Body","Title","studentName","Text","textSplit","pageUrl","AllDonationsPage","useState","donations","setDonations","setLoading","setMessage","activePage","setActivePage","itemPerPage","totalItens","setTotalItens","modal","setModal","loadData","item","indexSize","entities","length","map","x","campaignId","description","startDate","format","locale","pt","endDate","donationPageCards","y","pageText","substring","useEffect","onInit","banner","fluid","Button","onClick","Container","Spinner","animation","Row","Col","xs","sm","ind","console","log","style","marginTop","index","hidden","toLowerCase","trim","itemClass","linkClass","itemsCountPerPage","totalItemsCount","pageRangeDisplayed","onChange","e","Modal","show","onHide","centered","Header","closeButton","i","formatPrice","Intl","NumberFormat","currency","URLSystem","CartaoCC","idclient","routePay","setInvoice","useSelector","donorName","setDonorName","donorMail","setDonorMail","cvc","setCvc","expiry","setExpiry","focus","setFocus","setName","number","setNumber","price","setPrice","customPrice","setCustomPrice","typeDonation","setTypeDonation","installments","setInstallments","identificacao","setIdentificacao","paymentDone","setPaymentDone","paymentObj","setPaymentObj","authPeople","setAuthPeople","modalTermUse","setModalTermUse","acceptTerm","setAcceptTerm","acceptted","setAcceptted","termoDeUso","setTermoDeUso","useRef","userValid","setUserValid","dateExpiry","Number","newDateExpiry","join","jsonData","Location","DonationPageId","GiverName","GiverEmail","Value","IsRecurrence","RecurrenceTimes","AnonymousDonator","PaymentMethodCode","PaymentParameters","isSignature","signatureInterval","signatureEndDate","addDays","addMonths","card_number","replace","full_name","validate","secure_code","recurrent","installment","country","dataResponse","emitCallBack","entity","d","giverRegulation","lg","Alert","variant","donationId","focused","initialData","donorNameCC","donorMailCC","onSubmit","md","InputGroup","placeholder","disabled","required","target","value","onFocus","Badge","mask","maskChar","checked","options","title","sitekey","onVerify","onExpire","block","aria-labelledby","bg","text","dangerouslySetInnerHTML","__html","explodeDate","substr","parseDataBradesco","responsePay","nuTituloGerado","nomeBeneficiario","logradouroBeneficiario","nuLogradouroBeneficiario","complementoLogradouroBeneficiario","cepBeneficiario","cepComplementoBeneficiario","municipioBeneficiario","ufBeneficiario","nomePagador","cpfcnpjPagador","enderecoPagador","bairroPagador","municipioPagador","ufPagador","cepPagador","cepComplementoPagador","dtEmissao","dtVencimentoBoleto","dtLimitePagamentoBoleto","vlTitulo","cdBarras","linhaDigitavel","priceFormatted","parseInt","Content","copy","textArea","document","createElement","position","top","left","width","height","padding","border","outline","boxShadow","background","body","appendChild","select","execCommand","info","warn","err","removeChild","BoletoComponent","canPayYet","useMemo","fimDoDiaMaxPagar","endOfDay","reverse","isBefore","JsBarcode","init","loadEvent","componentRef","ref","logo","alt","colSpan","rowSpan","jsbarcode-format","jsbarcode-value","jsbarcode-textmargin","jsbarcode-fontoptions","jsbarcode-displayvalue","jsbarcode-background","trigger","content","current","BankSlip","nome","setNome","logradouro","setLogradouro","numero","setNumero","complemento","setComplemento","cep","setCep","bairro","setBairro","cidade","setCidade","uf","setUf","cpf","setCpf","slipData","setSlipData","cepSplit","dtEmissaoTitulo","dtVencimentoTitulo","tpVencimento","vlNominalTitulo","logradouroPagador","nuLogradouroPagador","complementoLogradouroPagador","complementoCepPagador","cdIndCpfcnpjPagador","nuCpfcnpjPagador","cdEspecieTitulo","tpProtestoAutomaticoNegativacao","prazoProtestoAutomaticoNegativacao","controleParticipante","cdPagamentoParcial","qtdePagamentoParcial","percentualJuros","vlJuros","qtdeDiasJuros","percentualMulta","vlMulta","qtdeDiasMulta","percentualDesconto1","vlDesconto1","dataLimiteDesconto1","percentualDesconto2","vlDesconto2","dataLimiteDesconto2","percentualDesconto3","vlDesconto3","dataLimiteDesconto3","prazoBonificacao","percentualBonificacao","vlBonificacao","dtLimiteBonificacao","vlAbatimento","vlIOF","endEletronicoPagador","nomeSacadorAvalista","logradouroSacadorAvalista","nuLogradouroSacadorAvalista","complementoLogradouroSacadorAvalista","cepSacadorAvalista","complementoCepSacadorAvalista","bairroSacadorAvalista","municipioSacadorAvalista","ufSacadorAvalista","cdIndCpfcnpjSacadorAvalista","nuCpfcnpjSacadorAvalista","endEletronicoSacadorAvalista","paymentData","justifyContent","youtube_parser","match","replaceLink","space","hyperlink","darken","StudentDonationPage","slug","useParams","dataPage","setDataPage","settitle","setdescription","image","setimage","seturl","methodsPayment","textFormatted","urlFormatted","urlsystem","studentImageId","videoEmbed","videoUrl","ent","pageDescription","Helmet","studentCourse","studentCampus","Footer","FormControl","Append","href","encodeURIComponent","allowFullScreen","campaignName","campaignDescription","Accordion","method","Toggle","as","eventKey","Collapse","pageId","mountAccordionPayment","DonationsCampaign","formRef","searchRef","infoCampaign","setInfoCampaign","searching","setSearching","searchString","setSearchString","timeout","setTimeOut","lenghtSeachString","dt","Form","preventDefault","vl","clearTimeout","setTimeout","borderLeft","reset","SignIn","perfil","setPerfil","zIndex","backgroundColor","borderRadius","signInRequestAluno","signInRequestDoador","signInRequestAdmin","Logout","schema","Yup","shape","min","oneOf","SignUp","signUpRequest","Recovery","ConfirmPass","newPassword","setNewPassword","confirmNewPassword","setConfirmNewPassword","setConfirmPassword","useLocation","obj","NewPassword","ConfirmPassword","values","errors","display","ConfirmPasswordRecover","search","enumState","enumTransactionStatus","label","enumTransactionType","defaultMaskOptions","prefix","suffix","includeThousandsSeparator","thousandsSeparatorSymbol","allowDecimal","decimalSymbol","decimalLimit","integerLimit","allowNegative","allowLeadingZeroes","CurrencyInput","maskOptions","inputProps","currencyMask","createNumberMask","inputMode","createImage","resolve","Image","addEventListener","setAttribute","getRadianAngle","degreeValue","PI","getCroppedImg","imageSrc","pixelCrop","rotation","canvas","ctx","getContext","safeArea","max","translate","rotate","drawImage","getImageData","putImageData","toBlob","file","URL","createObjectURL","getRotatedImage","CropImage","route","ORIENTATION_TO_ANGLE","preview","setPreview","loaded","setloaded","setImageSrc","crop","setCrop","setRotation","zoom","setZoom","aspect","croppedAreaPixels","setCroppedAreaPixels","isCropping","setIsCropping","onRotationChange","onZoomChange","croppedImage","fetch","res","blob","File","FormData","append","onClose","readFile","reader","FileReader","readAsDataURL","files","imageDataUrl","getOrientation","orientation","afterLoad","accept","onCropChange","onCropComplete","croppedArea","step","classes","container","Student","userDonations","setUserDonations","infoDonations","setInfoDonations","detailDonations","setDetailDonations","modalLoading","setModalLoading","modalCreatePage","setModalCreatePage","modalUpdateInfo","setModalUpdateInfo","modalUpdate","setModalUpdate","statusCancel","setStatusCancel","smShow","setSmShow","messageErrorSevenPag","isPrivateEdit","setIsPrivateEdit","isPublishEdit","setIsPublishEdit","isPrivateCreate","setIsPrivateCreate","isPublishCreate","setIsPublishCreate","viewAllValues","setViewAllValue","setItemPerPage","donationsActivePage","setDonationsActivePage","donationsItemPerPage","donationsTotalItens","setDonationsTotalItens","donationsId","setDonationsId","transactions","setTransactions","transactionLoading","setTransactionLoading","updatePending","setUpdatePending","finalities","setFinalities","valueRequest","setValueRequest","campaigns","setCampaigns","pageDefault","setPageDefault","setKey","loadDataInfoValuesDonations","dateFormatted","date","valueFormatted","sort","b","localeCompare","statusValue","find","transactionTypeValue","redeemFinalityId","requestValueFormatted","requestValue","approvedValueFormatted","approvedValue","totalTransactionsPending","filter","reduce","total","then","spread","responses","dataDonations","udt","totalDonationsFormatted","totalDonations","totalAvailableFormatted","totalAvailable","totalNotProcessedFormatted","totalNotProcessed","totalProcessedFormatted","totalProcessed","totalOutFlowFormatted","totalOutflow","catch","handleChangeDonations","handleUpdateCampaignModal","published","privatePage","handleUpdatePrivatePage","handleId","confirmAlert","buttons","handleUpdatePublishPage","handleGenerateNewUrl","handleUpdatePage","objData","handleCancelUpdate","donationPageId","delete","handleRequestRescueModal","handleSendRescue","finalidade","valor","json","originPageId","destinationPageId","newPageModal","changeCampaign","handleCreatePage","verifyDeletable","responseDel","dta","dismissAlert","viewed","curso","sevenPagConnectionSuccess","ListGroup","Item","OverlayTrigger","placement","overlay","Tooltip","marginLeft","marginBottom","cursor","Table","striped","bordered","responsive","hover","active","Dropdown","drop","Menu","Divider","innerClass","Jumbotron","people","Tabs","activeKey","onSelect","k","Tab","it","processed","align","Prepend","pageDefaultDescription","pageDefaultText","htmlFor","maxLength","multiline","rows","dismissible","moderationMessage","updateVerificationCode","enumMetodPayment","Donor","setTotalDonations","modalSlip","setModalSlip","paymentMethodCodeFormatted","paymentMethodCode","handleModalReceipt","handleModalBankSlip","paymentStatus","renderMenu","isRecurrence","Dashboard","tenantsAllowed","indexOf","handleAcceptTerm","renderConfirmEmail","handleReSendEmail","handleCancelUpdateEmail","parseISO","renderComponent","backdrop","ConfirmPage","URLSearchParams","updateCode","AboutProject","scroll","currentPosition","setCurrentPosition","oprograma","ounasp","loadTermPublic","creationDate","scrollToRef","toPosition","offsetTop","int","setInterval","scrollTo","clearInterval","backgroundImage","img_01","backgroundPosition","img_02","img_03","img_04","Home","labels","datasets","hoverBackgroundColor","borderColor","borderWidth","hoverBorderColor","buildURLQuery","entries","pair","ContasFinanceiras","pages","setPages","sendingLoading","modalCreateLot","setModalCreateLot","modalInsertLot","setModalInsertLot","GetAccountUnaccounted","financialAccountId","prevState","transactionDate","transactionValue","handleChangeAllToLot","handleCreateLot","items","handleInsertIntoLotModal","unnacounted","accountingLotId","accountingLotCode","handleInsertIntoLot","loteId","alias","transactionRequestId","itemId","handleChangeToLot","originStudentName","originPageCampaignName","moderatorName","TransferenciaPage","underAnalysis","statusAprove","setStatusAprove","valueAprove","setValueAprove","urlBase","requestDate","statusFormatted","transactionTypeFormatted","transactionType","handleViewRequest","handleAproveRequest","valReplaced","isNaN","dataKey","searchFunction","itensPerPage","TransferenciasRealizadas","viewByCampaign","filtring","setFiltring","finalityId","setFinalityId","itemsFinality","setItemsFinality","redeemfinalityid","accounted","ModerarAlteracoes","modalVideo","setModalVideo","setVideoEmbed","isActiveEdit","setIsActiveEdit","handleUpdateStatePage","pageActiveStatus","embed_video","flexDirection","flex","alignItems","embed","Campanhas","Lotes","onlyClosed","dataLotEntity","setDataLotEntity","dataLotView","setDataLotView","modalLot","setModalLot","dataLotLoading","setDataLotLoading","activePageLot","setActivePageLot","itemPerPageLot","totalItensLot","setTotalItensLot","searchStringLot","setSearchStringLot","printPDFHead","printPDFBody","setPrintPDFBody","setPrintCSVBody","entidade","setEntidade","dataLote","setDataLote","creationDateFormatted","keys","listItemsLote","dataLotResp","originStudentCampus","accountingDate","0","originStudentRa","1","2","3","4","transactionDateFormatted","transactionValueFormatted","handleContabilizeLot","accountId","paddingTop","doc","jsPDF","autoTable","head","theme","startY","save","getDate","getMonth","getFullYear","acumulador","valorAtual","separator","enclosingCharacter","filename","Configuracoes","RichTextEditor","createValueFromString","txtStudentValue","setTxtStudentValue","txtGiverValue","setTxtGiverValue","handleSave","toString","defaultActiveKey","Doacoes","modalCSV","setModalCSV","handleModalCSV","giverName","visible","JsonMenu","person","validadePass","test","setModalUser","modalUserPWD","setModalUserPWD","setItemMenuProfile","sendNewEmail","handleUpdate","giverId","NewEmail","ConfirmEmail","Email","ConfirmarEmail","handleNewPassword","currentPassword","passwordChangeForm","messageError","Navbar","Nav","alignRight","AuthLayout","children","footer","DefaultLayout","pathname","icon","selectOrganization","setSelectOrganization","allTenants","handleChangeOrganization","organization","tenants","Brand","el","renderOptions","Sidebar","AdminLayout","role","UserManagement","lastParams","setLastParams","availableRoles","setAvailableRoles","userRoles","setUserRoles","AllTenants","setAllTenants","tenantChecked","setTenantChecked","isOpen","modalCreateUser","setModalCreateUser","handleClose","params","dataUsers","GetAvailableRoles","query","_data","form","userName","passwordHash","userEmail","userRolesData","GetAllTenants","EditUser","RemoveUserRole","AddUserRole","autoFocus","ButtonGroup","toggle","gap","flexWrap","ToggleButton","maxWidth","whiteSpace","UnformInput","inputRef","useField","fieldName","registerField","defaultValue","path","Students","modalEditStudent","setModalEditStudent","selectedStudent","setSelectedStudent","oldUserEmail","warning","course","institution","fontWeight","Routes","exact","AllDonations","StudentDonation","HomePage","createGlobalStyle","App","ReactDOM","getElementById"],"mappings":"qGAAAA,EAAOC,QAAU,0vX,kBCAjBD,EAAOC,QAAU,s/E,oBCAjBD,EAAOC,QAAU,IAA0B,oC,kBCA3CD,EAAOC,QAAU,smE,kBCAjBD,EAAOC,QAAU,8iR,oBCAjBD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,kBCA3CD,EAAOC,QAAU,koE,kBCAjBD,EAAOC,QAAU,8/F,0DCAjBD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,sC,oBCA3CD,EAAOC,QAAU,IAA0B,qC,uCCA3CD,EAAOC,QAAU,81O,wLCqBV,SAASC,EAAcC,EAAOC,EAAMC,GACzC,MAAO,CACLA,KAAM,wBACNC,QAAS,CAAEH,QAAOC,OAAMC,S,kECtBtBE,EAAgB,CACpBJ,MAAO,KACPK,QAAQ,EACRC,SAAS,EACTC,IAAK,G,YCJDH,EAAgB,CACpBI,QAAS,KACTC,SAAU,ICFZ,IAAML,EAAgB,CACpBM,WAAW,EACXC,YAAY,EACZC,cAAe,GACfC,UAAW,CAAC,QCACC,kBAAgB,CAAEC,KHElB,WAA8C,IAAhCC,EAA+B,uDAAvBZ,EAAea,EAAQ,uCAC1D,OAAOC,YAAQF,GAAO,SAACG,GACrB,OAAQF,EAAOf,MACb,IAAK,8BAIL,IAAK,8BAIL,IAAK,gCACHiB,EAAMb,SAAU,EAChB,MAEF,IAAK,wBACHa,EAAMnB,MAAQiB,EAAOd,QAAQH,MAC7BmB,EAAMlB,KAAOgB,EAAOd,QAAQF,KAC5BkB,EAAMd,QAAS,EACfc,EAAMb,SAAU,EAChBa,EAAMZ,IAAMa,KAAKC,MAAMC,KAAKL,EAAOd,QAAQH,MAAMuB,MAAM,KAAK,KAAKhB,IACjE,MAEF,IAAK,qBACHY,EAAMb,SAAU,EAChB,MAEF,IAAK,iBACHa,EAAMnB,MAAQ,KACdmB,EAAMd,QAAS,EACfc,EAAMZ,IAAM,OGhCmBN,KFAxB,WAA8C,IAAhCe,EAA+B,uDAAvBZ,EAAea,EAAQ,uCAC1D,OAAOC,YAAQF,GAAO,SAACG,GACrB,OAAQF,EAAOf,MACb,IAAK,wBACHiB,EAAMX,QAAUS,EAAOd,QAAQF,KAC/BkB,EAAMV,SAAWQ,EAAOd,QAAQD,KAChC,MACF,IAAK,+BACHiB,EAAMX,QAAUS,EAAOd,QAAQK,QAC/B,MACF,IAAK,yCACHW,EAAMX,QAAQgB,mBAAqBP,EAAOd,QAAQsB,OAClD,MACF,IAAK,6BACHN,EAAMX,QAAQkB,OAAST,EAAOd,QAAQuB,OACtC,MACF,IAAK,kCAAL,MAKMT,EAAOd,QAAQwB,aAHjBC,EAFJ,EAEIA,SACAC,EAHJ,EAGIA,kBACAC,EAJJ,EAIIA,eAEIC,EAAG,eACJZ,EAAMX,QADF,CAEPwB,YAAa,CAAEJ,WAAUC,oBAAmBC,oBAG9CX,EAAMX,QAAUuB,EAChB,MACF,IAAK,iBACHZ,EAAMX,QAAU,KAChBW,EAAMV,SAAW,QE/BoBwB,ODE9B,WAAgD,IAAhCjB,EAA+B,uDAAvBZ,EAAea,EAAQ,uCAC5D,OAAOC,YAAQF,GAAO,SAACG,GACrB,OAAQF,EAAOf,MACb,IAAK,4BACHiB,EAAMT,WAAaS,EAAMT,UACzB,MACF,IAAK,6BACHS,EAAMR,YAAcQ,EAAMR,WAC1B,MACF,IAAK,wBAEAM,EAAOd,QAAQF,KAAKiC,gBAC+B,OAApDd,KAAKe,UAAUlB,EAAOd,QAAQF,KAAK+B,cACX,YAAxBf,EAAOd,QAAQD,OAEfiB,EAAMR,YAAa,GAErB,MACF,IAAK,gCACHQ,EAAMP,cAAgBK,EAAOd,QAAQiC,OACrC,MACF,IAAK,wBACHjB,EAAMN,UACJM,EAAMN,UAAUwB,SAASpB,EAAOd,QAAQM,WAAa,EAArD,sBACQU,EAAMN,WADd,CACyBI,EAAOd,QAAQM,WACpCU,EAAMN,UACZ,MACF,IAAK,iBACHM,EAAMT,WAAY,EAClBS,EAAMR,YAAa,EACnBQ,EAAMP,cAAgB,GACtBO,EAAMN,UAAY,CAAC,c,+BE/BZyB,EAJE,uDAJFC,OAAOC,SAASC,SAKvB,qCACA,mC,0BCJOC,EADCC,c,kBCKVC,EAASL,OAAOC,SAASC,SAEzBI,EAAMC,IAAMC,OAAO,CAEvBC,QAGiB,uDAAXJ,EACE,sCACA,qCAGVC,EAAII,aAAaC,SAASC,KACxB,SAACD,GACC,OAAOA,KAET,SAACE,GAKC,GAA8B,MAA1BA,EAAMF,SAASzB,OACjB,OAAO4B,QAAQC,OAAOF,GAaxBG,IAAMH,MAAM,oDACZV,EAAQc,KAAK,cAoCFX,Q,WCnELY,G,WAgDAC,G,WAkCAC,GAlFV,SAAUF,EAAV,oGAGqB,OAHGtD,EAAxB,EAAwBA,QAAxB,SAEYyD,EAAoBzD,EAApByD,MAAOC,EAAa1D,EAAb0D,SAFnB,SAG2BC,eAAKjB,EAAIkB,KAAM,4BAA6B,CACjEC,UAAWJ,EACXC,aALN,UAGUX,EAHV,SAQ2CA,EAASe,KAAxCjE,EARZ,EAQYA,MAAOC,EARnB,EAQmBA,MARnB,EAQyBiE,cARzB,iBAa+B,OAFzBrB,EAAIsB,SAASC,QAAQC,cAArB,iBAA+CrE,GAXrD,UAaqC8D,eAAKjB,EAAIyB,IAAK,0BAbnD,QAewC,OAF5BC,EAbZ,iBAe8CT,eACtCjB,EAAIyB,IACJ,0CAjBR,QAoCM,OArBME,EAfZ,SAwBUA,EAA0BP,KAH5BrC,EArBR,EAqBQA,SACAC,EAtBR,EAsBQA,kBACAC,EAvBR,EAuBQA,eAGIC,EA1BZ,eA2BW9B,EA3BX,CA4BQyB,OAAO,eACFzB,EAAKyB,OADJ,CAEJ+C,IAAOxE,EAAKyB,OAAOgD,GAAd,UAAsBpC,EAAtB,kBAAsCrC,EAAKyB,OAAOgD,IAAOC,OAE7DJ,EAAiBN,KAhC5B,CAiCQjC,YAAa,CAAEJ,WAAUC,oBAAmBC,oBAjCpD,UAoCY8C,cAAI7E,EAAcC,EAAO+B,EAAK,UApC1C,QAqCMW,EAAQc,KAAK,cArCnB,wBAwCM,OADAD,IAAMH,MAAM,qDAvClB,UAwCYwB,cRVH,CACL1E,KAAM,uBQ/BV,gCA4CI,OA5CJ,0BA2CIqD,IAAMH,MAAM,qDA3ChB,UA4CUwB,cRdD,CACL1E,KAAM,uBQ/BV,sDAgDA,SAAUwD,EAAV,wFAGqB,OAHGvD,EAAxB,EAAwBA,QAAxB,SAEYyD,EAAoBzD,EAApByD,MAAOC,EAAa1D,EAAb0D,SAFnB,SAG2BC,eAAKjB,EAAIkB,KAAM,4BAA6B,CACjEC,UAAWJ,EACXC,aALN,UAGUX,EAHV,SAQ2CA,EAASe,KAAxCjE,EARZ,EAQYA,MAAOC,EARnB,EAQmBA,MARnB,EAQyBiE,cARzB,iBAsBM,OAZArB,EAAIsB,SAASC,QAAQC,cAArB,iBAA+CrE,GAIzC+B,EAdZ,eAeW9B,EAfX,CAgBQyB,OAAO,eACFzB,EAAKyB,OADJ,CAEJ+C,IAAOxE,EAAKyB,OAAOgD,GAAd,UAAsBpC,EAAtB,kBAAsCrC,EAAKyB,OAAOgD,IAAOC,QAlBxE,UAsBYC,cAAI7E,EAAcC,EAAO+B,EAAK,UAtB1C,QAuBMW,EAAQc,KAAK,eAvBnB,wBA0BM,OADAD,IAAMH,MAAM,qDAzBlB,UA0BYwB,cR5CH,CACL1E,KAAM,uBQiBV,gCA8BI,OA9BJ,0BA6BIqD,IAAMH,MAAM,qDA7BhB,UA8BUwB,cRhDD,CACL1E,KAAM,uBQiBV,sDAkCA,SAAUyD,EAAV,wGAGqB,OAHKxD,EAA1B,EAA0BA,QAA1B,SAEY0E,EAAoC1E,EAApC0E,OAAQC,EAA4B3E,EAA5B2E,GAAIjB,EAAwB1D,EAAxB0D,SAAUkB,EAAc5E,EAAd4E,UAFlC,SAG2BjB,eAAKjB,EAAIkB,KAAM,8BAA+B,CACnEc,SACAC,KACAjB,WACAkB,cAPN,UAGU7B,EAHV,SAU2CA,EAASe,KAAxCjE,EAVZ,EAUYA,MAAOC,EAVnB,EAUmBA,MAVnB,EAUyBiE,cAVzB,iBAc+B,OAFzBrB,EAAIsB,SAASC,QAAQC,cAArB,iBAA+CrE,GAZrD,UAcqC8D,eAC7BjB,EAAIyB,IACJ,8BAhBR,QAmBwC,OAL5BC,EAdZ,iBAmB8CT,eACtCjB,EAAIyB,IACJ,0CArBR,QAwCM,OArBME,EAnBZ,SA4BUA,EAA0BP,KAH5BrC,EAzBR,EAyBQA,SACAC,EA1BR,EA0BQA,kBACAC,EA3BR,EA2BQA,eAGIC,EA9BZ,eA+BW9B,EA/BX,CAgCQyB,OAAO,eACFzB,EAAKyB,OADJ,CAEJ+C,IAAOxE,EAAKyB,OAAOgD,GAAd,UAAsBpC,EAAtB,kBAAsCrC,EAAKyB,OAAOgD,IAAOC,OAE7DJ,EAAiBN,KApC5B,CAqCQjC,YAAa,CAAEJ,WAAUC,oBAAmBC,oBArCpD,UAwCY8C,cAAI7E,EAAcC,EAAO+B,EAAK,YAxC1C,QAyCMW,EAAQc,KAAK,cAzCnB,wBA4CM,OADAD,IAAMH,MAAM,qDA3ClB,UA4CYwB,cRhGH,CACL1E,KAAM,uBQmDV,gCAgDI,OAhDJ,0BA+CIqD,IAAMH,MAAM,qDA/ChB,UAgDUwB,cRpGD,CACL1E,KAAM,uBQmDV,sD,4CAoDA,uCAAA8E,EAAA,6DAAwB7E,EAAxB,EAAwBA,QAAxB,SAEY8E,EAA2C9E,EAA3C8E,KAAMrB,EAAqCzD,EAArCyD,MAAOC,EAA8B1D,EAA9B0D,SAAUqB,EAAoB/E,EAApB+E,gBAFnC,SAGyBrC,EAAIkB,KAAK,kCAAmC,CAC/DkB,OACArB,QACAC,WACAqB,oBAPN,WAGUC,EAHV,QASgBlB,KAAKxC,OATrB,uBAUM8B,IAAMH,MAAM+B,EAAOlB,KAAKmB,SAV9B,0BAaI7B,IAAM8B,QACJ,sFACA,CACEC,UAAW,MAGf5C,EAAQc,KAAK,KAnBjB,kDAqBID,IAAMH,MAAM,2CACZwB,cR9HK,CACL1E,KAAM,uBQuGV,2D,sBAsCeqF,oBAAI,CACjBC,qBAAW,qBAbN,YAAgC,IAAZrF,EAAW,EAAXA,QACzB,GAAKA,EAAL,CADoC,IAE5BH,EAAUG,EAAQY,KAAlBf,MACJA,IACF6C,EAAIsB,SAASC,QAAQC,cAArB,iBAA+CrE,QAUjDwF,qBAAW,8BAA+B/B,GAC1C+B,qBAAW,8BAA+B9B,GAC1C8B,qBAAW,gCAAiC7B,GAC5C6B,qBAAW,yB,8CACXA,qBAAW,kBAVN,WACL9C,EAAQc,KAAK,UC9KR,SAASiC,EAAqBjF,GACnC,MAAO,CACLN,KAAM,+BACNC,QAAS,CAAEK,YAGR,SAASkF,EAAmBhE,GACjC,MAAO,CACLxB,KAAM,6BACNC,QAAS,CAAEuB,WAQR,SAASiE,EAAwBlF,GACtC,MAAO,CACLP,KAAM,yCACNC,QAAS,CAAEM,aAGR,SAASmF,EAAwBnE,GACtC,MAAO,CACLvB,KAAM,yCACNC,QAAS,CAAEsB,WAIR,SAASoE,EAAwBlE,GACtC,MAAO,CACLzB,KAAM,kCACNC,QAAS,CAAEwB,iB,eC7BEmE,I,WAmBAC,IAnBV,SAAUD,GAAV,wFASc,OATY3F,EAA1B,EAA0BA,QAA1B,WAEyCA,EAAQ8D,KAA5CgB,EAFL,EAEKA,KAAMrB,EAFX,EAEWA,MAAOoC,EAFlB,EAEkBA,UAAcC,EAFhC,4CAIGzF,EAAU0F,OAAOC,OACrB,CAAElB,OAAMrB,QAAOoC,aACfC,EAAKG,YAAcH,EAAO,IANzB,SASoBnC,eAAKjB,EAAI+B,IAAK,QAASpE,GAT3C,OAYH,OAHM0C,EATH,OAUHK,IAAM8B,QAAQ,iCAVX,UAYGT,cAAIa,EAAqBvC,EAASe,OAZrC,gCAeH,OAfG,0BAcHV,IAAMH,MAAM,gDAdT,UAeGwB,cDND,CACL1E,KAAM,iCCVH,sDAmBA,SAAU6F,GAAV,oFAGc,OAHgB5F,EAA9B,EAA8BA,QAA9B,SAEKM,EAAaN,EAAbM,SAFL,SAGoBqD,eACrBjB,EAAIkB,KACS,YAAbtD,EAAA,6DALC,UAGGyC,EAHH,SASyBA,EAASe,KAA7BxC,EATL,EASKA,OAAQ2D,EATb,EASaA,SACZ3D,EAVD,iBAYD,OADA8B,IAAM8B,QAAQ,sBAXb,UAYKT,cAAIgB,EAAwBnE,IAZjC,gCAcD8B,IAAMH,MAAN,UAAegC,IAdd,0DAiBH7B,IAAMH,MAAM,+BAjBT,sDAqBQmC,qBAAI,CACjBC,qBAAW,+BAAgCM,IAC3CN,qBAAW,yCAA0CO,M,YC9C9BM,IAAV,SAAUA,KAAV,iEACN,OADM,SACAd,cAAI,CAACxE,EAAMd,KADX,gFCGf,ICPgBqG,GDYVC,GAAiBC,YAAqB,CAAEC,YAFxC,OAIAC,GAAc,CAACH,IAEfI,GEjBS,SAACL,EAAUI,GACxB,IAAME,EAGAC,IAAe,WAAf,cAAmBH,IACzB,OAAOI,YAAYR,EAAUM,GFYjBE,EChBER,GDgB0BS,ECffC,YACvB,CACEC,IAAK,cACLC,YACAC,UAAW,CAAC,OAAQ,OAAQ,WAE9Bb,KDSoDI,IAClDU,GAAYC,YAAaV,IGNhB,SAASW,GAAT,GAKX,IAJSC,EAIV,EAJDC,UAIC,IAHDC,iBAGC,SAFOC,EAEP,EAFDC,OACG1B,EACF,kDACK2B,EAAWC,cADhB,EAE6BlB,GAAMmB,WAAW/G,KAAvCV,EAFP,EAEOA,OAAQE,EAFf,EAEeA,IAAKN,EAFpB,EAEoBA,KACf8H,EAAMC,KAAKC,OAAM,IAAIC,MAAOC,UAAY,KAI9C,OAHI9H,IAAWE,EAAM,GAAKwH,GAAOxH,IAC/BqH,EfwBK,CACL1H,KAAM,mBevBJG,GAAUoH,IAAcxH,EAAKiC,gBAC/BqB,IAAMH,MAAM,uCACL,kBAAC,IAAD,CAAUgF,GAAG,QAGjB/H,GAAUoH,GACblE,IAAMH,MAAM,8BAEL,kBAAC,IAAD,CAAUgF,GAAG,YAUpB,kBAAC,IAAD,iBACMnC,EADN,CAEEoC,OAAQ,SAACC,GAAD,OACN,kBAACZ,EAAD,KACE,kBAACH,EAAce,QH1BzB/B,GAAegC,IAAIlC,IGuCnBiB,GAAakB,aAAe,CAC1Bf,WAAW,G,sgBC3DN,IAAMgB,GAAUC,KAAOC,IAAV,M,UCgDLC,OArCf,YAAoC,IAAT3E,EAAQ,EAARA,KACzB,OACE,kBAACwE,GAAD,CAASI,UAAU,0CACjB,kBAACC,GAAA,EAAD,CAAMD,UAAU,SACd,yBAAKA,UAAU,YACV5E,EAAK8E,QACN,oCACE,yBAAKC,IAAKC,KAAiBvE,GAAG,iBAC9B,kBAAC,iBAAD,CACEwE,OAAO,OACPF,IAAK/E,EAAKkF,SACVC,iBAAkBnF,EAAK+E,MAAQC,KAC/BJ,UAAU,6BAId,kBAAC,KAAD,CAAWQ,KAAM,IAAKC,MAAM,aAGhC,kBAACR,GAAA,EAAKS,KAAN,KACE,kBAACT,GAAA,EAAKU,MAAN,KAAavF,EAAKwF,aAClB,kBAACX,GAAA,EAAKY,KAAN,KAAYzF,EAAK0F,WACjB,wBAAId,UAAU,YACd,yBAAKA,UAAU,8BACb,kBAAC,KAAD,CACET,GAAE,mBAAcnE,EAAK2F,SACrBf,UAAU,6BAFZ,UAIS,kBAAC,KAAD,CAAUQ,KAAM,W,4LCvC9B,IAAMZ,GAAUC,KAAOC,IAAV,M,sJCsCL,SAASkB,KAAoB,IAAD,EACPC,mBAAS,IADF,oBAClCC,EADkC,KACvBC,EADuB,OAGXF,oBAAS,GAHE,oBAGlCxJ,EAHkC,KAGzB2J,EAHyB,OAIXH,mBAAS,IAJE,oBAIlC1E,EAJkC,KAIzB8E,EAJyB,OAMLJ,mBAAS,GANJ,oBAMlCK,EANkC,KAMtBC,EANsB,OAOHN,mBAAS,IAPN,oBAOlCO,EAPkC,aAQLP,mBAAS,IARJ,oBAQlCQ,EARkC,KAQtBC,EARsB,OAUfT,oBAAS,GAVM,oBAUlCU,EAVkC,KAU3BC,EAV2B,cAmB1BC,EAnB0B,8EAmBzC,WAAwBC,GAAxB,iBAAA3F,EAAA,6DACEiF,GAAW,GACXD,EAAa,IAFf,SAIIE,EAAW,iBAJf,SAK2BrH,EAAIyB,IAAJ,mCACOqG,EADP,YACeN,EADf,OAL3B,OAW2B,MANjBnH,EALV,QAWiBzB,QACS,IACdwC,EAAOf,EAASe,KACtBsG,EAActG,EAAK2G,WAEf3G,EAAK4G,SAASC,OAAS,GACzBd,EACE/F,EAAK4G,SAASE,KAAI,SAACC,GAAD,MAAQ,CACxBC,WAAYD,EAAEC,WACdhG,KAAM+F,EAAE/F,KACRiG,YAAaF,EAAEE,YACfC,UAAWH,EAAEG,UACTC,aAAO,IAAIlD,KAAK8C,EAAEG,WAAY,wBAAyB,CACvDE,OAAQC,OAER,KACJC,QAASP,EAAEO,QACPH,aACA,IAAIlD,KAAK8C,EAAEO,SACX,mBACA,8BACA,CACEF,OAAQC,OAGV,KACJE,kBAAmBR,EAAEQ,kBAAkBT,KAAI,SAACU,GAAD,sBACtCA,EADsC,CAEzC9B,UAAU,GAAD,OAAK8B,EAAEC,SAASC,UAAU,EA3BvB,KA2BH,YAA6CF,EAAEC,SAASZ,OA3BrD,IA2B4E,MAAQ,IAEhG3B,SAAYsC,EAAE1C,QAAJ,UAAiBzG,EAAjB,kBAAiCmJ,EAAE1C,SAAY,eAK/DmB,EAAW,IACXD,GAAW,IAEXC,EAAW,gCAGb3G,IAAMH,MAAM,0DApDlB,kDAuDI8G,EAAW,kDAvDf,2DAnByC,sBAgFzC,OApEA0B,qBAAU,WAAM,4CACd,sBAAA5G,EAAA,sEACQ0F,EAASP,GADjB,4CADc,uBAAC,WAAD,wBAId0B,KACC,CAAC1B,IAgEF,kBAAC,GAAD,KACE,6BACE,kBAAC,KAAD,CAAOnB,IAAK8C,KAAQpH,GAAG,YAAYqH,OAAK,IACxC,kBAACC,GAAA,EAAD,CAAQtH,GAAG,YAAYuH,QAAS,kBAAMxB,GAAS,KAA/C,cAwBDnK,EACC,kBAAC4L,GAAA,EAAD,KACE,yBAAKrD,UAAU,sBACD,iBAAXzD,GAA8B,kBAAC+G,GAAA,EAAD,CAASC,UAAU,WAAa,IAC/D,4BAAKhH,KAIT,kBAAC8G,GAAA,EAAD,KACE,kBAACG,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI3D,UAAU,SAC7B,wBAAIA,UAAU,qBAAd,8FAMHkB,EAAUgB,KAAI,SAACC,EAAGyB,GAAJ,OACbC,QAAQC,IAAI5C,GACZ,kBAACsC,GAAA,EAAD,CACEpF,IAAKwF,EACL5D,UAAU,iDAEV,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,gHACb,yBAAKA,UAAU,8CACb,wBAAIA,UAAU,QAEC,yBAAXmC,EAAE/F,KACA,iCACa,yBAAX+F,EAAE/F,KACF,sCACa,yBAAX+F,EAAE/F,KACF,mCACa,0BAAX+F,EAAE/F,KACF,wBACE,MAGd,kBAACoH,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKE,GAAI,GACP,yBAAK3D,UAAU,mBACZmC,EAAEG,WACD,oCACE,kBAAC,KAAD,CAAc9B,KAAM,GAAIR,UAAU,SAAU,IAD9C,cAEWmC,EAAEG,YAIjB,yBAAKtC,UAAU,mBACZmC,EAAEO,SACD,oCACE,kBAAC,KAAD,CAAoBlC,KAAM,GAAIR,UAAU,SAAU,IADpD,QAEQmC,EAAEO,WAKhB,kBAACe,GAAA,EAAD,CAAKE,GAAI,EAAG3D,UAAU,2BACpB,uBAAGA,UAAU,qBACX,kBAAC,KAAD,CACEQ,KAAM,GACNR,UAAU,OACV+D,MAAO,CAAEC,UAAW,UAErB7B,EAAEE,eAKT,yBAAKrC,UAAU,8BACb,kBAAC,KAAD,CACET,GAAE,oBAAe4C,EAAEC,YACnBpC,UAAU,oBACVnE,GAAG,WAHL,+BAK8B,kBAAC,KAAD,WAMrCsG,EAAEQ,kBAAkBT,KAAI,SAACC,EAAG8B,GAAJ,OACvB,kBAAC,GAAD,CAAiB7F,IAAK6F,EAAO7I,KAAM+G,OAErC,kBAACsB,GAAA,EAAD,CAAKC,GAAI,IACP,mCAMV,kBAACL,GAAA,EAAD,CACEa,OAAyC,kBAAjC3H,EAAQ4H,cAAcC,OAC9BpE,UAAU,QAEV,kBAACwD,GAAA,EAAD,CACExD,UAAS,iCAA4ByB,GAAcD,EAAc,SAAW,WAG5E,kBAACiC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,iCAC5B,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACVhD,WAAYA,EACZiD,kBAAmB/C,EACnBgD,gBAAiB/C,EACjBgD,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAOpD,EAAcoD,SASvC,kBAACC,GAAA,EAAD,CAAOC,KAAMlD,EAAOmD,OAAQ,kBAAMlD,GAAS,IAAQ2B,WAAW,EAAOwB,UAAQ,EAACvE,KAAK,MACjF,kBAACoE,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,4BAAI,sDAEN,kBAACL,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,QAEXkB,EAAUgB,KAAI,SAACC,EAAG+C,GAAJ,OACZ,kBAAC/B,GAAA,EAAD,CAAQnD,UAAU,yBAAyB5B,IAAK8G,EAAG9B,QAAS,kBAAMvJ,EAAQc,KAAR,oBAA0BwH,EAAEC,eAE/E,yBAAXD,EAAE/F,KACA,eACa,0BAAX+F,EAAE/F,KACF,MACa,yBAAX+F,EAAE/F,KACF,oBACa,yBAAX+F,EAAE/F,KACF,iBACE,a,IC3RP+I,GAAgB,IAAIC,KAAKC,aAAa,QAAS,CACpEtB,MAAO,WACPuB,SAAU,QAFG/C,O,UCQAgD,GAJE,uDAJF7L,OAAOC,SAASC,SAKvB,4DACA,+B,ykGCHD,IAAMgG,GAAUC,KAAOC,IAAV,M,sEC+BL,SAAS0F,GAAT,GAA6D,IAAzCC,EAAwC,EAAxCA,SAAUrK,EAA8B,EAA9BA,KAAMsK,EAAwB,EAAxBA,SAAwB,KAAdC,WAC7BC,aAAY,SAACzN,GAAD,OAAWA,EAAMf,SAAnDO,EADiE,EACjEA,QAASC,EADwD,EACxDA,SADwD,EAGvCqJ,mBAAS,IAH8B,oBAGlE4E,EAHkE,KAGvDC,EAHuD,OAIvC7E,mBAAS,IAJ8B,oBAIlE8E,EAJkE,KAIvDC,EAJuD,OAMnD/E,mBAAS,IAN0C,oBAMlEgF,EANkE,KAM7DC,EAN6D,OAO7CjF,mBAAS,IAPoC,oBAOlEkF,EAPkE,KAO1DC,EAP0D,OAQ/CnF,mBAAS,IARsC,oBAQlEoF,EARkE,KAQ3DC,EAR2D,OASjDrF,mBAAS,IATwC,oBASlE7E,EATkE,KAS5DmK,EAT4D,OAU7CtF,mBAAS,IAVoC,oBAUlEuF,EAVkE,KAU1DC,EAV0D,OAY/CxF,mBAAS,IAZsC,oBAYlEyF,EAZkE,KAY3DC,EAZ2D,OAanC1F,mBAAS,IAb0B,oBAalE2F,EAbkE,KAarDC,EAbqD,OAcjC5F,mBAAS,IAdwB,oBAclE6F,EAdkE,KAcpDC,EAdoD,QAejC9F,mBAAS,GAfwB,sBAelE+F,GAfkE,MAepDC,GAfoD,SAiB/BhG,oBAAS,GAjBsB,sBAiBlEiG,GAjBkE,MAiBnDC,GAjBmD,SAkB3ClG,oBAAS,GAlBkC,sBAkBlExJ,GAlBkE,MAkBzD2J,GAlByD,SAoBnCH,oBAAS,GApB0B,sBAoBlEmG,GApBkE,MAoBrDC,GApBqD,SAqBrCpG,mBAAS,IArB4B,sBAqBlEqG,GArBkE,MAqBtDC,GArBsD,SAuBrCtG,oBAAS,GAvB4B,sBAuBlEuG,GAvBkE,MAuBtDC,GAvBsD,SAyBjCxG,oBAAS,GAzBwB,sBAyBlEyG,GAzBkE,MAyBpDC,GAzBoD,SA0BrC1G,oBAAS,GA1B4B,sBA0BlE2G,GA1BkE,MA0BtDC,GA1BsD,SA2BvC5G,oBAAS,GA3B8B,sBA2BlE6G,GA3BkE,MA2BvDC,GA3BuD,SA4BrC9G,mBAAS,IA5B4B,sBA4BlE+G,GA5BkE,MA4BtDC,GA5BsD,UA8BzDC,iBAAO,MACWjH,oBAAS,IA/B8B,sBA+BlEkH,GA/BkE,MA+BvDC,GA/BuD,oDAwDzE,WAAyBzD,GAAzB,2BAAAxI,EAAA,6DACMxC,EAAW,GADjB,kBAG2BK,EAAIyB,IAAJ,8EAH3B,OAGUpB,EAHV,OAIIV,EAAWpB,KAAKe,UAAUe,EAASe,MAJvC,2DASO+M,GATP,wBAUIzN,IAAMH,MAAM,+BAVhB,8BAcOqN,GAdP,wBAeIlN,IAAMH,MAAM,4CAfhB,8BAmBuB,KAAjBmM,EAAMtC,QAAkC,MAAjBsC,EAAMtC,OAnBnC,wBAoBI1J,IAAMH,MAAM,mCApBhB,8BAwBO4N,GAxBP,wBAyBIzN,IAAMH,MAAM,+BAzBhB,kCA6BM8N,EAAalC,EAAO/B,OAAO1L,MAAM,MAE1B,GACT4P,OAAOD,EAAW,IAAM,IACpBC,OAAOD,EAAW,IAAM,IACxBC,OAAOD,EAAW,IAElBE,EAAgBF,EAAWG,KAAK,KAEhCC,EAAW,CACfC,SAAU/O,EACVgP,eAAgBlD,EAChBmD,UAAW/C,EACXgD,WAAY9C,EACZ+C,MAAOR,OAAO5B,GACdqC,aAA+B,WAAjBjC,EACdkC,gBAAiBhC,GACjBiC,iBAAkB/B,GAClBgC,kBAAmB,GACnBC,kBAAmB5Q,KAAKe,UAAU,CAChC8P,YAA8B,WAAjBtC,EACbuC,kBAAoC,WAAjBvC,EAA4B,UAAY,GAC3DwC,iBACmB,WAAjBxC,EACIvE,aACAgH,aAAQC,aAAUnK,KAAKH,MAAO8H,GAAe,GAAI,GACjD,cAEA,GACNyC,YAAajD,EAAOpC,OAAOsF,QAAQ,MAAO,IAC1CC,UAAWvN,EAAKgI,OAChBwF,SAAUrB,EACVsB,YAAa5D,EAAI7B,OACjB0F,WAAW,EACXC,YAAa,EACbC,QAAS,SAhEf,UAqEI5I,IAAW,GArEf,UAuE2BpH,EAAIkB,KAAJ,UAAYwK,GAAY+C,GAvEnD,QAuEUpO,EAvEV,OAwEU4P,EAAe5P,EAASe,KAEN,MAApBf,EAASzB,QACXqR,EAAarR,OACTsR,GAAa,CAAEtR,QAAQ,EAAMuR,OAAQF,EAAaE,SAGtD5P,GAAM0P,EAAa1N,SA/EzB,mDAkFI7B,IAAMH,MAAM,oCAlFhB,yBAoFI6G,IAAW,GApFf,qFAxDyE,sBAgJzE,SAAS8I,GAAaE,GAChBA,EAAExR,SACJyO,IAAe,GACfE,GAAc6C,EAAED,SAIpB,SAAS5P,GAAMgC,GACb7B,IAAMH,MAAN,8CAAmDgC,GAAWA,IAvHhEwG,qBAAU,WACQ,OAAZpL,GAAiC,UAAbC,IACtBkO,EAAanO,EAAQyE,MACrB4J,EAAarO,EAAQoD,OACrB0M,IAAc,GAEV9P,EAAQgB,qBACVkP,IAAc,GACdE,IAAa,KAIjBE,GAAc7M,EAAKiP,mBAClB,IAEHtH,qBAAU,WACR4D,EAAyB,UAAhBC,EAA0BA,EAAc,MAChD,CAACA,IAEJ7D,qBAAU,WACRkE,GAAiC,UAAjBH,EAA2B,IAAM,MAChD,CAACA,IAoHJ,OACE,kBAAC,GAAD,KACE,kBAACzD,GAAA,EAAD,KACKoC,GAAcC,EACf,yBAAK7J,GAAG,eACLuL,GACC,kBAAC5D,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAI4G,GAAI,EAAGtK,UAAU,aAC5B,yBAAKA,UAAU,qBACb,yBAAKA,UAAU,cACb,0BAAMA,UAAU,uBAChB,0BAAMA,UAAU,wBAChB,yBAAKA,UAAU,gBACf,yBAAKA,UAAU,eAGnB,+DACA,kBAACuK,GAAA,EAAD,CAAOC,QAAQ,QAAf,yCAC4B,2BAAIlD,GAAWmD,YACzC,6BAFF,uDAQJ,kBAACjH,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAI4G,GAAI,EAAGtK,UAAU,aAC5B,kBAAC,KAAD,CACEiG,IAAKA,EACLE,OAAQA,EACRuE,QAASrE,EACTjK,KAAMA,EACNoK,OAAQA,KAGZ,kBAAC/C,GAAA,EAAD,CAAKC,GAAI,GAAI4G,GAAI,EAAGtK,UAAU,QAC5B,kBAAC,KAAD,CACEnE,GAAG,eACH8O,YAAa,CACX7D,aAAc,QACd8D,YAAa/E,EACbgF,YAAa9E,GAEf+E,SArNuD,8CAuNvD,kBAACtH,GAAA,EAAD,CAAKxD,UAAU,2BACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACE3I,KAAK,OACL+E,KAAK,cACL4D,UAAU,eACViL,YAAY,iBACZC,SAAU1D,GACV2D,UAAW3D,GACX9C,SAAU,SAACC,GAAD,OAAOmB,EAAanB,EAAEyG,OAAOC,QACvCC,QAAS,SAAC3G,GAAD,OAAO2B,EAAS3B,EAAEyG,OAAOhP,WAIxC,kBAACqH,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACE3I,KAAK,QACL+E,KAAK,cACL8O,SAAU1D,GACV2D,UAAW3D,GACXxH,UAAU,eACViL,YAAY,kBACZvG,SAAU,SAACC,GAAD,OAAOqB,EAAarB,EAAEyG,OAAOC,QACvCC,QAAS,SAAC3G,GAAD,OAAO2B,EAAS3B,EAAEyG,OAAOhP,WAIxC,kBAACmP,GAAA,EAAD,CAAOf,QAAQ,aAAf,iEAGA,kBAAC/G,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,8BAEF,kBAAC7G,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACE3I,KAAK,OACL+E,KAAK,OACL4D,UAAU,eACViL,YAAY,oBACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAO4B,EAAQ5B,EAAEyG,OAAOC,QAClCC,QAAS,SAAC3G,GAAD,OAAO2B,EAAS3B,EAAEyG,OAAOhP,WAIxC,kBAACqH,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACEwL,KAAK,2BACLC,SAAS,IACTzL,UAAU,eACV3I,KAAK,MACL+E,KAAK,SACLiP,MAAO7E,EACPyE,YAAY,0CACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAO8B,EAAU9B,EAAEyG,OAAOC,QACpCC,QAAS,SAAC3G,GAAD,OAAO2B,EAAS3B,EAAEyG,OAAOhP,WAIxC,kBAACqH,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACEwL,KAAK,OACLC,SAAS,IACTpU,KAAK,MACL2I,UAAU,eACV5D,KAAK,MACLiP,MAAOpF,EACPgF,YAAY,MACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAOuB,EAAOvB,EAAEyG,OAAOC,QACjCC,QAAS,SAAC3G,GAAD,OAAO2B,EAAS3B,EAAEyG,OAAOhP,WAIxC,kBAACqH,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACEwL,KAAK,UACLC,SAAS,IACTpU,KAAK,MACL+E,KAAK,SACLiP,MAAOlF,EACPnG,UAAU,eACViL,YAAY,qBACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAOyB,EAAUzB,EAAEyG,OAAOC,QACpCC,QAAS,SAAC3G,GAAD,OAAO2B,EAAS3B,EAAEyG,OAAOhP,WAIxC,kBAACqH,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,8BAEF,kBAAC7G,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,2BAAOtK,UAAU,aACf,yDACA,kBAAC,KAAD,CACE0E,SAAUyC,GACVuE,QAASxE,OAIf,kBAACzD,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACE5D,KAAK,eACL+O,UAAQ,EACRF,YAAY,uBACZjL,UAAU,eACV2L,QAAS,CACP,CACEN,MAAO,QACPxP,GAAI,QACJ+P,MAAO,yBAET,CACEP,MAAO,SACPxP,GAAI,SACJ+P,MAAO,wBAGXlH,SAAU,SAACC,GAAD,OAAOoC,EAAgBpC,EAAEyG,OAAOC,YAI9B,WAAjBvE,GACC,kBAACrD,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACE5D,KAAK,eACL+O,UAAQ,EACRF,YAAY,mBACZjL,UAAU,eACV2L,QAAS,CACP,CAAE9P,GAAI,IAAK+P,MAAO,MAClB,CAAE/P,GAAI,IAAK+P,MAAO,MAClB,CAAE/P,GAAI,IAAK+P,MAAO,MAClB,CAAE/P,GAAI,IAAK+P,MAAO,MAClB,CAAE/P,GAAI,IAAK+P,MAAO,OAEpBlH,SAAU,SAACC,GAAD,OAAOsC,GAAgBtC,EAAEyG,OAAOC,YAKlD,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACE5D,KAAK,UACL+O,UAAQ,EACRF,YAAY,wBACZjL,UAAU,eACV2L,QAAS,CACP,CAAE9P,GAAI,MAAOwP,MAAO,MAAOO,MAAO,aAClC,CAAE/P,GAAI,KAAMwP,MAAO,KAAMO,MAAO,YAChC,CAAE/P,GAAI,KAAMwP,MAAO,KAAMO,MAAO,YAChC,CAAE/P,GAAI,KAAMwP,MAAO,KAAMO,MAAO,YAChC,CACE/P,GAAI,QACJwP,MAAO,QACPO,MAAO,gBAGXlH,SAAU,SAACC,GAAD,OAAOkC,EAAelC,EAAEyG,OAAOC,YAI9B,UAAhBzE,GACC,kBAACnD,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,aACpB,kBAAC,KAAD,CACEqL,MAAO3E,EACPrP,KAAK,SACL+E,KAAK,QACL4D,UAAU,eACViL,YAAY,eACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAOgC,EAAShC,EAAEyG,OAAOC,YAK3C,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,aAC5B,sCACUgH,IAAY,UAAOA,GAAP,QAA2B,IAC9C7B,GAAYuB,MAGfoB,IACA,2BAAO9H,UAAU,aACf,kBAAC,KAAD,CACE0E,SAAUmD,GACV6D,QAAS9D,KAEX,+CACiB,IACf,kBAACzE,GAAA,EAAD,CACEqH,QAAQ,OACRxK,UAAU,OACVoD,QAAS,kBAAMuE,IAAgB,KAHjC,mBAUN,kBAAClE,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAAC,KAAD,CACEuB,QAAQ,uCACRC,SAxQA,SAAC3U,GACvBiR,IAAa,IAwQS2D,SA7QN,WAChB3D,IAAa,OA+QK,kBAAC3E,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACnH,GAAA,EAAD,CAAQ9L,KAAK,SAAS2U,OAAK,EAACd,SAAUzT,IACnCA,GACC,kBAAC6L,GAAA,EAAD,CAASC,UAAU,WADb,6BAcxB,kBAACgH,GAAA,EAAD,CAAOC,QAAQ,UAAf,2EAOJ,kBAAC5F,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAM6C,GACN5C,OAAQ,kBAAM6C,IAAgB,IAC9BsE,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,iBAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAACT,GAAA,EAAD,CAAMiM,GAAG,QAAQC,KAAK,QACpB,kBAAClM,GAAA,EAAKS,KAAN,KACE,kBAACT,GAAA,EAAKY,KAAN,CACEb,UAAU,kBACVoM,wBAAyB,CACvBC,OAAQrE,WC7fX,SAASsE,GAAYlR,EAAM/D,GACxC,OAAY,GAARA,EAEI,GAAN,OAAU+D,EAAKmR,OAAO,EAAG,GAAzB,YAA+BnR,EAAKmR,OAAO,EAAG,GAA9C,YAAoDnR,EAAKmR,OAAO,EAAG,IAClD,GAARlV,EACH,GAAN,OAAU+D,EAAKmR,OAAO,EAAG,GAAzB,YAA+BnR,EAAKmR,OAAO,EAAG,GAA9C,YAAoDnR,EAAKmR,OAAO,EAAG,SAD9D,ECAM,SAASC,GAAkBpR,GACxC,IAAMqR,EAAclU,KAAKC,MAAM4C,GACzB+O,EAAS,CACbuC,eAAgBD,EAAYC,eAE5BC,iBAAkBF,EAAYE,iBAC9BC,uBAAwBH,EAAYG,uBACpCC,yBAA0BJ,EAAYI,yBACtCC,kCACEL,EAAYK,kCACdC,gBAAgB,GAAD,OAAKN,EAAYM,gBAAjB,YAAoCN,EAAYO,4BAC/DC,sBAAuBR,EAAYQ,sBACnCC,eAAgBT,EAAYS,eAC5BC,YAAaV,EAAYU,YACzBC,eAAe,GAAD,OAAKX,EAAYW,eAAeb,OAC5C,EACA,IAFY,OAGVE,EAAYW,eAAeb,OAAO,GAAI,IAC1Cc,gBAAiBZ,EAAYY,gBAC7BC,cAAeb,EAAYa,cAC3BC,iBAAkBd,EAAYc,iBAC9BC,UAAWf,EAAYe,UACvBC,WAAW,GAAD,OAAKhB,EAAYgB,WAAjB,YAA+BhB,EAAYiB,uBACrDC,UAAWrB,GAAYG,EAAYkB,UAAW,GAC9CC,mBAAoBtB,GAAYG,EAAYmB,mBAAoB,GAChEC,wBAAyBvB,GACvBG,EAAYoB,wBACZ,GAEFC,SAAUrB,EAAYqB,SACtBC,SAAUtB,EAAYsB,SACtBC,eAAgBvB,EAAYuB,gBAK9B,OAAO,eACF7D,EADL,CAEE8D,eAAgB9I,GAAY+I,SAAS/D,EAAO2D,UAAY,KACxDH,UAAWpL,aAAOgH,aAAQ,IAAIlK,KAAK8K,EAAOwD,WAAY,GAAI,cAC1DE,wBAAyBtL,aACvBgH,aAAQ,IAAIlK,KAAK8K,EAAO0D,yBAA0B,GAClD,cAEFD,mBAAoBrL,aAClBgH,aAAQ,IAAIlK,KAAK8K,EAAOyD,oBAAqB,GAC7C,gB,wEChDC,IAAMhO,GAAUC,KAAOC,IAAV,M,0sECAb,IAAMqO,GAAUtO,KAAOC,IAAV,M,+DCDL,SAASsO,GAAKjC,GAC3B,IACE,IAAIkC,EAAWC,SAASC,cAAc,YAEtCF,EAAStK,MAAMyK,SAAW,QAC1BH,EAAStK,MAAM0K,IAAM,EACrBJ,EAAStK,MAAM2K,KAAO,EACtBL,EAAStK,MAAM4K,MAAQ,MACvBN,EAAStK,MAAM6K,OAAS,MACxBP,EAAStK,MAAM8K,QAAU,EACzBR,EAAStK,MAAM+K,OAAS,OACxBT,EAAStK,MAAMgL,QAAU,OACzBV,EAAStK,MAAMiL,UAAY,OAC3BX,EAAStK,MAAMkL,WAAa,cAC5BZ,EAAShD,MAAQc,EAEjBmC,SAASY,KAAKC,YAAYd,GAC1BA,EAASe,SAEQd,SAASe,YAAY,QACzB3U,IAAM4U,KAAK,iBAAmB5U,IAAM6U,KAAK,wBACtD,MAAOC,GACP9U,IAAMH,MAAM,6BAGd+T,SAASY,KAAKO,YAAYpB,GCZb,SAASqB,GAAT,GAAoC,IAATtU,EAAQ,EAARA,KAClCuU,EAAYC,mBAAQ,WACxB,IAAMC,EAAmBC,aACvBvG,aACE,IAAIlK,KAAKjE,EAAKyS,wBAAwBnV,MAAM,KAAKqX,UAAUvH,KAAK,MAChE,IAIJ,OAAOwH,aAAS3Q,KAAKH,MAAO2Q,MAG9B9M,qBAAU,WAAM,4CACd,sBAAA5G,EAAA,sDACE8T,KAAU,YAAYC,OADxB,4CADc,uBAAC,WAAD,wBAIdC,KACC,IAEH,IAAMC,EAAelI,mBAErB,OACE,kBAACiG,GAAD,KACE,yBAAKnO,UAAU,qBACb,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI0M,IAAKD,GACxB,yBAAKpQ,UAAU,aACX2P,GACA,kBAACpF,GAAA,EAAD,CAAOC,QAAO,UAAd,4DAIF,6BACA,+BACE,+BACE,wBAAIxK,UAAU,WACZ,wBAAIA,UAAU,YACZ,yBAAKG,IAAKmQ,KAAMC,IAAI,MAEtB,wBAAIvQ,UAAU,sBACZ,0BAAMA,UAAU,SAAhB,UAEF,wBAAIA,UAAU,uBACZ,8BAAO5E,EAAK4S,oBAKpB,2BAAOc,OAAO,KACZ,+BACE,4BACE,wBAAIH,MAAM,MAAM6B,QAAQ,KACtB,0BAAMxQ,UAAU,SAAhB,sBACA,6BACA,0BAAMA,UAAU,QAAhB,6DAIF,wBAAI2O,MAAM,OACR,0BAAM3O,UAAU,SAAhB,sBACA,6BACA,6BACA,uBAAGA,UAAU,2BACV5E,EAAKwS,sBAIZ,4BACE,wBAAIe,MAAM,MAAM6B,QAAQ,KACtB,0BAAMxQ,UAAU,SAAhB,uDAGA,6BACA,2BAAO8O,OAAO,IAAI9O,UAAU,OAC1B,+BACE,4BACE,wBAAI2O,MAAM,OACR,0BAAM3O,UAAU,QACb5E,EAAKuR,mBAGV,4BACE,0BAAM3M,UAAU,aAOxB,6BACA,0BAAMA,UAAU,QAAhB,UACM5E,EAAKwR,uBADX,YACqCxR,EAAKyR,yBAD1C,YACsEzR,EAAK0R,kCAD3E,cACkH1R,EAAK6R,sBADvH,cACkJ7R,EAAK8R,eADvJ,cAC2K9R,EAAK2R,mBAGlL,wBAAI4B,MAAM,SAQZ,4BACE,wBAAIA,MAAM,MAAM6B,QAAQ,KACtB,0BAAMxQ,UAAU,SAAhB,qBACA,6BACA,uBAAGA,UAAU,kBAAkB5E,EAAKuS,YAGtC,wBAAIgB,MAAM,OACR,0BAAM3O,UAAU,SAAhB,kBACA,6BACA,uBAAGA,UAAU,kBAAb,OAEF,wBAAI2O,MAAM,MACR,0BAAM3O,UAAU,SAAhB,UACA,6BACA,uBAAGA,UAAU,kBAAb,MAEF,wBAAIwQ,QAAQ,IAAI7B,MAAM,OACpB,0BAAM3O,UAAU,SAAhB,sBACA,6BACA,uBAAGA,UAAU,kBAAkB5E,EAAKuS,YAEtC,wBAAIgB,MAAM,OACR,0BAAM3O,UAAU,SAAhB,uBACA,6BACA,uBAAGA,UAAU,kBAAkB5E,EAAKsR,kBAIxC,4BACE,wBAAIiC,MAAM,OACR,0BAAM3O,UAAU,SAAhB,gBACA,6BACA,uBAAGA,UAAU,kBAAb,SAEF,wBAAI2O,MAAM,QACV,wBAAIA,MAAM,OACR,0BAAM3O,UAAU,SAAhB,cACA,6BACA,uBAAGA,UAAU,kBAAb,OAEF,wBAAI2O,MAAM,KAAK6B,QAAQ,KACrB,0BAAMxQ,UAAU,SAAhB,cACA,6BACA,uBAAGA,UAAU,kBAAb,MAEF,4BACE,0BAAMA,UAAU,SAAhB,SACA,6BACA,uBAAGA,UAAU,kBAAkB5E,EAAK6S,iBAEtC,wBAAIU,MAAM,OACR,0BAAM3O,UAAU,SAAhB,0BACA,6BACA,6BACA,uBAAGA,UAAU,iBAAiB5E,EAAK6S,kBAGvC,4BACE,wBAAIuC,QAAQ,IAAIC,QAAQ,KACtB,0BAAMzQ,UAAU,SAAhB,8HAMJ,4BACE,4BACE,0BAAMA,UAAU,SAAhB,4BACA,6BACA,uBAAGA,UAAU,iBAAb,UAGJ,4BACE,4BACE,0BAAMA,UAAU,SAAhB,mBACA,6BACA,uBAAGA,UAAU,iBAAb,UAGJ,4BACE,4BACE,0BAAMA,UAAU,SAAhB,kBACA,6BACA,uBAAGA,UAAU,iBAAb,UAGJ,4BACE,wBAAIwQ,QAAQ,KACV,2BAAO1B,OAAO,IAAI9O,UAAU,OAC1B,+BACE,4BACE,wBAAI2O,MAAM,OACR,0BAAM3O,UAAU,QACd,gDADF,IAC4B5E,EAAK+R,cAGnC,4BACE,0BAAMnN,UAAU,QACd,yCADF,IACqB5E,EAAKgS,kBAI9B,4BACE,4BACE,0BAAMpN,UAAU,QACd,4CADF,IACqB5E,EAAKiS,gBAD1B,KAC6C,IAC1CjS,EAAKkS,cAFR,MAE0BlS,EAAKmS,iBAF/B,KAEmD,IAChDnS,EAAKoS,UAHR,MAGsBpS,EAAKqS,aAG7B,2CAQd,kBAACjK,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,yBACE9H,GAAG,UACH6U,mBAAiB,MACjBC,kBAAiBvV,EAAK2S,SACtB6C,uBAAqB,IACrBC,wBAAsB,OACtBC,yBAAuB,QACvBC,uBAAqB,iBAOjC,kBAACvN,GAAA,EAAD,CAAKxD,UAAU,uBACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,QAC5B,kBAACmD,GAAA,EAAD,CAAQC,QAAS,kBAAMgL,GAAKhT,EAAK4S,kBAAjC,0BAGA,kBAAC,KAAD,CACEgD,QAAS,kBAAM,kBAAC7N,GAAA,EAAD,CAAQqH,QAAQ,QAAhB,aACfyG,QAAS,kBAAMb,EAAac,cAKpC,yBAAKlR,UAAU,iDACb,uBAAGA,UAAU,QAAQ5E,EAAK4S,gBAC1B,2BACE,kBAAC7K,GAAA,EAAD,CAAQC,QAAS,kBAAMgL,GAAKhT,EAAK4S,kBAAjC,6BCzOK,SAASmD,GAAT,GAA6D,IAAzC1L,EAAwC,EAAxCA,SAAUrK,EAA8B,EAA9BA,KAAMsK,EAAwB,EAAxBA,SAAwB,KAAdC,WAC7BC,aAAY,SAACzN,GAAD,OAAWA,EAAMf,SAAnDO,EADiE,EACjEA,QAASC,EADwD,EACxDA,SADwD,EAGvCqJ,mBAAS,IAH8B,oBAGlE4E,EAHkE,KAGvDC,EAHuD,OAIvC7E,mBAAS,IAJ8B,oBAIlE8E,EAJkE,KAIvDC,EAJuD,OAMjD/E,mBAAS,IANwC,oBAMlEmQ,EANkE,KAM5DC,EAN4D,OAOrCpQ,mBAAS,IAP4B,oBAOlEqQ,EAPkE,KAOtDC,EAPsD,OAQ7CtQ,mBAAS,IARoC,oBAQlEuQ,EARkE,KAQ1DC,EAR0D,OASnCxQ,mBAAS,IAT0B,oBASlEyQ,EATkE,KASrDC,EATqD,OAUnD1Q,mBAAS,IAV0C,oBAUlE2Q,EAVkE,KAU7DC,EAV6D,OAW7C5Q,mBAAS,IAXoC,oBAWlE6Q,EAXkE,KAW1DC,EAX0D,OAY7C9Q,mBAAS,IAZoC,oBAYlE+Q,EAZkE,KAY1DC,EAZ0D,OAarDhR,mBAAS,IAb4C,oBAalEiR,EAbkE,KAa9DC,EAb8D,QAcnDlR,mBAAS,IAd0C,sBAclEmR,GAdkE,MAc7DC,GAd6D,SAe/CpR,mBAAS,IAfsC,sBAelEyF,GAfkE,MAe3DC,GAf2D,SAgBnC1F,mBAAS,IAhB0B,sBAgBlE2F,GAhBkE,MAgBrDC,GAhBqD,SAkBzC5F,mBAAS,MAlBgC,sBAkBlEqR,GAlBkE,MAkBxDC,GAlBwD,SAmB/BtR,oBAAS,GAnBsB,sBAmBlEiG,GAnBkE,MAmBnDC,GAnBmD,SAqB3ClG,oBAAS,GArBkC,sBAqBlExJ,GArBkE,MAqBzD2J,GArByD,SAsBrCH,oBAAS,GAtB4B,sBAsBlEuG,GAtBkE,MAsBtDC,GAtBsD,SAwBjCxG,oBAAS,GAxBwB,sBAwBlEyG,GAxBkE,MAwBpDC,GAxBoD,SAyBrC1G,oBAAS,GAzB4B,sBAyBlE2G,GAzBkE,MAyBtDC,GAzBsD,SA0BvC5G,oBAAS,GA1B8B,sBA0BlE6G,GA1BkE,MA0BvDC,GA1BuD,SA2BrC9G,mBAAS,IA3B4B,sBA2BlE+G,GA3BkE,MA2BtDC,GA3BsD,oDAgDzE,WAAyBtD,GAAzB,qBAAAxI,EAAA,yDAEOyL,GAFP,uBAGIlN,IAAMH,MAAM,4CAHhB,6BAOsB,IAAhBmM,GAAMtC,QAAgC,KAAhBsC,GAAMtC,OAPlC,uBAQI1J,IAAMH,MAAM,mCARhB,iCAYQiY,EAAWZ,EAAIxN,OAAO1L,MAAM,KAC5B+P,EAAW,CACfE,eAAgBlD,EAChBmD,UAAW/C,EACXgD,WAAY9C,EACZ+C,MAAOR,OAAO5B,IACdqC,cAAc,EACdC,gBAAiB,EACjBC,iBAAkB/B,GAClBgC,kBAAmB,GACnBC,kBAAmB5Q,KAAKe,UAAU,CAChCmZ,gBAAiBlQ,aAAOlD,KAAKH,MAAO,cACpCwT,mBAAoBnQ,aAAOgH,aAAQlK,KAAKH,MAAO,GAAI,cACnDyT,aAAc,IACdC,gBAAiB1E,SAAyB,IAAhB5F,OAAO5B,KACjCyG,YAAaiE,EAAKhN,OAAOsF,QAAQ,UAAW,KAC5CmJ,kBAAmBvB,EAAWlN,OAAOsF,QAAQ,UAAW,KACxDoJ,oBAAqBtB,EAAOpN,OAC5B2O,6BAA8BrB,EAC3BtN,OACAsF,QAAQ,UAAW,KACtB+D,WAAY+E,EAAS,GACrBQ,sBAAuBR,EAAS,GAChClF,cAAewE,EAAO1N,OAAOsF,QAAQ,UAAW,KAChD6D,iBAAkByE,EAAO5N,OAAOsF,QAAQ,UAAW,KACnD8D,UAAW0E,EAAG9N,OACd6O,oBAAqB,IACrBC,iBAAkBd,GAAIhO,OAAOsF,QAAQ,UAAW,IAChDyJ,gBAAiB,KACjBC,gCAAiC,IACjCC,mCAAoC,IACpCC,qBAAsB,GACtBC,mBAAoB,GACpBC,qBAAsB,IACtBC,gBAAiB,IACjBC,QAAS,IACTC,cAAe,IACfC,gBAAiB,IACjBC,QAAS,IACTC,cAAe,IACfC,oBAAqB,IACrBC,YAAa,IACbC,oBAAqB,GACrBC,oBAAqB,IACrBC,YAAa,IACbC,oBAAqB,GACrBC,oBAAqB,IACrBC,YAAa,IACbC,oBAAqB,GACrBC,iBAAkB,IAClBC,sBAAuB,IACvBC,cAAe,IACfC,oBAAqB,GACrBC,aAAc,IACdC,MAAO,IACPC,qBAAsB,GACtBC,oBAAqB,GACrBC,0BAA2B,GAC3BC,4BAA6B,IAC7BC,qCAAsC,GACtCC,mBAAoB,IACpBC,8BAA+B,IAC/BC,sBAAuB,GACvBC,yBAA0B,GAC1BC,kBAAmB,GACnBC,4BAA6B,IAC7BC,yBAA0B,IAC1BC,6BAA8B,MA/EpC,SAoFItU,IAAW,GApFf,UAqF2BpH,EAAIkB,KAAJ,UAAYwK,GAAY+C,GArFnD,QAqFUpO,EArFV,OAsFU4P,EAAe5P,EAASe,KAEP,KAAnBf,EAASzB,QACPqR,EAAarR,QACf2Z,GAAY/F,GAAkBvC,EAAaE,OAAOwL,cAClDjb,IAAM8B,QAAQ,8BAKhBjC,GAAM0P,EAAa1N,SAhGzB,kDAmGI7B,IAAMH,MAAM,oCAnGhB,yBAqGI6G,IAAW,GArGf,8EAhDyE,sBA+JzE,SAAS7G,GAAMgC,GACb7B,IAAMH,MAAN,8CAAmDgC,GAAWA,IAGhE,OAtIAwG,qBAAU,WACQ,OAAZpL,GAAiC,UAAbC,IACtBkO,EAAanO,EAAQyE,MACrB4J,EAAarO,EAAQoD,OACrB0M,IAAc,GAEV9P,EAAQgB,qBACVkP,IAAc,GACdE,IAAa,KAIjBE,GAAc7M,EAAKiP,mBAClB,IAEHtH,qBAAU,WACR4D,GAAwB,SAAfC,GAAyBA,GAAc,MAC/C,CAACA,KAsHF,kBAAC,GAAD,KACE,kBAACvD,GAAA,EAAD,KACKoC,GAAcC,EACf,yBAAK7J,GAAG,eACN,kBAAC2H,GAAA,EAAD,CAAKxD,UAAU,0BACA,MAAZsS,GACC,kBAAC7O,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,kBAAC+L,GAAD,CAAiBtU,KAAMkX,MAGzB,kBAAC7O,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI3D,UAAU,QAC7B,kBAAC,KAAD,CACEnE,GAAG,uBACHiP,SAjLuD,6CAkLvDH,YAAa,CACX9E,UAAWA,EACXE,UAAWA,IAGb,kBAACvC,GAAA,EAAD,CAAKxD,UAAU,2BACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACE3I,KAAK,OACL+E,KAAK,YACL4D,UAAU,eACViL,YAAY,iBACZC,SAAU1D,GACV2D,UAAW3D,GACX9C,SAAU,SAACC,GAAD,OAAOmB,EAAanB,EAAEyG,OAAOC,YAI7C,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACE3I,KAAK,QACL+E,KAAK,YACL4D,UAAU,eACViL,YAAY,kBACZC,SAAU1D,GACV2D,UAAW3D,GACX9C,SAAU,SAACC,GAAD,OAAOqB,EAAarB,EAAEyG,OAAOC,YAI7C,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GAAItK,UAAU,QACpC,kBAACuL,GAAA,EAAD,CAAOf,QAAQ,aAAf,iEAGA,6BACA,gDAEF,kBAAC/G,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACEA,UAAU,eACV3I,KAAK,OACL+E,KAAK,OACL6O,YAAY,OACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAO0M,EAAQ1M,EAAEyG,OAAOC,YAIxC,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACEA,UAAU,eACVwL,KAAK,iBACLC,SAAS,IACTpU,KAAK,MACL+E,KAAK,MACL6O,YAAY,MACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAO0N,GAAO1N,EAAEyG,OAAOC,YAIvC,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,IACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACEA,UAAU,eACV3I,KAAK,OACL+E,KAAK,aACL6O,YAAY,aACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAO4M,EAAc5M,EAAEyG,OAAOC,YAI9C,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACEA,UAAU,eACVwL,KAAK,WACLC,SAAS,IACTpU,KAAK,MACL+E,KAAK,SACL6O,YAAY,YACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAO8M,EAAU9M,EAAEyG,OAAOC,YAI1C,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACEA,UAAU,eACV5D,KAAK,cACL6O,YAAY,cACZvG,SAAU,SAACC,GAAD,OAAOgN,EAAehN,EAAEyG,OAAOC,YAI/C,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACEA,UAAU,eACVwL,KAAK,YACLC,SAAS,IACTpU,KAAK,MACL+E,KAAK,MACL6O,YAAY,MACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAOkN,EAAOlN,EAAEyG,OAAOC,YAIvC,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACEA,UAAU,eACV5D,KAAK,SACL6O,YAAY,SACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAOoN,EAAUpN,EAAEyG,OAAOC,YAI1C,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACEA,UAAU,eACV5D,KAAK,SACL6O,YAAY,SACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAOsN,EAAUtN,EAAEyG,OAAOC,YAI1C,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACE5D,KAAK,KACL+O,UAAQ,EACRF,YAAY,SACZjL,UAAU,eACV2L,QAAS,CACP,CAAE9P,GAAI,KAAM+P,MAAO,QACnB,CAAE/P,GAAI,KAAM+P,MAAO,WACnB,CAAE/P,GAAI,KAAM+P,MAAO,YACnB,CAAE/P,GAAI,KAAM+P,MAAO,YACnB,CAAE/P,GAAI,KAAM+P,MAAO,SACnB,CAAE/P,GAAI,KAAM+P,MAAO,YACnB,CAAE/P,GAAI,KAAM+P,MAAO,oBACnB,CAAE/P,GAAI,KAAM+P,MAAO,qBACnB,CAAE/P,GAAI,KAAM+P,MAAO,YACnB,CAAE/P,GAAI,KAAM+P,MAAO,eACnB,CAAE/P,GAAI,KAAM+P,MAAO,eACnB,CAAE/P,GAAI,KAAM+P,MAAO,sBACnB,CAAE/P,GAAI,KAAM+P,MAAO,gBACnB,CAAE/P,GAAI,KAAM+P,MAAO,WACnB,CAAE/P,GAAI,KAAM+P,MAAO,cACnB,CAAE/P,GAAI,KAAM+P,MAAO,aACnB,CAAE/P,GAAI,KAAM+P,MAAO,cACnB,CAAE/P,GAAI,KAAM+P,MAAO,YACnB,CAAE/P,GAAI,KAAM+P,MAAO,kBACnB,CAAE/P,GAAI,KAAM+P,MAAO,uBACnB,CAAE/P,GAAI,KAAM+P,MAAO,qBACnB,CAAE/P,GAAI,KAAM+P,MAAO,eACnB,CAAE/P,GAAI,KAAM+P,MAAO,WACnB,CAAE/P,GAAI,KAAM+P,MAAO,kBACnB,CAAE/P,GAAI,KAAM+P,MAAO,gBACnB,CAAE/P,GAAI,KAAM+P,MAAO,WACnB,CAAE/P,GAAI,KAAM+P,MAAO,cAErBlH,SAAU,SAACC,GAAD,OAAOwN,EAAMxN,EAAEyG,OAAOC,YAKtC,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GAAItK,UAAU,QACpC,8BAEF,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,2BAAOtK,UAAU,aACf,yDACA,kBAAC,KAAD,CACE0E,SAAUyC,GACVuE,QAASxE,OAKf,kBAACzD,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,GACtB,kBAACU,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC,KAAD,CACE5D,KAAK,QACL+O,UAAQ,EACRF,YAAY,yBACZjL,UAAU,eACV2L,QAAS,CACP,CAAE9P,GAAI,MAAO+P,MAAO,aACpB,CAAE/P,GAAI,KAAM+P,MAAO,YACnB,CAAE/P,GAAI,KAAM+P,MAAO,YACnB,CAAE/P,GAAI,KAAM+P,MAAO,YACnB,CAAE/P,GAAI,QAAS+P,MAAO,gBAExBlH,SAAU,SAACC,GAAD,OAAOkC,GAAelC,EAAEyG,OAAOC,YAK/B,SAAfzE,IACC,kBAACnD,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAGT,GAAI,EAAGtK,UAAU,eACnC,kBAACgL,GAAA,EAAD,CAAYhL,UAAU,aACpB,kBAAC,KAAD,CACEqL,MAAO3E,GACPrP,KAAK,SACL+E,KAAK,QACL4D,UAAU,eACViL,YAAY,eACZE,UAAQ,EACRzG,SAAU,SAACC,GAAD,OAAOgC,GAAShC,EAAEyG,OAAOC,YAM3C,kBAAC5H,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,aAC5B,sCAAYmF,GAAYuB,OAExBoB,IACA,kBAACrE,GAAA,EAAD,CACEC,GAAI,GACJC,GAAI,EACJ2G,GAAI,GACJtK,UAAU,oCAEV,2BACEA,UAAU,YACV+D,MAAO,CAAE6R,eAAgB,WAEzB,kBAAC,KAAD,CACElR,SAAUmD,GACV6D,QAAS9D,KAEX,+CACiB,IACf,kBAACzE,GAAA,EAAD,CACEqH,QAAQ,OACRxK,UAAU,OACVoD,QAAS,kBAAMuE,IAAgB,KAHjC,oBAWR,kBAAClE,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,GACf,kBAAC5H,GAAA,EAAD,CAAQ9L,KAAK,SAAS2U,OAAK,EAACd,SAAUzT,IACnCA,GACC,kBAAC6L,GAAA,EAAD,CAASC,UAAU,WADb,sBAcxB,kBAACgH,GAAA,EAAD,CAAOC,QAAQ,UAAf,2EAOJ,kBAAC5F,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAM6C,GACN5C,OAAQ,kBAAM6C,IAAgB,IAC9BsE,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,iBAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAACT,GAAA,EAAD,CAAMiM,GAAG,QAAQC,KAAK,QACpB,kBAAClM,GAAA,EAAKS,KAAN,KACE,kBAACT,GAAA,EAAKY,KAAN,CACEb,UAAU,kBACVoM,wBAAyB,CACvBC,OAAQrE,W,ofC3fDnI,KAAOC,IAAV,M,oDCFP,SAAS+V,GAAeja,GACrC,IACIka,EAAQla,EAAIka,MADH,6EAEb,SAAOA,GAA4B,IAAnBA,EAAM,GAAG7T,SAAe6T,EAAM,GCHjC,SAASC,GAAY5J,GAElC,QADAA,EAAOA,EAAKzC,QAAQ,kBAAmB,UACvB,IAAIA,QAClB,8CACA,SAAUoM,EAAOE,EAAOpa,GACtB,IAAIqa,EAAYra,EAIhB,OAHKqa,EAAUH,MAAM,gBACnBG,EAAY,UAAYA,GAGxBD,EAAQ,YAAcC,EAAY,qBAAuBra,EAAM,U,woDCPhE,IAAMgE,GAAUC,KAAOC,IAAV,KAmFEoW,aAAO,IAAM,YC1CpB,SAASC,KAAuB,IACrCC,EAASC,cAATD,KADoC,EAGdnV,oBAAS,GAHK,oBAGrCxJ,EAHqC,KAG5B2J,EAH4B,OAIdH,mBAAS,IAJK,oBAIrC1E,EAJqC,KAI5B8E,EAJ4B,OAMZJ,mBAAS,MANG,oBAMrCqV,EANqC,KAM3BC,EAN2B,OAQlBtV,mBAAS,IARS,oBAQrC2K,EARqC,KAQ9B4K,EAR8B,OASNvV,mBAAS,IATH,oBASrCoB,EATqC,KASxBoU,EATwB,OAUlBxV,mBAAS,IAVS,oBAUrCyV,EAVqC,KAU9BC,EAV8B,OAWtB1V,mBAAS,IAXa,oBAWrCrF,EAXqC,KAWhCgb,EAXgC,OAaA3V,mBAAS,CACnD,QACA,uBAf0C,oBAarC4V,EAbqC,aAkBd5V,mBAAS,KAlBK,oBAkB5B0E,GAlB4B,WAgH5C,OA5FA5C,qBAAU,WAAM,4CACd,gCAAA5G,EAAA,sEAEIkF,EAAW,iBAFf,SAG2BrH,EAAIyB,IAAJ,yBAA0B2a,IAHrD,OAGU/b,EAHV,QAIUe,EAAOf,EAASe,MACbxC,QACP2d,EAAY,eACPnb,EAAK+O,OADC,CAET2M,cAAef,GAAY3a,EAAK+O,OAAOgC,MACvC4K,aAAa,GAAD,OAAKC,GAAL,oBAA0BZ,GACtC9V,SAAYlF,EAAK+O,OAAO8M,eAAd,UACHxd,EADG,kBACa2B,EAAK+O,OAAO8M,gBAC/B,KACJC,WAAc9b,EAAK+O,OAAOgN,SACtBtB,GAAeza,EAAK+O,OAAOgN,UAC3B,QAGAC,EAAMhc,EAAK+O,OAEjBqM,EAAS,cAAD,OAAeY,EAAIC,kBAC3BZ,EAAeW,EAAIjL,MAAQ,IAC3BwK,EACIS,EAAIH,eAAN,UACOxd,EADP,kBACuB2d,EAAIH,gBACvB3G,MAENsG,EAAO,GAAD,OAAII,GAAJ,oBAAyBZ,IAE/BhV,GAAW,IAEXC,EAAWjG,EAAKmB,SA/BtB,gDAkCI8E,EAAW,kDAlCf,0DADc,uBAAC,WAAD,wBAsCdQ,KACC,IAsDD,oCACE,kBAACyV,GAAA,EAAD,KAEE,+BAAQ1L,GACR,0BAAMxP,KAAK,cAAc6U,QAAS5O,IAElC,0BAAMjG,KAAK,SAAS6U,QAASrV,IAC7B,0BAAMQ,KAAK,WAAW6U,QAASrF,IAC/B,0BAAMxP,KAAK,iBAAiB6U,QAAS5O,IACrC,0BAAMjG,KAAK,WAAW6U,QAASyF,IAC/B,0BAAMta,KAAK,UAAU6U,QAAQ,aAE/B,kBAAC,GAAD,CAASjR,UAAU,QAChBvI,EACC,kBAAC4L,GAAA,EAAD,KACE,4BAAK9G,IAGP,kBAAC8G,GAAA,EAAD,KACE,kBAACG,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,QAC5B,kBAACC,GAAA,EAAD,CAAMiM,GAAG,QAAQlM,UAAU,WACzB,kBAACC,GAAA,EAAK+E,OAAN,KACE,kBAACvB,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI3D,UAAU,oBAC7B,yBAAKA,UAAU,YACVsW,EAASW,eACV,oCACE,yBAAK9W,IAAKC,KAAiBvE,GAAG,iBAC9B,kBAAC,iBAAD,CACEwE,OAAO,OACPF,IAAKmW,EAAShW,SACdC,iBACE+V,EAASnW,MAAQC,KAEnBJ,UAAU,6BAId,kBAAC,KAAD,CAAWQ,KAAM,IAAKC,MAAM,eAKpC,kBAACR,GAAA,EAAKS,KAAN,KACE,kBAACT,GAAA,EAAKU,MAAN,KAAa2V,EAAS1V,aACtB,6BACA,kBAACX,GAAA,EAAKY,KAAN,KACE,qCADF,IACiByV,EAASiB,cACxB,6BACA,sCAHF,IAGkBjB,EAASkB,gBAG7B,kBAACvX,GAAA,EAAKwX,OAAN,CAAazX,UAAU,cACrB,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACuH,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAAC0X,GAAA,EAAD,CACEzM,YAAaqL,EAASS,aACtB1f,KAAK,OACL6T,UAAQ,IAEV,kBAACF,GAAA,EAAW2M,OAAZ,KACE,kBAACxU,GAAA,EAAD,CACEqH,QAAQ,eACRpH,QAAS,kBAAMgL,GAAKkI,EAASS,gBAF/B,kBAUR,kBAACvT,GAAA,EAAD,CAAKxD,UAAU,+BACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,EAAGqH,GAAI,GAAIT,GAAI,GACtB,uEAEF,kBAAC7G,GAAA,EAAD,CACEC,GAAI,EACJqH,GAAI,GACJT,GAAI,EACJtK,UAAU,kCAEV,uBACE4X,KAAI,6CAAwCC,mBAC1CvB,EAASS,eAEX3L,OAAO,UAEP,kBAAC,KAAD,CAAgB5K,KAAM,GAAIC,MAAM,aAElC,uBACEmX,KAAI,uDAAkDC,mBACpDvB,EAASS,cADP,QAGJ3L,OAAO,UAEP,kBAAC,KAAD,CAAY5K,KAAM,GAAIC,MAAM,kBAOxC,kBAACgD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,UACzBsW,EAASY,YACV,yBAAKlX,UAAU,gDACb,4BACEA,UAAU,wBACV8X,iBAAe,EACf3X,IAAG,wCAAmCmW,EAASY,eAKrD,kBAACjX,GAAA,EAAD,CAAMiM,GAAG,QAAQlM,UAAU,4BACzB,kBAACC,GAAA,EAAK+E,OAAN,KACE,8CAEF,kBAAC/E,GAAA,EAAKS,KAAN,CAAWV,UAAU,QACnB,kBAACC,GAAA,EAAKY,KAAN,CACEuL,wBAAyB,CACvBC,OAAQiK,EAASQ,mBAKzB,kBAAC7W,GAAA,EAAD,CACEiM,GAAG,OACHC,KAAK,QACLnM,UAAU,4BAEV,kBAACC,GAAA,EAAK+E,OAAN,KACE,oCAAUsR,EAASyB,cADrB,UAGA,kBAAC9X,GAAA,EAAKS,KAAN,CAAWV,UAAU,QACnB,kBAACC,GAAA,EAAKY,KAAN,KAAYyV,EAAS0B,wBAI3B,kBAACvU,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,kBAAC1D,GAAA,EAAD,CACEiM,GAAI,OACJC,KAAM,QACNnM,UAAU,4BAEV,kBAACC,GAAA,EAAKS,KAAN,KACE,kBAACT,GAAA,EAAKU,MAAN,kHAON,kBAAC8C,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,kBAAC1D,GAAA,EAAD,CAAMiM,GAAG,QAAQlM,UAAU,uBACzB,kBAACC,GAAA,EAAK+E,OAAN,KACE,4BACGsR,EAASe,gBAAiB,IAC3B,kBAAC,KAAD,CAAU7W,KAAM,GAAIC,MAAM,cAG9B,kBAACR,GAAA,EAAKS,KAAN,CAAWV,UAAU,QACnB,qEACA,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACwU,GAAA,EAAD,KACGpB,EAAe3U,KAAI,SAACgW,EAAQjU,GAAT,OAClB,kBAAChE,GAAA,EAAD,CAAM7B,IAAK6F,GA3NrC,SAA+B7I,EAAM6I,GAEjC,OAAQ7I,GACN,IAAK,QACH,OACE,oCACE,kBAAC6E,GAAA,EAAK+E,OAAN,KACE,kBAACiT,GAAA,EAAUE,OAAX,CAAkBC,GAAIjV,KAAQqH,QAAQ,OAAO6N,SAAUpU,GAAvD,2BACoB,kBAAC,KAAD,QAGtB,kBAACgU,GAAA,EAAUK,SAAX,CAAoBD,SAAUpU,GAC5B,kBAAChE,GAAA,EAAKS,KAAN,CAAWV,UAAU,UACnB,kBAACwF,GAAD,CACEC,SAAU6Q,EAASiC,OACnBnd,KAAMkb,EACN5Q,SAAS,mBACTC,WAAYA,OAOxB,IAAK,qBACH,OACE,oCACE,kBAAC1F,GAAA,EAAK+E,OAAN,KACE,kBAACiT,GAAA,EAAUE,OAAX,CAAkBC,GAAIjV,KAAQqH,QAAQ,SAAS6N,SAAUpU,GAAzD,sBACkB,kBAAC,KAAD,QAGpB,kBAACgU,GAAA,EAAUK,SAAX,CAAoBD,SAAUpU,GAC5B,kBAAChE,GAAA,EAAKS,KAAN,CAAWV,UAAU,UACnB,kBAACmR,GAAD,CACE1L,SAAU6Q,EAASiC,OACnBnd,KAAMkb,EACN5Q,SAAS,mBACTC,WAAYA,QAsLD6S,CAAsBN,EAAQjU,iB,+mBCnUtD,IAAMrE,GAAUC,KAAOC,IAAV,M,UC0BL,SAAS2Y,KAAqB,IACnCrW,EAAeiU,cAAfjU,WACFsW,EAAUxQ,iBAAO,MACjByQ,EAAYzQ,iBAAO,MAHiB,EAKFjH,mBAAS,MALP,oBAKnC2X,EALmC,KAKrBC,EALqB,OAMR5X,mBAAS,IAND,oBAMnCC,EANmC,KAMxBC,EANwB,OAQRF,oBAAS,GARD,oBAQnC6X,EARmC,KAQxBC,EARwB,OAUZ9X,oBAAS,GAVG,oBAUnCxJ,EAVmC,KAU1B2J,EAV0B,OAWZH,mBAAS,IAXG,oBAWnC1E,EAXmC,KAW1B8E,EAX0B,OAaFJ,mBAAS,IAbP,oBAanC+X,EAbmC,KAarBC,EAbqB,OAcNhY,mBAAS,GAdH,oBAcnCK,EAdmC,KAcvBC,EAduB,OAeJN,mBAAS,IAfL,oBAenCO,EAfmC,aAgBNP,mBAAS,IAhBH,oBAgBnCQ,EAhBmC,KAgBvBC,EAhBuB,OAkBZT,mBAAS,GAlBG,oBAkBnCiY,EAlBmC,KAkB1BC,EAlB0B,KAoBpCC,EAAoBxJ,mBAAQ,kBAChCoJ,EAAa/W,OAAS,KAGxBc,qBAAU,WAAM,4CACd,8BAAA5G,EAAA,sEACyBnC,EAAIyB,IAAJ,kCAAmC2G,IAD5D,OACQ/H,EADR,OAEQgf,EAAKhf,EAASe,KAEpByd,EAAgB,eACXQ,EADU,CAEb/W,UAAW+W,EAAG/W,UACVC,aAAO,IAAIlD,KAAKga,EAAG/W,WAAY,8BAA+B,CAC5DE,OAAQC,OAEV,KACJC,QAAS2W,EAAG3W,QACRH,aACE,IAAIlD,KAAKga,EAAG3W,SACZ,mBACA,8BACA,CACEF,OAAQC,OAGZ,QApBR,4CADc,uBAAC,WAAD,wBAwBdhL,KACC,IAEHsL,qBAAU,WACRxB,EAAc,KACb,CAACyX,IAEJjW,qBAAU,WAAM,4CACd,8BAAA5G,EAAA,6DACEiF,GAAW,GACXD,EAAa,IAFf,SAIIE,EAAW,iBAJf,SAK2BrH,EAAIyB,IACR,KAAjBud,EAAA,+CAC4C5W,EAD5C,YAC0Dd,EAD1D,YACwEE,GADxE,8CAE2CwX,EAF3C,YAE2D5W,EAF3D,YAEyEd,EAFzE,YAEuFE,IAR7F,OAW2B,MANjBnH,EALV,QAWiBzB,QACS,IACdwC,EAAOf,EAASe,KAEtBsG,EAActG,EAAK2G,WAEf3G,EAAK4G,SAASC,OAAS,GACzBd,EACE/F,EAAK4G,SAASE,KAAI,SAACC,GAAD,sBACbA,EADa,CAEhBrB,UAAW,UAAGqB,EAAEU,SAASC,UAAU,EATrB,KASH,YACTX,EAAEU,SAASZ,OAVC,IAUsB,MAAQ,IACzCmC,OACH9D,SAAY6B,EAAEjC,QAAJ,UAAiBzG,EAAjB,kBAAiC0I,EAAEjC,SAAY,WAI7DmB,EAAW,IACXD,GAAW,IAEXC,EAAW,mCAGb3G,IAAMH,MAAM,0DAlClB,kDAqCI8G,EAAW,kDArCf,2DADc,uBAAC,WAAD,wBAyCd2B,KACC,CAAC1B,EAAY0X,IAEhBjW,qBAAU,WACJ+V,GACFH,EAAUzH,QAAQ7K,UAEnB,CAACyS,IA4BJ,OACE,kBAAC,GAAD,KACE,kBAACzV,GAAA,EAAD,KACE,kBAACG,GAAA,EAAD,CAAKxD,UAAU,gDACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,MACZiV,GACD,yBAAK5Y,UAAU,gHACb,yBAAKA,UAAU,8CACb,wBAAIA,UAAU,QAAQ4Y,EAAaxc,MACnC,yBAAK4D,UAAU,mBACZ4Y,EAAatW,WAAb,qBACYsW,EAAatW,YAE5B,yBAAKtC,UAAU,mBACZ4Y,EAAalW,SAAb,eAAgCkW,EAAalW,UAEhD,uBAAG1C,UAAU,qBACV4Y,EAAavW,iBAO1B,kBAACmB,GAAA,EAAD,CAAKxD,UAAU,sCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACZmV,EACD,kBAACQ,GAAA,EAAD,CACEjJ,IAAKqI,EACL3U,MAAO,CAAE4K,MAAO,QAChB7D,SAlCS,SAACnG,GACtBA,EAAE4U,mBAmCU,kBAACvO,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC0X,GAAA,EAAD,CACErgB,KAAK,OACL4T,YAAY,iBACZjL,UAAU,4CACV0E,SA/DC,SAACC,GAClB,IAAM6U,EAAK7U,EAAEyG,OAAOC,MAEhB6N,GAASO,aAAaP,GAC1BC,EACEO,YAAW,WACTT,EAAgBO,KACf,OAyDWnJ,IAAKsI,IAEP,kBAAC3N,GAAA,EAAW2M,OAAZ,CAAmB5T,MAAO,CAAE4V,WAAY,SACtC,oCACGP,GACC,kBAACjW,GAAA,EAAD,CACEqH,QAAQ,oBACRxK,UAAU,sBACVoD,QA7DJ,WAClB6V,EAAgB,IAChBP,EAAQxH,QAAQ0I,QAChBjB,EAAUzH,QAAQ7K,UA4DI,kBAAC,KAAD,CAAS5F,MAAM,SAGnB,kBAAC0C,GAAA,EAAD,CACEqH,QAAQ,oBACRxK,UAAU,wCACVkL,UAAQ,GAER,kBAAC,KAAD,CAAY1K,KAAM,UAO5B,kBAAC2C,GAAA,EAAD,CACEqH,QAAQ,eACRpH,QAzEO,WACnB2V,GAAa,IAyEDnN,MAAM,wBAEN,kBAAC,KAAD,SAKPnU,EACC,kBAAC+L,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,yBAAKzD,UAAU,sBACD,iBAAXzD,GAA8B,kBAAC+G,GAAA,EAAD,CAASC,UAAU,WAAa,IAC/D,4BAAKhH,MAKX,kBAACiH,GAAA,EAAD,CAAKxD,UAAU,iCACZkB,EAAUgB,KAAI,SAACC,EAAG8B,GAAJ,OACb,kBAAC,GAAD,CAAiB7F,IAAK6F,EAAO7I,KAAM+G,SAK3C,kBAACkB,GAAA,EAAD,CACEa,OAAyC,kBAAjC3H,EAAQ4H,cAAcC,OAC9BpE,UAAU,QAEV,kBAACwD,GAAA,EAAD,CACExD,UAAS,iCACPyB,GAAcD,EAAc,SAAW,WAGzC,kBAACiC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,iCAC5B,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACVhD,WAAYA,EACZiD,kBAAmB/C,EACnBgD,gBAAiB/C,EACjBgD,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAOpD,EAAcoD,U,yBCxP9B,SAASkV,KACtB,IAAM9a,EAAWC,cACXvH,EAAUmO,aAAY,SAACzN,GAAD,OAAWA,EAAMD,KAAKT,WAFnB,EAIHwJ,mBAAS,IAJN,oBAIxB6Y,EAJwB,KAIhBC,EAJgB,KAwB/B,OACE,oCA2DE,yBACE/Z,UAAU,wBACV+D,MAAO,CAAEiW,OAAQ,EAAGC,gBAAiB,UAAWC,aAAc,SAE9D,yBAAK/Z,IAAKmQ,KAAM1B,OAAO,OAAO5O,UAAU,SACxC,wBAAIA,UAAU,mBAAd,SACA,wBAAIA,UAAU,cAAd,wBACA,kBAAC,KAAD,CAAM8K,SArFZ,SAAsB1P,GAAO,IACnBJ,EAAwCI,EAAxCJ,SAAU8e,EAA8B1e,EAA9B0e,OAAgB7d,GAAcb,EAAtBY,OAAsBZ,EAAda,IAAIlB,EAAUK,EAAVL,MACtC,OAAQ+e,GACN,IAAK,QACH/a,EtCdD,SAA4B/C,EAAQC,EAAIjB,EAAUkB,GACvD,MAAO,CACL7E,KAAM,gCACNC,QAAS,CAAE0E,SAAQC,KAAIjB,WAAUkB,csCWpBie,CAAmB,iBAAele,EAAIjB,IAC/C,MACF,IAAK,SACH+D,EtC/BD,SAA6BhE,EAAOC,GACzC,MAAO,CACL3D,KAAM,8BACNC,QAAS,CAAEyD,QAAOC,asC4BLof,CAAoBrf,EAAOC,IACpC,MACF,IAAK,QACH+D,EtC3BD,SAA4BhE,EAAOC,GACxC,MAAO,CACL3D,KAAM,8BACNC,QAAS,CAAEyD,QAAOC,asCwBLqf,CAAmBtf,EAAOC,IACnC,MACF,QACEN,IAAMH,MAAM,kCAyEV,kBAAC,KAAD,CACE6B,KAAK,SACL6O,YAAY,uBACZE,UAAQ,EACRpH,MAAO,CAAEkW,gBAAiB,WAC1BtO,QAAS,CACP,CAAE9P,GAAI,QAAS+P,MAAO,SACtB,CAAE/P,GAAI,SAAU+P,MAAO,UACvB,CAAE/P,GAAI,QAAS+P,MAAO,kBAExBlH,SAAU,SAACC,GAAD,OAAOoV,EAAUpV,EAAEyG,OAAOC,UAE1B,UAAXyO,EACC,kBAACtW,GAAA,EAAD,KAeE,kBAACC,GAAA,EAAD,CAAKC,GAAI,IACP,oCACE,kBAAC,KAAD,CACEtH,KAAK,KACL/E,KAAK,OACL0M,MAAO,CAAE4K,MAAO,OAAQsL,gBAAiB,WACzC9O,UAAQ,EACRF,YAAY,aAyBlB,kBAACxH,GAAA,EAAD,CAAKC,GAAI,IACP,oCACE,kBAAC,KAAD,CACEtH,KAAK,WACL/E,KAAK,WACL0M,MAAO,CAAE4K,MAAO,OAAQsL,gBAAiB,WACzC9O,UAAQ,EACRF,YAAY,aA0BP,WAAX6O,GAAkC,UAAXA,EACzB,oCACE,kBAAC,KAAD,CACE1d,KAAK,QACL/E,KAAK,QACL8T,UAAQ,EACRF,YAAY,SACZlH,MAAO,CAAEkW,gBAAiB,aAE5B,kBAAC,KAAD,CACElW,MAAO,CAAEkW,gBAAiB,WAC1B7d,KAAK,WACL/E,KAAK,WACL8T,UAAQ,EACRF,YAAY,WAIhB,qCAGF,kBAAC9H,GAAA,EAAD,CAAQtH,GAAG,WAAWxE,KAAK,UACxBI,EAAU,gBAAkB,WAE/B,kBAAC,KAAD,CAAM8H,GAAG,YAAYwE,MAAO,CAAEtD,MAAO,YAArC,aAGA,kBAAC,KAAD,CAAMlB,GAAG,IAAIwE,MAAO,CAAEtD,MAAO,YAC3B,kBAAC,KAAD,CAAeD,KAAM,KADvB,sBAGA,kBAAC,KAAD,CAAMjB,GAAG,YAAYwE,MAAO,CAAEtD,MAAO,YAArC,mBACkB,kBAAC,KAAD,CAAkBD,KAAM,SCrOrC,SAAS8Z,KACtB,IAAMvb,EAAWC,cAIjB,OAHA+D,qBAAU,WACRhE,EvCuCK,CACL1H,KAAM,qBuCvCL,IACI,qC,aCCHkjB,GAASC,OAAaC,MAAM,CAChCre,KAAMoe,OAAarP,SAAS,8BAC5BpQ,MAAOyf,OACJzf,MAAM,8BACNoQ,SAAS,gCACZnQ,SAAUwf,OACPE,IAAI,EAAG,0BACPvP,SAAS,+BACZ9O,gBAAiBme,OAAaG,MAC5B,CAACH,KAAQ,YAAa,MACtB,uBAIW,SAASI,KACtB,IAAM7b,EAAWC,cAKjB,OACE,oCACE,yBACEgB,UAAU,wBACV+D,MAAO,CAAEiW,OAAQ,EAAGC,gBAAiB,UAAWC,aAAc,SAE9D,yBAAK/Z,IAAKmQ,KAAM1B,OAAO,OAAO5O,UAAU,SACxC,wBAAIA,UAAU,mBAAd,yBACA,wBAAIA,UAAU,cAAd,kBACA,kBAAC,KAAD,CAAMua,OAAQA,GAAQzP,SAb5B,YAAmE,IAA3C1O,EAA0C,EAA1CA,KAAMrB,EAAoC,EAApCA,MAAOC,EAA6B,EAA7BA,SAAUqB,EAAmB,EAAnBA,gBAC7C0C,ExCAG,SAAuB3C,EAAMrB,EAAOC,EAAUqB,GACnD,MAAO,CACLhF,KAAM,wBACNC,QAAS,CACP8E,OACArB,QACAC,WACAqB,oBwCPOwe,CAAcze,EAAMrB,EAAOC,EAAUqB,MAaxC,oCACE,kBAAC,KAAD,CACED,KAAK,OACL/E,KAAK,OACL8T,UAAQ,EACRF,YAAY,gBACZlH,MAAO,CAAEkW,gBAAiB,aAE5B,kBAAC,KAAD,CACE7d,KAAK,QACL/E,KAAK,QACL8T,UAAQ,EACRF,YAAY,SACZlH,MAAO,CAAEkW,gBAAiB,aAE5B,kBAAC,KAAD,CACElW,MAAO,CAAEkW,gBAAiB,WAC1B7d,KAAK,WACL/E,KAAK,WACL8T,UAAQ,EACRF,YAAY,UAEd,kBAAC,KAAD,CACElH,MAAO,CAAEkW,gBAAiB,WAC1B7d,KAAK,kBACL/E,KAAK,WACL8T,UAAQ,EACRF,YAAY,wBAIhB,kBAAC9H,GAAA,EAAD,CAAQ9L,KAAK,UAAb,SACA,kBAAC,KAAD,CAAMkI,GAAG,SAASwE,MAAO,CAAEtD,MAAO,YAAlC,wBC5DK,SAASqa,KAAW,4CAEjC,qCAAA3e,EAAA,6DAA8BpB,EAA9B,EAA8BA,MAA9B,kBAG2Bf,EAAIkB,KAAJ,iDAAmDH,IAH9E,OAGUV,EAHV,SAIgCA,EAASe,KAA7BxC,EAJZ,EAIYA,OAAQ2D,EAJpB,EAIoBA,QACZ3D,EACF8B,IAAM8B,QAAN,yEAAuEzB,EAAvE,qDAGAL,IAAMH,MAAMgC,GATlB,gDAaU,KAAMlC,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,8CAdlB,0DAFiC,sBAqBjC,OACE,oCA2DE,yBAAKyF,UAAU,wBAAwB+D,MAAO,CAAEiW,OAAQ,EAAGC,gBAAgB,UAAWC,aAAa,SACjG,yBAAK/Z,IAAKmQ,KAAM1B,OAAO,OAAO5O,UAAU,SACxC,wBAAIA,UAAU,mBAAd,qBACA,wBAAIA,UAAU,cAAd,0BACA,kBAAC,KAAD,CAAM8K,SArFsB,SAAD,oCAyFzB,kBAAC,KAAD,CAAO1O,KAAK,QAAQ/E,KAAK,QAAQ4T,YAAY,SAASlH,MAAO,CAACkW,gBAAgB,aAC9E,4BAAQ5iB,KAAK,SAASwE,GAAG,YAAzB,mBACA,kBAAC,KAAD,CAAM0D,GAAG,SAASwE,MAAO,CAACtD,MAAM,YAC9B,kBAAC,KAAD,CAAeD,KAAM,KADvB,aCJKua,OAxFf,WAAwB,IAAD,EACiB9Z,mBAAS,IAD1B,oBACd+Z,EADc,KACDC,EADC,OAE+Bha,mBAAS,IAFxC,oBAEdia,EAFc,KAEMC,EAFN,OAGyBla,oBAAS,GAHlC,oBAGGma,GAHH,aAISna,oBAAS,GAJlB,oBAILG,GAJK,WAMjBzH,EAAW0hB,cANM,4CAQrB,WAAsCzf,GAAtC,uBAAAO,EAAA,0DACQ6e,IAAiBE,EADzB,wBAEI9Z,GAAW,GAFf,SAIYka,EAAM,CACVC,YAAaP,EACbQ,gBAAiBN,GANzB,SAQ6BlhB,EAAIkB,KAAJ,gDACoBU,GACzC0f,GAVR,OAQYjhB,EARZ,OAYYe,EAAOf,EAASe,KACdmB,EAAoBnB,EAApBmB,QAAS3D,EAAWwC,EAAXxC,OACO,MAApByB,EAASzB,QAAkBA,GAC7BwiB,GAAmB,GACnB1gB,IAAM8B,QAAQ,+BACd3C,EAAQc,KAAK,MAEbD,IAAMH,MAAN,sCAAqCgC,IAnB7C,kDAsBY,KAAMlC,UACVK,IAAMH,MAAM8C,OAAOoe,OAAO,KAAMphB,SAASe,KAAKsgB,QAAQ,GAAG,IAvBjE,QA0BIta,GAAW,GA1Bf,wBA4BI1G,IAAM6U,KAAK,6BA5Bf,2DARqB,sBAwCrB,OACE,kBAAClM,GAAA,EAAD,KACE,kBAACG,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKzD,UAAU,yBAAyB+D,MAAO,CAAE4X,QAAS,SACxD,kBAAC1b,GAAA,EAAD,CAAMD,UAAU,OACd,kBAACC,GAAA,EAAK+E,OAAN,KACE,kBAAC/E,GAAA,EAAKU,MAAN,wBAEF,kBAACV,GAAA,EAAKS,KAAN,KACE,kBAAC8C,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKzD,UAAU,eACb,2BACE3I,KAAM,WACN0M,MAAO,CAAEmW,aAAc,OACvBla,UAAU,gBACViL,YAAY,aACZvG,SAAU,SAACC,GAAD,OAAOsW,EAAetW,EAAEyG,OAAOC,WAI7C,kBAAC5H,GAAA,EAAD,CAAKzD,UAAU,oBACb,2BACE3I,KAAM,WACN0M,MAAO,CAAEmW,aAAc,OACvBla,UAAU,gBACViL,YAAY,uBACZvG,SAAU,SAACC,GAAD,OAAOwW,EAAsBxW,EAAEyG,OAAOC,UAGlD,kBAAC7H,GAAA,EAAD,CAAKxD,UAAU,aACb,kBAACmD,GAAA,EAAD,CACEnD,UAAU,QACVwK,QAAQ,UACRpH,QAAS,kBAzER,2CAyEcwY,CAAuBjiB,EAASkiB,UAHjD,mB,+GCxELC,GAVG,CAChB,CAAEjgB,GAAI,GAAIwP,MAAO,GAAIO,MAAO,iBAC5B,CAAE/P,GAAI,GAAIwP,MAAO,GAAIO,MAAO,YAC5B,CACE/P,GAAI,GACJwP,MAAO,GACPO,MAAO,gCAET,CAAE/P,GAAI,GAAIwP,MAAO,GAAIO,MAAO,aCFfmQ,GANe,CAC5B,CAAElgB,GAAI,GAAImgB,MAAO,iBACjB,CAAEngB,GAAI,GAAImgB,MAAO,YACjB,CAAEngB,GAAI,GAAImgB,MAAO,yBACjB,CAAEngB,GAAI,GAAImgB,MAAO,WCHJC,GADa,CAAC,CAAEpgB,GAAI,GAAImgB,MAAO,gB,0CCKxCE,GAAqB,CACzBC,OAAQ,MACRC,OAAQ,GACRC,2BAA2B,EAC3BC,yBAA0B,IAC1BC,cAAc,EACdC,cAAe,IACfC,aAAc,EACdC,aAAc,EACdC,eAAe,EACfC,oBAAoB,GAGhBC,GAAgB,SAAC,GAAoC,IAAlCC,EAAiC,EAAjCA,YAAgBC,EAAiB,+BAClDC,EAAeC,KAAiB,eACjCf,GADgC,GAEhCY,IAGL,OAAO,kBAAC,KAAD,eAAatR,KAAMwR,GAAkBD,KAG9CF,GAAcld,aAAe,CAC3Bud,UAAW,UACXJ,YAAa,IAoBAD,U,+BCjDTM,GAAc,SAACvhB,GAAD,OAClB,IAAIpB,SAAQ,SAAC4iB,EAAS3iB,GACpB,IAAMic,EAAQ,IAAI2G,MAClB3G,EAAM4G,iBAAiB,QAAQ,kBAAMF,EAAQ1G,MAC7CA,EAAM4G,iBAAiB,SAAS,SAAC/iB,GAAD,OAAWE,EAAOF,MAClDmc,EAAM6G,aAAa,cAAe,aAClC7G,EAAMvW,IAAMvE,MAGhB,SAAS4hB,GAAeC,GACtB,OAAQA,EAActe,KAAKue,GAAM,IASpB,SAAeC,GAA9B,qC,8CAAe,WAA6BC,EAAUC,GAAvC,qCAAA1hB,EAAA,6DAAkD2hB,EAAlD,+BAA6D,EAA7D,SACOX,GAAYS,GADnB,cACPlH,EADO,OAEPqH,EAASzP,SAASC,cAAc,UAChCyP,EAAMD,EAAOE,WAAW,MAExBC,EAAiD,EAAtC/e,KAAKgf,IAAIzH,EAAM/H,MAAO+H,EAAM9H,QAI7CmP,EAAOpP,MAAQuP,EACfH,EAAOnP,OAASsP,EAGhBF,EAAII,UAAUF,EAAW,EAAGA,EAAW,GACvCF,EAAIK,OAAOb,GAAeM,IAC1BE,EAAII,WAAWF,EAAW,GAAIA,EAAW,GAGzCF,EAAIM,UACF5H,EACAwH,EAAW,EAAkB,GAAdxH,EAAM/H,MACrBuP,EAAW,EAAmB,GAAfxH,EAAM9H,QAEjBxT,EAAO4iB,EAAIO,aAAa,EAAG,EAAGL,EAAUA,GAG9CH,EAAOpP,MAAQkP,EAAUlP,MACzBoP,EAAOnP,OAASiP,EAAUjP,OAG1BoP,EAAIQ,aACFpjB,EACA,EAAI8iB,EAAW,EAAkB,GAAdxH,EAAM/H,MAAckP,EAAU1b,EACjD,EAAI+b,EAAW,EAAmB,GAAfxH,EAAM9H,OAAeiP,EAAUjb,GAjCvC,kBAwCN,IAAIpI,SAAQ,SAAC4iB,GAClBW,EAAOU,QAAO,SAACC,GACbtB,EAAQuB,IAAIC,gBAAgBF,MAC3B,kBA3CQ,6C,oCCnBFvB,GAAc,SAACvhB,GAAD,OACzB,IAAIpB,SAAQ,SAAC4iB,EAAS3iB,GACpB,IAAMic,EAAQ,IAAI2G,MAClB3G,EAAM4G,iBAAiB,QAAQ,kBAAMF,EAAQ1G,MAC7CA,EAAM4G,iBAAiB,SAAS,SAAC/iB,GAAD,OAAWE,EAAOF,MAClDmc,EAAM6G,aAAa,cAAe,aAClC7G,EAAMvW,IAAMvE,MAGT,SAAeijB,GAAtB,mC,8CAAO,WAA+BjB,GAA/B,iCAAAzhB,EAAA,6DAAyC2hB,EAAzC,+BAAoD,EAApD,SACeX,GAAYS,GAD3B,cACClH,EADD,OAECqH,EAASzP,SAASC,cAAc,UAChCyP,EAAMD,EAAOE,WAAW,MAGf,KAAbH,IACc,KAAdA,GACa,MAAbA,IACc,MAAdA,GAEAC,EAAOpP,MAAQ+H,EAAM9H,OACrBmP,EAAOnP,OAAS8H,EAAM/H,QAEtBoP,EAAOpP,MAAQ+H,EAAM/H,MACrBoP,EAAOnP,OAAS8H,EAAM9H,QAGxBoP,EAAII,UAAUL,EAAOpP,MAAQ,EAAGoP,EAAOnP,OAAS,GAChDoP,EAAIK,OAAQP,EAAW3e,KAAKue,GAAM,KAClCM,EAAIM,UAAU5H,GAAQA,EAAM/H,MAAQ,GAAI+H,EAAM9H,OAAS,GApBlD,kBAsBE,IAAIpU,SAAQ,SAAC4iB,GAClBW,EAAOU,QAAO,SAACC,GACbtB,EAAQuB,IAAIC,gBAAgBF,MAC3B,kBAzBA,6C,ueCPA,IAAM9e,GAAUC,KAAOC,IAAV,MCsBL,SAASgf,GAAT,GAAqC,IAAhB1jB,EAAe,EAAfA,KAAM2jB,EAAS,EAATA,MAChCnjB,EAAQR,EAARQ,IACFmD,EAAWC,cACXggB,EAAuB,CAC3B,EAAK,IACL,EAAK,GACL,GAAM,IANyC,EAUnB/d,mBAASrF,GAVU,oBAU1CqjB,EAV0C,KAUjCC,EAViC,OAWrBje,oBAAS,GAXY,oBAW1Cke,EAX0C,KAWlCC,EAXkC,OAajBne,mBAAS,MAbQ,oBAa1C2c,EAb0C,KAahCyB,EAbgC,OAczBpe,mBAAS,CAAEkB,EAAG,EAAGS,EAAG,IAdK,oBAc1C0c,EAd0C,KAcpCC,EAdoC,OAgBjBte,mBAAS,GAhBQ,oBAgB1C6c,EAhB0C,KAgBhC0B,EAhBgC,OAiBzBve,mBAAS,GAjBgB,oBAiB1Cwe,EAjB0C,KAiBpCC,EAjBoC,OAkBhCze,mBAAS,GAAnB0e,EAlB0C,uBAmBC1e,mBAAS,MAnBV,oBAmB1C2e,EAnB0C,KAmBvBC,EAnBuB,OAqBb5e,oBAAS,GArBI,oBAqB1C6e,EArB0C,KAqB9BC,EArB8B,KAgCjD,SAASC,EAAiBlC,GACxB0B,EAAY1B,GAEd,SAASmC,EAAaR,GACpBC,EAAQD,GApCuC,4CAuCjD,0CAAAtjB,EAAA,sEAEI4jB,GAAc,GAFlB,SAG+BpC,GACzBC,EACAgC,EACA9B,GANN,cAGUoC,EAHV,gBASoBC,MAAMD,GAT1B,cASQE,EATR,iBAUkBA,EAAIC,OAVtB,eAUQjW,EAVR,OAWQsU,EAAO,IAAI4B,KAAK,CAAClW,GAAI,WAAY,CACnC/S,KAAM,gBAGF+D,EAAO,IAAImlB,UACZC,OAAO,OAAQ9B,GAhBxB,UAkB2B1kB,EAAIkB,KAAK6jB,EAAO3jB,GAlB3C,QAkBUf,EAlBV,QAmBUgf,EAAKhf,EAASe,MAEbxC,QACGsH,EAAYmZ,EAAGlP,OAAfjK,QAERgf,EAAW,GAAD,OAAIzlB,EAAJ,kBAAoByG,IAE9BxF,IAAM8B,QAAN,iCACAuC,EACElC,EAAmB,CACjBhB,GAAIqE,EACJtE,IAAI,GAAD,OAAKnC,EAAL,kBAAqByG,OAI5BxF,IAAMH,MAAN,+CAAoD8e,EAAG9c,UAGzD8iB,EAAY,MACZoB,IAEAV,GAAc,GAxClB,kDA2CIrlB,IAAMH,MAAM,4CACZwlB,GAAc,GA5ClB,2DAvCiD,sBAuFjD,SAASW,EAAShC,GAChB,OAAO,IAAIlkB,SAAQ,SAAC4iB,GAClB,IAAMuD,EAAS,IAAIC,WACnBD,EAAOrD,iBAAiB,QAAQ,kBAAMF,EAAQuD,EAAOrkB,WAAS,GAC9DqkB,EAAOE,cAAcnC,MA3FwB,SA+FlC+B,IA/FkC,8EA+FjD,sBAAAtkB,EAAA,2FA/FiD,oEAmGjD,WAA4BwI,GAA5B,qBAAAxI,EAAA,2DACMwI,EAAEyG,OAAO0V,OAASnc,EAAEyG,OAAO0V,MAAM7e,OAAS,GADhD,wBAEUyc,EAAO/Z,EAAEyG,OAAO0V,MAAM,GAFhC,SAG6BJ,EAAShC,GAHtC,cAGQqC,EAHR,gBAM8BC,0BAAetC,GAN7C,UAMUuC,EANV,SAOUnD,EAAWkB,EAAqBiC,IAP1C,kCAS2BpC,GAAgBkC,EAAcjD,GATzD,QASMiD,EATN,eAYI1B,EAAY0B,GACZxB,EAAQ,CAAEpd,EAAG,EAAGS,EAAG,IACnB8c,EAAQ,GAdZ,6CAnGiD,sBAqHjD,OACE,oCACE,kBAAC,GAAD,KACE,+BACE,yBAAK1f,UAAU,YACb,yBACEG,IAAKC,KACLvE,GAAG,eACHkI,MAAO,CAAE4X,QAAWwD,EAAS,QAAU,UAEzC,kBAAC,iBAAD,CACE9e,OAAO,OACPF,IACE8e,GACA,wDAEFiC,UAAW,kBAAM9B,GAAU,IAC3B7e,iBAAkB0e,EAAQ9e,MAAQC,KAClCJ,UAAU,6BAGd,2BACE3I,KAAK,OACLwE,GAAG,SACHslB,OAAO,UACPzc,SA9IuC,iDAmJ7C,yBAAK1E,UAAU,gBACZ4d,GACC,6BACE,yBAAK5d,UAAU,kBACb,kBAAC,KAAD,CACE0W,MAAOkH,EACP0B,KAAMA,EACNG,KAAMA,EACN3B,SAAUA,EACV6B,OAAQA,EACRyB,aAtId,SAAsB9B,GACpBC,EAAQD,IAsII+B,eAnId,SAAwBC,EAAa1B,GAEnCC,EAAqBD,IAkITK,aAAcA,EACdD,iBAAkBA,KAGtB,yBAAKhgB,UAAU,YAAf,OAEE,kBAAC,KAAD,CACEqL,MAAOoU,EACP/E,IAAK,EACLyD,IAAK,EACLoD,KAAM,GACNtV,kBAAgB,OAChBvH,SAAU,SAACC,EAAG8a,GAAJ,OAAaQ,EAAaR,IACpC+B,QAAS,CAAEC,UAAW,aAG1B,yBAAKzhB,UAAU,YAAf,gBAEE,kBAAC,KAAD,CACEqL,MAAOyS,EACPpD,IAAK,EACLyD,IAAK,IACLoD,KAAM,GACNtV,kBAAgB,gBAChBvH,SAAU,SAACC,EAAGmZ,GAAJ,OAAiBkC,EAAiBlC,IAC5C0D,QAAS,CAAEC,UAAW,aAG1B,yBAAKzhB,UAAU,UACb,kBAAC,KAAD,CACES,MAAM,YACN+J,QAAQ,YACRpH,QAAS,kBAAMic,EAAY,MAH7B,YAOA,kBAAC,KAAD,CACE5e,MAAM,UACN+J,QAAQ,YACRpH,QAtMmC,2CAuMnC8H,SAAU4U,GAETA,EAAa,iBAAmB,wB,oMC/N1C,IAAMlgB,GAAUC,KAAOC,IAAV,MC8DL,SAAS4hB,GAAT,GAA+B,IAAZ/pB,EAAW,EAAXA,QAAW,EACTsJ,mBAAS,IADA,oBACpCC,EADoC,KACzBC,EADyB,OAEDF,mBAAS,MAFR,oBAEpC0gB,EAFoC,KAErBC,EAFqB,OAID3gB,mBAAS,MAJR,oBAIpC4gB,EAJoC,KAIrBC,EAJqB,OAKG7gB,mBAAS,IALZ,oBAKpC8gB,EALoC,KAKnBC,EALmB,OAOH/gB,oBAAS,GAPN,oBAOpCghB,EAPoC,KAOtBC,EAPsB,OAQjBjhB,oBAAS,GARQ,oBAQpCU,EARoC,KAQ7BC,EAR6B,OAUGX,oBAAS,GAVZ,oBAUpCkhB,EAVoC,KAUnBC,EAVmB,OAYGnhB,mBAAS,MAZZ,oBAYpCohB,EAZoC,KAYnBC,EAZmB,OAaLrhB,oBAAS,GAbJ,oBAapCshB,EAboC,KAavBC,EAbuB,OAcHvhB,mBAAS,GAdN,oBAcpCwhB,EAdoC,KActBC,EAdsB,OAgBfzhB,oBAAS,GAhBM,oBAgBpC0hB,GAhBoC,KAgB5BC,GAhB4B,QAkBb3hB,oBAAS,GAlBI,sBAkBpCxJ,GAlBoC,MAkB3B2J,GAlB2B,SAoBKH,mBAC9C,kEArByC,sBAoBpC4hB,GApBoC,gBAwBD5hB,oBAAS,IAxBR,sBAwBpC6hB,GAxBoC,MAwBrBC,GAxBqB,SAyBD9hB,oBAAS,GAzBR,sBAyBpC+hB,GAzBoC,MAyBrBC,GAzBqB,SA2BGhiB,oBAAS,GA3BZ,sBA2BpCiiB,GA3BoC,MA2BnBC,GA3BmB,SA4BGliB,oBAAS,GA5BZ,sBA4BpCmiB,GA5BoC,MA4BnBC,GA5BmB,SA8BFpiB,oBAAS,GA9BP,sBA8BpCqiB,GA9BoC,MA8BrBC,GA9BqB,SAgCPtiB,mBAAS,GAhCF,sBAgCpCK,GAhCoC,MAgCxBC,GAhCwB,SAiCLN,mBAAS,IAjCJ,sBAiCpCO,GAjCoC,MAiCvBgiB,GAjCuB,SAkCPviB,mBAAS,GAlCF,sBAkCpCQ,GAlCoC,MAkCxBC,GAlCwB,SAoCWT,mBAAS,GApCpB,sBAoCpCwiB,GApCoC,MAoCfC,GApCe,SAqCaziB,mBAAS,IArCtB,sBAqCpC0iB,GArCoC,gBAsCW1iB,mBAAS,IAtCpB,sBAsCpC2iB,GAtCoC,MAsCfC,GAtCe,SAuCL5iB,mBAAS,MAvCJ,sBAuCpC6iB,GAvCoC,MAuCvBC,GAvCuB,SAyCH9iB,mBAAS,IAzCN,sBAyCpC+iB,GAzCoC,MAyCtBC,GAzCsB,SA0CShjB,oBAAS,GA1ClB,sBA0CpCijB,GA1CoC,MA0ChBC,GA1CgB,SA4CDljB,mBAAS,MA5CR,sBA4CpCmjB,GA5CoC,MA4CrBC,GA5CqB,SA8CPpjB,mBAAS,IA9CF,sBA8CpCqjB,GA9CoC,MA8CxBC,GA9CwB,SAgDHtjB,mBAAS,IAhDN,sBAgDpCujB,GAhDoC,MAgDtBC,GAhDsB,SAkDTxjB,mBAAS,IAlDA,sBAkDpCyjB,GAlDoC,MAkDzBC,GAlDyB,SAmDL1jB,mBAAS,IAnDJ,sBAmDpC2jB,GAnDoC,MAmDvBC,GAnDuB,SAsDrB5jB,mBAAS,IAtDY,sBAsDpC7C,GAtDoC,MAsD/B0mB,GAtD+B,MAyD3C/hB,qBAAU,WACRlB,OACC,CAACP,GAAYkiB,KAGhBzgB,qBAAU,WAAM,4CACd,sBAAA5G,EAAA,sDACqB,MAAf2nB,IACFiB,KAFJ,4CADc,uBAAC,WAAD,wBAMdljB,KACC,CAACiiB,KAGJ/gB,qBAAU,WAAM,4CACd,8BAAA5G,EAAA,yDAC6B,GAAvBsnB,IAA2C,MAAfK,GADlC,iCAGM5B,GAAgB,GAHtB,SAI6BloB,EAAIyB,IAAJ,wCACYqoB,GADZ,YAC2BL,GAD3B,YACkDE,KAL/E,OAIYtpB,EAJZ,OAOYgf,EAAKhf,EAASe,KAEpByoB,GAAuBxK,EAAGtX,WAE1BigB,EACE3I,EAAGrX,SACAE,KAAI,SAACC,GAAD,sBACAA,EADA,CAEH6iB,cAAeziB,aAAO,IAAIlD,KAAK8C,EAAE8iB,MAAO,oBACxCC,eAAgB/f,GAAYhD,EAAEkJ,YAE/B8Z,MAAK,SAAChpB,EAAGipB,GAAJ,OAAUA,EAAEH,KAAKI,cAAclpB,EAAE8oB,UAG3C/C,GAAgB,GArBtB,kDAuBY,KAAM7nB,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,kDAxBpB,2DADc,uBAAC,WAAD,wBA8BdsH,KACC,CAACiiB,GAAaL,GAAqBE,KAGtC5gB,qBAAU,WAAM,4CACd,8BAAA5G,EAAA,yDACqB,MAAf2nB,GADN,iCAGMK,IAAsB,GAH5B,SAK6BnqB,EAAIyB,IAAJ,qDAEyBqoB,KAPtD,OAKYzpB,EALZ,OASYgf,EAAKhf,EAASe,KAEpB6oB,GACE5K,EAAGnX,KAAI,SAACC,GAAD,sBACFA,EADE,CAELmjB,YAAavJ,GAAsBwJ,MAAK,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsG,EAAEvJ,UACvDojB,MACHwJ,qBAAsBlB,GAAWiB,MAC/B,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsG,EAAEsjB,oBAClB7Z,MACF8Z,sBAAyBvjB,EAAEwjB,aACvBxgB,GAAYhD,EAAEwjB,cACd,GACJC,uBAA0BzjB,EAAE0jB,cACxB1gB,GAAYhD,EAAE0jB,eACd,SAIR1B,IAAsB,GA5B5B,kDA8BY,KAAM9pB,UAAsC,MAA1B,KAAMA,SAASzB,SACrC8B,IAAMH,MAAM,kDACZ4pB,IAAsB,IAhC9B,2DADc,uBAAC,WAAD,wBAsCdtiB,KACC,CAACiiB,KAEJ,IAAMgC,GAA2BlW,mBAC/B,kBACEzK,GACE6e,GACG+B,QAAO,SAAC5jB,GAAD,OAAoB,KAAbA,EAAEvJ,UAChBotB,QAAO,SAACC,EAAOnkB,GAAR,OAA0BmkB,EAAQnkB,EAAK6jB,eAAe,MAEpE,CAAC3B,KAGGniB,GAAQ,uCAAG,sBAAA1F,EAAA,sEAEbiF,IAAW,GAFE,SAGPnH,IACHyC,IAAI,CACH1C,EAAIyB,IAAJ,+CAC0C6F,GAD1C,YACwDE,KAExDxH,EAAIyB,IAAJ,mCAEDyqB,KACCjsB,IAAMksB,QAAO,WAAmB,IAAD,uBAAdC,EAAc,yBAAdA,EAAc,gBAC7B,IAAMC,EAAgBD,EAAU,GAAGhrB,KACnCsG,GAAc2kB,EAActkB,WAC5BZ,EACEklB,EAAcrkB,SAASE,KAAI,SAACC,GAAD,sBACtBA,EADsB,CAEzB4U,aAAa,GAAD,OAAKC,GAAL,oBAA0B7U,EAAEvG,WAI5C,IAAM0qB,EAAMF,EAAU,GAAGhrB,KACzBwmB,EAAiB,eACZ0E,EADW,CAEdC,wBAAyBphB,GAAYmhB,EAAIE,gBACzCC,wBAAyBthB,GAAYmhB,EAAII,gBACzCC,2BAA4BxhB,GAAYmhB,EAAIM,mBAC5CC,wBAAyB1hB,GAAYmhB,EAAIQ,gBACzCC,sBAAuB5hB,GAAYmhB,EAAIU,iBAGzC5lB,IAAW,OAGd6lB,OAAM,SAACvL,GACNhhB,IAAMH,MAAM,gCAnCH,sDAsCP,KAAMF,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gCAvCD,wDAAH,qDA4CRwqB,GAA2B,uCAAG,8BAAA5oB,EAAA,sEAEhC2lB,EAAiB,MAFe,SAGT9nB,EAAIyB,IAAJ,qCACSqoB,KAJA,OAG1BzpB,EAH0B,OAM1Bgf,EAAKhf,EAASe,KAEpB0mB,EAAiB,eACZzI,EADW,CAEdtC,aAAa,GAAD,OAAKC,GAAL,oBAA0BqC,EAAGzd,KACzC2qB,wBAAyBphB,GAAYkU,EAAGmN,gBACxCC,wBAAyBthB,GAAYkU,EAAGqN,gBACxCC,2BAA4BxhB,GAAYkU,EAAGuN,mBAC3CC,wBAAyB1hB,GAAYkU,EAAGyN,gBACxCC,sBAAuB5hB,GAAYkU,EAAG2N,iBAfR,gDAkB1B,KAAM3sB,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,kDAnBkB,yDAAH,qDAwB3B2sB,GAAqB,uCAAG,WAAOrrB,GAAP,iBAAAM,EAAA,sEACLnC,EAAIyB,IAAJ,+CACmBI,IAFd,OACtBxB,EADsB,OAItBgf,EAAKhf,EAASe,KAEpBmpB,GACElL,EAAGnX,KAAI,SAACC,GAAD,MAAQ,CACbtG,GAAIsG,EAAEsjB,iBACNpa,MAAOlJ,EAAEsjB,iBACT7Z,MAAOzJ,EAAEyJ,WAIb8X,GAAuB,GACvBK,GAAeloB,GACfipB,GAAO,WACPljB,GAAS,GAjBmB,2CAAH,sDAoBrBulB,GAAyB,uCAAG,WAAO7L,GAAP,uBAAAnf,EAAA,6DAChCqmB,GAAe,GACfF,EAAmB,MACnBJ,GAAgB,GAEhBmC,GAAiB,MACT+C,EAAmC9L,EAAnC8L,UAAWC,EAAwB/L,EAAxB+L,YAAa9O,EAAW+C,EAAX/C,OANA,SAQTve,EAAIyB,IAAJ,oDACwB8c,IATf,OAQ1Ble,EAR0B,OAW1Bgf,EAAKhf,EAASe,KACI,MAApBf,EAASzB,QACXyrB,GAAiBhL,GAGnB0J,GAAiBsE,IAAe,GAChCpE,GAAiBmE,IAAa,GAE9B9E,EAAmBhH,GAEnB4G,GAAgB,GArBgB,4CAAH,sDAwBzBoF,GAAuB,uCAAG,WAAO1uB,EAAQ2uB,GAAf,SAAAprB,EAAA,sDAC9BqrB,wBAAa,CACX5b,MAAO,WACPrP,QAAQ,0CAAD,OAAyC3D,EAAS,UAAY,aAA9D,MAEP6uB,QAAS,CACP,CACEzL,MAAO,MACP5Y,QAAQ,WAAD,4BAAE,oCAAAjH,EAAA,6DACP+lB,GAAgB,GADT,kBAGkBloB,EAAI+B,IAAJ,yCACawrB,IAJ/B,OAGCltB,EAHD,OAMCe,EAAOf,EAASe,KAEdmB,EAAwBnB,EAAxBmB,QAASV,EAAeT,EAAfS,GAAIsO,EAAW/O,EAAX+O,OACE,KAAnB9P,EAASzB,QAAiBwC,EAAKxC,QACjCmqB,GAAiBnqB,GACjBuI,EACED,EAAUgB,KAAI,SAACC,GAAD,OACZA,EAAEoW,QAAU1c,EAAZ,eAEOsO,EAFP,CAGI4M,aAAa,GAAD,OAAKC,GAAL,oBAA0B7M,EAAOvO,OAHjD,eAMOuG,OAIXzH,IAAM8B,QAAN,oBAEA9B,IAAMH,MAAN,qCAAoCgC,IAzBjC,kDA4BL7B,IAAMH,MAAN,6CA5BK,yBA8BL2nB,GAAgB,GA9BX,6EAAF,kDAAC,IAkCV,CACElG,MAAO,SACP5Y,QAAS,iBA5Ce,2CAAH,wDAkDvBskB,GAAuB,uCAAG,WAAO9uB,EAAQ2uB,GAAf,SAAAprB,EAAA,sDAC9BqrB,wBAAa,CACX5b,MAAO,WACPrP,QAAQ,oBAAD,OAAsB3D,EAAS,WAAa,sBAA5C,oBAEP6uB,QAAS,CACP,CACEzL,MAAO,MACP5Y,QAAQ,WAAD,4BAAE,oCAAAjH,EAAA,6DACP+lB,GAAgB,GADT,kBAGkBloB,EAAI+B,IAAJ,2CACewrB,IAJjC,OAGCltB,EAHD,OAMCe,EAAOf,EAASe,KAEdmB,EAAwBnB,EAAxBmB,QAASV,EAAeT,EAAfS,GAAIsO,EAAW/O,EAAX+O,OACE,KAAnB9P,EAASzB,QAAiBwC,EAAKxC,QACjCqqB,GAAiBrqB,GACjBuI,EACED,EAAUgB,KAAI,SAACC,GAAD,OACZA,EAAEoW,QAAU1c,EAAZ,eAEOsO,EAFP,CAGI4M,aAAa,GAAD,OAAKC,GAAL,oBAA0B7M,EAAOvO,OAHjD,eAMOuG,OAIXzH,IAAM8B,QAAN,oBAEA9B,IAAMH,MAAN,qCAAoCgC,IAzBjC,kDA4BL7B,IAAMH,MAAN,6CA5BK,yBA8BL2nB,GAAgB,GA9BX,6EAAF,kDAAC,IAkCV,CACElG,MAAO,SACP5Y,QAAS,iBA5Ce,2CAAH,wDAkDvBukB,GAAoB,uCAAG,WAAOJ,GAAP,SAAAprB,EAAA,sDAC3BqrB,wBAAa,CACX5b,MAAO,WACPrP,QAAQ,4FACRkrB,QAAS,CACP,CACEzL,MAAO,MACP5Y,QAAQ,WAAD,4BAAE,oCAAAjH,EAAA,6DACP+lB,GAAgB,GADT,kBAGkBloB,EAAI+B,IAAJ,yCACawrB,IAJ/B,OAGCltB,EAHD,OAMCe,EAAOf,EAASe,KACdmB,EAAwBnB,EAAxBmB,QAASV,EAAeT,EAAfS,GAAIsO,EAAW/O,EAAX+O,OACE,KAAnB9P,EAASzB,QAAiBwC,EAAKxC,QACjC0pB,EAAmB,eACdnY,EADa,CAEhB4M,aAAa,GAAD,OAAKC,GAAL,oBAA0B7M,EAAOvO,QAE/CuF,EACED,EAAUgB,KAAI,SAACC,GAAD,OACZA,EAAEoW,QAAU1c,EAAZ,eAEOsO,EAFP,CAGI4M,aAAa,GAAD,OAAKC,GAAL,oBAA0B7M,EAAOvO,OAHjD,eAMOuG,OAIXzH,IAAM8B,QAAN,kBAEA9B,IAAMH,MAAN,sCAAwCgC,IA3BrC,kDA8BL7B,IAAMH,MAAM,4CA9BP,yBAgCL2nB,GAAgB,GAhCX,6EAAF,kDAAC,IAoCV,CACElG,MAAO,SACP5Y,QAAS,iBA7CY,2CAAH,sDAmDpBwkB,GAAgB,uCAAG,WAAOxsB,GAAP,iCAAAe,EAAA,yDACvB+lB,GAAgB,GACR7K,EAA4Cjc,EAA5Cic,gBAAiBkB,EAA2Bnd,EAA3Bmd,OAAQpM,EAAmB/Q,EAAnB+Q,KAAMgL,EAAa/b,EAAb+b,YAEhBA,EAAS/S,UAAWyR,GAAesB,IAJnC,wBAOf0Q,EAAU,CACdtP,SACApM,OACAkL,kBACAF,SAAUA,EAAS/S,QAXA,kBAeIpK,EAAI+B,IAAJ,sCAErB8rB,GAjBiB,OAebxtB,EAfa,OAmBbe,EAAOf,EAASe,KACdmB,EAAwBnB,EAAxBmB,QAASV,EAAeT,EAAfS,GAAIsO,EAAW/O,EAAX+O,OACE,KAAnB9P,EAASzB,QAAiBwC,EAAKxC,QACjCuI,EACED,EAAUgB,KAAI,SAACC,GAAD,OACZA,EAAEoW,QAAU1c,EAAZ,eAEOsO,EAFP,CAGI4M,aAAa,GAAD,OAAKC,GAAL,oBAA0B7M,EAAOvO,OAHjD,eAMOuG,OAIXzH,IAAM8B,QACJ,qHAEF8lB,EAAmB,IACnBE,GAAe,IAEf9nB,IAAMH,MAAN,8BAAmCgC,IAxClB,kDA2Cb,KAAMlC,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,wCA5CK,yBA+CnB2nB,GAAgB,GA/CG,6CAkDrBxnB,IAAMH,MAAM,+BACZ2nB,GAAgB,GAnDK,gEAAH,sDAuDhB4F,GAAkB,uCAAG,WAAO1sB,GAAP,SAAAe,EAAA,sDACzBqrB,wBAAa,CACX5b,MAAO,WACPrP,QAAQ,oBAAD,OAAuC,KAAjBkmB,EAAsB,SAAW,WAAvD,4BAEPgF,QAAS,CACP,CACEzL,MAAO,MACP5Y,QAAQ,WAAD,4BAAE,0CAAAjH,EAAA,6DACP+lB,GAAgB,GACR6F,EAAmB3sB,EAAnB2sB,eAFD,kBAIkB/tB,EAAIguB,OAAJ,uDAC2BD,IAL7C,OAIC1tB,EAJD,OAOCe,EAAOf,EAASe,KACdmB,EAAoBnB,EAApBmB,QAAS3D,EAAWwC,EAAXxC,OACM,KAAnByB,EAASzB,QAAiBA,EACP,KAAjB6pB,GACF/nB,IAAM8B,QAAQ,+BACd6nB,GAAiB,OACS,KAAjB5B,IACDpL,EAAoC+M,GAApC/M,gBAAiBlL,EAAmBiY,GAAnBjY,KAAMgL,EAAaiN,GAAbjN,SAC/BmL,EAAmB,eACdD,EADa,CAEhBhL,kBACAlL,OACAgL,cAEFkN,GAAiB,OAGnB3pB,IAAMH,MAAN,6BAAkCgC,IAxB/B,kDA2BC,KAAMlC,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,uCA5BT,yBA+BL2nB,GAAgB,GA/BX,6EAAF,kDAAC,IAmCV,CACElG,MAAO,SACP5Y,QAAS,iBA7CU,2CAAH,sDAwDlB6kB,GAAwB,uCAAG,sBAAA9rB,EAAA,sDAC/BymB,IAAU,GACV6B,GAAgB5C,EAAc6E,gBAFC,2CAAH,qDAKxBwB,GAAgB,uCAAG,WAAO9sB,GAAP,+BAAAe,EAAA,yDACfgsB,EAAuB/sB,EAAvB+sB,WAAY5P,EAAWnd,EAAXmd,UACd6P,EAAQ5D,IAEF3C,EAAc6E,gBAJH,uBAKrBhsB,IAAMH,MAAM,yCALS,iCASjB8tB,EAAO,CACX5C,iBAAkB0C,EAClBG,aAAc/P,EACdgQ,kBAAmB,KACnB5C,aAAcyC,GAbO,kBAiBEpuB,EAAIkB,KAAJ,kCAA4CmtB,GAjB9C,OAiBfhuB,EAjBe,OAmBfe,EAAOf,EAASe,KACdmB,EAA4BnB,EAA5BmB,QAAS3D,EAAmBwC,EAAnBxC,OAAQuR,EAAW/O,EAAX+O,OACF,KAAnB9P,EAASzB,QAAiBA,GAC5BmsB,KAEAd,GAAgB,GAAD,mBACVD,IADU,gBAGR7Z,EAHQ,CAIXmb,YAAavJ,GAAsBwJ,MACjC,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsO,EAAOvR,UACvBojB,MACFwJ,qBAAsBlB,GAAWiB,MAC/B,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsO,EAAOsb,oBACvB7Z,MACF8Z,sBAAyBvb,EAAOwb,aAC5BxgB,GAAYgF,EAAOwb,cACnB,GACJC,uBAA0Bzb,EAAO0b,cAC7B1gB,GAAYgF,EAAO0b,eACnB,QAIRnrB,IAAM4U,KACJ,wEAEFwV,GAAO,eAEPpqB,IAAMH,MAAN,sCAAqCgC,IAhDlB,kDAmDf,KAAMlC,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gDApDO,QAwDvBqoB,IAAU,GAxDa,0DAAH,sDA2DhB4F,GAAY,uCAAG,8BAAArsB,EAAA,6DACnB0oB,GAAe,IACfF,GAAa,IACbtB,IAAmB,GACnBF,IAAmB,GACnBjB,GAAgB,GAChBE,GAAmB,GANA,SAOIpoB,EAAIyB,IAAJ,oCAPJ,OAObpB,EAPa,OAQbgf,EAAKhf,EAASe,KAEpBupB,GACEtL,EAAGnX,KAAI,SAACC,GAAD,sBACFA,EADE,CAELtG,GAAIsG,EAAEC,WACNiJ,MAAOlJ,EAAEC,WACTwJ,MAAOzJ,EAAE/F,WAfM,4CAAH,qDAoBZqsB,GAAc,uCAAG,WAAO9jB,GAAP,SAAAxI,EAAA,sDACrB0oB,GAAeH,GAAUa,MAAK,SAACpjB,GAAD,OAAOA,EAAEC,aAAeuC,EAAEyG,OAAOC,UAD1C,2CAAH,sDAIdqd,GAAgB,uCAAG,WAAOttB,GAAP,+BAAAe,EAAA,yDACfiG,EAAgDhH,EAAhDgH,WAAYiV,EAAoCjc,EAApCic,gBAAiBlL,EAAmB/Q,EAAnB+Q,KAAMgL,EAAa/b,EAAb+b,YAEpBA,EAAS/S,UAAWyR,GAAesB,IAHnC,wBAMrB+K,GAAgB,GACVmG,EAAO,CACXjmB,aACAiV,gBAAiBA,EAAgBjT,OACjC+H,KAAMA,EAAK/H,OACX+S,SAAUA,EAAS/S,OACnBijB,YAAanE,GACbkE,UAAWhE,IAbQ,kBAiBIppB,EAAIkB,KAAJ,kCAErBmtB,GAnBiB,OAiBbhuB,EAjBa,OAqBbe,EAAOf,EAASe,KACdmB,EAA4BnB,EAA5BmB,QAAS3D,EAAmBwC,EAAnBxC,OAAmBwC,EAAX+O,OACF,KAAnB9P,EAASzB,QAAiBA,GAC5BiJ,KAEAnH,IAAM8B,QAAQ,0CACd4lB,GAAmB,IAEnB1nB,IAAMH,MAAN,0BAA+BgC,IA7Bd,kDAgCb,KAAMlC,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,oCAjCK,yBAoCnB2nB,GAAgB,GApCG,6CAuCrBxnB,IAAMH,MAAM,+BAvCS,gEAAH,sDA2ChBouB,GAAe,uCAAG,WAAOvtB,GAAP,iBAAAe,EAAA,sDACdoc,EAA4Bnd,EAA5Bmd,OAAQlB,EAAoBjc,EAApBic,gBAChBmQ,wBAAa,CACX5b,MAAO,WACPrP,QAAQ,gCAAD,OAA+B8a,EAA/B,KACPoQ,QAAS,CACP,CACEzL,MAAO,MACP5Y,QAAQ,WAAD,4BAAE,sCAAAjH,EAAA,+EAEkBnC,EAAIyB,IAAJ,uCACW8c,IAH7B,UAECle,EAFD,OAKCgf,EAAKhf,EAASe,KACZmB,EAA4B8c,EAA5B9c,QAAS3D,EAAmBygB,EAAnBzgB,OAAmBygB,EAAXlP,OACF,KAAnB9P,EAASzB,OAPR,qBAQCA,EARD,kCASyBoB,EAAIguB,OAAJ,0CACWzP,IAVpC,QASKqQ,EATL,OAYKC,EAAMD,EAAYxtB,KACE,KAAtBwtB,EAAYhwB,SACViwB,EAAIjwB,QACN8B,IAAM8B,QAAQ,kCACdqF,MAEAnH,IAAM8B,QAAN,0CAA2CqsB,EAAItsB,WAlBlD,wBAsBD7B,IAAMH,MACJ,yEAvBD,gCA2BHG,IAAMH,MAAN,sCAAwCgC,IA3BrC,0DA8BL7B,IAAMH,MAAM,4CA9BP,0DAAF,kDAAC,IAkCV,CACEyhB,MAAO,SACP5Y,QAAS,iBA5CO,2CAAH,sDAkDf0lB,GAAY,uCAAG,WAAOvQ,GAAP,qBAAApc,EAAA,sEACInC,EAAI+B,IAAJ,2CACewc,IAFnB,OACble,EADa,OAIbe,EAAOf,EAASe,KACdmB,EAAgCnB,EAAhCmB,QAAS3D,EAAuBwC,EAAvBxC,OAAuBwC,EAAfS,GAAeT,EAAX+O,OACN,KAAnB9P,EAASzB,QAAiBA,EAC5ByrB,GAAiB,eAAKD,GAAN,CAAqB2E,QAAQ,KAE7CruB,IAAMH,MAAMgC,GATK,2CAAH,sDAalB,OACE,kBAAC,GAAD,KACE,kBAAC8G,GAAA,EAAD,KACE,kBAACG,GAAA,EAAD,CAAKxD,UAAU,iCAEb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAG/K,UAAU,QAC5B,kBAACC,GAAA,EAAD,CAAMiM,GAAG,QAAQlM,UAAU,WACzB,kBAACC,GAAA,EAAK+E,OAAN,KACE,kBAACvB,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI3D,UAAU,oBAC7B,kBAAC8e,GAAD,CACE1jB,KAAMzD,EAAQkB,OACdkmB,MAAM,+BAIZ,kBAAC9e,GAAA,EAAKS,KAAN,KACE,kBAACT,GAAA,EAAKU,MAAN,KAAahJ,EAAQyE,MACrB,6BACA,kBAAC6D,GAAA,EAAKY,KAAN,KACE,qCADF,IACiBlJ,EAAQqxB,MACvB,6BACA,sCAHF,IAGkBrxB,EAAQqE,OACxB,6BACA,sCALF,IAKkBrE,EAAQoD,MACxB,6BACA,kCAPF,IAOcpD,EAAQsE,KAGxB,kBAACgE,GAAA,EAAKwX,OAAN,CAAazX,UAAU,cAClB2hB,EACDA,EAAcsH,0BACZ,kBAACC,GAAA,EAAD,KACE,kBAACA,GAAA,EAAUC,KAAX,CACEnpB,UAAU,eACVkE,QAASof,IAET,uDAA0B,IACzB3B,EAAc4E,yBAEjB,kBAAC2C,GAAA,EAAUC,KAAX,CACEnpB,UAAU,cACVkE,QAASof,IAET,oCACE,kBAAC8F,GAAA,EAAD,CACEC,UAAW,QACXC,QACE,kBAACC,GAAA,EAAD,CAAS1tB,GAAE,kBAAa,UAAxB,kEAMF,6BACE,sDAAyB,IACxB8lB,EAAcgF,2BACf,kBAAC,KAAD,CACEnmB,KAAM,GACNuD,MAAO,CACLylB,WAAY,MACZC,aAAc,MACdC,OAAQ,iBAOpB,kBAACR,GAAA,EAAUC,KAAX,CACEnpB,UAAU,YACVkE,QAASof,IAET,wDAA2B,IAC1B3B,EAAckF,yBAEjB,kBAACqC,GAAA,EAAUC,KAAX,CACEnpB,UAAU,iBACVkE,QAASof,IAET,kDAAwB,IACvB3B,EAAcoF,uBAEjB,kBAACmC,GAAA,EAAUC,KAAX,CAAgBnpB,UAAU,yBACxB,4BACE,oDAA0B,IACzB2hB,EAAc8E,0BAGnB,kBAACyC,GAAA,EAAUC,KAAX,CAAgBnpB,UAAU,iBACvBsjB,GACC,kBAACngB,GAAA,EAAD,CACEtH,GAAG,uBACHmE,UAAU,sBACVoD,QAAS,kBAAMmgB,IAAgB,KAHjC,YAKY,IACV,kBAAC,KAAD,CAAU/iB,KAAM,GAAIuD,MAAO,CAAEylB,WAAY,UAG3C,kBAACrmB,GAAA,EAAD,CACEtH,GAAG,uBACHmE,UAAU,sBACVoD,QAAS,kBAAMmgB,IAAgB,KAHjC,WAKW,IACT,kBAAC,KAAD,CAAO/iB,KAAM,GAAIuD,MAAO,CAAEylB,WAAY,YAM9C,kBAACjf,GAAA,EAAD,CAAOC,QAAQ,UAAUqY,IAG3B,yBAAK7iB,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,kBASR,kBAACE,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,EAAG/K,UAAU,QAC5B,kBAACC,GAAA,EAAD,CAAMiM,GAAG,OAAOC,KAAK,QAAQnM,UAAU,4BACrC,kBAACC,GAAA,EAAK+E,OAAN,CAAahF,UAAU,qDACrB,iDACA,kBAACmD,GAAA,EAAD,CAAQqH,QAAQ,gBAAgBpH,QAASolB,IAAzC,yBAIF,kBAACvoB,GAAA,EAAKS,KAAN,CAAWV,UAAU,QACnB,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACkmB,GAAA,EAAD,CACEC,SAAO,EACPC,UAAQ,EACRrf,QAAQ,OACRsf,YAAU,EACVC,OAAK,EACL/pB,UAAU,aAEV,+BACE,4BACE,iCACA,wCACA,+CACA,oCACA,qCACA,yCACA,6CAGJ,+BACGvI,GACC,4BACE,wBAAI+Y,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKkB,GAApBrC,EAAUe,OACZ,4BACE,wBAAIuO,QAAS,GAAb,sBAGFtP,EAAUgB,KAAI,SAACJ,EAAMmC,GAAP,OACZ,wBAAI7F,IAAK6F,GACP,4BAAKA,GACL,4BAAKnC,EAAKiW,cACV,4BAAKjW,EAAKuV,iBACV,4BACKvV,EAAKlG,IACN,oCACE,uBAAGoE,UAAU,gCACV8B,EAAKiV,cAER,kBAAC,KAAD,CACEvW,KAAM,GACNC,MAAM,UACNT,UAAU,oBACVoD,QAAS,kBAAMgL,GAAKtM,EAAKiV,kBAI7B,uBAAG/W,UAAU,cAAb,wBAGJ,4BAAK8B,EAAKkoB,OAAS,MAAQ,UAC3B,4BAAKloB,EAAKslB,UAAY,MAAQ,UAC9B,wBAAIpnB,UAAU,aACZ,kBAACiqB,GAAA,EAAD,CAAUC,KAAK,QACb,kBAACD,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,YACR3O,GAAG,kBAEH,kBAAC,KAAD,CAAU2E,KAAM,MAGlB,kBAACypB,GAAA,EAASE,KAAV,KACE,kBAACF,GAAA,EAASjlB,OAAV,eAAqBlD,EAAKuV,kBAC1B,kBAAC4S,GAAA,EAASd,KAAV,CACE/lB,QAAS,WACPvJ,EAAQc,KAAR,mBAAyBmH,EAAKlG,QAGhC,kBAAC,KAAD,CAAQ4E,KAAM,GAAIC,MAAM,YAL1B,oBAQA,kBAACwpB,GAAA,EAASd,KAAV,CACE/lB,QAAS,kBACP+jB,GAA0BrlB,KAG5B,kBAAC,KAAD,CAAUtB,KAAM,GAAIC,MAAM,YAAa,IALzC,oBAQA,kBAACwpB,GAAA,EAASd,KAAV,CACE/lB,QAAS,kBAAMulB,GAAgB7mB,KAE/B,kBAAC,KAAD,CACEtB,KAAM,GACNC,MAAM,YACL,IANL,qBASA,kBAACwpB,GAAA,EAASd,KAAV,CACE/lB,QAAS,kBAAMgL,GAAKtM,EAAKiV,gBAEzB,kBAAC,KAAD,CAAQvW,KAAM,GAAIC,MAAM,YAAa,IAHvC,eAMA,kBAACwpB,GAAA,EAASd,KAAV,CACE/lB,QAAS,kBACP8jB,GAAsBplB,EAAKyW,UAG7B,kBAAC,KAAD,CAAU/X,KAAM,GAAIC,MAAM,YAAa,IALzC,4BASA,kBAACwpB,GAAA,EAASG,QAAV,MACA,kBAACH,GAAA,EAASd,KAAV,CACE/d,OAAO,SACPwM,KAAI,6CAAwCC,mBAC1C/V,EAAKiV,gBAGP,kBAAC,KAAD,CACEvW,KAAM,GACNC,MAAM,YACL,IATL,sBAYA,kBAACwpB,GAAA,EAASd,KAAV,CACE/d,OAAO,SACPwM,KAAI,uDAAkDC,mBACpD/V,EAAKiV,cADH,SAIJ,kBAAC,KAAD,CAAYvW,KAAM,GAAIC,MAAM,YAAa,IAN3C,iCAmBpB,kBAAC4C,GAAA,EAAD,CACEa,UAAQzM,IAA+B,GAApByJ,EAAUe,SAE7B,kBAACuB,GAAA,EAAD,CACExD,UAAS,iCAA4ByB,IAAcD,GAAc,SAAW,WAG5E,kBAACiC,GAAA,EAAD,CACEC,GAAI,GACJC,GAAI,EACJ3D,UAAU,iCAEV,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACV+lB,WAAW,kBACX/oB,WAAYA,GACZiD,kBAAmB/C,GACnBgD,gBAAiB/C,GACjBgD,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAOpD,GAAcoD,cAYjD,kBAACC,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAMlD,EACNmD,OAAQ,kBA5fZif,GAAe,WACfniB,GAAS,IA4fLqK,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,oCAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BAEb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,IACP,kBAAC4mB,GAAA,EAAD,CAAWtqB,UAAU,aAChB6hB,EACD,oCACE,8BACKA,EAAc0I,QAAhB,mCACuB1I,EAAc0I,SAExC,uBAAGvqB,UAAU,cAAb,+CACmC,IACjC,2BAAI6hB,EAAc9K,eAEpB,kBAAC4S,GAAA,EAAD,CAAOC,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACD,YAAU,EAACtpB,KAAK,MAC5C,+BACE,4BACE,wBAAIR,UAAU,gBAAd,0BACA,wBAAIA,UAAU,eACZ,oCACE,kBAACopB,GAAA,EAAD,CACEC,UAAW,QACXC,QACE,kBAACC,GAAA,EAAD,CAAS1tB,GAAE,kBAAa,UAAxB,kEAMF,qDAEE,kBAAC,KAAD,CACE2E,KAAM,GACNuD,MAAO,CACLylB,WAAY,MACZC,aAAc,MACdC,OAAQ,iBAOpB,wBAAI1pB,UAAU,aAAd,2BACA,wBAAIA,UAAU,gBAAd,8BACA,wBAAIA,UAAU,kBACZ,oCACE,kBAACopB,GAAA,EAAD,CACEC,UAAW,OACXC,QACE,kBAACC,GAAA,EAAD,CAAS1tB,GAAE,kBAAa,SAAxB,0BAKF,iDAEE,kBAAC,KAAD,CACE2E,KAAM,GACNuD,MAAO,CACLylB,WAAY,MACZC,aAAc,MACdC,OAAQ,iBAOpB,wBAAI1pB,UAAU,yBAAd,yBAKJ,+BACE,4BACE,4BAAK6hB,EAAc0E,yBACnB,4BACG1E,EAAcoH,0BACXpH,EAAc8E,2BACd9D,IAEN,4BACGhB,EAAcoH,0BACXpH,EAAcgF,wBACdhE,IAEN,4BAAKiD,IACL,4BAAKjE,EAAckF,uBACnB,wBAAI/mB,UAAU,yBACX6hB,EAAcoH,0BACXpH,EAAc4E,wBACd5D,OAMXhB,EAAc6E,gBAAkB,IAC/B7E,EAAcoH,2BACZ,kBAAC9lB,GAAA,EAAD,CACEqH,QAAQ,OACRpH,QAAS6kB,IAFX,qBAIoB,kBAAC,KAAD,QAK1B,yBAAKjoB,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,kBAOR,kBAACC,GAAA,EAAD,CAAKxD,UAAU,0BAEb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,IACP,kBAAC8mB,GAAA,EAAD,CACE3uB,GAAG,yBACH4uB,UAAWrsB,GACXssB,SAAU,SAACC,GAAD,OAAO7F,GAAO6F,KAExB,kBAACC,GAAA,EAAD,CAAKvS,SAAS,UAAUzM,MAAM,WAC5B,kBAAC+d,GAAA,EAAD,CAAOC,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACD,YAAU,EAACtf,QAAQ,QAC/C,+BACE,4BACE,wBAAImE,MAAM,OAAV,UACA,wBAAIA,MAAM,OAAV,QACA,wBAAIA,MAAM,OAAV,SACA,wBAAIA,MAAM,OAAV,mBAGJ,+BACGsT,EACC,4BACE,wBAAIzR,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKFwe,EAAgB9f,OAAS,EAC3B8f,EAAgB7f,KAAI,SAAC2oB,EAAI3lB,GAAL,OAClB,wBAAI9G,IAAK8G,GACP,4BAAK2lB,EAAGzuB,MACR,4BAAKyuB,EAAG7F,eACR,4BAAK6F,EAAG3F,gBACR,4BACG2F,EAAG5B,0BACA4B,EAAGC,UAAH,eAGAjI,QAKV,wBAAIkI,MAAM,UACR,wBAAIva,QAAS,GAAb,2BAMR,kBAAChN,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACJ,GAAA,EAAD,CACEa,UACE+d,GAA0C,GAA1BF,EAAgB9f,SAKlC,kBAACuB,GAAA,EAAD,CACExD,UAAS,iCAA4B4jB,IAAuBD,GACtD,SACA,WAGN,kBAAClgB,GAAA,EAAD,CACEC,GAAI,GACJC,GAAI,EACJ3D,UAAU,iCAEV,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACV+lB,WAAW,kBACX/oB,WAAYmiB,GACZlf,kBAAmBof,GACnBnf,gBAAiBof,GACjBnf,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAO+e,GAAuB/e,YAQtD,kBAACimB,GAAA,EAAD,CAAKvS,SAAS,aAAazM,MAAM,oBAC/B,kBAAC+d,GAAA,EAAD,CAAOC,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACD,YAAU,EAACtf,QAAQ,QAC/C,+BACE,4BACE,wBAAImE,MAAM,OAAV,oBACA,wBAAIA,MAAM,OAAV,kBACA,wBAAIA,MAAM,OAAV,UACA,wBAAIA,MAAM,OAAV,gBAGJ,+BACGuV,GACC,4BACE,wBAAI1T,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKFygB,GAAa/hB,OAAS,EACxB+hB,GAAa9hB,KAAI,SAAC2oB,EAAI3lB,GAAL,OACf,wBAAI9G,IAAK8G,GACP,4BAAK2lB,EAAGnF,uBACR,4BAAKmF,EAAGjF,wBACR,4BAAKiF,EAAGvF,aACR,4BAAKuF,EAAGrF,sBAAwB,uBAIpC,wBAAIuF,MAAM,UACR,wBAAIva,QAAS,GAAb,mCAUlB,kBAAC5L,GAAA,EAAM6S,OAAP,OAIF,kBAAC7S,GAAA,EAAD,CACEpE,KAAK,KACLqE,KAAM8d,GACN7d,OAAQ,kBAAM8d,IAAU,IACxB5iB,UAAU,OACViM,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,sBAIF,kBAAC+I,GAAA,EAAMlE,KAAP,OACKmhB,GACD,kBAAC,KAAD,CACEhmB,GAAG,aACH8O,YAAa,CACX4N,OAAQuL,IAEVhZ,SAAUod,IAEV,4BACE,mDADF,IAC4BrG,EAAc4E,yBAE1C,kBAAC,KAAD,CAAOpvB,KAAK,SAAS+E,KAAK,WAC1B,kBAAC4O,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAACgL,GAAA,EAAWggB,QAAZ,KACE,kBAAChgB,GAAA,EAAWnK,KAAZ,CAAiBhF,GAAG,gBAApB,eAIF,kBAAC,KAAD,CACEO,KAAK,aACL+O,UAAQ,EACRF,YAAY,eACZjL,UAAU,eACV2L,QAAS2Y,MAGb,kBAACtZ,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAACgL,GAAA,EAAWggB,QAAZ,KACE,kBAAChgB,GAAA,EAAWnK,KAAZ,CAAiBhF,GAAG,gBAApB,UAEF,kBAAC,GAAD,CACEoP,YAAY,UACZjL,UAAU,eACVqL,MAAOmZ,GACP9f,SAAU,gBAAG0G,EAAH,EAAGA,OAAH,OACRqZ,GACEnc,OAAO8C,EAAOC,MAAM3B,QAAQ,MAAO,IAAIA,QAAQ,KAAM,OAGzDtN,KAAK,eACL/E,KAAK,UAGT,kBAAC8L,GAAA,EAAD,CAAQ6I,OAAK,EAAC3U,KAAK,UAAnB,wBASR,kBAACuN,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAMsd,EACNrd,OAAQ,kBAAMsd,GAAmB,IACjCnW,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,oBAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,KACE,kBAACxD,GAAA,EAAD,CAAMiM,GAAG,QAAQlM,UAAU,4BACzB,kBAACC,GAAA,EAAK+E,OAAN,KACE,8CAEF,kBAAC/E,GAAA,EAAKS,KAAN,CAAWV,UAAU,QACG,IAArB0kB,GAAUziB,OACT,yBAAKjC,UAAU,iBAAf,kCAIA,kBAAC,KAAD,CACE2K,YAAa,CACX0M,gBAAiBuN,GAAYqG,uBAC7B9e,KAAMyY,GAAYsG,iBAEpBpgB,SAAU4d,IAEV,kBAACllB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,2BAAO3D,UAAU,kBACf,mDACA,kBAAC,KAAD,CACE0E,SAAUye,GACVzX,QAASwX,MAGb,6BACA,2BAAOljB,UAAU,kBACf,0CACA,kBAAC,KAAD,CACE0E,SAAU2e,GACV3X,QAAS0X,QAKjB,kBAAC5f,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,yBAAK3D,UAAU,cACb,2BAAOmrB,QAAQ,iBAAf,YACA,kBAAC,KAAD,CACE/uB,KAAK,aACLP,GAAG,gBACHsP,UAAQ,EACRF,YAAY,eACZjL,UAAU,eACV0E,SAAU+jB,GACV9c,QAAS+Y,OAIf,kBAACjhB,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,yBAAK3D,UAAU,cACb,2BAAOmrB,QAAQ,oBAAf,WACA,kBAAC,KAAD,CACE/uB,KAAK,WACLP,GAAG,mBACHoP,YAAY,0CACZjL,UAAU,oBAKlB,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,cACb,2BAAOmrB,QAAQ,wBAAf,gCAGA,kBAAC,KAAD,CACE/uB,KAAK,kBACLP,GAAG,uBACHsP,UAAQ,EACRigB,UAAU,KACVprB,UAAU,oBAKlB,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,yBAAKzD,UAAU,cACb,2BAAOmrB,QAAQ,oBAAf,2BAGA,kBAAC,KAAD,CACEE,WAAS,EACTjvB,KAAK,OACL+O,UAAQ,EACRtP,GAAG,mBACHmE,UAAU,eACVsrB,KAAK,IACLF,UAAU,WAKlB,uBAAGprB,UAAU,cAAb,sEAGA,kBAACmD,GAAA,EAAD,CACEqH,QAAQ,UACRnT,KAAK,SACL2U,OAAK,EACLd,SAAU+W,GAETA,EACC,kBAAC3e,GAAA,EAAD,CAASC,UAAU,WADR,0BAgB/B,kBAACqB,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAM0d,EACNzd,OAAQ,kBAAM0d,GAAe,IAC7BvW,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,qBAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,KACE,kBAACxD,GAAA,EAAD,CAAMiM,GAAG,QAAQlM,UAAU,4BACzB,kBAACC,GAAA,EAAK+E,OAAN,KACE,gDAEF,kBAAC/E,GAAA,EAAKS,KAAN,CAAWV,UAAU,QAChBiiB,GAAmC,MAAnBI,EACjB,kBAAC7e,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKiB,MAAnB8e,EACF,sCACK+B,KAAkBA,GAAc2E,QACjC,kBAACxe,GAAA,EAAD,CACEC,QAAO,OACPxK,UAAU,YACVygB,QAAS,kBAAMqI,GAAazG,EAAgB9J,SAC5CgT,aAAW,GAEX,4DAEEzP,GAAUyJ,MAAK,SAACpjB,GAAD,OAAOA,EAAEtG,KAAOuoB,GAAcxrB,UAC1CgT,MAEL,+BACGwY,GAAcoH,mBACf,oCACE,sDACCpH,GAAcoH,mBAAqB,GACpC,8BAGJ,+DACCpH,GAAcqH,wBAA0B,IAK7C,kBAACjoB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,2BAAO3D,UAAU,kBACf,mDACA,kBAAC,KAAD,CACE0E,SAAU,SAAC9L,GAAD,OACR0uB,GACE1uB,EACAypB,EAAgB9J,SAGpB7M,QAASoX,MAGb,6BACA,2BAAO9iB,UAAU,kBACf,0CACA,kBAAC,KAAD,CACE0E,SAAU,SAAC9L,GAAD,OACR8uB,GACE9uB,EACAypB,EAAgB9J,SAGpB7M,QAASsX,OAIf,kBAACvf,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,GACf,+BACE,0BAAM/K,UAAU,cACXqiB,EAAgBzmB,IACfymB,EAAgBtL,aAChB,uBAEN,6BACA,6BACA,kBAAC5T,GAAA,EAAD,CACEC,QAAS,kBACPukB,GAAqBtF,EAAgB9J,UAFzC,sBAUN,8BAGG6L,IACyB,KAAzBA,GAAcxrB,QACY,KAAzBwrB,GAAcxrB,OA6GhB,kBAAC,KAAD,CACE+R,YAAa0X,EACbvX,SAAU8c,IAEV,kBAAC,KAAD,CAAOxrB,KAAK,SAAS/E,KAAK,WAE1B,kBAACmM,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,yBAAK3D,UAAU,cACb,2BAAOmrB,QAAQ,oBAAf,WAGA,kBAAC,KAAD,CACE/uB,KAAK,WACLP,GAAG,mBACHoP,YAAY,0CACZjL,UAAU,mBAIhB,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,yBAAK3D,UAAU,cACb,2BAAOmrB,QAAQ,wBAAf,gCAGA,kBAAC,KAAD,CACE/uB,KAAK,kBACL+O,UAAQ,EACRtP,GAAG,uBACHmE,UAAU,eACVorB,UAAU,UAKlB,yBAAKprB,UAAU,cACb,2BAAOmrB,QAAQ,oBAAf,2BAGA,kBAAC,KAAD,CACEE,WAAS,EACTjvB,KAAK,OACL+O,UAAQ,EACRtP,GAAG,mBACHmE,UAAU,eACVsrB,KAAK,IACLF,UAAU,SAGd,uBAAGprB,UAAU,cAAb,wEAIA,kBAACmD,GAAA,EAAD,CACEqH,QAAQ,UACRnT,KAAK,SACL2U,OAAK,EACLd,SAAU+W,GAETA,EACC,kBAAC3e,GAAA,EAAD,CAASC,UAAU,WADR,WAvKjB,oCACE,kBAAC,KAAD,CACEoH,YAAayZ,GACbtZ,SAAUgd,IAEV,kBAAC,KAAD,CAAO1rB,KAAK,iBAAiB/E,KAAK,WAClC,kBAACmM,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,yBAAK3D,UAAU,cACb,2BAAOmrB,QAAQ,oBAAf,WAGA,kBAAC,KAAD,CACE/uB,KAAK,WACLP,GAAG,mBACHqP,UAAQ,EACRD,YAAY,GACZjL,UAAU,mBAIhB,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,yBAAK3D,UAAU,cACb,2BAAOmrB,QAAQ,wBAAf,gCAGA,kBAAC,KAAD,CACE/uB,KAAK,kBACL8O,UAAQ,EACRrP,GAAG,uBACHmE,UAAU,eACVorB,UAAU,UAKlB,yBAAKprB,UAAU,cACb,2BAAOmrB,QAAQ,oBAAf,2BAGA,kBAAC,KAAD,CACEE,WAAS,EACTjvB,KAAK,OACL8O,UAAQ,EACRrP,GAAG,mBACHmE,UAAU,eACVsrB,KAAK,IACLF,UAAU,SAIY,KAAzBhH,GAAcxrB,QACb,kBAAC4K,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACN,GAAA,EAAD,CACEqH,QAAQ,SACRnT,KAAK,SACL2U,OAAK,EACLd,SAAU+W,EACV7e,QAAS,kBAAMsf,EAAgB,MAE9BT,EACC,kBAAC3e,GAAA,EAAD,CAASC,UAAU,WADR,yCAUK,KAAzB6gB,GAAcxrB,QACb,kBAAC4K,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACN,GAAA,EAAD,CACEqH,QAAQ,SACRnT,KAAK,SACL2U,OAAK,EACLd,SAAU+W,EACV7e,QAAS,kBAAMsf,EAAgB,MAE9BT,EACC,kBAAC3e,GAAA,EAAD,CAASC,UAAU,WADR,0BAOjB,kBAACE,GAAA,EAAD,KACE,kBAACN,GAAA,EAAD,CACEqH,QAAQ,UACRnT,KAAK,SACL2U,OAAK,EACLd,SAAU+W,EACV7e,QAAS,kBAAMsf,EAAgB,MAE9BT,EACC,kBAAC3e,GAAA,EAAD,CAASC,UAAU,WADR,yBAiF7B,4CClzDpB,IAIemoB,GAJU,CACvB,CAAE7vB,GAAI,GAAI+P,MAAO,UACjB,CAAE/P,GAAI,GAAI+P,MAAO,4B,iJCAZ,IAAMhM,GAAUC,KAAOC,IAAV,MC6BL,SAAS6rB,GAAT,GAA4B,EAAXh0B,QACbqH,cADyB,IAAD,EAEPiC,mBAAS,IAFF,oBAElCC,EAFkC,KAEvBC,EAFuB,OAGCF,mBAAS,IAHV,oBAGlC4gB,EAHkC,KAGnBC,EAHmB,OAIf7gB,oBAAS,GAJM,oBAIlCU,EAJkC,KAI3BC,EAJ2B,OAMGX,mBAAS,MANZ,oBAMlCulB,EANkC,KAMlBoF,EANkB,OAOX3qB,oBAAS,GAPE,oBAOlCxJ,EAPkC,KAOzB2J,EAPyB,OASLH,mBAAS,GATJ,oBASlCK,EATkC,KAStBC,EATsB,OAUHN,mBAAS,IAVN,oBAUlCO,EAVkC,KAUrBgiB,EAVqB,OAWLviB,mBAAS,GAXJ,oBAWlCQ,EAXkC,KAWtBC,EAXsB,OAaTT,mBAAS,MAbA,oBAalCqR,EAbkC,KAaxBC,EAbwB,OAcPtR,oBAAS,GAdF,oBAclC4qB,EAdkC,KAcvBC,EAduB,KAiBzC/oB,qBAAU,WAAM,4CACd,8BAAA5G,EAAA,+EAE2BnC,EAAIyB,IAAJ,6BAF3B,OAEUpB,EAFV,OAGUe,EAAOf,EAASe,KAEtBwwB,EAAkB,eACbxwB,EADY,CAEfmrB,wBAAyBphB,GAAY/J,EAAKorB,gBAAkB,GAC5DG,2BAA4BxhB,GAAY/J,EAAKwrB,mBAAqB,GAClEC,wBAAyB1hB,GAAY/J,EAAK0rB,gBAAkB,MATlE,gDAYU,KAAMzsB,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,kDAblB,0DADc,uBAAC,WAAD,wBAkBdsH,KACC,IAEHkB,qBAAU,WAAM,4CACd,8BAAA5G,EAAA,sEAEIiF,GAAW,GAFf,SAI2BpH,EAAIyB,IAAJ,uCACW6F,EADX,YACyBE,IALpD,OAIUnH,EAJV,OAOUe,EAAOf,EAASe,KACtBsG,EAActG,EAAK2G,WAEnBZ,EACE/F,EAAK4G,SACFE,KAAI,SAACC,GAAD,sBACAA,EADA,CAEH4U,aAAa,GAAD,OAAKC,GAAL,oBAA0B7U,EAAEvG,KACxCopB,cAAeziB,aAAO,IAAIlD,KAAK8C,EAAE8iB,MAAO,oBACxCC,eAAgB/f,GAAYhD,EAAEkJ,OAC9B0gB,2BAA4BL,GAAiBnG,MAC3C,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsG,EAAE6pB,qBAEhBN,GAAiBnG,MAAK,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsG,EAAE6pB,qBACrCpgB,MACH,6BAELuZ,MAAK,SAAChpB,EAAGipB,GAAJ,OAAUA,EAAEH,KAAKI,cAAclpB,EAAE8oB,UAG3C7jB,GAAW,GA3Bf,kDA6BU,KAAM/G,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,kDA9BlB,2DADc,uBAAC,WAAD,wBAmCdsH,KACC,CAACP,EAAYkiB,IAEhB,IAAMyI,EAAkB,uCAAG,WAAO7wB,GAAP,SAAAe,EAAA,sDACzB2lB,EAAiB1mB,GACjBwG,GAAS,GAFgB,2CAAH,sDAKlBsqB,EAAmB,uCAAG,WAAO9wB,GAAP,SAAAe,EAAA,sDAC1B2vB,GAAa,GACbvZ,EAAY/F,GAAkBpR,IAFJ,2CAAH,sDAkCnBgV,EAAelI,mBAErB,OACE,kBAAC,GAAD,KACE,kBAAC7E,GAAA,EAAD,KACE,kBAACG,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAI4G,GAAI,GAAItK,UAAU,QAC7B,kBAACC,GAAA,EAAD,CAAMiM,GAAG,OAAOC,KAAK,QAAQnM,UAAU,4BACrC,kBAACC,GAAA,EAAK+E,OAAN,KACE,4DADF,UAGA,kBAAC/E,GAAA,EAAKS,KAAN,CAAWV,UAAU,QACnB,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACkmB,GAAA,EAAD,CACEC,SAAO,EACPC,UAAQ,EACRrf,QAAQ,OACRsf,YAAU,EACVC,OAAK,EACL/pB,UAAU,aAEV,+BACE,4BACE,oCACA,mCACA,oCACA,qCACA,sCACA,6CAGJ,+BACGvI,EACC,4BACE,wBAAI+Y,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAMJrC,EAAUgB,KAAI,SAACJ,EAAMmC,GAAP,OACZ,wBAAI7F,IAAK6F,GACP,4BAAKnC,EAAKlB,aACV,4BACE,kBAACuC,GAAA,EAAD,CACEyU,KAAM9V,EAAKiV,aACX3L,OAAO,SACPZ,QAAQ,aAHV,kBAKiB,kBAAC,KAAD,QAGnB,4BAAK1I,EAAKkjB,eACV,4BAAKljB,EAAKojB,gBACV,4BACGpjB,EAAKgpB,UAAY,WAAa,YAEjC,wBAAI9qB,UAAU,aACZ,kBAACiqB,GAAA,EAAD,CAAUC,KAAK,QACb,kBAACD,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,YACR3O,GAAG,kBAEH,kBAAC,KAAD,CAAU2E,KAAM,MAGlB,kBAACypB,GAAA,EAASE,KAAV,KAjGb,SAACroB,GAClB,OAAIA,EAAKgpB,UAEL,kBAACb,GAAA,EAASd,KAAV,CACE/lB,QAAS,WACP6oB,EAAmBnqB,KAGrB,kBAAC,KAAD,CAAWtB,KAAM,GAAIC,MAAM,YAL7B,gBAWyB,KAA3BqB,EAAKkqB,mBACkB,KAAvBlqB,EAAKqqB,gBACc,IAAnBrqB,EAAKgpB,UAGH,kBAACb,GAAA,EAASd,KAAV,CACE/lB,QAAS,WACP8oB,EAAoBpqB,EAAK6T,eAG3B,kBAAC,KAAD,CAAenV,KAAM,GAAIC,MAAM,YALjC,6BANJ,EAqFiC2rB,CAAWtqB,YAOrB0kB,GACD,4BACE,wBAAIhW,QAAS,GACX,wDAA2B,IAC1BgW,EAAeD,yBAElB,wBAAI/V,QAAS,GACX,iDAA0B,IACzBgW,EAAeG,4BAElB,wBAAInW,QAAS,GACX,iDAA0B,IACzBgW,EAAeK,8BAQ9B,kBAACxjB,GAAA,EAAD,CACEa,UAAQzM,GAAgC,IAArByJ,EAAUe,SAE7B,kBAACuB,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CACEC,GAAI,GACJC,GAAI,EACJ3D,UAAU,iCAEV,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACV+lB,WAAW,kBACX/oB,WAAYA,EACZiD,kBAAmB/C,EACnBgD,gBAAiB/C,EACjBgD,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAOpD,EAAcoD,cAYjD,kBAACC,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAMlD,EACNmD,OAAQ,kBAAMlD,GAAS,IACvBqK,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,6BAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BAGb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,MACJme,EAAcjhB,aACf,oCACE,kBAAC0pB,GAAA,EAAD,CAAWja,IAAKD,GACd,8BACKyR,EAAcjhB,aAAhB,kCACsBihB,EAAcjhB,cAEvC,2BACE,qCADF,IACiBihB,EAActK,eAAiB,IAEhD,2BACE,oDADF,IAC0BsK,EAAc9K,cAExC,2BACE,yDADF,IAC4B8K,EAAcpX,YAE1C,2BACE,qCADF,IACiBoX,EAAcqD,gBAE/B,2BACE,oDADF,IAC0BrD,EAAcmD,eAExC,2BACE,gDADF,IAC4BnD,EAAc9J,cAE1C,2BACE,uDACC8J,EAAckK,4BAEdlK,EAAcwK,aACf,2BACE,uDAGF,2BACE,qDAGJ,2BACE,oDACGxK,EAAciJ,UAAY,aAAe,iBAE9C,kBAACvf,GAAA,EAAD,CAAOf,QAAQ,WAAf,mDAYd,kBAAC5F,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAMgnB,EACN/mB,OAAQ,kBAAMgnB,GAAa,IAC3B7f,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,0BAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,IACM,MAAZ4O,EACC,kBAAC5C,GAAD,CAAiBtU,KAAMkX,IAEvB,yBAAKtS,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,oB,mRCtWT,IAAM3D,GAAUC,KAAOC,IAAV,MC4BL,SAASwsB,KACtB,IAAMvtB,EAAWC,cADiB,EAEJiC,oBAAS,GAFL,oBAE3BxJ,EAF2B,KAElB2J,EAFkB,OAGJH,mBAAS,IAHL,oBAG3B1E,EAH2B,KAGlB8E,EAHkB,OAKMJ,oBAAS,GALf,oBAK3ByG,EAL2B,KAKbC,EALa,OAME1G,mBAAS,IANX,oBAM3B+G,EAN2B,KAMfC,EANe,KAU5BtQ,EAAUiO,aAAY,SAACzN,GAAD,OAAWA,EAAMf,KAAKO,WAC5CC,EAAWgO,aAAY,SAACzN,GAAD,OAAWA,EAAMf,KAAKQ,YAE7C20B,EAAiB,CAAC,QAAS,WAEjCxpB,qBAAU,WAAM,4CACd,8BAAA5G,EAAA,yDACEiF,GAAW,GADb,SAGIC,EAAW,iBACN1J,EAAQgB,mBAJjB,qBAKgD,IAAtC4zB,EAAeC,QAAQ50B,GALjC,iCAM+BoC,EAAIyB,IACZ,YAAb7D,EAAA,qEAPV,OAMcyC,EANd,OAWcgf,EAAKhf,EAASe,KAEpBuM,GAAgB,GAChBM,EAAcoR,GAdtB,QAiBMjY,GAAW,GAjBjB,wBAmBMA,GAAW,GAnBjB,0DAsBIC,EAAW,kDAtBf,2DADc,uBAAC,WAAD,wBAkCdQ,KACC,IAEH,IAAM4qB,EAAgB,uCAAG,sBAAAtwB,EAAA,sDACvB4C,EAASjC,EAAwBlF,IACjC+P,GAAgB,GAFO,2CAAH,qDAwBhB+kB,EAAqB,SAAC,GAAiB,IAAf/0B,EAAc,EAAdA,QACtBg1B,EAAiB,uCAAG,oCAAAxwB,EAAA,sEACDnC,EAAI+B,IAAJ,2CADC,OAClB1B,EADkB,SAGYA,EAASe,KAArCmB,EAHgB,EAGhBA,QAAS3D,EAHO,EAGPA,OAAQuR,EAHD,EAGCA,OACrBvR,GACFmG,EAAS/B,EAAwBmN,IACjCzP,IAAM8B,QACJ,mEAGF9B,IAAMH,MAAMgC,GAVU,2CAAH,qDAajBqwB,EAAuB,uCAAG,kCAAAzwB,EAAA,sEACPnC,EAAIguB,OAAJ,qCADO,OACxB3tB,EADwB,SAGMA,EAASe,KAArCmB,EAHsB,EAGtBA,QAAS3D,EAHa,EAGbA,OAHa,EAGLuR,OACrBvR,GACF8B,IAAM8B,QAAQ,gDACd9C,OAAOggB,YAAW,WAChBhgB,OAAOC,SAAW,YACjB,MAEHe,IAAMH,MAAMgC,GAVgB,2CAAH,qDAcrBpD,EAAuCxB,EAAvCwB,YAAaE,EAA0B1B,EAA1B0B,eACbN,GADuCpB,EAAVoD,MACmB5B,EAAhDJ,UAA6BE,GAAmBE,EAAtCH,kBAAsCG,EAAnBF,gBAErC,OACE,oCACE,kBAACoK,GAAA,EAAD,KACE,kBAACG,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIqH,GAAI,GAAI/K,UAAU,QAC7B,kBAACsqB,GAAA,EAAD,KACE,kEACGvxB,EACD,oCACE,uBAAGiH,UAAU,MAAb,2BAC2B,IACzB,0BAAMA,UAAU,sBAAsBjH,IAGxC,uBAAGiH,UAAU,MACVgQ,aAAS6c,aAAS5zB,GAAiB,IAAIoG,OACtC,4BAFJ,qDAG+C,IAC7C,kBAAC8D,GAAA,EAAD,CACEqH,QAAQ,UACRxK,UAAU,SACVoD,QAASupB,GAHX,iBAUJ,uBAAG3sB,UAAU,MAAb,qDACkD,IAChD,kBAACmD,GAAA,EAAD,CACEqH,QAAQ,UACRxK,UAAU,SACVoD,QAAS,kBAAMrE,ECnK5B,CACL1H,KAAM,iCD+JU,cAUHgC,GACC,2BACE,kBAAC8J,GAAA,EAAD,CAAQqH,QAAQ,SAASpH,QAASwpB,GAAlC,qCAalB,OACE,kBAAC,GAAD,CAAS5sB,UAAU,QAChBvI,EACC,kBAAC4L,GAAA,EAAD,KACE,4BAAK9G,KAGNmL,GAhHiB,SAAC9P,EAAUD,GACjC,OAAQC,GACN,IAAK,UACH,OACGD,EAAQ0B,gBACgC,OAAxCd,KAAKe,UAAU3B,EAAQwB,eACrBxB,EAAQwB,YAAYH,kBAEhB0zB,EAAmB,CAAE/0B,YAErB,kBAAC+pB,GAAD,CAAS/pB,QAASA,IAE7B,IAAK,QACH,OAAO,kBAACg0B,GAAD,CAAOh0B,QAASA,KAmGNm1B,CAAgBl1B,EAAUD,GAI7C,kBAACiN,GAAA,EAAD,CACEpE,KAAK,KACLqE,KAAM6C,EACN1H,UAAU,OACViM,kBAAgB,+BAChB8gB,SAAS,UAET,kBAACnoB,GAAA,EAAMlE,KAAP,KACE,kBAACT,GAAA,EAAD,CAAMiM,GAAG,OAAOC,KAAK,SACnB,kBAAClM,GAAA,EAAK+E,OAAN,KACE,6CAEF,kBAAC/E,GAAA,EAAKS,KAAN,KACE,kBAACT,GAAA,EAAKY,KAAN,CACEb,UAAU,kBACVoM,wBAAyB,CACvBC,OAAQrE,EAAWmE,MAAQ,OAIjC,kBAAClM,GAAA,EAAKwX,OAAN,KACE,kBAACtU,GAAA,EAAD,CACEqH,QAAQ,UACRpH,QAAS,kBAAMqpB,KACfzgB,OAAK,GAHP,8BEtNC,SAASghB,KAEtB,IAAIrzB,EAAW0hB,cA0Bf,OAxBAtY,oBAAS,sBAAC,sCAAA5G,EAAA,yDACF0f,EAAS,IAAIoR,gBAAgBtzB,EAASkiB,QACtChgB,EAAKggB,EAAOpgB,IAAI,MAChByxB,EAAarR,EAAOpgB,IAAI,eAExBI,IAAQqxB,EALN,iCAMiBlzB,EAAIkB,KAAJ,uDAC2BgyB,EAD3B,eAC4CrxB,GACjE,IARI,OAMAxB,EANA,SAUsBA,EAASe,KAA7BmB,EAVF,EAUEA,QAVF,EAUW3D,QAEf8B,IAAM8B,QAAQ,sCACd9C,OAAOggB,YAAW,WAChBhgB,OAAOC,SAAW,YACjB,MAEHe,IAAMH,MAAMgC,GAjBR,wBAoBN7B,IAAMH,MAAM,4CApBN,4CAsBP,IAEI,8B,4tGCpCsBsF,KAAOC,IAAV,MAArB,IASMF,GAAUC,KAAOC,IAAV,MCqBL,SAASqtB,KAAgB,IAC9BC,EAAW/W,cAAX+W,OAD6B,EAGSnsB,mBAAS,GAHlB,oBAG9BosB,EAH8B,KAGbC,EAHa,OAKGrsB,oBAAS,GALZ,oBAK9ByG,EAL8B,KAKhBC,EALgB,OAMD1G,mBAAS,CAC3CkL,KAAM,GACNP,MAAO,GACPqZ,KAAM,KAT6B,oBAM9Bjd,EAN8B,KAMlBC,EANkB,KAY/BslB,EAAYrlB,iBAAO,MACnBslB,EAAStlB,iBAAO,MAEtBnF,qBAAU,WACR0qB,MACC,IAEH,IAAMA,EAAc,uCAAG,oCAAAtxB,EAAA,sEACEnC,EAAIyB,IAAJ,iCADF,OACfpB,EADe,SAEiBA,EAASe,KAAvCsyB,EAFa,EAEbA,aAAcvhB,EAFD,EAECA,KAAMP,EAFP,EAEOA,MAC5B3D,EAAc,CACZkE,OACAP,QACAqZ,KAAMyI,EACFnrB,aAAO,IAAIlD,KAAKquB,GAAe,mBAAoB,CACjDlrB,OAAQC,OAEV,OAVe,2CAAH,qDAcpBM,qBAAU,WACR,OAAQqqB,GACN,IAAK,YACHO,EAAYJ,GACZ,MACF,IAAK,SACHI,EAAYH,GACZ,MACF,QACEG,EAAYJ,MAGf,CAACH,IAEJ,IAAMO,EAAc,SAACtd,GACnB,IAAMud,EAAavd,EAAIa,QAAQ2c,UAG3B3oB,EAAImoB,EAGR,GAFAC,EAAmBM,GAEfP,EAAkBO,EACpB,IAAIE,EAAMC,aAAY,WACpBr0B,OAAOs0B,SAASX,EAAiBnoB,IACjCA,GAAK,KACI0oB,IACPK,cAAcH,GACdR,EAAmBpoB,MAXJ,UAenB,IAAI4oB,EAAMC,aAAY,WACpBr0B,OAAOs0B,SAASX,EAAiBnoB,IACjCA,GAAK,KACI0oB,IACPK,cAAcH,GACdR,EAAmBpoB,MApBJ,MA0BvB,OACE,oCACE,kBAAC,GAAD,CAASlF,UAAU,QACjB,6BAASA,UAAU,YACjB,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,wBAAwBqQ,IAAKkd,GAC1C,yBACEvtB,UAAU,8CACV+D,MAAO,CACLmqB,gBAAgB,QAAD,OAAUC,KAAV,MACfC,mBAAoB,YAGxB,yBAAKpuB,UAAU,6CACb,gDACA,uBAAGA,UAAU,aAAb,mdAWJ,yBAAKA,UAAU,yBACb,yBACEA,UAAU,mCACV+D,MAAO,CACLmqB,gBAAgB,QAAD,OAAUG,KAAV,MACfD,mBAAoB,YAGxB,yBAAKpuB,UAAU,kCACb,uBAAGA,UAAU,aAAb,uCAEE,0BAAMA,UAAU,oBAAhB,aAFF,y5BAqBJ,yBAAKA,UAAU,wBAAwBqQ,IAAKmd,GAC1C,yBACExtB,UAAU,8CACV+D,MAAO,CACLmqB,gBAAgB,QAAD,OAAUI,KAAV,MACfF,mBAAoB,YAGxB,yBAAKpuB,UAAU,6CACb,6CACA,uBAAGA,UAAU,aAAb,uVASJ,yBAAKA,UAAU,yBACb,yBACEA,UAAU,mCACV+D,MAAO,CACLmqB,gBAAgB,QAAD,OAAUK,KAAV,MACfH,mBAAoB,YAGxB,yBAAKpuB,UAAU,kCACb,uBAAGA,UAAU,aAAb,iZASA,uBAAGA,UAAU,wBACX,kBAACmD,GAAA,EAAD,CACEyU,KAAK,mBACLxM,OAAO,SACPZ,QAAQ,SACRzG,MAAO,CAAEmW,aAAc,SAJzB,6BAWN,yBAAKla,UAAU,0CACb,yBAAKA,UAAU,wBACb,kBAACmD,GAAA,EAAD,CACEY,MAAO,CAAEmW,aAAc,QACvB9W,QAAS,kBAAMuE,GAAgB,KAFjC,2BAI0B,kBAAC,KAAD,YASpC,kBAAC/C,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAM6C,EACN5C,OAAQ,kBAAM6C,GAAgB,IAC9BsE,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCACbmM,EAAW4D,MAAO,IACnB,kBAACL,GAAA,EAAD,CAAOf,QAAQ,aACb,kBAAC,KAAD,MADF,WAEOxC,EAAWid,SAItB,kBAACrgB,GAAA,EAAMlE,KAAP,KACE,kBAACT,GAAA,EAAD,CAAMiM,GAAG,QAAQC,KAAK,QACpB,kBAAClM,GAAA,EAAKS,KAAN,KACE,kBAACT,GAAA,EAAKY,KAAN,CACEb,UAAU,kBACVoM,wBAAyB,CACvBC,OAAQrE,EAAWmE,a,cCjPtB,SAASqiB,KACtB,IAAMz2B,EAAgB6N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOrB,iBAC1DgL,qBAAU,cAAU,CAAChL,IAuCrB,OACE,oCACE,yBAAKiI,UAAU,sGACb,wBAAIA,UAAU,MAAd,SAGF,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKE,GAAI,GAAIoH,GAAI,EAAG/K,UAAU,QAC5B,kBAACC,GAAA,EAAD,KACE,kBAACA,GAAA,EAAK+E,OAAN,mBACA,kBAAC/E,GAAA,EAAKS,KAAN,KACE,kBAAC,KAAD,CAAUtF,KAhDA,CACpBqzB,OAAQ,CAAC,WAAY,cAAe,aACpCC,SAAU,CACR,CACEtzB,KAAM,CAAC,IAAK,IAAK,KACjB6e,gBAAiB,CAAC,UAAW,UAAW,WACxC0U,qBAAsB,CAAC,UAAW,UAAW,mBA8C7C,kBAAClrB,GAAA,EAAD,CAAKE,GAAI,GAAIoH,GAAI,EAAG/K,UAAU,QAC5B,kBAACC,GAAA,EAAD,KACE,kBAACA,GAAA,EAAK+E,OAAN,qCACA,kBAAC/E,GAAA,EAAKS,KAAN,KACE,kBAAC,KAAD,CAAKtF,KAlCD,CACdqzB,OAAQ,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,QACjEC,SAAU,CACR,CACE1S,MAAO,oCACP/B,gBAAiB,uBACjB2U,YAAa,qBACbC,YAAa,EACbF,qBAAsB,uBACtBG,iBAAkB,qBAClB1zB,KAAM,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,YA6BjC,kBAACoI,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKE,GAAI,GAAIoH,GAAI,EAAG/K,UAAU,QAC5B,kBAACC,GAAA,EAAD,KACE,kBAACA,GAAA,EAAK+E,OAAN,2BACA,kBAAC/E,GAAA,EAAKS,KAAN,KACE,kBAAC,KAAD,CAAUtF,KAvDD,CACnBqzB,OAAQ,CAAC,WAAY,eAAa,UAClCC,SAAU,CACR,CACEtzB,KAAM,CAAC,GAAI,IAAK,IAChB6e,gBAAiB,CAAC,UAAW,UAAW,WACxC0U,qBAAsB,CAAC,UAAW,UAAW,mBAqD7C,kBAAClrB,GAAA,EAAD,CAAKE,GAAI,GAAIoH,GAAI,MClFV,SAASgkB,GAAczT,GACpC,OAAOje,OAAO2xB,QAAQ1T,GACnByK,QAAO,SAAC5jB,GAAD,MAAgB,KAATA,EAAE,MAChBD,KAAI,SAAC+sB,GAAD,OAAUA,EAAK/sB,IAAI2V,oBAAoBrP,KAAK,QAChDA,KAAK,K,cCgCK,SAAS0mB,KACtB,IAAMn3B,EAAgB6N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOrB,iBAEpD2gB,EAAUxQ,iBAAO,MACjByQ,EAAYzQ,iBAAO,MAJiB,EAKRjH,oBAAS,GALD,oBAKnC6X,EALmC,KAKxBC,EALwB,OAMF9X,mBAAS,IANP,oBAMnC+X,EANmC,KAMrBC,EANqB,OAOZhY,mBAAS,GAPG,oBAOnCiY,EAPmC,KAO1BC,EAP0B,OAShBlY,mBAAS,IATO,oBASnCkuB,EATmC,KAS5BC,EAT4B,OAUZnuB,oBAAS,GAVG,oBAUnCxJ,EAVmC,KAU1B2J,EAV0B,OAYNH,mBAAS,GAZH,oBAYnCK,EAZmC,KAYvBC,EAZuB,OAaJN,mBAAS,IAbL,oBAanCO,EAbmC,KAatBgiB,EAbsB,OAcNviB,mBAAS,GAdH,oBAcvBS,GAduB,aAgBAT,mBAAS,IAhBT,oBAgBnCmjB,EAhBmC,KAgBpBC,EAhBoB,OAiBJpjB,oBAAS,GAjBL,oBAiBnCshB,EAjBmC,KAiBtBC,EAjBsB,OAmBEvhB,mBAAS,CACnDxJ,SAAS,EACT43B,gBAAgB,EAChBxqB,MAAM,EACNzJ,KAAM,KAvBkC,oBAmBnCk0B,EAnBmC,KAmBnBC,EAnBmB,QA0BEtuB,mBAAS,CACnDxJ,SAAS,EACT43B,gBAAgB,EAChBxqB,MAAM,EACNzJ,KAAM,KA9BkC,sBA0BnCo0B,GA1BmC,MA0BnBC,GA1BmB,MAkC1C1sB,qBAAU,WACRxB,EAAc,KACb,CAACxJ,EAAeihB,IAGnBjW,qBAAU,YACM,uCAAG,8BAAA5G,EAAA,sEAEbiF,GAAW,GAFE,SAIUpH,EAAIyB,IAAJ,gDACoB1D,EADpB,YACqCuJ,EADrC,YACmDE,EADnD,YACkEutB,GACrF,CAAElT,OAAQ7C,MAND,OAIP3e,EAJO,OAUPgsB,EAAgBhsB,EAASe,KAC/BsG,EAAc2kB,EAActkB,WAC5BqtB,EAAS/I,EAAcrkB,SAASE,KAAI,SAACC,GAAD,OAAOA,MAZ9B,kDAcP,KAAM9H,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gCAfD,yBAkBb6G,GAAW,GAlBE,6EAAH,qDAqBdS,KACC,CAACP,EAAYkiB,EAAgBzrB,EAAeihB,IAE/CjW,qBAAU,WACJ+V,GACFH,EAAUzH,QAAQ7K,UAEnB,CAACyS,IAEJ,IAMM4W,GAAqB,uCAAG,WAAOC,GAAP,eAAAxzB,EAAA,6DAC5BozB,GAAkB,SAACK,GAAD,sBACbA,EADa,CAEhBP,gBAAgB,EAChB53B,SAAS,EACToN,MAAM,OAGR4qB,IAAkB,SAACG,GAAD,sBACbA,EADa,CAEhBn4B,SAAS,OAViB,SAYLuC,EAAIyB,IAAJ,mEACuC1D,EADvC,YACwD43B,IAbnD,OAYtBt1B,EAZsB,OAgB5Bk1B,GAAkB,SAACK,GAAD,sBACbA,EADa,CAEhBn4B,SAAS,EACT2D,KAAMf,EAASe,KAAK8G,KAAI,SAACC,GAAD,sBACnBA,EADmB,CAEtB6iB,cAAe7iB,EAAE0tB,gBACbttB,aAAO,IAAIlD,KAAK8C,EAAE0tB,iBAAkB,oBAAqB,CACzDrtB,OAAQC,OAER,KACJyiB,eAAgB/f,GAAYhD,EAAE2tB,kBAC9BpkB,SAAS,YA3Be,2CAAH,sDA0CrBqkB,GAAuB,SAACn3B,GAC5B22B,GAAkB,SAACK,GAAD,sBACbA,EADa,CAEhBx0B,KAAMk0B,EAAel0B,KAAK8G,KAAI,SAACC,GAAD,sBACzBA,EADyB,CAE5BuJ,QAAS9S,aAKTo3B,GAAe,uCAAG,oCAAA7zB,EAAA,yDAEF,IADd8zB,EAAQX,EAAel0B,KAAK2qB,QAAO,SAAC5jB,GAAD,OAAOA,EAAEuJ,YACxCzJ,OAFY,uBAGpBvH,IAAM4U,KACJ,oEAJkB,iCAStBigB,GAAkB,SAACK,GAAD,sBACbA,EADa,CAEhBP,gBAAgB,OAXI,SAcCr1B,EAAIkB,KAAJ,wCACYnD,GACjCk4B,GAhBoB,OAchB51B,EAdgB,SAmBMA,EAASe,KAA7BxC,EAnBc,EAmBdA,OAAQ2D,EAnBM,EAmBNA,QACZ3D,GACF22B,GAAkB,SAACK,GAAD,sBACbA,EADa,CAEhBP,gBAAgB,EAChBxqB,MAAM,OAERnK,IAAM8B,QAAN,6BAGA+yB,GAAkB,SAACK,GAAD,sBACbA,EADa,CAEhBP,gBAAgB,OAElB30B,IAAM4U,KAAN,2BAA+B/S,KAjCX,4CAAH,qDAqCf2zB,GAAwB,uCAAG,4BAAA/zB,EAAA,yDAEX,GADNmzB,EAAel0B,KAAK2qB,QAAO,SAAC5jB,GAAD,OAAOA,EAAEuJ,WACxCzJ,OAFqB,uBAG7BvH,IAAM4U,KACJ,yEAJ2B,iCAS/BmgB,IAAkB,SAACG,GAAD,sBACbA,EADa,CAEhBn4B,SAAS,EACToN,MAAM,OAZuB,SAeR7K,EAAIyB,IAAJ,0CACc1D,EADd,mBACsCg3B,GAAc,CACvEoB,aAAa,MAjBc,OAezB91B,EAfyB,OAqB/Bo1B,IAAkB,SAACG,GAAD,sBACbA,EADa,CAEhBn4B,SAAS,EACT2D,KAAMf,EAASe,KAAK4G,SAASE,KAAI,SAACC,GAAD,MAAQ,CACvCtG,GAAIsG,EAAEiuB,gBACNxkB,MAAOzJ,EAAEkuB,2BA1BkB,2CAAH,qDAoDxBC,GAAmB,uCAAG,WAAOl1B,GAAP,yBAAAe,EAAA,yDAClBo0B,EAAWn1B,EAAXm1B,OACFN,EAAQX,EAAel0B,KAAK2qB,QAAO,SAAC5jB,GAAD,OAAOA,EAAEuJ,WAClD7H,QAAQC,IAAI1I,EAAM60B,GACE,GAAhBA,EAAMhuB,QAAgC,IAAjBsuB,EAAOnsB,OAJN,uBAKxB1J,IAAM4U,KACJ,yEANsB,iCAW1BmgB,IAAkB,SAACG,GAAD,sBACbA,EADa,CAEhBP,gBAAgB,OAbQ,SAgBHr1B,EAAI+B,IAAJ,qDACyBhE,EADzB,YAC0Cw4B,GAC/DN,GAlBwB,OAgBpB51B,EAhBoB,SAqBEA,EAASe,KAA7BxC,EArBkB,EAqBlBA,OAAQ2D,EArBU,EAqBVA,QACZ3D,GACF62B,IAAkB,SAACG,GAAD,sBACbA,EADa,CAEhBP,gBAAgB,EAChBxqB,MAAM,OAER0qB,GAAkB,SAACK,GAAD,sBACbA,EADa,CAEhB/qB,MAAM,OAERnK,IAAM8B,QAAN,mCAGAizB,IAAkB,SAACG,GAAD,sBACbA,EADa,CAEhBP,gBAAgB,OAElB30B,IAAM4U,KAAN,2BAA+B/S,KAvCP,4CAAH,sDAiEzB,OACE,oCACE,yBAAKyD,UAAU,sGACb,wBAAIA,UAAU,MAAd,uBAIF,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI3D,UAAU,mCAC1B8Y,EACD,kBAAC,KAAD,CAAMzI,IAAKqI,EAAS5N,SAZP,SAAC1P,MAaZ,kBAAC4P,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC0X,GAAA,EAAD,CACErgB,KAAK,OACL4T,YAAY,iBACZjL,UAAU,2BAEV0E,SAvCG,SAACC,GAClB,IAAM6U,EAAK7U,EAAEyG,OAAOC,MAEhB6N,GAASO,aAAaP,GAC1BC,EACEO,YAAW,WACTT,EAAgBO,KACf,OAiCSnJ,IAAKsI,IAEP,kBAAC3N,GAAA,EAAW2M,OAAZ,KACE,kBAACxU,GAAA,EAAD,CAAQqH,QAAQ,iBAAiBpH,QAhC7B,WAClB6V,EAAgB,IAChBF,GAAa,KA+BG,kBAAC,KAAD,UAMN,kBAAC5V,GAAA,EAAD,CACEqH,QAAQ,eACRpH,QApCO,WACnB2V,GAAa,IAoCDnN,MAAM,wBAEN,kBAAC,KAAD,OAKN,kBAACzI,GAAA,EAAD,CACEqH,QAAQ,kBACRpH,QAAS,kBAAM1I,IAAM4U,KAAK,uCAC1B1D,MAAM,mCACN5L,UAAU,QAEV,kBAAC,KAAD,SAKN,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,yBACb,kBAAC2pB,GAAA,EAAD,CAAOG,YAAU,EAACF,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACvf,QAAQ,QAC/C,+BACE,4BACE,sCACA,gDACA,6CAGJ,+BACG/S,EACC,4BACE,wBAAI+Y,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKe,IAAjB4rB,EAAMltB,OACR,4BACE,wBAAIuO,QAAS,EAAGxQ,UAAU,eAA1B,oBAKEmvB,EAAMjtB,KAAI,SAACJ,EAAMmC,GAAP,OACRJ,QAAQC,IAAIhC,GACZ,wBAAI1D,IAAK0D,EAAK6tB,oBACZ,4BACE,kBAAC,KAAD,CAAMpwB,GAAE,qDAAgDuC,EAAK6tB,oBAAsB3vB,UAAU,iBAM1F8B,EAAK0uB,QAGV,wBAAIxwB,UAAU,aACZ,kBAACiqB,GAAA,EAAD,CAAUC,KAAK,QACb,kBAACD,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,YACR3O,GAAG,kBAEH,kBAAC,KAAD,CAAU2E,KAAM,MAGlB,kBAACypB,GAAA,EAASE,KAAV,KACE,kBAACF,GAAA,EAASd,KAAV,CACE/lB,QAAS,kBAxTdhI,EAwTsC0G,EAvT/DuiB,EAAiB,IACjBA,EAAiBjpB,QACjBonB,GAAe,GAHS,IAACpnB,IA0TK,kBAAC,KAAD,CACEoF,KAAM,GACNC,MAAM,UACNT,UAAU,SANd,aAUA,kBAACiqB,GAAA,EAASd,KAAV,CACE/lB,QAAS,kBACPssB,GAAsB5tB,EAAK6tB,sBAG7B,kBAAC,KAAD,CACEnvB,KAAM,GACNC,MAAM,UACNT,UAAU,SARd,0BAyB1B,kBAAC4E,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAM0d,EACNzd,OAAQ,kBAAM0d,GAAe,IAC7BvW,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,aAEF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,KACE,kBAACxD,GAAA,EAAD,CAAMiM,GAAG,QAAQlM,UAAU,4BACzB,kBAACC,GAAA,EAAK+E,OAAN,KACE,iDAEF,kBAAC/E,GAAA,EAAKS,KAAN,CAAWV,UAAU,QACnB,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,kBAACulB,GAAA,EAAD,CAAWlpB,UAAU,aAClB3C,OAAO2xB,QAAQ5K,GACb2B,QAAO,SAAC5jB,GAAD,OAAgB,OAATA,EAAE,MAChBD,KAAI,SAACC,EAAG8B,GAAJ,OACH,kBAACilB,GAAA,EAAUC,KAAX,CACE/qB,IAAK6F,EACLmI,wBAAyB,CACvBC,OAAO,MAAD,OAAQlK,EAAE,GAAV,kBAAsBA,EAAE,mBAexD,kBAACyC,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAMyqB,EAAezqB,KACrBC,OAAQ,kBACNyqB,GAAkB,SAACK,GAAD,sBAAqBA,EAArB,CAAgC/qB,MAAM,QAE1DoH,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,0BAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,KACE,kBAACxD,GAAA,EAAD,CAAMiM,GAAG,QAAQlM,UAAU,4BACzB,kBAACC,GAAA,EAAK+E,OAAN,KACE,mEAA4C,KAE9C,kBAAC/E,GAAA,EAAKS,KAAN,CAAWV,UAAU,QACnB,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,QACb,kBAACyD,GAAA,EAAD,KACE,kBAACN,GAAA,EAAD,CACEC,QAAS,kBAAM2sB,IAAqB,IACpC/vB,UAAU,QAFZ,gBAMA,kBAACmD,GAAA,EAAD,CACEC,QAAS,kBAAM2sB,IAAqB,IACpCvlB,QAAQ,SACRxK,UAAU,QAHZ,mBAOA,kBAACmD,GAAA,EAAD,CACEC,QAAS,kBAAM4sB,MACfxlB,QAAQ,UACRxK,UAAU,OACVkL,SAAUokB,EAAeD,gBAExBC,EAAeD,eAAf,8BAIH,kBAAClsB,GAAA,EAAD,CACEC,QAAS,kBAAM8sB,MACf1lB,QAAQ,OACRxK,UAAU,OACVkL,SAAUskB,GAAe/3B,SAExB+3B,GAAe/3B,QAAf,4CAMP,kBAACkyB,GAAA,EAAD,CAAOC,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACvf,QAAQ,QACpC,+BACE,4BACE,iCACA,4DACA,qCACA,wCACA,qCACA,4CACA,sCAGJ,+BACG8kB,EAAe73B,QACd,4BACE,wBAAI+Y,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAK6B,IAA/B+rB,EAAel0B,KAAK6G,OACtB,4BACE,wBAAIuO,QAAS,EAAGxQ,UAAU,eAA1B,oBAKEsvB,EAAel0B,KAAK8G,KAAI,SAACJ,EAAMmC,GAAP,OACtB,wBAAI7F,IAAK0D,EAAK2uB,sBACZ,4BACE,kBAAC,KAAD,CACE/rB,SAAU,SAAC9L,GAAD,OAzblB,SAACA,EAAQ83B,GACjCnB,GAAkB,SAACK,GAAD,sBACbA,EADa,CAEhBx0B,KAAMk0B,EAAel0B,KAAK8G,KAAI,SAACC,GAAD,sBACzBA,EADyB,CAE5BuJ,QAASvJ,EAAEsuB,sBAAwBC,EAAS93B,EAASuJ,EAAEuJ,kBAqbzBilB,CACE/3B,EACAkJ,EAAK2uB,uBAGT/kB,QAAS5J,EAAK4J,WAGlB,4BAAK5J,EAAK2uB,sBACV,4BAAK3uB,EAAK8uB,mBACV,4BAAK9uB,EAAK+uB,wBACV,4BAAK/uB,EAAKojB,gBACV,4BAAKpjB,EAAKgvB,eACV,4BAAKhvB,EAAKkjB,2BAcpC,kBAACpgB,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAM2qB,GAAe3qB,KACrBC,OAAQ,kBACN2qB,IAAkB,SAACG,GAAD,sBACbA,EADa,CAEhB/qB,MAAM,EACNpN,SAAS,QAGbwU,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,kBAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,KACE,kBAACxD,GAAA,EAAD,CAAMiM,GAAG,QAAQlM,UAAU,4BACzB,kBAACC,GAAA,EAAK+E,OAAN,KACE,qFAA2D,KAE7D,kBAAC/E,GAAA,EAAKS,KAAN,CAAWV,UAAU,QACnB,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,QACb,kBAACyD,GAAA,EAAD,KACE,kBAAC,KAAD,CAAMqH,SAAUwlB,IACd,kBAAC,KAAD,CACEl0B,KAAK,SACL+O,UAAQ,EACRF,YAAY,eACZjL,UAAU,oBACV2L,QAAS6jB,GAAep0B,OAE1B,kBAAC+H,GAAA,EAAD,CACEqH,QAAQ,UACRnT,KAAK,SACL2I,UAAU,OACVkL,SAAUskB,GAAeH,gBAExBG,GAAeH,eAAf,uC,OC9lBZ,SAAS0B,KACtB,IAAIp3B,EAAW0hB,cACTtjB,EAAgB6N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOrB,iBAEpDi5B,EAAgBphB,mBAAQ,WAG5B,MAAgB,kBAFD,IAAIqd,gBAAgBtzB,EAASkiB,QACxBpgB,IAAI,WAKpBkd,GADUzQ,iBAAO,MACLA,iBAAO,OAXiB,EAYRjH,oBAAS,GAZD,oBAYnC6X,EAZmC,KAYxBC,EAZwB,OAaF9X,mBAAS,IAbP,oBAanC+X,EAbmC,KAarBC,EAbqB,OAcZhY,mBAAS,GAdG,oBAcnCiY,EAdmC,KAc1BC,EAd0B,OAgBhBlY,mBAAS,IAhBO,oBAgBnCkuB,EAhBmC,KAgB5BC,EAhB4B,OAiBZnuB,oBAAS,GAjBG,oBAiBnCxJ,EAjBmC,KAiB1B2J,EAjB0B,OAmBNH,mBAAS,GAnBH,oBAmBnCK,EAnBmC,KAmBvBC,EAnBuB,OAoBJN,mBAAS,IApBL,oBAoBnCO,EApBmC,KAoBtBgiB,EApBsB,OAqBNviB,mBAAS,GArBH,oBAqBnCQ,EArBmC,KAqBvBC,EArBuB,OAuBAT,mBAAS,IAvBT,oBAuBnCmjB,EAvBmC,KAuBpBC,EAvBoB,OAwBJpjB,oBAAS,GAxBL,oBAwBnCshB,EAxBmC,KAwBtBC,EAxBsB,QAyBFvhB,oBAAS,GAzBP,sBAyBnCghB,GAzBmC,gBA0BFhhB,mBAAS,IA1BP,sBA0BnCgwB,GA1BmC,MA0BrBC,GA1BqB,SA2BJjwB,mBAAS,GA3BL,sBA2BnCkwB,GA3BmC,MA2BtBC,GA3BsB,MA8B1CruB,qBAAU,WACRxB,EAAc,KACb,CAACxJ,EAAeihB,IAGnBjW,qBAAU,WACRlB,OACC,CAACP,EAAYE,EAAazJ,EAAeihB,EAAcgY,IAE1DjuB,qBAAU,WACJ+V,GACFH,EAAUzH,QAAQ7K,UAEnB,CAACyS,IAEJ,IAAMjX,GAAQ,uCAAG,gCAAA1F,EAAA,sEAEbiF,GAAW,GAELiwB,EAAUL,EACZ,mCACA,4BANS,SAQUh3B,EAAIyB,IAAJ,qBACP41B,EADO,YACIt5B,EADJ,YACqBuJ,EADrB,YACmCE,EADnC,YACkDutB,GACrE,CAAElT,OAAQ7C,MAVD,OAQP3e,EARO,OAcPgsB,EAAgBhsB,EAASe,KAC/BsG,EAAc2kB,EAActkB,WAC5BqtB,EACE/I,EAAcrkB,SAASE,KAAI,SAACC,GAAD,sBACtBA,EADsB,CAEzB4U,aAAa,GAAD,OAAKC,GAAL,oBAA0B7U,EAAEvG,KACxCopB,cAAe7iB,EAAEmvB,YACb/uB,aAAO,IAAIlD,KAAK8C,EAAEmvB,aAAc,oBAAqB,CACrD9uB,OAAQC,OAER,KACJ8uB,gBAAiBxV,GAAsBwJ,MAAK,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsG,EAAEvJ,UAC1DmjB,GAAsBwJ,MAAK,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsG,EAAEvJ,UAAQojB,MACrD,wBACJwV,yBAA0BvV,GAAoBsJ,MAC5C,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsG,EAAEsvB,mBAEhBxV,GAAoBsJ,MAAK,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsG,EAAEsvB,mBAAiBzV,MAC5D,mBACJ4J,uBAAwBzgB,GAAYhD,EAAE0jB,eAAiB,GACvDH,sBAAuBvgB,GAAYhD,EAAEwjB,cAAgB,SAlC5C,kDAsCP,KAAMtrB,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gCAvCD,yBA0Cb6G,GAAW,GA1CE,6EAAH,qDA8CRswB,GAAiB,uCAAG,WAAOt2B,GAAP,SAAAe,EAAA,sDACxBkoB,EAAiBjpB,GAEjBg2B,GAAeh2B,EAAKuqB,cAEpBnD,GAAe,GALS,2CAAH,sDAQjBmP,GAAmB,uCAAG,WAAOv2B,GAAP,yBAAAe,EAAA,sEAElBy1B,EAAcC,MAAMV,IACtB7oB,OAAO6oB,GAAYznB,QAAQ,MAAO,IAAIA,QAAQ,KAAM,KACpDynB,GAEE9I,EAAO,CACXoI,qBAAsBr1B,EAAKq1B,qBAC3B73B,OAAQq4B,GACRpL,cAAe+L,GATO,SAYD53B,EAAIkB,KAAJ,gDACoBE,EAAK02B,SAC9CzJ,GAdsB,OAYlBhuB,EAZkB,OAiBlBgf,EAAKhf,EAASe,KACZmB,EAA4B8c,EAA5B9c,QAAS3D,EAAmBygB,EAAnBzgB,OAAmBygB,EAAXlP,OACF,KAAnB9P,EAASzB,QAAiBA,GAC5BiJ,KACA2gB,GAAe,GACf9nB,IAAM8B,QAAQ,aAEd9B,IAAMH,MAAN,sCAAqCgC,IAxBf,kDA2BlB,KAAMlC,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gDA5BU,0DAAH,sDA6DnBw3B,GAAiB,SAAC32B,KAExB,OACE,oCACE,yBAAK4E,UAAU,sGACb,wBAAIA,UAAU,MAAd,uBAIF,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,qCAC5B,2BAAOA,UAAU,kBACf,oEACA,kBAAC,KAAD,CAAQ0E,SArBc,SAAC9L,GAC3BA,EACFiB,EAAQc,KAAK,0CAEbd,EAAQc,KAAK,wBAiBoC+Q,QAASslB,MAGxD,kBAACvtB,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,mCAC5B,kBAAC,KAAD,CACE2K,YAAa,CAAEqnB,aAAcxwB,GAC7BsJ,SAAUinB,GACV/xB,UAAU,QAEV,kBAACgL,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC,KAAD,CACE5D,KAAK,eACL6O,YAAY,sBACZjL,UAAU,eACV2L,QAAS,CACP,CACEN,MAAO,GACPxP,GAAI,GACJ+P,MAAO,IAET,CACEP,MAAO,GACPxP,GAAI,GACJ+P,MAAO,IAET,CACEP,MAAO,GACPxP,GAAI,GACJ+P,MAAO,IAET,CACEP,MAAO,IACPxP,GAAI,IACJ+P,MAAO,MAGXlH,SAAU,gBAAG0G,EAAH,EAAGA,OAAH,OAAgBoY,EAAepY,EAAOC,YAKnDyN,EACD,kBAAC,KAAD,CAAMhO,SAAUinB,IACd,kBAAC/mB,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC0X,GAAA,EAAD,CACErgB,KAAK,OACL4T,YAAY,iBACZjL,UAAU,2BACV0E,SAzFG,SAACC,GAClB,IAAM6U,EAAK7U,EAAEyG,OAAOC,MAEhB6N,GAASO,aAAaP,GAC1BC,EACEO,YAAW,WACTT,EAAgBO,KACf,OAmFSnJ,IAAKsI,IAEP,kBAAC3N,GAAA,EAAW2M,OAAZ,KACE,kBAACxU,GAAA,EAAD,CAAQqH,QAAQ,iBAAiBpH,QAlF7B,WAClB6V,EAAgB,IAChBF,GAAa,KAiFG,kBAAC,KAAD,UAMN,kBAAC5V,GAAA,EAAD,CACEqH,QAAQ,eACRpH,QAtFO,WACnB2V,GAAa,IAsFDnN,MAAM,wBAEN,kBAAC,KAAD,SAOV,kBAACpI,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,yBACb,kBAAC2pB,GAAA,EAAD,CAAOG,YAAU,EAACF,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACvf,QAAQ,QAC/C,+BACE,4BACE,sCACA,qCACA,wCACA,0CACA,gDACA,8CACA,oCACA,6CAGJ,+BACG/S,EACC,4BACE,wBAAI+Y,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKe,IAAjB4rB,EAAMltB,OACR,4BACE,wBAAIuO,QAAS,EAAGxQ,UAAU,eAA1B,oBAKEmvB,EAAMjtB,KAAI,SAACJ,EAAMmC,GAAP,OACR,wBAAI7F,IAAK0D,EAAK2uB,sBAEM,KAAhB3uB,EAAKlJ,OACH,wBAAIoH,UAAU,YAAY8B,EAAKyvB,iBACf,KAAhBzvB,EAAKlJ,OACH,wBAAIoH,UAAU,gBAAgB8B,EAAKyvB,iBACnB,KAAhBzvB,EAAKlJ,OACH,wBAAIoH,UAAU,UAAU8B,EAAKyvB,iBAC7B,wBAAIvxB,UAAU,WAAW8B,EAAKyvB,iBAEtC,4BAAKzvB,EAAKlB,aACV,4BAAKkB,EAAK+uB,wBACV,4BAAK/uB,EAAK0vB,0BACV,4BAAK1vB,EAAK4jB,uBAAyB,IACnC,4BAAK5jB,EAAK8jB,wBAA0B,IACpC,4BAAK9jB,EAAKkjB,eACV,wBAAIhlB,UAAU,aACZ,kBAACiqB,GAAA,EAAD,CAAUC,KAAK,QACb,kBAACD,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,YACR3O,GAAG,kBAEH,kBAAC,KAAD,CAAU2E,KAAM,MAElB,kBAACypB,GAAA,EAASE,KAAV,KACE,kBAACF,GAAA,EAASd,KAAV,CACE/lB,QAAS,kBAAMsuB,GAAkB5vB,KAEjC,kBAAC,KAAD,CAAQtB,KAAM,GAAIC,MAAM,YAH1B,wBAapB,kBAAC4C,GAAA,EAAD,CAAWa,UAAQzM,GAA4B,IAAjB03B,EAAMltB,SAClC,kBAACuB,GAAA,EAAD,CACExD,UAAS,iCACPyB,GAAcD,EAAc,SAAW,WAGzC,kBAACiC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,iCAC5B,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACV+lB,WAAW,kBACX/oB,WAAYA,EACZiD,kBAAmB/C,EACnBgD,gBAAiB/C,EACjBgD,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAOpD,EAAcoD,YAU7C,kBAACC,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAM0d,EACNzd,OAAQ,kBAAM0d,GAAe,IAC7BvW,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,gCAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,KACE,oCACE,kBAAC6mB,GAAA,EAAD,CAAWtqB,UAAU,QACnB,4BACE,sCACCokB,EAAcxjB,aAAe,IAEhC,2BACE,yCACCwjB,EAAcyM,wBAA0B,IAE3C,2BACE,0DACCzM,EAAcY,eAAiB,IAElC,2BACE,uCACCZ,EAAcmN,iBAAmB,IAEpC,2BACE,2CACCnN,EAAcoN,0BAA4B,IAE7C,2BACE,iDACCpN,EAAcsB,uBAAyB,KAEf,KAAzBtB,EAAcxrB,QACW,KAAzBwrB,EAAcxrB,SACZ,2BACE,+CACCwrB,EAAcwB,wBAA0B,KAIvB,KAAzBxB,EAAcxrB,QACb,kBAAC,KAAD,CACE+R,YAAayZ,EACbtZ,SAAU6mB,IAEV,kBAAC,KAAD,CAAOv1B,KAAK,uBAAuB/E,KAAK,WACxC,kBAAC,KAAD,CAAO+E,KAAK,UAAU/E,KAAK,WAC3B,kBAAC2T,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAACgL,GAAA,EAAWggB,QAAZ,KACE,kBAAChgB,GAAA,EAAWnK,KAAZ,CAAiBhF,GAAG,gBAApB,UAIF,kBAAC,GAAD,CACEoP,YAAY,UACZjL,UAAU,eACVqL,MAAO8lB,GACPzsB,SAAU,gBAAG0G,EAAH,EAAGA,OAAH,OAAgBgmB,GAAehmB,EAAOC,QAChDjP,KAAK,eACL/E,KAAK,UAIT,kBAACmM,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACN,GAAA,EAAD,CACEqH,QAAQ,SACRnT,KAAK,SACL2U,OAAK,EACLd,SAAU+W,GACV7e,QAAS,kBAAM8tB,GAAgB,MAE9BjP,GACC,kBAAC3e,GAAA,EAAD,CAASC,UAAU,WAEjB,+CAEE,kBAAC,KAAD,SAKV,kBAACE,GAAA,EAAD,KACE,kBAACN,GAAA,EAAD,CACEqH,QAAQ,OACRnT,KAAK,SACL2U,OAAK,EACLd,SAAU+W,GACV7e,QAAS,kBAAM8tB,GAAgB,MAE9BjP,GACC,kBAAC3e,GAAA,EAAD,CAASC,UAAU,WAEjB,+CAEE,kBAAC,KAAD,iBCjcjB,SAAS0uB,KAA4B,IAAD,EAC5B5b,cAAbhf,EADyC,EACzCA,KAAMwE,EADmC,EACnCA,GAER9D,EAAgB6N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOrB,iBAEpDm6B,EAAiBtiB,mBAAQ,WAG7B,MAAgB,aAATvY,KAGHshB,EAAYzQ,iBAAO,MAXwB,EAYfjH,oBAAS,GAZM,oBAY1C6X,EAZ0C,KAY/BC,EAZ+B,OAaT9X,mBAAS,IAbA,oBAa1C+X,EAb0C,KAa5BC,EAb4B,OAejBhY,oBAAS,GAfQ,oBAe1CkxB,EAf0C,KAehCC,EAfgC,OAgBbnxB,mBAAS,IAhBI,oBAgB1CoxB,EAhB0C,KAgB9BC,EAhB8B,OAiBPrxB,mBAAS,IAjBF,oBAiB1CsxB,EAjB0C,KAiB3BC,EAjB2B,OAmBnBvxB,mBAAS,GAnBU,oBAmB1CiY,EAnB0C,KAmBjCC,EAnBiC,OAqBvBlY,mBAAS,IArBc,oBAqB1CkuB,EArB0C,KAqBnCC,EArBmC,OAsBnBnuB,oBAAS,GAtBU,oBAsB1CxJ,EAtB0C,KAsBjC2J,EAtBiC,OAwBbH,mBAAS,GAxBI,oBAwB1CK,EAxB0C,KAwB9BC,EAxB8B,OAyBXN,mBAAS,IAzBE,oBAyB1CO,EAzB0C,KAyB7BgiB,GAzB6B,QA0BbviB,mBAAS,GA1BI,sBA0B1CQ,GA1B0C,MA0B9BC,GA1B8B,SA4BPT,mBAAS,IA5BF,sCA6BXA,oBAAS,IA7BE,sCA8BTA,oBAAS,IA9BA,kCAiCjD8B,qBAAU,WACRxB,EAAc,KACb,CAACxJ,EAAeihB,EAAcqZ,IAGjCtvB,qBAAU,YACM,uCAAG,8BAAA5G,EAAA,0DACX+1B,EADW,0CAGYl4B,EAAIyB,IAAJ,gDACoB1D,EADpB,YAHZ,OAGLsC,EAHK,OAMLgsB,EAAgBhsB,EAASe,KAC/Bo3B,EACEnM,EAAcrkB,SAASE,KAAI,SAACC,GAAD,MAAQ,CACjCkJ,MAAOlJ,EAAEwtB,mBACT9zB,GAAIsG,EAAEwtB,mBACN/jB,MAAOzJ,EAAEquB,WAXF,gDAeL,KAAMn2B,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,uCAhBH,qGAAH,qDAsBdsH,KACC,CAAC9J,EAAem6B,IAGnBnvB,qBAAU,YACM,uCAAG,gCAAA5G,EAAA,sEAEbiF,GAAW,GAELiwB,EAAUa,EACZ,4BACA,kCANS,SAQUl4B,EAAIyB,IAAJ,qBACP41B,EADO,YACIt5B,EADJ,YACqB8D,EADrB,YAC2ByF,EAD3B,YACyCE,EADzC,YACwDutB,GAC3E,CAAElT,OAAQ7C,EAAcyZ,iBAAkBJ,MAVjC,OAQPh4B,EARO,OAcPgsB,EAAgBhsB,EAASe,KAE/BsG,GAAc2kB,EAActkB,WAC5BqtB,EACE/I,EAAcrkB,SAASE,KAAI,SAACC,GAAD,sBACtBA,EADsB,CAEzB6iB,cAAe7iB,EAAE0tB,gBACbttB,aAAO,IAAIlD,KAAK8C,EAAE0tB,iBAAkB,oBAAqB,CACzDrtB,OAAQC,OAER,KACJyiB,eAAgB/f,GAAYhD,EAAE2tB,kBAC9B4C,UAAWvwB,EAAEuwB,gBA1BJ,kDA8BP,KAAMr4B,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gCA/BD,yBAkCb6G,GAAW,GAlCE,6EAAH,qDAqCdS,KACC,CACDP,EACAkiB,GACAzrB,EACAihB,EACAqZ,EACAH,IAGFnvB,qBAAU,WACJ+V,GACFH,EAAUzH,QAAQ7K,UAEnB,CAACyS,IAEJ,IAsCMiZ,GAAiB,SAAC32B,KAExB,OACE,oCACE,yBAAK4E,UAAU,sGACb,wBAAIA,UAAU,MACZ,kBAAC,KAAD,CACET,GAAI2yB,EAAiB,kBAAoB,4BAExCA,EAAc,kCACT,IALV,mCA6EF,kBAAC1uB,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,yBACb,kBAAC2pB,GAAA,EAAD,CAAOG,YAAU,EAACF,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACvf,QAAQ,QAC/C,+BACE,4BACE,4DACA,wBAAIxK,UAAU,OAAd,QAES8Y,EACL,kBAAC,KAAD,CAAMhO,SAAUinB,IACd,kBAAC/mB,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC0X,GAAA,EAAD,CACErgB,KAAK,OACL4T,YAAY,oBACZjL,UAAU,2BACV0E,SApIP,SAACC,GAClB,IAAM6U,EAAK7U,EAAEyG,OAAOC,MAEhB6N,GAASO,aAAaP,GAC1BC,EACEO,YAAW,WACTT,EAAgBO,KACf,OA8HmBnJ,IAAKsI,IAEP,kBAAC3N,GAAA,EAAW2M,OAAZ,KACE,kBAACxU,GAAA,EAAD,CAAQqH,QAAQ,iBAAiBpH,QA7HvC,WAClB6V,EAAgB,IAChBF,GAAa,KA4Ha,kBAAC,KAAD,UAOL,kBAAC,KAAD,CAAYhV,MAAO,CAAC4K,MAAM,MAAOC,OAAO,OAAQnO,MAAM,WAAYT,UAAU,cACzEwK,QAAQ,oBACRpH,QAlIL,WACnB2V,GAAa,IAkIWnN,MAAM,yBAUJ,aAATvU,GACC,yBAAK2I,UAAU,QACZmyB,EACC,kBAAC,KAAD,CAAMrnB,SAAUinB,IACd,kBAAC/mB,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC,KAAD,CACE5D,KAAK,YACL6O,YAAY,oBACZjL,UAAU,eACV2L,QAAS4mB,EACT7tB,SAnJH,SAACC,GAC1B,IAAM6U,EAAK7U,EAAEyG,OAAOC,MACpBinB,EAAc9Y,MAmJY,kBAACxO,GAAA,EAAW2M,OAAZ,KACE,kBAACxU,GAAA,EAAD,CACEqH,QAAQ,iBACRpH,QA/IN,WACxBgvB,GAAY,GACZE,EAAc,MA+IgB,kBAAC,KAAD,UAMN,kBAACnvB,GAAA,EAAD,CACEqH,QAAQ,oBACRpH,QA7JP,WACnBgvB,GAAY,IA6JcxmB,MAAM,uBAEN,kBAAC,KAAD,SAMZ,6CACA,wCACA,qCACA,4CACA,oCACA,6CAGJ,+BACGnU,EACC,4BACE,wBAAI+Y,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKe,IAAjB4rB,EAAMltB,OACR,4BACE,wBAAIuO,QAAS,EAAGxQ,UAAU,eAA1B,qBAKE6D,QAAQC,IAAIqrB,GAEZA,EAAMjtB,KAAI,SAACJ,EAAMmC,GAAP,OACR,wBAAI7F,IAAK0D,EAAK2uB,sBACZ,4BAAK3uB,EAAK2uB,sBACV,4BAAK3uB,EAAK8uB,mBAER9uB,EAAK4wB,UACH,mCACA,sCAEJ,4BAAK5wB,EAAK+uB,wBACV,4BAAK/uB,EAAKojB,gBACV,4BAAKpjB,EAAKgvB,eACV,4BAAKhvB,EAAKkjB,eACV,wBAAIhlB,UAAU,aACZ,kBAACiqB,GAAA,EAAD,CAAUC,KAAK,QACb,kBAACD,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,YACR3O,GAAG,kBAEH,kBAAC,KAAD,CAAU2E,KAAM,MAGlB,kBAACypB,GAAA,EAASE,KAAV,KACE,kBAACF,GAAA,EAASd,KAAV,CACE/lB,QAAS,WApPvC1I,IAAM4U,KAAK,yBAsPmB,kBAAC,KAAD,CAAU9O,KAAM,GAAIC,MAAM,YAH5B,yCAcpB,kBAAC4C,GAAA,EAAD,CAAWa,UAAQzM,GAA4B,IAAjB03B,EAAMltB,SAClC,kBAACuB,GAAA,EAAD,CACExD,UAAS,iCACPyB,IAAcD,EAAc,SAAW,WAGzC,kBAACiC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,iCAC5B,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACV+lB,WAAW,kBACX/oB,WAAYA,EACZiD,kBAAmB/C,EACnBgD,gBAAiB/C,GACjBgD,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAOpD,EAAcoD,aC9YpC,SAASguB,KACtB,IAAM56B,EAAgB6N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOrB,iBAEpD2gB,EAAUxQ,iBAAO,MACjByQ,EAAYzQ,iBAAO,MAJiB,EAKRjH,oBAAS,GALD,oBAKnC6X,EALmC,KAKxBC,EALwB,OAMF9X,mBAAS,IANP,oBAMnC+X,EANmC,KAMrBC,EANqB,OAOZhY,mBAAS,GAPG,oBAOnCiY,EAPmC,KAO1BC,EAP0B,OAShBlY,mBAAS,IATO,oBASnCkuB,EATmC,KAS5BC,EAT4B,OAUZnuB,oBAAS,GAVG,oBAUnCxJ,EAVmC,KAU1B2J,EAV0B,OAYNH,mBAAS,GAZH,oBAYnCK,EAZmC,KAYvBC,EAZuB,OAaJN,mBAAS,IAbL,oBAanCO,EAbmC,KAatBgiB,EAbsB,OAcNviB,mBAAS,GAdH,oBAcnCQ,EAdmC,KAcvBC,EAduB,OAgBFT,mBAAS,GAhBP,oBAgBnCgwB,EAhBmC,KAgBrBC,EAhBqB,OAkBAjwB,mBAAS,IAlBT,oBAkBnCmjB,EAlBmC,KAkBpBC,EAlBoB,OAmBJpjB,oBAAS,GAnBL,oBAmBnCshB,EAnBmC,KAmBtBC,GAnBsB,QAoBFvhB,oBAAS,GApBP,sBAoBnCghB,GApBmC,MAoBrBC,GApBqB,SAsBNjhB,oBAAS,GAtBH,sBAsBnC2xB,GAtBmC,MAsBvBC,GAtBuB,SAuBN5xB,mBAAS,IAvBH,sBAuBnCiW,GAvBmC,MAuBvB4b,GAvBuB,SAyBF7xB,mBAAS,MAzBP,sBAyBnC8xB,GAzBmC,MAyBrBC,GAzBqB,MA4B1CjwB,qBAAU,WACRxB,EAAc,KACb,CAACxJ,EAAeihB,IAGnBjW,qBAAU,YACM,uCAAG,8BAAA5G,EAAA,sEAEbiF,GAAW,GAFE,SAIUpH,EAAIyB,IAAJ,mDACuB1D,EADvB,YACwCuJ,EADxC,YACsDE,EADtD,YACqEutB,GACxF,CAAElT,OAAQ7C,MAND,OAIP3e,EAJO,OAUPgsB,EAAgBhsB,EAASe,KAC/BsG,EAAc2kB,EAActkB,WAC5BqtB,EACE/I,EAAcrkB,SAASE,KAAI,SAACC,GAAD,sBACtBA,EADsB,CAEzB4U,aAAa,GAAD,OAAKC,GAAL,oBAA0B7U,EAAEvG,KACxCopB,cAAe7iB,EAAEmvB,YACb/uB,aAAO,IAAIlD,KAAK8C,EAAEmvB,aAAc,oBAAqB,CACnD9uB,OAAQC,OAEV,WApBK,kDAwBP,KAAMpI,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gCAzBD,yBA4Bb6G,GAAW,GA5BE,6EAAH,qDA+BdS,KACC,CAACP,EAAYkiB,EAAgBzrB,EAAeihB,IAE/CjW,qBAAU,WACJ+V,GACFH,EAAUzH,QAAQ7K,UAEnB,CAACyS,IAEJ,IAgBM8O,GAAgB,uCAAG,WAAOxsB,GAAP,mCAAAe,EAAA,yDACvB+lB,IAAgB,GAGd6F,EAME3sB,EANF2sB,eACAyD,EAKEpwB,EALFowB,kBACAnU,EAIEjc,EAJFic,gBACAlL,EAGE/Q,EAHF+Q,KACAsf,EAEErwB,EAFFqwB,uBACAtU,EACE/b,EADF+b,YAGqBA,EAAS/S,UAAWyR,GAAesB,IAZnC,wBAef0Q,EAAU,CACdtP,OAAQwP,EACR5b,OACAkL,kBACAF,SAAUA,EACVve,OAAQ0P,OAAO2oB,GACfzF,oBACAC,0BAtBmB,kBA0BIzxB,EAAI+B,IAAJ,0CACchE,GACnC8vB,GA5BiB,OA0BbxtB,EA1Ba,OA8Bbe,EAAOf,EAASe,KACdmB,EAAwBnB,EAAxBmB,QAASV,EAAeT,EAAfS,GAAeT,EAAX+O,OACG,MAApB9P,EAASzB,QAAkBwC,EAAKxC,QAClCw2B,EAASD,EAAMpJ,QAAO,SAAC5jB,GAAD,OAAOA,EAAE4lB,iBAAmBlsB,MAClDnB,IAAM8B,QAAQ,qBACd6nB,EAAiB,IACjB7B,IAAe,IAEf9nB,IAAMH,MAAN,8BAAmCgC,IAtClB,kDAyCb,KAAMlC,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,wCA1CK,yBA6CnB2nB,IAAgB,GA7CG,6CAgDrBA,IAAgB,GAChBxnB,IAAMH,MAAM,+BAjDS,gEAAH,sDAqDhB04B,GAAqB,uCAAG,WAAOr6B,EAAQ2uB,GAAf,SAAAprB,EAAA,sDAC5BqrB,wBAAa,CACX5b,MAAO,WACPrP,QAAQ,oBAAD,OACL3D,EAAS,SAAW,WADf,oBAGP6uB,QAAS,CACP,CACEzL,MAAO,MACP5Y,QAAQ,WAAD,4BAAE,oCAAAjH,EAAA,6DACP+lB,IAAgB,GADT,kBAGkBloB,EAAI+B,IAAJ,4CACgBhE,EADhB,YACiCwvB,IAJnD,OAGCltB,EAHD,OAMCe,EAAOf,EAASe,KAEdmB,EAAwBnB,EAAxBmB,QAASV,EAAeT,EAAfS,GAAIsO,EAAW/O,EAAX+O,OACG,MAApB9P,EAASzB,QAAkBwC,EAAKxC,QAClCo6B,GAAgBp6B,GAEhBw2B,EACED,EAAMjtB,KAAI,SAACC,GAAD,OACRA,EAAE4lB,iBAAmBlsB,EAArB,eAESsG,EAFT,CAGM4U,aAAa,GAAD,OAAKC,GAAL,oBAA0B7U,EAAEvG,KACxCs3B,iBAAkB/oB,EAAO6f,SAJ/B,eAOS7nB,OAIbzH,IAAM8B,QAAN,oBAEA9B,IAAMH,MAAN,qCAAoCgC,IA3BjC,kDA8BL7B,IAAMH,MAAN,6CA9BK,yBAgCL2nB,IAAgB,GAhCX,6EAAF,kDAAC,IAoCV,CACElG,MAAO,SACP5Y,QAAS,iBA/Ca,2CAAH,wDA2E3B,OACE,oCACE,yBAAKpD,UAAU,sGACb,wBAAIA,UAAU,MAAd,6BAGF,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI3D,UAAU,mCAC1B8Y,EACD,kBAAC,KAAD,CAAMzI,IAAKqI,EAAS5N,SAXP,SAAC1P,MAYZ,kBAAC4P,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC0X,GAAA,EAAD,CACErgB,KAAK,OACL4T,YAAY,iBACZjL,UAAU,2BAEV0E,SAtCG,SAACC,GAClB,IAAM6U,EAAK7U,EAAEyG,OAAOC,MAEhB6N,GAASO,aAAaP,GAC1BC,EACEO,YAAW,WACTT,EAAgBO,KACf,OAgCSnJ,IAAKsI,IAEP,kBAAC3N,GAAA,EAAW2M,OAAZ,KACE,kBAACxU,GAAA,EAAD,CAAQqH,QAAQ,iBAAiBpH,QA/B7B,WAClB6V,EAAgB,IAChBF,GAAa,KA8BG,kBAAC,KAAD,UAMR,kBAAC5V,GAAA,EAAD,CACEqH,QAAQ,eACRpH,QAnCS,WACnB2V,GAAa,IAmCHnN,MAAM,wBAEN,kBAAC,KAAD,SAOR,kBAACpI,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,yBACb,kBAAC2pB,GAAA,EAAD,CAAOG,YAAU,EAACF,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACvf,QAAQ,QAC/C,+BACE,4BACE,8DACA,qCACA,sCACA,oCACA,6CAGJ,+BACG/S,EACC,4BACE,wBAAI+Y,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKe,IAAjB4rB,EAAMltB,OACR,4BACE,wBAAIuO,QAAS,EAAGxQ,UAAU,eAA1B,oBAKFmvB,EAAMjtB,KAAI,SAACJ,EAAMmC,GAAP,OACR,wBAAI7F,IAAK0D,EAAK2pB,wBACZ,4BAAK3pB,EAAK2pB,wBACV,4BAAK3pB,EAAKlB,aACV,4BACGkb,GAAUyJ,MAAK,SAACpjB,GAAD,OAAOA,EAAEtG,KAAOiG,EAAKlJ,UAAQgT,OAE/C,4BAAK9J,EAAKkjB,eACV,wBAAIhlB,UAAU,aACZ,kBAACiqB,GAAA,EAAD,CAAUC,KAAK,QACb,kBAACD,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,YACR3O,GAAG,kBAEH,kBAAC,KAAD,CAAU2E,KAAM,MAGlB,kBAACypB,GAAA,EAASE,KAAV,KACE,kBAACF,GAAA,EAASjlB,OAAV,eAAqBlD,EAAKuV,kBAC1B,kBAAC4S,GAAA,EAASd,KAAV,CACE/lB,QAAS,kBAxOVhI,EAwOkC0G,EAvO3DuiB,EAAiB,IAEjB2O,GAAgB53B,EAAK83B,kBACrB7O,EAAiB,eACZjpB,EADW,CAEd+3B,cAAe/3B,EAAK+b,UAAWtB,GAAeza,EAAK+b,kBAErDqL,IAAe,GARS,IAACpnB,IA0OC,kBAAC,KAAD,CAAUoF,KAAM,GAAIC,MAAM,YAH5B,wCAchB,kBAAC4C,GAAA,EAAD,CAAWa,UAAQzM,GAA4B,IAAjB03B,EAAMltB,SAClC,kBAACuB,GAAA,EAAD,CACExD,UAAS,iCACPyB,GAAcD,EAAc,SAAW,WAGzC,kBAACiC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,iCAC5B,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACV+lB,WAAW,kBACX/oB,WAAYA,EACZiD,kBAAmB/C,EACnBgD,gBAAiB/C,EACjBgD,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAOpD,EAAcoD,YAU7C,kBAACC,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAM0d,EACNzd,OAAQ,kBAAM0d,IAAe,IAC7BvW,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,cAEF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,KACE,kBAACxD,GAAA,EAAD,CAAMiM,GAAG,QAAQlM,UAAU,4BACzB,kBAACC,GAAA,EAAK+E,OAAN,KACE,iDAEF,kBAAC/E,GAAA,EAAKS,KAAN,CAAWV,UAAU,QACnB,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,aAC5B,oCAAa,IACZokB,EAAcxjB,aAAe,mBAC9B,6BACCwjB,EAAcxoB,KACb,oCACE,mCADF,IACewoB,EAAcrN,eAKjC,kBAACtT,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACE,MAAhBovB,IACC,2BAAO/yB,UAAU,kBACf,kDACA,kBAAC,KAAD,CACE0E,SAAU,SAAC9L,GAAD,OACRq6B,GACEr6B,EACAwrB,EAAc2D,iBAGlBrc,QAASqnB,QAMnB,6BACA,oCACE,kBAAC,KAAD,CACEpoB,YAAayZ,EACbtZ,SAAU8c,IAEV,kBAAC,KAAD,CAAOxrB,KAAK,iBAAiB/E,KAAK,WAClC,kBAACmM,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,yBAAK3D,UAAU,cACb,2BAAOmrB,QAAQ,eAAf,+BAGA,kBAAC,KAAD,CACE/uB,KAAK,yBACLP,GAAG,cACHqP,UAAQ,EACRD,YAAY,GACZjL,UAAU,mBAIhB,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,yBACEI,MAAO,CACL4X,QAAS,OACTyX,cAAe,MACfC,KAAM,EACNC,WAAY,SACZ3kB,MAAO,OACPiH,eAAgB,UAGlB,yBACE5V,UAAU,aACV+D,MAAO,CAAE4K,MAAO,YAEhB,2BAAOwc,QAAQ,oBAAf,WACA,kBAAC,KAAD,CACE/uB,KAAK,WACLP,GAAG,mBACHoP,YAAY,GACZjL,UAAU,oBAGXokB,EAAc+O,aACf,kBAAChwB,GAAA,EAAD,CACEnD,UAAU,YACVoD,QAAS,kBAlWbmwB,EAmWuBnP,EAAc+O,YAlW7DL,GAAcS,QACdV,IAAc,GAFS,IAACU,IAsWI,kBAAC,KAAD,CAAgB/yB,KAAM,QAK9B,kBAACiD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,cACb,2BAAOmrB,QAAQ,wBAAf,gCAGA,kBAAC,KAAD,CACE/uB,KAAK,kBACL+O,UAAQ,EACRtP,GAAG,uBACHmE,UAAU,eACVorB,UAAU,UAKlB,kBAAC5nB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,cACb,2BAAOmrB,QAAQ,oBAAf,2BAGA,kBAAC,KAAD,CACEE,WAAS,EACTjvB,KAAK,OACL+O,UAAQ,EACRtP,GAAG,mBACHmE,UAAU,eACVsrB,KAAK,IACLF,UAAU,UAIhB,kBAAC3nB,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,cACb,2BAAOmrB,QAAQ,sBAAf,yBAGA,kBAAC,KAAD,CACEE,WAAS,EACTjvB,KAAK,oBACLP,GAAG,qBACHmE,UAAU,eACVsrB,KAAK,IACLF,UAAU,WAMlB,kBAAC5nB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACN,GAAA,EAAD,CACEqH,QAAQ,SACRnT,KAAK,SACL2U,OAAK,EACLd,SAAU+W,GACV7e,QAAS,kBAAM8tB,EAAgB,MAE9BjP,GACC,kBAAC3e,GAAA,EAAD,CAASC,UAAU,WAEnB,+CAEE,kBAAC,KAAD,SAKR,kBAACE,GAAA,EAAD,KACE,kBAACN,GAAA,EAAD,CACEqH,QAAQ,OACRnT,KAAK,SACL2U,OAAK,EACLd,SAAU+W,GACV7e,QAAS,kBAAM8tB,EAAgB,MAE9BjP,GACC,kBAAC3e,GAAA,EAAD,CAASC,UAAU,WAEnB,+CAEE,kBAAC,KAAD,kBAgB1B,kBAACqB,GAAA,EAAD,CACE5E,UAAU,QACVQ,KAAK,KACLqE,KAAM+tB,GACN9tB,OAAQ,kBAAM+tB,IAAc,IAC5B5mB,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAchF,UAAU,0BAA0BiF,aAAW,GAC3D,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,UAEF,kBAAC+I,GAAA,EAAMlE,KAAP,CAAYV,UAAU,gBACpB,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,KACE,yBAAKzD,UAAU,gDACb,4BACEA,UAAU,wBACV8X,iBAAe,EACf3X,IAAG,wCAAmC+W,Y,cCxjBzC,SAASsc,KACtB,IAAMz7B,EAAgB6N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOrB,iBAEpD2gB,EAAUxQ,iBAAO,MACjByQ,EAAYzQ,iBAAO,MAJS,EAKAjH,oBAAS,GALT,oBAK3B6X,EAL2B,KAKhBC,EALgB,OAMM9X,mBAAS,IANf,oBAM3B+X,EAN2B,KAMbC,EANa,OAOJhY,mBAAS,GAPL,oBAO3BiY,EAP2B,KAOlBC,EAPkB,OASRlY,mBAAS,IATD,oBAS3BkuB,EAT2B,KASpBC,EAToB,OAUJnuB,oBAAS,GAVL,oBAU3BxJ,EAV2B,KAUlB2J,EAVkB,OAYEH,mBAAS,GAZX,oBAY3BK,EAZ2B,KAYfC,EAZe,OAaIN,mBAAS,IAbb,oBAa3BO,EAb2B,KAadgiB,EAbc,OAcEviB,mBAAS,GAdX,oBAcfS,GAde,aAgBQT,mBAAS,IAhBjB,oBAgB3BmjB,EAhB2B,KAgBZC,EAhBY,OAiBIpjB,oBAAS,GAjBb,oBAiB3BshB,EAjB2B,KAiBdC,EAjBc,OAkBMvhB,oBAAS,GAlBf,8BAqBlC8B,qBAAU,WACRxB,EAAc,KACb,CAACxJ,EAAeihB,IAGnBjW,qBAAU,YACM,uCAAG,8BAAA5G,EAAA,sEAEbiF,GAAW,GAFE,SAIUpH,EAAIyB,IAAJ,wCACY1D,EADZ,YAC6BuJ,EAD7B,YAC2CE,EAD3C,YAC0DutB,GAC7E,CAAElT,OAAQ7C,MAND,OAIP3e,EAJO,OAUPgsB,EAAgBhsB,EAASe,KAC/BsG,EAAc2kB,EAActkB,WAC5BqtB,EACE/I,EAAcrkB,SAASE,KAAI,SAACC,GAAD,sBACtBA,EADsB,CAEzB6iB,cAAe7iB,EAAEG,UACbC,aAAO,IAAIlD,KAAK8C,EAAEG,WAAY,oBAAqB,CACjDE,OAAQC,OAEV,WAnBK,kDAuBP,KAAMpI,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gCAxBD,yBA2Bb6G,GAAW,GA3BE,6EAAH,qDA8BdS,KACC,CAACP,EAAYkiB,EAAgBzrB,EAAeihB,IAE/CjW,qBAAU,WACJ+V,GACFH,EAAUzH,QAAQ7K,UAEnB,CAACyS,IA8BJ,OACE,oCACE,yBAAK9Y,UAAU,sGACb,wBAAIA,UAAU,MAAd,cAIF,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI3D,UAAU,mCAC1B8Y,EACD,kBAAC,KAAD,CAAMzI,IAAKqI,EAAS5N,SAZP,SAAC1P,MAaZ,kBAAC4P,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC0X,GAAA,EAAD,CACErgB,KAAK,OACL4T,YAAY,iBACZjL,UAAU,2BAEV0E,SAvCG,SAACC,GAClB,IAAM6U,EAAK7U,EAAEyG,OAAOC,MAEhB6N,GAASO,aAAaP,GAC1BC,EACEO,YAAW,WACTT,EAAgBO,KACf,OAiCSnJ,IAAKsI,IAEP,kBAAC3N,GAAA,EAAW2M,OAAZ,KACE,kBAACxU,GAAA,EAAD,CAAQqH,QAAQ,iBAAiBpH,QAhC7B,WAClB6V,EAAgB,IAChBF,GAAa,KA+BG,kBAAC,KAAD,UAMR,kBAAC5V,GAAA,EAAD,CACEqH,QAAQ,eACRpH,QApCS,WACnB2V,GAAa,IAoCHnN,MAAM,wBAEN,kBAAC,KAAD,OAKJ,kBAACzI,GAAA,EAAD,CACEqH,QAAQ,kBACRpH,QAAS,kBAAM1I,IAAM4U,KAAK,uCAC1B1D,MAAM,sCACN5L,UAAU,QAEV,kBAAC,KAAD,SAKN,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,yBACb,kBAAC2pB,GAAA,EAAD,CAAOG,YAAU,EAACF,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACvf,QAAQ,QAC/C,+BACE,4BACE,wCACA,+CACA,iDACA,sCACA,oCACA,6CAGJ,+BACG/S,EACC,4BACE,wBAAI+Y,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKe,IAAjB4rB,EAAMltB,OACR,4BACE,wBAAIuO,QAAS,EAAGxQ,UAAU,eAA1B,oBAKFmvB,EAAMjtB,KAAI,SAACJ,EAAMmC,GAAP,OACR,wBAAI7F,IAAK0D,EAAKM,YACZ,4BAAKN,EAAK1F,MACV,4BAAK0F,EAAKmpB,wBACV,4BAAKnpB,EAAKkjB,eACV,4BAAKljB,EAAKkoB,OAAS,QAAU,WAC7B,4BACE,kBAAC,KAAD,CACEzqB,GAAE,4CAAuCuC,EAAKM,YAC9CpC,UAAU,iBAEV,kBAAC,KAAD,CACEQ,KAAM,GACNC,MAAM,UACNT,UAAU,SAPd,gCAYF,wBAAIA,UAAU,aACZ,kBAACiqB,GAAA,EAAD,CAAUC,KAAK,QACb,kBAACD,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,YACR3O,GAAG,kBAEH,kBAAC,KAAD,CAAU2E,KAAM,MAGlB,kBAACypB,GAAA,EAASE,KAAV,KACE,kBAACF,GAAA,EAASd,KAAV,CACE/lB,QAAS,kBAzIVhI,EAyIkC0G,EAxI3DuiB,EAAiB,IACjBA,EAAiBjpB,QACjBonB,GAAe,GAHS,IAACpnB,IA2IC,kBAAC,KAAD,CACEoF,KAAM,GACNC,MAAM,UACNT,UAAU,SANd,yBAuBtB,kBAAC4E,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAM0d,EACNzd,OAAQ,kBAAM0d,GAAe,IAC7BvW,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,aAEF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,KACE,kBAACxD,GAAA,EAAD,CAAMiM,GAAG,QAAQlM,UAAU,4BACzB,kBAACC,GAAA,EAAK+E,OAAN,KACE,iDAEF,kBAAC/E,GAAA,EAAKS,KAAN,CAAWV,UAAU,QACnB,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,kBAACulB,GAAA,EAAD,CAAWlpB,UAAU,aAClB3C,OAAO2xB,QAAQ5K,GACb2B,QAAO,SAAC5jB,GAAD,OAAgB,OAATA,EAAE,MAChBD,KAAI,SAACC,EAAG8B,GAAJ,OACH,kBAACilB,GAAA,EAAUC,KAAX,CACE/qB,IAAK6F,EACLmI,wBAAyB,CACvBC,OAAO,MAAD,OAAQlK,EAAE,GAAV,kBAAsBA,EAAE,oB,4CC5O/C,SAASsxB,KACtB,IAAI95B,EAAW0hB,cACTtjB,EAAgB6N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOrB,iBAEpD27B,EAAa9jB,mBAAQ,WAGzB,MAAgB,QAFD,IAAIqd,gBAAgBtzB,EAASkiB,QACxBpgB,IAAI,WAIpBkd,EAAYzQ,iBAAO,MAVK,EAWIjH,oBAAS,GAXb,oBAWvB6X,EAXuB,KAWZC,EAXY,OAYU9X,mBAAS,IAZnB,oBAYvB+X,EAZuB,KAYTC,EAZS,OAaAhY,mBAAS,GAbT,oBAavBiY,EAbuB,KAadC,EAbc,OAeJlY,mBAAS,IAfL,oBAevBkuB,EAfuB,KAehBC,EAfgB,OAgBAnuB,oBAAS,GAhBT,oBAgBvBxJ,EAhBuB,KAgBd2J,EAhBc,OAkBMH,mBAAS,GAlBf,oBAkBvBK,EAlBuB,KAkBXC,EAlBW,OAmBQN,mBAAS,IAnBjB,oBAmBvBO,EAnBuB,aAoBMP,mBAAS,IApBf,oBAoBvBQ,EApBuB,KAoBXC,EApBW,OAsBYT,mBAAS,IAtBrB,oBAsBvB0yB,EAtBuB,KAsBRC,EAtBQ,OAuBQ3yB,mBAAS,IAvBjB,oBAuBvB4yB,EAvBuB,KAuBVC,EAvBU,OAwBE7yB,oBAAS,GAxBX,qBAwBvB8yB,GAxBuB,MAwBbC,GAxBa,SAyBc/yB,oBAAS,GAzBvB,sBAyBvBgzB,GAzBuB,MAyBPC,GAzBO,SA0BYjzB,mBAAS,GA1BrB,sBA0BvBkzB,GA1BuB,MA0BRC,GA1BQ,SA2BcnzB,mBAAS,IA3BvB,sBA2BvBozB,GA3BuB,gBA4BYpzB,mBAAS,IA5BrB,sBA4BvBqzB,GA5BuB,MA4BRC,GA5BQ,SA6BgBtzB,mBAAS,IA7BzB,sBA6BvBuzB,GA7BuB,MA6BNC,GA7BM,SA+BPxzB,mBAAS,CAAC,KAAM,QAAS,OAAQ,QAAS,aAA1DyzB,GA/BuB,yBAgCUzzB,mBAAS,IAhCnB,sBAgCvB0zB,GAhCuB,MAgCTC,GAhCS,SAkCU3zB,mBAAS,IAlCnB,sBAkCT4zB,IAlCS,gBAmCE5zB,qBAnCF,sBAmCvB6zB,GAnCuB,MAmCbC,GAnCa,SAoCE9zB,qBApCF,sBAoCvB+zB,GApCuB,MAoCbC,GApCa,MAwCxB75B,GAAO,IAAIiE,KAGjB0D,qBAAU,WACRxB,EAAc,KACb,CAACxJ,EAAeihB,IAGnBjW,qBAAU,WACRlB,OACC,CAACP,EAAYE,EAAazJ,EAAeihB,EAAc0a,IAE1D,IAAM7xB,GAAQ,uCAAG,8BAAA1F,EAAA,sEAEbiF,GAAW,GAFE,SAIUpH,EAAIyB,IAAJ,0CACc1D,EADd,YAC+BuJ,EAD/B,YAC6CE,EAD7C,YAC4DutB,GAC/E,CAAElT,OAAQ7C,EAAcmX,aAAcuD,MAN7B,OAIPr5B,EAJO,OAUPgsB,EAAgBhsB,EAASe,KAC/BsG,EAAc2kB,EAActkB,WAE5BqtB,EACE/I,EAAcrkB,SAASE,KAAI,SAACC,GAAD,sBACtBA,EADsB,CAEzB+yB,sBAAuB/yB,EAAEurB,aACrBnrB,aAAO,IAAIlD,KAAK8C,EAAEurB,cAAe,mBAAoB,CACrDlrB,OAAQC,OAER,WApBK,kDAwBP,KAAMpI,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gCAzBD,yBA4Bb6G,GAAW,GA5BE,6EAAH,qDAgCd2B,qBAAU,WACJ+V,GACFH,EAAUzH,QAAQ7K,UAEnB,CAACyS,IAEJ/V,qBAAU,WACgC,IAApC1F,OAAO83B,KAAKtB,GAAa5xB,QAC3BmzB,OAED,CAACZ,GAAiBX,EAAaM,KAElC,IAAMiB,GAAa,uCAAG,kCAAAj5B,EAAA,6DACZi0B,EAA6ByD,EAA7BzD,gBAAiB0B,EAAY+B,EAAZ/B,QACzBoC,IAAkB,GAFE,kBAIKl6B,EAAIyB,IAAJ,kDACsBq2B,EADtB,YACiC1B,EADjC,YACoD+D,GADpD,YACqEE,GADrE,YACuFtF,GAC1G,CAAElT,OAAQ2Y,OANI,OAIZn6B,EAJY,OAUZg7B,EAAch7B,EAASe,KAC7Bm5B,GAAiBc,EAAYtzB,WAE7B8yB,GACEQ,EAAYrzB,SAASE,KAAI,SAACC,GAAD,OACvB4yB,GAAY5yB,EAAEmzB,qBACdL,GAAY9yB,EAAEozB,eAAiBhzB,aAAO,IAAIlD,KAAK8C,EAAEozB,gBAAiB,aAAc,CAC9E/yB,OAAQC,OAEN,MACJ,CACE+yB,EAAGrzB,EAAEszB,gBACLC,EAAGvzB,EAAEyuB,kBACL+E,EAAGxzB,EAAE0tB,gBACDttB,aAAO,IAAIlD,KAAK8C,EAAE0tB,iBAAkB,mBAAoB,CACxDrtB,OAAQC,OAER,KACJmzB,EAAGzwB,GAAYhD,EAAE2tB,kBAAoB,GACrC+F,EAAG1zB,EAAE0uB,4BAIX+D,GACES,EAAYrzB,SAASE,KAAI,SAACC,GAAD,MAAQ,CAC/BqzB,EAAGrzB,EAAEszB,gBACLC,EAAGvzB,EAAEyuB,kBACL+E,EAAGxzB,EAAE0tB,gBACDttB,aAAO,IAAIlD,KAAK8C,EAAE0tB,iBAAkB,mBAAoB,CACxDrtB,OAAQC,OAER,KACJmzB,EAAGzwB,GAAYhD,EAAE2tB,kBAAoB,GACrC+F,EAAG1zB,EAAE0uB,4BAIT+C,EACEyB,EAAYrzB,SAASE,KAAI,SAACC,GAAD,sBACpBA,EADoB,CAEvB2zB,yBAA0B3zB,EAAE0tB,gBACxBttB,aAAO,IAAIlD,KAAK8C,EAAE0tB,iBAAkB,mBAAoB,CACxDrtB,OAAQC,OAER,KACJszB,0BAA2B5wB,GAAYhD,EAAE2tB,kBAAoB,SAvD/C,kDA2DZ,KAAMz1B,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gCA5DI,yBA+DlB25B,IAAkB,GA/DA,6EAAH,qDA2HbxC,GAAiB,uCAAG,WAAOt2B,GAAP,SAAAe,EAAA,sDACxB23B,EAAe14B,GACf44B,IAAY,GAFY,2CAAH,sDAwBjBgC,GAAoB,uCAAG,WAAOC,GAAP,SAAA95B,EAAA,yDACC,GAAxBw3B,EAAc1xB,OADS,uBAEzBvH,IAAM4U,KACJ,mEAHuB,0BAQ3BkY,wBAAa,CACX5b,MAAO,WACPrP,QAAQ,uCACRkrB,QAAS,CACP,CACEzL,MAAO,MACP5Y,QAAQ,WAAD,4BAAE,kCAAAjH,EAAA,+EAEkBnC,EAAI+B,IAAJ,8CACkBhE,EADlB,YACmCk+B,IAHrD,OAEC57B,EAFD,SAMuBA,EAASe,KAA7BxC,EANH,EAMGA,OAAQ2D,EANX,EAMWA,QACZ3D,GACF8B,IAAM8B,QAAQD,GACdy3B,IAAY,GACZnyB,MAEAnH,IAAMH,MAAMgC,GAZT,gDAeC,KAAMlC,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,uBAhBT,yDAAF,kDAAC,IAqBV,CACEyhB,MAAO,SACP5Y,QAAS,iBArCY,2CAAH,sDAmE1B,OACE,oCACE,yBAAKpD,UAAU,sGACb,wBAAIA,UAAU,MAAd,UAIF,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI3D,UAAU,uCAC7B,2BAAOA,UAAU,kBACf,uDACA,kBAAC,KAAD,CAAQ0E,SAjGc,SAAC9L,GAC3BA,EACFiB,EAAQc,KAAK,6BAEbd,EAAQc,KAAK,qBA6FoC+Q,QAASgoB,IACpD,wCAGC5a,EACD,kBAAC,KAAD,CAAMhO,SAxCO,SAAC1P,MAyCZ,kBAAC4P,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC0X,GAAA,EAAD,CACErgB,KAAK,OACL4T,YAAY,iBACZjL,UAAU,2BACV0E,SArIG,SAACC,GAClB,IAAM6U,EAAK7U,EAAEyG,OAAOC,MAEhB6N,GAASO,aAAaP,GAC1BC,EACEO,YAAW,WACTT,EAAgBO,KACf,OA+HSnJ,IAAKsI,IAEP,kBAAC3N,GAAA,EAAW2M,OAAZ,KACE,kBAACxU,GAAA,EAAD,CAAQqH,QAAQ,iBAAiBpH,QA9H7B,WAClB6V,EAAgB,IAChBF,GAAa,KA6HG,kBAAC,KAAD,UAMN,kBAAC5V,GAAA,EAAD,CACEqH,QAAQ,eACRpH,QAlIO,WACnB2V,GAAa,IAkIDnN,MAAM,wBAEN,kBAAC,KAAD,SAOV,kBAACpI,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,yBACb,kBAAC2pB,GAAA,EAAD,CAAOG,YAAU,EAACF,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACvf,QAAQ,QAC/C,+BACE,4BACE,+CACA,oCACA,6CACA,6CAGJ,+BACG/S,EACC,4BACE,wBAAI+Y,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKe,IAAjB4rB,EAAMltB,OACR,4BACE,wBAAIuO,QAAS,EAAGxQ,UAAU,eAA1B,oBAKEmvB,EAAMjtB,KAAI,SAACJ,EAAMmC,GAAP,OACR,wBAAI7F,IAAK0D,EAAKsuB,iBAEZ,4BAAKtuB,EAAKuuB,mBACV,4BAAKvuB,EAAKozB,uBACV,4BAAKpzB,EAAK4wB,UAAY,MAAQ,UAC9B,wBAAI1yB,UAAU,aACZ,kBAACiqB,GAAA,EAAD,CAAUC,KAAK,QACb,kBAACD,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,YACR3O,GAAG,kBAEH,kBAAC,KAAD,CAAU2E,KAAM,MAElB,kBAACypB,GAAA,EAASE,KAAV,KACE,kBAACF,GAAA,EAASd,KAAV,CACE/lB,QAAS,kBAAMsuB,GAAkB5vB,KAEjC,kBAAC,KAAD,CAAQtB,KAAM,GAAIC,MAAM,YAH1B,wBAcpB,kBAAC4C,GAAA,EAAD,CAAWa,UAAQzM,GAA2B,GAAhB03B,EAAMltB,SAClC,kBAACuB,GAAA,EAAD,CACExD,UAAS,iCACPyB,GAAcD,EAAc,SAAW,WAGzC,kBAACiC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,iCAC5B,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACV+lB,WAAW,kBACX/oB,WAAYA,EACZiD,kBAAmB/C,EACnBgD,gBAAiB/C,EACjBgD,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAOpD,EAAcoD,YAW7C,kBAACC,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAMkvB,GACNjvB,OAAQ,kBAAMkvB,IAAY,IAC1B/nB,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,0CAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KAEE,kBAAC8C,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,oCACE,kBAAC6mB,GAAA,EAAD,CAAWtqB,UAAU,oBACnB,4BACE,gDACC6zB,EAAYxD,mBAAqB,IAEpC,6BACA,kBAAC7sB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKzD,UAAU,kBAAkB+D,MAAO,CAAEmyB,WAAY,SACpD,8CACCrC,EAAYnB,UAAY,MAAQ,UAEnC,kBAACjvB,GAAA,EAAD,CAAKzD,UAAU,qBACZ6zB,EAAYnB,UACX,kBAACvvB,GAAA,EAAD,CAAQqH,QAAQ,kBAAkBxK,UAAU,uBAAuBoD,QApLrE,WAClB,IAAM+yB,EAAM,IAAIC,KAMhBD,EAAIhqB,KAAK,wCAAgC,GAAI,IAC7CgqB,EAAIE,UAAU,CACZC,KAAM,CAAC5B,IACPxlB,KAAMylB,GACN4B,MAAO,OACPC,OAAQ,KAEV,IAAMp7B,EAAO,IAAIiE,KACjB82B,EAAIM,KAAKr7B,EAAKs7B,UAAY,KAAOt7B,EAAKu7B,WAAa,GAAK,IAAMv7B,EAAKw7B,cAAgB,UAqK/D,aAEc,IAGlB,kBAACnzB,GAAA,EAAD,CAAKzD,UAAU,oBACZ6zB,EAAYnB,UAEX,kBAAC,WAAD,CAAS1yB,UAAU,0BACjB5E,KACE,2DACAu4B,EAAczxB,KAAI,SAAC2oB,EAAI3lB,GAAL,wBACL2lB,EAAG4K,gBADE,0BACqD,IAAtB5K,EAAGiF,iBADlC,kBACkEjF,EAAG4K,gBADrE,YACwF5K,EAAG+F,kBAD3F,SAEfpoB,KAAK,IAHR,kBAIWssB,GAJX,2BAK6H,IAA7HnB,EAAc3N,QAAO,SAAU6Q,EAAYC,GAAc,OAAOD,EAAaC,EAAWhH,mBA7b/F,GAwbO,gCAMqBkF,IAEvB+B,UAAW,IACXC,mBAAkB,IAClBC,SAAU77B,GAAKs7B,UAAY,KAAOt7B,GAAKu7B,WAAa,GAAK,IAAMv7B,GAAKw7B,cAAgB,QAZtF,aAkBE,MAKV,kBAACpzB,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKE,GAAI,IACP,kBAACqH,GAAA,EAAD,CAAYhL,UAAU,QACpB,kBAACgL,GAAA,EAAWggB,QAAZ,KACE,kBAAChgB,GAAA,EAAWnK,KAAZ,KACE,kBAAC,KAAD,QAGJ,kBAAC6W,GAAA,EAAD,CACErgB,KAAK,OACL4T,YAAY,gBACZjL,UAAU,2BACV0E,SAvRC,SAACC,GACtB,IAAM6U,EAAK7U,EAAEyG,OAAOC,MAEhB6N,GAASO,aAAaP,GAC1BC,EACEO,YAAW,WACT+a,GAAmBjb,KAClB,WAqRS,kBAAC/V,GAAA,EAAD,CAAKE,GAAI,EAAG3D,UAAU,eAClB6zB,EAAYnB,WACZ,oCAWE,kBAACvvB,GAAA,EAAD,CACEqH,QAAQ,kBACRpH,QAAS,kBACP4yB,GAAqBnC,EAAYzD,kBAEnCxkB,MAAM,kCACN5L,UAAU,QAEV,kBAAC,KAAD,UAMV,kBAAC2pB,GAAA,EAAD,CAAOC,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACD,YAAU,EAACtf,QAAQ,QAC/C,+BACE,4BACE,wBAAImE,MAAM,OAAV,MACA,wBAAIA,MAAM,OAAV,SACA,wBAAIA,MAAM,OAAV,QACA,wBAAIA,MAAM,OAAV,SACA,wBAAIA,MAAM,OAAV,cAIJ,+BACGslB,GACC,4BACE,wBAAIzjB,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKFowB,EAAc1xB,OAAS,EACzB0xB,EAAczxB,KAAI,SAAC2oB,EAAI3lB,GAAL,OAChB,wBAAI9G,IAAK8G,GACP,4BAAK2lB,EAAG4K,iBACR,4BAAK5K,EAAG+F,mBACR,4BAAK/F,EAAGiL,0BACR,4BAAKjL,EAAGkL,2BACR,4BAAKlL,EAAGgG,4BA6BR,wBAAI9F,MAAM,UACR,wBAAIva,QAAS,GAAb,kBAlJd,IA0JE,kBAAChN,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,KACE,kBAACJ,GAAA,EAAD,CACEa,UACE+vB,IAA0C,GAAxBN,EAAc1xB,SAKlC,kBAACuB,GAAA,EAAD,CACExD,UAAS,iCACPs0B,IAAiBD,GAAiB,SAAW,WAG/C,kBAAC5wB,GAAA,EAAD,CACEC,GAAI,GACJC,GAAI,EACJ3D,UAAU,iCAEV,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACV+lB,WAAW,kBACX/oB,WAAY6yB,GACZ5vB,kBAAmB8vB,GACnB7vB,gBAAiB8vB,GACjB7vB,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAOyvB,GAAiBzvB,iB,yBC5pB/C,SAASuyB,KACtB,IAAMn/B,EAAgB6N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOrB,iBADpB,EAsBQkJ,mBAC5Ck2B,KAAeC,sBAJe,63PAImC,SAvB7B,oBAsB/BC,EAtB+B,KAsBdC,EAtBc,OA0BIr2B,mBACxCk2B,KAAeC,sBAPa,63PAOmC,SA3B3B,oBA0B/BG,EA1B+B,KA0BhBC,EA1BgB,KA8BtCz0B,qBAAU,WACRc,QAAQC,IAAI,eAAgB/L,KAC3B,CAACA,IAEJ,IAAM0/B,EAAa,SAACpgC,GAClBwM,QAAQC,IAAIuzB,EAAgBK,SAAS,SACrCh9B,IAAM4U,KAAN,+CAAmDjY,EAAnD,OAGF,OACE,oCACE,yBAAK2I,UAAU,sGACb,wBAAIA,UAAU,MAAd,wBAGF,yBAAKA,UAAU,2BACb,kBAACwqB,GAAA,EAAD,CAAMmN,iBAAiB,OAAO97B,GAAG,4BAC/B,kBAAC+uB,GAAA,EAAD,CAAKvS,SAAS,OAAOzM,MAAM,mBAAa5L,UAAU,aAChD,kBAACC,GAAA,EAAD,KACE,kBAACA,GAAA,EAAK+E,OAAN,yBACA,kBAAC/E,GAAA,EAAKS,KAAN,KACE,kBAACT,GAAA,EAAKU,MAAN,uCACA,kBAACV,GAAA,EAAKY,KAAN,KACE,uGAIA,mFACA,uBAAGb,UAAU,gBAAb,+DAOR,kBAAC4qB,GAAA,EAAD,CACEvS,SAAS,WACTzM,MAAM,uBACN5L,UAAU,aAEV,kBAACwD,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKE,GAAI,GAAI3D,UAAU,QACrB,kBAACC,GAAA,EAAD,KACE,kBAACA,GAAA,EAAK+E,OAAN,cACA,kBAAC/E,GAAA,EAAKS,KAAN,KACE,kBAAC,KAAD,CAAMoK,SAAU,kBAAM2sB,EAAW,aAC/B,kBAACj0B,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKE,GAAI,IACP,kBAAC,KAAD,CACE0H,MAAOgsB,EACP3yB,SAAU4yB,KAGd,kBAAC7zB,GAAA,EAAD,CAAKE,GAAI,GAAI3D,UAAU,mBACrB,kBAACmD,GAAA,EAAD,CAAQ9L,KAAK,SAAS2I,UAAU,cAAhC,UACS,kBAAC,KAAD,aAQrB,kBAACyD,GAAA,EAAD,CAAKE,GAAI,GAAI3D,UAAU,QACrB,kBAACC,GAAA,EAAD,KACE,kBAACA,GAAA,EAAK+E,OAAN,eACA,kBAAC/E,GAAA,EAAKS,KAAN,KACE,kBAAC,KAAD,CAAMoK,SAAU,kBAAM2sB,EAAW,WAC/B,kBAACj0B,GAAA,EAAD,KACE,kBAACC,GAAA,EAAD,CAAKE,GAAI,IACP,kBAAC,KAAD,CACE0H,MAAOksB,EACP7yB,SAAU8yB,KAGd,kBAAC/zB,GAAA,EAAD,CAAKE,GAAI,GAAI3D,UAAU,mBACrB,kBAACmD,GAAA,EAAD,CAAQ9L,KAAK,SAAS2I,UAAU,cAAhC,UACS,kBAAC,KAAD,eAUzB,kBAAC4qB,GAAA,EAAD,CAAKvS,SAAS,UAAUzM,MAAM,SAAS5L,UAAU,YAAYkL,UAAQ,GACnE,kBAACjL,GAAA,EAAD,KACE,kBAACA,GAAA,EAAK+E,OAAN,iBACA,kBAAC/E,GAAA,EAAKS,KAAN,KACE,kBAACT,GAAA,EAAKU,MAAN,gCACA,kBAACV,GAAA,EAAKY,KAAN,qFCzFD,SAAS+2B,KACtB,IAAM7/B,EAAgB6N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOrB,iBAEpD4gB,EAAYzQ,iBAAO,MAHO,EAIEjH,oBAAS,GAJX,oBAIzB6X,EAJyB,KAIdC,EAJc,OAKQ9X,mBAAS,IALjB,oBAKzB+X,EALyB,KAKXC,EALW,OAMFhY,mBAAS,GANP,oBAMzBiY,EANyB,KAMhBC,EANgB,OAQNlY,mBAAS,IARH,oBAQzBkuB,EARyB,KAQlBC,EARkB,OASFnuB,oBAAS,GATP,oBASzBxJ,EATyB,KAShB2J,EATgB,OAWIH,mBAAS,GAXb,oBAWzBK,EAXyB,KAWbC,EAXa,OAYMN,mBAAS,IAZf,oBAYzBO,EAZyB,KAYZgiB,EAZY,OAaIviB,mBAAS,GAbb,oBAazBQ,EAbyB,KAabC,EAba,OAeET,mBAAS,IAfX,iCAgBUA,mBAAS,KAhBnB,oBAgBzB4gB,EAhByB,KAgBVC,EAhBU,OAiBN7gB,oBAAS,GAjBH,oBAiBzBU,EAjByB,KAiBlBC,EAjBkB,OAmBAX,mBAAS,MAnBT,oBAmBzBqR,GAnByB,KAmBfC,GAnBe,QAoBEtR,oBAAS,GApBX,sBAoBzB4qB,GApByB,MAoBdC,GApBc,SAsBA7qB,oBAAS,GAtBT,sBAsBzB42B,GAtByB,MAsBfC,GAtBe,MAwBnB,IAAIz4B,KAUjB0D,qBAAU,WACRxB,EAAc,KACb,CAACxJ,EAAeihB,IAGnBjW,qBAAU,YACM,uCAAG,8BAAA5G,EAAA,sEAEbiF,GAAW,GAFE,SAIUpH,EAAIyB,IAAJ,kCACM1D,EADN,YACuBuJ,EADvB,YACqCE,EADrC,YACoDutB,GACvE,CAAElT,OAAQ7C,MAND,OAIP3e,EAJO,OAUPgsB,EAAgBhsB,EAASe,KAC/BsG,EAAc2kB,EAActkB,WAE5BqtB,EACE/I,EAAcrkB,SAASE,KAAI,SAACC,GAAD,sBACtBA,EADsB,CAEzB4U,aAAa,GAAD,OAAKC,GAAL,oBAA0B7U,EAAEvG,KACxCopB,cAAe7iB,EAAE8iB,KACb1iB,aAAO,IAAIlD,KAAK8C,EAAE8iB,MAAO,mBAAoB,CAC7CziB,OAAQC,OAER,KACJyiB,eAAgB/f,GAAYhD,EAAEkJ,OAAS,GACvC0gB,2BAA4BL,GAAiBnG,MAC3C,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsG,EAAE6pB,qBAEhBN,GAAiBnG,MAAK,SAAC3iB,GAAD,OAAOA,EAAE/G,KAAOsG,EAAE6pB,qBAAmBpgB,MAC3D,8BA3BK,kDA+BP,KAAMvR,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gCAhCD,yBAmCb6G,GAAW,GAnCE,6EAAH,qDAsCdS,KACC,CAACP,EAAYkiB,EAAgBzrB,EAAeihB,IAE/CjW,qBAAU,WACJ+V,GACFH,EAAUzH,QAAQ7K,UAEnB,CAACyS,IAEJ,IAoBMmT,GAAkB,uCAAG,WAAO7wB,GAAP,SAAAe,EAAA,sDACzB2lB,EAAiB1mB,GACjBwG,GAAS,GAFgB,2CAAH,sDAKlBsqB,GAAmB,uCAAG,WAAO9wB,GAAP,SAAAe,EAAA,sDAC1B2vB,IAAa,GACbvZ,GAAY/F,GAAkBpR,IAFJ,2CAAH,sDAKnB28B,GAAc,uCAAG,sBAAA57B,EAAA,sDACrB27B,IAAY,GADS,2CAAH,qDAmCd1nB,GAAelI,mBACrB,OACE,oCACE,yBAAKlI,UAAU,sGACb,wBAAIA,UAAU,MAAd,wBAGF,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI3D,UAAU,mCAC7B,kBAACmD,GAAA,EAAD,CAAQqH,QAAQ,uBAAuBpH,QAAS20B,IAAhD,OAGGjf,EACD,kBAAC,KAAD,CAAMhO,SAdO,SAAC1P,MAeZ,kBAAC4P,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC0X,GAAA,EAAD,CACErgB,KAAK,OACL4T,YAAY,iBACZjL,UAAU,2BACV0E,SApFG,SAACC,GAClB,IAAM6U,EAAK7U,EAAEyG,OAAOC,MAEhB6N,GAASO,aAAaP,GAC1BC,EACEO,YAAW,WACTT,EAAgBO,KACf,OA8ESnJ,IAAKsI,IAEP,kBAAC3N,GAAA,EAAW2M,OAAZ,KACE,kBAACxU,GAAA,EAAD,CAAQqH,QAAQ,iBAAiBpH,QA7E7B,WAClB6V,EAAgB,IAChBF,GAAa,KA4EG,kBAAC,KAAD,UAMN,kBAAC5V,GAAA,EAAD,CACEqH,QAAQ,eACRpH,QAjFO,WACnB2V,GAAa,IAiFDnN,MAAM,wBAEN,kBAAC,KAAD,SAOV,kBAACpI,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,yBACb,kBAAC2pB,GAAA,EAAD,CAAOG,YAAU,EAACF,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACvf,QAAQ,QAC/C,+BACE,4BACE,+CACA,qCACA,sCACA,oCACA,yCACA,sCACA,qCACA,6CAGJ,+BACG/S,EACC,4BACE,wBAAI+Y,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKe,IAAjB4rB,EAAMltB,OACR,4BACE,wBAAIuO,QAAS,EAAGxQ,UAAU,eAA1B,oBAKEmvB,EAAMjtB,KAAI,SAACJ,EAAMmC,GAAP,OACR,wBAAI7F,IAAK0D,EAAK2I,YACZ,4BAAK3I,EAAK2I,YACV,4BAAK3I,EAAKlB,aACV,4BAAKkB,EAAKk2B,WACV,4BAAKl2B,EAAKkjB,eACV,4BAAKljB,EAAKiqB,4BACV,4BAAOjqB,EAAKgpB,UAAY,aAAe,cACvC,4BAAKhpB,EAAKojB,gBACV,wBAAIllB,UAAU,aACZ,kBAACiqB,GAAA,EAAD,CAAUC,KAAK,QACb,kBAACD,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,YACR3O,GAAG,kBAEH,kBAAC,KAAD,CAAU2E,KAAM,MAGlB,kBAACypB,GAAA,EAASE,KAAV,KA3HT,SAACroB,GAClB,OAAIA,EAAKgpB,UAEL,kBAACb,GAAA,EAASd,KAAV,CACE/lB,QAAS,WACP6oB,GAAmBnqB,KAGrB,kBAAC,KAAD,CAAWtB,KAAM,GAAIC,MAAM,YAL7B,gBAWyB,KAA3BqB,EAAKkqB,mBACkB,KAAvBlqB,EAAKqqB,gBACc,IAAnBrqB,EAAKgpB,UAGH,kBAACb,GAAA,EAASd,KAAV,CACE/lB,QAAS,WACP8oB,GAAoBpqB,EAAK6T,eAG3B,kBAAC,KAAD,CAAenV,KAAM,GAAIC,MAAM,YALjC,6BANJ,EA8G0C2rB,CAAWtqB,YAQ7C,kBAACuB,GAAA,EAAD,CAAWa,UAAQzM,GAA2B,GAAhB03B,EAAMltB,SAClC,kBAACuB,GAAA,EAAD,CACExD,UAAS,iCACPyB,GAAcD,EAAc,SAAW,WAGzC,kBAACiC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,iCAC5B,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACV+lB,WAAW,kBACX/oB,WAAYA,EACZiD,kBAAmB/C,EACnBgD,gBAAiB/C,EACjBgD,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAOpD,EAAcoD,YAU7C,kBAACC,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAMlD,EACNmD,OAAQ,kBAAMlD,GAAS,IACvBqK,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,6BAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BAGb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,MACJme,EAAcjhB,aACf,oCACE,kBAAC0pB,GAAA,EAAD,CAAWja,IAAKD,IACd,8BACKyR,EAAcjhB,aAAhB,kCACsBihB,EAAcjhB,cAEvC,2BACE,qCADF,IACiBihB,EAActK,eAAiB,IAEhD,2BACE,oDADF,IAC0BsK,EAAc9K,cAExC,2BACE,yDADF,IAC4B8K,EAAcpX,YAE1C,2BACE,qCADF,IACiBoX,EAAcqD,gBAE/B,2BACE,oDADF,IAC0BrD,EAAcmD,eAExC,2BACE,gDADF,IAC4BnD,EAAc9J,cAE1C,2BACE,uDACC8J,EAAckK,4BAEdlK,EAAcwK,aACf,2BACE,uDAGA,2BACE,qDAGN,2BACE,oDACGxK,EAAciJ,UAAY,aAAe,uBAW5D,kBAAClmB,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAMgnB,GACN/mB,OAAQ,kBAAMgnB,IAAa,IAC3B7f,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,0BAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,IACM,MAAZ4O,GACC,kBAAC5C,GAAD,CAAiBtU,KAAMkX,KAErB,yBAAKtS,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,mBAUZ,kBAACqB,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAMgzB,GACN/yB,OAAQ,kBAAMgzB,IAAY,IAC1B7rB,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,gBAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,S,m3GCjbd,IAAM9D,GAAUC,KAAOC,IAAV,M,IA0DMD,KAAOC,IAAV,MAKV,SAACL,GAAD,OAAYA,EAAMw4B,QAAU,QAAU,UAa1Bp4B,KAAOC,IAAV,MAICD,KAAOC,IAAV,MA6EGD,KAAOC,IAAV,M,mBC3HLo4B,GApCE,CACf,CAAEt8B,IAAK,IACLu8B,OAAQ,MACRnc,MAAO,QAGT,CAAEpgB,IAAK,mBACLu8B,OAAQ,MACRnc,MAAO,oBAGT,CACEpgB,IAAK,gBACLu8B,OAAQ,MACRnc,MAAO,WAGT,CACEpgB,IAAK,aACLu8B,OAAQ,QACRnc,MAAO,wBAGT,CACEpgB,IAAK,aACLu8B,OAAQ,UACRnc,MAAO,iBAGT,CACEpgB,IAAK,cACLu8B,OAAQ,QACRnc,MAAO,uBC/BI,SAASoc,GAAcpd,GAElC,IAAIpR,GAAW,EAuBf,MArByB,QAKJyuB,KAAKrd,KACtBpR,GAAW,GALU,QAOJyuB,KAAKrd,KACtBpR,GAAW,GAPC,QASJyuB,KAAKrd,KACbpR,GAAW,GATa,4BAWJyuB,KAAKrd,KACzBpR,GAAW,GAEZoR,EAAY/Y,OAAS,IACpB2H,GAAW,GAGRA,E,wBCwBI,SAAS5E,KACtB,IAAMjG,EAAWC,cACXrH,EAAUiO,aAAY,SAACzN,GAAD,OAAWA,EAAMf,KAAKO,WAC5CC,EAAWgO,aAAY,SAACzN,GAAD,OAAWA,EAAMf,KAAKQ,YAE7CI,EAAY4N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOpB,cAAc,CAAC,OAC/DF,EAAa8N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOtB,gBAAe,EANvC,EAQHmJ,oBAAS,GARN,oBAQxBke,EARwB,KAQhBC,EARgB,OAUSne,oBAAS,GAVlB,oBAUxBghB,EAVwB,KAUVC,EAVU,OAWGjhB,oBAAS,GAXZ,oBAWxBpJ,EAXwB,KAWbygC,EAXa,OAYSr3B,oBAAS,GAZlB,oBAYxBs3B,EAZwB,KAYVC,EAZU,KAc/Bz1B,qBAAU,WACFnL,GACJmH,EjB/CC,SAA4BnH,GACjC,MAAO,CACLP,KAAM,wBACNC,QAAS,CAAEM,aiB4CA6gC,CAAmB7gC,IAEZ,GAAdE,GACF4gC,EAAa/gC,EAAQoD,MAAOpD,EAAQoD,SAErC,IAEH,IA+BM49B,EAAY,uCAAG,WAAOv9B,GAAP,iCAAAe,EAAA,6DACnB+lB,GAAgB,GACR9lB,EAAShB,EAATgB,KAFW,kBAIMpC,EAAI+B,IAAJ,qCAAsCK,IAJ5C,OAIX/B,EAJW,OAKX+lB,EAAM/lB,EAASe,KAEbmB,EAA4B6jB,EAA5B7jB,QAAS4N,EAAmBiW,EAAnBjW,OAAQvR,EAAWwnB,EAAXxnB,OACD,MAApByB,EAASzB,QAAkBA,GACrBggC,EAA2BzuB,EAA3ByuB,QAASx8B,EAAkB+N,EAAlB/N,KAAM8D,EAAYiK,EAAZjK,QACjB9I,EAF+B,eAEnBO,EAFmB,CAEVihC,UAASx8B,OAAM8D,YAE1CnB,EAASnC,EAAqBxF,IAC9BsD,IAAM8B,QAAN,qBACA87B,GAAa,IAGb59B,IAAMH,MAAN,mCAAkCgC,IAjBnB,kDAoBjB7B,IAAMH,MAAN,6CApBiB,yBAsBjB2nB,GAAgB,GAtBC,6EAAH,sDA0BZwW,EAAY,uCAAG,WAAQG,EAAUC,GAAlB,2BAAA38B,EAAA,yDACb48B,EAAQF,EAASz0B,OACjB40B,EAAiBF,EAAa10B,OAEhC20B,IAAUC,EAJK,iCAKMh/B,EAAIkB,KAAJ,qCAA+C,CACpE29B,SAAUE,EACVD,aAAcE,IAPC,OAKX3+B,EALW,SASmBA,EAASe,KAArCmB,EATS,EASTA,QAAS3D,EATA,EASAA,OAAQuR,EATR,EASQA,OACrBvR,GACFmG,EAAS/B,EAAwBmN,IAEjCpL,EjBxIC,CACL1H,KAAM,+BiBwIFqD,IAAM8B,QAAQ,4CAEd9B,IAAMH,MAAMgC,GAhBG,wBAmBjB7B,IAAM6U,KAAK,iCAnBM,4CAAH,wDAuBZ0pB,EAAiB,uCAAG,+CAAA98B,EAAA,yDAAS+8B,EAAT,EAASA,gBAAiBle,EAA1B,EAA0BA,YAAaE,EAAvC,EAAuCA,mBAC3DF,IAAgBE,EADI,qBAElBkd,GAAapd,GAFK,iCAIZme,EAAqB,CACzB57B,YAAa27B,EACble,YAAaA,EACb3e,gBAAiB6e,GAPD,SAUKlhB,EAAIkB,KAAJ,qCAA+Ci+B,GAVpD,OAUZ9+B,EAVY,SAWUA,EAASe,KAA7BxC,EAXU,EAWVA,OAAQ2D,EAXE,EAWFA,QAEZ3D,GACF8B,IAAM8B,QAAN,gCACAg8B,GAAgB,IAGhB99B,IAAMH,MAAN,2BAAgCgC,IAlBhB,kDAqBZ,KAAMlC,UAAsC,MAA1B,KAAMA,SAASzB,SACR,KAAzB,KAAMyB,SAASzB,QACT8iB,EAAW,KAAMrhB,SAASe,KAA1BsgB,OACF0d,EAAe/7B,OAAO2xB,QAAQtT,GAAQxZ,KAAI,SAAAyC,GAAC,OAAIA,EAAE,MAAI6D,KAAK,MAChE9N,IAAMH,MAAN,mCAAkC6+B,KAElC1+B,IAAMH,MAAM,+CA3BE,gCAiCpBG,IAAM6U,KAAK,2IAjCS,gCAsCtB7U,IAAM6U,KAAK,2CAtCW,0DAAH,sDA0CvB,OACE,kBAAC,GAAD,KACE,kBAAC8pB,GAAA,EAAD,CAAQntB,GAAG,QAAQrQ,GAAG,UAAU2O,QAAQ,QAAQxK,UAAU,QACxD,kBAACqD,GAAA,EAAD,KAEE,kBAAC4mB,GAAA,EAAD,CAAUjqB,UAAU,qBAElB,kBAACiqB,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,UACR0f,KAAI,OACJruB,GAAE,wBAEA,kBAAC,KAAD,CAAU4E,MAAM,OAAOD,KAAM,MAGjC,kBAACypB,GAAA,EAASE,KAAV,CAAetuB,GAAG,aACfq8B,GAASnS,QAAO,SAACnjB,GAAD,OAAO5K,EAAUwB,SAASoJ,EAAEu1B,WAASj2B,KACpD,SAACC,EAAG+C,GAAJ,OACE,kBAAC+kB,GAAA,EAASd,KAAV,CAAe/qB,IAAK8G,EAAG0S,KAAMzV,EAAEvG,KAC5BuG,EAAE6Z,YAQb,kBAAC,KAAD,CAAMzc,GAAG,KACP,yBAAKY,IAAKmQ,KAAMtQ,UAAU,OAAOuQ,IAAI,UAEvC,kBAAC+oB,GAAA,EAAD,CAAKt5B,UAAU,6BACZk4B,GAASnS,QAAO,SAACnjB,GAAD,OAAO5K,EAAUwB,SAASoJ,EAAEu1B,WAASj2B,KACpD,SAACC,EAAG+C,GAAJ,OACE,kBAAC,KAAD,CAAM9G,IAAK8G,EAAG3F,GAAI4C,EAAEvG,IAAKC,GAAG,eACzBsG,EAAE6Z,WAKX,kBAACsd,GAAA,EAAD,CAAKt5B,UAAU,IACZrI,EACC,oCACE,0BAAMqI,UAAU,0BAAhB,WAEQrI,EAAQyE,KAAK1D,MAAM,KAAK,IAEhC,kBAAC,KAAD,CACE6G,GAAiB,UAAb3H,EAAuB,cAAgB,aAC3CoI,UAAU,QAEV,yBACEnE,GAAG,cACHmE,UAAU,aACV+D,MAAO,CACL4X,QAAWwD,EAAS,QAAU,UAGlC,kBAAC,iBAAD,CACE9e,OAAO,OACPF,IAAKxI,EAAQkB,OAAO+C,IACpB2E,iBACE5I,EAAQkB,OAAO+C,IAAIuE,MAAQC,KAE7B8gB,UAAW,kBAAM9B,GAAU,IAC3Bpf,UAAU,uDAGd,kBAACiqB,GAAA,EAAD,CAAUpuB,GAAG,gBACX,kBAACouB,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,QACR3O,GAAG,mBAEL,kBAACouB,GAAA,EAASE,KAAV,CAAeoP,YAAU,GAlMtB,WACjB,OAAQ3hC,GACN,IAAK,QACH,OACE,oCACE,kBAACqyB,GAAA,EAASd,KAAV,CAAe/lB,QAAS,kBAAMk1B,GAAa,KACzC,kBAAC,KAAD,MADF,gCAGA,kBAACrO,GAAA,EAASd,KAAV,CAAe/lB,QAAS,kBAAMo1B,GAAgB,KAC5C,kBAAC,KAAD,MADF,wBAGA,kBAACvO,GAAA,EAASd,KAAV,CAAe/lB,QAAS,kBAAMrE,E3ErCjC,CACL1H,KAAM,qB2EqCI,kBAAC,KAAD,MADF,YAMN,QACE,OACE,oCACE,kBAAC4yB,GAAA,EAASd,KAAV,CAAe/lB,QAAS,kBAAMrE,EjBtFjC,CACL1H,KAAM,iCiBsFI,kBAAC,KAAD,MADF,uBAGA,kBAAC4yB,GAAA,EAASd,KAAV,CAAe/lB,QAAS,kBAAMrE,E3EjDjC,CACL1H,KAAM,qB2EiDI,kBAAC,KAAD,MADF,aA2KiC+0B,MAI7B,oCACE,yBAAKpsB,UAAU,qBACb,kBAAC,KAAD,CAAMT,GAAG,SAAS1D,GAAG,eAArB,SAAiD,SAuDlD,OAAZlE,GAAiC,UAAbC,GACnB,kBAACgN,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAMhN,EACNiN,OAAQ,kBAAMwzB,GAAa,IAC3BrsB,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,cAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,IACP,kBAAC,KAAD,CAAMiH,YAAahT,EAASmT,SAAU6tB,GACpC,kBAAC7Z,GAAD,CACEjjB,GAAG,WACHT,KAAMzD,EAAQkB,OACdkmB,MAAM,2BAER,kBAAC,KAAD,CACE3iB,KAAK,OACL4D,UAAU,eACViL,YAAY,kBAEd,kBAAC9H,GAAA,EAAD,CACE9L,KAAK,SACL2I,UAAU,OACVkL,SAAU+W,EACVjW,OAAK,GAEHiW,EAA6B,iBAAd,kBAUjB,UAAbrqB,GACC,kBAACgN,GAAA,EAAD,CACE5E,UAAU,OACVQ,KAAK,KACLqE,KAAM0zB,EACNzzB,OAAQ,kBAAM0zB,GAAgB,IAC9BvsB,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,wBAIF,kBAAC+I,GAAA,EAAMlE,KAAP,KACE,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,IACP,kBAAC,KAAD,CAAMoH,SAAUmuB,GACd,kBAAC,KAAD,CACE5hC,KAAK,WACL8T,UAAQ,EACR/O,KAAK,kBACL4D,UAAU,oBACViL,YAAY,gBAEd,kBAAC,KAAD,CACEE,UAAQ,EACR/O,KAAK,cACL/E,KAAK,WACL2I,UAAU,oBACViL,YAAY,eAEd,kBAAC,KAAD,CACEE,UAAQ,EACR/O,KAAK,qBACL/E,KAAK,WACL2I,UAAU,oBACViL,YAAY,4BAEd,kBAAC9H,GAAA,EAAD,CACE9L,KAAK,SACL2I,UAAU,OACVkL,SAAU+W,EACVjW,OAAK,GAEHiW,EAA6B,iBAAd,mB,moDC5Z9B,IAAMriB,GAAUC,KAAOC,IAAV,MAQPqO,GAAUtO,KAAOC,IAAV,KAiEEoW,aAAO,IAAM,YCtEpB,SAASsjB,GAAT,GAAmC,IAAbC,EAAY,EAAZA,SACnC,OACE,oCACE,kBAACz0B,GAAD,MACA,kBAAC,GAAD,KACE,kBAAC,GAAD,KAAUy0B,K,+jBCTX,IAAM75B,GAAUC,KAAOC,IAAV,MAOP2X,GAAS5X,KAAO65B,OAAV,MCEJ,SAASC,GAAT,GAAsC,IAAbF,EAAY,EAAZA,SAElC9/B,EAAW0hB,cACTzjB,EAAWgO,aAAY,SAACzN,GAAD,OAAWA,EAAMf,KAAKQ,YAC7C20B,EAAiB,CAAC,QAAS,WAajC,OAVAxpB,qBAAU,WAENpJ,EAASigC,SAASpgC,SAJT,eAK6B,IAAtC+yB,EAAeC,QAAQ50B,IAEvBiC,EAAQc,KAAK,OAEd,CAAChB,IAIF,kBAAC,GAAD,CAASqG,UAAU,4BACjB,kBAACgF,GAAD,MACCy0B,EACD,kBAAChiB,GAAD,CAAQzX,UAAU,gBAChB,kBAACqD,GAAA,EAAD,gBACU,8C,8QChCX,IAAMzD,GAAUC,KAAOC,IAAV,M,UCgDLo4B,GAtCE,CACf,CAAEt8B,IAAK,cAAei+B,KAAM,kBAAC,KAAD,MAAY7d,MAAO,QAC/C,CACEpgB,IAAK,sBACLi+B,KAAM,kBAAC,KAAD,MACN7d,MAAO,sBAOT,CACEpgB,IAAK,2BACLi+B,KAAM,kBAAC,KAAD,MACN7d,MAAO,sBAET,CAAEpgB,IAAK,kBAAmBi+B,KAAM,kBAAC,KAAD,MAAiB7d,MAAO,aACxD,CACEpgB,IAAK,kBACLi+B,KAAM,kBAAC,KAAD,MACN7d,MAAO,4BAET,CACEpgB,IAAK,mBACLi+B,KAAM,kBAAC,KAAD,MACN7d,MAAO,uBAET,CACEpgB,IAAK,mBACLi+B,KAAM,kBAAC,KAAD,MACN7d,MAAO,SAET,CAAEpgB,IAAK,kBAAmBi+B,KAAM,kBAAC,KAAD,MAAgB7d,MAAO,uBACvD,CAAEpgB,IAAK,kBAAmBi+B,KAAM,kBAAC,KAAD,MAAoB7d,MAAO,UAC3D,CAAEpgB,IAAK,wBAAyBi+B,KAAM,kBAAC,KAAD,MAAgB7d,MAAO,gBC5BhD,SAAShX,KACtB,IAAMjG,EAAWC,cACbrF,EAAW0hB,cAET1jB,EAAUiO,aAAY,SAACzN,GAAD,OAAWA,EAAMf,KAAKO,WAC5CC,EAAWgO,aAAY,SAACzN,GAAD,OAAWA,EAAMf,KAAKQ,YALpB,EAOqBqJ,oBAAS,GAP9B,oBAOxB64B,EAPwB,KAOJC,EAPI,KASzBhiC,EAAgB6N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOrB,iBAEpDiiC,EAAa,CACjB,CACEn+B,GAAI,KACJwP,MAAO,KACPO,MAAO,qBAET,CACE/P,GAAI,KACJwP,MAAO,KACPO,MAAO,kBAET,CACE/P,GAAI,KACJwP,MAAO,KACPO,MAAO,gBAET,CACE/P,GAAI,MACJwP,MAAO,MACPO,MAAO,OAET,CACE/P,GAAI,OACJwP,MAAO,OACPO,MAAO,kBAIX7I,qBAAU,WACa,IAAjBhL,GACFgiC,GAAsB,KAEvB,IAEH,IA2BME,EAAwB,uCAAG,WAAO7+B,GAAP,eAAAe,EAAA,sDACvB+9B,EAAiB9+B,EAAjB8+B,aACRn7B,ExBhFK,CACL1H,KAAM,gCACNC,QAAS,CAAEiC,OwB8EkB2gC,KAC7BH,GAAsB,GAHS,2CAAH,sDAM9B,OACE,kBAAC,GAAD,KACc,MAAXpiC,KAAqBA,EAAQwiC,SAC5B,oCACE,kBAACd,GAAA,EAAD,CAAQntB,GAAG,OAAO1B,QAAQ,OAAOxK,UAAU,QACzC,kBAACiqB,GAAA,EAAD,CAAUjqB,UAAU,qBAClB,kBAACiqB,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,UACR0f,KAAI,OACJruB,GAAE,wBAEF,kBAAC,KAAD,CAAU4E,MAAM,OAAOD,KAAM,MAE/B,kBAACypB,GAAA,EAASE,KAAV,CAAetuB,GAAG,aACfq8B,GAASh2B,KAAI,SAACC,EAAG+C,GAAJ,OACZ,kBAAC,KAAD,CACE9G,IAAK8G,EACL3F,GAAI4C,EAAEvG,IACNoE,UAAS,mBACPrG,EAASigC,SACNz1B,cACA3K,SAAS2I,EAAEvG,IAAIuI,eACd,SACA,KAGLhC,EAAE03B,KAXL,IAWY13B,EAAE6Z,YAMpB,kBAACqd,GAAA,EAAOe,MAAR,CAAcv+B,GAAG,QAAQ+b,KAAK,KAC5B,yBAAKzX,IAAKmQ,QAEZ,kBAACgpB,GAAA,EAAD,CAAKt5B,UAAU,YACf,kBAACs5B,GAAA,EAAD,CAAKt5B,UAAU,IACZrI,GACC,oCACE,0BACEqI,UAAU,oCACV+D,MAAO,CAAE2lB,OAAQ,WACjBtmB,QAAS,kBAAM22B,GAAsB,OAElChiC,GACDiiC,EAAWzU,MAAK,SAACpjB,GAAD,OAAOA,EAAEtG,IAAM9D,KAAe6T,OAGlD,kBAACqe,GAAA,EAAD,CAAUpuB,GAAG,gBACX,kBAACouB,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,OACRxK,UAAU,4BACVnE,GAAG,mBAEL,kBAACouB,GAAA,EAASE,KAAV,CAAeoP,YAAU,GAvFxB,WACjB,OAAQ3hC,GACN,IAAK,QACH,OACE,oCACE,kBAACqyB,GAAA,EAASd,KAAV,CAAe/lB,QAAS,kBAAM22B,GAAsB,KAClD,kBAAC,KAAD,MADF,iCAMA,kBAAC9P,GAAA,EAASd,KAAV,CAAe/lB,QAAS,kBAAMrE,ElF5BjC,CACL1H,KAAM,qBkF4BI,kBAAC,KAAD,MADF,aA4EmC+0B,QAQrC,kBAACxnB,GAAA,EAAD,CACEpE,KAAK,KACLqE,KAAMi1B,EACN7tB,kBAAgB,+BAChB8gB,SAAS,SACTjoB,OAAQ,kBAAMi1B,GAAwBhiC,KAEtC,kBAAC6M,GAAA,EAAMlE,KAAP,KACE,kBAACT,GAAA,EAAD,CAAMiM,GAAG,QAAQC,KAAK,QACpB,kBAAClM,GAAA,EAAK+E,OAAN,KACE,8DAEF,kBAAC/E,GAAA,EAAKS,KAAN,KACE,kBAAC,KAAD,CACEiK,YAAa,CAAEuvB,aAAcniC,GAC7B+S,SAAUmvB,GAEV,kBAAC,KAAD,CACE79B,KAAK,eACL+O,UAAQ,EACRF,YAAY,eACZjL,UAAU,oBACV2L,QA/FE,WAAO,IACnBwuB,EAAYxiC,EAAZwiC,QACR,OAAOH,EAAWjU,QAAO,SAACsU,GAAD,OAAQF,EAAQ3N,QAAQ6N,EAAGx+B,KAAO,KA6FhCy+B,KAGX,kBAACn3B,GAAA,EAAD,CAAQqH,QAAQ,OAAOnT,KAAK,SAAS2U,OAAK,GAA1C,qC,mQCtLb,IAAMpM,GAAUC,KAAOC,IAAV,MCQL,SAASy6B,KACtB,IAAI5gC,EAAW0hB,cAEf,OACE,kBAAC,GAAD,KACE,yBAAKrb,UAAU,kBACb,wBAAIA,UAAU,mBACXk4B,GAASh2B,KAAI,SAACC,EAAG+C,GAAJ,OACZ,wBAAI9G,IAAK8G,EAAGlF,UAAU,YACpB,kBAAC,KAAD,CACET,GAAI4C,EAAEvG,IACNoE,UAAS,mBACPrG,EAASigC,SAASz1B,cAAc3K,SAAS2I,EAAEvG,IAAIuI,eAC3C,SACA,KAGLhC,EAAE03B,KARL,IAQY13B,EAAE6Z,c,2GCxBrB,IAAMpc,GAAUC,KAAOC,IAAV,MCQL,SAAS06B,GAAT,GAAoC,IAAbf,EAAY,EAAZA,SAC9B1hC,EAAgB6N,aAAY,SAACzN,GAAD,OAAWA,EAAMiB,OAAOrB,iBAGtD4B,EAAW0hB,cACTzjB,EAAWgO,aAAY,SAACzN,GAAD,OAAWA,EAAMf,KAAKQ,YAC7C20B,EAAiB,CAAC,SAaxB,OAVAxpB,qBAAU,WAENpJ,EAASigC,SAASpgC,SAJT,WAK6B,IAAtC+yB,EAAeC,QAAQ50B,IAEvBiC,EAAQc,KAAK,OAEd,CAAChB,IAIF,kBAAC,GAAD,KACE,kBAAC,GAAD,QACG5B,GACD,yBAAKiI,UAAU,mBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,wCACb,kBAACu6B,GAAD,OAEF,yBACEE,KAAK,OACLz6B,UAAU,2CAETy5B,M,wBCWA,SAASiB,KACpB,IAAM/hB,EAAYzQ,iBAAO,MADY,EAEHjH,oBAAS,GAFN,oBAE9B6X,EAF8B,KAEnBC,EAFmB,OAGG9X,mBAAS,IAHZ,oBAGhBgY,GAHgB,aAIPhY,mBAAS,GAJF,oBAI9BiY,EAJ8B,KAIrBC,EAJqB,OAMXlY,mBAAS,IANE,oBAM9BkuB,EAN8B,KAMvBC,EANuB,OAOPnuB,oBAAS,GAPF,oBAO9BxJ,EAP8B,KAOrB2J,EAPqB,OAUDH,mBAAS,GAVR,oBAU9BQ,EAV8B,KAUlBC,EAVkB,OAYDT,mBAAS,CAAEK,WAAY,EAAGE,YAAa,GAAIwX,aAAc,KAZxD,oBAY9B2hB,EAZ8B,KAYlBC,EAZkB,OAaK35B,mBAAS,IAbd,iCAcCA,oBAAS,IAdV,iCAeGA,oBAAS,IAfZ,oBAe9BghB,EAf8B,KAehBC,EAfgB,OAgBGjhB,mBAAS,GAhBZ,iCAiBCA,mBAAS,IAjBV,iCAkBOA,mBAAS,CAAExJ,SAAS,EAAM2D,KAAM,MAlBvC,oBAkB9By/B,EAlB8B,KAkBdC,EAlBc,OAmBH75B,mBAAS,CAAExJ,SAAS,EAAM2D,KAAM,KAnB7B,oBAmB9B2/B,EAnB8B,KAmBnBC,GAnBmB,QAqBD/5B,mBAAS,CAAExJ,SAAS,EAAM2D,KAAM,KArB/B,sBAqB9B6/B,GArB8B,MAqBlBC,GArBkB,SAsBKj6B,qBAtBL,sBAsB9Bk6B,GAtB8B,MAsBfC,GAtBe,SAuBGn6B,mBAAS,CAC7Co6B,QAAQ,EACRjkC,KAAM,KAzB2B,sBAuB9BmhC,GAvB8B,MAuBhBC,GAvBgB,SA4BSv3B,oBAAS,GA5BlB,sBA4B9Bq6B,GA5B8B,MA4BbC,GA5Ba,MA6B/BC,GAAc,kBAAMD,IAAmB,IA+B7Cx4B,qBAAU,WACNlB,OACD,IACH,IAAMA,GAAQ,uCAAG,kDAAA1F,EAAA,6DAAOmF,EAAP,+BAAoB,KAAME,EAA1B,+BAAwC,KAAMwX,EAA9C,+BAA6D,KAA7D,SAET5X,GAAW,GAELq6B,EAAS,CACXn6B,WAAYA,GAA0Bq5B,EAAWr5B,WACjDE,YAAaA,GAA4Bm5B,EAAWn5B,YACpDwX,aAA8B,MAAhBA,EAAuBA,EAAe2hB,EAAW3hB,cAP1D,SAUchf,EAAIyB,IAAJ,gCACMggC,EAAOn6B,WADb,YAC2Bm6B,EAAOj6B,YADlC,YACiDutB,GAChE,CAAElT,OAAQ4f,EAAOziB,iBAZhB,OAUH3e,EAVG,OAeTugC,EAAca,GACRC,EAAYrhC,EAASe,KAC3BsG,EAAcg6B,EAAU35B,WACxBqtB,EACIsM,EAAU15B,SAASE,KAAI,SAACC,GAAD,sBAChBA,OApBF,kDAwBH,KAAM9H,UAAsC,MAA1B,KAAMA,SAASzB,QACnC8B,IAAMH,MAAM,gCAzBP,yBA4BT6G,GAAW,GA5BF,6EAAH,qDA/DuB,8CA+FrC,WAAwBhK,GAAxB,SAAA+E,EAAA,6DAEIq8B,GAAgB,CACZ6C,QAAQ,EACRjkC,SAJR,SAMUukC,GAAkBvkC,EAAK2D,OANjC,4CA/FqC,oEAwGrC,WAA8BK,GAA9B,iBAAAe,EAAA,6DACI+lB,GAAgB,GADpB,SAGc0Z,EAAQ,CACV7gC,MAAOw9B,GAAanhC,KAAK2D,MACzBC,SAAUI,EAAK4f,aAL3B,SAO+BhhB,EAAIyB,IAAJ,wCAAyCmgC,EAAM7gC,MAA/C,YAAwD6gC,EAAM5gC,WAP7F,OAOcX,EAPd,OAQQwJ,QAAQC,IAAIzJ,GAERA,EAASzB,QACT8B,IAAM8B,QAAN,UAAiBnC,EAASe,KAAKkB,OAAOC,UAXlD,kDAeQ7B,IAAMH,MAAN,UAAe,KAAMgC,UAf7B,QAkBIi8B,GAAgB,CAAE6C,QAAQ,IAC1BnZ,GAAgB,GAnBpB,2DAxGqC,oEA+HrC,WAA0B2Z,GAA1B,iBAAA1/B,EAAA,yDACSg/B,GADT,uBAEQzgC,IAAM6U,KAAK,iCAFnB,iCAKUusB,EAAO,CACTC,SAAUF,EAAMz/B,KAChBrB,MAAO8gC,EAAM9gC,MACbihC,aAAcH,EAAM7gC,UAR5B,SAW2BhB,EAAIkB,KAAJ,qCAAuCigC,IAAiBW,GAXnF,OAWUzhC,EAXV,OAYqBA,EAATe,KAECxC,OACL8B,IAAM8B,QAAQnC,EAASe,KAAKmB,SAE5B7B,IAAMH,MAAMF,EAASe,KAAKmB,SAjBlC,4CA/HqC,oEAoJrC,4BAAAJ,EAAA,6DACIo/B,IAAmB,GADvB,SAE2BvhC,EAAIyB,IAAJ,iCAF3B,OAEUpB,EAFV,OAII6gC,GAAc,CAAEzjC,SAAS,EAAO2D,KAAMf,EAASe,OAJnD,4CApJqC,+BA2JtBugC,GA3JsB,iFA2JrC,WAAiCM,GAAjC,qBAAA9/B,EAAA,sEAC2BnC,EAAIyB,IAAJ,8BAA+BwgC,IAD1D,uBACY7gC,EADZ,EACYA,KADZ,SAE0CpB,EAAIyB,IAAJ,iCAAkCwgC,IAF5E,gBAEkBC,EAFlB,EAEY9gC,KACR0/B,EAAkB,CAAErjC,SAAS,EAAO2D,KAAMA,IAC1C4/B,GAAa,CAAEvjC,SAAS,EAAO2D,KAAM8gC,IAJzC,6CA3JqC,oEAkKrC,mCAAA//B,EAAA,6DAA6B8/B,EAA7B,EAA6BA,UAAWxB,EAAxC,EAAwCA,KACpCK,EAAkB,CAAErjC,SAAS,EAAM2D,KAAM,KACzC4/B,GAAa,CAAEvjC,SAAS,EAAM2D,KAAM,KAC9B0gC,EAAO,CACTG,YACAxB,QALR,SAO2BzgC,EAAIkB,KAAJ,yBAAmC4gC,GAP9D,OAS0B,iCAFhBzhC,EAPV,QASiBe,KACTV,IAAM8B,QAAQ,sBAEd9B,IAAMH,MAAMF,EAASe,MAEzBugC,GAAkBM,GAdtB,4CAlKqC,oEAmLrC,mCAAA9/B,EAAA,6DAAgC8/B,EAAhC,EAAgCA,UAAWxB,EAA3C,EAA2CA,KACvCK,EAAkB,CAAErjC,SAAS,EAAM2D,KAAM,KACzC4/B,GAAa,CAAEvjC,SAAS,EAAM2D,KAAM,KAC9B0gC,EAAO,CACTG,YACAxB,QALR,SAO2BzgC,EAAIkB,KAAJ,4BAAsC4gC,GAPjE,OAS0B,+BAFhBzhC,EAPV,QASiBe,KACTV,IAAM4U,KAAK,oBAEX5U,IAAMH,MAAMF,EAASe,MAEzBugC,GAAkBM,GAdtB,4CAnLqC,sBAqMrC,OACI,oCAEI,yBAAKj8B,UAAU,sGACX,wBAAIA,UAAU,MAAd,iCAIJ,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,iCACX,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI3D,UAAU,8BAC3B,kBAAC,KAAD,CACI2K,YAAa,CAAEqnB,aAAc2I,EAAWn5B,aACxCxB,UAAU,QAEV,kBAACgL,GAAA,EAAD,CAAYhL,UAAU,IAClB,kBAAC,KAAD,CACI5D,KAAK,eACL6O,YAAY,sBACZjL,UAAU,eACV2L,QAAS,CACL,CACIN,MAAO,GACPxP,GAAI,GACJ+P,MAAO,IAEX,CACIP,MAAO,GACPxP,GAAI,GACJ+P,MAAO,IAEX,CACIP,MAAO,GACPxP,GAAI,GACJ+P,MAAO,IAEX,CACIP,MAAO,IACPxP,GAAI,IACJ+P,MAAO,MAGflH,SAAU,gBAAG0G,EAAH,EAAGA,OAAH,OAAgBvJ,GAAS,KAAMuJ,EAAOC,MAAO,WAKhEyN,EACC,kBAAC,KAAD,KACI,kBAAC9N,GAAA,EAAD,CAAYhL,UAAU,IAClB,kBAAC0X,GAAA,EAAD,CACIrgB,KAAK,OACL4T,YAAY,iBACZjL,UAAU,2BACV0E,SA3Nb,SAACC,GAChB,IAAM6U,EAAK7U,EAAEyG,OAAOC,MAEhB6N,GAASO,aAAaP,GAC1BC,EACIO,YAAW,WACPT,EAAgBO,GAChB3X,GAAS,KAAM,KAAM2X,KACtB,OAoNqBnJ,IAAKsI,IAET,kBAAC3N,GAAA,EAAW2M,OAAZ,KACI,kBAACxU,GAAA,EAAD,CAAQqH,QAAQ,iBAAiBpH,QAnN7C,WAChB6V,EAAgB,IAChBF,GAAa,GACblX,GAAS,KAAM,KAAM,MAiNW,kBAAC,KAAD,UAMhB,kBAACsB,GAAA,EAAD,CACIqH,QAAQ,eACRpH,QA/MH,WACjB2V,GAAa,IA+MOnN,MAAM,wBAEN,kBAAC,KAAD,OAGR,kBAACzI,GAAA,EAAD,CACInD,UAAU,OACVwK,QAAQ,eACRpH,QAAS,kBAhRQ,2CAgRF+4B,IACfvwB,MAAM,wBAEN,kBAAC,KAAD,SAMZ,kBAACpI,GAAA,EAAD,CAAKxD,UAAU,iCACX,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACb,yBAAK3D,UAAU,yBACX,kBAAC2pB,GAAA,EAAD,CAAOG,YAAU,EAACF,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACvf,QAAQ,QAC7C,+BACI,4BACI,kCACA,qCACA,sCACA,6CAGR,+BACK/S,EACG,4BACI,wBAAI+Y,QAAS,GACT,yBAAKxQ,UAAU,iBACX,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADvB,iBAKS,IAAjB4rB,EAAMltB,OACN,4BACI,wBAAIuO,QAAS,EAAGxQ,UAAU,eAA1B,oBAKJmvB,EAAMjtB,KAAI,SAACJ,EAAMmC,GAAP,OACN,wBAAI7F,IAAK0D,EAAKjG,IACV,4BAAKiG,EAAKi6B,UACV,4BAAKj6B,EAAK/G,OACV,4BAAK+G,EAAKgwB,SAEV,wBAAI9xB,UAAU,aACV,kBAACiqB,GAAA,EAAD,CAAUC,KAAK,QACX,kBAACD,GAAA,EAAS9R,OAAV,CACI3N,QAAQ,YACR3O,GAAG,kBAEH,kBAAC,KAAD,CAAU2E,KAAM,MAEpB,kBAACypB,GAAA,EAASE,KAAV,KACI,kBAACF,GAAA,EAASd,KAAV,CACI/lB,QAAS,kBArU5B,4CAqUkCg5B,CAASt6B,KAExB,kBAAC,KAAD,CAAgBtB,KAAM,KAAMC,MAAM,YAHtC,WAKA,kBAACwpB,GAAA,EAASd,KAAV,eAahC,kBAAC9lB,GAAA,EAAD,CAAWa,UAAQzM,GAA4B,IAAjB03B,EAAMltB,SAChC,kBAACuB,GAAA,EAAD,CACIxD,UAAS,iCAA4ByB,GAAck5B,EAAWn5B,YAAc,SAAW,WAGvF,kBAACiC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,iCAC1B,kBAAC,KAAD,CACIqE,UAAU,YACVC,UAAU,YACV+lB,WAAW,kBACX/oB,WAAYq5B,EAAWr5B,WACvBiD,kBAAmBo2B,EAAWn5B,YAC9BgD,gBAAiB/C,EACjBgD,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAO9C,GAAS8C,eAQpD,OAAC4zB,SAAD,IAACA,QAAD,EAACA,GAAcnhC,OAIb,kBAACwN,GAAA,EAAD,CACI5E,UAAU,OACVQ,KAAK,KACLqE,KAAM0zB,GAAa8C,OACnBv2B,OAAQ,kBAAM0zB,GAAgB,CAAE6C,QAAQ,KACxCpvB,kBAAgB,gCAEhB,kBAACrH,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACrB,kBAACL,GAAA,EAAMjE,MAAP,CAAa9E,GAAG,gCAAhB,oBAIJ,kBAAC+I,GAAA,EAAMlE,KAAP,KACI,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,0BACX,kBAACyD,GAAA,EAAD,KACI,kBAAC,KAAD,CAAMqH,SA/XG,8CAgYL,kBAACwf,GAAA,EAAD,CAAWtqB,UAAU,QACjB,4BACI,mCACCu4B,GAAanhC,KAAK2kC,UAEvB,4BACI,sCACCxD,GAAanhC,KAAK2D,QAG3B,kBAACuvB,GAAA,EAAD,CAAWtqB,UAAU,QACjB,kBAACwD,GAAA,EAAD,KACI,iEAEHq3B,EAAepjC,SAAWsjC,EAAUtjC,QACjC,kBAAC6L,GAAA,EAAD,CAASC,UAAU,WAEnB,oCACKs3B,EAAez/B,KAAK8G,KAAI,SAACC,GAAD,OACrB,kBAACqB,GAAA,EAAD,CAAKxD,UAAU,qBAEX,2BAAOA,UAAU,YAAYmrB,QAAQ,aACjC,kBAAC,KAAD,CACIzmB,SAAU,WACJq2B,EAAU3/B,KAAKmqB,MAAK,SAAAkV,GAAI,OAAIA,IAASt4B,KAxZlE,qCAyZ+Bk6B,CAAe,CAAEJ,UAAW1D,GAAanhC,KAAK2D,MAAO0/B,KAAMt4B,IAzZ1F,qCA2Z+Bm6B,CAAY,CAAEL,UAAW1D,GAAanhC,KAAK2D,MAAO0/B,KAAMt4B,KAEhE3B,KAAM,KACN3E,GAAG,YACH6P,UAAWqvB,EAAU3/B,KAAKmqB,MAAK,SAAAkV,GAAI,OAAIA,IAASt4B,OAEpD,8BAAOA,UAa/B,kBAAC,KAAD,CACIgJ,UAAQ,EACR/O,KAAK,cACL/E,KAAK,WACL2I,UAAU,oBACViL,YAAY,eAGhB,kBAACzH,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAACN,GAAA,EAAD,CACIC,QAAS,kBAAMo1B,GAAgB,CAAE6C,QAAQ,KACzCr7B,UAAU,OACVwK,QAAQ,SACRwB,OAAK,GAJT,aASJ,kBAACvI,GAAA,EAAD,KACI,kBAACN,GAAA,EAAD,CACI9L,KAAK,SACL2I,UAAU,OACVkL,SAAU+W,EACVjW,OAAK,GAEHiW,EAAmC,iBAApB,0BAWpD,kBAACrd,GAAA,EAAD,CAAOpE,KAAK,KAAKqE,KAAMy2B,GAAiBx2B,OAAQ,WAAQ02B,KAAeJ,OACpE,kBAACx2B,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACrB,kBAACL,GAAA,EAAMjE,MAAP,KAAc,kBAAC,KAAD,CAAgBH,KAAM,KAApC,IAA2C,0BAAMR,UAAU,gBAAhB,0BAG/C,kBAAC,KAAD,CAAM8K,SAxdmB,8CAydrB,kBAAClG,GAAA,EAAMlE,KAAP,KACI,kBAAC8C,GAAA,EAAD,CAAKxD,UAAU,QACX,kBAACyD,GAAA,EAAD,KACI,0CACA,kBAAC,KAAD,CACIrH,KAAK,OACL+O,UAAQ,EACRnL,UAAU,eACViL,YAAY,iBACZsxB,WAAS,MAIrB,kBAAC/4B,GAAA,EAAD,CAAKxD,UAAU,QACX,kBAACyD,GAAA,EAAD,KACI,qCACA,kBAAC,KAAD,CACIpM,KAAK,QACL+E,KAAK,QACL+O,UAAQ,EACRnL,UAAU,eACViL,YAAY,mBACZsxB,WAAS,MAIrB,kBAAC/4B,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,qCACA,kBAAC,KAAD,CAAOpM,KAAK,WACR2I,UAAU,eACV5D,KAAK,WACL+O,UAAQ,EAACF,YAAY,YAGjC,kBAACzH,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KAEI,kBAAC6mB,GAAA,EAAD,CAAWtqB,UAAU,aACjB,kBAACwD,GAAA,EAAD,KACI,iDAEHy3B,GAAWxjC,QACR,kBAAC6L,GAAA,EAAD,CAASC,UAAU,WAEnB,oCACI,kBAACi5B,GAAA,EAAD,CACIC,QAAM,EACNrgC,KAAK,QACL2H,MAAO,CACH24B,IAAK,QACLC,SAAU,SAGb1B,GAAW7/B,KAAK8G,KAAI,SAACC,GAAD,OAEjB,kBAACy6B,GAAA,EAAD,CACIx+B,IAAK+D,EAAE/F,KACP/E,KAAK,QACLqU,QAASyvB,IAAiBh5B,EAAE2vB,QAC5BptB,SAAU,kBAAM02B,GAAiBj5B,EAAE2vB,UACnCzmB,MAAOlJ,EAAE2vB,QACTtnB,QAAQ,YACRzG,MAAO,CACHkL,WAAYksB,IAAiBh5B,EAAE2vB,QAAU,UAAY,OACrD5X,aAAc,QACdrL,QAAS,SACTguB,SAAU,OACVC,WAAY,SACZnuB,MAAO,gBAGVxM,EAAE/F,cAYnC,kBAACoH,GAAA,EAAD,KACI,kBAACC,GAAA,EAAD,KACI,kBAAC8G,GAAA,EAAD,CAAOC,QAAS,QAAhB,uFAQZ,kBAAC5F,GAAA,EAAM6S,OAAP,KACI,kBAACtU,GAAA,EAAD,CAAQqH,QAAQ,YAAYpH,QAAS,WAAQo4B,KAAeJ,OAA5D,UAGA,kBAACj4B,GAAA,EAAD,CAAQqH,QAAQ,UAAUnT,KAAK,UAA/B,wBC9mBjB,SAAS0lC,GAAT,GAAyC,IAAlB3gC,EAAiB,EAAjBA,KAASgB,EAAQ,wBACvC4/B,EAAW90B,iBAAO,MADqB,EAEa+0B,aAAS7gC,GAA3D8gC,EAFqC,EAErCA,UAAWC,EAF0B,EAE1BA,cAAeC,EAFW,EAEXA,aAFW,EAEG7iC,MAUhD,OARAwI,qBAAU,WACRo6B,EAAc,CACZ/gC,KAAM8gC,EACN7sB,IAAK2sB,EAAS9rB,QACdmsB,KAAM,YAEP,CAACH,EAAWC,IAGb,yCACE9sB,IAAK2sB,EACLI,aAAcA,GACVhgC,ICWK,SAASkgC,KACtB,IAAM3kB,EAAYzQ,iBAAO,MADQ,EAIGjH,mBAAS,CAAEK,WAAY,EAAGE,YAAa,GAAIwX,aAAc,KAJ5D,oBAI1B2hB,EAJ0B,KAIdC,EAJc,OAKP35B,mBAAS,IALF,oBAK1BkuB,EAL0B,KAKnBC,EALmB,OAMGnuB,mBAAS,GANZ,oBAM1BQ,EAN0B,KAMdC,EANc,OAOHT,mBAAS,GAPN,oBAO1BiY,EAP0B,KAOjBC,EAPiB,OASHlY,oBAAS,GATN,oBAS1BxJ,EAT0B,KASjB2J,EATiB,OAUCH,oBAAS,GAVV,oBAU1B6X,EAV0B,KAUfC,EAVe,OAae9X,oBAAS,GAbxB,oBAa1Bs8B,EAb0B,KAaRC,EAbQ,OAcav8B,mBAAS,IAdtB,oBAc1Bw8B,EAd0B,KAcTC,EAdS,KAgBjC36B,qBAAU,WACRlB,MACC,IAEH,IAAMA,EAAQ,uCAAG,kDAAA1F,EAAA,6DAAOmF,EAAP,+BAAoB,KAAME,EAA1B,+BAAwC,KAAMwX,EAA9C,+BAA6D,KAA7D,SAEb5X,GAAW,GAELq6B,EAAS,CACbn6B,WAAYA,GAA0Bq5B,EAAWr5B,WACjDE,YAAaA,GAA4Bm5B,EAAWn5B,YACpDwX,aAA8B,MAAhBA,EAAuBA,EAAe2hB,EAAW3hB,cAPpD,SAUUhf,EAAIyB,IAAJ,mCACOggC,EAAOn6B,WADd,YAC4Bm6B,EAAOj6B,YADnC,YACkDutB,GACrE,CAAElT,OAAQ4f,EAAOziB,iBAZR,OAUP3e,EAVO,OAebugC,EAAca,GACRC,EAAYrhC,EAASe,KAC3BsG,EAAcg6B,EAAU35B,WACxBqtB,EACEsM,EAAU15B,SAASE,KAAI,SAACC,GAAD,sBAClBA,OApBM,kDAwBP,KAAM9H,UAAsC,MAA1B,KAAMA,SAASzB,QACrC8B,IAAMH,MAAM,gCAzBD,yBA4Bb6G,GAAW,GA5BE,6EAAH,qDApBmB,4CAqEjC,WAA6By6B,GAA7B,iBAAA1/B,EAAA,sEACyBnC,EAAI+B,IAAJ,wBAAiC8/B,EAAO,CAAEJ,OAAQ,CAAEkC,aAAcF,EAAgB1iC,SAD3G,OACQV,EADR,OAIe,iCAFLe,EAASf,EAATe,OAGNV,IAAM8B,QAAQpB,GACdoiC,GAAoB,GACpBE,EAAmB,KAEnBhjC,IAAMkjC,QAAQxiC,GATlB,4CArEiC,sBAmFjC,OACE,oCACE,yBAAK4E,UAAU,sGACb,wBAAIA,UAAU,MAAd,4BAGF,kBAACwD,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GAAI3D,UAAU,8BAC7B,kBAAC,KAAD,CACE2K,YAAa,CAAEqnB,aAAc2I,EAAWn5B,aACxCxB,UAAU,QAEV,kBAACgL,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC,KAAD,CACE5D,KAAK,eACL6O,YAAY,sBACZjL,UAAU,eACV2L,QAAS,CACP,CACEN,MAAO,GACPxP,GAAI,GACJ+P,MAAO,IAET,CACEP,MAAO,GACPxP,GAAI,GACJ+P,MAAO,IAET,CACEP,MAAO,GACPxP,GAAI,GACJ+P,MAAO,IAET,CACEP,MAAO,IACPxP,GAAI,IACJ+P,MAAO,MAGXlH,SAAU,gBAAG0G,EAAH,EAAGA,OAAH,OAAgBvJ,EAAS,KAAMuJ,EAAOC,MAAO,WAK1DyN,EACD,kBAAC,KAAD,KACE,kBAAC9N,GAAA,EAAD,CAAYhL,UAAU,IACpB,kBAAC0X,GAAA,EAAD,CACErgB,KAAK,OACL4T,YAAY,iBACZjL,UAAU,2BACV0E,SAnFG,SAACC,GAClB,IAAM6U,EAAK7U,EAAEyG,OAAOC,MAEhB6N,GAASO,aAAaP,GAC1BC,EACEO,YAAW,WACT7X,EAAS,KAAM,KAAM2X,KACpB,OA6ESnJ,IAAKsI,IAEP,kBAAC3N,GAAA,EAAW2M,OAAZ,KACE,kBAACxU,GAAA,EAAD,CAAQqH,QAAQ,iBAAiBpH,QA7E7B,WAClB2V,GAAa,GACblX,EAAS,KAAM,KAAM,MA4EL,kBAAC,KAAD,UAMR,kBAACsB,GAAA,EAAD,CACEqH,QAAQ,eACRpH,QAlFS,WACnB2V,GAAa,IAkFHnN,MAAM,wBAEN,kBAAC,KAAD,SAOR,kBAACpI,GAAA,EAAD,CAAKxD,UAAU,iCACb,kBAACyD,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,IACf,yBAAK3D,UAAU,yBACb,kBAAC2pB,GAAA,EAAD,CAAOG,YAAU,EAACF,SAAO,EAACC,UAAQ,EAACE,OAAK,EAACvf,QAAQ,QAC/C,+BACE,4BACE,kCACA,oCACA,qCACA,qCACA,sCACA,6CAGJ,+BACG/S,EACC,4BACE,wBAAI+Y,QAAS,GACX,yBAAKxQ,UAAU,iBACb,kBAACsD,GAAA,EAAD,CAASC,UAAU,WADrB,iBAKe,IAAjB4rB,EAAMltB,OACR,4BACE,wBAAIuO,QAAS,EAAGxQ,UAAU,eAA1B,oBAKFmvB,EAAMjtB,KAAI,SAACJ,EAAMmC,GAAP,OACR,wBAAI7F,IAAK0D,EAAK7F,IACZ,4BAAK6F,EAAK7F,IACV,4BAAK6F,EAAK1F,MACV,4BAAK0F,EAAK/G,OACV,4BAAK+G,EAAK+7B,QACV,4BAAK/7B,EAAKg8B,aAEV,wBAAI99B,UAAU,aACZ,kBAACiqB,GAAA,EAAD,CAAUC,KAAK,QACb,kBAACD,GAAA,EAAS9R,OAAV,CACE3N,QAAQ,YACR3O,GAAG,kBAEH,kBAAC,KAAD,CAAU2E,KAAM,MAElB,kBAACypB,GAAA,EAASE,KAAV,KACE,kBAACF,GAAA,EAASd,KAAV,CACE/lB,QAAS,WAAQo6B,GAAoB,GAAOE,EAAmB57B,KAE/D,kBAAC,KAAD,CAAgBtB,KAAM,KAAMC,MAAM,YAHpC,oBAahB,kBAAC4C,GAAA,EAAD,CAAWa,UAAQzM,GAA4B,IAAjB03B,EAAMltB,SAClC,kBAACuB,GAAA,EAAD,CACExD,UAAS,iCAA4ByB,GAAck5B,EAAWn5B,YAAc,SAAW,WAGvF,kBAACiC,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,EAAG3D,UAAU,iCAC5B,kBAAC,KAAD,CACEqE,UAAU,YACVC,UAAU,YACV+lB,WAAW,kBACX/oB,WAAYq5B,EAAWr5B,WACvBiD,kBAAmBo2B,EAAWn5B,YAC9BgD,gBAAiB/C,EACjBgD,mBAAoB,EACpBC,SAAU,SAACC,GAAD,OAAO9C,EAAS8C,YASxC,kBAACC,GAAA,EAAD,CAAOpE,KAAK,KAAKqE,KAAM04B,EAAkBz4B,OAAQ,WAAQ04B,GAAoB,GAAQE,EAAmB,MACtG,kBAAC94B,GAAA,EAAMI,OAAP,CAAcC,aAAW,GACvB,kBAACL,GAAA,EAAMjE,MAAP,KACE,0BAAMX,UAAU,gBAAhB,gCAIJ,kBAAC,KAAD,CAAM2K,YAAa8yB,EAAiB3yB,SAvPT,6CAwPzB,kBAAClG,GAAA,EAAMlE,KAAP,KACE,yBACEqD,MAAO,CACL4X,QAAS,OACTyX,cAAe,SACfsJ,IAAK,SAGP,kBAACj5B,GAAA,EAAD,KACE,2BAAOM,MAAO,CAAEg6B,WAAY,SAA5B,MACA,kBAAC,KAAD,CACE3hC,KAAK,KACL+O,UAAQ,EACRnL,UAAU,eACVqL,MAAOoyB,EAAgBxhC,GACvBsgC,WAAS,EACTrxB,UAAQ,KAIZ,kBAACzH,GAAA,EAAD,KACE,2BAAOM,MAAO,CAAEg6B,WAAY,SAA5B,QACA,kBAAC,KAAD,CACE3hC,KAAK,OACL+O,UAAQ,EACRnL,UAAU,eACVqL,MAAOoyB,EAAgBrhC,KACvBmgC,WAAS,EACTrxB,UAAQ,KAIZ,kBAACzH,GAAA,EAAD,KACE,2BAAOM,MAAO,CAAEg6B,WAAY,SAA5B,UACA,kBAAChB,GAAD,CACE3gC,KAAK,QACL+O,UAAQ,EACRnL,UAAU,kBAId,kBAACyD,GAAA,EAAD,KACE,2BAAOM,MAAO,CAAEg6B,WAAY,SAA5B,SACA,kBAAChB,GAAD,CACE3gC,KAAK,SACL+O,UAAQ,EACRnL,UAAU,oBAMlB,kBAAC4E,GAAA,EAAM6S,OAAP,KACE,yBAAK1T,MAAO,CAAE4X,QAAS,OAAQhN,MAAO,OAAQ+tB,IAAK,UACjD,kBAACv5B,GAAA,EAAD,CACEqH,QAAQ,SACRpH,QAAS,WAAQo6B,GAAoB,GAAQE,EAAmB,KAChE35B,MAAO,CACL4K,MAAO,OACPgN,QAAS,OACT2X,WAAY,SACZ1d,eAAgB,SAChB8mB,IAAK,WAGP,kBAAC,KAAD,MAXF,YAeA,kBAACv5B,GAAA,EAAD,CACEqH,QAAQ,UACRnT,KAAK,SACL0M,MAAO,CACL4K,MAAO,OACPgN,QAAS,OACT2X,WAAY,SACZ1d,eAAgB,SAChB8mB,IAAK,WAGP,kBAAC,KAAD,MAXF,kBC1TC,SAASsB,KACtB,OACE,kBAAC,IAAD,KACE,kBAAC,GAAD,CAAOX,KAAK,IAAIY,OAAK,EAACt/B,UAAWu/B,GAAcp/B,OAAQ66B,KACvD,kBAAC,GAAD,CACE0D,KAAK,iBACLY,OAAK,EACLt/B,UAAWwuB,GACXruB,OAAQ66B,KAEV,kBAAC,GAAD,CACE/6B,WAAS,EACTy+B,KAAK,iBACL1+B,UAAWw/B,GACXr/B,OAAQ66B,KAEV,kBAAC,GAAD,CACE0D,KAAK,wBACL1+B,UAAW8Z,GACX3Z,OAAQ66B,KAEV,kBAAC,GAAD,CACE0D,KAAK,oCACLY,OAAK,EACLt/B,UAAWquB,GACXluB,OAAQ06B,KAEV,kBAAC,GAAD,CACE6D,KAAK,cACLY,OAAK,EACLr/B,WAAS,EACTD,UAAWy/B,GACXt/B,OAAQ07B,KAEV,kBAAC,GAAD,CACE6C,KAAK,2BACLY,OAAK,EACLr/B,WAAS,EACTD,UAAWuwB,GACXpwB,OAAQ07B,KAEV,kBAAC,GAAD,CACE6C,KAAK,sBACLY,OAAK,EACLr/B,WAAS,EACTD,UAAWoyB,GACXjyB,OAAQ07B,KAEV,kBAAC,GAAD,CACE6C,KAAK,mBACLY,OAAK,EACLr/B,WAAS,EACTD,UAAW80B,GACX30B,OAAQ07B,KAEV,kBAAC,GAAD,CACE6C,KAAK,qCACLY,OAAK,EACLr/B,WAAS,EACTD,UAAWszB,GACXnzB,OAAQ07B,KAEV,kBAAC,GAAD,CACE6C,KAAK,kBACLY,OAAK,EACLr/B,WAAS,EACTD,UAAW60B,GACX10B,OAAQ07B,KAEV,kBAAC,GAAD,CACE6C,KAAK,kBACLY,OAAK,EACLr/B,WAAS,EACTD,UAAWg0B,GACX7zB,OAAQ07B,KAEV,kBAAC,GAAD,CACE6C,KAAK,mBACLY,OAAK,EACLr/B,WAAS,EACTD,UAAWi5B,GACX94B,OAAQ07B,KAEV,kBAAC,GAAD,CACE6C,KAAK,kBACLY,OAAK,EACLr/B,WAAS,EACTD,UAAWu4B,GACXp4B,OAAQ07B,KAEV,kBAAC,GAAD,CACE6C,KAAK,wBACLY,OAAK,EACLr/B,WAAS,EACTD,UAAW+7B,GACX57B,OAAQ07B,KAEV,kBAAC,GAAD,CACE6C,KAAK,kBACLY,OAAK,EACLr/B,WAAS,EACTD,UAAW2+B,GACXx+B,OAAQ07B,KAEV,kBAAC,GAAD,CAAO6C,KAAK,SAASY,OAAK,EAACt/B,UAAWkb,GAAQ/a,OAAQ06B,KACtD,kBAAC,GAAD,CAAO6D,KAAK,UAAUY,OAAK,EAACt/B,UAAW2b,GAAQxb,OAAQ06B,KACvD,kBAAC,GAAD,CAAO6D,KAAK,YAAY1+B,UAAWic,GAAQ9b,OAAQ06B,KACnD,kBAAC,GAAD,CAAO6D,KAAK,YAAY1+B,UAAWmc,GAAUhc,OAAQ06B,KACrD,kBAAC,GAAD,CACE6D,KAAK,yCACL1+B,UAAWoc,GACXjc,OAAQ06B,KAEV,kBAAC,GAAD,CACE6D,KAAK,aACLY,OAAK,EACLt/B,UAAW2tB,GACX1tB,WAAS,EACTE,OAAQ66B,M,4tNCjJD0E,oBAAf,MCuBeC,OAdf,WACE,OACE,kBAAC,IAAD,CAAUxgC,MAAOA,IACf,kBAAC,IAAD,CAAaS,UAAWA,IACtB,kBAAC,IAAD,CAAQ1E,QAASA,GACf,kBAACmkC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,IAAD,CAAgBvhC,UAAW,WClBrC8hC,IAAS/+B,OAAO,kBAAC,GAAD,MAAS8O,SAASkwB,eAAe,W","file":"static/js/main.26c9a787.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/Banner.1ab60e6f.jpg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/img_01.2b64b7ce.jpg\";","module.exports = __webpack_public_path__ + \"static/media/img_02.d8f6051e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/img_03.c1ee6a51.jpg\";","module.exports = __webpack_public_path__ + \"static/media/img_04.6a1de978.jpg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAYAAABQHc7KAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REMyMTU3MDk3RjdCMTFFQUE5MDE4NkJGN0NFQ0E5NTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REMyMTU3MEE3RjdCMTFFQUE5MDE4NkJGN0NFQ0E5NTgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEQzIxNTcwNzdGN0IxMUVBQTkwMTg2QkY3Q0VDQTk1OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEQzIxNTcwODdGN0IxMUVBQTkwMTg2QkY3Q0VDQTk1OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pv7DDEoAAAVfSURBVHja3FtZjBVFFK1pRlmiY5RFcAdZREEWURwFA/LeYEyc+QAyJnywSPgzoh9jjDEBjIlbQogfEiP8oNEfV5ABFyKKURMSWQeYGQggu4AoChkINPfyqsfKm+7XfW5XNe95khMe82o9fatu3Vv9lO/7ygFriDOJbcQmC+1NJ450MVZP2cVE4mfE08QPiDXEZRbavZW4lbia+JjVEVtS8iliq98VMy0+rQ1Gu2xZDTbaTdvAWOIOPxy7LZtrfUgfLcRxV0uA9/3SeMXBmt0V0deKLPeA+4lHic/ElPtU2cfnEX+fQzxGHI02iArAHW0h3hxT7lfiDgcCrC7xXT/ib8R5rjbBxX5yvOzIvaqIzbYYr9neA5b4GEY5FGBpwjEstSXA6+DkN4ETqgLL54GxvJlWgGd9HAuByQwiPgEK4BEPAON5TipAzpcB8cuNxB8Fy+A9cEx1qBu8ifihYJfeRtwElGe3NYHYF+xnFVie59IHcYPLtFux6abC8JD+dxJY7zviH0D5PlExSZgAMzSVYwH4qT+sP+fBfs4SvwbrTCM+HXcO8HSgIUELuI5nGHXbBftAo2CMe4nVpfaA54mDhU9/DVg+Z3y+m1gL1v+GeAasM5D4QtQS6K4FkOJLsPzkov+jy+CUFgHFAmLPMAFm6cSDBO3EH4DyDxKHpBRA4g0YA4izwwSYm+LppzH/AOwO7wLbWUc8LxjvnGIB+ImMz9D8cwmXRRyOEL8VjLdzvoEADSkmv5+4HjTBCRHfTRX0/5Vw3A2mAHUpzd8HyvOh59oSFtAD7H+tcNx1gQB3EsdlaP75mKTGRLC9vcTvBeN+gN2ipz9UCSd/SB9L07i/0Cfj+AjeKYKnc3xSNBMvAOVrE+z0uQy8UGd+kwUYmkIA1A8nmRxHiPeC7e7UeUgUw4I9QILjgpNY3nK5tN7gdk8Qi5u77zmkM+IjyA6dwT7QlwW4IaPdn91ft4Rl+f6vN9g+p8S3gnVqPIHfDQIRNB5Hnup1giSJZDPsIb0dXgeGot0EE8pkGXjCYAI1fz763gbWeVwwrp+IrUD5854gqfC3tgDb7q8Yg4UBWjNQ9gwLcEKQifkTrDNFuNTyjpfBSRbgd8fmP1Dh6a40AnBkeiDpUZ4FaAcaPyeIvupTnDTZHQ4H61wCxthWrQqXGYj5HwcHdI32z3sEQdcdxP76qIsug/kJym3ji0lWuCVhw3z3vhwcTBWYL7BRvxdxX4JT7khPq5tE4QvgDhsgzeSl9c8mWAa7ids9Y+NIYv6HVeUgLjhaHxyEGF84CH2vNvis8lecN/OMp9saY4bNFSYAv6wZlTFuD5aIGQusLNEYp732q8pDlNWuNGOBAMtLxPerVGWCl0FH0d86TE9mCsCXDO9azLaUA46qrklbfk/gUJgAjDdCgqMN+hBTqTBjg3/1HFWUAHzKW/Q/Mf+w6HCRtvT/TllX3pTqil+MUJRPirvATl9VhczuKYsTuYX4CXGFoC5fntyoqZIIMIq4WRVedx0BdjYETEog4CP7fYJ6TTrq/aj4i+qICvw+8DslvredyUkKtqoxqpAARfB21JG61ARfVMmzuCZyjtd0TiDApagvvJjY/x+wo57K9k9auqLOZmMufjPUz7EALPCAchXAtfkz+N2CSeUqwBSVDabaaijKDUpwj8JTV1KwS+Nk68VysoDJKjvwReuj5bYE6lW2mF5OAlQpPH1tYxmUjQC+PqE1maGmA3BO8iVVuNJ/q9w2QRN8GdpIfJI4KGVb+3Q+4mPiRtsDdSWACRagVgdYHCjxLTH/gOF6VXhBm9Gh8xB8T3mQ2KYKlyk/u85FXBZgAN8VGEe78cOeAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/euapoio1new.9ae478fb.jpg\";","module.exports = __webpack_public_path__ + \"static/media/euapoio2.8da1ca36.jpg\";","module.exports = __webpack_public_path__ + \"static/media/student.ece06c26.jpg\";","module.exports = \"data:image/png;base64,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\"","export function signInRequestDoador(email, password) {\r\n return {\r\n type: \"@auth/SIGN_IN_REQUEST_DONOR\",\r\n payload: { email, password },\r\n };\r\n}\r\n\r\nexport function signInRequestAdmin(email, password) {\r\n return {\r\n type: \"@auth/SIGN_IN_REQUEST_ADMIN\",\r\n payload: { email, password },\r\n };\r\n}\r\n\r\nexport function signInRequestAluno(campus, ra, password, birthDate) {\r\n return {\r\n type: \"@auth/SIGN_IN_REQUEST_STUDENT\",\r\n payload: { campus, ra, password, birthDate },\r\n };\r\n}\r\n\r\nexport function signInSuccess(token, user, type) {\r\n return {\r\n type: \"@auth/SIGN_IN_SUCCESS\",\r\n payload: { token, user, type },\r\n };\r\n}\r\n\r\nexport function signUpRequest(name, email, password, confirmPassword) {\r\n return {\r\n type: \"@auth/SIGN_UP_REQUEST\",\r\n payload: {\r\n name,\r\n email,\r\n password,\r\n confirmPassword,\r\n },\r\n };\r\n}\r\n\r\nexport function signFailure() {\r\n return {\r\n type: \"@auth/SIGN_FAILURE\",\r\n };\r\n}\r\n\r\nexport function signOut() {\r\n return {\r\n type: \"@auth/SIGN_OUT\",\r\n };\r\n}\r\n","import produce from \"immer\";\r\n\r\nconst INITIAL_STATE = {\r\n token: null,\r\n signed: false,\r\n loading: false,\r\n exp: 0,\r\n};\r\nexport default function auth(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case \"@auth/SIGN_IN_REQUEST_DONOR\": {\r\n draft.loading = true;\r\n break;\r\n }\r\n case \"@auth/SIGN_IN_REQUEST_ADMIN\": {\r\n draft.loading = true;\r\n break;\r\n }\r\n case \"@auth/SIGN_IN_REQUEST_STUDENT\": {\r\n draft.loading = true;\r\n break;\r\n }\r\n case \"@auth/SIGN_IN_SUCCESS\": {\r\n draft.token = action.payload.token;\r\n draft.user = action.payload.user;\r\n draft.signed = true;\r\n draft.loading = false;\r\n draft.exp = JSON.parse(atob(action.payload.token.split(\".\")[1])).exp;\r\n break;\r\n }\r\n case \"@auth/SIGN_FAILURE\": {\r\n draft.loading = false;\r\n break;\r\n }\r\n case \"@auth/SIGN_OUT\": {\r\n draft.token = null;\r\n draft.signed = false;\r\n draft.exp = 0;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n","import produce from \"immer\";\r\n\r\nconst INITIAL_STATE = {\r\n profile: null,\r\n template: \"\",\r\n};\r\nexport default function user(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case \"@auth/SIGN_IN_SUCCESS\":\r\n draft.profile = action.payload.user;\r\n draft.template = action.payload.type;\r\n break;\r\n case \"@user/UPDATE_PROFILE_SUCCESS\":\r\n draft.profile = action.payload.profile;\r\n break;\r\n case \"@user/UPDATE_ACCEPT_REGULATION_SUCCESS\":\r\n draft.profile.regulationAccepted = action.payload.status;\r\n break;\r\n case \"@user/UPDATE_IMAGE_PROFILE\":\r\n draft.profile.avatar = action.payload.avatar;\r\n break;\r\n case \"@user/UPDATE_EMAIL_CONFIRMATION\":\r\n const {\r\n newEmail,\r\n newEmailConfirmed,\r\n codeExpiration,\r\n } = action.payload.Confirmation;\r\n const usr = {\r\n ...draft.profile,\r\n updateEmail: { newEmail, newEmailConfirmed, codeExpiration },\r\n };\r\n\r\n draft.profile = usr;\r\n break;\r\n case \"@auth/SIGN_OUT\": {\r\n draft.profile = null;\r\n draft.template = \"\";\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n","import produce from \"immer\";\r\n\r\nconst INITIAL_STATE = {\r\n modalUser: false,\r\n modalEmail: false,\r\n tenantProfile: \"\",\r\n itemsMenu: [\"all\"],\r\n};\r\nexport default function header(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case \"@header/TOOGLE_MODAL_USER\":\r\n draft.modalUser = !draft.modalUser;\r\n break;\r\n case \"@header/TOOGLE_MODAL_EMAIL\":\r\n draft.modalEmail = !draft.modalEmail;\r\n break;\r\n case \"@auth/SIGN_IN_SUCCESS\":\r\n if (\r\n !action.payload.user.emailConfirmed &&\r\n JSON.stringify(action.payload.user.updateEmail) === \"{}\" &&\r\n action.payload.type === \"student\"\r\n ) {\r\n draft.modalEmail = true;\r\n }\r\n break;\r\n case \"@header/UPDATE_TENANT_PROFILE\":\r\n draft.tenantProfile = action.payload.tenant;\r\n break;\r\n case \"@header/SET_ITEM_MENU\":\r\n draft.itemsMenu =\r\n draft.itemsMenu.includes(action.payload.template) > -1\r\n ? [...draft.itemsMenu, action.payload.template]\r\n : draft.itemsMenu;\r\n break;\r\n case \"@auth/SIGN_OUT\": {\r\n draft.modalUser = false;\r\n draft.modalEmail = false;\r\n draft.tenantProfile = \"\";\r\n draft.itemsMenu = [\"all\"];\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n","import { combineReducers } from \"redux\";\r\n\r\nimport auth from \"./auth/reducer\";\r\nimport user from \"./user/reducer\";\r\nimport header from \"./header/reducer\";\r\n\r\nexport default combineReducers({ auth, user, header });\r\n","const domain = window.location.hostname;\r\nconst URLApi =\r\n process.env.NODE_ENV === \"development\"\r\n ? \"https://localhost:44358\"\r\n : domain === \"euapoio.homolog.s3-website-sa-east-1.amazonaws.com\"\r\n ? \"https://homologeupoio.unasp.edu.br\"\r\n : \"https://api.euapoio.unasp.edu.br\";\r\n\r\nexport default URLApi;\r\n","import { createBrowserHistory } from \"history\";\r\nconst history = createBrowserHistory();\r\nexport default history;\r\n","import axios from \"axios\";\r\n//import singleToast from \"~/util/singleToast\";\r\nimport { toast } from \"react-toastify\";\r\nimport history from \"~/services/history\"; /* \r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { signOut } from \"~/store/modules/auth/actions\"; */\r\nconst domain = window.location.hostname;\r\n\r\nconst api = axios.create({\r\n //baseURL: \"http://localhost:3333\"\r\n baseURL:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"https://localhost:5001\"\r\n : domain === \"euapoio.homolog.s3-website-sa-east-1.amazonaws.com\"\r\n ? \"https://homologeupoio.unasp.edu.br/\"\r\n : \"https://api.euapoio.unasp.edu.br\",\r\n});\r\n\r\napi.interceptors.response.use(\r\n (response) => {\r\n return response;\r\n },\r\n (error) => {\r\n // This function is part of a promise chain.\r\n // It needs to return a value or another promise so the caller knows when it\r\n // has completed.\r\n // Pass all non 401s back to the caller.\r\n if (error.response.status !== 401) {\r\n return Promise.reject(error);\r\n }\r\n\r\n //const dispatch = useDispatch();\r\n\r\n /* if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n setSearchString(vl);\r\n }, 400)\r\n ); */\r\n\r\n //singleToast(\"Sua sessão expirou. Faça o login novamente\", \"error\");\r\n toast.error(\"Sua sessão expirou. Faça o login novamente\");\r\n history.push(\"/logout\");\r\n /*setTimeout(function () {\r\n dispatch(signOut());\r\n history.push(\"/login\");\r\n }, 2000); */\r\n\r\n /*\r\n const tokens = {\r\n token: localStorage.getItem(\"token\"),\r\n refreshToken: localStorage.getItem(\"refreshToken\")\r\n };\r\n\r\n \r\n return axios\r\n .post(`api/token/refresh`, tokens)\r\n .then(response => {\r\n localStorage.setItem(\"token\", response.data.token);\r\n localStorage.setItem(\"refreshToken\", response.data.refreshToken);\r\n\r\n \r\n axios.defaults.headers.common[\"Authorization\"] = `Bearer ${\r\n response.data.token\r\n }`;\r\n\r\n \r\n error.hasRefreshedToken = true;\r\n return Promise.reject(tokenError);\r\n })\r\n .catch(() => {\r\n const tokenError = new Error(\"Cannot refresh token\");\r\n tokenError.originalError = error;\r\n return Promise.reject(tokenError);\r\n });*/\r\n }\r\n);\r\n\r\nexport default api;\r\n","import { takeLatest, call, put, all } from \"redux-saga/effects\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport URLApi from \"~/config/URLApi\";\r\n\r\nimport imgUser from \"~/assets/user-alt-solid.png\";\r\n\r\nimport history from \"~/services/history\";\r\nimport api from \"~/services/api\";\r\nimport { signInSuccess, signFailure } from \"./actions\";\r\n\r\nfunction* signInDonor({ payload }) {\r\n try {\r\n const { email, password } = payload;\r\n const response = yield call(api.post, \"Authentication/GiverLogin\", {\r\n useremail: email,\r\n password,\r\n });\r\n\r\n const { token, user, authenticated } = response.data;\r\n if (authenticated) {\r\n //const tokenParse = JSON.parse(atob(token.split(\".\")[1]));\r\n api.defaults.headers.Authorization = `Bearer ${token}`;\r\n\r\n const responseUserInfo = yield call(api.get, \"giverarea/getgiverinfo\");\r\n\r\n const responseEmailConfirmation = yield call(\r\n api.get,\r\n \"authentication/checkrequestemailupdate\"\r\n );\r\n\r\n const {\r\n newEmail,\r\n newEmailConfirmed,\r\n codeExpiration,\r\n } = responseEmailConfirmation.data;\r\n\r\n const usr = {\r\n ...user,\r\n avatar: {\r\n ...user.avatar,\r\n url: !!user.avatar.id ? `${URLApi}/image/${user.avatar.id}` : imgUser,\r\n },\r\n ...responseUserInfo.data,\r\n updateEmail: { newEmail, newEmailConfirmed, codeExpiration },\r\n };\r\n\r\n yield put(signInSuccess(token, usr, \"donor\"));\r\n history.push(\"/dashboard\");\r\n } else {\r\n toast.error(\"Falha na autenticação, verifique seus dados\");\r\n yield put(signFailure());\r\n }\r\n } catch (err) {\r\n toast.error(\"Falha na autenticação, verifique seus dados\");\r\n yield put(signFailure());\r\n }\r\n}\r\n\r\nfunction* signInAdmin({ payload }) {\r\n try {\r\n const { email, password } = payload;\r\n const response = yield call(api.post, \"authentication/adminlogin\", {\r\n useremail: email,\r\n password,\r\n });\r\n\r\n const { token, user, authenticated } = response.data;\r\n if (authenticated) {\r\n api.defaults.headers.Authorization = `Bearer ${token}`;\r\n\r\n // const responseUserInfo = yield call(api.get, \"giverarea/getgiverinfo\");\r\n\r\n const usr = {\r\n ...user,\r\n avatar: {\r\n ...user.avatar,\r\n url: !!user.avatar.id ? `${URLApi}/image/${user.avatar.id}` : imgUser,\r\n },\r\n };\r\n\r\n yield put(signInSuccess(token, usr, \"admin\"));\r\n history.push(\"/admin/home\");\r\n } else {\r\n toast.error(\"Falha na autenticação, verifique seus dados\");\r\n yield put(signFailure());\r\n }\r\n } catch (err) {\r\n toast.error(\"Falha na autenticação, verifique seus dados\");\r\n yield put(signFailure());\r\n }\r\n}\r\n\r\nfunction* signInStudent({ payload }) {\r\n try {\r\n const { campus, ra, password, birthDate } = payload;\r\n const response = yield call(api.post, \"Authentication/StudentLogin\", {\r\n campus,\r\n ra,\r\n password,\r\n birthDate,\r\n });\r\n\r\n const { token, user, authenticated } = response.data;\r\n if (authenticated) {\r\n api.defaults.headers.Authorization = `Bearer ${token}`;\r\n\r\n const responseUserInfo = yield call(\r\n api.get,\r\n \"StudentArea/GetStudentInfo\"\r\n );\r\n\r\n const responseEmailConfirmation = yield call(\r\n api.get,\r\n \"authentication/checkrequestemailupdate\"\r\n );\r\n\r\n const {\r\n newEmail,\r\n newEmailConfirmed,\r\n codeExpiration,\r\n } = responseEmailConfirmation.data;\r\n\r\n const usr = {\r\n ...user,\r\n avatar: {\r\n ...user.avatar,\r\n url: !!user.avatar.id ? `${URLApi}/image/${user.avatar.id}` : imgUser,\r\n },\r\n ...responseUserInfo.data,\r\n updateEmail: { newEmail, newEmailConfirmed, codeExpiration },\r\n };\r\n\r\n yield put(signInSuccess(token, usr, \"student\"));\r\n history.push(\"/dashboard\");\r\n } else {\r\n toast.error(\"Falha na autenticação, verifique seus dados\");\r\n yield put(signFailure());\r\n }\r\n } catch (err) {\r\n toast.error(\"Falha na autenticação, verifique seus dados\");\r\n yield put(signFailure());\r\n }\r\n}\r\n\r\nasync function signUp({ payload }) {\r\n try {\r\n const { name, email, password, confirmPassword } = payload;\r\n const result = await api.post(\"/Authentication/CreateGiverUser\", {\r\n name,\r\n email,\r\n password,\r\n confirmPassword,\r\n });\r\n if (!result.data.status) {\r\n toast.error(result.data.message);\r\n return;\r\n }\r\n toast.success(\r\n \"Usuário criado com sucesso, verifique seu e-mail para confirmação\",\r\n {\r\n autoClose: 10000,\r\n }\r\n );\r\n history.push(\"/\");\r\n } catch (err) {\r\n toast.error(\"Falha no cadastro, verifique seus dados\");\r\n put(signFailure());\r\n }\r\n}\r\n\r\nexport function setToken({ payload }) {\r\n if (!payload) return;\r\n const { token } = payload.auth;\r\n if (token) {\r\n api.defaults.headers.Authorization = `Bearer ${token}`;\r\n }\r\n}\r\n\r\nexport function signOut() {\r\n history.push(\"/\");\r\n}\r\n\r\nexport default all([\r\n takeLatest(\"persist/REHYDRATE\", setToken),\r\n takeLatest(\"@auth/SIGN_IN_REQUEST_DONOR\", signInDonor),\r\n takeLatest(\"@auth/SIGN_IN_REQUEST_ADMIN\", signInAdmin),\r\n takeLatest(\"@auth/SIGN_IN_REQUEST_STUDENT\", signInStudent),\r\n takeLatest(\"@auth/SIGN_UP_REQUEST\", signUp),\r\n takeLatest(\"@auth/SIGN_OUT\", signOut),\r\n]);\r\n","export function updateProfileRequest(data) {\r\n return {\r\n type: \"@user/UPDATE_PROFILE_REQUEST\",\r\n payload: { data },\r\n };\r\n}\r\nexport function updateProfileSuccess(profile) {\r\n return {\r\n type: \"@user/UPDATE_PROFILE_SUCCESS\",\r\n payload: { profile },\r\n };\r\n}\r\nexport function updateImageProfile(avatar) {\r\n return {\r\n type: \"@user/UPDATE_IMAGE_PROFILE\",\r\n payload: { avatar },\r\n };\r\n}\r\nexport function updateProfileFailure() {\r\n return {\r\n type: \"@user/UPDATE_PROFILE_FAILURE\",\r\n };\r\n}\r\nexport function acceptRegulationRequest(template) {\r\n return {\r\n type: \"@user/UPDATE_ACCEPT_REGULATION_REQUEST\",\r\n payload: { template },\r\n };\r\n}\r\nexport function acceptRegulationSuccess(status) {\r\n return {\r\n type: \"@user/UPDATE_ACCEPT_REGULATION_SUCCESS\",\r\n payload: { status },\r\n };\r\n}\r\n\r\nexport function updateEmailConfirmation(Confirmation) {\r\n return {\r\n type: \"@user/UPDATE_EMAIL_CONFIRMATION\",\r\n payload: { Confirmation },\r\n };\r\n}\r\n","import { takeLatest, call, put, all } from \"redux-saga/effects\";\r\nimport { toast } from \"react-toastify\";\r\nimport api from \"~/services/api\";\r\n\r\nimport {\r\n updateProfileSuccess,\r\n updateProfileFailure,\r\n acceptRegulationSuccess,\r\n} from \"./actions\";\r\n\r\nexport function* updateProfile({ payload }) {\r\n try {\r\n const { name, email, avatar_id, ...rest } = payload.data;\r\n\r\n const profile = Object.assign(\r\n { name, email, avatar_id },\r\n rest.oldPassword ? rest : {}\r\n );\r\n\r\n const response = yield call(api.put, \"users\", profile);\r\n toast.success(\"Perfil atualizado com sucesso\");\r\n\r\n yield put(updateProfileSuccess(response.data));\r\n } catch (err) {\r\n toast.error(\"Erro ao atualizar perfil, confira seus dados\");\r\n yield put(updateProfileFailure());\r\n }\r\n}\r\n\r\nexport function* accept_regulation({ payload }) {\r\n try {\r\n const { template } = payload;\r\n const response = yield call(\r\n api.post,\r\n template === \"student\"\r\n ? `studentarea/acceptregulation`\r\n : `giverarea/acceptregulation`\r\n );\r\n const { status, message } = response.data;\r\n if (status) {\r\n toast.success(\"Regulamento aceito\");\r\n yield put(acceptRegulationSuccess(status));\r\n } else {\r\n toast.error(`${message}`);\r\n }\r\n } catch (err) {\r\n toast.error(\"Erro ao aceitar regulamento\");\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest(\"@user/UPDATE_PROFILE_REQUEST\", updateProfile),\r\n takeLatest(\"@user/UPDATE_ACCEPT_REGULATION_REQUEST\", accept_regulation),\r\n]);\r\n","import { all } from \"redux-saga/effects\";\r\n\r\nimport auth from \"./auth/sagas\";\r\nimport user from \"./user/sagas\";\r\n//import header from \"./header/sagas\";\r\n\r\nexport default function* rootSaga() {\r\n return yield all([auth, user]);\r\n}\r\n","import { persistStore } from \"redux-persist\";\r\nimport createSagaMiddleware from \"redux-saga\";\r\n\r\nimport createStore from \"./createStore\";\r\nimport persistReducers from \"./persistReducers\";\r\n\r\nimport rootReducer from \"./modules/rootRecuder\";\r\nimport rootSaga from \"./modules/rootSaga\";\r\n\r\nconst sagaMonitor =\r\n process.env.NODE_ENV === \"development\"\r\n ? console.tron.createSagaMonitor()\r\n : null;\r\n\r\nconst sagaMiddleware = createSagaMiddleware({ sagaMonitor });\r\n\r\nconst middlewares = [sagaMiddleware];\r\n\r\nconst store = createStore(persistReducers(rootReducer), middlewares);\r\nconst persistor = persistStore(store);\r\n\r\nsagaMiddleware.run(rootSaga);\r\n\r\nexport { store, persistor };\r\n","import storage from \"redux-persist/lib/storage\";\r\nimport { persistReducer } from \"redux-persist\";\r\nexport default (reducers) => {\r\n const persistedReducer = persistReducer(\r\n {\r\n key: \"eventSystem\",\r\n storage,\r\n whitelist: [\"auth\", \"user\", \"header\"],\r\n },\r\n reducers\r\n );\r\n return persistedReducer;\r\n};\r\n","import { createStore, compose, applyMiddleware } from \"redux\";\r\nexport default (reducers, middlewares) => {\r\n const enhancer =\r\n process.env.NODE_ENV === \"development\"\r\n ? compose(console.tron.createEnhancer(), applyMiddleware(...middlewares))\r\n : applyMiddleware(...middlewares);\r\n return createStore(reducers, enhancer);\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Route, Redirect } from \"react-router-dom\";\r\n\r\nimport { useDispatch } from \"react-redux\";\r\nimport { signOut } from \"~/store/modules/auth/actions\";\r\n\r\n/*import AuthLayout from \"~/pages/__layouts/auth\";\r\nimport DefaultLayout from \"~/pages/__layouts/default\";*/\r\n\r\nimport { store } from \"~/store\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function RouteWrapper({\r\n component: Component,\r\n isPrivate = false,\r\n layout: Layout,\r\n ...rest\r\n}) {\r\n const dispatch = useDispatch();\r\n const { signed, exp, user } = store.getState().auth;\r\n const now = Math.round(new Date().getTime() / 1000);\r\n if (signed && (exp < 1 || now >= exp)) {\r\n dispatch(signOut());\r\n }\r\n if (signed && isPrivate && !user.emailConfirmed) {\r\n toast.error(\"Verifique seu e-mail para continuar\");\r\n return ;\r\n }\r\n\r\n if (!signed && isPrivate) {\r\n toast.error(\"Faça login para acessar\");\r\n\r\n return ;\r\n }\r\n\r\n /* if (signed && !isPrivate) {\r\n return ;\r\n } */\r\n\r\n //const Layout = signed ? DefaultLayout : AuthLayout;\r\n\r\n return (\r\n (\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n}\r\n\r\nRouteWrapper.propTypes = {\r\n isPrivate: PropTypes.bool,\r\n component: PropTypes.oneOfType([PropTypes.element, PropTypes.func])\r\n .isRequired,\r\n};\r\n\r\nRouteWrapper.defaultProps = {\r\n isPrivate: false,\r\n};\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div`\r\n .card-body {\r\n display: flex;\r\n flex-direction: column;\r\n\r\n /* @media (min-width: 1200px) {\r\n min-height: 25vh;\r\n }\r\n\r\n @media (max-width: 1199px) {\r\n min-height: 29vh;\r\n }\r\n @media (max-width: 990px) {\r\n min-height: 31vh;\r\n }\r\n @media (max-width: 777px) {\r\n min-height: 33vh;\r\n } */\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport imagePreLoading from \"~/assets/imagePreLoading.png\";\r\nimport { FaDonate, FaUserAlt } from \"react-icons/fa\";\r\n\r\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\r\nimport \"react-lazy-load-image-component/src/effects/blur.css\";\r\n\r\nimport { Wrapper } from \"./styles\";\r\n\r\nimport { Card, Col } from \"react-bootstrap\";\r\n\r\nfunction CardStudentPage({ data }) {\r\n return (\r\n \r\n \r\n
\r\n {!!data.imageId ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n {data.studentName}\r\n {data.textSplit}\r\n
\r\n
\r\n \r\n Apoiar \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CardStudentPage;\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div`\r\n .donations .card {\r\n width: 100%;\r\n }\r\n\r\n /* .carousel-item img {\r\n transform: translateY(0%);\r\n } */\r\n`;\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\nimport api from \"~/services/api\";\r\nimport URLApi from \"~/config/URLApi\";\r\n\r\nimport history from \"~/services/history\";\r\n\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport euapoio1 from \"~/assets/euapoio1new.jpg\";\r\nimport euapoio2 from \"~/assets/euapoio2.jpg\";\r\n\r\nimport CardStudentPage from \"~/components/CardStudentPage\";\r\n\r\nimport { Wrapper } from \"./styles\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport pt from \"date-fns/locale/pt\";\r\n\r\nimport PaginationComponent from \"react-js-pagination\";\r\n\r\nimport { FaRegCalendarTimes } from \"react-icons/fa\";\r\nimport { MdOpenInNew, MdAccessTime, MdInfoOutline } from \"react-icons/md\";\r\nimport {\r\n Carousel,\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n Button,\r\n Spinner,\r\n Pagination,\r\n Dropdown,\r\n Image,\r\n Modal\r\n} from \"react-bootstrap\";\r\n\r\nimport banner from \"../../assets/Banner.jpg\"\r\n\r\nexport default function AllDonationsPage() {\r\n const [donations, setDonations] = useState([]);\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [message, setMessage] = useState(\"\");\r\n\r\n const [activePage, setActivePage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(10);\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [modal, setModal] = useState(false);\r\n\r\n useEffect(() => {\r\n async function onInit() {\r\n await loadData(activePage);\r\n }\r\n onInit();\r\n }, [activePage]);\r\n\r\n async function loadData(item) {\r\n setLoading(true);\r\n setDonations([]);\r\n try {\r\n setMessage(\"Carregando...\");\r\n const response = await api.get(\r\n `/public/getcampaigncards/${item}/${itemPerPage}/4`\r\n );\r\n\r\n\r\n\r\n if (response.status == 200) {\r\n const numCaracter = 120;\r\n const data = response.data;\r\n setTotalItens(data.indexSize);\r\n\r\n if (data.entities.length > 0) {\r\n setDonations(\r\n data.entities.map((x) => ({\r\n campaignId: x.campaignId,\r\n name: x.name,\r\n description: x.description,\r\n startDate: x.startDate\r\n ? format(new Date(x.startDate), \"dd 'de' MMM 'de' yyyy\", {\r\n locale: pt,\r\n })\r\n : null,\r\n endDate: x.endDate\r\n ? format(\r\n new Date(x.endDate),\r\n \"dd/MM/yyyy HH:mm\",\r\n \"dd 'de' MMM 'de' yyyy HH:mm\",\r\n {\r\n locale: pt,\r\n }\r\n )\r\n : null,\r\n donationPageCards: x.donationPageCards.map((y) => ({\r\n ...y,\r\n textSplit: `${y.pageText.substring(0, numCaracter)} ${y.pageText.length > numCaracter ? \"...\" : \"\"\r\n }`,\r\n urlImage: !!y.imageId ? `${URLApi}/image/${y.imageId}` : null,\r\n })),\r\n }))\r\n );\r\n\r\n setMessage(\"\");\r\n setLoading(false);\r\n } else {\r\n setMessage(\"Nenhum item para renderizar\");\r\n }\r\n } else {\r\n toast.error(\"Ocorreu um erro ao carregar os itens.. tente novamente\");\r\n }\r\n } catch (error) {\r\n setMessage(\"Erro ao carregar a página.. tente novamente\");\r\n }\r\n }\r\n\r\n\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n\r\n {/* \r\n \r\n
\r\n \"First\r\n
\r\n \r\n

Faça parte desta corrente pela educação

\r\n
e ajude a realizar os sonhos dos nossos alunos!!
\r\n
\r\n
\r\n \r\n
\r\n \"Third\r\n
\r\n \r\n

Suas doações podem chegar até onde suas mãos não podem.

\r\n
Seja solidário e contribua!!
\r\n
\r\n
\r\n
*/}\r\n\r\n {loading ? (\r\n \r\n
\r\n {message == \"Carregando...\" && }{\" \"}\r\n

{message}

\r\n
\r\n
\r\n ) : (\r\n \r\n \r\n \r\n

\r\n Muitos estudantes precisam de você. Nos ajude a diminuir os\r\n impactos desta pandemia!!\r\n

\r\n \r\n
\r\n {donations.map((x, ind) => (\r\n console.log(donations),\r\n \r\n \r\n
\r\n
\r\n

\r\n {\r\n x.name === \"#EuApoio - Campus SP\" ?\r\n \"#EuApoio - Campus São Paulo\"\r\n : x.name === \"#EuApoio - Campus EC\" ?\r\n \"#EuApoio - Campus Engenheiro Coelho\"\r\n : x.name === \"#EuApoio - Campus HT\" ?\r\n \"#EuApoio - Campus Hortolândia\"\r\n : x.name === \"#EuApoio - Campus EAD\" ?\r\n \"#EuApoio - Campus EAD\"\r\n : null\r\n }\r\n

\r\n \r\n \r\n
\r\n {x.startDate && (\r\n <>\r\n {\" \"}\r\n Início: {x.startDate}\r\n \r\n )}\r\n
\r\n
\r\n {x.endDate && (\r\n <>\r\n {\" \"}\r\n Fim: {x.endDate}\r\n \r\n )}\r\n
\r\n \r\n \r\n

\r\n \r\n {x.description}\r\n

\r\n \r\n
\r\n\r\n
\r\n \r\n Pesquise um aluno para doar \r\n \r\n
\r\n
\r\n
\r\n \r\n {x.donationPageCards.map((x, index) => (\r\n \r\n ))}\r\n \r\n
\r\n \r\n \r\n ))}\r\n
\r\n )}\r\n
\r\n\r\n );\r\n}\r\n","export const { format: formatPrice } = new Intl.NumberFormat(\"pt-BR\", {\r\n style: \"currency\",\r\n currency: \"BRL\"\r\n});\r\n","const domain = window.location.hostname;\r\nconst URLSystem =\r\n process.env.NODE_ENV === \"development\"\r\n ? \"https://localhost:44358\"\r\n : domain === \"euapoio.homolog.s3-website-sa-east-1.amazonaws.com\"\r\n ? \"http://euapoio.homolog.s3-website-sa-east-1.amazonaws.com\"\r\n : \"https://api.euapoio.unasp.br\";\r\n\r\nexport default URLSystem;\r\n","import styled from \"styled-components\";\r\nimport \"react-credit-cards/es/styles-compiled.css\";\r\n\r\nexport const Wrapper = styled.div`\r\n @media screen and (max-width: 500px) {\r\n .rccs {\r\n zoom: 0.7;\r\n }\r\n }\r\n\r\n .success-checkmark {\r\n width: 80px;\r\n height: 115px;\r\n margin: 0 auto;\r\n\r\n .check-icon {\r\n width: 80px;\r\n height: 80px;\r\n position: relative;\r\n border-radius: 50%;\r\n box-sizing: content-box;\r\n border: 4px solid #4caf50;\r\n\r\n &::before {\r\n top: 3px;\r\n left: -2px;\r\n width: 30px;\r\n transform-origin: 100% 50%;\r\n border-radius: 100px 0 0 100px;\r\n }\r\n\r\n &::after {\r\n top: 0;\r\n left: 30px;\r\n width: 60px;\r\n transform-origin: 0 50%;\r\n border-radius: 0 100px 100px 0;\r\n animation: rotate-circle 4.25s ease-in;\r\n }\r\n\r\n &::before,\r\n &::after {\r\n content: \"\";\r\n height: 100px;\r\n position: absolute;\r\n background: #ffffff;\r\n transform: rotate(-45deg);\r\n }\r\n\r\n .icon-line {\r\n height: 5px;\r\n background-color: #4caf50;\r\n display: block;\r\n border-radius: 2px;\r\n position: absolute;\r\n z-index: 10;\r\n\r\n &.line-tip {\r\n top: 46px;\r\n left: 14px;\r\n width: 25px;\r\n transform: rotate(45deg);\r\n animation: icon-line-tip 0.75s;\r\n }\r\n\r\n &.line-long {\r\n top: 38px;\r\n right: 8px;\r\n width: 47px;\r\n transform: rotate(-45deg);\r\n animation: icon-line-long 0.75s;\r\n }\r\n }\r\n\r\n .icon-circle {\r\n top: -4px;\r\n left: -4px;\r\n z-index: 10;\r\n width: 80px;\r\n height: 80px;\r\n border-radius: 50%;\r\n position: absolute;\r\n box-sizing: content-box;\r\n border: 4px solid rgba(76, 175, 80, 0.5);\r\n }\r\n\r\n .icon-fix {\r\n top: 8px;\r\n width: 5px;\r\n left: 26px;\r\n z-index: 1;\r\n height: 85px;\r\n position: absolute;\r\n transform: rotate(-45deg);\r\n background-color: #ffffff;\r\n }\r\n }\r\n }\r\n\r\n @keyframes rotate-circle {\r\n 0% {\r\n transform: rotate(-45deg);\r\n }\r\n 5% {\r\n transform: rotate(-45deg);\r\n }\r\n 12% {\r\n transform: rotate(-405deg);\r\n }\r\n 100% {\r\n transform: rotate(-405deg);\r\n }\r\n }\r\n\r\n @keyframes icon-line-tip {\r\n 0% {\r\n width: 0;\r\n left: 1px;\r\n top: 19px;\r\n }\r\n 54% {\r\n width: 0;\r\n left: 1px;\r\n top: 19px;\r\n }\r\n 70% {\r\n width: 50px;\r\n left: -8px;\r\n top: 37px;\r\n }\r\n 84% {\r\n width: 17px;\r\n left: 21px;\r\n top: 48px;\r\n }\r\n 100% {\r\n width: 25px;\r\n left: 14px;\r\n top: 45px;\r\n }\r\n }\r\n\r\n @keyframes icon-line-long {\r\n 0% {\r\n width: 0;\r\n right: 46px;\r\n top: 54px;\r\n }\r\n 65% {\r\n width: 0;\r\n right: 46px;\r\n top: 54px;\r\n }\r\n 84% {\r\n width: 55px;\r\n right: 0px;\r\n top: 35px;\r\n }\r\n 100% {\r\n width: 47px;\r\n right: 8px;\r\n top: 38px;\r\n }\r\n }\r\n`;\r\n","import React, { useEffect, useState, useRef } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport Cards from \"react-credit-cards\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport HCaptcha from \"@hcaptcha/react-hcaptcha\";\r\n\r\nimport { formatPrice } from \"~/util/format\";\r\n\r\nimport { format, addMonths, addDays } from \"date-fns\";\r\n\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\n\r\nimport { MdCheckCircle } from \"react-icons/md\";\r\n\r\nimport { Wrapper } from \"./styles\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Alert,\r\n Button,\r\n InputGroup,\r\n Spinner,\r\n Modal,\r\n Card,\r\n Badge,\r\n} from \"react-bootstrap\";\r\nimport InputMask from \"react-input-mask\";\r\n\r\nimport Switch from \"react-switch\";\r\n\r\nimport api from \"~/services/api\";\r\n\r\nexport default function CartaoCC({ idclient, data, routePay, setInvoice }) {\r\n const { profile, template } = useSelector((state) => state.user);\r\n\r\n const [donorName, setDonorName] = useState(\"\");\r\n const [donorMail, setDonorMail] = useState(\"\");\r\n\r\n const [cvc, setCvc] = useState(\"\");\r\n const [expiry, setExpiry] = useState(\"\");\r\n const [focus, setFocus] = useState(\"\");\r\n const [name, setName] = useState(\"\");\r\n const [number, setNumber] = useState(\"\");\r\n\r\n const [price, setPrice] = useState(\"\");\r\n const [customPrice, setCustomPrice] = useState(\"\");\r\n const [typeDonation, setTypeDonation] = useState(\"\");\r\n const [installments, setInstallments] = useState(1);\r\n\r\n const [identificacao, setIdentificacao] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const [paymentDone, setPaymentDone] = useState(false);\r\n const [paymentObj, setPaymentObj] = useState({});\r\n\r\n const [authPeople, setAuthPeople] = useState(false);\r\n\r\n const [modalTermUse, setModalTermUse] = useState(false);\r\n const [acceptTerm, setAcceptTerm] = useState(false);\r\n const [acceptted, setAcceptted] = useState(false);\r\n const [termoDeUso, setTermoDeUso] = useState(\"\");\r\n\r\n const captcha = useRef(null);\r\n const [userValid, setUserValid] = useState(true);\r\n\r\n useEffect(() => {\r\n if (profile !== null && template === \"donor\") {\r\n setDonorName(profile.name);\r\n setDonorMail(profile.email);\r\n setAuthPeople(true);\r\n\r\n if (profile.regulationAccepted) {\r\n setAcceptTerm(true);\r\n setAcceptted(true);\r\n }\r\n }\r\n\r\n setTermoDeUso(data.giverRegulation);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setPrice(customPrice !== \"outro\" ? customPrice : \"\");\r\n }, [customPrice]);\r\n\r\n useEffect(() => {\r\n setInstallments(typeDonation === \"unica\" ? \"1\" : \"\");\r\n }, [typeDonation]);\r\n\r\n async function handlePay(e) {\r\n var location = \"\";\r\n try {\r\n const response = await api.get(`https://api.ipgeolocation.io/ipgeo?apiKey=4a000754c89a4078ac6838e11a9090f1`);\r\n location = JSON.stringify(response.data);\r\n } catch (error) {\r\n\r\n }\r\n\r\n if (!userValid) {\r\n toast.error(\"Por favor, aceite o captcha\");\r\n return;\r\n }\r\n\r\n if (!acceptTerm) {\r\n toast.error(\"Você precisa aceitar os termos de uso\");\r\n return;\r\n }\r\n\r\n if (price.trim() === \"\" || price.trim() === \"0\") {\r\n toast.error(\"O valor deve ser maior que zero\");\r\n return;\r\n }\r\n\r\n if (!userValid) {\r\n toast.error(\"Por favor, aceite o captcha\");\r\n return;\r\n }\r\n\r\n let dateExpiry = expiry.trim().split(\"/\");\r\n\r\n dateExpiry[1] =\r\n Number(dateExpiry[1]) < 2000\r\n ? Number(dateExpiry[1]) + 2000\r\n : Number(dateExpiry[1]);\r\n\r\n const newDateExpiry = dateExpiry.join(\"/\");\r\n\r\n const jsonData = {\r\n Location: location,\r\n DonationPageId: idclient,\r\n GiverName: donorName,\r\n GiverEmail: donorMail,\r\n Value: Number(price),\r\n IsRecurrence: typeDonation === \"mensal\" ? true : false,\r\n RecurrenceTimes: installments,\r\n AnonymousDonator: identificacao,\r\n PaymentMethodCode: 50,\r\n PaymentParameters: JSON.stringify({\r\n isSignature: typeDonation === \"mensal\" ? true : false,\r\n signatureInterval: typeDonation === \"mensal\" ? \"Monthly\" : \"\",\r\n signatureEndDate:\r\n typeDonation === \"mensal\"\r\n ? format(\r\n addDays(addMonths(Date.now(), installments - 1), 1),\r\n \"yyyy-MM-dd\"\r\n )\r\n : \"\",\r\n card_number: number.trim().replace(/\\s/g, \"\"),\r\n full_name: name.trim(),\r\n validate: newDateExpiry,\r\n secure_code: cvc.trim(),\r\n recurrent: false,\r\n installment: 1,\r\n country: \"BRA\"\r\n }),\r\n };\r\n\r\n try {\r\n setLoading(true);\r\n\r\n const response = await api.post(`${routePay}`, jsonData);\r\n const dataResponse = response.data;\r\n\r\n if (response.status === 200) {\r\n dataResponse.status\r\n ? emitCallBack({ status: true, entity: dataResponse.entity })\r\n : error(dataResponse.message);\r\n } else {\r\n error(dataResponse.message);\r\n }\r\n } catch (error) {\r\n toast.error(\"Ocorreu um erro, tente novamente\");\r\n } finally {\r\n setLoading(false);\r\n }\r\n }\r\n\r\n function emitCallBack(d) {\r\n if (d.status) {\r\n setPaymentDone(true);\r\n setPaymentObj(d.entity);\r\n }\r\n }\r\n\r\n function error(message) {\r\n toast.error(`Ocorreu um erro com a financeira. ${!!message && message}`);\r\n }\r\n\r\n const onChange = async () => {\r\n const token = await captcha.current.executeAsync();\r\n if (captcha.current.getValue()) {\r\n setUserValid(true);\r\n }\r\n }\r\n\r\n const onExpired = () => {\r\n setUserValid(false);\r\n }\r\n\r\n const onVerifyCaptcha = (token) => {\r\n setUserValid(true);\r\n }\r\n\r\n return (\r\n \r\n \r\n {!!idclient && !!routePay ? (\r\n
\r\n {paymentDone ? (\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

Pagamento realizado com sucesso

\r\n \r\n Seu código da transação é {paymentObj.donationId}\r\n
\r\n Confira sua caixa e-mail(spam) para mais detalhes\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setDonorName(e.target.value)}\r\n onFocus={(e) => setFocus(e.target.name)}\r\n />\r\n \r\n \r\n \r\n \r\n setDonorMail(e.target.value)}\r\n onFocus={(e) => setFocus(e.target.name)}\r\n />\r\n \r\n \r\n \r\n Obs: obrigatório para envio do comprovante da doação\r\n \r\n \r\n
\r\n \r\n \r\n \r\n setName(e.target.value)}\r\n onFocus={(e) => setFocus(e.target.name)}\r\n />\r\n \r\n \r\n \r\n \r\n setNumber(e.target.value)}\r\n onFocus={(e) => setFocus(e.target.name)}\r\n />\r\n \r\n \r\n \r\n \r\n setCvc(e.target.value)}\r\n onFocus={(e) => setFocus(e.target.name)}\r\n />\r\n \r\n \r\n \r\n \r\n setExpiry(e.target.value)}\r\n onFocus={(e) => setFocus(e.target.name)}\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n setTypeDonation(e.target.value)}\r\n />\r\n \r\n \r\n {typeDonation === \"mensal\" && (\r\n \r\n \r\n setInstallments(e.target.value)}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n setCustomPrice(e.target.value)}\r\n />\r\n \r\n \r\n {customPrice === \"outro\" && (\r\n \r\n \r\n setPrice(e.target.value)}\r\n />\r\n \r\n \r\n )}\r\n \r\n
\r\n Total: {installments && `${installments}x de`}{\" \"}\r\n {formatPrice(price)}\r\n
\r\n \r\n {!acceptted && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n )}\r\n
\r\n ) : (\r\n \r\n Estão faltando alguns parâmetros para renderizar este componente\r\n \r\n )}\r\n
\r\n\r\n {/* Modal Termo de Uso */}\r\n setModalTermUse(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Termo de uso\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","export default function explodeDate(data, type) {\r\n if (type == 1) {\r\n //const dt = data.split(\".\");\r\n return `${data.substr(6, 4)}-${data.substr(3, 2)}-${data.substr(0, 2)}`;\r\n } else if (type == 2) {\r\n return `${data.substr(4, 4)}-${data.substr(2, 2)}-${data.substr(0, 2)}`;\r\n }\r\n}\r\n","import { formatPrice } from \"~/util/format\";\r\nimport { format, addDays } from \"date-fns\";\r\nimport explodeDate from \"~/util/explodeDate\";\r\n\r\nexport default function parseDataBradesco(data) {\r\n const responsePay = JSON.parse(data);\r\n const entity = {\r\n nuTituloGerado: responsePay.nuTituloGerado,\r\n //nuCnpjBeneficiario: responsePay.nuCnpjBeneficiario,\r\n nomeBeneficiario: responsePay.nomeBeneficiario,\r\n logradouroBeneficiario: responsePay.logradouroBeneficiario,\r\n nuLogradouroBeneficiario: responsePay.nuLogradouroBeneficiario,\r\n complementoLogradouroBeneficiario:\r\n responsePay.complementoLogradouroBeneficiario,\r\n cepBeneficiario: `${responsePay.cepBeneficiario}-${responsePay.cepComplementoBeneficiario}`,\r\n municipioBeneficiario: responsePay.municipioBeneficiario,\r\n ufBeneficiario: responsePay.ufBeneficiario,\r\n nomePagador: responsePay.nomePagador,\r\n cpfcnpjPagador: `${responsePay.cpfcnpjPagador.substr(\r\n 0,\r\n 9\r\n )}${responsePay.cpfcnpjPagador.substr(13, 2)}`,\r\n enderecoPagador: responsePay.enderecoPagador,\r\n bairroPagador: responsePay.bairroPagador,\r\n municipioPagador: responsePay.municipioPagador,\r\n ufPagador: responsePay.ufPagador,\r\n cepPagador: `${responsePay.cepPagador}-${responsePay.cepComplementoPagador}`,\r\n dtEmissao: explodeDate(responsePay.dtEmissao, 2),\r\n dtVencimentoBoleto: explodeDate(responsePay.dtVencimentoBoleto, 1),\r\n dtLimitePagamentoBoleto: explodeDate(\r\n responsePay.dtLimitePagamentoBoleto,\r\n 1\r\n ),\r\n vlTitulo: responsePay.vlTitulo,\r\n cdBarras: responsePay.cdBarras,\r\n linhaDigitavel: responsePay.linhaDigitavel,\r\n };\r\n\r\n /* cdBarras: responsePay.linhaDigitavel != \"99999.99999 99999.999999 99999.999999 9 99999999999999\" ? responsePay.cdBarras : \"23796822800000005003368160104000000300052200\", */\r\n\r\n return {\r\n ...entity,\r\n priceFormatted: formatPrice(parseInt(entity.vlTitulo) / 100),\r\n dtEmissao: format(addDays(new Date(entity.dtEmissao), 1), \"dd/MM/yyyy\"),\r\n dtLimitePagamentoBoleto: format(\r\n addDays(new Date(entity.dtLimitePagamentoBoleto), 1),\r\n \"dd/MM/yyyy\"\r\n ),\r\n dtVencimentoBoleto: format(\r\n addDays(new Date(entity.dtVencimentoBoleto), 1),\r\n \"dd/MM/yyyy\"\r\n ),\r\n };\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div``;\r\n","import styled from \"styled-components\";\r\n\r\nexport const Content = styled.div`\r\n #banco_logo {\r\n max-width: 40px;\r\n max-height: 40px;\r\n }\r\n #barcode {\r\n width: 100%;\r\n }\r\n\r\n body {\r\n font-family: \"Arial\";\r\n }\r\n\r\n @media print {\r\n .no-print,\r\n .no-print * {\r\n display: none !important;\r\n }\r\n }\r\n\r\n .document {\r\n margin: auto auto;\r\n width: 100%;\r\n background-color: #fff;\r\n padding: 10px 20px;\r\n text-align: left;\r\n }\r\n\r\n .headerBtn {\r\n margin: auto auto;\r\n width: 216mm;\r\n background-color: #fff;\r\n display: none;\r\n }\r\n\r\n table {\r\n width: 100%;\r\n position: relative;\r\n border-collapse: collapse;\r\n }\r\n\r\n .bankLogo {\r\n width: 28%;\r\n }\r\n\r\n .boletoNumber {\r\n width: 62%;\r\n font-weight: bold;\r\n }\r\n\r\n .center {\r\n text-align: center;\r\n }\r\n\r\n .right {\r\n text-align: right;\r\n right: 20px;\r\n }\r\n\r\n td {\r\n position: relative;\r\n }\r\n\r\n .title {\r\n position: absolute;\r\n left: 0px;\r\n top: 0px;\r\n font-size: 12px;\r\n font-weight: bold;\r\n }\r\n\r\n .text {\r\n font-size: 12px;\r\n }\r\n\r\n p.content {\r\n padding: 0px;\r\n width: 100%;\r\n margin: 0px;\r\n font-size: 12px;\r\n text-align: left;\r\n }\r\n\r\n .sideBorders {\r\n border-left: 1px solid black;\r\n border-right: 1px solid black;\r\n }\r\n\r\n hr {\r\n size: 1;\r\n border: 1px dashed;\r\n }\r\n\r\n br {\r\n content: \" \";\r\n display: block;\r\n margin: 12px 0;\r\n line-height: 12px;\r\n }\r\n\r\n .print {\r\n /* TODO(dbeam): reconcile this with overlay.css' .default-button. */\r\n background-color: rgb(77, 144, 254);\r\n background-image: linear-gradient(\r\n to bottom,\r\n rgb(77, 144, 254),\r\n rgb(71, 135, 237)\r\n );\r\n border: 1px solid rgb(48, 121, 237);\r\n color: #fff;\r\n text-shadow: 0 1px rgba(0, 0, 0, 0.1);\r\n }\r\n\r\n .btnDefault {\r\n font-kerning: none;\r\n font-weight: bold;\r\n }\r\n\r\n .btnDefault:not(:focus):not(:disabled) {\r\n border-color: #808080;\r\n }\r\n\r\n button {\r\n border: 1px;\r\n padding: 5px;\r\n line-height: 20px;\r\n }\r\n\r\n .fsc24 {\r\n font-size: 24px;\r\n font-weight: bold;\r\n }\r\n\r\n .fwcb {\r\n font-weight: bold;\r\n }\r\n\r\n .bnc {\r\n border: none;\r\n }\r\n\r\n #tarc {\r\n text-align: right;\r\n }\r\n`;\r\n","import { toast } from \"react-toastify\";\r\nexport default function copy(text) {\r\n try {\r\n var textArea = document.createElement(\"textarea\");\r\n\r\n textArea.style.position = \"fixed\";\r\n textArea.style.top = 0;\r\n textArea.style.left = 0;\r\n textArea.style.width = \"2em\";\r\n textArea.style.height = \"2em\";\r\n textArea.style.padding = 0;\r\n textArea.style.border = \"none\";\r\n textArea.style.outline = \"none\";\r\n textArea.style.boxShadow = \"none\";\r\n textArea.style.background = \"transparent\";\r\n textArea.value = text;\r\n\r\n document.body.appendChild(textArea);\r\n textArea.select();\r\n\r\n var successful = document.execCommand(\"copy\");\r\n successful ? toast.info(\"Texto copiado\") : toast.warn(\"Texto não copiado\");\r\n } catch (err) {\r\n toast.error(\"Ocorreu um erro ao copiar\");\r\n }\r\n\r\n document.body.removeChild(textArea);\r\n}\r\n","import React, { useEffect, useRef, useMemo } from \"react\";\r\n\r\nimport { endOfDay, isBefore, addDays } from \"date-fns\";\r\n\r\nimport { Content } from \"./styles\";\r\nimport JsBarcode from \"jsbarcode\";\r\n\r\nimport logo from \"~/assets/bradesco_logo.png\";\r\n\r\nimport { Row, Col, Button, Alert } from \"react-bootstrap\";\r\nimport ReactToPrint from \"react-to-print\";\r\n\r\nimport copy from \"~/util/copy\";\r\n\r\nexport default function BoletoComponent({ data }) {\r\n const canPayYet = useMemo(() => {\r\n const fimDoDiaMaxPagar = endOfDay(\r\n addDays(\r\n new Date(data.dtLimitePagamentoBoleto.split(\"/\").reverse().join(\"-\")),\r\n 1\r\n )\r\n );\r\n\r\n return isBefore(Date.now(), fimDoDiaMaxPagar);\r\n });\r\n\r\n useEffect(() => {\r\n async function loadEvent() {\r\n JsBarcode(\"#barcode\").init();\r\n }\r\n loadEvent();\r\n }, []);\r\n\r\n const componentRef = useRef();\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n {!canPayYet && (\r\n \r\n Este boleto já passou do prazo limite para pagamento.\r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \"\"\r\n \r\n 237-2\r\n \r\n {data.linhaDigitavel}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Local de Pagamento\r\n
\r\n \r\n Até o vencimento, preferencialmente no Banco Bradesco\r\n \r\n
\r\n Data de Vencimento\r\n
\r\n
\r\n

\r\n {data.dtVencimentoBoleto}\r\n

\r\n
\r\n \r\n Nome do Beneficiário / CNPJ / CPF / Endereço:\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {data.nomeBeneficiario}\r\n \r\n \r\n \r\n {/* CNPJ {data.nuCnpjBeneficiario} */}\r\n \r\n
\r\n
\r\n \r\n {`${data.logradouroBeneficiario} ${data.nuLogradouroBeneficiario} ${data.complementoLogradouroBeneficiario} - ${data.municipioBeneficiario} - ${data.ufBeneficiario} - ${data.cepBeneficiario}`}\r\n \r\n
\r\n {/* Agência/Código Beneficiário\r\n
\r\n
\r\n

1234/12345-1

*/}\r\n
\r\n Data do Documento\r\n
\r\n

{data.dtEmissao}

\r\n
\r\n Espécie doc\r\n
\r\n

DS

\r\n
\r\n Aceite\r\n
\r\n

N

\r\n
\r\n Data Processamento\r\n
\r\n

{data.dtEmissao}

\r\n
\r\n Número do titulo\r\n
\r\n

{data.nuTituloGerado}

\r\n
\r\n Uso do Banco\r\n
\r\n

 

\r\n
\r\n Espécie\r\n
\r\n

R$

\r\n
\r\n Quantidade\r\n
\r\n

N

\r\n
\r\n Valor\r\n
\r\n

{data.priceFormatted}

\r\n
\r\n (=) Valor do Documento\r\n
\r\n
\r\n

{data.priceFormatted}

\r\n
\r\n \r\n Instruções de responsabilidade do BENEFICIÁRIO. Qualquer\r\n dúvida sobre este boleto contate o beneficiário.\r\n \r\n
\r\n (-) Descontos/Abatimento\r\n
\r\n

 

\r\n
\r\n (+) Juros/Multa\r\n
\r\n

 

\r\n
\r\n (=) Valor Pago\r\n
\r\n

 

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Nome do Pagador: {data.nomePagador}\r\n \r\n \r\n \r\n CNPJ/CPF: {data.cpfcnpjPagador}\r\n \r\n
\r\n \r\n Endereço: {data.enderecoPagador} -{\" \"}\r\n {data.bairroPagador} - {data.municipioPagador} -{\" \"}\r\n {data.ufPagador} - {data.cepPagador}\r\n \r\n  
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n }\r\n content={() => componentRef.current}\r\n />\r\n \r\n \r\n
\r\n
\r\n

{data.linhaDigitavel}

\r\n

\r\n \r\n

\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport { formatPrice } from \"~/util/format\";\r\nimport explodeDate from \"~/util/explodeDate\";\r\nimport parseDataBradesco from \"~/util/parseDataBradesco\";\r\n\r\nimport { format, addMonths, addDays } from \"date-fns\";\r\n\r\nimport { Wrapper } from \"./styles\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Alert,\r\n InputGroup,\r\n Button,\r\n Spinner,\r\n Modal,\r\n Card,\r\n Badge,\r\n} from \"react-bootstrap\";\r\nimport InputMask from \"react-input-mask\";\r\n\r\nimport Switch from \"react-switch\";\r\n\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\n\r\nimport BoletoComponent from \"~/components/BankSlip/BoletoComponent\";\r\n\r\nimport api from \"~/services/api\";\r\n\r\nexport default function BankSlip({ idclient, data, routePay, setInvoice }) {\r\n const { profile, template } = useSelector((state) => state.user);\r\n\r\n const [donorName, setDonorName] = useState(\"\");\r\n const [donorMail, setDonorMail] = useState(\"\");\r\n\r\n const [nome, setNome] = useState(\"\");\r\n const [logradouro, setLogradouro] = useState(\"\");\r\n const [numero, setNumero] = useState(\"\");\r\n const [complemento, setComplemento] = useState(\"\");\r\n const [cep, setCep] = useState(\"\");\r\n const [bairro, setBairro] = useState(\"\");\r\n const [cidade, setCidade] = useState(\"\");\r\n const [uf, setUf] = useState(\"\");\r\n const [cpf, setCpf] = useState(\"\");\r\n const [price, setPrice] = useState(\"\");\r\n const [customPrice, setCustomPrice] = useState(\"\");\r\n\r\n const [slipData, setSlipData] = useState(null);\r\n const [identificacao, setIdentificacao] = useState(false);\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [authPeople, setAuthPeople] = useState(false);\r\n\r\n const [modalTermUse, setModalTermUse] = useState(false);\r\n const [acceptTerm, setAcceptTerm] = useState(false);\r\n const [acceptted, setAcceptted] = useState(false);\r\n const [termoDeUso, setTermoDeUso] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (profile !== null && template === \"donor\") {\r\n setDonorName(profile.name);\r\n setDonorMail(profile.email);\r\n setAuthPeople(true);\r\n\r\n if (profile.regulationAccepted) {\r\n setAcceptTerm(true);\r\n setAcceptted(true);\r\n }\r\n }\r\n\r\n setTermoDeUso(data.giverRegulation);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setPrice(customPrice != \"outro\" ? customPrice : \"\");\r\n }, [customPrice]);\r\n\r\n async function handlePay(e) {\r\n //e.preventDefault();\r\n if (!acceptTerm) {\r\n toast.error(\"Você precisa aceitar os termos de uso\");\r\n return;\r\n }\r\n\r\n if (price.trim() == \"\" || price.trim() == \"0\") {\r\n toast.error(\"O valor deve ser maior que zero\");\r\n return;\r\n }\r\n\r\n const cepSplit = cep.trim().split(\"-\");\r\n const jsonData = {\r\n DonationPageId: idclient,\r\n GiverName: donorName,\r\n GiverEmail: donorMail,\r\n Value: Number(price),\r\n IsRecurrence: false,\r\n RecurrenceTimes: 0,\r\n AnonymousDonator: identificacao,\r\n PaymentMethodCode: 20,\r\n PaymentParameters: JSON.stringify({\r\n dtEmissaoTitulo: format(Date.now(), \"dd.MM.yyyy\"),\r\n dtVencimentoTitulo: format(addDays(Date.now(), 4), \"dd.MM.yyyy\"),\r\n tpVencimento: \"0\",\r\n vlNominalTitulo: parseInt(Number(price) * 100),\r\n nomePagador: nome.trim().replace(/\\s{2,}/g, \" \"),\r\n logradouroPagador: logradouro.trim().replace(/\\s{2,}/g, \" \"),\r\n nuLogradouroPagador: numero.trim(),\r\n complementoLogradouroPagador: complemento\r\n .trim()\r\n .replace(/\\s{2,}/g, \" \"),\r\n cepPagador: cepSplit[0],\r\n complementoCepPagador: cepSplit[1],\r\n bairroPagador: bairro.trim().replace(/\\s{2,}/g, \" \"),\r\n municipioPagador: cidade.trim().replace(/\\s{2,}/g, \" \"),\r\n ufPagador: uf.trim(),\r\n cdIndCpfcnpjPagador: \"1\",\r\n nuCpfcnpjPagador: cpf.trim().replace(/[^0-9]/g, \"\"),\r\n cdEspecieTitulo: \"04\",\r\n tpProtestoAutomaticoNegativacao: \"0\",\r\n prazoProtestoAutomaticoNegativacao: \"0\",\r\n controleParticipante: \"\",\r\n cdPagamentoParcial: \"\",\r\n qtdePagamentoParcial: \"0\",\r\n percentualJuros: \"0\",\r\n vlJuros: \"0\",\r\n qtdeDiasJuros: \"0\",\r\n percentualMulta: \"0\",\r\n vlMulta: \"0\",\r\n qtdeDiasMulta: \"0\",\r\n percentualDesconto1: \"0\",\r\n vlDesconto1: \"0\",\r\n dataLimiteDesconto1: \"\",\r\n percentualDesconto2: \"0\",\r\n vlDesconto2: \"0\",\r\n dataLimiteDesconto2: \"\",\r\n percentualDesconto3: \"0\",\r\n vlDesconto3: \"0\",\r\n dataLimiteDesconto3: \"\",\r\n prazoBonificacao: \"0\",\r\n percentualBonificacao: \"0\",\r\n vlBonificacao: \"0\",\r\n dtLimiteBonificacao: \"\",\r\n vlAbatimento: \"0\",\r\n vlIOF: \"0\",\r\n endEletronicoPagador: \"\",\r\n nomeSacadorAvalista: \"\",\r\n logradouroSacadorAvalista: \"\",\r\n nuLogradouroSacadorAvalista: \"0\",\r\n complementoLogradouroSacadorAvalista: \"\",\r\n cepSacadorAvalista: \"0\",\r\n complementoCepSacadorAvalista: \"0\",\r\n bairroSacadorAvalista: \"\",\r\n municipioSacadorAvalista: \"\",\r\n ufSacadorAvalista: \"\",\r\n cdIndCpfcnpjSacadorAvalista: \"0\",\r\n nuCpfcnpjSacadorAvalista: \"0\",\r\n endEletronicoSacadorAvalista: \"\",\r\n }),\r\n };\r\n\r\n try {\r\n setLoading(true);\r\n const response = await api.post(`${routePay}`, jsonData);\r\n const dataResponse = response.data;\r\n\r\n if (response.status == 200) {\r\n if (dataResponse.status) {\r\n setSlipData(parseDataBradesco(dataResponse.entity.paymentData));\r\n toast.success(\"Boleto criado com sucesso\");\r\n } else {\r\n error(dataResponse.message);\r\n }\r\n } else {\r\n error(dataResponse.message);\r\n }\r\n } catch (error) {\r\n toast.error(\"Ocorreu um erro, tente novamente\");\r\n } finally {\r\n setLoading(false);\r\n }\r\n }\r\n\r\n function emitCallBack(d) {\r\n if (d.status) {\r\n setInvoice(d.invoice);\r\n }\r\n }\r\n\r\n function error(message) {\r\n toast.error(`Ocorreu um erro com a financeira. ${!!message && message}`);\r\n }\r\n\r\n return (\r\n \r\n \r\n {!!idclient && !!routePay ? (\r\n
\r\n \r\n {slipData != null ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n setDonorName(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n setDonorMail(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n Obs: obrigatório para envio do comprovante da doação\r\n \r\n
\r\n
Dados do boleto
\r\n \r\n \r\n \r\n setNome(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n setCpf(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n setLogradouro(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n setNumero(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n setComplemento(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n setCep(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n setBairro(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n setCidade(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n setUf(e.target.value)}\r\n />\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n setCustomPrice(e.target.value)}\r\n />\r\n \r\n \r\n\r\n {customPrice == \"outro\" && (\r\n \r\n \r\n setPrice(e.target.value)}\r\n />\r\n \r\n \r\n )}\r\n\r\n \r\n
Total: {formatPrice(price)}
\r\n \r\n {!acceptted && (\r\n \r\n \r\n \r\n \r\n Li e aceito os{\" \"}\r\n setModalTermUse(true)}\r\n >\r\n termos de uso\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n )}\r\n
\r\n
\r\n ) : (\r\n \r\n Estão faltando alguns parâmetros para renderizar este componente\r\n \r\n )}\r\n
\r\n\r\n {/* Modal Termo de Uso */}\r\n setModalTermUse(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Termo de uso\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const Container = styled.div`\r\n @keyframes spinner {\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n\r\n #spinner:before {\r\n content: \"\";\r\n box-sizing: border-box;\r\n position: absolute;\r\n top: 62%;\r\n left: 50%;\r\n width: 20px;\r\n height: 20px;\r\n margin-top: -10px;\r\n margin-left: -10px;\r\n border-radius: 50%;\r\n border: 2px solid #ccc;\r\n border-top-color: #000;\r\n animation: spinner 0.6s linear infinite;\r\n }\r\n`;\r\n","export default function youtube_parser(url) {\r\n var regExp = /^.*((youtu.be\\/)|(v\\/)|(\\/u\\/\\w\\/)|(embed\\/)|(watch\\?))\\??v?=?([^#&?]*).*/;\r\n var match = url.match(regExp);\r\n return match && match[7].length == 11 ? match[7] : false;\r\n}\r\n","export default function replaceLink(text) {\r\n text = text.replace(/(?:\\r\\n|\\r|\\n)/g, \"
\");\r\n return (text || \"\").replace(\r\n /([^\\S]|^)(((https?\\:\\/\\/)|(www\\.))(\\S+))/gi,\r\n function (match, space, url) {\r\n var hyperlink = url;\r\n if (!hyperlink.match(\"^https?://\")) {\r\n hyperlink = \"http://\" + hyperlink;\r\n }\r\n return (\r\n space + '' + url + \"\"\r\n );\r\n }\r\n );\r\n}\r\n","import styled from \"styled-components\";\r\nimport { darken } from \"polished\";\r\n\r\nexport const Wrapper = styled.div`\r\n\r\n.imageStudent{\r\n height: 160px;\r\n width: 160px;\r\n border-radius: 50%;\r\n border: 3px solid rgba(255,255,255,0.3);\r\n background: #eee;\r\n}\r\n /* max-width: 900px;\r\n margin: 50px auto;\r\n\r\n display: flex;\r\n flex-direction: column;\r\n\r\n hr {\r\n border: 0;\r\n height: 1px;\r\n background: rgba(255, 255, 255, 0.2);\r\n margin: 10px 0 20px;\r\n }\r\n\r\n .payBox {\r\n background: #654e7d;\r\n //border-radius: 21px;\r\n }\r\n\r\n form {\r\n display: flex;\r\n flex-direction: column;\r\n margin-top: 30px;\r\n\r\n label {\r\n margin: 10px 0;\r\n font-size: 16px;\r\n color: #fbe7e7;\r\n }\r\n input,\r\n select {\r\n background: rgba(255, 255, 255, 0.32);\r\n border: 0;\r\n border-radius: 4px;\r\n height: 44px;\r\n padding: 0 15px;\r\n color: #fff;\r\n margin: 0 0 10px;\r\n width: 100%;\r\n\r\n option {\r\n margin: 40px;\r\n background: rgba(255, 255, 255, 0.8);\r\n color: #000;\r\n }\r\n\r\n &::placeholder {\r\n color: rgba(255, 255, 255, 0.4);\r\n }\r\n }\r\n\r\n span {\r\n color: #fb6f91;\r\n align-self: flex-start;\r\n margin: 0 0 10px;\r\n font-weight: bold;\r\n }\r\n\r\n button {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n margin: 18px 0 0;\r\n height: 44px;\r\n background: #3b9eff;\r\n font-weight: bold;\r\n color: #fff;\r\n border: 0;\r\n border-radius: 4px;\r\n font-size: 16px;\r\n width: 100%;\r\n transition: background 0.2s;\r\n\r\n &:hover {\r\n background: ${darken(0.08, \"#3b9eff\")};\r\n }\r\n }\r\n } */\r\n`;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport api from \"~/services/api\";\r\nimport { formatPrice } from \"~/util/format\";\r\n\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nimport urlsystem from \"~/config/URLSystem\";\r\nimport URLApi from \"~/config/URLApi\";\r\n\r\nimport CartaoCC from \"~/components/CartaoCC\";\r\nimport BankSlip from \"~/components/BankSlip\";\r\nimport Spinner from \"~/components/Spinner\";\r\nimport student from \"~/assets/student.jpg\";\r\nimport logo from \"~/assets/logoUnasp.png\";\r\n\r\nimport { Form } from \"@rocketseat/unform\";\r\nimport {\r\n Row,\r\n Col,\r\n Button,\r\n Accordion,\r\n Card,\r\n Alert,\r\n Container,\r\n Image,\r\n InputGroup,\r\n FormControl,\r\n} from \"react-bootstrap\";\r\n\r\nimport { toast } from \"react-toastify\";\r\nimport copy from \"~/util/copy\";\r\nimport youtube_parser from \"~/util/youtube\";\r\nimport replaceLink from \"~/util/replaceLinks\";\r\n\r\nimport imagePreLoading from \"~/assets/imagePreLoading.png\";\r\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\r\nimport \"react-lazy-load-image-component/src/effects/blur.css\";\r\n\r\nimport { FaDonate, FaFacebook, FaUserAlt } from \"react-icons/fa\";\r\nimport { IoLogoWhatsapp, IoIosArrowDropdown } from \"react-icons/io\";\r\n\r\nimport { Wrapper } from \"./styles\";\r\n\r\nexport default function StudentDonationPage() {\r\n const { slug } = useParams();\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [message, setMessage] = useState(\"\");\r\n\r\n const [dataPage, setDataPage] = useState(null);\r\n\r\n const [title, settitle] = useState(\"\");\r\n const [description, setdescription] = useState(\"\");\r\n const [image, setimage] = useState(\"\");\r\n const [url, seturl] = useState(\"\");\r\n\r\n const [methodsPayment, setMethodsPayment] = useState([\r\n \"cielo\",\r\n \"bradesco_bank_slip\",\r\n ]);\r\n\r\n const [invoice, setInvoice] = useState(\"\");\r\n\r\n useEffect(() => {\r\n async function loadData() {\r\n try {\r\n setMessage(\"Carregando...\");\r\n const response = await api.get(`/donation/page/${slug}`);\r\n const data = response.data;\r\n if (data.status) {\r\n setDataPage({\r\n ...data.entity,\r\n textFormatted: replaceLink(data.entity.text),\r\n urlFormatted: `${urlsystem}/student/${slug}`,\r\n urlImage: !!data.entity.studentImageId\r\n ? `${URLApi}/image/${data.entity.studentImageId}`\r\n : null,\r\n videoEmbed: !!data.entity.videoUrl\r\n ? youtube_parser(data.entity.videoUrl)\r\n : null,\r\n });\r\n\r\n const ent = data.entity;\r\n\r\n settitle(`#EuApoio - ${ent.pageDescription}`);\r\n setdescription(ent.text || \"\");\r\n setimage(\r\n !!ent.studentImageId\r\n ? `${URLApi}/image/${ent.studentImageId}`\r\n : logo\r\n );\r\n seturl(`${urlsystem}/student/${slug}`);\r\n\r\n setLoading(false);\r\n } else {\r\n setMessage(data.message);\r\n }\r\n } catch (error) {\r\n setMessage(\"Erro ao carregar a página.. tente novamente\");\r\n }\r\n }\r\n loadData();\r\n }, []);\r\n\r\n function mountAccordionPayment(data, index) {\r\n {\r\n switch (data) {\r\n case \"cielo\":\r\n return (\r\n <>\r\n \r\n \r\n Cartão de Crédito \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n case \"bradesco_bank_slip\":\r\n return (\r\n <>\r\n \r\n \r\n Boleto Bancário \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {/* General tags */}\r\n {title}\r\n \r\n {/* OpenGraph tags */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n

{message}

\r\n
\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {!!dataPage.studentImageId ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n
\r\n \r\n {dataPage.studentName}\r\n
\r\n \r\n Curso: {dataPage.studentCourse}\r\n
\r\n Campus: {dataPage.studentCampus}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n copy(dataPage.urlFormatted)}\r\n >\r\n Copiar Url\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Compartilhe também nas redes sociais\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {!!dataPage.videoEmbed && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n \r\n \r\n Carta do Aluno\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Sobre {dataPage.campaignName}​\r\n \r\n \r\n {dataPage.campaignDescription}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Suas doações podem chegar até onde suas mãos não podem.\r\n Seja solidário e contribua!!\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n {dataPage.pageDescription}{\" \"}\r\n \r\n

\r\n
\r\n \r\n
Escolha o método para doação
\r\n \r\n \r\n \r\n {methodsPayment.map((method, index) => (\r\n \r\n {mountAccordionPayment(method, index)}\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n \r\n );\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div`\r\n .donations .card {\r\n width: 100%;\r\n }\r\n\r\n .borderRadiusLeft {\r\n border-radius: 30px 0px 0 30px;\r\n border-right: none;\r\n padding-left: 1.15rem;\r\n &:focus {\r\n border: #ced4da 1px solid;\r\n border-right: none;\r\n }\r\n }\r\n\r\n .borderAndBackground {\r\n border: 1px solid #ced4da;\r\n\r\n background: #fff;\r\n }\r\n .borderRadiusRight {\r\n border-radius: 0px 30px 30px 0 !important;\r\n cursor: auto;\r\n border-left: none;\r\n\r\n &:active {\r\n box-shadow: none;\r\n }\r\n &:focus {\r\n outline: 0;\r\n }\r\n }\r\n`;\r\n","import React, { useRef, useEffect, useState, useMemo } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\n\r\nimport api from \"~/services/api\";\r\nimport URLApi from \"~/config/URLApi\";\r\n\r\nimport { toast } from \"react-toastify\";\r\nimport { Wrapper } from \"./styles\";\r\n\r\nimport PaginationComponent from \"react-js-pagination\";\r\nimport CardStudentPage from \"~/components/CardStudentPage\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport pt from \"date-fns/locale/pt\";\r\n\r\nimport { MdClear } from \"react-icons/md\";\r\nimport { IoMdSearch } from \"react-icons/io\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Button,\r\n Spinner,\r\n InputGroup,\r\n FormControl,\r\n Form,\r\n} from \"react-bootstrap\";\r\n\r\nexport default function DonationsCampaign() {\r\n const { campaignId } = useParams();\r\n const formRef = useRef(null);\r\n const searchRef = useRef(null);\r\n\r\n const [infoCampaign, setInfoCampaign] = useState(null);\r\n const [donations, setDonations] = useState([]);\r\n\r\n const [searching, setSearching] = useState(true);\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [message, setMessage] = useState(\"\");\r\n\r\n const [searchString, setSearchString] = useState(\"\");\r\n const [activePage, setActivePage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(12);\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [timeout, setTimeOut] = useState(0);\r\n\r\n const lenghtSeachString = useMemo(() =>\r\n searchString.length > 0 ? true : false\r\n );\r\n\r\n useEffect(() => {\r\n async function loading() {\r\n const response = await api.get(`/public/getcampaigninfo/${campaignId}`);\r\n const dt = response.data;\r\n\r\n setInfoCampaign({\r\n ...dt,\r\n startDate: dt.startDate\r\n ? format(new Date(dt.startDate), \"dd 'de' MMM 'de' yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n endDate: dt.endDate\r\n ? format(\r\n new Date(dt.endDate),\r\n \"dd/MM/yyyy HH:mm\",\r\n \"dd 'de' MMM 'de' yyyy HH:mm\",\r\n {\r\n locale: pt,\r\n }\r\n )\r\n : null,\r\n });\r\n }\r\n loading();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setActivePage(1);\r\n }, [searchString]);\r\n\r\n useEffect(() => {\r\n async function onInit() {\r\n setLoading(true);\r\n setDonations([]);\r\n try {\r\n setMessage(\"Carregando...\");\r\n const response = await api.get(\r\n searchString === \"\"\r\n ? `/public/getcampaigndonationpagecards/${campaignId}/${activePage}/${itemPerPage}`\r\n : `/public/findstudentdonationpagecard/${searchString}/${campaignId}/${activePage}/${itemPerPage}`\r\n );\r\n\r\n if (response.status == 200) {\r\n const numCaracter = 120;\r\n const data = response.data;\r\n\r\n setTotalItens(data.indexSize);\r\n\r\n if (data.entities.length > 0) {\r\n setDonations(\r\n data.entities.map((x) => ({\r\n ...x,\r\n textSplit: `${x.pageText.substring(0, numCaracter)} ${\r\n x.pageText.length > numCaracter ? \"...\" : \"\"\r\n }`.trim(),\r\n urlImage: !!x.imageId ? `${URLApi}/image/${x.imageId}` : null,\r\n }))\r\n );\r\n\r\n setMessage(\"\");\r\n setLoading(false);\r\n } else {\r\n setMessage(\"Não encontramos nenhum item\");\r\n }\r\n } else {\r\n toast.error(\"Ocorreu um erro ao carregar os itens.. tente novamente\");\r\n }\r\n } catch (error) {\r\n setMessage(\"Erro ao carregar a página.. tente novamente\");\r\n }\r\n }\r\n onInit();\r\n }, [activePage, searchString]);\r\n\r\n useEffect(() => {\r\n if (searching) {\r\n searchRef.current.focus();\r\n }\r\n }, [searching]);\r\n\r\n const handleFind = (e) => {\r\n const vl = e.target.value;\r\n\r\n if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n setSearchString(vl);\r\n }, 400)\r\n );\r\n };\r\n\r\n const handleClear = () => {\r\n setSearchString(\"\");\r\n formRef.current.reset();\r\n searchRef.current.focus();\r\n //setSearching(false);\r\n };\r\n\r\n const handleSearch = () => {\r\n setSearching(true);\r\n };\r\n\r\n const searchFunction = (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {!!infoCampaign && (\r\n
\r\n
\r\n

{infoCampaign.name}

\r\n
\r\n {infoCampaign.startDate &&\r\n `Início: ${infoCampaign.startDate}`}\r\n
\r\n
\r\n {infoCampaign.endDate && `Fim: ${infoCampaign.endDate}`}\r\n
\r\n

\r\n {infoCampaign.description}\r\n

\r\n
\r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n {!!searching ? (\r\n \r\n \r\n \r\n \r\n <>\r\n {lenghtSeachString && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {loading ? (\r\n \r\n \r\n
\r\n {message == \"Carregando...\" && }{\" \"}\r\n

{message}

\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n {donations.map((x, index) => (\r\n \r\n ))}\r\n \r\n )}\r\n
\r\n
\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\n\r\nimport { OverlayTrigger, Tooltip, Row, Col, Button } from \"react-bootstrap\";\r\n\r\nimport logo from \"~/assets/LogoBranco.png\";\r\n\r\nimport {\r\n signInRequestDoador,\r\n signInRequestAluno,\r\n signInRequestAdmin,\r\n} from \"~/store/modules/auth/actions\";\r\nimport { IoMdArrowBack, IoMdArrowForward } from \"react-icons/io\";\r\nimport { MdInfoOutline } from \"react-icons/md\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function SignIn() {\r\n const dispatch = useDispatch();\r\n const loading = useSelector((state) => state.auth.loading);\r\n\r\n const [perfil, setPerfil] = useState(\"\");\r\n\r\n function handleSubmit(data) {\r\n const { password, perfil, campus, ra, email } = data;\r\n switch (perfil) {\r\n case \"aluno\":\r\n dispatch(signInRequestAluno(\"Hortolândia\", ra, password));\r\n break;\r\n case \"doador\":\r\n dispatch(signInRequestDoador(email, password));\r\n break;\r\n case \"admin\":\r\n dispatch(signInRequestAdmin(email, password));\r\n break;\r\n default:\r\n toast.error(\"Perfil não disponível\");\r\n break;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n

Login

\r\n
Entre com seus dados
\r\n
\r\n setPerfil(e.target.value)}\r\n />\r\n {perfil === \"aluno\" ? (\r\n \r\n {/* \r\n \r\n */}\r\n \r\n <>\r\n \r\n {/* \r\n Apenas números\r\n \r\n }\r\n >\r\n \r\n */}\r\n \r\n \r\n \r\n <>\r\n \r\n {/* \r\n Senha portal do aluno\r\n \r\n }\r\n >\r\n \r\n */}\r\n \r\n \r\n \r\n ) : perfil === \"doador\" || perfil === \"admin\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n \r\n \r\n Cadastrar\r\n \r\n \r\n Página Inicial\r\n \r\n \r\n Esqueci a senha \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nimport { signOut } from \"~/store/modules/auth/actions\";\r\n\r\nexport default function Logout() {\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n dispatch(signOut());\r\n }, []);\r\n return <>;\r\n}\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Form, Input } from \"@rocketseat/unform\";\r\nimport { FaUserPlus } from \"react-icons/fa\";\r\n\r\nimport * as Yup from \"yup\";\r\nimport { signUpRequest } from \"~/store/modules/auth/actions\";\r\nimport { Button } from \"react-bootstrap\";\r\nimport logo from \"~/assets/LogoBranco.png\";\r\n\r\nconst schema = Yup.object().shape({\r\n name: Yup.string().required(\"O nome é obrigatório\"),\r\n email: Yup.string()\r\n .email(\"Insira um e-amil válido\")\r\n .required(\"O e-mail é obrigatório\"),\r\n password: Yup.string()\r\n .min(6, \"No minimo 6 caracteres\")\r\n .required(\"A senha é obrigatória\"),\r\n confirmPassword: Yup.string().oneOf(\r\n [Yup.ref(\"password\"), null],\r\n \"Senhas diferentes\"\r\n ),\r\n});\r\n\r\nexport default function SignUp() {\r\n const dispatch = useDispatch();\r\n function handleSubmit({ name, email, password, confirmPassword }) {\r\n dispatch(signUpRequest(name, email, password, confirmPassword));\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n

Registrar a sua conta

\r\n
Crie sua conta
\r\n
\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Já tenho login\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Form, Input } from \"@rocketseat/unform\";\r\nimport { IoMdArrowBack } from \"react-icons/io\";\r\n\r\nimport { Alert } from \"react-bootstrap\";\r\n\r\nimport logo from \"~/assets/LogoBranco.png\";\r\n\r\nimport api from \"~/services/api\";\r\n\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function Recovery() {\r\n\r\n async function handleSubmit({ email }) {\r\n //dispatch(signUpRequest(name, email, password));\r\n try {\r\n const response = await api.post(`/authentication/RequestPasswordRecover/${email}`);\r\n const { status, message } = response.data;\r\n if (status) {\r\n toast.success(`Solicitação enviada. Se houver um usuário com o email ${email}, será enviado um link para recuperar a senha`);\r\n }\r\n else {\r\n toast.error(message)\r\n }\r\n //setModalLoading(false);\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro na requisição.. tente novamente\");\r\n } \r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n
\r\n \r\n

Recuperar a senha

\r\n
Entre com o seu e-mail
\r\n
\r\n {/* \r\n Funcionalidade disponível apenas para doadores\r\n */}\r\n \r\n \r\n \r\n \r\n Voltar\r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport history from \"~/services/history\";\r\n\r\nimport api from \"~/services/api\";\r\nimport { Button, Card, Col, Container, Row } from \"react-bootstrap\";\r\n\r\n// import { Container } from './styles';\r\n\r\nfunction ConfirmPass() {\r\n const [newPassword, setNewPassword] = useState(\"\");\r\n const [confirmNewPassword, setConfirmNewPassword] = useState(\"\");\r\n const [confirmPassword, setConfirmPassword] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n\r\n let location = useLocation();\r\n\r\n async function ConfirmPasswordRecover(url) {\r\n if (!!newPassword || !!confirmNewPassword) {\r\n setLoading(true);\r\n try {\r\n const obj = {\r\n NewPassword: newPassword,\r\n ConfirmPassword: confirmNewPassword,\r\n };\r\n const response = await api.post(\r\n `/authentication/confirmpasswordrecover${url}`,\r\n obj\r\n );\r\n const data = response.data;\r\n const { message, status } = data;\r\n if (response.status === 200 && status) {\r\n setConfirmPassword(true);\r\n toast.success(\"Senha Alterada com sucesso!\");\r\n history.push(\"/\");\r\n } else {\r\n toast.error(`Erro na solicitação.. ${message}`);\r\n }\r\n } catch (error) {\r\n if (!!error.response) {\r\n toast.error(Object.values(error.response.data.errors)[0][0]);\r\n }\r\n }\r\n setLoading(false);\r\n } else {\r\n toast.warn(\"Preencha todos os campos!\");\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Alterar Senha\r\n \r\n \r\n \r\n \r\n setNewPassword(e.target.value)}\r\n />\r\n \r\n\r\n \r\n setConfirmNewPassword(e.target.value)}\r\n />\r\n\r\n \r\n ConfirmPasswordRecover(location.search)}\r\n >\r\n Salvar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ConfirmPass;\r\n","const enumState = [\r\n { id: 10, value: 10, title: \"Em análise\" },\r\n { id: 20, value: 20, title: \"Aprovado\" },\r\n {\r\n id: 25,\r\n value: 25,\r\n title: \"Aprovado com moderação\",\r\n },\r\n { id: 30, value: 30, title: \"Recusado\" },\r\n];\r\nexport default enumState;\r\n","const enumTransactionStatus = [\r\n { id: 10, label: \"Em análise\" },\r\n { id: 20, label: \"Aprovado\" },\r\n { id: 25, label: \"Parcialmente Aprovado\" },\r\n { id: 30, label: \"Negado\" },\r\n];\r\nexport default enumTransactionStatus;\r\n","const enumTransactionType = [{ id: 10, label: \"Mensalidade\" }];\r\nexport default enumTransactionType;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport MaskedInput from \"react-text-mask\"; // https://www.nicknish.co/blog/react-currency-input\r\nimport createNumberMask from \"text-mask-addons/dist/createNumberMask\";\r\n\r\nconst defaultMaskOptions = {\r\n prefix: \"R$ \",\r\n suffix: \"\",\r\n includeThousandsSeparator: true,\r\n thousandsSeparatorSymbol: \",\",\r\n allowDecimal: true,\r\n decimalSymbol: \".\",\r\n decimalLimit: 2, // how many digits allowed after the decimal\r\n integerLimit: 7, // limit length of integer numbers\r\n allowNegative: false,\r\n allowLeadingZeroes: false,\r\n};\r\n\r\nconst CurrencyInput = ({ maskOptions, ...inputProps }) => {\r\n const currencyMask = createNumberMask({\r\n ...defaultMaskOptions,\r\n ...maskOptions,\r\n });\r\n\r\n return ;\r\n};\r\n\r\nCurrencyInput.defaultProps = {\r\n inputMode: \"numeric\",\r\n maskOptions: {},\r\n};\r\n\r\nCurrencyInput.propTypes = {\r\n inputmode: PropTypes.string,\r\n maskOptions: PropTypes.shape({\r\n prefix: PropTypes.string,\r\n suffix: PropTypes.string,\r\n includeThousandsSeparator: PropTypes.bool,\r\n thousandsSeparatorSymbol: PropTypes.string,\r\n allowDecimal: PropTypes.bool,\r\n decimalSymbol: PropTypes.string,\r\n decimalLimit: PropTypes.string,\r\n requireDecimal: PropTypes.bool,\r\n allowNegative: PropTypes.bool,\r\n allowLeadingZeroes: PropTypes.bool,\r\n integerLimit: PropTypes.number,\r\n }),\r\n};\r\n\r\nexport default CurrencyInput;\r\n","const createImage = (url) =>\r\n new Promise((resolve, reject) => {\r\n const image = new Image();\r\n image.addEventListener(\"load\", () => resolve(image));\r\n image.addEventListener(\"error\", (error) => reject(error));\r\n image.setAttribute(\"crossOrigin\", \"anonymous\"); // needed to avoid cross-origin issues on CodeSandbox\r\n image.src = url;\r\n });\r\n\r\nfunction getRadianAngle(degreeValue) {\r\n return (degreeValue * Math.PI) / 180;\r\n}\r\n\r\n/**\r\n * This function was adapted from the one in the ReadMe of https://github.com/DominicTobias/react-image-crop\r\n * @param {File} image - Image File url\r\n * @param {Object} pixelCrop - pixelCrop Object provided by react-easy-crop\r\n * @param {number} rotation - optional rotation parameter\r\n */\r\nexport default async function getCroppedImg(imageSrc, pixelCrop, rotation = 0) {\r\n const image = await createImage(imageSrc);\r\n const canvas = document.createElement(\"canvas\");\r\n const ctx = canvas.getContext(\"2d\");\r\n\r\n const safeArea = Math.max(image.width, image.height) * 2;\r\n\r\n // set each dimensions to double largest dimension to allow for a safe area for the\r\n // image to rotate in without being clipped by canvas context\r\n canvas.width = safeArea;\r\n canvas.height = safeArea;\r\n\r\n // translate canvas context to a central location on image to allow rotating around the center.\r\n ctx.translate(safeArea / 2, safeArea / 2);\r\n ctx.rotate(getRadianAngle(rotation));\r\n ctx.translate(-safeArea / 2, -safeArea / 2);\r\n\r\n // draw rotated image and store data.\r\n ctx.drawImage(\r\n image,\r\n safeArea / 2 - image.width * 0.5,\r\n safeArea / 2 - image.height * 0.5\r\n );\r\n const data = ctx.getImageData(0, 0, safeArea, safeArea);\r\n\r\n // set canvas width to final desired crop size - this will clear existing context\r\n canvas.width = pixelCrop.width;\r\n canvas.height = pixelCrop.height;\r\n\r\n // paste generated rotate image with correct offsets for x,y crop values.\r\n ctx.putImageData(\r\n data,\r\n 0 - safeArea / 2 + image.width * 0.5 - pixelCrop.x,\r\n 0 - safeArea / 2 + image.height * 0.5 - pixelCrop.y\r\n );\r\n\r\n // As Base64 string\r\n // return canvas.toDataURL('image/jpeg');\r\n\r\n // As a blob\r\n return new Promise((resolve) => {\r\n canvas.toBlob((file) => {\r\n resolve(URL.createObjectURL(file));\r\n }, \"image/jpeg\");\r\n });\r\n}\r\n","export const createImage = (url) =>\r\n new Promise((resolve, reject) => {\r\n const image = new Image();\r\n image.addEventListener(\"load\", () => resolve(image));\r\n image.addEventListener(\"error\", (error) => reject(error));\r\n image.setAttribute(\"crossOrigin\", \"anonymous\"); // needed to avoid cross-origin issues on CodeSandbox\r\n image.src = url;\r\n });\r\n\r\nexport async function getRotatedImage(imageSrc, rotation = 0) {\r\n const image = await createImage(imageSrc);\r\n const canvas = document.createElement(\"canvas\");\r\n const ctx = canvas.getContext(\"2d\");\r\n\r\n const orientationChanged =\r\n rotation === 90 ||\r\n rotation === -90 ||\r\n rotation === 270 ||\r\n rotation === -270;\r\n if (orientationChanged) {\r\n canvas.width = image.height;\r\n canvas.height = image.width;\r\n } else {\r\n canvas.width = image.width;\r\n canvas.height = image.height;\r\n }\r\n\r\n ctx.translate(canvas.width / 2, canvas.height / 2);\r\n ctx.rotate((rotation * Math.PI) / 180);\r\n ctx.drawImage(image, -image.width / 2, -image.height / 2);\r\n\r\n return new Promise((resolve) => {\r\n canvas.toBlob((file) => {\r\n resolve(URL.createObjectURL(file));\r\n }, \"image/jpeg\");\r\n });\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div`\r\n align-self: center;\r\n margin-bottom: 0px;\r\n text-align: center;\r\n\r\n label {\r\n cursor: pointer;\r\n\r\n &:hover {\r\n opacity: 0.7;\r\n }\r\n\r\n /* img {\r\n height: 160px;\r\n width: 160px;\r\n border-radius: 50%;\r\n border: 3px solid rgba(255, 255, 255, 0.3);\r\n background: #eee;\r\n } */\r\n\r\n input {\r\n display: none;\r\n }\r\n }\r\n`;\r\n","import React, { useState } from \"react\";\r\nimport Slider from \"@material-ui/lab/Slider\";\r\nimport Cropper from \"react-easy-crop\";\r\nimport getCroppedImg from \"./cropImage\";\r\nimport { getOrientation } from \"get-orientation/browser\";\r\nimport { getRotatedImage } from \"./rotateImage\";\r\nimport \"./styles.css\";\r\nimport { Button } from \"@material-ui/core\";\r\n\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nimport { Wrapper } from \"./styled\";\r\n\r\nimport imagePreLoading from \"~/assets/imagePreLoading.png\";\r\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\r\nimport \"react-lazy-load-image-component/src/effects/blur.css\";\r\n\r\nimport { toast } from \"react-toastify\";\r\nimport { updateImageProfile } from \"~/store/modules/user/actions\";\r\nimport URLApi from \"~/config/URLApi\";\r\n\r\nimport api from \"~/services/api\";\r\n// import { Container } from './styles';\r\n\r\nexport default function CropImage({ data, route }) {\r\n const { url } = data;\r\n const dispatch = useDispatch();\r\n const ORIENTATION_TO_ANGLE = {\r\n \"3\": 180,\r\n \"6\": 90,\r\n \"8\": -90,\r\n };\r\n\r\n //const [file, setFile] = useState(id);\r\n const [preview, setPreview] = useState(url);\r\n const [loaded, setloaded] = useState(true);\r\n\r\n const [imageSrc, setImageSrc] = useState(null);\r\n const [crop, setCrop] = useState({ x: 0, y: 0 });\r\n\r\n const [rotation, setRotation] = useState(0);\r\n const [zoom, setZoom] = useState(1);\r\n const [aspect] = useState(1 / 1);\r\n const [croppedAreaPixels, setCroppedAreaPixels] = useState(null);\r\n //const [croppedImage, setCroppedImage] = useState(null);\r\n const [isCropping, setIsCropping] = useState(false);\r\n\r\n function onCropChange(crop) {\r\n setCrop(crop);\r\n }\r\n\r\n function onCropComplete(croppedArea, croppedAreaPixels) {\r\n //console.log(croppedArea, croppedAreaPixels);\r\n setCroppedAreaPixels(croppedAreaPixels);\r\n }\r\n\r\n function onRotationChange(rotation) {\r\n setRotation(rotation);\r\n }\r\n function onZoomChange(zoom) {\r\n setZoom(zoom);\r\n }\r\n\r\n async function showResult() {\r\n try {\r\n setIsCropping(true);\r\n const croppedImage = await getCroppedImg(\r\n imageSrc,\r\n croppedAreaPixels,\r\n rotation\r\n );\r\n\r\n let res = await fetch(croppedImage);\r\n let d = await res.blob();\r\n let file = new File([d], \"test.jpg\", {\r\n type: \"image/jpeg\",\r\n });\r\n\r\n const data = new FormData();\r\n data.append(\"file\", file);\r\n\r\n const response = await api.post(route, data);\r\n const dt = response.data;\r\n\r\n if (dt.status) {\r\n const { imageId } = dt.entity;\r\n //setFile(imageId);\r\n setPreview(`${URLApi}/image/${imageId}`);\r\n\r\n toast.success(`Imagem atualizada com sucesso`);\r\n dispatch(\r\n updateImageProfile({\r\n id: imageId,\r\n url: `${URLApi}/image/${imageId}`,\r\n })\r\n );\r\n } else {\r\n toast.error(`Ocorreu um erro ao atualizar a foto. ${dt.message}`);\r\n }\r\n\r\n setImageSrc(null);\r\n onClose();\r\n //setCroppedImage(croppedImage);\r\n setIsCropping(false);\r\n } catch (e) {\r\n //console.error(e.response);\r\n toast.error(\"Imagem inválida. Selecione outra foto\");\r\n setIsCropping(false);\r\n }\r\n }\r\n\r\n function readFile(file) {\r\n return new Promise((resolve) => {\r\n const reader = new FileReader();\r\n reader.addEventListener(\"load\", () => resolve(reader.result), false);\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n\r\n async function onClose() {\r\n //setCroppedImage(null);\r\n }\r\n\r\n async function onFileChange(e) {\r\n if (e.target.files && e.target.files.length > 0) {\r\n const file = e.target.files[0];\r\n let imageDataUrl = await readFile(file);\r\n\r\n // apply rotation if needed\r\n const orientation = await getOrientation(file);\r\n const rotation = ORIENTATION_TO_ANGLE[orientation];\r\n if (rotation) {\r\n imageDataUrl = await getRotatedImage(imageDataUrl, rotation);\r\n }\r\n\r\n setImageSrc(imageDataUrl);\r\n setCrop({ x: 0, y: 0 });\r\n setZoom(1);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n\r\n
\r\n {imageSrc && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n Zoom\r\n onZoomChange(zoom)}\r\n classes={{ container: \"slider\" }}\r\n />\r\n
\r\n
\r\n Rotação\r\n onRotationChange(rotation)}\r\n classes={{ container: \"slider\" }}\r\n />\r\n
\r\n
\r\n setImageSrc(\"\")}\r\n >\r\n Cancelar\r\n \r\n \r\n {isCropping ? \"Atualizando...\" : \"Atualizar imagem\"}\r\n \r\n
\r\n
\r\n )}\r\n
\r\n \r\n );\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div`\r\n .tableList {\r\n min-height: 300px;\r\n tbody {\r\n tr {\r\n height: 25px;\r\n }\r\n }\r\n }\r\n`;\r\n","import React, { useEffect, useState, useMemo } from \"react\";\r\n\r\nimport api from \"~/services/api\";\r\nimport axios from \"axios\";\r\n\r\nimport { formatPrice } from \"~/util/format\";\r\nimport urlsystem from \"~/config/URLSystem\";\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\n\r\nimport Switch from \"react-switch\";\r\n\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\";\r\n\r\nimport {\r\n Row,\r\n Col,\r\n Button,\r\n Card,\r\n Container,\r\n InputGroup,\r\n ListGroup,\r\n Table,\r\n Dropdown,\r\n Modal,\r\n Spinner,\r\n Jumbotron,\r\n Alert,\r\n OverlayTrigger,\r\n Tooltip,\r\n Tabs,\r\n Tab,\r\n} from \"react-bootstrap\";\r\n\r\nimport { toast } from \"react-toastify\";\r\nimport copy from \"~/util/copy\";\r\nimport youtube_parser from \"~/util/youtube\";\r\n\r\nimport enumState from \"~/util/enumState\";\r\nimport enumTransactionStatus from \"~/util/enumTransactionStatus\";\r\nimport enumTransactionType from \"~/util/enumTransactionType\";\r\n\r\nimport CurrencyInput from \"~/util/CurrencyInput\";\r\n\r\nimport CropImage from \"~/components/CropImage\";\r\n\r\nimport PaginationComponent from \"react-js-pagination\";\r\n\r\nimport { FaDonate, FaFacebook, FaCopy, FaMoneyBillWave } from \"react-icons/fa\";\r\nimport { IoLogoWhatsapp, IoMdMenu } from \"react-icons/io\";\r\nimport {\r\n MdUpdate,\r\n MdLink,\r\n MdDeleteForever,\r\n MdClose,\r\n MdInfoOutline,\r\n} from \"react-icons/md\";\r\nimport { FiEye, FiEyeOff } from \"react-icons/fi\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport history from \"~/services/history\";\r\n\r\nimport { Wrapper } from \"./styles\";\r\n\r\nexport default function Student({ profile }) {\r\n const [donations, setDonations] = useState([]);\r\n const [userDonations, setUserDonations] = useState(null);\r\n\r\n const [infoDonations, setInfoDonations] = useState(null);\r\n const [detailDonations, setDetailDonations] = useState([]);\r\n\r\n const [modalLoading, setModalLoading] = useState(false);\r\n const [modal, setModal] = useState(false);\r\n\r\n const [modalCreatePage, setModalCreatePage] = useState(false);\r\n\r\n const [modalUpdateInfo, setModalUpdateInfo] = useState(null);\r\n const [modalUpdate, setModalUpdate] = useState(false);\r\n const [statusCancel, setStatusCancel] = useState(0);\r\n\r\n const [smShow, setSmShow] = useState(false);\r\n\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [messageErrorSevenPag, setErrorMessage] = useState(\r\n \"Erro ao obter informação na financeira. Tente mais tarde\"\r\n );\r\n\r\n const [isPrivateEdit, setIsPrivateEdit] = useState(false);\r\n const [isPublishEdit, setIsPublishEdit] = useState(false);\r\n\r\n const [isPrivateCreate, setIsPrivateCreate] = useState(false);\r\n const [isPublishCreate, setIsPublishCreate] = useState(false);\r\n\r\n const [viewAllValues, setViewAllValue] = useState(false);\r\n\r\n const [activePage, setActivePage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(10);\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [donationsActivePage, setDonationsActivePage] = useState(0);\r\n const [donationsItemPerPage, setDonationsItemPerPage] = useState(10);\r\n const [donationsTotalItens, setDonationsTotalItens] = useState(0);\r\n const [donationsId, setDonationsId] = useState(null);\r\n\r\n const [transactions, setTransactions] = useState([]);\r\n const [transactionLoading, setTransactionLoading] = useState(false);\r\n\r\n const [updatePending, setUpdatePending] = useState(null);\r\n\r\n const [finalities, setFinalities] = useState([]);\r\n\r\n const [valueRequest, setValueRequest] = useState(\"\");\r\n\r\n const [campaigns, setCampaigns] = useState([]);\r\n const [pageDefault, setPageDefault] = useState({});\r\n\r\n /* tabKey */\r\n const [key, setKey] = useState(\"\");\r\n\r\n /* Load data pages */\r\n useEffect(() => {\r\n loadData();\r\n }, [activePage, setItemPerPage]);\r\n\r\n /* Load Info Page */\r\n useEffect(() => {\r\n async function loadData() {\r\n if (donationsId != null) {\r\n loadDataInfoValuesDonations();\r\n }\r\n }\r\n loadData();\r\n }, [donationsId]);\r\n\r\n /* Load All Donations */\r\n useEffect(() => {\r\n async function loadData() {\r\n if (donationsActivePage != 0 && donationsId != null) {\r\n try {\r\n setModalLoading(true);\r\n const response = await api.get(\r\n `/StudentArea/GetPageDonations/${donationsId}/${donationsActivePage}/${donationsItemPerPage}`\r\n );\r\n const dt = response.data;\r\n //console.log(dt);\r\n setDonationsTotalItens(dt.indexSize);\r\n\r\n setDetailDonations(\r\n dt.entities\r\n .map((x) => ({\r\n ...x,\r\n dateFormatted: format(new Date(x.date), \"dd/MM/yyyy HH:mm\"),\r\n valueFormatted: formatPrice(x.value),\r\n }))\r\n .sort((a, b) => b.date.localeCompare(a.date))\r\n );\r\n\r\n setModalLoading(false);\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página.. tente novamente\");\r\n }\r\n }\r\n }\r\n }\r\n loadData();\r\n }, [donationsId, donationsActivePage, donationsItemPerPage]);\r\n\r\n /* Load All Transactions */\r\n useEffect(() => {\r\n async function loadData() {\r\n if (donationsId != null) {\r\n try {\r\n setTransactionLoading(true);\r\n\r\n const response = await api.get(\r\n //`/studentarea/GetInAnalysisPageTransactionRequests/${donationsId}`\r\n `/studentarea/getallpagetransactionrequests/${donationsId}`\r\n );\r\n const dt = response.data;\r\n\r\n setTransactions(\r\n dt.map((x) => ({\r\n ...x,\r\n statusValue: enumTransactionStatus.find((y) => y.id === x.status)\r\n .label,\r\n transactionTypeValue: finalities.find(\r\n (y) => y.id === x.redeemFinalityId\r\n ).title,\r\n requestValueFormatted: !!x.requestValue\r\n ? formatPrice(x.requestValue)\r\n : \"\",\r\n approvedValueFormatted: !!x.approvedValue\r\n ? formatPrice(x.approvedValue)\r\n : \"\",\r\n }))\r\n );\r\n\r\n setTransactionLoading(false);\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página.. tente novamente\");\r\n setTransactionLoading(false);\r\n }\r\n }\r\n }\r\n }\r\n loadData();\r\n }, [donationsId]);\r\n\r\n const totalTransactionsPending = useMemo(\r\n () =>\r\n formatPrice(\r\n transactions\r\n .filter((x) => x.status === 10)\r\n .reduce((total, item) => (total = total + item.requestValue), 0)\r\n ),\r\n [transactions]\r\n );\r\n\r\n const loadData = async () => {\r\n try {\r\n setLoading(true);\r\n await axios\r\n .all([\r\n api.get(\r\n `/StudentArea/GetStudentDonationPages/${activePage}/${itemPerPage}`\r\n ),\r\n api.get(`/studentarea/getstudenttotals`),\r\n ])\r\n .then(\r\n axios.spread((...responses) => {\r\n const dataDonations = responses[0].data;\r\n setTotalItens(dataDonations.indexSize);\r\n setDonations(\r\n dataDonations.entities.map((x) => ({\r\n ...x,\r\n urlFormatted: `${urlsystem}/student/${x.url}`,\r\n }))\r\n );\r\n\r\n const udt = responses[1].data;\r\n setUserDonations({\r\n ...udt,\r\n totalDonationsFormatted: formatPrice(udt.totalDonations),\r\n totalAvailableFormatted: formatPrice(udt.totalAvailable),\r\n totalNotProcessedFormatted: formatPrice(udt.totalNotProcessed),\r\n totalProcessedFormatted: formatPrice(udt.totalProcessed),\r\n totalOutFlowFormatted: formatPrice(udt.totalOutflow),\r\n });\r\n\r\n setLoading(false);\r\n })\r\n )\r\n .catch((errors) => {\r\n toast.error(\"Erro ao carregar os dados\");\r\n });\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página\");\r\n }\r\n }\r\n };\r\n\r\n const loadDataInfoValuesDonations = async () => {\r\n try {\r\n setInfoDonations(null);\r\n const response = await api.get(\r\n `/StudentArea/GetPageTotals/${donationsId}`\r\n );\r\n const dt = response.data;\r\n\r\n setInfoDonations({\r\n ...dt,\r\n urlFormatted: `${urlsystem}/student/${dt.url}`,\r\n totalDonationsFormatted: formatPrice(dt.totalDonations),\r\n totalAvailableFormatted: formatPrice(dt.totalAvailable),\r\n totalNotProcessedFormatted: formatPrice(dt.totalNotProcessed),\r\n totalProcessedFormatted: formatPrice(dt.totalProcessed),\r\n totalOutFlowFormatted: formatPrice(dt.totalOutflow),\r\n });\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página.. tente novamente\");\r\n }\r\n }\r\n };\r\n\r\n const handleChangeDonations = async (id) => {\r\n const response = await api.get(\r\n `/studentarea/GetPageRedeemFinalities/${id}`\r\n );\r\n const dt = response.data;\r\n\r\n setFinalities(\r\n dt.map((x) => ({\r\n id: x.redeemFinalityId,\r\n value: x.redeemFinalityId,\r\n title: x.title,\r\n }))\r\n );\r\n\r\n setDonationsActivePage(1);\r\n setDonationsId(id);\r\n setKey(\"extrato\");\r\n setModal(true);\r\n };\r\n\r\n const handleUpdateCampaignModal = async (obj) => {\r\n setModalUpdate(true);\r\n setModalUpdateInfo(null);\r\n setModalLoading(true);\r\n\r\n setUpdatePending(null);\r\n const { published, privatePage, pageId } = obj;\r\n\r\n const response = await api.get(\r\n `/studentarea/getdonationpageupdaterequest/${pageId}`\r\n );\r\n const dt = response.data;\r\n if (response.status === 200) {\r\n setUpdatePending(dt);\r\n }\r\n\r\n setIsPrivateEdit(privatePage || false);\r\n setIsPublishEdit(published || false);\r\n\r\n setModalUpdateInfo(obj);\r\n\r\n setModalLoading(false);\r\n };\r\n\r\n const handleUpdatePrivatePage = async (status, handleId) => {\r\n confirmAlert({\r\n title: \"Confirme\",\r\n message: `Deseja realmente tornar esta página ${status ? \"privada\" : \"pública\"\r\n } ?`,\r\n buttons: [\r\n {\r\n label: \"Sim\",\r\n onClick: async () => {\r\n setModalLoading(true);\r\n try {\r\n const response = await api.put(\r\n `/studentarea/changepageprivate/${handleId}`\r\n );\r\n const data = response.data;\r\n\r\n const { message, id, entity } = data;\r\n if (response.status == 200 && data.status) {\r\n setIsPrivateEdit(status);\r\n setDonations(\r\n donations.map((x) =>\r\n x.pageId == id\r\n ? {\r\n ...entity,\r\n urlFormatted: `${urlsystem}/student/${entity.url}`,\r\n }\r\n : {\r\n ...x,\r\n }\r\n )\r\n );\r\n toast.success(`Status alterado`);\r\n } else {\r\n toast.error(`Erro na atualização. ${message}`);\r\n }\r\n } catch (error) {\r\n toast.error(`Erro na comunicação com o servidor.`);\r\n } finally {\r\n setModalLoading(false);\r\n }\r\n },\r\n },\r\n {\r\n label: \"Não\",\r\n onClick: () => { },\r\n },\r\n ],\r\n });\r\n };\r\n\r\n const handleUpdatePublishPage = async (status, handleId) => {\r\n confirmAlert({\r\n title: \"Confirme\",\r\n message: `Deseja realmente ${status ? \"publicar\" : \"colocar em rascunho\"\r\n } esta página?`,\r\n buttons: [\r\n {\r\n label: \"Sim\",\r\n onClick: async () => {\r\n setModalLoading(true);\r\n try {\r\n const response = await api.put(\r\n `/studentarea/changePagePublished/${handleId}`\r\n );\r\n const data = response.data;\r\n\r\n const { message, id, entity } = data;\r\n if (response.status == 200 && data.status) {\r\n setIsPublishEdit(status);\r\n setDonations(\r\n donations.map((x) =>\r\n x.pageId == id\r\n ? {\r\n ...entity,\r\n urlFormatted: `${urlsystem}/student/${entity.url}`,\r\n }\r\n : {\r\n ...x,\r\n }\r\n )\r\n );\r\n toast.success(`Status alterado`);\r\n } else {\r\n toast.error(`Erro na atualização. ${message}`);\r\n }\r\n } catch (error) {\r\n toast.error(`Erro na comunicação com o servidor.`);\r\n } finally {\r\n setModalLoading(false);\r\n }\r\n },\r\n },\r\n {\r\n label: \"Não\",\r\n onClick: () => { },\r\n },\r\n ],\r\n });\r\n };\r\n\r\n const handleGenerateNewUrl = async (handleId) => {\r\n confirmAlert({\r\n title: \"Confirme\",\r\n message: `Deseja realmente alterar o link dessa página (o atual link ficará indisponível)?`,\r\n buttons: [\r\n {\r\n label: \"Sim\",\r\n onClick: async () => {\r\n setModalLoading(true);\r\n try {\r\n const response = await api.put(\r\n `/StudentArea/RegeneratePageUrl/${handleId}`\r\n );\r\n const data = response.data;\r\n const { message, id, entity } = data;\r\n if (response.status == 200 && data.status) {\r\n setModalUpdateInfo({\r\n ...entity,\r\n urlFormatted: `${urlsystem}/student/${entity.url}`,\r\n });\r\n setDonations(\r\n donations.map((x) =>\r\n x.pageId == id\r\n ? {\r\n ...entity,\r\n urlFormatted: `${urlsystem}/student/${entity.url}`,\r\n }\r\n : {\r\n ...x,\r\n }\r\n )\r\n );\r\n toast.success(`Link alterado`);\r\n } else {\r\n toast.error(`Erro na mudança do link. ${message}`);\r\n }\r\n } catch (error) {\r\n toast.error(\"Erro na comunicação com o servidor\");\r\n } finally {\r\n setModalLoading(false);\r\n }\r\n },\r\n },\r\n {\r\n label: \"Não\",\r\n onClick: () => { },\r\n },\r\n ],\r\n });\r\n };\r\n\r\n const handleUpdatePage = async (data) => {\r\n setModalLoading(true);\r\n const { pageDescription, pageId, text, videoUrl } = data;\r\n\r\n const videoIsValid = !!videoUrl.trim() ? !!youtube_parser(videoUrl) : true;\r\n\r\n if (videoIsValid) {\r\n const objData = {\r\n pageId,\r\n text,\r\n pageDescription,\r\n videoUrl: videoUrl.trim(),\r\n };\r\n\r\n try {\r\n const response = await api.put(\r\n `/StudentArea/UpdateDonationPageText`,\r\n objData\r\n );\r\n const data = response.data;\r\n const { message, id, entity } = data;\r\n if (response.status == 200 && data.status) {\r\n setDonations(\r\n donations.map((x) =>\r\n x.pageId == id\r\n ? {\r\n ...entity,\r\n urlFormatted: `${urlsystem}/student/${entity.url}`,\r\n }\r\n : {\r\n ...x,\r\n }\r\n )\r\n );\r\n toast.success(\r\n \"Alteração enviada. As mudanças só atualizarão sua página após a aprovação do moderador\"\r\n );\r\n setModalUpdateInfo({});\r\n setModalUpdate(false);\r\n } else {\r\n toast.error(`Erro ao atualizar.. ${message}`);\r\n }\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao atualizar.. tente mais tarde\");\r\n }\r\n } finally {\r\n setModalLoading(false);\r\n }\r\n } else {\r\n toast.error(\"Link do YouTube inválido\");\r\n setModalLoading(false);\r\n }\r\n };\r\n\r\n const handleCancelUpdate = async (data) => {\r\n confirmAlert({\r\n title: \"Confirme\",\r\n message: `Deseja realmente ${statusCancel === 20 ? \"editar\" : \"cancelar\"\r\n } essa atualização?`,\r\n buttons: [\r\n {\r\n label: \"Sim\",\r\n onClick: async () => {\r\n setModalLoading(true);\r\n const { donationPageId } = data;\r\n try {\r\n const response = await api.delete(\r\n `/studentarea/cancelupdatestudentdonationpage/${donationPageId}`\r\n );\r\n const data = response.data;\r\n const { message, status } = data;\r\n if (response.status == 200 && status) {\r\n if (statusCancel === 10) {\r\n toast.success(\"Atualização cancelada\");\r\n setUpdatePending(null);\r\n } else if (statusCancel === 20) {\r\n const { pageDescription, text, videoUrl } = updatePending;\r\n setModalUpdateInfo({\r\n ...modalUpdateInfo,\r\n pageDescription,\r\n text,\r\n videoUrl,\r\n });\r\n setUpdatePending(null);\r\n }\r\n } else {\r\n toast.error(`Erro ao cancelar.. ${message}`);\r\n }\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao cancelar.. tente mais tarde\");\r\n }\r\n } finally {\r\n setModalLoading(false);\r\n }\r\n },\r\n },\r\n {\r\n label: \"Não\",\r\n onClick: () => { },\r\n },\r\n ],\r\n });\r\n };\r\n\r\n const closeModal = () => {\r\n setDonationsId(null);\r\n setModal(false);\r\n };\r\n\r\n const handleRequestRescueModal = async () => {\r\n setSmShow(true);\r\n setValueRequest(infoDonations.totalAvailable);\r\n };\r\n\r\n const handleSendRescue = async (data) => {\r\n const { finalidade, pageId } = data;\r\n const valor = valueRequest;\r\n\r\n if (valor > infoDonations.totalAvailable) {\r\n toast.error(\"Valor solicitado não disponível\");\r\n return;\r\n }\r\n\r\n const json = {\r\n redeemFinalityId: finalidade,\r\n originPageId: pageId,\r\n destinationPageId: null,\r\n requestValue: valor,\r\n };\r\n\r\n try {\r\n const response = await api.post(`/studentarea/RequestTransaction`, json);\r\n\r\n const data = response.data;\r\n const { message, status, entity } = data;\r\n if (response.status == 200 && status) {\r\n loadDataInfoValuesDonations();\r\n\r\n setTransactions([\r\n ...transactions,\r\n {\r\n ...entity,\r\n statusValue: enumTransactionStatus.find(\r\n (y) => y.id === entity.status\r\n ).label,\r\n transactionTypeValue: finalities.find(\r\n (y) => y.id === entity.redeemFinalityId\r\n ).title,\r\n requestValueFormatted: !!entity.requestValue\r\n ? formatPrice(entity.requestValue)\r\n : \"\",\r\n approvedValueFormatted: !!entity.approvedValue\r\n ? formatPrice(entity.approvedValue)\r\n : \"\",\r\n },\r\n ]);\r\n\r\n toast.info(\r\n \"Resgate de fundo solicitado. Aguarde um contato de confirmação\"\r\n );\r\n setKey(\"transacoes\");\r\n } else {\r\n toast.error(`Erro na solicitação.. ${message}`);\r\n }\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro na solicitação.. tente mais tarde\");\r\n }\r\n }\r\n\r\n setSmShow(false);\r\n };\r\n\r\n const newPageModal = async () => {\r\n setPageDefault({});\r\n setCampaigns([]);\r\n setIsPublishCreate(true);\r\n setIsPrivateCreate(false);\r\n setModalLoading(false);\r\n setModalCreatePage(true);\r\n const response = await api.get(`/StudentArea/GetStudentCampaigns`);\r\n const dt = response.data;\r\n\r\n setCampaigns(\r\n dt.map((x) => ({\r\n ...x,\r\n id: x.campaignId,\r\n value: x.campaignId,\r\n title: x.name,\r\n }))\r\n );\r\n };\r\n\r\n const changeCampaign = async (e) => {\r\n setPageDefault(campaigns.find((x) => x.campaignId === e.target.value));\r\n };\r\n\r\n const handleCreatePage = async (data) => {\r\n const { campaignId, pageDescription, text, videoUrl } = data;\r\n\r\n const videoIsValid = !!videoUrl.trim() ? !!youtube_parser(videoUrl) : true;\r\n\r\n if (videoIsValid) {\r\n setModalLoading(true);\r\n const json = {\r\n campaignId,\r\n pageDescription: pageDescription.trim(),\r\n text: text.trim(),\r\n videoUrl: videoUrl.trim(),\r\n privatePage: isPrivateCreate,\r\n published: isPublishCreate,\r\n };\r\n\r\n try {\r\n const response = await api.post(\r\n `/studentarea/createdonationpage`,\r\n json\r\n );\r\n const data = response.data;\r\n const { message, status, entity } = data;\r\n if (response.status == 200 && status) {\r\n loadData();\r\n\r\n toast.success(\"Página enviada para moderação\");\r\n setModalCreatePage(false);\r\n } else {\r\n toast.error(`Erro ao criar.. ${message}`);\r\n }\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao criar.. tente mais tarde\");\r\n }\r\n } finally {\r\n setModalLoading(false);\r\n }\r\n } else {\r\n toast.error(\"Link do YouTube inválido\");\r\n }\r\n };\r\n\r\n const verifyDeletable = async (data) => {\r\n const { pageId, pageDescription } = data;\r\n confirmAlert({\r\n title: \"Confirme\",\r\n message: `Deseja realmente a página ${pageDescription}?`,\r\n buttons: [\r\n {\r\n label: \"Sim\",\r\n onClick: async () => {\r\n try {\r\n const response = await api.get(\r\n `/studentarea/isdeletablepage/${pageId}`\r\n );\r\n const dt = response.data;\r\n const { message, status, entity } = dt;\r\n if (response.status == 200) {\r\n if (status) {\r\n const responseDel = await api.delete(\r\n `/studentarea/DeleteDonationPage/${pageId}`\r\n );\r\n const dta = responseDel.data;\r\n if (responseDel.status == 200) {\r\n if (dta.status) {\r\n toast.success(\"Página excluida com sucesso\");\r\n loadData();\r\n } else {\r\n toast.success(`Não foi possível excluir. ${dta.message}`);\r\n }\r\n }\r\n } else {\r\n toast.error(\r\n \"Não foi possível excluir. Existem doações nesta página\"\r\n );\r\n }\r\n } else {\r\n toast.error(`Erro na mudança do link. ${message}`);\r\n }\r\n } catch (error) {\r\n toast.error(\"Erro na comunicação com o servidor\");\r\n }\r\n },\r\n },\r\n {\r\n label: \"Não\",\r\n onClick: () => { },\r\n },\r\n ],\r\n });\r\n };\r\n\r\n const dismissAlert = async (pageId) => {\r\n const response = await api.put(\r\n `/studentarea/setpageupdateviewed/${pageId}`\r\n );\r\n const data = response.data;\r\n const { message, status, id, entity } = data;\r\n if (response.status == 200 && status) {\r\n setUpdatePending({ ...updatePending, viewed: true });\r\n } else {\r\n toast.error(message);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {/* Col info User */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {profile.name}\r\n
\r\n \r\n Curso: {profile.curso}\r\n
\r\n Campus: {profile.campus}\r\n
\r\n E-mail: {profile.email}\r\n
\r\n RA: {profile.ra}\r\n
\r\n
\r\n \r\n {!!userDonations ? (\r\n userDonations.sevenPagConnectionSuccess ? (\r\n \r\n \r\n ) : (\r\n {messageErrorSevenPag}\r\n )\r\n ) : (\r\n
\r\n Carregando\r\n
\r\n )}\r\n
\r\n
\r\n \r\n\r\n {/* CardListagem */}\r\n \r\n \r\n \r\n
Minhas páginas
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n #\r\n Campanha\r\n Descrição\r\n Link\r\n Ativo\r\n Publicado\r\n Ações\r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n
\r\n Carregando\r\n
\r\n \r\n \r\n ) : donations.length == 0 ? (\r\n \r\n Nenhuma página\r\n \r\n ) : (\r\n donations.map((item, index) => (\r\n \r\n {index}\r\n {item.campaignName}\r\n {item.pageDescription}\r\n \r\n {!!item.url ? (\r\n <>\r\n

\r\n {item.urlFormatted}\r\n

\r\n copy(item.urlFormatted)}\r\n />\r\n \r\n ) : (\r\n

Url não definida

\r\n )}\r\n \r\n {item.active ? \"Sim\" : \"Não\"}\r\n {item.published ? \"Sim\" : \"Não\"}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {`${item.pageDescription}`}\r\n {\r\n history.push(`/student/${item.url}`);\r\n }}\r\n >\r\n Abrir\r\n página\r\n \r\n \r\n handleUpdateCampaignModal(item)\r\n }\r\n >\r\n {\" \"}\r\n Editar página\r\n \r\n verifyDeletable(item)}\r\n >\r\n {\" \"}\r\n Excluir página\r\n \r\n copy(item.urlFormatted)}\r\n >\r\n {\" \"}\r\n Copiar Link\r\n \r\n \r\n handleChangeDonations(item.pageId)\r\n }\r\n >\r\n {\" \"}\r\n Visualizar Doações\r\n \r\n\r\n \r\n \r\n {\" \"}\r\n Enviar no WhatsApp\r\n \r\n \r\n {\" \"}\r\n Enviar no Facebook\r\n \r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Modal Consulta */}\r\n closeModal()}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Detalhes das suas doações\r\n \r\n \r\n \r\n \r\n {/* Cabeçalho */}\r\n \r\n \r\n {!!infoDonations ? (\r\n <>\r\n

\r\n {!!infoDonations.people &&\r\n `Doações feita para ${infoDonations.people}`}\r\n

\r\n

\r\n Doações feitas através da página{\" \"}\r\n {infoDonations.urlFormatted}\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Total de Doações\r\n <>\r\n \r\n Doação ainda não processada pelo sistema\r\n bancário\r\n \r\n }\r\n >\r\n
\r\n Doação Pendente\r\n \r\n
\r\n \r\n \r\n
Doação ProcessadaTransação análise\r\n <>\r\n \r\n Valor total resgatado\r\n \r\n }\r\n >\r\n
\r\n Saída de Caixa\r\n \r\n
\r\n \r\n \r\n
\r\n Saldo Disponível\r\n
{infoDonations.totalDonationsFormatted}\r\n {infoDonations.sevenPagConnectionSuccess\r\n ? infoDonations.totalNotProcessedFormatted\r\n : messageErrorSevenPag}\r\n \r\n {infoDonations.sevenPagConnectionSuccess\r\n ? infoDonations.totalProcessedFormatted\r\n : messageErrorSevenPag}\r\n {totalTransactionsPending}{infoDonations.totalOutFlowFormatted}\r\n {infoDonations.sevenPagConnectionSuccess\r\n ? infoDonations.totalAvailableFormatted\r\n : messageErrorSevenPag}\r\n
\r\n\r\n {infoDonations.totalAvailable >= 50 &&\r\n infoDonations.sevenPagConnectionSuccess && (\r\n \r\n Resgatar dinheiro \r\n \r\n )}\r\n \r\n ) : (\r\n
\r\n Carregando\r\n
\r\n )}\r\n
\r\n \r\n
\r\n \r\n {/* Listagem das doações */}\r\n \r\n setKey(k)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {modalLoading ? (\r\n \r\n \r\n \r\n ) : detailDonations.length > 0 ? (\r\n detailDonations.map((it, i) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
DoadorDataValorDisponível
\r\n
\r\n Carregando\r\n
\r\n
{it.name}{it.dateFormatted}{it.valueFormatted}\r\n {it.sevenPagConnectionSuccess\r\n ? it.processed\r\n ? `Sim`\r\n : `Não`\r\n : messageErrorSevenPag}\r\n
Nenhuma doação
\r\n {/* Paginação */}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {transactionLoading ? (\r\n \r\n \r\n \r\n ) : transactions.length > 0 ? (\r\n transactions.map((it, i) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
Valor SolicitadoValor AprovadoStatusFinalidade
\r\n
\r\n Carregando\r\n
\r\n
{it.requestValueFormatted}{it.approvedValueFormatted}{it.statusValue}{it.transactionTypeValue || \"Não definido\"}
Nenhuma transação
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n {/* Modal Resgatar Dinheiro */}\r\n setSmShow(false)}\r\n className=\"mt-5\"\r\n aria-labelledby=\"example-modal-sizes-title-sm\"\r\n >\r\n \r\n \r\n Resgatar dinheiro\r\n \r\n \r\n \r\n {!!infoDonations && (\r\n \r\n

\r\n Total Disponível: {infoDonations.totalAvailableFormatted}\r\n

\r\n \r\n \r\n \r\n \r\n Finalidade\r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor\r\n \r\n \r\n setValueRequest(\r\n Number(target.value.replace(\"R$ \", \"\").replace(/,/g, \"\"))\r\n )\r\n }\r\n name=\"requestValue\"\r\n type=\"text\"\r\n />\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n\r\n {/* Modal Criar Página */}\r\n setModalCreatePage(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Criar Página\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Nova página\r\n \r\n \r\n {campaigns.length === 0 ? (\r\n
\r\n Nenhuma campanha disponível\r\n
\r\n ) : (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n

\r\n * Esta página será enviada para aprovação do moderador\r\n

\r\n \r\n {modalLoading ? (\r\n \r\n ) : (\r\n `Criar página`\r\n )}\r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n {/* Modal Atualizar Página */}\r\n setModalUpdate(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Editar Página\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Editar página\r\n \r\n \r\n {!!modalLoading && modalUpdateInfo == null ? (\r\n \r\n \r\n
\r\n Carregando\r\n
\r\n \r\n
\r\n ) : modalUpdateInfo != null ? (\r\n <>\r\n {!!updatePending && !updatePending.viewed && (\r\n dismissAlert(modalUpdateInfo.pageId)}\r\n dismissible\r\n >\r\n Status da atualização: \r\n {\r\n enumState.find((x) => x.id === updatePending.status)\r\n .title\r\n }\r\n
\r\n {!!updatePending.moderationMessage && (\r\n <>\r\n Mensagem do Moderador: \r\n {updatePending.moderationMessage || \"\"}\r\n
\r\n \r\n )}\r\n Código de atualização: \r\n {updatePending.updateVerificationCode || \"\"}\r\n \r\n )}\r\n\r\n {/* Status Pagina */}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n {/* Pendente e Reprovado */}\r\n {!!updatePending &&\r\n (updatePending.status === 10 ||\r\n updatePending.status === 30) ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n {updatePending.status === 10 && (\r\n \r\n \r\n setStatusCancel(10)}\r\n >\r\n {modalLoading ? (\r\n \r\n ) : (\r\n `Cancelar Atualização Pendente`\r\n )}\r\n \r\n \r\n \r\n )}\r\n\r\n {updatePending.status === 30 && (\r\n \r\n \r\n setStatusCancel(10)}\r\n >\r\n {modalLoading ? (\r\n \r\n ) : (\r\n `Cancelar edição`\r\n )}\r\n \r\n \r\n \r\n setStatusCancel(20)}\r\n >\r\n {modalLoading ? (\r\n \r\n ) : (\r\n `Editar novamente`\r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n ) : (\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n * As mudanças serão enviadas para aprovação do\r\n moderador\r\n

\r\n \r\n {modalLoading ? (\r\n \r\n ) : (\r\n `Salvar`\r\n )}\r\n \r\n \r\n )}\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n","const enumMetodPayment = [\r\n { id: 20, title: \"Boleto\" },\r\n { id: 50, title: \"Cartão de Crédito\" },\r\n];\r\nexport default enumMetodPayment;\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div`\r\n /* .bshadow {\r\n box-shadow: #6d6262 0px 0px 25px -10px;\r\n } */\r\n`;\r\n","import React, { useEffect, useState, useRef } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport api from \"~/services/api\";\r\nimport { formatPrice } from \"~/util/format\";\r\nimport urlsystem from \"~/config/URLSystem\";\r\n\r\nimport {\r\n Row,\r\n Col,\r\n Button,\r\n Card,\r\n Container,\r\n Table,\r\n Dropdown,\r\n Modal,\r\n Spinner,\r\n Jumbotron,\r\n Badge,\r\n} from \"react-bootstrap\";\r\n\r\nimport PaginationComponent from \"react-js-pagination\";\r\nimport BoletoComponent from \"~/components/BankSlip/BoletoComponent\";\r\nimport parseDataBradesco from \"~/util/parseDataBradesco\";\r\nimport enumMetodPayment from \"~/util/enumMetodPayment\";\r\n\r\nimport { toast } from \"react-toastify\";\r\nimport { FaReceipt, FaExternalLinkAlt, FaFileInvoice } from \"react-icons/fa\";\r\nimport { IoMdMenu } from \"react-icons/io\";\r\nimport { format } from \"date-fns\";\r\nimport { Wrapper } from \"./styles\";\r\n\r\nexport default function Donor({ profile }) {\r\n const dispatch = useDispatch();\r\n const [donations, setDonations] = useState([]);\r\n const [infoDonations, setInfoDonations] = useState({});\r\n const [modal, setModal] = useState(false);\r\n\r\n const [totalDonations, setTotalDonations] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [activePage, setActivePage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(10);\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [slipData, setSlipData] = useState(null);\r\n const [modalSlip, setModalSlip] = useState(false);\r\n\r\n /* Load initial */\r\n useEffect(() => {\r\n async function loadData() {\r\n try {\r\n const response = await api.get(`/giverarea/getgivertotals`);\r\n const data = response.data;\r\n\r\n setTotalDonations({\r\n ...data,\r\n totalDonationsFormatted: formatPrice(data.totalDonations || 0),\r\n totalNotProcessedFormatted: formatPrice(data.totalNotProcessed || 0),\r\n totalProcessedFormatted: formatPrice(data.totalProcessed || 0),\r\n });\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página.. tente novamente\");\r\n }\r\n }\r\n }\r\n loadData();\r\n }, []);\r\n\r\n useEffect(() => {\r\n async function loadData() {\r\n try {\r\n setLoading(true);\r\n\r\n const response = await api.get(\r\n `/giverarea/getgiverdonations/${activePage}/${itemPerPage}`\r\n );\r\n const data = response.data;\r\n setTotalItens(data.indexSize);\r\n\r\n setDonations(\r\n data.entities\r\n .map((x) => ({\r\n ...x,\r\n urlFormatted: `${urlsystem}/student/${x.url}`,\r\n dateFormatted: format(new Date(x.date), \"dd/MM/yyyy HH:mm\"),\r\n valueFormatted: formatPrice(x.value),\r\n paymentMethodCodeFormatted: enumMetodPayment.find(\r\n (y) => y.id === x.paymentMethodCode\r\n )\r\n ? enumMetodPayment.find((y) => y.id === x.paymentMethodCode)\r\n .title\r\n : \"Método inválido\",\r\n }))\r\n .sort((a, b) => b.date.localeCompare(a.date))\r\n );\r\n\r\n setLoading(false);\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página.. tente novamente\");\r\n }\r\n }\r\n }\r\n loadData();\r\n }, [activePage, setItemPerPage]);\r\n\r\n const handleModalReceipt = async (data) => {\r\n setInfoDonations(data);\r\n setModal(true);\r\n };\r\n\r\n const handleModalBankSlip = async (data) => {\r\n setModalSlip(true);\r\n setSlipData(parseDataBradesco(data));\r\n };\r\n\r\n const renderMenu = (item) => {\r\n if (item.processed) {\r\n return (\r\n {\r\n handleModalReceipt(item);\r\n }}\r\n >\r\n Comprovante\r\n \r\n );\r\n }\r\n\r\n if (\r\n item.paymentMethodCode === 20 &&\r\n item.paymentStatus === 10 &&\r\n item.processed === false\r\n ) {\r\n return (\r\n {\r\n handleModalBankSlip(item.paymentData);\r\n }}\r\n >\r\n 2ª via do boleto\r\n \r\n );\r\n }\r\n };\r\n const componentRef = useRef();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Relatório de doações​\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Nome\r\n URL\r\n Data\r\n Valor\r\n Status\r\n Ações\r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n
\r\n Carregando\r\n
\r\n \r\n \r\n ) : (\r\n donations.map((item, index) => (\r\n \r\n {item.studentName}\r\n \r\n \r\n Doar Novamente \r\n \r\n \r\n {item.dateFormatted}\r\n {item.valueFormatted}\r\n \r\n {item.processed ? \"Completo\" : \"Pendente\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {renderMenu(item)}\r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n {!!totalDonations && (\r\n \r\n \r\n Total das doações: {\" \"}\r\n {totalDonations.totalDonationsFormatted}\r\n \r\n \r\n Total aguardando: {\" \"}\r\n {totalDonations.totalNotProcessedFormatted}\r\n \r\n \r\n Todas processado: {\" \"}\r\n {totalDonations.totalProcessedFormatted}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Modal Consulta */}\r\n setModal(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Detalhes da doação\r\n \r\n \r\n \r\n \r\n {/* Listagem das doações */}\r\n\r\n \r\n {!!infoDonations.studentName && (\r\n <>\r\n \r\n

\r\n {!!infoDonations.studentName &&\r\n `Doação feita para ${infoDonations.studentName}`}\r\n

\r\n

\r\n Curso: {infoDonations.studentCourse || \"\"}\r\n

\r\n

\r\n Link da doação: {infoDonations.urlFormatted}\r\n

\r\n

\r\n Código da doação: {infoDonations.donationId}\r\n

\r\n

\r\n Valor: {infoDonations.valueFormatted}\r\n

\r\n

\r\n Data da doação: {infoDonations.dateFormatted}\r\n

\r\n

\r\n Nome da campanha: {infoDonations.campaignName}\r\n

\r\n

\r\n Método de pagamento: \r\n {infoDonations.paymentMethodCodeFormatted}\r\n

\r\n {!!infoDonations.isRecurrence ? (\r\n

\r\n Doação recorrente\r\n

\r\n ) : (\r\n

\r\n Doação única\r\n

\r\n )}\r\n

\r\n Status do pagamento: \r\n {!!infoDonations.processed ? \"Processado\" : \"Em análise\"}\r\n

\r\n \r\n * Não dedutível no imposto de renda\r\n \r\n
\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n\r\n {/* Modal 2ª via Boleto */}\r\n setModalSlip(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Segunda via do boleto\r\n \r\n \r\n \r\n \r\n \r\n {slipData != null ? (\r\n \r\n ) : (\r\n
\r\n Carregando\r\n
\r\n )}\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div`\r\n .tableList {\r\n td,\r\n th {\r\n vertical-align: baseline;\r\n }\r\n\r\n /* .tdControl {\r\n display: flex;\r\n justify-content: space-around;\r\n align-items: center;\r\n } */\r\n }\r\n`;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport api from \"~/services/api\";\r\n\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n acceptRegulationRequest,\r\n updateEmailConfirmation,\r\n} from \"~/store/modules/user/actions\";\r\nimport { signOut } from \"~/store/modules/auth/actions\";\r\nimport { changeEmail } from \"~/store/modules/header/actions\";\r\n\r\nimport {\r\n Button,\r\n Card,\r\n Container,\r\n Modal,\r\n Row,\r\n Col,\r\n Jumbotron,\r\n} from \"react-bootstrap\";\r\n\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\n\r\nimport { isBefore, parseISO } from \"date-fns\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport Student from \"~/pages/Dashboard/Student\";\r\nimport Donor from \"~/pages/Dashboard/Donor\";\r\nimport { Wrapper } from \"./styles\";\r\n\r\nexport default function Dashboard() {\r\n const dispatch = useDispatch();\r\n const [loading, setLoading] = useState(true);\r\n const [message, setMessage] = useState(\"\");\r\n\r\n const [modalTermUse, setModalTermUse] = useState(false);\r\n const [termoDeUso, setTermoDeUso] = useState({});\r\n\r\n //const [modalNewEmail, setModalNewEmail] = useState(false);\r\n\r\n const profile = useSelector((state) => state.user.profile);\r\n const template = useSelector((state) => state.user.template);\r\n\r\n const tenantsAllowed = [\"donor\", \"student\"];\r\n\r\n useEffect(() => {\r\n async function loadData() {\r\n setLoading(true);\r\n try {\r\n setMessage(\"Carregando...\");\r\n if (!profile.regulationAccepted) {\r\n if (tenantsAllowed.indexOf(template) !== -1) {\r\n const response = await api.get(\r\n template === \"student\"\r\n ? `/studentarea/getstudentregulation`\r\n : `/giverarea/getgiverregulation`\r\n );\r\n const dt = response.data;\r\n\r\n setModalTermUse(true);\r\n setTermoDeUso(dt);\r\n }\r\n\r\n setLoading(false);\r\n } else {\r\n setLoading(false);\r\n }\r\n } catch (error) {\r\n setMessage(\"Erro ao carregar a página.. tente novamente\");\r\n }\r\n }\r\n\r\n /* if (\r\n !profile.emailConfirmed &&\r\n JSON.stringify(profile.updateEmail) === \"{}\"\r\n ) {\r\n setModalNewEmail(true);\r\n }\r\n */\r\n loadData();\r\n }, []);\r\n\r\n const handleAcceptTerm = async () => {\r\n dispatch(acceptRegulationRequest(template));\r\n setModalTermUse(false);\r\n };\r\n\r\n const renderComponent = (template, profile) => {\r\n switch (template) {\r\n case \"student\":\r\n if (\r\n !profile.emailConfirmed ||\r\n (JSON.stringify(profile.updateEmail) !== \"{}\" &&\r\n !profile.updateEmail.newEmailConfirmed)\r\n ) {\r\n return renderConfirmEmail({ profile });\r\n } else {\r\n return ;\r\n }\r\n case \"donor\":\r\n return ;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const renderConfirmEmail = ({ profile }) => {\r\n const handleReSendEmail = async () => {\r\n const response = await api.put(`/authentication/resendconfirmationemail`);\r\n\r\n const { message, status, entity } = response.data;\r\n if (status) {\r\n dispatch(updateEmailConfirmation(entity));\r\n toast.success(\r\n \"Link enviado. Se não chegar, verifique em sua caixa de spam\"\r\n );\r\n } else {\r\n toast.error(message);\r\n }\r\n };\r\n const handleCancelUpdateEmail = async () => {\r\n const response = await api.delete(`/authentication/cancelemailupdate`);\r\n\r\n const { message, status, entity } = response.data;\r\n if (status) {\r\n toast.success(\"Atualização cancelada. Entre novamente\");\r\n window.setTimeout(() => {\r\n window.location = \"/logout\";\r\n }, 3000);\r\n } else {\r\n toast.error(message);\r\n }\r\n };\r\n\r\n const { updateEmail, emailConfirmed, email } = profile;\r\n const { newEmail, newEmailConfirmed, codeExpiration } = updateEmail;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n

Confirme seu e-mail para continuar

\r\n {!!newEmail ? (\r\n <>\r\n

\r\n Um link foi enviado para{\" \"}\r\n {newEmail}\r\n

\r\n\r\n

\r\n {isBefore(parseISO(codeExpiration), new Date()) &&\r\n \"Seu token já expirou. \"}\r\n Para receber o link de confirmação novamente{\" \"}\r\n \r\n clique aqui\r\n \r\n

\r\n \r\n ) : (\r\n

\r\n Você precisa cadastrar um e-mail para continuar{\" \"}\r\n dispatch(changeEmail())}\r\n >\r\n Cadastrar\r\n \r\n

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

\r\n \r\n

\r\n )}\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n {loading ? (\r\n \r\n

{message}

\r\n
\r\n ) : (\r\n !modalTermUse && renderComponent(template, profile)\r\n )}\r\n\r\n {/* Modal Termo de Uso */}\r\n \r\n \r\n \r\n \r\n

Termo de uso

\r\n
\r\n \r\n \r\n \r\n \r\n handleAcceptTerm()}\r\n block\r\n >\r\n Li e aceito os termos\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n","export function updateModalProfile() {\r\n return {\r\n type: \"@header/TOOGLE_MODAL_USER\",\r\n };\r\n}\r\n\r\nexport function changeEmail() {\r\n return {\r\n type: \"@header/TOOGLE_MODAL_EMAIL\",\r\n };\r\n}\r\n\r\nexport function updateTenantProfile(tenant) {\r\n return {\r\n type: \"@header/UPDATE_TENANT_PROFILE\",\r\n payload: { tenant },\r\n };\r\n}\r\n\r\nexport function setItemMenuProfile(template) {\r\n return {\r\n type: \"@header/SET_ITEM_MENU\",\r\n payload: { template },\r\n };\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport api from \"~/services/api\";\r\nimport history from \"~/services/history\";\r\n\r\nimport { useDispatch } from \"react-redux\";\r\nimport { signOut } from \"~/store/modules/auth/actions\";\r\n// import { Container } from './styles';\r\n\r\nexport default function ConfirmPage() {\r\n //const dispatch = useDispatch();\r\n let location = useLocation();\r\n\r\n useEffect(async () => {\r\n const search = new URLSearchParams(location.search);\r\n const id = search.get(\"id\");\r\n const updateCode = search.get(\"updateCode\");\r\n\r\n if (!!id && !!updateCode) {\r\n const response = await api.post(\r\n `/authentication/emailconfirmation?updateCode=${updateCode}&id=${id}`,\r\n {}\r\n );\r\n const { message, status } = response.data;\r\n if (status) {\r\n toast.success(\"E-mail confirmado. Entre novamente\");\r\n window.setTimeout(() => {\r\n window.location = \"/logout\";\r\n }, 3000);\r\n } else {\r\n toast.error(message);\r\n }\r\n } else {\r\n toast.error(\"Página com parâmetros inválidos\");\r\n }\r\n }, []);\r\n\r\n return
;\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const ImageBackground = styled.div`\r\n height: calc(100vh - 48px);\r\n background: #ffffff\r\n url(\"https://cdn1.unasp.br/home/2020/04/17135807/doe-unasp.png\") no-repeat\r\n center top fixed;\r\n position: fixed;\r\n width: 100%;\r\n`;\r\n\r\nexport const Wrapper = styled.div`\r\n /*!\r\n * Start Bootstrap - Landing Page v5.0.7 (https://startbootstrap.com/template-overviews/landing-page)\r\n * Copyright 2013-2019 Start Bootstrap\r\n * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-landing-page/blob/master/LICENSE)\r\n */\r\n\r\n body {\r\n font-family: \"Lato\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\r\n }\r\n\r\n h1,\r\n h2,\r\n h3,\r\n h4,\r\n h5,\r\n h6 {\r\n font-family: \"Lato\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\r\n font-weight: 700;\r\n }\r\n\r\n header.masthead {\r\n position: relative;\r\n background-color: #343a40;\r\n /* background: url(\"../img/bg-masthead.jpg\") no-repeat center center; */\r\n background-size: cover;\r\n padding-top: 8rem;\r\n padding-bottom: 8rem;\r\n }\r\n\r\n header.masthead .overlay {\r\n position: absolute;\r\n background-color: #212529;\r\n height: 100%;\r\n width: 100%;\r\n top: 0;\r\n left: 0;\r\n opacity: 0.3;\r\n }\r\n\r\n header.masthead h1 {\r\n font-size: 2rem;\r\n }\r\n\r\n @media (min-width: 768px) {\r\n header.masthead {\r\n padding-top: 12rem;\r\n padding-bottom: 12rem;\r\n }\r\n header.masthead h1 {\r\n font-size: 3rem;\r\n }\r\n }\r\n\r\n .showcase .showcase-text {\r\n padding: 3rem;\r\n }\r\n\r\n .showcase .showcase-img {\r\n min-height: 30rem;\r\n background-size: cover;\r\n }\r\n\r\n @media (min-width: 768px) {\r\n .showcase .showcase-text {\r\n padding: 7rem;\r\n }\r\n }\r\n\r\n .features-icons {\r\n padding-top: 7rem;\r\n padding-bottom: 7rem;\r\n }\r\n\r\n .features-icons .features-icons-item {\r\n max-width: 20rem;\r\n }\r\n\r\n .features-icons .features-icons-item .features-icons-icon {\r\n height: 7rem;\r\n }\r\n\r\n .features-icons .features-icons-item .features-icons-icon i {\r\n font-size: 4.5rem;\r\n }\r\n\r\n .features-icons .features-icons-item:hover .features-icons-icon i {\r\n font-size: 5rem;\r\n }\r\n\r\n .testimonials {\r\n padding-top: 7rem;\r\n padding-bottom: 7rem;\r\n }\r\n\r\n .testimonials .testimonial-item {\r\n max-width: 18rem;\r\n }\r\n\r\n .testimonials .testimonial-item img {\r\n max-width: 12rem;\r\n box-shadow: 0px 5px 5px 0px #adb5bd;\r\n }\r\n\r\n .call-to-action {\r\n position: relative;\r\n background-color: #343a40;\r\n /* background: url(\"../img/bg-masthead.jpg\") no-repeat center center; */\r\n background-size: cover;\r\n padding-top: 7rem;\r\n padding-bottom: 7rem;\r\n }\r\n\r\n .call-to-action .overlay {\r\n position: absolute;\r\n background-color: #212529;\r\n height: 100%;\r\n width: 100%;\r\n top: 0;\r\n left: 0;\r\n opacity: 0.3;\r\n }\r\n\r\n footer.footer {\r\n padding-top: 4rem;\r\n padding-bottom: 4rem;\r\n }\r\n\r\n .style1 {\r\n background: #697f8c;\r\n color: #fff;\r\n }\r\n .style2 {\r\n background: #117a8b;\r\n color: #fff;\r\n }\r\n .style3 {\r\n background: #028ab8;\r\n color: #fff;\r\n .btn {\r\n background-color: #0ba1a3;\r\n border-color: #0ba1a3;\r\n }\r\n }\r\n`;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { useParams } from \"react-router-dom\";\r\n\r\nimport {\r\n Row,\r\n Col,\r\n Button,\r\n Accordion,\r\n Badge,\r\n Card,\r\n Alert,\r\n Container,\r\n Image,\r\n InputGroup,\r\n Modal,\r\n FormControl,\r\n} from \"react-bootstrap\";\r\n\r\nimport api from \"~/services/api\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport pt from \"date-fns/locale/pt\";\r\n\r\nimport img_01 from \"~/assets/img_01.jpg\";\r\nimport img_02 from \"~/assets/img_02.jpg\";\r\nimport img_03 from \"~/assets/img_03.jpg\";\r\nimport img_04 from \"~/assets/img_04.jpg\";\r\n\r\nimport { Wrapper } from \"./styles\";\r\n\r\nimport { FaRegFileAlt, FaRegClock } from \"react-icons/fa\";\r\n\r\nexport default function AboutProject() {\r\n const { scroll } = useParams();\r\n\r\n const [currentPosition, setCurrentPosition] = useState(0);\r\n\r\n const [modalTermUse, setModalTermUse] = useState(false);\r\n const [termoDeUso, setTermoDeUso] = useState({\r\n text: \"\",\r\n title: \"\",\r\n date: \"\",\r\n });\r\n\r\n const oprograma = useRef(null);\r\n const ounasp = useRef(null);\r\n\r\n useEffect(() => {\r\n loadTermPublic();\r\n }, []);\r\n\r\n const loadTermPublic = async () => {\r\n const response = await api.get(`/public/getGeneralRegulation/`);\r\n const { creationDate, text, title } = response.data;\r\n setTermoDeUso({\r\n text,\r\n title,\r\n date: creationDate\r\n ? format(new Date(creationDate), \"dd/MM/yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n switch (scroll) {\r\n case \"oprograma\":\r\n scrollToRef(oprograma);\r\n break;\r\n case \"ounasp\":\r\n scrollToRef(ounasp);\r\n break;\r\n default:\r\n scrollToRef(oprograma);\r\n break;\r\n }\r\n }, [scroll]);\r\n\r\n const scrollToRef = (ref) => {\r\n const toPosition = ref.current.offsetTop;\r\n const timeInterval = 0.05;\r\n\r\n let i = currentPosition;\r\n setCurrentPosition(toPosition);\r\n\r\n if (currentPosition < toPosition) {\r\n let int = setInterval(function () {\r\n window.scrollTo(currentPosition, i);\r\n i += 10;\r\n if (i >= toPosition) {\r\n clearInterval(int);\r\n setCurrentPosition(i);\r\n }\r\n }, timeInterval);\r\n } else {\r\n let int = setInterval(function () {\r\n window.scrollTo(currentPosition, i);\r\n i -= 10;\r\n if (i <= toPosition) {\r\n clearInterval(int);\r\n setCurrentPosition(i);\r\n }\r\n }, timeInterval);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Sobre o Programa

\r\n

\r\n A formação acadêmica é um ponto extremamente importante na\r\n vida de um jovem, por isso, mesmo com as dificuldades impostas\r\n pela pandemia do novo coronavírus, nossos alunos não poderiam\r\n deixar de estudar. Preocupado com sua educação e\r\n profissionalização, o Centro Universitário Adventista de São\r\n Paulo (Unasp), está fazendo todo o possível para manter o\r\n nível de excelência nos serviços prestados aos estudantes.\r\n

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

\r\n Pensando nisso, foi criado o projeto\r\n #EuApoio. Esta\r\n iniciativa tem por objetivo auxiliar os alunos de modo que\r\n continuem com seus estudos, sem maiores imprevistos ou\r\n prejuízos. Em tempos difíceis e complexos como os que estamos\r\n vivendo, nossas maiores ferramentas são a educação e a\r\n solidariedade. Sendo assim, por meio de doações, anônimas ou\r\n não, você irá contribuir para a formação dos futuros\r\n profissionais do nosso país. Esse projeto busca manter nossos\r\n estudantes em um caminho íntegro e que os leve para um futuro\r\n promissor. Com a sua colaboração, poderemos entregar\r\n profissionais que vão além do exercício prático da profissão,\r\n capazes de contribuir com a construção de uma sociedade\r\n melhor. Entendemos que os sonhos não podem ser deixados de\r\n lado, e contamos com sua ajuda, para conseguir realizar os\r\n sonhos de todos os alunos que aguardam por uma oportunidade\r\n para continuar.\r\n

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

Sobre o UNASP

\r\n

\r\n O Centro Universitário Adventista de São Paulo (Unasp), é uma\r\n instituição centenária que cresce em estrutura e padrão de\r\n educação, conceituada com nota máxima no MEC. A cada ano\r\n alcançamos nosso principal objetivo: formar cidadãos de\r\n caráter que façam a diferença em sua sociedade e no mundo.\r\n

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

\r\n Somos quatro campi e juntos somamos mais de 17 mil alunos,\r\n cursando da educação infantil à faculdade. Oferecemos mais de\r\n 30 cursos de graduação, alguns deles com opção de residência\r\n no campus. Para aqueles que optam por viverem em nossos\r\n internatos, proporcionamos um estilo de vida saudável e\r\n equilibrado, focado no desenvolvimento pessoal e profissional\r\n de cada aluno.\r\n

\r\n

\r\n \r\n Clique para saber mais\r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n setModalTermUse(true)}\r\n >\r\n Regulamento do programa \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n {/* Modal Termo de Uso */}\r\n setModalTermUse(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n {termoDeUso.title}{\" \"}\r\n \r\n \r\n {` ${termoDeUso.date}`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nimport { Doughnut, Bar } from \"react-chartjs-2\"; //http://jerairrest.github.io/react-chartjs-2/\r\n\r\nimport { Table, Col, Row, Card } from \"react-bootstrap\";\r\n// import { Container } from './styles';\r\n\r\nexport default function Home() {\r\n const tenantProfile = useSelector((state) => state.header.tenantProfile);\r\n useEffect(() => {}, [tenantProfile]);\r\n\r\n const dataFinancial = {\r\n labels: [\"Pendente\", \"Processando\", \"Resgatado\"],\r\n datasets: [\r\n {\r\n data: [180, 240, 320],\r\n backgroundColor: [\"#FFCE56\", \"#36A2EB\", \"#4eaf63\"],\r\n hoverBackgroundColor: [\"#FFCE56\", \"#36A2EB\", \"#4eaf63\"],\r\n },\r\n ],\r\n };\r\n\r\n const dataTransfer = {\r\n labels: [\"Pendente\", \"Concluído\", \"Negado\"],\r\n datasets: [\r\n {\r\n data: [80, 240, 20],\r\n backgroundColor: [\"#FFCE56\", \"#4eaf63\", \"#d83535\"],\r\n hoverBackgroundColor: [\"#FFCE56\", \"#4eaf63\", \"#d83535\"],\r\n },\r\n ],\r\n };\r\n\r\n const dataBar = {\r\n labels: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\"],\r\n datasets: [\r\n {\r\n label: \"Total de doações por mês\",\r\n backgroundColor: \"rgba(255,99,132,0.2)\",\r\n borderColor: \"rgba(255,99,132,1)\",\r\n borderWidth: 1,\r\n hoverBackgroundColor: \"rgba(255,99,132,0.4)\",\r\n hoverBorderColor: \"rgba(255,99,132,1)\",\r\n data: [65, 59, 80, 81, 56, 14, 0],\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n

Home

\r\n
\r\n\r\n \r\n \r\n \r\n Financeiro\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Doações por período\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Pedidos de Resgate\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","export default function buildURLQuery(obj) {\r\n return Object.entries(obj)\r\n .filter((x) => x[1] !== \"\")\r\n .map((pair) => pair.map(encodeURIComponent).join(\"=\"))\r\n .join(\"&\");\r\n}\r\n","import React, { useRef, useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport api from \"~/services/api\";\r\nimport buildURLQuery from \"~/util/buildURLQuery\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport pt from \"date-fns/locale/pt\";\r\nimport history from \"~/services/history\";\r\nimport Switch from \"react-switch\";\r\n\r\nimport { formatPrice } from \"~/util/format\";\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\nimport {\r\n Table,\r\n Container,\r\n Row,\r\n Col,\r\n Dropdown,\r\n Spinner,\r\n Button,\r\n Modal,\r\n Card,\r\n InputGroup,\r\n FormControl,\r\n ListGroup,\r\n} from \"react-bootstrap\";\r\n\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport { IoMdMenu, IoMdSearch } from \"react-icons/io\";\r\nimport { TiExport } from \"react-icons/ti\";\r\nimport { AiFillMoneyCollect } from \"react-icons/ai\";\r\nimport { MdClear, MdUpdate, MdAddCircleOutline } from \"react-icons/md\";\r\n// import { Container } from './styles';\r\n\r\nexport default function ContasFinanceiras() {\r\n const tenantProfile = useSelector((state) => state.header.tenantProfile);\r\n\r\n const formRef = useRef(null);\r\n const searchRef = useRef(null);\r\n const [searching, setSearching] = useState(false);\r\n const [searchString, setSearchString] = useState(\"\");\r\n const [timeout, setTimeOut] = useState(0);\r\n\r\n const [pages, setPages] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [activePage, setActivePage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(10);\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [updatePending, setUpdatePending] = useState({});\r\n const [modalUpdate, setModalUpdate] = useState(false);\r\n\r\n const [modalCreateLot, setModalCreateLot] = useState({\r\n loading: false,\r\n sendingLoading: false,\r\n show: false,\r\n data: [],\r\n });\r\n\r\n const [modalInsertLot, setModalInsertLot] = useState({\r\n loading: false,\r\n sendingLoading: false,\r\n show: false,\r\n data: [],\r\n });\r\n\r\n // change new tenant\r\n useEffect(() => {\r\n setActivePage(1);\r\n }, [tenantProfile, searchString]);\r\n\r\n /* Load data pages */\r\n useEffect(() => {\r\n const loadData = async () => {\r\n try {\r\n setLoading(true);\r\n\r\n const response = await api.get(\r\n `/AdminArea/GetTenantFinancialAccounts/${tenantProfile}/${activePage}/${itemPerPage}?${buildURLQuery(\r\n { search: searchString }\r\n )}`\r\n );\r\n\r\n const dataDonations = response.data;\r\n setTotalItens(dataDonations.indexSize);\r\n setPages(dataDonations.entities.map((x) => x));\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n loadData();\r\n }, [activePage, setItemPerPage, tenantProfile, searchString]);\r\n\r\n useEffect(() => {\r\n if (searching) {\r\n searchRef.current.focus();\r\n }\r\n }, [searching]);\r\n\r\n const handleViewRequest = (data) => {\r\n setUpdatePending({});\r\n setUpdatePending(data);\r\n setModalUpdate(true);\r\n };\r\n\r\n const GetAccountUnaccounted = async (financialAccountId) => {\r\n setModalCreateLot((prevState) => ({\r\n ...prevState,\r\n sendingLoading: false,\r\n loading: true,\r\n show: true,\r\n }));\r\n\r\n setModalInsertLot((prevState) => ({\r\n ...prevState,\r\n loading: false,\r\n }));\r\n const response = await api.get(\r\n `/adminarea/GetPerFinancialAccountUnaccountedTransactions/${tenantProfile}/${financialAccountId}`\r\n );\r\n\r\n setModalCreateLot((prevState) => ({\r\n ...prevState,\r\n loading: false,\r\n data: response.data.map((x) => ({\r\n ...x,\r\n dateFormatted: x.transactionDate\r\n ? format(new Date(x.transactionDate), \"dd/MMM/yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n valueFormatted: formatPrice(x.transactionValue),\r\n checked: false,\r\n })),\r\n }));\r\n };\r\n\r\n const handleChangeToLot = (status, itemId) => {\r\n setModalCreateLot((prevState) => ({\r\n ...prevState,\r\n data: modalCreateLot.data.map((x) => ({\r\n ...x,\r\n checked: x.transactionRequestId == itemId ? status : x.checked,\r\n })),\r\n }));\r\n };\r\n\r\n const handleChangeAllToLot = (status) => {\r\n setModalCreateLot((prevState) => ({\r\n ...prevState,\r\n data: modalCreateLot.data.map((x) => ({\r\n ...x,\r\n checked: status,\r\n })),\r\n }));\r\n };\r\n\r\n const handleCreateLot = async () => {\r\n const items = modalCreateLot.data.filter((x) => x.checked);\r\n if (items.length == 0) {\r\n toast.info(\r\n \"Você precisa selecionar pelo menos um item para criar um lote\"\r\n );\r\n return;\r\n }\r\n\r\n setModalCreateLot((prevState) => ({\r\n ...prevState,\r\n sendingLoading: true,\r\n }));\r\n\r\n const response = await api.post(\r\n `adminarea/CreateAccountingLot/${tenantProfile}`,\r\n items\r\n );\r\n\r\n const { status, message } = response.data;\r\n if (status) {\r\n setModalCreateLot((prevState) => ({\r\n ...prevState,\r\n sendingLoading: false,\r\n show: false,\r\n }));\r\n toast.success(`Lote criado com sucesso`);\r\n //history.push(`/admin/allotment`);\r\n } else {\r\n setModalCreateLot((prevState) => ({\r\n ...prevState,\r\n sendingLoading: false,\r\n }));\r\n toast.info(`Ocorreu um erro. ${message}`);\r\n }\r\n };\r\n\r\n const handleInsertIntoLotModal = async () => {\r\n const items = modalCreateLot.data.filter((x) => x.checked);\r\n if (items.length == 0) {\r\n toast.info(\r\n \"Você precisa selecionar pelo menos um item para inserir em um lote\"\r\n );\r\n return;\r\n }\r\n\r\n setModalInsertLot((prevState) => ({\r\n ...prevState,\r\n loading: true,\r\n show: true,\r\n }));\r\n\r\n const response = await api.get(\r\n `/adminarea/GetAllAccountingLots/${tenantProfile}/1/1000?${buildURLQuery({\r\n unnacounted: true,\r\n })}`\r\n );\r\n\r\n setModalInsertLot((prevState) => ({\r\n ...prevState,\r\n loading: false,\r\n data: response.data.entities.map((x) => ({\r\n id: x.accountingLotId,\r\n title: x.accountingLotCode,\r\n })),\r\n }));\r\n\r\n /* const response = await api.post(\r\n `adminarea/CreateAccountingLot/${tenantProfile}`,\r\n items\r\n );\r\n\r\n const { status, message } = response.data;\r\n if (status) {\r\n setModalCreateLot((prevState) => ({\r\n ...prevState,\r\n sendingLoading: false,\r\n }));\r\n toast.success(`Lote criado com sucesso`);\r\n history.push(`/admin/allotment`);\r\n } else {\r\n setModalCreateLot((prevState) => ({\r\n ...prevState,\r\n sendingLoading: false,\r\n }));\r\n toast.info(`Ocorreu um erro. ${message}`);\r\n } */\r\n };\r\n\r\n const handleInsertIntoLot = async (data) => {\r\n const { loteId } = data;\r\n const items = modalCreateLot.data.filter((x) => x.checked);\r\n console.log(data, items);\r\n if (items.length == 0 && loteId.trim() != \"\") {\r\n toast.info(\r\n \"Você precisa selecionar pelo menos um item para inserir em um lote\"\r\n );\r\n return;\r\n }\r\n\r\n setModalInsertLot((prevState) => ({\r\n ...prevState,\r\n sendingLoading: true,\r\n }));\r\n\r\n const response = await api.put(\r\n `adminarea/SetTransactionAccountingLotRange/${tenantProfile}/${loteId}`,\r\n items\r\n );\r\n\r\n const { status, message } = response.data;\r\n if (status) {\r\n setModalInsertLot((prevState) => ({\r\n ...prevState,\r\n sendingLoading: false,\r\n show: false,\r\n }));\r\n setModalCreateLot((prevState) => ({\r\n ...prevState,\r\n show: false,\r\n }));\r\n toast.success(`Itens adicionados com sucesso`);\r\n //history.push(`/admin/allotment`);\r\n } else {\r\n setModalInsertLot((prevState) => ({\r\n ...prevState,\r\n sendingLoading: false,\r\n }));\r\n toast.info(`Ocorreu um erro. ${message}`);\r\n }\r\n };\r\n\r\n const handleFind = (e) => {\r\n const vl = e.target.value;\r\n\r\n if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n setSearchString(vl);\r\n }, 400)\r\n );\r\n };\r\n\r\n const handleClear = () => {\r\n setSearchString(\"\");\r\n setSearching(false);\r\n };\r\n\r\n const handleSearch = () => {\r\n setSearching(true);\r\n };\r\n\r\n const searchFunction = (data) => { };\r\n\r\n return (\r\n <>\r\n
\r\n

Contas Financeiras

\r\n
\r\n\r\n {/* Search */}\r\n \r\n \r\n {!!searching ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n\r\n {/* Nova Conta */}\r\n toast.info(\"funcionalidade não implementada\")}\r\n title=\"Clique para adicionar nova conta\"\r\n className=\"ml-2\"\r\n >\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : pages.length === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n pages.map((item, index) => (\r\n console.log(item),\r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n \r\n
TituloLote ContábelAções
\r\n
\r\n Carregando\r\n
\r\n
\r\n Nenhum registro\r\n
\r\n \r\n {/* */}\r\n {item.alias}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n handleViewRequest(item)}\r\n >\r\n \r\n Atualizar\r\n \r\n \r\n GetAccountUnaccounted(item.financialAccountId)\r\n }\r\n >\r\n \r\n Criar Lote\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n {/* Modal Atualizar Página */}\r\n setModalUpdate(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n Campanha\r\n \r\n \r\n \r\n \r\n \r\n \r\n Avaliar página\r\n \r\n \r\n \r\n \r\n \r\n {Object.entries(updatePending)\r\n .filter((x) => x[1] !== null)\r\n .map((x, index) => (\r\n ${x[0]} - ${x[1]}`,\r\n }}\r\n >\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Modal Criar Lote */}\r\n \r\n setModalCreateLot((prevState) => ({ ...prevState, show: false }))\r\n }\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Itens não alocados\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Selecione os itens para criar o lote{\" \"}\r\n \r\n \r\n \r\n \r\n handleChangeAllToLot(true)}\r\n className=\"mr-2\"\r\n >\r\n Marcar todos\r\n \r\n handleChangeAllToLot(false)}\r\n variant=\"danger\"\r\n className=\"mr-2\"\r\n >\r\n Desmarcar todos\r\n \r\n handleCreateLot()}\r\n variant=\"success\"\r\n className=\"mr-2\"\r\n disabled={modalCreateLot.sendingLoading}\r\n >\r\n {modalCreateLot.sendingLoading\r\n ? `Carregando...`\r\n : `Criar Lote`}\r\n \r\n handleInsertIntoLotModal()}\r\n variant=\"info\"\r\n className=\"mr-2\"\r\n disabled={modalInsertLot.loading}\r\n >\r\n {modalInsertLot.loading\r\n ? `Carregando...`\r\n : `Inserir em lote aberto`}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {modalCreateLot.loading ? (\r\n \r\n \r\n \r\n ) : modalCreateLot.data.length === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n modalCreateLot.data.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n \r\n
-Código da transaçãoAlunoCampanhaValorModerado porData
\r\n
\r\n Carregando\r\n
\r\n
\r\n Nenhum registro\r\n
\r\n \r\n handleChangeToLot(\r\n status,\r\n item.transactionRequestId\r\n )\r\n }\r\n checked={item.checked}\r\n />\r\n {item.transactionRequestId}{item.originStudentName}{item.originPageCampaignName}{item.valueFormatted}{item.moderatorName}{item.dateFormatted}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n {/* Modal Inserir em um Lote */}\r\n \r\n setModalInsertLot((prevState) => ({\r\n ...prevState,\r\n show: false,\r\n loading: false,\r\n }))\r\n }\r\n aria-labelledby=\"example-modal-sizes-title-md\"\r\n >\r\n \r\n \r\n Lotes Abertos\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Selecione o lote que você deseja adicionar os itens{\" \"}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {modalInsertLot.sendingLoading\r\n ? `Carregando...`\r\n : `Adicionar`}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useRef, useEffect, useState, useMemo } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport api from \"~/services/api\";\r\nimport urlsystem from \"~/config/URLSystem\";\r\nimport buildURLQuery from \"~/util/buildURLQuery\";\r\nimport { formatPrice } from \"~/util/format\";\r\n\r\nimport CurrencyInput from \"~/util/CurrencyInput\";\r\n\r\nimport history from \"~/services/history\";\r\n\r\nimport Switch from \"react-switch\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport pt from \"date-fns/locale/pt\";\r\n\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\";\r\n\r\nimport \"./index.css\";\r\n\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\nimport {\r\n Table,\r\n Container,\r\n Row,\r\n Col,\r\n Dropdown,\r\n Spinner,\r\n Button,\r\n Modal,\r\n Card,\r\n InputGroup,\r\n FormControl,\r\n Jumbotron,\r\n} from \"react-bootstrap\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport PaginationComponent from \"react-js-pagination\";\r\n\r\n// import { Container } from './styles';\r\nimport { IoMdMenu, IoMdSearch } from \"react-icons/io\";\r\nimport { MdMore, MdClear } from \"react-icons/md\";\r\nimport { FaTimes, FaCheck, FaFilter } from \"react-icons/fa\";\r\n\r\nimport enumTransactionType from \"~/util/enumTransactionType\";\r\nimport enumTransactionStatus from \"~/util/enumTransactionStatus\";\r\n\r\nexport default function TransferenciaPage() {\r\n let location = useLocation();\r\n const tenantProfile = useSelector((state) => state.header.tenantProfile);\r\n\r\n const underAnalysis = useMemo(() => {\r\n const search = new URLSearchParams(location.search);\r\n const view = search.get(\"mode\");\r\n return view === \"underAnalysis\" ? true : false;\r\n });\r\n\r\n const formRef = useRef(null);\r\n const searchRef = useRef(null);\r\n const [searching, setSearching] = useState(false);\r\n const [searchString, setSearchString] = useState(\"\");\r\n const [timeout, setTimeOut] = useState(0);\r\n\r\n const [pages, setPages] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [activePage, setActivePage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(10);\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [updatePending, setUpdatePending] = useState({});\r\n const [modalUpdate, setModalUpdate] = useState(false);\r\n const [modalLoading, setModalLoading] = useState(false);\r\n const [statusAprove, setStatusAprove] = useState(0);\r\n const [valueAprove, setValueAprove] = useState(0);\r\n\r\n // change new tenant\r\n useEffect(() => {\r\n setActivePage(1);\r\n }, [tenantProfile, searchString]);\r\n\r\n /* Load data pages */\r\n useEffect(() => {\r\n loadData();\r\n }, [activePage, itemPerPage, tenantProfile, searchString, underAnalysis]);\r\n\r\n useEffect(() => {\r\n if (searching) {\r\n searchRef.current.focus();\r\n }\r\n }, [searching]);\r\n\r\n const loadData = async () => {\r\n try {\r\n setLoading(true);\r\n\r\n const urlBase = underAnalysis\r\n ? \"getinanalysistransactionrequests\"\r\n : \"GetAllTransactionRequests\";\r\n\r\n const response = await api.get(\r\n `/adminarea/${urlBase}/${tenantProfile}/${activePage}/${itemPerPage}?${buildURLQuery(\r\n { search: searchString }\r\n )}`\r\n );\r\n\r\n const dataDonations = response.data;\r\n setTotalItens(dataDonations.indexSize);\r\n setPages(\r\n dataDonations.entities.map((x) => ({\r\n ...x,\r\n urlFormatted: `${urlsystem}/student/${x.url}`,\r\n dateFormatted: x.requestDate\r\n ? format(new Date(x.requestDate), \"dd/MMM/yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n statusFormatted: enumTransactionStatus.find((y) => y.id === x.status)\r\n ? enumTransactionStatus.find((y) => y.id === x.status).label\r\n : \"Método inválido\",\r\n transactionTypeFormatted: enumTransactionType.find(\r\n (y) => y.id === x.transactionType\r\n )\r\n ? enumTransactionType.find((y) => y.id === x.transactionType).label\r\n : \"Tipo inválido\",\r\n approvedValueFormatted: formatPrice(x.approvedValue || 0),\r\n requestValueFormatted: formatPrice(x.requestValue || 0),\r\n }))\r\n );\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n const handleViewRequest = async (data) => {\r\n setUpdatePending(data);\r\n\r\n setValueAprove(data.requestValue);\r\n\r\n setModalUpdate(true);\r\n };\r\n\r\n const handleAproveRequest = async (data) => {\r\n try {\r\n const valReplaced = isNaN(valueAprove)\r\n ? Number(valueAprove.replace(\"R$ \", \"\").replace(/,/g, \"\"))\r\n : valueAprove;\r\n\r\n const json = {\r\n transactionRequestId: data.transactionRequestId,\r\n status: statusAprove,\r\n approvedValue: valReplaced,\r\n };\r\n\r\n const response = await api.post(\r\n `/AdminArea/moderatetransactionrequest/${data.dataKey}`,\r\n json\r\n );\r\n\r\n const dt = response.data;\r\n const { message, status, entity } = dt;\r\n if (response.status == 200 && status) {\r\n loadData();\r\n setModalUpdate(false);\r\n toast.success(\"Sucesso!\");\r\n } else {\r\n toast.error(`Erro na solicitação.. ${message}`);\r\n }\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro na solicitação.. tente mais tarde\");\r\n }\r\n }\r\n };\r\n\r\n const handleFind = (e) => {\r\n const vl = e.target.value;\r\n\r\n if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n setSearchString(vl);\r\n }, 400)\r\n );\r\n };\r\n\r\n const handleClear = () => {\r\n setSearchString(\"\");\r\n setSearching(false);\r\n };\r\n\r\n const handleSearch = () => {\r\n setSearching(true);\r\n };\r\n\r\n const handleRenderizeTransfer = (status) => {\r\n if (status) {\r\n history.push(\"/admin/transactions?mode=underAnalysis\");\r\n } else {\r\n history.push(\"/admin/transactions\");\r\n }\r\n };\r\n\r\n const searchFunction = (data) => { };\r\n\r\n return (\r\n <>\r\n
\r\n

Pedidos de Resgate

\r\n
\r\n\r\n {/* Search */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setItemPerPage(target.value)}\r\n />\r\n \r\n \r\n\r\n {!!searching ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n\r\n {/* List */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : pages.length === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n pages.map((item, index) => (\r\n \r\n {\r\n item.status === 20 ?\r\n :\r\n item.status === 25 ?\r\n :\r\n item.status === 30 ?\r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n \r\n
StatusAlunoCampanhaFinalidadeValor SolicitadoValor AprovadoDataAções
\r\n
\r\n Carregando\r\n
\r\n
\r\n Nenhum registro\r\n
{item.statusFormatted}{item.statusFormatted}{item.statusFormatted}{item.statusFormatted}{item.studentName}{item.originPageCampaignName}{item.transactionTypeFormatted}{item.requestValueFormatted || \"\"}{item.approvedValueFormatted || \"\"}{item.dateFormatted}\r\n \r\n \r\n \r\n \r\n \r\n handleViewRequest(item)}\r\n >\r\n Visualizar\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n {/* Modal Moderar Transferencia */}\r\n setModalUpdate(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Transferência financeira\r\n \r\n \r\n \r\n \r\n \r\n <>\r\n \r\n
\r\n Aluno: \r\n {updatePending.studentName || \"\"}\r\n
\r\n

\r\n Campanha: \r\n {updatePending.originPageCampaignName || \"\"}\r\n

\r\n

\r\n Data de Solicitação: \r\n {updatePending.dateFormatted || \"\"}\r\n

\r\n

\r\n Status: \r\n {updatePending.statusFormatted || \"\"}\r\n

\r\n

\r\n Finalidade: \r\n {updatePending.transactionTypeFormatted || \"\"}\r\n

\r\n

\r\n Valor Solicitado: \r\n {updatePending.requestValueFormatted || \"\"}\r\n

\r\n {(updatePending.status === 20 ||\r\n updatePending.status === 25) && (\r\n

\r\n Valor Aprovado: \r\n {updatePending.approvedValueFormatted || \"\"}\r\n

\r\n )}\r\n
\r\n {updatePending.status === 10 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n Valor\r\n \r\n \r\n setValueAprove(target.value)}\r\n name=\"requestValue\"\r\n type=\"text\"\r\n />\r\n \r\n\r\n \r\n \r\n setStatusAprove(30)}\r\n >\r\n {modalLoading ? (\r\n \r\n ) : (\r\n <>\r\n {`Recusar `}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n setStatusAprove(20)}\r\n >\r\n {modalLoading ? (\r\n \r\n ) : (\r\n <>\r\n {`Aprovar `}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useRef, useEffect, useState, useMemo } from \"react\";\r\nimport { useParams, useLocation, Link } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\nimport api from \"~/services/api\";\r\nimport urlsystem from \"~/config/URLSystem\";\r\nimport { formatPrice } from \"~/util/format\";\r\nimport buildURLQuery from \"~/util/buildURLQuery\";\r\n\r\nimport history from \"~/services/history\";\r\n\r\nimport Switch from \"react-switch\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport pt from \"date-fns/locale/pt\";\r\n\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\";\r\n\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\nimport {\r\n Table,\r\n Container,\r\n Row,\r\n Col,\r\n Dropdown,\r\n Spinner,\r\n Button,\r\n Modal,\r\n Card,\r\n InputGroup,\r\n FormControl,\r\n} from \"react-bootstrap\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport PaginationComponent from \"react-js-pagination\";\r\n\r\n// import { Container } from './styles';\r\nimport { IoMdMenu, IoMdSearch } from \"react-icons/io\";\r\nimport { MdUpdate, MdClear } from \"react-icons/md\";\r\nimport { FaFilter } from \"react-icons/fa\";\r\nimport enumTransactionType from \"~/util/enumTransactionType\";\r\nimport enumTransactionStatus from \"~/util/enumTransactionStatus\";\r\nimport { GiHandOfGod } from \"react-icons/gi\";\r\n\r\nexport default function TransferenciasRealizadas() {\r\n const { type, id } = useParams();\r\n //let location = useLocation();\r\n const tenantProfile = useSelector((state) => state.header.tenantProfile);\r\n\r\n const viewByCampaign = useMemo(() => {\r\n /* const search = new URLSearchParams(location.search);\r\n const view = search.get(\"mode\"); */\r\n return type === \"campaign\" ? true : false;\r\n });\r\n\r\n const searchRef = useRef(null);\r\n const [searching, setSearching] = useState(false);\r\n const [searchString, setSearchString] = useState(\"\");\r\n\r\n const [filtring, setFiltring] = useState(false);\r\n const [finalityId, setFinalityId] = useState(\"\");\r\n const [itemsFinality, setItemsFinality] = useState([]);\r\n\r\n const [timeout, setTimeOut] = useState(0);\r\n\r\n const [pages, setPages] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [activePage, setActivePage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(10);\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [updatePending, setUpdatePending] = useState({});\r\n const [modalUpdate, setModalUpdate] = useState(false);\r\n const [modalLoading, setModalLoading] = useState(false);\r\n\r\n // change new tenant\r\n useEffect(() => {\r\n setActivePage(1);\r\n }, [tenantProfile, searchString, finalityId]);\r\n\r\n // change itens finality\r\n useEffect(() => {\r\n const loadData = async () => {\r\n if (viewByCampaign) {\r\n try {\r\n const response = await api.get(\r\n `/AdminArea/GetTenantFinancialAccounts/${tenantProfile}/1/1000`\r\n );\r\n const dataDonations = response.data;\r\n setItemsFinality(\r\n dataDonations.entities.map((x) => ({\r\n value: x.financialAccountId,\r\n id: x.financialAccountId,\r\n title: x.alias,\r\n }))\r\n );\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar os itens do filtro\");\r\n }\r\n } finally {\r\n }\r\n }\r\n };\r\n loadData();\r\n }, [tenantProfile, viewByCampaign]);\r\n\r\n /* Load data pages */\r\n useEffect(() => {\r\n const loadData = async () => {\r\n try {\r\n setLoading(true);\r\n\r\n const urlBase = viewByCampaign\r\n ? \"GetTransactionsByCampaign\"\r\n : \"GetFinancialAccountTransactions\";\r\n\r\n const response = await api.get(\r\n `/adminarea/${urlBase}/${tenantProfile}/${id}/${activePage}/${itemPerPage}?${buildURLQuery(\r\n { search: searchString, redeemfinalityid: finalityId }\r\n )}`\r\n );\r\n\r\n const dataDonations = response.data;\r\n\r\n setTotalItens(dataDonations.indexSize);\r\n setPages(\r\n dataDonations.entities.map((x) => ({\r\n ...x,\r\n dateFormatted: x.transactionDate\r\n ? format(new Date(x.transactionDate), \"dd/MMM/yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n valueFormatted: formatPrice(x.transactionValue),\r\n accounted: x.accounted,\r\n })),\r\n );\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n loadData();\r\n }, [\r\n activePage,\r\n setItemPerPage,\r\n tenantProfile,\r\n searchString,\r\n finalityId,\r\n viewByCampaign,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (searching) {\r\n searchRef.current.focus();\r\n }\r\n }, [searching]);\r\n\r\n const handleViewRequest = (data) => {\r\n toast.info(\"Não implementado\");\r\n };\r\n\r\n const handleFind = (e) => {\r\n const vl = e.target.value;\r\n\r\n if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n setSearchString(vl);\r\n }, 400)\r\n );\r\n };\r\n\r\n const handleClear = () => {\r\n setSearchString(\"\");\r\n setSearching(false);\r\n };\r\n\r\n const handleSearch = () => {\r\n setSearching(true);\r\n };\r\n\r\n const handleChangeFilter = (e) => {\r\n const vl = e.target.value;\r\n setFinalityId(vl);\r\n };\r\n\r\n const handleFilter = () => {\r\n setFiltring(true);\r\n };\r\n\r\n const handleFilterClear = () => {\r\n setFiltring(false);\r\n setFinalityId(\"\");\r\n };\r\n\r\n const searchFunction = (data) => { };\r\n\r\n return (\r\n <>\r\n
\r\n

\r\n \r\n {viewByCampaign ? `Campanhas` : `Contas Financeiras`}\r\n {\" \"}\r\n / Transferências Realizadas\r\n

\r\n
\r\n\r\n {/* Search */}\r\n {/* \r\n \r\n {!!searching ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) :\r\n (\r\n \r\n \r\n \r\n )}\r\n {type === \"campaign\" && (\r\n
\r\n {filtring ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n )}\r\n \r\n
*/}\r\n\r\n {/* List */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : pages.length === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n console.log(pages),\r\n\r\n pages.map((item, index) => (\r\n \r\n \r\n \r\n {\r\n item.accounted ?\r\n :\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n \r\n
Código da transação\r\n Aluno\r\n {!!searching ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) :\r\n (\r\n \r\n // \r\n // \r\n // \r\n )}\r\n {type === \"campaign\" && (\r\n
\r\n {filtring ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n )}\r\n
ContabilizadoCampanhaValorModerado porDataAções
\r\n
\r\n Carregando\r\n
\r\n
\r\n Nenhum registro\r\n
{item.transactionRequestId}{item.originStudentName}SimNão{item.originPageCampaignName}{item.valueFormatted}{item.moderatorName}{item.dateFormatted}\r\n \r\n \r\n \r\n \r\n\r\n \r\n handleViewRequest(item)}\r\n >\r\n Visualizar\r\n alteração\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n}\r\n","import React, { useRef, useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport api from \"~/services/api\";\r\nimport urlsystem from \"~/config/URLSystem\";\r\nimport buildURLQuery from \"~/util/buildURLQuery\";\r\n\r\nimport enumState from \"~/util/enumState\";\r\nimport Switch from \"react-switch\";\r\nimport youtube_parser from \"~/util/youtube\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport pt from \"date-fns/locale/pt\";\r\n\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\";\r\n\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\nimport {\r\n Table,\r\n Container,\r\n Row,\r\n Col,\r\n Dropdown,\r\n Spinner,\r\n Button,\r\n Modal,\r\n Card,\r\n InputGroup,\r\n FormControl,\r\n} from \"react-bootstrap\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport PaginationComponent from \"react-js-pagination\";\r\n// import { Container } from './styles';\r\nimport { IoMdMenu, IoMdSearch } from \"react-icons/io\";\r\nimport { MdUpdate, MdClear, MdVideoLibrary } from \"react-icons/md\";\r\nimport { FaCheck, FaTimes } from \"react-icons/fa\";\r\n\r\nexport default function ModerarAlteracoes() {\r\n const tenantProfile = useSelector((state) => state.header.tenantProfile);\r\n\r\n const formRef = useRef(null);\r\n const searchRef = useRef(null);\r\n const [searching, setSearching] = useState(false);\r\n const [searchString, setSearchString] = useState(\"\");\r\n const [timeout, setTimeOut] = useState(0);\r\n\r\n const [pages, setPages] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [activePage, setActivePage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(10);\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [statusAprove, setStatusAprove] = useState(0);\r\n\r\n const [updatePending, setUpdatePending] = useState({});\r\n const [modalUpdate, setModalUpdate] = useState(false);\r\n const [modalLoading, setModalLoading] = useState(false);\r\n\r\n const [modalVideo, setModalVideo] = useState(false);\r\n const [videoEmbed, setVideoEmbed] = useState(\"\");\r\n\r\n const [isActiveEdit, setIsActiveEdit] = useState(null);\r\n\r\n // change new tenant\r\n useEffect(() => {\r\n setActivePage(1);\r\n }, [tenantProfile, searchString]);\r\n\r\n /* Load data pages */\r\n useEffect(() => {\r\n const loadData = async () => {\r\n try {\r\n setLoading(true);\r\n\r\n const response = await api.get(\r\n `/AdminArea/GetDonationPageUpdateRequests/${tenantProfile}/${activePage}/${itemPerPage}?${buildURLQuery(\r\n { search: searchString }\r\n )}`\r\n );\r\n\r\n const dataDonations = response.data;\r\n setTotalItens(dataDonations.indexSize);\r\n setPages(\r\n dataDonations.entities.map((x) => ({\r\n ...x,\r\n urlFormatted: `${urlsystem}/student/${x.url}`,\r\n dateFormatted: x.requestDate\r\n ? format(new Date(x.requestDate), \"dd/MMM/yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n }))\r\n );\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n loadData();\r\n }, [activePage, setItemPerPage, tenantProfile, searchString]);\r\n\r\n useEffect(() => {\r\n if (searching) {\r\n searchRef.current.focus();\r\n }\r\n }, [searching]);\r\n\r\n const handleViewRequest = (data) => {\r\n setUpdatePending({});\r\n\r\n setIsActiveEdit(data.pageActiveStatus);\r\n setUpdatePending({\r\n ...data,\r\n embed_video: !!data.videoUrl ? youtube_parser(data.videoUrl) : false,\r\n });\r\n setModalUpdate(true);\r\n };\r\n\r\n const handleModalVideo = (embed) => {\r\n setVideoEmbed(embed);\r\n setModalVideo(true);\r\n };\r\n\r\n const handleUpdatePage = async (data) => {\r\n setModalLoading(true);\r\n\r\n const {\r\n donationPageId,\r\n moderationMessage,\r\n pageDescription,\r\n text,\r\n updateVerificationCode,\r\n videoUrl,\r\n } = data;\r\n\r\n const videoIsValid = !!videoUrl.trim() ? !!youtube_parser(videoUrl) : true;\r\n\r\n if (videoIsValid) {\r\n const objData = {\r\n pageId: donationPageId,\r\n text,\r\n pageDescription,\r\n videoUrl: videoUrl,\r\n status: Number(statusAprove),\r\n moderationMessage,\r\n updateVerificationCode,\r\n };\r\n\r\n try {\r\n const response = await api.put(\r\n `/adminarea/moderatedonationpage/${tenantProfile}`,\r\n objData\r\n );\r\n const data = response.data;\r\n const { message, id, entity } = data;\r\n if (response.status === 200 && data.status) {\r\n setPages(pages.filter((x) => x.donationPageId !== id));\r\n toast.success(\"Salvo com sucesso\");\r\n setUpdatePending({});\r\n setModalUpdate(false);\r\n } else {\r\n toast.error(`Erro ao atualizar.. ${message}`);\r\n }\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao atualizar.. tente mais tarde\");\r\n }\r\n } finally {\r\n setModalLoading(false);\r\n }\r\n } else {\r\n setModalLoading(false);\r\n toast.error(\"Link do YouTube inválido\");\r\n }\r\n };\r\n\r\n const handleUpdateStatePage = async (status, handleId) => {\r\n confirmAlert({\r\n title: \"Confirme\",\r\n message: `Deseja realmente ${\r\n status ? \"ativar\" : \"bloquear\"\r\n } esta página?`,\r\n buttons: [\r\n {\r\n label: \"Sim\",\r\n onClick: async () => {\r\n setModalLoading(true);\r\n try {\r\n const response = await api.put(\r\n `/AdminArea/ChangePageActiveStatus/${tenantProfile}/${handleId}`\r\n );\r\n const data = response.data;\r\n\r\n const { message, id, entity } = data;\r\n if (response.status === 200 && data.status) {\r\n setIsActiveEdit(status);\r\n\r\n setPages(\r\n pages.map((x) =>\r\n x.donationPageId === id\r\n ? {\r\n ...x,\r\n urlFormatted: `${urlsystem}/student/${x.url}`,\r\n pageActiveStatus: entity.active,\r\n }\r\n : {\r\n ...x,\r\n }\r\n )\r\n );\r\n toast.success(`Status alterado`);\r\n } else {\r\n toast.error(`Erro na atualização. ${message}`);\r\n }\r\n } catch (error) {\r\n toast.error(`Erro na comunicação com o servidor.`);\r\n } finally {\r\n setModalLoading(false);\r\n }\r\n },\r\n },\r\n {\r\n label: \"Não\",\r\n onClick: () => {},\r\n },\r\n ],\r\n });\r\n };\r\n\r\n const handleFind = (e) => {\r\n const vl = e.target.value;\r\n\r\n if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n setSearchString(vl);\r\n }, 400)\r\n );\r\n };\r\n\r\n const handleClear = () => {\r\n setSearchString(\"\");\r\n setSearching(false);\r\n };\r\n\r\n const handleSearch = () => {\r\n setSearching(true);\r\n };\r\n\r\n const searchFunction = (data) => {};\r\n\r\n return (\r\n <>\r\n
\r\n

Moderar Alterações

\r\n
\r\n {/* Search */}\r\n \r\n \r\n {!!searching ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n\r\n {/* List */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : pages.length === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n pages.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n \r\n
Código da notificaçãoAlunoStatusDataAções
\r\n
\r\n Carregando\r\n
\r\n
\r\n Nenhum registro\r\n
{item.updateVerificationCode}{item.studentName}\r\n {enumState.find((x) => x.id === item.status).title}\r\n {item.dateFormatted}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {`${item.pageDescription}`}\r\n handleViewRequest(item)}\r\n >\r\n Visualizar\r\n alteração\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n {/* Modal Atualizar Página */}\r\n setModalUpdate(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n Moderador\r\n \r\n \r\n \r\n \r\n \r\n \r\n Avaliar página\r\n \r\n \r\n \r\n \r\n Nome:{\" \"}\r\n {updatePending.studentName || \"Não informado\"}\r\n
\r\n {updatePending.url && (\r\n <>\r\n Link {updatePending.urlFormatted}\r\n \r\n )}\r\n \r\n\r\n \r\n {isActiveEdit != null && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!!updatePending.embed_video && (\r\n \r\n handleModalVideo(updatePending.embed_video)\r\n }\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n setStatusAprove(30)}\r\n >\r\n {modalLoading ? (\r\n \r\n ) : (\r\n <>\r\n {`Recusar `}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n setStatusAprove(20)}\r\n >\r\n {modalLoading ? (\r\n \r\n ) : (\r\n <>\r\n {`Aprovar `}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n {/* Modal Video */}\r\n setModalVideo(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n Video\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useRef, useEffect, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\nimport api from \"~/services/api\";\r\nimport buildURLQuery from \"~/util/buildURLQuery\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport pt from \"date-fns/locale/pt\";\r\n\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\nimport {\r\n Table,\r\n Container,\r\n Row,\r\n Col,\r\n Dropdown,\r\n Spinner,\r\n Button,\r\n Modal,\r\n Card,\r\n InputGroup,\r\n FormControl,\r\n ListGroup,\r\n} from \"react-bootstrap\";\r\n\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport { IoMdMenu, IoMdSearch } from \"react-icons/io\";\r\nimport { AiFillMoneyCollect } from \"react-icons/ai\";\r\nimport { MdClear, MdUpdate, MdAddCircleOutline } from \"react-icons/md\";\r\n// import { Container } from './styles';\r\n\r\nexport default function Campanhas() {\r\n const tenantProfile = useSelector((state) => state.header.tenantProfile);\r\n\r\n const formRef = useRef(null);\r\n const searchRef = useRef(null);\r\n const [searching, setSearching] = useState(false);\r\n const [searchString, setSearchString] = useState(\"\");\r\n const [timeout, setTimeOut] = useState(0);\r\n\r\n const [pages, setPages] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [activePage, setActivePage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(10);\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [updatePending, setUpdatePending] = useState({});\r\n const [modalUpdate, setModalUpdate] = useState(false);\r\n const [modalLoading, setModalLoading] = useState(false);\r\n\r\n // change new tenant\r\n useEffect(() => {\r\n setActivePage(1);\r\n }, [tenantProfile, searchString]);\r\n\r\n /* Load data pages */\r\n useEffect(() => {\r\n const loadData = async () => {\r\n try {\r\n setLoading(true);\r\n\r\n const response = await api.get(\r\n `/AdminArea/GetTenantCampaigns/${tenantProfile}/${activePage}/${itemPerPage}?${buildURLQuery(\r\n { search: searchString }\r\n )}`\r\n );\r\n\r\n const dataDonations = response.data;\r\n setTotalItens(dataDonations.indexSize);\r\n setPages(\r\n dataDonations.entities.map((x) => ({\r\n ...x,\r\n dateFormatted: x.startDate\r\n ? format(new Date(x.startDate), \"dd/MMM/yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n }))\r\n );\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n loadData();\r\n }, [activePage, setItemPerPage, tenantProfile, searchString]);\r\n\r\n useEffect(() => {\r\n if (searching) {\r\n searchRef.current.focus();\r\n }\r\n }, [searching]);\r\n\r\n const handleViewRequest = (data) => {\r\n setUpdatePending({});\r\n setUpdatePending(data);\r\n setModalUpdate(true);\r\n };\r\n\r\n const handleFind = (e) => {\r\n const vl = e.target.value;\r\n\r\n if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n setSearchString(vl);\r\n }, 400)\r\n );\r\n };\r\n\r\n const handleClear = () => {\r\n setSearchString(\"\");\r\n setSearching(false);\r\n };\r\n\r\n const handleSearch = () => {\r\n setSearching(true);\r\n };\r\n\r\n const searchFunction = (data) => {};\r\n\r\n return (\r\n <>\r\n
\r\n

Campanhas

\r\n
\r\n\r\n {/* Search */}\r\n \r\n \r\n {!!searching ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n\r\n {/* Nova Campanha */}\r\n toast.info(\"funcionalidade não implementada\")}\r\n title=\"Clique para adicionar nova campanha\"\r\n className=\"ml-2\"\r\n >\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : pages.length === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n pages.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n \r\n
CampanhaDescriçãoData de inícioStatusLinkAções
\r\n
\r\n Carregando\r\n
\r\n
\r\n Nenhum registro\r\n
{item.name}{item.pageDefaultDescription}{item.dateFormatted}{item.active ? \"Ativo\" : \"Inativo\"}\r\n \r\n \r\n Tranferências Realizadas\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n handleViewRequest(item)}\r\n >\r\n \r\n Atualizar\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n {/* Modal Atualizar Página */}\r\n setModalUpdate(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n Campanha\r\n \r\n \r\n \r\n \r\n \r\n \r\n Avaliar página\r\n \r\n \r\n \r\n \r\n \r\n {Object.entries(updatePending)\r\n .filter((x) => x[1] !== null)\r\n .map((x, index) => (\r\n ${x[0]} - ${x[1]}`,\r\n }}\r\n >\r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useRef, useEffect, useMemo, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport jsPDF from \"jspdf\";\r\nimport \"jspdf-autotable\";\r\n\r\nimport api from \"~/services/api\";\r\nimport buildURLQuery from \"~/util/buildURLQuery\";\r\n\r\nimport { format, set } from \"date-fns\";\r\nimport pt from \"date-fns/locale/pt\";\r\n\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\";\r\n\r\nimport history from \"~/services/history\";\r\n\r\nimport { formatPrice } from \"~/util/format\";\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\nimport {\r\n Table,\r\n Container,\r\n Row,\r\n Col,\r\n Dropdown,\r\n Spinner,\r\n Button,\r\n Modal,\r\n Card,\r\n InputGroup,\r\n FormControl,\r\n Jumbotron,\r\n} from \"react-bootstrap\";\r\nimport { toast } from \"react-toastify\";\r\n// import { Container } from './styles';\r\n\r\nimport Switch from \"react-switch\";\r\n\r\nimport PaginationComponent from \"react-js-pagination\";\r\n\r\nimport { IoMdMenu, IoMdSearch } from \"react-icons/io\";\r\nimport { MdClear, MdMore, MdAddCircleOutline } from \"react-icons/md\";\r\nimport { FaSearch, FaRegCheckCircle } from \"react-icons/fa\";\r\nimport { TiDeleteOutline } from \"react-icons/ti\";\r\nimport { it } from \"date-fns/locale\";\r\n\r\nimport { CSVLink, CSVDownload, } from \"react-csv\";\r\n\r\nexport default function Lotes() {\r\n let location = useLocation();\r\n const tenantProfile = useSelector((state) => state.header.tenantProfile);\r\n\r\n const onlyClosed = useMemo(() => {\r\n const search = new URLSearchParams(location.search);\r\n const view = search.get(\"mode\");\r\n return view === \"all\" ? true : false;\r\n });\r\n\r\n const searchRef = useRef(null);\r\n const [searching, setSearching] = useState(false);\r\n const [searchString, setSearchString] = useState(\"\");\r\n const [timeout, setTimeOut] = useState(0);\r\n\r\n const [pages, setPages] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [activePage, setActivePage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(10);\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [dataLotEntity, setDataLotEntity] = useState([]);\r\n const [dataLotView, setDataLotView] = useState({});\r\n const [modalLot, setModalLot] = useState(false);\r\n const [dataLotLoading, setDataLotLoading] = useState(false);\r\n const [activePageLot, setActivePageLot] = useState(1);\r\n const [itemPerPageLot, setItemPerPageLot] = useState(10);\r\n const [totalItensLot, setTotalItensLot] = useState(0);\r\n const [searchStringLot, setSearchStringLot] = useState(\"\");\r\n\r\n const [printPDFHead] = useState([\"RA\", \"Aluno\", \"Data\", \"Valor\", \"Campanha\"]);\r\n const [printPDFBody, setPrintPDFBody] = useState([]);\r\n\r\n const [printCSVBody, setPrintCSVBody] = useState([]);\r\n const [entidade, setEntidade] = useState();\r\n const [dataLote, setDataLote] = useState();\r\n\r\n let valorInicial = 0;\r\n\r\n const data = new Date();\r\n\r\n // change new tenant\r\n useEffect(() => {\r\n setActivePage(1);\r\n }, [tenantProfile, searchString]);\r\n\r\n /* Load data pages */\r\n useEffect(() => {\r\n loadData();\r\n }, [activePage, itemPerPage, tenantProfile, searchString, onlyClosed]);\r\n\r\n const loadData = async () => {\r\n try {\r\n setLoading(true);\r\n\r\n const response = await api.get(\r\n `/adminarea/GetAllAccountingLots/${tenantProfile}/${activePage}/${itemPerPage}?${buildURLQuery(\r\n { search: searchString, unnacounted: !onlyClosed }\r\n )}`\r\n );\r\n\r\n const dataDonations = response.data;\r\n setTotalItens(dataDonations.indexSize);\r\n\r\n setPages(\r\n dataDonations.entities.map((x) => ({\r\n ...x,\r\n creationDateFormatted: x.creationDate\r\n ? format(new Date(x.creationDate), \"dd/MM/yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n }))\r\n );\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (searching) {\r\n searchRef.current.focus();\r\n }\r\n }, [searching]);\r\n\r\n useEffect(() => {\r\n if (Object.keys(dataLotView).length !== 0) {\r\n listItemsLote();\r\n }\r\n }, [searchStringLot, dataLotView, activePageLot]);\r\n\r\n const listItemsLote = async () => {\r\n const { accountingLotId, dataKey } = dataLotView;\r\n setDataLotLoading(true);\r\n try {\r\n const response = await api.get(\r\n `/adminarea/GetAccountingLotTransactions/${dataKey}/${accountingLotId}/${activePageLot}/${itemPerPageLot}?${buildURLQuery(\r\n { search: searchStringLot }\r\n )}`\r\n );\r\n\r\n const dataLotResp = response.data;\r\n setTotalItensLot(dataLotResp.indexSize);\r\n\r\n setPrintCSVBody(\r\n dataLotResp.entities.map((x) => (\r\n setEntidade(x.originStudentCampus),\r\n setDataLote(x.accountingDate ? format(new Date(x.accountingDate), \"dd/MM/yyyy\", {\r\n locale: pt,\r\n })\r\n : null),\r\n {\r\n 0: x.originStudentRa,\r\n 1: x.originStudentName,\r\n 2: x.transactionDate\r\n ? format(new Date(x.transactionDate), \"dd/MM/yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n 3: formatPrice(x.transactionValue || 0),\r\n 4: x.originPageCampaignName\r\n })),\r\n );\r\n\r\n setPrintPDFBody(\r\n dataLotResp.entities.map((x) => ({\r\n 0: x.originStudentRa,\r\n 1: x.originStudentName,\r\n 2: x.transactionDate\r\n ? format(new Date(x.transactionDate), \"dd/MM/yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n 3: formatPrice(x.transactionValue || 0),\r\n 4: x.originPageCampaignName\r\n })),\r\n );\r\n\r\n setDataLotEntity(\r\n dataLotResp.entities.map((x) => ({\r\n ...x,\r\n transactionDateFormatted: x.transactionDate\r\n ? format(new Date(x.transactionDate), \"dd/MM/yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n transactionValueFormatted: formatPrice(x.transactionValue || 0),\r\n }))\r\n );\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página\");\r\n }\r\n } finally {\r\n setDataLotLoading(false);\r\n }\r\n };\r\n\r\n const removeAccountInLot = async (transactionId) => {\r\n confirmAlert({\r\n title: \"Confirme\",\r\n message: `Deseja mesmo remover o item deste lote?`,\r\n buttons: [\r\n {\r\n label: \"Sim\",\r\n onClick: async () => {\r\n try {\r\n const response = await api.delete(\r\n `/adminarea/RemoveAccountingLotTransaction/${tenantProfile}/${transactionId}`\r\n );\r\n const { status, message } = response.data;\r\n if (status) {\r\n toast.success(message);\r\n setDataLotEntity((prevState) =>\r\n prevState.filter((x) => x.transactionId !== transactionId)\r\n );\r\n } else {\r\n toast.error(message);\r\n }\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao obter dados\");\r\n }\r\n }\r\n },\r\n },\r\n {\r\n label: \"Não\",\r\n onClick: () => { },\r\n },\r\n ],\r\n });\r\n };\r\n\r\n const handleFind = (e) => {\r\n const vl = e.target.value;\r\n\r\n if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n setSearchString(vl);\r\n }, 400)\r\n );\r\n };\r\n\r\n const handleClear = () => {\r\n setSearchString(\"\");\r\n setSearching(false);\r\n };\r\n\r\n const handleSearch = () => {\r\n setSearching(true);\r\n };\r\n\r\n const handleViewRequest = async (data) => {\r\n setDataLotView(data);\r\n setModalLot(true);\r\n };\r\n\r\n const handleRenderizeTransfer = (status) => {\r\n if (status) {\r\n history.push(\"/admin/allotment?mode=all\");\r\n } else {\r\n history.push(\"/admin/allotment\");\r\n }\r\n };\r\n\r\n const handleFindItem = (e) => {\r\n const vl = e.target.value;\r\n\r\n if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n setSearchStringLot(vl);\r\n }, 400)\r\n );\r\n };\r\n\r\n const handleContabilizeLot = async (accountId) => {\r\n if (dataLotEntity.length == 0) {\r\n toast.info(\r\n \"Você precisa ter pelo menos um item para contabilizar o lote\"\r\n );\r\n return;\r\n }\r\n\r\n confirmAlert({\r\n title: \"Confirme\",\r\n message: `Deseja mesmo contabilizar este lote?`,\r\n buttons: [\r\n {\r\n label: \"Sim\",\r\n onClick: async () => {\r\n try {\r\n const response = await api.put(\r\n `adminarea/SetAccountingLotAccounted/${tenantProfile}/${accountId}`\r\n );\r\n\r\n const { status, message } = response.data;\r\n if (status) {\r\n toast.success(message);\r\n setModalLot(false);\r\n loadData();\r\n } else {\r\n toast.error(message);\r\n }\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao obter dados\");\r\n }\r\n }\r\n },\r\n },\r\n {\r\n label: \"Não\",\r\n onClick: () => { },\r\n },\r\n ],\r\n });\r\n };\r\n\r\n const searchFunction = (data) => { };\r\n\r\n const generatePDF = () => {\r\n const doc = new jsPDF();\r\n // It can parse html:\r\n //
\r\n //doc.autoTable({ html: '#my-table' });\r\n\r\n // Or use javascript directly:\r\n doc.text('Transações por Lote Contábil', 65, 16);\r\n doc.autoTable({\r\n head: [printPDFHead],\r\n body: printPDFBody,\r\n theme: 'grid',\r\n startY: 25\r\n });\r\n const data = new Date();\r\n doc.save(data.getDate() + \"-\" + (data.getMonth() + 1) + \"-\" + data.getFullYear() + \".pdf\");\r\n };\r\n\r\n const generateCSV = () => {\r\n\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n

Lotes

\r\n
\r\n\r\n {/* Search */}\r\n \r\n \r\n \r\n\r\n {!!searching ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n\r\n {/* List */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : pages.length === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n pages.map((item, index) => (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n \r\n
Cód. do LoteDataContabilizadoAções
\r\n
\r\n Carregando\r\n
\r\n
\r\n Nenhum registro\r\n
{item}{item.accountingLotCode}{item.creationDateFormatted}{item.accounted ? \"Sim\" : \"Não\"}\r\n \r\n \r\n \r\n \r\n \r\n handleViewRequest(item)}\r\n >\r\n Visualizar\r\n \r\n \r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n {/* Modal Moderar Transferencia */}\r\n\r\n setModalLot(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Transações por lote contábil\r\n \r\n \r\n \r\n {/* className=\"justify-content-center\"> */}\r\n \r\n \r\n <>\r\n \r\n
\r\n Cód. do Lote: \r\n {dataLotView.accountingLotCode || \"\"}\r\n
\r\n

\r\n \r\n \r\n Contabilizado: \r\n {dataLotView.accounted ? \"Sim\" : \"Não\"}\r\n \r\n \r\n {dataLotView.accounted ?\r\n : \"\"\r\n }\r\n \r\n \r\n {dataLotView.accounted ?\r\n //Gerando CSV para download\r\n (\r\n `2139090;${it.originStudentRa};10;1010201;0E;${it.transactionValue * 100};N;RA. ${it.originStudentRa} ${it.originStudentName}\\n`\r\n )).join(\"\") +\r\n `1136001;${entidade};10;1010201;0E;-${\r\n dataLotEntity.reduce(function (acumulador, valorAtual) { return acumulador + valorAtual.transactionValue; }, valorInicial) * 100\r\n };N;Liq. Conbrança ${dataLote}`\r\n }\r\n separator={\";\"}\r\n enclosingCharacter={` `}\r\n filename={data.getDate() + \"-\" + (data.getMonth() + 1) + \"-\" + data.getFullYear() + \".csv\"}\r\n >Gerar CSV\r\n // \r\n : \"\"\r\n }\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {!dataLotView.accounted && (\r\n <>\r\n {/* \r\n toast.info(\"funcionalidade não implementada\")\r\n }\r\n title=\"Clique para adicionar novo item\"\r\n className=\"ml-2\"\r\n >\r\n \r\n */}\r\n \r\n handleContabilizeLot(dataLotView.accountingLotId)\r\n }\r\n title=\"Clique para contabilizar o lote\"\r\n className=\"ml-2\"\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n {dataLotLoading ? (\r\n \r\n \r\n \r\n ) : dataLotEntity.length > 0 ? (\r\n dataLotEntity.map((it, i) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n ))\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
RAAlunoDataValorCampanha-
\r\n
\r\n Carregando\r\n
\r\n
{it.originStudentRa}{it.originStudentName}{it.transactionDateFormatted}{it.transactionValueFormatted}{it.originPageCampaignName}\r\n \r\n \r\n \r\n \r\n \r\n {!dataLotView.accounted && (\r\n \r\n removeAccountInLot(it.transactionId)\r\n }\r\n >\r\n {\" \"}\r\n Remover item\r\n \r\n )}\r\n \r\n \r\n
Nenhum item
\r\n {\r\n };\r\n {/* Paginação */}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { useEffect, useState, PropTypes } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nimport api from \"~/services/api\";\r\nimport axios from \"axios\";\r\nimport { Form } from \"@rocketseat/unform\";\r\n\r\nimport RichTextEditor from \"react-rte\"; //https://github.com/sstur/react-rte\r\n\r\nimport { MdSave } from \"react-icons/md\";\r\n\r\nimport { Tabs, Tab, Row, Nav, Col, Card, Button } from \"react-bootstrap\";\r\nimport { toast } from \"react-toastify\";\r\n// import { Container } from './styles';\r\n\r\nexport default function Configuracoes() {\r\n const tenantProfile = useSelector((state) => state.header.tenantProfile);\r\n\r\n /* useEffect(async () => {\r\n await axios\r\n .all([\r\n api.get(`/studentarea/getstudentregulation`),\r\n api.get(`/giverarea/getgiverregulation`),\r\n ])\r\n .then(\r\n axios.spread((...responses) => {\r\n console.log(responses);\r\n })\r\n )\r\n .catch((errors) => {\r\n toast.error(\"Erro ao carregar os dados\");\r\n });\r\n }); */\r\n\r\n const stringInitialValuesStudent = `

REGULAMENTO PROJETO #EUAPOIO

  

I - DEFINIÇÕES

Para fins do projeto denominado “#EUAPOIO” abaixo seguem definições, sempre observando os termos e limites deste regulamento:

CAPTADOR DE RECURSOS: todo aluno do UNASP com Registro Acadêmico (RA) ativo, independentemente do curso, regular ou livre, e nível de ensino, sendo certo que quando se tratar de alunos menores de 18 anos serão representados ou assistidos pelo responsável legal.
DOADOR: qualquer pessoa física ou jurídica que destine uma doação em pecúnia para um aluno captador de recursos.
DOAÇÃO: transferência de recursos, em pecúnia, de forma direcionada a um aluno captador de recursos.
DOAÇÃO ANÔNIMA: modalidade de doação, nos termos deste regulamento, em que o doador faz a opção de não ser identificado para o aluno captador de recursos.
TERMO DE CONSENTIMENTO: assentimento, ciência e concordância quanto ao regulamento do projeto #euapoio que vincula todos os participantes e deve ser aderido quando de sua iniciação.
OPERADOR: o UNASP, como agente facilitador, funcionará como operador e desenvolverá uma ferramenta eletrônica para assegurar a transparência, nos limites da lei, no recebimento e destinação da doação deste projeto, não sendo o captador de recursos ou o destinatário final da doação, admitindo, para os devidos fins, que eventual entrada de recursos se dá na modalidade de pagamento de mensalidade em nome do captador de recursos.
SISTEMA OU APLICATIVO: plataforma desenvolvida pelo operador para auxiliar o captador de recursos e o doador a efetivar a doação, mantendo os registros e disponibilizando informações para garantir a transparência dessa operação de doação com finalidade de pagamento de mensalidade junto ao operador.


II – TERMOS GERAIS

 O captador de recursos e o doador deverão se cadastrar no sistema criado, ainda que o doador escolha a opção de doação anônima.
Os limites impostos por esse regulamento serão respeitados pelo captador de recursos, pelo doador e pelo operador, não podendo alegar, posteriormente, desconhecimento ou discordância de seus termos, para todos os fins.
Todo o aluno do UNASP com um RA ativo é um potencial captador de recursos e pode, em nome próprio, prospectar um doador para direcionar recursos através do sistema ou aplicativo desenvolvido para essa finalidade pelo operador.
Nem o captador de recursos, nem o operador são responsáveis pela legalidade da origem dos recursos da doação feita pelo doador, sendo certo que se presume sua legitimidade e legalidade, até que se prove o contrário.
É condição essencial para a regularidade da doação que ela ocorra dentro do ambiente criado para isso, sistema ou aplicativo, sendo certo que eventual repasse de recursos fora desse ambiente exclui a responsabilidade do operador quanto ao recebimento e destinação da doação.
Se excepcionalmente for comprovado o envio da doação para o projeto #euapoio fora do sistema ou aplicativo o operador exigirá do doador uma confirmação de destinação por escrito sem a qual não será possível identificar o captador de recursos e, após 30 (trinta) dias, o valor será destinado ao setor de filantropia do UNASP para o atendimento aos alunos carentes identificados pelo perfil de vulnerabilidade social em documentação própria.
O operador se compromete a informar ao captador de recursos todas as entradas de doações bem como a identificação do doador (se não houver restrição de anonimato), bem como informar ao doador a confirmação de entrada do recurso para pagamento da mensalidade do aluno.
Não compete ao operador emitir recibo ao doador dos valores recebidos uma vez que se configuram pagamento de mensalidade por terceiros para os fins deste projeto, cujo comprovante será oportunamente entregue ao aluno captador de recursos. Entretanto, o operador poderá emitir um extrato sem valor fiscal para garantir ao doador o direito de informação.
A doação prevista neste projeto não é objeto de “abatimento para o imposto de renda”, salvo se houver entre o doador e o aluno captador de recursos vínculo legal de dependência, conforme as regras da Receita Federal do Brasil.
Situações não previstas neste regulamento serão avaliadas e decididas pela Reitoria do Unasp, e comunicadas aos interessados com a devida justificativa.
Será permitida a transferência de saldo positivo de um aluno captador para outro aluno, desde que o outro aluno beneficiado seja pai, mãe, filho (ou dependente legal nos termos das regras da Receita Federal do Brasil para o imposto de renda) ou irmão do aluno captador do recurso, sempre mediante comprovação documental do vínculo familiar.
 

III – DOS DEVERES

 É dever de todos os participantes deste projeto a boa-fé, a transparência e o direito à informação (nos limites da lei e deste regulamento). Também é dever de todos preservar a imagem e a moral de todos os participantes, tanto no âmbito interno quanto externo.
É dever do aluno captador de recursos toda a interlocução com o doador, não cabendo ao operador qualquer obrigação de intermediação e comunicação, à exceção do sistema e aplicativo para organizar e proteger essa operação.
É dever do operador oferecer a ferramenta de sistema e aplicativo, bem como promover sua sustentabilidade, manutenção e segurança. Quanto a segurança do sistema o operador se reserva ao direito de realizar intervenções sem prévio aviso, suspensão da disponibilidade do sistema ou aplicativo e solicitação de informações aos participantes deste projeto. Eventual período de indisponibilidade do sistema ou aplicativo não gerará, em desfavor do operador, o dever de restituição ou reparação de qualquer natureza.
No limite de sua atuação, é dever de todos a colaboração para manutenção e segurança do sistema.
 

IV - DAS VEDAÇÕES

 É vedado ao captador de recursos:
Sacar o valor da doação, parcial ou total, em espécie.
Transferir eventual saldo positivo remanescente para outro aluno, salvo se o aluno captador não tiver débitos com o Unasp (de qualquer natureza), houver quitado o período letivo em curso e destinar o saldo positivo remanescente para a quitação de dívida vencida do aluno beneficiado por essa transferência, critérios cumulativos para autorizar essa operação.
É vedado ao doador:
Pedir restituição da doação, sob qualquer hipótese.
É vedado ao operador:
Direcionar os recursos recebidos em doação para outras finalidades que não aquelas previstas neste regulamento.
 

V - PRAZO

 O projeto #euapoio durará 12 meses à partir de abril de 2020, podendo ser prorrogado por deliberação do operador. Em caso de força maior, fato imprevisível, situações graves que justifiquem como prática de crime cibernético ou assemelhados, ou falta de condições técnicas que dependam de terceiros, o projeto poderá ser interrompido, suspenso ou cancelado a qualquer tempo, mantendo-se válidas as operações realizadas até o momento desta decisão.

`;\r\n const stringInitialValuesGiver = `

REGULAMENTO PROJETO #EUAPOIO

  

I - DEFINIÇÕES

Para fins do projeto denominado “#EUAPOIO” abaixo seguem definições, sempre observando os termos e limites deste regulamento:

CAPTADOR DE RECURSOS: todo aluno do UNASP com Registro Acadêmico (RA) ativo, independentemente do curso, regular ou livre, e nível de ensino, sendo certo que quando se tratar de alunos menores de 18 anos serão representados ou assistidos pelo responsável legal.
DOADOR: qualquer pessoa física ou jurídica que destine uma doação em pecúnia para um aluno captador de recursos.
DOAÇÃO: transferência de recursos, em pecúnia, de forma direcionada a um aluno captador de recursos.
DOAÇÃO ANÔNIMA: modalidade de doação, nos termos deste regulamento, em que o doador faz a opção de não ser identificado para o aluno captador de recursos.
TERMO DE CONSENTIMENTO: assentimento, ciência e concordância quanto ao regulamento do projeto #euapoio que vincula todos os participantes e deve ser aderido quando de sua iniciação.
OPERADOR: o UNASP, como agente facilitador, funcionará como operador e desenvolverá uma ferramenta eletrônica para assegurar a transparência, nos limites da lei, no recebimento e destinação da doação deste projeto, não sendo o captador de recursos ou o destinatário final da doação, admitindo, para os devidos fins, que eventual entrada de recursos se dá na modalidade de pagamento de mensalidade em nome do captador de recursos.
SISTEMA OU APLICATIVO: plataforma desenvolvida pelo operador para auxiliar o captador de recursos e o doador a efetivar a doação, mantendo os registros e disponibilizando informações para garantir a transparência dessa operação de doação com finalidade de pagamento de mensalidade junto ao operador.


II – TERMOS GERAIS

 O captador de recursos e o doador deverão se cadastrar no sistema criado, ainda que o doador escolha a opção de doação anônima.
Os limites impostos por esse regulamento serão respeitados pelo captador de recursos, pelo doador e pelo operador, não podendo alegar, posteriormente, desconhecimento ou discordância de seus termos, para todos os fins.
Todo o aluno do UNASP com um RA ativo é um potencial captador de recursos e pode, em nome próprio, prospectar um doador para direcionar recursos através do sistema ou aplicativo desenvolvido para essa finalidade pelo operador.
Nem o captador de recursos, nem o operador são responsáveis pela legalidade da origem dos recursos da doação feita pelo doador, sendo certo que se presume sua legitimidade e legalidade, até que se prove o contrário.
É condição essencial para a regularidade da doação que ela ocorra dentro do ambiente criado para isso, sistema ou aplicativo, sendo certo que eventual repasse de recursos fora desse ambiente exclui a responsabilidade do operador quanto ao recebimento e destinação da doação.
Se excepcionalmente for comprovado o envio da doação para o projeto #euapoio fora do sistema ou aplicativo o operador exigirá do doador uma confirmação de destinação por escrito sem a qual não será possível identificar o captador de recursos e, após 30 (trinta) dias, o valor será destinado ao setor de filantropia do UNASP para o atendimento aos alunos carentes identificados pelo perfil de vulnerabilidade social em documentação própria.
O operador se compromete a informar ao captador de recursos todas as entradas de doações bem como a identificação do doador (se não houver restrição de anonimato), bem como informar ao doador a confirmação de entrada do recurso para pagamento da mensalidade do aluno.
Não compete ao operador emitir recibo ao doador dos valores recebidos uma vez que se configuram pagamento de mensalidade por terceiros para os fins deste projeto, cujo comprovante será oportunamente entregue ao aluno captador de recursos. Entretanto, o operador poderá emitir um extrato sem valor fiscal para garantir ao doador o direito de informação.
A doação prevista neste projeto não é objeto de “abatimento para o imposto de renda”, salvo se houver entre o doador e o aluno captador de recursos vínculo legal de dependência, conforme as regras da Receita Federal do Brasil.
Situações não previstas neste regulamento serão avaliadas e decididas pela Reitoria do Unasp, e comunicadas aos interessados com a devida justificativa.
Será permitida a transferência de saldo positivo de um aluno captador para outro aluno, desde que o outro aluno beneficiado seja pai, mãe, filho (ou dependente legal nos termos das regras da Receita Federal do Brasil para o imposto de renda) ou irmão do aluno captador do recurso, sempre mediante comprovação documental do vínculo familiar.
 

III – DOS DEVERES

 É dever de todos os participantes deste projeto a boa-fé, a transparência e o direito à informação (nos limites da lei e deste regulamento). Também é dever de todos preservar a imagem e a moral de todos os participantes, tanto no âmbito interno quanto externo.
É dever do aluno captador de recursos toda a interlocução com o doador, não cabendo ao operador qualquer obrigação de intermediação e comunicação, à exceção do sistema e aplicativo para organizar e proteger essa operação.
É dever do operador oferecer a ferramenta de sistema e aplicativo, bem como promover sua sustentabilidade, manutenção e segurança. Quanto a segurança do sistema o operador se reserva ao direito de realizar intervenções sem prévio aviso, suspensão da disponibilidade do sistema ou aplicativo e solicitação de informações aos participantes deste projeto. Eventual período de indisponibilidade do sistema ou aplicativo não gerará, em desfavor do operador, o dever de restituição ou reparação de qualquer natureza.
No limite de sua atuação, é dever de todos a colaboração para manutenção e segurança do sistema.
 

IV - DAS VEDAÇÕES

 É vedado ao captador de recursos:
Sacar o valor da doação, parcial ou total, em espécie.
Transferir eventual saldo positivo remanescente para outro aluno, salvo se o aluno captador não tiver débitos com o Unasp (de qualquer natureza), houver quitado o período letivo em curso e destinar o saldo positivo remanescente para a quitação de dívida vencida do aluno beneficiado por essa transferência, critérios cumulativos para autorizar essa operação.
É vedado ao doador:
Pedir restituição da doação, sob qualquer hipótese.
É vedado ao operador:
Direcionar os recursos recebidos em doação para outras finalidades que não aquelas previstas neste regulamento.
 

V - PRAZO

 O projeto #euapoio durará 12 meses à partir de abril de 2020, podendo ser prorrogado por deliberação do operador. Em caso de força maior, fato imprevisível, situações graves que justifiquem como prática de crime cibernético ou assemelhados, ou falta de condições técnicas que dependam de terceiros, o projeto poderá ser interrompido, suspenso ou cancelado a qualquer tempo, mantendo-se válidas as operações realizadas até o momento desta decisão.

`;\r\n\r\n const [txtStudentValue, setTxtStudentValue] = useState(\r\n RichTextEditor.createValueFromString(stringInitialValuesStudent, \"html\")\r\n );\r\n\r\n const [txtGiverValue, setTxtGiverValue] = useState(\r\n RichTextEditor.createValueFromString(stringInitialValuesGiver, \"html\")\r\n );\r\n\r\n useEffect(() => {\r\n console.log(\"ChangeTenant\", tenantProfile);\r\n }, [tenantProfile]);\r\n\r\n const handleSave = (type) => {\r\n console.log(txtStudentValue.toString(\"html\"));\r\n toast.info(`implementar metodo salvar.. metodo: '${type}'`);\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n

Configurações

\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n Instruções\r\n \r\n Configurações do sistema\r\n \r\n

\r\n Tenha sempre muita atenção ao alterar qualquer item desta\r\n área.\r\n

\r\n

Pode acarretar em danos no funcionamento do sistema.

\r\n

\r\n Somente altere aquilo que realmente você conheça!\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Aluno\r\n \r\n
handleSave(\"student\")}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Doador\r\n \r\n
handleSave(\"giver\")}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Featured\r\n \r\n Special title treatment\r\n \r\n With supporting text below as a natural lead-in to additional\r\n content.\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React, { useRef, useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport api from \"~/services/api\";\r\nimport urlsystem from \"~/config/URLSystem\";\r\nimport buildURLQuery from \"~/util/buildURLQuery\";\r\n\r\nimport { CSVLink, CSVDownload, } from \"react-csv\";\r\n\r\nimport { formatPrice } from \"~/util/format\";\r\n\r\nimport enumState from \"~/util/enumState\";\r\nimport Switch from \"react-switch\";\r\nimport youtube_parser from \"~/util/youtube\";\r\nimport enumMetodPayment from \"~/util/enumMetodPayment\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport pt from \"date-fns/locale/pt\";\r\n\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\";\r\n\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\nimport {\r\n Table,\r\n Container,\r\n Row,\r\n Col,\r\n Dropdown,\r\n Spinner,\r\n Button,\r\n Modal,\r\n Card,\r\n InputGroup,\r\n FormControl,\r\n Jumbotron,\r\n} from \"react-bootstrap\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport PaginationComponent from \"react-js-pagination\";\r\nimport BoletoComponent from \"~/components/BankSlip/BoletoComponent\";\r\nimport parseDataBradesco from \"~/util/parseDataBradesco\";\r\n\r\n// import { Container } from './styles';\r\nimport { IoMdMenu, IoMdSearch } from \"react-icons/io\";\r\nimport { MdUpdate, MdClear } from \"react-icons/md\";\r\nimport { FaReceipt, FaFileInvoice } from \"react-icons/fa\";\r\nimport enumTransactionStatus from \"~/util/enumTransactionStatus\";\r\n\r\nexport default function Doacoes() {\r\n const tenantProfile = useSelector((state) => state.header.tenantProfile);\r\n\r\n const searchRef = useRef(null);\r\n const [searching, setSearching] = useState(false);\r\n const [searchString, setSearchString] = useState(\"\");\r\n const [timeout, setTimeOut] = useState(0);\r\n\r\n const [pages, setPages] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [activePage, setActivePage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(10);\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [donations, setDonations] = useState([]);\r\n const [infoDonations, setInfoDonations] = useState({});\r\n const [modal, setModal] = useState(false);\r\n\r\n const [slipData, setSlipData] = useState(null);\r\n const [modalSlip, setModalSlip] = useState(false);\r\n\r\n const [modalCSV, setModalCSV] = useState(false);\r\n\r\n const data = new Date();\r\n\r\n const csvData = [\r\n [\"firstname\", \"lastname\", \"email\"],\r\n [\"Ahmed\", \"Tomi\", \"ah@smthing.co.com\"],\r\n [\"Raed\", \"Labes\", \"rl@smthing.co.com\"],\r\n [\"Yezzi\", \"Min l3b\", \"ymin@cocococo.com\"]\r\n ];\r\n\r\n // change new tenant\r\n useEffect(() => {\r\n setActivePage(1);\r\n }, [tenantProfile, searchString]);\r\n\r\n /* Load data pages */\r\n useEffect(() => {\r\n const loadData = async () => {\r\n try {\r\n setLoading(true);\r\n\r\n const response = await api.get(\r\n `/AdminArea/GetDonations/${tenantProfile}/${activePage}/${itemPerPage}?${buildURLQuery(\r\n { search: searchString }\r\n )}`\r\n );\r\n\r\n const dataDonations = response.data;\r\n setTotalItens(dataDonations.indexSize);\r\n\r\n setPages(\r\n dataDonations.entities.map((x) => ({\r\n ...x,\r\n urlFormatted: `${urlsystem}/student/${x.url}`,\r\n dateFormatted: x.date\r\n ? format(new Date(x.date), \"dd/MM/yyyy HH:mm\", {\r\n locale: pt,\r\n })\r\n : null,\r\n valueFormatted: formatPrice(x.value || 0),\r\n paymentMethodCodeFormatted: enumMetodPayment.find(\r\n (y) => y.id === x.paymentMethodCode\r\n )\r\n ? enumMetodPayment.find((y) => y.id === x.paymentMethodCode).title\r\n : \"Método inválido\",\r\n }))\r\n );\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n loadData();\r\n }, [activePage, setItemPerPage, tenantProfile, searchString]);\r\n\r\n useEffect(() => {\r\n if (searching) {\r\n searchRef.current.focus();\r\n }\r\n }, [searching]);\r\n\r\n const handleFind = (e) => {\r\n const vl = e.target.value;\r\n\r\n if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n setSearchString(vl);\r\n }, 400)\r\n );\r\n };\r\n\r\n const handleClear = () => {\r\n setSearchString(\"\");\r\n setSearching(false);\r\n };\r\n\r\n const handleSearch = () => {\r\n setSearching(true);\r\n };\r\n\r\n const handleModalReceipt = async (data) => {\r\n setInfoDonations(data);\r\n setModal(true);\r\n };\r\n\r\n const handleModalBankSlip = async (data) => {\r\n setModalSlip(true);\r\n setSlipData(parseDataBradesco(data));\r\n };\r\n\r\n const handleModalCSV = async () => {\r\n setModalCSV(true);\r\n };\r\n\r\n const renderMenu = (item) => {\r\n if (item.processed) {\r\n return (\r\n {\r\n handleModalReceipt(item);\r\n }}\r\n >\r\n Comprovante\r\n \r\n );\r\n }\r\n\r\n if (\r\n item.paymentMethodCode === 20 &&\r\n item.paymentStatus === 10 &&\r\n item.processed === false\r\n ) {\r\n return (\r\n {\r\n handleModalBankSlip(item.paymentData);\r\n }}\r\n >\r\n 2ª via do boleto\r\n \r\n );\r\n }\r\n };\r\n\r\n const searchFunction = (data) => { };\r\n const componentRef = useRef();\r\n return (\r\n <>\r\n
\r\n

Todas doações

\r\n
\r\n {/* Search */}\r\n \r\n \r\n \r\n {!!searching ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n\r\n {/* List */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : pages.length === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n pages.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n )}\r\n \r\n
Id DoaçãoAlunoDoadorDataMétodoStatusValorAções
\r\n
\r\n Carregando\r\n
\r\n
\r\n Nenhum registro\r\n
{item.donationId}{item.studentName}{item.giverName}{item.dateFormatted}{item.paymentMethodCodeFormatted}{!!item.processed ? \"Processado\" : \"Aguardando\"}{item.valueFormatted}\r\n \r\n \r\n \r\n \r\n\r\n {renderMenu(item)}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n {/* Modal Consulta */}\r\n setModal(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Detalhes da doação\r\n \r\n \r\n \r\n \r\n {/* Listagem das doações */}\r\n\r\n \r\n {!!infoDonations.studentName && (\r\n <>\r\n \r\n

\r\n {!!infoDonations.studentName &&\r\n `Doação feita para ${infoDonations.studentName}`}\r\n

\r\n

\r\n Curso: {infoDonations.studentCourse || \"\"}\r\n

\r\n

\r\n Link da doação: {infoDonations.urlFormatted}\r\n

\r\n

\r\n Código da doação: {infoDonations.donationId}\r\n

\r\n

\r\n Valor: {infoDonations.valueFormatted}\r\n

\r\n

\r\n Data da doação: {infoDonations.dateFormatted}\r\n

\r\n

\r\n Nome da campanha: {infoDonations.campaignName}\r\n

\r\n

\r\n Método de pagamento: \r\n {infoDonations.paymentMethodCodeFormatted}\r\n

\r\n {!!infoDonations.isRecurrence ? (\r\n

\r\n Doação recorrente\r\n

\r\n ) : (\r\n

\r\n Doação única\r\n

\r\n )}\r\n

\r\n Status do pagamento: \r\n {!!infoDonations.processed ? \"Processado\" : \"Em análise\"}\r\n

\r\n
\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n\r\n {/* Modal Boleto */}\r\n setModalSlip(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Segunda via do boleto\r\n \r\n \r\n \r\n \r\n \r\n {slipData != null ? (\r\n \r\n ) : (\r\n
\r\n Carregando\r\n
\r\n )}\r\n \r\n
\r\n
\r\n \r\n\r\n {/* Modal CSV */}\r\n setModalCSV(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Arquivo CSV\r\n \r\n \r\n \r\n \r\n \r\n {/* (\r\n `2139090;${it.originStudentRa};10;1010201;0E;${it.transactionValue * 100};N;RA. ${it.originStudentRa} ${it.originStudentName}\\n`\r\n )).join(\"\") +\r\n `1136001;${entidade};10;1010201;0E;-${\r\n dataLotEntity.reduce(function (acumulador, valorAtual) { return acumulador + valorAtual.transactionValue; }, valorInicial) * 100\r\n };N;Liq. Conbrança ${dataLote}`\r\n }\r\n separator={\";\"}\r\n enclosingCharacter={` `}\r\n filename={data.getDate() + \"-\" + (data.getMonth() + 1) + \"-\" + data.getFullYear() + \".csv\"}\r\n >Gerar CSV {console.log(pages)} */}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div`\r\n .logo {\r\n height: 50px;\r\n padding: 4px;\r\n margin-right: 30px;\r\n }\r\n\r\n .imgProfile {\r\n width: 40px;\r\n height: 40px;\r\n }\r\n\r\n a {\r\n font-weight: bold;\r\n color: #7159c1;\r\n margin-right: 25px;\r\n /* text-decoration: none;\r\n &:hover {\r\n transition: transform 0.35s cubic-bezier(0.52, 0.01, 0.16, 1);\r\n transition: color 0.2s ease;\r\n border-bottom: 2px solid #233b62;\r\n } */\r\n }\r\n #menuTop {\r\n position: fixed;\r\n width: 100%;\r\n z-index: 9998;\r\n top: 0px;\r\n }\r\n #dropDownMenu {\r\n a {\r\n color: #000;\r\n font: 14px \"Roboto\", sans-serif;\r\n font-weight: 300;\r\n padding: 8px 15px;\r\n transition: 0.7s;\r\n\r\n &:hover {\r\n background: #233b62;\r\n color: #fff;\r\n }\r\n }\r\n button {\r\n background: transparent;\r\n border: transparent;\r\n box-shadow: none;\r\n &:hover {\r\n background: transparent;\r\n border: transparent;\r\n }\r\n &:active {\r\n background: transparent;\r\n border: transparent;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const MenuMobile = styled.div`\r\n z-index: 9999;\r\n position: fixed;\r\n width: 100%;\r\n top: 65px;\r\n display: ${(props) => (props.visible ? \"block\" : \"none\")};\r\n\r\n #listItems {\r\n z-index: 9999;\r\n position: fixed;\r\n width: 100%;\r\n top: 65px;\r\n a {\r\n padding: 6px;\r\n }\r\n }\r\n`;\r\n\r\nexport const Container = styled.div`\r\n background: #fff;\r\n padding: 0 30px;\r\n`;\r\nexport const Content = styled.div`\r\n height: 64px;\r\n max-width: 900px;\r\n margin: 0 auto;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n\r\n .dropbtn {\r\n background-color: #ffffff;\r\n color: #1d1d1b;\r\n padding: 16px;\r\n font-size: 16px;\r\n border: 1px solid #e6e6e6;\r\n cursor: pointer;\r\n }\r\n\r\n .dropdown {\r\n position: relative;\r\n display: inline-block;\r\n }\r\n\r\n .dropdown-content {\r\n display: none;\r\n position: absolute;\r\n background-color: #f9f9f9;\r\n min-width: 160px;\r\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\r\n z-index: 1;\r\n }\r\n\r\n .dropdown-content a {\r\n padding: 12px 16px;\r\n text-decoration: none;\r\n display: block;\r\n\r\n font-weight: bold;\r\n color: #7159c1;\r\n margin-right: 0;\r\n }\r\n\r\n .dropdown-content a:hover {\r\n background-color: #f1f1f1;\r\n }\r\n\r\n .dropdown:hover .dropdown-content {\r\n display: block;\r\n }\r\n\r\n .dropdown:hover .dropbtn {\r\n background-color: #e8e5e5;\r\n }\r\n\r\n .logo {\r\n height: 44px;\r\n }\r\n\r\n nav {\r\n display: flex;\r\n align-items: center;\r\n img {\r\n margin-right: 20px;\r\n padding-right: 20px;\r\n border-right: 1px solid #eee;\r\n }\r\n a {\r\n font-weight: bold;\r\n color: #7159c1;\r\n margin-right: 25px;\r\n }\r\n }\r\n\r\n aside {\r\n display: flex;\r\n align-items: center;\r\n }\r\n`;\r\nexport const Profile = styled.div`\r\n display: flex;\r\n margin-left: 20px;\r\n padding-left: 20px;\r\n border-left: 1px solid #eee;\r\n\r\n div {\r\n text-align: right;\r\n margin-right: 10px;\r\n strong {\r\n display: block;\r\n color: #333;\r\n }\r\n a {\r\n display: block;\r\n margin-top: 2px;\r\n font-size: 12px;\r\n color: #999;\r\n }\r\n }\r\n img {\r\n width: 32px;\r\n height: 32px;\r\n border-radius: 50%;\r\n }\r\n`;\r\n","const JsonMenu = [\r\n { url: \"/\", \r\n person: \"all\", \r\n label: \"Home\" \r\n },\r\n\r\n { url: \"/sobre/oprograma\", \r\n person: \"all\", \r\n label: \"Sobre o programa\" \r\n },\r\n\r\n {\r\n url: \"/sobre/ounasp\",\r\n person: \"all\",\r\n label: \"O Unasp\",\r\n },\r\n\r\n {\r\n url: \"/dashboard\",\r\n person: \"donor\",\r\n label: \"Minhas doações\",\r\n },\r\n\r\n {\r\n url: \"/dashboard\",\r\n person: \"student\",\r\n label: \"Minha área\",\r\n },\r\n \r\n {\r\n url: \"/admin/home\",\r\n person: \"admin\",\r\n label: \"Painel de controle\",\r\n },\r\n];\r\n\r\nexport default JsonMenu;\r\n","\r\nexport default function validadePass (newPassword) {\r\n //const newPassword = \"{...props}\";\r\n let validate = true; \r\n\r\n const letrasMaiusculas = /[A-Z]/;\r\n const letrasMinusculas = /[a-z]/;\r\n const numeros = /[0-9]/;\r\n const caracteresEspeciais = /[!|@|#|$|%|^|&|*|(|)|-|_]/;\r\n\r\n if(!letrasMaiusculas.test(newPassword)) {\r\n validate = false;\r\n }\r\n if(!letrasMinusculas.test(newPassword)){\r\n validate = false;\r\n }\r\n if(!numeros.test(newPassword)){\r\n validate = false;\r\n }\r\n if(!caracteresEspeciais.test(newPassword)){\r\n validate = false;\r\n }\r\n if(newPassword.length < 6){\r\n validate = false;\r\n }\r\n\r\n return validate;\r\n}","import React, { useState, useEffect } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport { signOut } from \"~/store/modules/auth/actions\";\r\n//import { updateModalProfile } from \"~/store/modules/header/actions\";\r\nimport {\r\n updateProfileSuccess,\r\n updateEmailConfirmation,\r\n} from \"~/store/modules/user/actions\";\r\nimport {\r\n setItemMenuProfile,\r\n changeEmail,\r\n} from \"~/store/modules/header/actions\";\r\n\r\nimport { FaUserEdit } from \"react-icons/fa\";\r\nimport { RiLockPasswordLine } from \"react-icons/ri\";\r\nimport { FiLogOut } from \"react-icons/fi\";\r\nimport { MdEmail } from \"react-icons/md\";\r\nimport { IoMdMenu } from \"react-icons/io\";\r\n\r\nimport { Wrapper } from \"./styles\";\r\n\r\nimport logo from \"~/assets/LogoP.png\";\r\n\r\nimport imagePreLoading from \"~/assets/imagePreLoading.png\";\r\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\r\nimport \"react-lazy-load-image-component/src/effects/blur.css\";\r\n\r\nimport JsonMenu from \"~/components/Header/menu\";\r\n\r\nimport validadePass from \"~/util/validatePass\";\r\n\r\nimport {\r\n Navbar,\r\n Nav,\r\n Container,\r\n Dropdown,\r\n Modal,\r\n Row,\r\n Col,\r\n Button,\r\n Card,\r\n} from \"react-bootstrap\";\r\n\r\nimport api from \"~/services/api\";\r\nimport { toast } from \"react-toastify\";\r\nimport { Form, Input } from \"@rocketseat/unform\";\r\nimport CropImage from \"~/components/CropImage\";\r\n\r\nexport default function Header() {\r\n const dispatch = useDispatch();\r\n const profile = useSelector((state) => state.user.profile);\r\n const template = useSelector((state) => state.user.template);\r\n\r\n const itemsMenu = useSelector((state) => state.header.itemsMenu) || [\"all\"];\r\n const modalEmail = useSelector((state) => state.header.modalEmail) || false;\r\n\r\n const [loaded, setloaded] = useState(true);\r\n\r\n const [modalLoading, setModalLoading] = useState(false);\r\n const [modalUser, setModalUser] = useState(false);\r\n const [modalUserPWD, setModalUserPWD] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!!template) {\r\n dispatch(setItemMenuProfile(template));\r\n }\r\n if (modalEmail == true) {\r\n sendNewEmail(profile.email, profile.email);\r\n }\r\n }, []);\r\n\r\n const renderMenu = () => {\r\n switch (template) {\r\n case \"donor\":\r\n return (\r\n <>\r\n setModalUser(true)}>\r\n Atualizar dados de cadastro\r\n \r\n setModalUserPWD(true)}>\r\n Alterar minha senha\r\n \r\n dispatch(signOut())}>\r\n Logout\r\n \r\n \r\n );\r\n break;\r\n default:\r\n return (\r\n <>\r\n dispatch(changeEmail())}>\r\n Alterar meu e-mail\r\n \r\n dispatch(signOut())}>\r\n Logout\r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const handleUpdate = async (data) => {\r\n setModalLoading(true);\r\n const { name } = data;\r\n try {\r\n const response = await api.put(`/giverarea/updategivername/${name}`);\r\n const res = response.data;\r\n\r\n const { message, entity, status } = res;\r\n if (response.status === 200 && status) {\r\n const { giverId, name, imageId } = entity;\r\n const user = { ...profile, giverId, name, imageId };\r\n\r\n dispatch(updateProfileSuccess(user));\r\n toast.success(`Perfil atualizado`);\r\n setModalUser(false);\r\n //dispatch(updateModalProfile());\r\n } else {\r\n toast.error(`Erro na alteração. ${message}`);\r\n }\r\n } catch (error) {\r\n toast.error(`Erro na comunicação com o servidor.`);\r\n } finally {\r\n setModalLoading(false);\r\n }\r\n };\r\n\r\n const sendNewEmail = async ( NewEmail, ConfirmEmail ) => {\r\n const Email = NewEmail.trim();\r\n const ConfirmarEmail = ConfirmEmail.trim();\r\n\r\n if (Email === ConfirmarEmail) {\r\n const response = await api.post(`/authentication/requestemailupdate`, {\r\n NewEmail: Email,\r\n ConfirmEmail: ConfirmarEmail,\r\n });\r\n const { message, status, entity } = response.data;\r\n if (status) {\r\n dispatch(updateEmailConfirmation(entity));\r\n //setModalNewEmail(false);\r\n dispatch(changeEmail());\r\n toast.success(\"Enviado. Entre em seu e-mail e confirme\");\r\n } else {\r\n toast.error(message);\r\n }\r\n } else {\r\n toast.warn(\"Os e-mails tem que ser iguais\");\r\n }\r\n };\r\n\r\n const handleNewPassword = async ({ currentPassword, newPassword, confirmNewPassword }) => {\r\n if (newPassword === confirmNewPassword) { \r\n if (validadePass(newPassword)) {\r\n try {\r\n const passwordChangeForm = {\r\n oldPassword: currentPassword,\r\n newPassword: newPassword,\r\n confirmPassword: confirmNewPassword,\r\n }\r\n \r\n const response = await api.post(`/Authentication/ChangeUserPassword`, passwordChangeForm);\r\n const { status, message } = response.data;\r\n \r\n if (status) {\r\n toast.success(`Senha atualizada com sucesso`);\r\n setModalUserPWD(false);\r\n }\r\n else {\r\n toast.error(`Ocorreu um erro. ${message}`);\r\n } \r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n if (error.response.status == 400) {\r\n const { errors } = error.response.data;\r\n const messageError = Object.entries(errors).map(e => e[1]).join(', ');\r\n toast.error(`Erro de validação: ${messageError}`);\r\n } else {\r\n toast.error(\"Erro na requisição.. tente novamente\");\r\n }\r\n }\r\n }\r\n }\r\n else{\r\n toast.warn(\"A nova senha deve atender os seguintes requisitos: Conter no mínimo 6 \"+\r\n \"caracteres, letra maiúscula, letra minúscula e número\");\r\n }\r\n }\r\n else {\r\n toast.warn(\"As senhas digitadas são divergentes!\");\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {JsonMenu.filter((y) => itemsMenu.includes(y.person)).map(\r\n (x, i) => (\r\n \r\n {x.label}\r\n \r\n )\r\n )}\r\n \r\n\r\n \r\n\r\n \r\n \"Logo\"\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* ModalChangeEMail */}\r\n {/* dispatch(changeEmail())}\r\n className=\"my-5\"\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n \r\n

Confirme seus dados

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n */}\r\n\r\n {/* Modal Atualizar Nome */}\r\n {profile !== null && template === \"donor\" && (\r\n setModalUser(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Atualizar\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {!modalLoading ? \"Atualizar\" : \"Atualizando...\"}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n )}\r\n\r\n {/* Modal Atualizar Senha */}\r\n {template === \"donor\" && (\r\n setModalUserPWD(false)}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Atualizar sua senha\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {!modalLoading ? \"Atualizar\" : \"Atualizando...\"}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n}\r\n","import styled from \"styled-components\";\r\nimport { darken } from \"polished\";\r\n\r\nexport const Wrapper = styled.div`\r\n height: 100%;\r\n /*background: #df8144;*/\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n /* background: #9c9c9c; */\r\n background: #fafafa;\r\n width: 100%;\r\n max-width: 315px;\r\n text-align: center;\r\n /* padding: 28px; */\r\n border-radius: 12px;\r\n box-shadow: 0px 6px 8px 0px #afa7a7;\r\n\r\n .logo {\r\n color: #fff;\r\n font-size: 80px;\r\n }\r\n\r\n form {\r\n display: flex;\r\n flex-direction: column;\r\n margin-top: 30px;\r\n\r\n input,\r\n select {\r\n background: rgba(255, 255, 255, 0.85);\r\n border: 0;\r\n border-radius: 4px;\r\n height: 44px;\r\n padding: 0 15px;\r\n color: #000;\r\n margin: 0 0 10px;\r\n font-size: 1.2em;\r\n\r\n option {\r\n color: #000;\r\n font-size: 16px;\r\n }\r\n\r\n &::placeholder {\r\n color: #929292;\r\n }\r\n }\r\n\r\n span {\r\n color: #fb6f91;\r\n align-self: flex-start;\r\n margin: 0 0 10px;\r\n font-weight: bold;\r\n }\r\n\r\n label {\r\n font-size: 22px;\r\n color: #fff;\r\n }\r\n\r\n button {\r\n margin: 5px 0 0;\r\n height: 44px;\r\n background: #546b82;\r\n font-weight: bold;\r\n color: #fff;\r\n border: 0;\r\n border-radius: 4px;\r\n font-size: 16px;\r\n transition: background 0.2s;\r\n\r\n &:hover {\r\n background: ${darken(0.03, \"#3b9eff\")};\r\n }\r\n }\r\n\r\n a {\r\n /* color: #fff; */\r\n color: #054970;\r\n margin-top: 15px;\r\n font-size: 16px;\r\n opacity: 0.8;\r\n\r\n &:hover {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport Header from \"~/components/Header\";\r\nimport { Wrapper, Content } from \"./styles\";\r\n\r\nexport default function AuthLayout({ children }) {\r\n return (\r\n <>\r\n
\r\n \r\n {children}\r\n \r\n \r\n );\r\n}\r\n\r\nAuthLayout.propTypes = {\r\n children: PropTypes.element.isRequired,\r\n};\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div`\r\n padding-top: 45px;\r\n /*min-height: 100%;\r\n padding-bottom: 3%;\r\n background: linear-gradient(-90deg, #7159c1, #ab59c1);*/\r\n`;\r\n\r\nexport const Footer = styled.footer`\r\n background-color: #f5f5f5;\r\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,\r\n \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\",\r\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\r\n color: #666;\r\n font-weight: 400;\r\n text-align: center;\r\n`;\r\n","import React, { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useSelector } from \"react-redux\";\r\nimport history from \"~/services/history\";\r\n\r\nimport Header from \"~/components/Header\";\r\nimport { Wrapper, Footer } from \"./styles\";\r\n\r\nimport { Container } from \"react-bootstrap\";\r\n\r\nexport default function DefaultLayout({ children }) {\r\n /* middelware */\r\n let location = useLocation();\r\n const template = useSelector((state) => state.user.template);\r\n const tenantsAllowed = [\"donor\", \"student\"];\r\n const root = \"dashboard\";\r\n\r\n useEffect(() => {\r\n if (\r\n location.pathname.includes(root) &&\r\n tenantsAllowed.indexOf(template) === -1\r\n ) {\r\n history.push(\"/\");\r\n }\r\n }, [location]);\r\n /* end middelware */\r\n\r\n return (\r\n \r\n
\r\n {children}\r\n
\r\n \r\n DevTeam [UNASP]\r\n \r\n
\r\n \r\n );\r\n}\r\n\r\nDefaultLayout.propTypes = {\r\n children: PropTypes.element.isRequired,\r\n};\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div`\r\n #brand {\r\n background: none;\r\n box-shadow: none;\r\n img {\r\n margin-left: 10px;\r\n height: 35px;\r\n }\r\n }\r\n\r\n .imgProfile {\r\n height: 35px;\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport {\r\n MdEventNote,\r\n MdSettings,\r\n MdHome,\r\n MdAccountBalanceWallet,\r\n} from \"react-icons/md\";\r\nimport { IoIosSend, IoIosCreate } from \"react-icons/io\";\r\nimport { FaDonate, FaUserPlus } from \"react-icons/fa\";\r\nimport { AiFillContainer } from \"react-icons/ai\";\r\nimport { FaUserGraduate } from \"react-icons/fa\";\r\n\r\nconst JsonMenu = [\r\n { url: \"/admin/home\", icon: , label: \"Home\" },\r\n {\r\n url: \"/admin/transactions\",\r\n icon: ,\r\n label: \"Pedidos de Resgate\",\r\n },\r\n /* {\r\n url: \"/admin/transactions-done\",\r\n icon: ,\r\n label: \"Tranferências Realizadas\",\r\n }, */\r\n {\r\n url: \"/admin/financial-account\",\r\n icon: ,\r\n label: \"Contas Financeiras\",\r\n },\r\n { url: \"/admin/campaign\", icon: , label: \"Campanhas\" },\r\n {\r\n url: \"/admin/requests\",\r\n icon: ,\r\n label: \"Moderar Alterações\",\r\n },\r\n {\r\n url: \"/admin/donations\",\r\n icon: ,\r\n label: \"Todas doações\",\r\n },\r\n {\r\n url: \"/admin/allotment\",\r\n icon: ,\r\n label: \"Lotes\",\r\n },\r\n { url: \"/admin/settings\", icon: , label: \"Configurações\" },\r\n { url: \"/admin/students\", icon: , label: \"Alunos\" },\r\n { url: \"/admin/usermanagement\", icon: , label: \"Usuários\" }\r\n];\r\n\r\nexport default JsonMenu;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport { signOut } from \"~/store/modules/auth/actions\";\r\nimport { updateTenantProfile } from \"~/store/modules/header/actions\";\r\n\r\nimport { Form, Select } from \"@rocketseat/unform\";\r\n\r\nimport { Navbar, Nav, Card, Dropdown, Button, Modal } from \"react-bootstrap\";\r\nimport logo from \"~/assets/a_unasp.png\";\r\nimport { Wrapper } from \"./styles\";\r\n\r\nimport { IoMdMenu } from \"react-icons/io\";\r\nimport { GiOrganigram } from \"react-icons/gi\";\r\nimport { FiLogOut } from \"react-icons/fi\";\r\n\r\nimport JsonMenu from \"~/pages/__layouts/admin/Components/menu\";\r\n\r\nexport default function Header() {\r\n const dispatch = useDispatch();\r\n let location = useLocation();\r\n\r\n const profile = useSelector((state) => state.user.profile);\r\n const template = useSelector((state) => state.user.template);\r\n\r\n const [selectOrganization, setSelectOrganization] = useState(false);\r\n\r\n const tenantProfile = useSelector((state) => state.header.tenantProfile);\r\n\r\n const allTenants = [\r\n {\r\n id: \"EC\",\r\n value: \"EC\",\r\n title: \"Engenheiro Coelho\",\r\n },\r\n {\r\n id: \"HT\",\r\n value: \"HT\",\r\n title: \"Hortolândia\",\r\n },\r\n {\r\n id: \"SP\",\r\n value: \"SP\",\r\n title: \"São Paulo\",\r\n },\r\n {\r\n id: \"EAD\",\r\n value: \"EAD\",\r\n title: \"EAD\",\r\n },\r\n {\r\n id: \"ROOT\",\r\n value: \"ROOT\",\r\n title: \"Acesso Master\",\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n if (tenantProfile == \"\") {\r\n setSelectOrganization(true);\r\n }\r\n }, []);\r\n\r\n const renderMenu = () => {\r\n switch (template) {\r\n case \"admin\":\r\n return (\r\n <>\r\n setSelectOrganization(true)}>\r\n Selecionar organização\r\n \r\n {/* setModalUser(true)}>\r\n Atualizar dados de cadastro\r\n */}\r\n dispatch(signOut())}>\r\n Logout\r\n \r\n \r\n );\r\n\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const renderOptions = () => {\r\n const { tenants } = profile;\r\n return allTenants.filter((el) => tenants.indexOf(el.id) > -1);\r\n };\r\n\r\n const handleChangeOrganization = async (data) => {\r\n const { organization } = data;\r\n dispatch(updateTenantProfile(organization));\r\n setSelectOrganization(false);\r\n };\r\n\r\n return (\r\n \r\n {profile != null && !!profile.tenants && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {JsonMenu.map((x, i) => (\r\n \r\n {x.icon} {x.label}\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Select Organization */}\r\n setSelectOrganization(!!tenantProfile ? false : true)}\r\n >\r\n \r\n \r\n \r\n

Selecione a organização

\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n )}\r\n
\r\n );\r\n}\r\n","import styled from \"styled-components\";\r\n\r\nexport const Wrapper = styled.div`\r\n .nav-link {\r\n font-weight: 500;\r\n font-size: 16px;\r\n color: #333;\r\n border-bottom: 1px #eae6e6 solid;\r\n padding: 12px 3px;\r\n }\r\n .active {\r\n color: #007bff;\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Wrapper } from \"./styles\";\r\n//import { ListGroup } from \"react-bootstrap\";\r\n\r\n//import { MdEventNote, MdSettings } from \"react-icons/md\";\r\n\r\nimport JsonMenu from \"~/pages/__layouts/admin/Components/menu\";\r\n\r\nexport default function Sidebar() {\r\n let location = useLocation();\r\n\r\n return (\r\n \r\n
\r\n
    \r\n {JsonMenu.map((x, i) => (\r\n
  • \r\n \r\n {x.icon} {x.label}\r\n \r\n
  • \r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import styled from \"styled-components\";\r\nimport \"./Components/dashboard.css\";\r\n\r\nexport const Wrapper = styled.div`\r\n /*padding-top: 45px;*/\r\n`;\r\n","import React, { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport history from \"~/services/history\";\r\n\r\nimport Header from \"~/pages/__layouts/admin/Components/Header\";\r\nimport Sidebar from \"~/pages/__layouts/admin/Components/Sidebar\";\r\n\r\nimport { Wrapper } from \"./styles\";\r\n\r\nexport default function AdminLayout({ children }) {\r\n const tenantProfile = useSelector((state) => state.header.tenantProfile);\r\n\r\n /* middelware */\r\n let location = useLocation();\r\n const template = useSelector((state) => state.user.template);\r\n const tenantsAllowed = [\"admin\"];\r\n const root = \"admin\";\r\n\r\n useEffect(() => {\r\n if (\r\n location.pathname.includes(root) &&\r\n tenantsAllowed.indexOf(template) === -1\r\n ) {\r\n history.push(\"/\");\r\n }\r\n }, [location]);\r\n /* end middleware */\r\n\r\n return (\r\n \r\n
\r\n {!!tenantProfile && (\r\n
\r\n
\r\n \r\n \r\n {children}\r\n
\r\n
\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nAdminLayout.propTypes = {\r\n children: PropTypes.element.isRequired,\r\n};\r\n","import React, { useRef, useEffect, useState, useMemo } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport api from \"~/services/api\";\r\nimport urlsystem from \"~/config/URLSystem\";\r\nimport buildURLQuery from \"~/util/buildURLQuery\";\r\nimport { formatPrice } from \"~/util/format\";\r\n\r\nimport CurrencyInput from \"~/util/CurrencyInput\";\r\n\r\nimport history from \"~/services/history\";\r\n\r\nimport Switch from \"react-switch\";\r\n\r\nimport { format } from \"date-fns\";\r\nimport pt from \"date-fns/locale/pt\";\r\n\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\";\r\n\r\n\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\nimport {\r\n Table,\r\n Container,\r\n Row,\r\n Col,\r\n Dropdown,\r\n Spinner,\r\n Button,\r\n Modal,\r\n Card,\r\n InputGroup,\r\n FormControl,\r\n Jumbotron,\r\n ButtonGroup,\r\n ToggleButton,\r\n Alert\r\n} from \"react-bootstrap\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport PaginationComponent from \"react-js-pagination\";\r\n\r\n// import { Container } from './styles';\r\nimport { IoMdAdd, IoMdMenu, IoMdSearch } from \"react-icons/io\";\r\nimport * as MD from \"react-icons/md\";\r\nimport * as RI from \"react-icons/ri\";\r\nimport { FaTimes, FaCheck, FaFilter } from \"react-icons/fa\";\r\n\r\nimport enumTransactionType from \"~/util/enumTransactionType\";\r\nimport enumTransactionStatus from \"~/util/enumTransactionStatus\";\r\nimport { Radio } from \"react-bootstrap\";\r\n\r\n\r\nexport default function UserManagement() {\r\n const searchRef = useRef(null);\r\n const [searching, setSearching] = useState(false);\r\n const [searchString, setSearchString] = useState(\"\");\r\n const [timeout, setTimeOut] = useState(0);\r\n\r\n const [pages, setPages] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n\r\n\r\n const [totalItens, setTotalItens] = useState(0);\r\n\r\n const [lastParams, setLastParams] = useState({ activePage: 1, itemPerPage: 10, searchString: \"\" });\r\n const [updatePending, setUpdatePending] = useState({});\r\n const [modalUpdate, setModalUpdate] = useState(false);\r\n const [modalLoading, setModalLoading] = useState(false);\r\n const [statusAprove, setStatusAprove] = useState(0);\r\n const [valueAprove, setValueAprove] = useState(0);\r\n const [availableRoles, setAvailableRoles] = useState({ loading: true, data: [] });\r\n const [userRoles, setUserRoles] = useState({ loading: true, data: [] });\r\n\r\n const [AllTenants, setAllTenants] = useState({ loading: true, data: [] });\r\n const [tenantChecked, setTenantChecked] = useState();\r\n const [modalUserPWD, setModalUserPWD] = useState({\r\n isOpen: false,\r\n user: {}\r\n });\r\n\r\n const [modalCreateUser, setModalCreateUser] = useState(false);\r\n const handleClose = () => setModalCreateUser(false);\r\n\r\n const handleFind = (e) => {\r\n const vl = e.target.value;\r\n\r\n if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n setSearchString(vl);\r\n loadData(null, null, vl)\r\n }, 400)\r\n );\r\n };\r\n\r\n const handleClear = () => {\r\n setSearchString(\"\");\r\n setSearching(false);\r\n loadData(null, null, \"\")\r\n };\r\n\r\n const handleViewRequest = async (data) => {\r\n setUpdatePending(data);\r\n\r\n setValueAprove(data.requestValue);\r\n\r\n setModalUpdate(true);\r\n };\r\n const handleSearch = () => {\r\n setSearching(true);\r\n };\r\n\r\n useEffect(() => {\r\n loadData()\r\n }, []);\r\n const loadData = async (activePage = null, itemPerPage = null, searchString = null) => {\r\n try {\r\n setLoading(true);\r\n\r\n const params = {\r\n activePage: activePage ? activePage : lastParams.activePage,\r\n itemPerPage: itemPerPage ? itemPerPage : lastParams.itemPerPage,\r\n searchString: searchString != null ? searchString : lastParams.searchString\r\n }\r\n\r\n const response = await api.get(\r\n `/adminarea/GetAllUser/${params.activePage}/${params.itemPerPage}?${buildURLQuery(\r\n { search: params.searchString }\r\n )}`\r\n );\r\n setLastParams(params)\r\n const dataUsers = response.data;\r\n setTotalItens(dataUsers.indexSize);\r\n setPages(\r\n dataUsers.entities.map((x) => ({\r\n ...x\r\n }))\r\n );\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n async function EditUser(user) {\r\n\r\n setModalUserPWD({\r\n isOpen: true,\r\n user,\r\n })\r\n await GetAvailableRoles(user.email)\r\n }\r\n\r\n async function ChangePassword(data) {\r\n setModalLoading(true)\r\n try {\r\n const query = {\r\n email: modalUserPWD.user.email,\r\n password: data.newPassword\r\n }\r\n const response = await api.get(`/authentication/ResetPassword/${query.email}/${query.password}`)\r\n console.log(response);\r\n\r\n if (response.status) {\r\n toast.success(`${response.data.result.message}`);\r\n\r\n }\r\n } catch (error) {\r\n toast.error(`${error.message}`);\r\n\r\n }\r\n setModalUserPWD({ isOpen: false })\r\n setModalLoading(false)\r\n\r\n }\r\n\r\n async function CreateUser(_data) {\r\n if (!tenantChecked) {\r\n toast.warn(\"Selecione um local de acesso!\")\r\n return;\r\n }\r\n const form = {\r\n userName: _data.name,\r\n email: _data.email,\r\n passwordHash: _data.password,\r\n }\r\n\r\n const response = await api.post(`/authentication/CreateUser/${tenantChecked}`, form);\r\n const { data } = response;\r\n\r\n if (data.status) {\r\n toast.success(response.data.message);\r\n } else {\r\n toast.error(response.data.message);\r\n }\r\n }\r\n\r\n async function GetAllTenants() {\r\n setModalCreateUser(true)\r\n const response = await api.get(`/authentication/GetALLTenants`);\r\n\r\n setAllTenants({ loading: false, data: response.data })\r\n }\r\n\r\n async function GetAvailableRoles(userEmail) {\r\n const { data } = await api.get(`/adminarea/GetRoles/${userEmail}`)\r\n const { data: userRolesData } = await api.get(`/adminarea/GetUserRole/${userEmail}`)\r\n setAvailableRoles({ loading: false, data: data })\r\n setUserRoles({ loading: false, data: userRolesData })\r\n }\r\n\r\n async function AddUserRole({ userEmail, role }) {\r\n setAvailableRoles({ loading: true, data: [] })\r\n setUserRoles({ loading: true, data: [] })\r\n const form = {\r\n userEmail,\r\n role\r\n }\r\n const response = await api.post(`/adminarea/AddUserRole`, form)\r\n\r\n if (response.data === \"Role adicionada com sucesso\") {\r\n toast.success(\"Acesso adicionado!\")\r\n } else {\r\n toast.error(response.data)\r\n }\r\n GetAvailableRoles(userEmail)\r\n }\r\n\r\n async function RemoveUserRole({ userEmail, role }) {\r\n setAvailableRoles({ loading: true, data: [] })\r\n setUserRoles({ loading: true, data: [] })\r\n const form = {\r\n userEmail,\r\n role\r\n }\r\n const response = await api.post(`/adminarea/RemoveUserRole`, form)\r\n\r\n if (response.data === \"Role removida com sucesso\") {\r\n toast.info(\"Acesso removido!\")\r\n } else {\r\n toast.error(response.data)\r\n }\r\n GetAvailableRoles(userEmail)\r\n }\r\n\r\n\r\n return (\r\n <>\r\n\r\n
\r\n

Gerenciamento de Usuários

\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n loadData(null, target.value, null)}\r\n />\r\n \r\n \r\n\r\n {!!searching ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n GetAllTenants()}\r\n title=\"Clique para procurar\"\r\n >\r\n \r\n \r\n \r\n
\r\n\r\n {/* List */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : pages.length === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n pages.map((item, index) => (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n ))\r\n )}\r\n \r\n
RAEmailCampusAções
\r\n
\r\n Carregando\r\n
\r\n
\r\n Nenhum registro\r\n
{item.userName}{item.email}{item.dataKey}\r\n \r\n \r\n \r\n \r\n \r\n EditUser(item)}\r\n >\r\n Editar\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {!!modalUserPWD?.user\r\n\r\n &&\r\n\r\n setModalUserPWD({ isOpen: false })}\r\n aria-labelledby=\"example-modal-sizes-title-lg\"\r\n >\r\n \r\n \r\n Redefinir senha\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n RA: \r\n {modalUserPWD.user.userName}\r\n
\r\n
\r\n Email: \r\n {modalUserPWD.user.email}\r\n
\r\n
\r\n \r\n \r\n

Tipos de acessos disponíveis:

\r\n
\r\n {availableRoles.loading && userRoles.loading ?\r\n \r\n :\r\n <>\r\n {availableRoles.data.map((x) => (\r\n \r\n\r\n \r\n \r\n\r\n ))}\r\n \r\n }\r\n
\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n \r\n \r\n setModalUserPWD({ isOpen: false })}\r\n className=\"my-4\"\r\n variant=\"danger\"\r\n block\r\n >\r\n Cancelar\r\n \r\n \r\n \r\n \r\n {!modalLoading ? \"Atualizar Senha\" : \"Atualizando...\"}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n }\r\n\r\n { { handleClose(); setTenantChecked() }} >\r\n \r\n Adicionar Usuário\r\n\r\n \r\n
\r\n \r\n \r\n \r\n
Usuário
\r\n \r\n \r\n
\r\n \r\n \r\n
Email
\r\n \r\n \r\n
\r\n \r\n \r\n
Senha
\r\n \r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n

Local de acesso:

\r\n
\r\n {AllTenants.loading ?\r\n \r\n :\r\n <>\r\n \r\n {AllTenants.data.map((x) => (\r\n\r\n setTenantChecked(x.dataKey)}\r\n value={x.dataKey}\r\n variant=\"secondary\"\r\n style={{\r\n background: tenantChecked == x.dataKey ? \"#007bff\" : \"gray\",\r\n borderRadius: \".4rem\",\r\n padding: \"0.5rem\",\r\n maxWidth: \"9rem\",\r\n whiteSpace: \"nowrap\",\r\n width: \"min-content\",\r\n }}\r\n >\r\n {x.name}\r\n \r\n\r\n\r\n ))}\r\n \r\n\r\n \r\n }\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n Por padrão, usuários criados já estarão com acesso de administrador!\r\n \r\n \r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
}\r\n\r\n \r\n )\r\n}","import React, { useEffect, useRef } from \"react\"\r\nimport { useField } from \"@rocketseat/unform\"\r\n\r\nexport function UnformInput({ name, ...rest }) {\r\n const inputRef = useRef(null);\r\n const { fieldName, registerField, defaultValue, error } = useField(name);\r\n\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: inputRef.current,\r\n path: \"value\"\r\n })\r\n }, [fieldName, registerField])\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import React, { useEffect, useRef, useState, useMemo } from \"react\";\r\nimport api from \"~/services/api\";\r\nimport buildURLQuery from \"~/util/buildURLQuery\";\r\nimport { Form, Input, Select } from \"@rocketseat/unform\";\r\nimport {\r\n Table,\r\n Container,\r\n Row,\r\n Col,\r\n Dropdown,\r\n Spinner,\r\n Button,\r\n Modal,\r\n Card,\r\n InputGroup,\r\n FormControl,\r\n Jumbotron,\r\n ButtonGroup,\r\n ToggleButton,\r\n Alert\r\n} from \"react-bootstrap\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nimport PaginationComponent from \"react-js-pagination\";\r\nimport { IoMdMenu, IoMdSearch } from \"react-icons/io\";\r\nimport * as MD from \"react-icons/md\";\r\nimport * as RI from \"react-icons/ri\";\r\nimport { UnformInput } from \"~/components/Form\";\r\n\r\n\r\nexport default function Students() {\r\n const searchRef = useRef(null);\r\n\r\n // pagination\r\n const [lastParams, setLastParams] = useState({ activePage: 1, itemPerPage: 10, searchString: \"\" });\r\n const [pages, setPages] = useState([]);\r\n const [totalItens, setTotalItens] = useState(0);\r\n const [timeout, setTimeOut] = useState(0);\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [searching, setSearching] = useState(false);\r\n\r\n // modal\r\n const [modalEditStudent, setModalEditStudent] = useState(false);\r\n const [selectedStudent, setSelectedStudent] = useState({});\r\n\r\n useEffect(() => {\r\n loadData();\r\n }, []);\r\n\r\n const loadData = async (activePage = null, itemPerPage = null, searchString = null) => {\r\n try {\r\n setLoading(true);\r\n\r\n const params = {\r\n activePage: activePage ? activePage : lastParams.activePage,\r\n itemPerPage: itemPerPage ? itemPerPage : lastParams.itemPerPage,\r\n searchString: searchString != null ? searchString : lastParams.searchString\r\n }\r\n\r\n const response = await api.get(\r\n `/adminarea/GetAllStudent/${params.activePage}/${params.itemPerPage}?${buildURLQuery(\r\n { search: params.searchString }\r\n )}`\r\n );\r\n setLastParams(params)\r\n const dataUsers = response.data;\r\n setTotalItens(dataUsers.indexSize);\r\n setPages(\r\n dataUsers.entities.map((x) => ({\r\n ...x\r\n }))\r\n );\r\n } catch (error) {\r\n if (!!error.response && error.response.status !== 401) {\r\n toast.error(\"Erro ao carregar a página\");\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n const handleFind = (e) => {\r\n const vl = e.target.value;\r\n\r\n if (timeout) clearTimeout(timeout);\r\n setTimeOut(\r\n setTimeout(() => {\r\n loadData(null, null, vl)\r\n }, 400)\r\n );\r\n };\r\n const handleClear = () => {\r\n setSearching(false);\r\n loadData(null, null, \"\")\r\n };\r\n const handleSearch = () => {\r\n setSearching(true);\r\n };\r\n\r\n async function UpdateStudent(_data) {\r\n const response = await api.put(`/adminArea/PutStudent`, _data, { params: { oldUserEmail: selectedStudent.email } });\r\n const { data } = response;\r\n\r\n if (data === \"Informações alteradas\") {\r\n toast.success(data);\r\n setModalEditStudent(false);\r\n setSelectedStudent({})\r\n } else {\r\n toast.warning(data);\r\n }\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n

Gerenciamento de Alunos

\r\n
\r\n\r\n \r\n \r\n \r\n \r\n loadData(null, target.value, null)}\r\n />\r\n \r\n \r\n\r\n {!!searching ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n\r\n {/* List */}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {loading ? (\r\n \r\n \r\n \r\n ) : pages.length === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n pages.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n ))\r\n )}\r\n \r\n
RANomeEmailCursoCampusAções
\r\n
\r\n Carregando\r\n
\r\n
\r\n Nenhum registro\r\n
{item.ra}{item.name}{item.email}{item.course}{item.institution}\r\n \r\n \r\n \r\n \r\n \r\n { setModalEditStudent(true); setSelectedStudent(item) }}\r\n >\r\n Editar\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n { setModalEditStudent(false); setSelectedStudent({}) }} >\r\n \r\n \r\n Informações do Aluno\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n { setModalEditStudent(false); setSelectedStudent({}) }}\r\n style={{\r\n width: \"100%\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n gap: \".25rem\"\r\n }}\r\n >\r\n \r\n Cancelar\r\n \r\n\r\n \r\n \r\n Atualizar\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}","import React from \"react\";\r\nimport { Switch } from \"react-router-dom\";\r\nimport Route from \"./Route\";\r\n\r\nimport AllDonations from \"~/pages/AllDonationsPage\";\r\nimport StudentDonation from \"~/pages/StudentDonationPage\";\r\nimport DonationsCampaign from \"~/pages/DonationsCampaign\";\r\nimport SignIn from \"~/pages/SignIn\";\r\nimport Logout from \"~/pages/Logout\";\r\nimport SignUp from \"~/pages/SignUp\";\r\nimport Recovery from \"~/pages/RecoveryPass\";\r\nimport ConfirmPass from \"~/pages/RecoveryPass/ConfirmPass\";\r\nimport Dashboard from \"~/pages/Dashboard\";\r\nimport ConfirmPage from \"~/pages/Dashboard/ConfirmPage\";\r\n\r\nimport AboutProject from \"~/pages/LandingPages/AboutProject\";\r\n\r\nimport HomePage from \"~/pages/AdminPages/Home\";\r\nimport ContasFinanceiras from \"~/pages/AdminPages/ContasFinanceiras\";\r\nimport TransferenciaPage from \"~/pages/AdminPages/TransferenciasFinanceiras\";\r\nimport TransferenciasRealizadas from \"~/pages/AdminPages/TransferenciasRealizadas\";\r\nimport ModerarAlteracoes from \"~/pages/AdminPages/ModerarAlteracoes\";\r\nimport Campanhas from \"~/pages/AdminPages/Campanhas\";\r\nimport Lotes from \"~/pages/AdminPages/Lotes\";\r\nimport Configuracoes from \"~/pages/AdminPages/Configuracoes\";\r\nimport Doacoes from \"~/pages/AdminPages/Doacoes\";\r\n\r\nimport AuthLayout from \"~/pages/__layouts/auth\";\r\nimport DefaultLayout from \"~/pages/__layouts/default\";\r\nimport AdminLayout from \"~/pages/__layouts/admin\";\r\nimport UserManagement from \"~/pages/AdminPages/userManagement\";\r\nimport Students from \"~/pages/AdminPages/Students\";\r\n\r\nexport default function Routes() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n );\r\n}\r\n","import { createGlobalStyle } from \"styled-components\";\r\n\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport \"react-perfect-scrollbar/dist/css/styles.css\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\n\r\nexport default createGlobalStyle`\r\n @import url('https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap');\r\n * {\r\n margin: 0;\r\n padding: 0;\r\n outline: 0;\r\n box-sizing: border-box;\r\n }\r\n\r\n *:focus{\r\n outline: 0;\r\n }\r\n\r\n html, body, #root{\r\n background: #ededed;\r\n height: 100%;\r\n }\r\n\r\n body{\r\n -webkit-font-smoothing: antialiased;\r\n }\r\n\r\n body, input, button{\r\n font: 14px 'Roboto', sans-serif;\r\n }\r\n\r\n a { \r\n text-decoration: none;\r\n }\r\n \r\n ul{\r\n list-style: none;\r\n }\r\n\r\n button{\r\n cursor: pointer;\r\n }\r\n\r\n .carousel-item {\r\n max-height: 460px;\r\n overflow: hidden;\r\n\r\n img {\r\n transform: translateY(0%);\r\n @media (max-width: 768px) {\r\n height: 50vh;\r\n width: auto !important;\r\n }\r\n }\r\n }\r\n\r\n .contentcenter {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n .spinner-border{\r\n margin-right: 15px;\r\n }\r\n }\r\n\r\n .react-confirm-alert-overlay {\r\n z-index: 9999;\r\n background: #2f2f2fe6;\r\n }\r\n\r\n\r\n .imagePeople {\r\n border-radius: 50%;\r\n border: 3px solid rgba(255, 255, 255, 0.3);\r\n background: #eee;\r\n \r\n border-radius: 0;\r\n width: auto;\r\n margin: 0 auto;\r\n height: 175px;\r\n }\r\n\r\n .divImage {\r\n border-radius: 50%;\r\n width: 157px;\r\n overflow: hidden;\r\n height: 160px;\r\n margin: 20px auto;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n \r\n\r\n #preloadimage {\r\n position: absolute;\r\n width: 60px;\r\n height: 60px;\r\n -webkit-animation:spin 2s linear infinite;\r\n -moz-animation:spin 2s linear infinite;\r\n animation:spin 2s linear infinite;\r\n \r\n }\r\n #preloadlogo {\r\n position: absolute;\r\n border-radius: 50%;\r\n width: 32px;\r\n height: 32px;\r\n margin: 4px;\r\n background: \"#ccc\";\r\n }\r\n\r\n @-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }\r\n @-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }\r\n @keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }\r\n\r\n\r\n .bshadow {\r\n /*box-shadow: #6d6262 0px 0px 21px -6px;*/\r\n box-shadow: #6d6262 0px 0px 25px -10px;\r\n }\r\n\r\n #dropdown-button-icon {\r\n background: transparent;\r\n border: transparent;\r\n box-shadow: none;\r\n &:after {\r\n display: none;\r\n }\r\n }\r\n\r\n #listItems {\r\n z-index: 9999;\r\n position: fixed;\r\n width: 100%;\r\n top: 65px;\r\n \r\n a {\r\n color: #333;\r\n padding: 8px 20px;\r\n }\r\n .active {\r\n color: #007bff;\r\n }\r\n }\r\n\r\n .switchBox {\r\n display: flex;\r\n align-items: center;\r\n span {\r\n margin: 0px 9px;\r\n }\r\n }\r\n\r\n .title{\r\n /* border: 0px solid #5bc0de; */\r\n border-left-width: .25rem;\r\n border-right-width: .25rem;\r\n border-radius: .25rem;\r\n h1{\r\n font-weight: 300;\r\n font-size: 1.8rem;\r\n text-shadow: #666 0px 1px 2px;\r\n font-family: -apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";\r\n }\r\n }\r\n\r\n .inputSearch {\r\n &:focus {\r\n box-shadow: none;\r\n }\r\n }\r\n\r\n #box {\r\n position: fixed;\r\n height: 100%;\r\n z-index: 998;\r\n background: #000000bf;\r\n width: 100%;\r\n }\r\n\r\n .lead {\r\n font-size: 1.16rem;\r\n line-height: 2rem;\r\n font-weight: 300;\r\n }\r\n\r\n .cover-container {\r\n max-width: 47em;\r\n }\r\n\r\n .cover-heading{\r\n color: #f1934f;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n /* Lucas Santos */\r\n\r\n /* header */\r\n #headerLinks{\r\n color: #496be6;\r\n text-decoration: none; \r\n } \r\n #headerLinks:hover {\r\n color: #2a99ed;\r\n }\r\n\r\n /* Body */\r\n #bodyBtn{\r\n background-color: #496be6;\r\n border-radius: 10px;\r\n border: 0px; \r\n }\r\n #bodyBtn:hover{\r\n background-color: #2a99ed; \r\n }\r\n\r\n /* Modal */\r\n .modalBtn{\r\n background-color: #496be6;\r\n border-radius: 10px;\r\n border: 0px;\r\n font-size: 18px;\r\n }\r\n .modalBtn:hover{\r\n background-color: #2a99ed;\r\n }\r\n #loginBtn{\r\n background-color: #435e99;\r\n }\r\n #loginBtn:hover{\r\n background-color: #31407a;\r\n }\r\n /* Banner Img and Button*/\r\n #bannerImg{\r\n width: 100%;\r\n height: auto;\r\n }\r\n #bannerBtn{\r\n position: absolute;\r\n background-color: #496be6;\r\n color: white; \r\n font-weight: bold; \r\n border: none;\r\n cursor: pointer;\r\n border-radius: 50px;\r\n box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.3);\r\n /* x | y | blur-radius | radius | color */\r\n }\r\n #bannerBtn:hover{\r\n background-color: #2a99ed;\r\n transition: transform .2s;\r\n transform: scale(1.03);\r\n }\r\n /* Responsividade Botao \"Doe Agora\" */\r\n @media only screen and (max-width: 299px){\r\n #bannerBtn{\r\n top: 10%;\r\n left: 65%;\r\n font-size: 14px;\r\n padding: 12px 12px;\r\n }\r\n #bannerImg{\r\n margin-top: 36px;\r\n }\r\n }\r\n @media only screen and (min-width: 300px){\r\n #bannerBtn{\r\n top: 12%;\r\n left: 70%;\r\n font-size: 14px;\r\n padding: 12px 12px;\r\n }\r\n #bannerImg{\r\n margin-top: 36px;\r\n }\r\n }\r\n @media only screen and (min-width: 350px){\r\n #bannerBtn{\r\n top: 15%;\r\n left: 73%;\r\n font-size: 14px;\r\n padding: 12px 12px;\r\n }\r\n #bannerImg{\r\n margin-top: 36px;\r\n }\r\n }\r\n @media only screen and (min-width: 400px){\r\n #bannerBtn{\r\n top: 15%;\r\n left: 73%;\r\n font-size: 16px;\r\n padding: 12px 12px;\r\n }\r\n #bannerImg{\r\n margin-top: 36px;\r\n }\r\n }\r\n @media only screen and (min-width: 500px){\r\n #bannerBtn{\r\n top: 17%;\r\n left: 73%;\r\n font-size: 18px;\r\n padding: 12px 24px;\r\n }\r\n #bannerImg{\r\n margin-top: 38px;\r\n }\r\n }\r\n @media only screen and (min-width: 600px){\r\n #bannerBtn{\r\n top: 20%;\r\n left: 75%;\r\n font-size: 18px;\r\n padding: 12px 24px;\r\n }\r\n #bannerImg{\r\n margin-top: 38px;\r\n }\r\n } \r\n @media only screen and (min-width: 700px){\r\n #bannerBtn{\r\n top: 25%;\r\n left: 75%;\r\n font-size: 20px;\r\n padding: 12px 36px;\r\n } \r\n }\r\n @media only screen and (min-width: 900px) {\r\n #bannerBtn{\r\n top: 25%;\r\n left: 75%;\r\n font-size: 20px;\r\n padding: 12px 36px;\r\n }\r\n }\r\n @media only screen and (min-width: 1025px) {\r\n #bannerBtn{\r\n top: 30%;\r\n left: 75%;\r\n font-size: 24px; \r\n padding: 12px 48px; \r\n }\r\n }\r\n @media only screen and (min-width: 1441px) {\r\n #bannerBtn{\r\n top: 40%;\r\n left: 75%;\r\n font-size: 36px;\r\n padding: 12px 48px;\r\n }\r\n }\r\n @media only screen and (min-width: 1921px) {\r\n #bannerBtn{\r\n top: 45%;\r\n left: 75%;\r\n font-size: 48px; \r\n padding: 12px 48px; \r\n }\r\n }\r\n`;\r\n","import React from \"react\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport { PersistGate } from \"redux-persist/integration/react\";\r\nimport { Provider } from \"react-redux\";\r\nimport { Router } from \"react-router-dom\";\r\n\r\nimport \"./config/ReactotronConfig\";\r\n\r\nimport Routes from \"./routes\";\r\nimport history from \"./services/history\";\r\n\r\nimport { store, persistor } from \"./store\";\r\n\r\nimport GlobalStyle from \"./styles/global\";\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport App from \"./App\";\r\n\r\nReactDOM.render(, document.getElementById(\"root\"));\r\n"],"sourceRoot":""}