{"version":3,"sources":["components/baseComponents/Button/Button.tsx","components/baseComponents/Checkbox/Checkbox.tsx","components/baseComponents/Modal/Modal.tsx","components/baseComponents/SectionalAlert/SectionalAlert.tsx","components/baseComponents/Table/Table.tsx","components/baseComponents/ValidatedInput/ValidatedInput.tsx","components/baseComponents/Spinner/SpinnerCircle.tsx","components/baseComponents/MenuDropdown/MenuDropdown.tsx","contexts/contexts.tsx","hooks/useApiClient.tsx","utils/PageTitleHook/PageTitleHook.tsx","assets/icons/dropdownCollapse.tsx","assets/icons/collapse.tsx","assets/icons/expand.tsx","assets/icons/dropdownExpand.tsx","assets/icons/eye.tsx","assets/icons/floatingbutton.tsx","assets/icons/newpage.tsx","assets/icons/pencil.tsx","assets/icons/sectional_alert_error.tsx","assets/icons/sectional_alert_info.tsx","assets/icons/sectional_alert_success.tsx","assets/icons/sectional_alert_warning.tsx","assets/icons/MeatballIcon.tsx","reducer/myAccountInitialState.tsx","reducer/pathInitialState.tsx","reducer/configurationInitialState.tsx","assets/icons/xClose.tsx","components/baseComponents/MoreInfoContainer/MoreInfoContainer.tsx","utils/utils.tsx","components/pages/Select2fa/Select2fa.tsx","hooks/hooks.tsx","components/pages/SoftLocked/SoftLocked.tsx","components/FooterComponents/ReturnToTop/ReturnToTop.tsx","components/pages/TermsOfUse/TermsOfUse.tsx","components/pages/CreateAccountTos/CreateAccountTos.tsx","assets/icons/everify_logo.tsx","assets/icons/first_logo.tsx","assets/icons/myuscis_logo.tsx","components/pages/Dashboard/DashboardCard.tsx","components/pages/Dashboard/Dashboard.tsx","components/LegalSection/LegalSection.tsx","assets/images/login_dot_gov_logo_sign_in.svg","utils/apiWrappers/PasskeysApiWrapper/listPasskeys.tsx","utils/apiWrappers/PasskeysApiWrapper/registerPasskey.tsx","utils/apiWrappers/PasskeysApiWrapper/removePasskey.tsx","utils/apiWrappers/PasskeysApiWrapper/signInWithPasskey.tsx","utils/apiWrappers/PasskeysApiWrapper/editPasskey.tsx","assets/icons/passkey-icon.svg","components/pages/SignIn/MagicOr.tsx","components/pages/SignIn/SignIn.tsx","components/pages/Error404/Error404.tsx","components/pages/TwoFactorAuthentication/TwoFactorAuthentication.tsx","components/pages/SignInAuth/SignInAuth.tsx","components/pages/CreateAccount/CreateAccount.tsx","components/pages/InvitationExpired/InvitationExpiredUtils.tsx","components/pages/ConfirmToken/ConfirmToken.tsx","components/pages/AuthApp2faConfirmation/AuthApp2faConfirmation.tsx","components/pages/SetSecurityQuestions/SecurityQuestion.tsx","components/pages/SetSecurityQuestions/SetSecurityQuestions.tsx","components/pages/BackupCode/BackupCode.tsx","assets/icons/exclamation-triangle.svg","components/pages/AccountType/AccountType.tsx","components/pages/EditAccount/EditAccountRow.tsx","components/pages/EditAccount/EditAccount.tsx","components/pages/EditAccount/EditAccountPages/EditMobile.tsx","components/pages/EditAccount/EditAccountPages/EditRecoveryEmail.tsx","components/pages/LegalRepresentative/LegalRepresentative.tsx","components/pages/EditAccount/EditAccountPages/ChangePrimaryEmail.tsx","components/FooterComponents/FooterTop/FooterTop.tsx","assets/images/footer/dhs_logo.svg","components/FooterComponents/FooterMidLogo/FooterMidLogo.tsx","assets/images/footer/email.svg","assets/images/footer/facebook.svg","assets/images/footer/x_logo.svg","assets/images/footer/linkedin.svg","assets/images/footer/instagram.svg","assets/images/footer/youtube.svg","components/FooterComponents/FooterMidSocials/FooterMidSocials.tsx","components/FooterComponents/FooterMid/FooterMid.tsx","assets/images/footer/dhs_seal.svg","components/FooterComponents/OfficialLogoAndLink/OfficialLogoAndLink.tsx","components/FooterComponents/FooterExternalLinks/FooterExternalLinks.tsx","components/FooterComponents/FooterBottomLogo/FooterBottomLogo.tsx","components/FooterComponents/FooterBottomIframe/FooterBottomIframe.tsx","components/FooterComponents/FooterBottom/FooterBottom.tsx","components/FooterComponents/Footer/Footer.tsx","assets/images/header/icon-black-lock.svg","components/HeaderComponents/GovBanner/GovBanner.tsx","assets/images/header/icon-us-flag-46x26.png","assets/images/header/icon-dot-gov-80x80.png","assets/images/header/icon-https-80x80.png","assets/images/header/dhs_seal_1R.svg","assets/icons/LogoutIcon.tsx","components/HeaderComponents/SignOut/SignOut.tsx","components/HeaderComponents/HeaderBannerBar/HeaderBannerBar.tsx","components/HeaderComponents/EnvironmentBanner/EnvironmentBanner.tsx","utils/worker-timer.tsx","components/HeaderComponents/StatusBarSection/StatusBarSection.tsx","components/HeaderComponents/Header/Header.tsx","components/Timer/IdleTimerContainer.tsx","components/Routing/Redirection.tsx","components/Routing/layouts/RootLayout.tsx","components/pages/EditAccount/EditAccountPages/AccountActivity.tsx","components/pages/SetSecurityQuestions/AnswerSecurityQuestions.tsx","components/pages/PasskeysFaq/PasskeysFaqItems.tsx","components/baseComponents/Accordion/AccordionItem.tsx","components/baseComponents/Accordion/Accordion.tsx","components/pages/PasskeysFaq/PasskeysFaq.tsx","components/pages/ForgotPassword/ForgotPassword.tsx","components/pages/ResendConfirmation/ResendConfirmation.tsx","components/pages/InvitationExpired/InvitationExpired.tsx","components/pages/DeleteAccount/VerifyYourAccount/VerifyYourAccount.tsx","components/pages/DeleteAccount/DeleteAccountSuccess/DeleteAccountSuccess.tsx","components/pages/DeleteAccount/DeleteAccountFailure/DeleteAccountFailure.tsx","components/pages/DeleteAccount/DeleteAccountResponse/DeleteAccountResponse.tsx","components/pages/DeleteAccount/ConfirmDelete/ConfirmDelete.tsx","components/pages/LoginGovLinked/LoginGovLinked.tsx","components/pages/LoginGovFaq/LoginGovFaqItems.tsx","components/pages/LoginGovFaq/LoginGovFaq.tsx","components/pages/Passkeys/LastUsed.tsx","assets/icons/MenuPencilIcon.tsx","assets/icons/MenuEyeIcon.tsx","assets/icons/MenuXIcon.tsx","components/pages/Passkeys/Passkeys.tsx","assets/icons/passkey-fingerprint-icon.svg","components/pages/PasskeysRegister/PasskeysRegister.tsx","components/pages/MyUscisCapacity/MyUscisCapacity.tsx","components/pages/Placeholder/PlaceHolder.tsx","components/Routing/Routing.tsx","reducer/myAccountReducer.tsx","reducer/pathReducer.tsx","reducer/configurationReducer.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["ButtonContent","props","text","image","imageAlt","className","src","alt","doNothing","Button","ref","id","type","disabled","ariaDisabled","ariaLabel","onClick","onMouseDown","onKeyDown","onEnter","activationValidator","children","activationValidated","activateOnClick","activateOnMouseDown","e","key","preventDefault","forwardRef","Checkbox","label","checked","onChange","size","useState","isChecked","setIsChecked","isFocused","setIsFocused","isHovering","setIsHovering","onFocus","onBlur","onMouseEnter","onMouseLeave","style","height","width","htmlFor","xButtonSvg","xmlns","fill","viewBox","d","Modal","title","visible","onCancel","onOk","info","loadingModal","okButtonText","cancelButtonText","hideCloseButton","hideCancelButton","hideOkButton","zIndex","stylingOptions","stylingOkButton","justifyContents","outerElementRef","React","useRef","useEffect","document","body","overflow","current","focus","isInfoModal","divStyle","tabIndex","AddPrefix","SectionalAlert","alertRef","isTextWrap","setisTextWrap","icons","Map","set","scrollHeight","MINIMUM_HEIGHT","get","Table","headers","data","striped","map","h","idx","scope","row","rowIdx","colIdx","ValidatedInput","msg","value","required","hideLabel","readOnly","additionalStyling","arialabel","undefined","inputMode","mobile","mobileView","useContext","configurationContext","configuration","replaceAll","toLowerCase","repeat","length","mask","replacement","_","showMask","modify","input","includes","separate","trim","SpinnerCircle","message","color","version","r","cx","cy","stroke","strokeWidth","strokeDasharray","strokeDashoffset","strokeLinecap","MenuDropdown","dataTestId","options","initialValue","onSelect","isOpen","setIsOpen","selected","setSelected","focusIndex","setFocusIndex","focusSelected","focusItem","selectItem","val","keyDownHandler","target","name","nextItem","shiftKey","focusTrapOptions","clickOutsideDeactivates","onDeactivate","option","el","icon","myAccountContext","createContext","initialState","pathContext","initialPathState","initialConfigurationState","X_CSRF_TOKEN_KEY","checkForSignedInUser","idleTimer","resetTimer","setIdleTimer","timer","setCheckForSignedInUser","bool","isTokenPresent","token","grabTokenFromResponse","response","xcsrf","localStorage","setItem","fulfilled","useApiClient","accountContext","configContext","apiClient","axios","create","baseURL","window","location","origin","interceptors","request","use","config","getItem","error","Promise","reject","setUser","defaultUser","setConfiguration","lg_linked","loginDotGovEmail","loginDotGovUuid","lg_account_status","rejected","PageTitleHook","pageTitle","DropdownCollapseIcon","CollapseIcon","transform","ExpandIcon","DropdownExpandIcon","EyeIcon","FloatingButtonIcon","x","y","filterUnits","dy","stdDeviation","result","floodOpacity","operator","in2","in","filter","x2","y2","x1","NewPageIcon","PencilIcon","SectionalAlertErrorIcon","SectionalAlertInfoIcon","SectionalAlertSuccessIcon","SectionalAlertWarningIcon","MeatballIcon","defaultAlert","shouldPersist","cis_uuid","two_factor_method","authentication_state","email","unconfirmed_mobile","unconfirmed_two_factor_method","account_type","second_factor_strategy","questions","before_dashboard","force_redirection","passkeys","user","alert","setAlert","clearAlert","clearPersistentAlert","setToken","showAnniversaryLogo","setShowAnniversaryLogo","testInitialState","defaultPath","url","setUrl","userState","setUserState","headerRef","setHeaderRef","appSettings","accountTypeNeeded","XClose","MoreInfoContainer","maxHeight","dataTestid","containerOpened","setContainerOpened","onKeyPress","keyEvent","MoreInfoTrigger","hoverTimerId","setHoverTimerId","timerId","setTimeout","clearTimeout","clearInterval","EMAIL_NO_ACCENTS_ERROR_MESSAGE","EMAIL_ERROR_MESSAGE","validateEmailFormat","allowAccents","validEmailRegex_no_accented_characters","validEmailRegex_allow_accented_characters","match","formatPhoneNumber","replace","validateMobileFormat","timestampToDateTime","timeIn","formatTimeIn","Date","toLocaleString","dateStyle","timeStyle","exceededMaximumAttempts","rel","href","throttleAlert","AuthenticationOption","description","isChange2fa","previous2fa","handleChange","Select2fa","nameSpace","setisChange2fa","setprevious2fa","showAppModal","setshowAppModal","smsInputVal","setSmsInputVal","smsInputValidationMsg","setSmsInputValidationMsg","disabledSubmit","setDisabledSubmit","smsInputRef","sectionalAlertRef","handleSubmit","selectedChoice","path","join","validationMsg","post","method_name","then","res","catch","err","handleModalCancel","useUpdateConfiguration","console","log","useSignOut","navigate","useNavigate","clear","useMediaQuery","query","matches","setMatches","media","matchMedia","listener","addEventListener","removeEventListener","SoftLocked","handleSignOut","lockedTimeLeft","setLockedTimeLeft","seconds_remaining","seconds","minutes","handleReturnToSignIn","timeout","timeLeftText","role","ReturnToTop","TermsOfUsePage","useLocation","securityConsentRef","dhsPrivacyRef","fbiPrivacyRef","paperworkReductionRef","tosRef","prevAnchor","setPrevAnchor","hash","scrollIntoView","to","CreateAccountTos","scrollArrowRef","agreeButtonRef","scrollContainerRef","showBtn","setShowBtn","submitButtonDisabled","setSubmitButtonDisabled","scrollingInterval","setInterval","scrollDown","isBottom","getElementById","stopScroll","scrollBy","top","left","behavior","getBoundingClientRect","bottom","innerHeight","trackScrolling","useCallback","wrappedElement","onMouseUp","onMouseOut","onKeyUp","status","EverifyLogo","xmlnsXlink","y1","gradientUnits","offset","stopColor","stopOpacity","FirstLogo","MyuscisLogo","preserveAspectRatio","xlinkHref","logoMap","DashboardCard","buttonText","cardDataMap","cardOrder","Dashboard","allUrls","setAllUrls","cards","setCards","cardsCreated","setCardsCreated","accountType","isApiSubscribed","createDashboardCards","push","forEach","urlName","find","myuscisCardIndex","indexOf","Object","keys","card","LegalSection","listPasskeys","a","getPasskeysResponse","getPasskeysData","records","registerPasskey","registration","success","optionsResponse","optionsJSON","startRegistration","credential","JSON","stringify","serverResponse","removePasskey","passkey","removal","removePasskeyResponse","signInWithPasskey","signIn","challengeResponse","startAuthentication","editPasskey","newFriendlyName","friendly_name","MagicOr","passkeysEnabled","SignIn","submitSignin","setSubmitSignin","pwdFieldType","setPwdFieldType","emailInputVal","setEmailInputVal","passwordInputVal","setPasswordInputVal","emailValidationMsg","setEmailValidationMsg","passwordValidationMsg","setPasswordValidationMsg","loginGovAlert","setLoginGovAlert","hideRender","setHideRender","loggedInWithLoginGov","setLoggedInWithLoginGov","loginGovModEnabled","setLoginGovModEnabled","loading","setLoading","showLoginGovModal","setShowLoginGovModal","loginGovAlertRef","emailRef","passwordRef","showPasswordRef","BUTTONS_SIDE_BY_SIDE_WIDTH","signInButtonsWidth","handleLoggedInWithLoginDotGov","handleLoginGov","enabled","login_dot_gov_url","handleSignInWithPasskeyButton","handleEnterDown","password","loginGovModalBody","currentTarget","passkeyIcon","loginGov","hostName","Error404","TwoFactorAuthentication","handleCancel","validate","validateMsg","setUseBackupCode","useBackupCode","inputRef","backButtonRef","cancelButtonRef","rememberMeAllowed","rememberMe","setRememberMe","handleCreateAccountSubmit","handleSignInSubmit","handleChange2FASubmit","handleChangeMobileSubmit","handleResetPasswordSubmit","handleDeleteAccountSubmit","verification_code","finally","setLinkedLoginGovAlert","lg_account_linked","backup_code","remember_me","code","event","SignInAuth","codeValidation","setCodeValidation","signInCode","setSignInCode","twoFAMethodValue","setTwoFAMethodValue","lowerSectionRef","introText","setIntroText","lowerSection","setLowerSection","clearUnconfirmedData","handleCancelDelete","handleUseBackupCode","getNewCode","endpoint","maskPhoneNumber","usPhone","substring","twoFAMethodValueString","verificationMethod","userMobile","resendCode","enterNewMobile","phone","showTryAnotherWay","component","CreateAccount","submitCreateAccount","setSubmitCreateAccount","test","LegalText","CompanyText","ApplicantText","DefaultText","ConfirmToken","confirmToken","useParams","handleResetPassword","handleSignIn","handleRecoveryEmail","handleCatch","confirmation_token","nextUrl","errMsg","api_creation","parameterFromAccountType","hasOwnProperty","nextState","AuthApp2faConfirmation","setEmail","qrkey","setQrkey","issuer","setIssuer","showQRCodeModal","setShowQRCodeModal","showHelpModal","setShowHelpModal","setIsChange2fa","handleHelpModalCancel","qr_email","encodeURI","qr_codekey","qr_issuer","SecurityQuestion","allQuestions","selectedQuestions","questionNumber","question","setQuestion","answer","setAnswer","errorMsgs","setErrorMsgs","errorFocus","setOptions","appended508Text","setAppended508Text","questionRef","answerRef","index","updateOptions","opt","aria508Text","SelectQuestionInput","fieldName","split","NUMBER_OF_SECURITY_QUESTIONS","selectedOption","handleAnswerChange","initialErrorMsgs","Array","initialFirstError","SetSecurityQuestions","activeQuestions","setActiveQuestions","questionList","setQuestionList","securityAnswersData","setSecurityAnswersData","isLoading","setIsLoading","questionsAreLoaded","setQuestionsAreLoaded","answersAreLoaded","setAnswersAreLoaded","setSelectedQuestions","answers","setAnswers","firstError","setFirstError","handleSelectQuestion","selectedQuestionsCopy","answersCopy","handleAnswerInput","answ","i","updateErrMsg","errMsgsCopy","questionObjs","questionObj","security_answers","values","chosenQuestions","givenAnswers","answerObj","questionId","questionIdx","findIndex","obj","currentErrs","questionErrMsg","answerErrMsg","firstIdx","validateFields","activeQuestionIndex","item","assign","security_question_id","createBody","BackupCode","modalClose","hasUserData","setHasUserData","handleContinueOrClose","handleGenerateNewCode","MainContent","trigger","content","printBackUpCode","createElement","introElem","classList","add","appendChild","createTextNode","AccountType","isDisabled","setIsDisabled","h1btoggleEnabled","seth1btoggleEnabled","alertIcon","EditAccountRow","buttonClass","testId","isView","EditAccount","showBackupModal","setShowBackupModal","showUnlinkModal","setShowUnlinkModal","showUnlinkConfirmationModal","setShowUnlinkConfirmationModal","userSignedIn","setUserSignedIn","updateConfiguration","passkeysRowProps","rp_url","URL","hostname","endsWith","sessionStorage","onClickWrapper","goToUrl","refreshUser","lg_email","lg_uuid","login_dot_gov_linked_email","recovery_email","getTwoStepVerificationText","EditMobile","inputValidationMsg","setInputValidationMsg","inputValue","setInputValue","currentPhone","setCurrentPhone","openModal","setOpenModal","mobileNumber","EditRecoveryEmail","initialInput","currentPassword","setCurrentPassword","passwordInputValidationMsg","setPasswordInputValidationMsg","passwordInputRef","recoveryEmail","current_password","alertMsg","errorMessage","processErrorMessage","trimStart","LegalRepresentative","ChangePrimaryEmail","emailInputValidationMsg","setEmailInputValidationMsg","emailInputRef","setpasswordInputVal","new_email","successMsg","FooterTop","FooterMidLogo","imgSrc","uscisfooterseal","FooterMidSocials","facebook","X","youtube","instagram","linkedin","FooterMid","OfficialLogoAndLink","dhsfootersealsmall","FooterExternalLinks","screenSizeSmall","screenSizeLarge","links","columnsCount","columns","columnIndex","column","link","FooterBottomLogo","FooterBottomIframe","FooterBottom","Footer","GovBanner","isExpanded","setExpanded","downArrow","fillRule","clipRule","upArrow","evt","toggleExpand","blackLock","displayName","LogoutIcon","focusable","SignOut","signOut","HeaderBannerBar","showSignout","setShowSignout","some","pathname","account_deletion_state","uscis_white","worker","EnvironmentBanner","environment","environments","getEnvironment","toUpperCase","getIconByStatusType","StatusBarSection","statuses","setStatuses","showPreviewText","handleDismissedPressed","s","keyPress","hanldeKeyPressed","Header","topRef","showStatusBar","host","workerBlob","Blob","Worker","createObjectURL","onmessage","postMessage","workerTimer","callbacks","cb","interval","context","this","fn","command","time","onMessage","callback","apply","bind","getIdleTimerTime","useSpeedyTimers","syncedTime","idleTimerLastRefresh","getTime","Number","getPromptTimerTime","idleTimerTime","IdleTimerContainer","showIdleModal","setShowIdleModal","idleTimerId","setIdleTimerId","promptTimerId","setPromptTimerId","userRef","idleTimerIdRef","promptTimerIdRef","configurationRef","setupIdleTimer","promptTimerTime","syncTimers","toString","getAuthenticationState","handleResetTimer","ev","leavingApp","canVisitAccountTypePage","incorrect2faCodeReceivedRouteHelper","awaiting2faMethodSelectionRouteHelper","awaiting2faMethodConfirmationRouteHelper","awaitingSecurityQuestionsSetupRouteHelper","techSupportPasswordResetRouteHelper","fullySignedInRouteHelper","getDirectedUrl","reset_state","isUnAuthenticatedRoute","shouldBeSentToSignIn","lgAccountLinked","shouldBeSendToBackupCodePage","shouldBeSentToAccountTypePage","shouldReturnToSaml","samlRoute","returnToSaml","shouldBeSentToDashboard","shouldBeSendToEditAccountPage","directedRoute","directedRouteByAuthenticationState","directedRouteByResetState","directedRouteByAccountDeletionState","Redirection","redirecting","setRedirecting","scrollThenNavigate","directedUrl","RootLayout","configurationDataLoaded","setConfigurationDataLoaded","userDataLoaded","setUserDataLoaded","refreshConfiguration","loadState","eventsHeaders","AccountActivity","formattedRows","setFormattedRows","events","rows","created","created_at","event_name","humanized_event_name","device","humanized_device","formatEventsData","handleLinkNavigate","defaultAnswer","AnswerSecurityQuestions","setQuestions","ans","errs","passkeysFaqItems","AccordionItem","open","Accordion","items","setOpen","handleClick","PasskeysFaq","ForgotPassword","validateEmailField","ResendConfirmation","successAlert","setValidationMsg","setSubmitSignIn","InvitationExpired","textComponentFromTextParam","VerifyYourAccount","errMessage","DeleteAccountSuccess","initSPFormat","approval","humanized_approval","reason","case_detail","cases","drafts","PROLOGUE_WARNING","wrapItemsInQuotes","DisplayUSCIS","DisplayFirstOrMyEverify","DeleteAccountFailure","spApprovals","titleText","setTitleText","mainDescription","setMainDescription","firstData","setFirstData","myEverifyData","setMyEverifyData","myUSCISData","setMyUSCISData","handleBack","formatResponse","spApprovalData","canBeDeleted","entries","approvalStatus","myeverify","first","DeleteAccountResponse","accountDeleted","setAccountDeleted","setSpApprovals","sp_approvals","ConfirmDelete","confirmInputVal","setconfirmInputVal","confirmInputValidationMsg","setconfirmInputValidationMsg","confirmInputRef","LoginGovLinked","defaultConfirmationModal","show","keepLinkedAccount","successfulLink","confirmationModal","setConfirmationModal","linkNewAccountBody","linked_lg_email","keepLinkedAccountBody","handleLinkNewAccount","handleKeepCurrentAccount","loginGovFaqItems","LoginGovFaq","LastUsed","timestamp","timeInWords","setTimeInWords","dateFromTimestamp","minutesAgo","getMinutesAgo","hoursAgo","Math","floor","Intl","DateTimeFormat","year","month","day","format","datetime","millisecondsAgo","MenuPencilIcon","clipPath","strokeLinejoin","MenuEyeIcon","MenuXIcon","emptyModal","Passkeys","passkeysList","setPasskeysList","showModal","setShowModal","showEditPasskeyModal","setShowEditPasskeyModal","modalProps","setModalProps","passkeyInputVal","setPasskeyInputVal","passkeyInputRef","passkeyValidationMsg","last_used_at","selectedPasskey","setSelectedPasskey","fetchPasskeys","handleOnModalCancel","handleOnEditPasskeyModalCancel","passkeyDropdownOptions","handlePasskeyDropdownSelect","handleEditButton","handleViewButton","handleRemoveButton","handleOnEdit","editStatus","PasskeysRegister","registrationCompleted","setRegistrationCompleted","handleCancelReturnButton","handleCreatePasskeyButton","fingerPrintIcon","MyUscisCapacity","PlaceHolder","CreatePasswordForm","lazy","ChangePasswordForm","LazyImportPasswordForm","flag","fallback","router","createBrowserRouter","createRoutesFromElements","element","TermsOfUse","Routing","actions","MyAccountReducer","state","action","pathActions","PathReducer","configurationActions","ConfigurationReducer","MyAccountProvider","useReducer","dispatch","myAccountValue","Provider","PathProvider","pathState","dispatchPath","pathValue","ConfigurationProvider","configurationValue","App","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode"],"mappings":"gbA0BMA,EAAgB,SAACC,GACrB,IAAQC,EAA0BD,EAA1BC,KAAMC,EAAoBF,EAApBE,MAAOC,EAAaH,EAAbG,SAErB,OAAOD,EACL,qCACE,8BAAMD,IACN,qBAAKG,UAAU,uBAAuBC,IAAKH,EAAOI,IAAKH,OAGzD,8BAAMF,KAIJM,EAAY,aAEZC,EAAS,SAACR,EAAoBS,GAClC,IACEC,EAeEV,EAfFU,GACAT,EAcED,EAdFC,KAFF,EAgBID,EAbFW,YAHF,MAGS,UAHT,EAIEP,EAYEJ,EAZFI,UAJF,EAgBIJ,EAXFY,gBALF,WAgBIZ,EAVFa,oBANF,SAOEC,EASEd,EATFc,UACAC,EAQEf,EARFe,QACAC,EAOEhB,EAPFgB,YACAC,EAMEjB,EANFiB,UACAC,EAKElB,EALFkB,QACAC,EAIEnB,EAJFmB,oBACAjB,EAGEF,EAHFE,MACAC,EAEEH,EAFFG,SACAiB,EACEpB,EADFoB,SAmCF,OACE,wBACEV,GAAIA,EACJ,cAAaA,EACb,aAAYI,GAAab,EACzBG,UAAS,UAAKO,EAAL,YAAaE,GAAgBD,EAAW,4BAA8B,GAAtE,YAA4ER,GACrFW,QAtCoB,WACtB,IAAIM,GAAsB,EAK1B,OAJIF,IACFE,EAAsBF,KAGjBE,IAAwBT,EAAWG,EAAUR,EAgCzCe,GACTN,YA/BwB,WAC1B,IAAIK,GAAsB,EAK1B,OAJIF,IACFE,EAAsBF,KAGjBE,IAAwBT,EAAWI,EAAcT,EAyBzCgB,GACbN,UAxBsB,SAACO,GACzB,GAAIN,GAAqB,UAAVM,EAAEC,IAAiB,CAChC,IAAIJ,GAAsB,EACtBF,IACFE,EAAsBF,KAGpBE,IACFG,EAAEE,iBACFR,KAIJ,OAAOD,EAAYA,EAAUO,GAAK,MAYhC,gBAAeX,GAAgBD,EAC/BH,IAAKA,EATP,SAWGR,EAAO,cAAC,EAAD,CAAeA,KAAMA,EAAMC,MAAOA,EAAOC,SAAUA,IAAeiB,KAKjEO,uBAAWnB,G,OCjGpBoB,G,MAAW,SAAC5B,EAAsBS,GACtC,IAAQoB,EAAqG7B,EAArG6B,MAAR,EAA6G7B,EAA9F8B,eAAf,WAA6G9B,EAA7EI,iBAAhC,MAA4C,GAA5C,EAAgD2B,EAA6D/B,EAA7D+B,SAAhD,EAA6G/B,EAAnDU,UAA1D,MAA+D,WAA/D,IAA6GV,EAAlCc,iBAA3E,MAAuF,GAAvF,IAA6Gd,EAAlBgC,YAA3F,MAAkG,OAAlG,EACA,EAAkCC,mBAASH,GAA3C,mBAAOI,EAAP,KAAkBC,EAAlB,KACA,EAAkCF,oBAAS,GAA3C,mBAAOG,EAAP,KAAkBC,EAAlB,KACA,EAAoCJ,oBAAS,GAA7C,mBAAOK,EAAP,KAAmBC,EAAnB,KAQA,OACE,sBAAKnC,UAAS,4BAAuBA,GAArC,UAEE,uBACE,cAAY,eACZM,GAAIA,EACJN,UAAW,iBACXK,IAAKA,EACLE,KAAK,WACLmB,QAASI,EACTH,SAhBc,SAACP,GAEnBW,GADgBD,GAEhBH,EAASP,IAcLgB,QAAS,WACPH,GAAa,IAEfI,OAAQ,WACNJ,GAAa,IAEfK,aAAc,WACZH,GAAc,IAEhBI,aAAc,WACZJ,GAAc,IAEhB,aAA0B,KAAdzB,EAAmBA,EAAYe,IAG7C,qBACEzB,UAAS,0BAAqBgC,EAAY,YAAc,GAA/C,YAAqDE,EAAa,WAAa,GAA/E,YACPJ,EAAY,UAAY,aAE1BU,MAAO,CAAEC,OAAQb,EAAMc,MAAOd,GAJhC,SAMGE,GACC,sBAAK9B,UAAS,cAAd,UACE,qBAAKA,UAAU,mBACf,qBAAKA,UAAU,wBAIrB,uBAAOA,UAAU,OAAO2C,QAASrC,EAAjC,SACGmB,SAMMF,uBAAWC,G,yBChDpBoB,G,uBACJ,qBAAKC,MAAM,6BAA6BH,MAAM,KAAKD,OAAO,KAAKK,KAAK,UAAU9C,UAAU,UAAU+C,QAAQ,YAA1G,SACE,sBAAMC,EAAE,uMAGCC,EAAuC,SAAC,GAiB9C,IAAD,IAhBJC,aAgBI,MAhBI,GAgBJ,MAfJC,eAeI,SAdJC,EAcI,EAdJA,SACAC,EAaI,EAbJA,KAaI,IAZJC,YAYI,SAXJtC,EAWI,EAXJA,SAWI,IAVJuC,oBAUI,aATJC,oBASI,MATW,KASX,MARJC,wBAQI,MARe,SAQf,MAPJC,uBAOI,aANJC,wBAMI,aALJC,oBAKI,aAJJC,cAII,MAJK,OAIL,MAHJC,sBAGI,MAHa,GAGb,MAFJC,uBAEI,MAFc,GAEd,MADJC,uBACI,MADc,gBACd,EAEEC,EAAkBC,IAAMC,OAAuB,MAWrD,GATAD,IAAME,WAAU,WACVjB,GACFkB,SAASC,KAAK9B,MAAM+B,SAAW,SAC/BN,EAAgBO,QAASC,SAEzBJ,SAASC,KAAK9B,MAAM+B,SARD,KAUpB,CAACpB,EAVmB,MAYlBA,EAAS,OAAO,KAErB,IAAMuB,GAAuB,IAATpB,EACdqB,EAAQ,qGAAiGd,EAAjG,kBACd,OAAQa,EAuCHnB,EAgCH,qBACEjD,GAAG,0BACH,cAAY,0BACZN,UAAW2E,EACXtE,IAAK4D,EACLW,SAAU,EALZ,SAOE,qBAAK5E,UAAU,gBAAf,SACE,qBAAK,cAAY,qBAAqBA,UAAU,YAAhD,SACGgB,QAxCP,cAAC,IAAD,UACE,qBACEV,GAAG,uBACH,cAAY,uBACZN,UAAW2E,EACXtE,IAAK4D,EACLW,SAAU,EALZ,SAOE,sBAAK5E,UAAS,UAAK8D,GAAkB,iBAArC,UACa,KAAVZ,GACC,qBAAKlD,UAAU,mCAAf,SACE,oBAAI,cAAY,cAAhB,SAA+BkD,MAGnC,qBAAK,cAAY,qBAAqBlD,UAAU,YAAhD,SACGgB,IAEH,qBAAKhB,UAAS,4BAAuBgE,GAArC,SACE,cAAC,EAAD,CACEhE,UAAS,eAAU+D,GACnBxD,KAAK,UACLD,GAAG,cACHT,KAAI,UAAK2D,GAAY,QACrB7C,QAAS0C,aA9DnB,cAAC,IAAD,UACE,qBAAK/C,GAAG,kBAAkB,cAAY,kBAAkBN,UAAW2E,EAAUtE,IAAK4D,EAAiBW,SAAU,EAA7G,SACE,sBAAK5E,UAAU,gBAAf,UACa,KAAVkD,GACC,qBAAKlD,UAAU,mCAAf,SACE,oBAAI,cAAY,cAAhB,SAA+BkD,MAGnC,qBAAK,cAAY,qBAAqBlD,UAAU,YAAhD,SACGgB,IAEH,sBAAKhB,UAAS,iCAA4BgE,EAA5B,UAAd,WACIJ,GACA,cAAC,EAAD,CACE5D,UAAS,UAAK+D,GACdxD,KAAK,UACLD,GAAG,eACHT,KAAM2D,EACN7C,QAAS0C,KAGXM,GACA,cAAC,EAAD,CAAQpD,KAAK,SAASD,GAAG,mBAAmBT,KAAM4D,EAAkB9C,QAASyC,KAE7EM,GACA,wBACE1D,UAAU,+FACVW,QAASyC,EACTF,MAAM,cACN,cAAY,YAJd,SAMGN,eChFXiC,G,YAAY,SAACjF,GAEjB,MAAa,mBADIA,EAATW,KAEC,4CAEF,OAGIuE,EAAiB,SAAClF,GAC7B,IAEQW,EAAmBX,EAAnBW,KAAMS,EAAapB,EAAboB,SACR+D,EAAWZ,iBAAuB,MAExC,EAAoCtC,oBAAS,GAA7C,mBAAOmD,EAAP,KAAmBC,EAAnB,KACMC,EAAQ,IAAIC,IA6DlB,OA5DAD,EAAME,IACJ,QACA,qBACE,cAAY,aACZ,aAAW,aACXpF,UAAS,+BAA0BgF,EAAa,sBAAwB,IAH1E,SAKE,cAAC,IAAD,OAGJE,EAAME,IACJ,OACA,qBACE,cAAY,YACZ,aAAW,YACXpF,UAAS,+BAA0BgF,EAAa,sBAAwB,IAH1E,SAKE,cAAC,IAAD,OAGJE,EAAME,IACJ,iBACA,qBACE,cAAY,YACZ,aAAW,YACXpF,UAAS,+BAA0BgF,EAAa,sBAAwB,IAH1E,SAKE,cAAC,IAAD,OAGJE,EAAME,IACJ,UACA,qBACE,cAAY,eACZ,aAAW,eACXpF,UAAS,+BAA0BgF,EAAa,sBAAwB,IAH1E,SAKE,cAAC,IAAD,OAGJE,EAAME,IACJ,UACA,qBACE,cAAY,eACZ,aAAW,eACXpF,UAAS,+BAA0BgF,EAAa,sBAAwB,IAH1E,SAKE,cAAC,IAAD,OAIJZ,qBAAU,WACEW,EAASP,QACba,cAAgBC,GACpBL,GAAc,GAEdA,GAAc,KAEf,IAGD,sBACE3E,GAAG,0BACHD,IAAK0E,EACL/E,UAAS,gFACPgF,EAAa,cAAgB,eADtB,4BAEWzE,EAFX,KAHX,UAOG2E,EAAMK,IAAIhF,GACX,sBAAKP,UAAU,qDAAqD,cAAY,gBAAhF,UACE,cAAC,EAAD,CAAWO,KAAMA,IADnB,IAC6BS,SC3CpBwE,EAtCM,SAAC5F,GACpB,IAAQsD,EAAkCtD,EAAlCsD,MAAOuC,EAA2B7F,EAA3B6F,QAASC,EAAkB9F,EAAlB8F,KAAMC,EAAY/F,EAAZ+F,QAE9B,OACE,wBAAO3F,UAAU,qBAAqB,cAAY,QAAQkD,MAAOA,EAAjE,UACE,gCACE,oBAAI,cAAY,YAAhB,SACGuC,EAAQG,KAAI,SAACC,EAAGC,GAAJ,OACX,oBACEC,MAAM,MACN/F,UAAS,wCAAmC6F,EAAEnD,OAASmD,EAAEnD,MAAhD,gBAET,cAAY,eAJd,SAMGmD,EAAE3C,OAHE2C,EAAExE,YAQf,gCACGqE,EAAKE,KAAI,SAACI,EAAKC,GAAN,OACR,oBAAIjG,UAAS,UAAK2F,EAAU,mBAAqB,MAAoC,cAAY,YAAjG,SACGF,EAAQG,KAAI,SAACC,EAAGK,GAAJ,OACX,oBAEElG,UAAU,+CACV,4BAAoBiG,EAApB,gBAAkCC,GAHpC,SAKGF,EAAI,GAAD,OAAIH,EAAExE,OALZ,qBACqBwE,EAAExE,UAH3B,oBAA2E4E,a,uBCf/EE,EAAiB,SAACvG,EAA4BS,GAClD,IACEoB,EAcE7B,EAdF6B,MACA2E,EAaExG,EAbFwG,IACAzE,EAYE/B,EAZF+B,SACA0E,EAWEzG,EAXFyG,MACA9F,EAUEX,EAVFW,KALF,EAeIX,EATF0G,gBANF,WAeI1G,EARFiB,iBAPF,MAOc,aAPd,IAeIjB,EAPF2G,iBARF,WAeI3G,EANFY,gBATF,WAeIZ,EALF4G,gBAVF,WAeI5G,EAJF6G,yBAXF,MAWsB,GAXtB,IAeI7G,EAHF8G,iBAZF,WAYcC,EAZd,IAeI/G,EAFFgH,iBAbF,MAac,OAbd,IAeIhH,EADFiH,cAdF,SAkBQC,EADkBC,qBAAWC,KAA7BC,cACAH,WAEFxG,EAAE,OAAGmB,QAAH,IAAGA,OAAH,EAAGA,EAAOyF,WAAW,IAAK,KAAKC,cACjCzG,EACJgG,GAAS,UAAOjF,EAAP,YAAgB6E,EAAW,WAAa,GAAxC,YAA8CF,EAA9C,YAA8D,SAAT7F,EAAkB8F,EAAQ,IAAIe,OAAOf,EAAMgB,SAS3G,OACE,sBACErH,UACU,KAARoG,EAAa,mEAAqE,4BAFtF,WAKIG,GACA,wBAAO5D,QAASrC,EAAIN,UAAU,wBAAwB,cAAY,wBAAlE,UACGyB,EACA6E,GAAY,sBAAMtG,UAAU,0BAAhB,kBAGR,KAARoG,GACC,qBAAKpG,UAAU,6BAA6B,cAAY,gBAAxD,SACGoG,IAGJS,EACC,qBAAK7G,UAAmB,KAARoG,EAAa,qEAAuE,OAApG,SACE,cAAC,IAAD,CACEkB,KAAK,iBACLC,YAAa,CAAEC,EAAG,MAClBC,UAAU,EACV9F,SAAUA,EACV0E,MAAOA,EACPqB,OAhCa,SAACC,GACtB,MAAI,CAAC,IAAK,IAAK,KAAKC,SAASD,EAAM,IAC1B,CAAEL,KAAM,iBAAkBC,YAAa,CAAEC,EAAG,UAE9C,CAAEF,KAAM,iBAAkBC,YAAa,CAAEC,EAAG,QA6B3CnH,IAAKA,EACLwH,UAAU,EACVvH,GAAIA,EACJC,KAAMuG,EAAa,MAAQ,GAC3BF,UAAWA,EACX,6BAAqBtG,GACrBN,UAAS,mCACC,KAARoG,EAAa,eAAiB,kBADvB,YAELK,GACJ,aAAY/F,EAAUoH,WAI1B,qBAAK9H,UAAmB,KAARoG,EAAa,qEAAuE,OAApG,SACE,uBACE,6BAAqB9F,GACrBD,IAAKA,EACLC,GAAIA,EACJ,aAAYI,EAAUoH,OACtBnG,SAAUA,EACVd,UAAWA,EACXb,UAAS,mCACC,KAARoG,EAAa,eAAiB,kBADvB,YAELK,GACJlG,KAAMA,EACNqG,UAAWA,EACXP,MAAOA,EACP7F,SAAUA,EACVgG,SAAUA,UAOPjF,uBAAW4E,GClHb4B,G,MAAgB,SAACnI,GAC5B,MAAsFA,EAA9EoI,eAAR,MAAkB,0BAAlB,IAAsFpI,EAAzCgC,YAA7C,MAAoD,KAApD,IAAsFhC,EAA5BqI,aAA1D,MAAkE,gBAAlE,EACA,OACE,sBAAK,cAAY,cAAcjI,UAAU,sDAAzC,UACE,sBACE0C,MAAOd,EACPa,OAAQb,EACR5B,UAAS,UAAKiI,EAAL,qCACTlF,QAAQ,kBACRmF,QAAQ,MACRrF,MAAM,6BANR,UAQE,wBACEsF,EAAE,KACFC,GAAG,MACHC,GAAG,MACHvF,KAAK,cACLwF,OAAO,UACPC,YAAY,OACZC,gBAAgB,WAChBC,iBAAiB,MAEnB,wBACEN,EAAE,KACFC,GAAG,MACHC,GAAG,MACHC,OAAO,eACPC,YAAY,OACZG,cAAc,QACdD,iBAAiB,YACjB3F,KAAK,cACL0F,gBAAgB,gBAGnBR,EAAQX,OAAS,GAAK,oBAAIrH,UAAS,UAAKiI,EAAL,SAAb,SAAiCD,SCpBjDW,EAAe,SAAC/I,GAC3B,IAAQ6B,EAAqE7B,EAArE6B,MAAOmH,EAA8DhJ,EAA9DgJ,WAAYC,EAAkDjJ,EAAlDiJ,QAASnD,EAAyC9F,EAAzC8F,KAApC,EAA6E9F,EAAnCkJ,oBAA1C,MAAyD,MAAzD,EAAgEC,EAAanJ,EAAbmJ,SAChE,EAA4BlH,oBAAkB,GAA9C,mBAAOmH,EAAP,KAAeC,EAAf,KACA,EAAgCpH,mBAAiCiH,GAAjE,mBAAOI,EAAP,KAAiBC,EAAjB,KACA,EAAoCtH,mBAAiB,GAArD,mBAAOuH,EAAP,KAAmBC,EAAnB,KAEMC,EAAgBnF,iBAA0B,MAC1CoF,EAAYpF,iBAAmB,IAM/BqF,EAAa,SAACC,GAClBN,EAAYM,GACZV,EAASU,EAAK/D,GACduD,GAAU,IAGZ7E,qBAAU,WAC6B,IAAD,EAAH,IAA7BmF,EAAU/E,QAAQ6C,SACpB,UAAAkC,EAAU/E,QAAQ,UAAlB,SAAsBC,QACtB4E,EAAc,MAEf,CAACE,IAEJ,IAAMG,EAAiB,SAACtI,GAUtB,GATAA,EAAEE,iBACY,WAAVF,EAAEC,KACJ4H,GAAU,GAEE,UAAV7H,EAAEC,KAAoB2H,EAEL,UAAV5H,EAAEC,KAAmB2H,GAC9BQ,EAAWpI,EAAEuI,OAAOC,MAFpBX,GAAU,GAIE,QAAV7H,EAAEC,IAAe,CAAC,IAAD,EACbwI,EAAWT,EAAaP,EAAQxB,OAAS,EAAI+B,EAAa,EAAI,EACpEC,EAAcQ,GACd,UAAAN,EAAU/E,QAAQqF,UAAlB,SAA6BpF,QAE/B,GAAc,QAAVrD,EAAEC,KAAiBD,EAAE0I,SAAU,CAAC,IAAD,EAC3BD,EAA0B,IAAfT,EAAmBP,EAAQxB,OAAS,EAAI+B,EAAa,EACtEC,EAAcQ,GACd,UAAAN,EAAU/E,QAAQqF,UAAlB,SAA6BpF,UAIjC,OACE,sBAAKzE,UAAU,2BAA2B,cAAa,2BAA6B4I,EAApF,UACE,wBACEvI,IAAKiJ,EACLtJ,UAAW,uBAAyBgJ,EAAS,iBAAmB,IAChEzI,KAAK,SACLD,GAAG,8BACH,iBAAe,WACf,uBAAemB,EAAf,YAAwByH,EAAxB,cAAsCF,EAAS,WAAa,aAC5DrI,QAhDqB,WACzBsI,GAAWD,IAwCT,SASE,qBAAKhJ,UAAU,sBAAsB,cAAa,iBAAmB4I,EAArE,SACE,cAAC,IAAD,QAGHI,GACC,cAAC,IAAD,CACEe,iBAAkB,CAChBC,yBAAyB,EACzBC,aAAc,WACZhB,GAAU,KAJhB,SAQE,qBAAK,cAAa,yBAA2BL,EAA7C,SACE,qBACE5I,UAAU,qJACV,kBAAgB,2BAFlB,SAIG6I,EAAQjD,KAAI,SAACsE,EAAQpE,GAAT,OACX,yBACE8D,KAAMM,EAAON,KAEbvJ,IAAK,SAAC8J,GAAD,OAASZ,EAAU/E,QAAQsB,GAAOqE,GACvC,cAAa,uBACbnK,UAAU,6DACVW,QAAS,kBAAM6I,EAAWU,EAAON,OACjC/I,UAAW6I,EAPb,UASE,sBAAM1J,UAAU,oDAAhB,SAAqEkK,EAAOE,SAC3EF,EAAON,OAVV,UAEUM,EAAON,KAFjB,YAEyB9D,kB,6BCjGzC,yIAKauE,EAAmBC,wBAAcC,KACjCC,EAAcF,wBAAcG,KAC5BzD,EAAuBsD,wBAAcI,M,wLCF5CC,EAAmB,QAIrBC,GAAuB,EAEvBC,EAAY,CACdC,WAAY,cAGDC,EAAe,SAACC,GAC3BH,EAAYG,GAGDC,EAA0B,SAACC,GACtCN,EAAuBM,GAGlB,SAASC,EAAeC,GAC7B,OAAiB,OAAVA,GAAmC,kBAAVA,GAA8C,IAAxBA,EAAMtD,OAAOT,OAa9D,SAASgE,EAAsBC,GACpC,IAAMF,EAAQE,EAAS5F,KAAK6F,MACxBJ,EAAeC,IACjBI,aAAaC,QAAQd,EAAkBS,GAIpC,IAAMM,EAAY,SAACJ,GAMxB,OALAD,EAAsBC,GAGtBT,EAAUC,aAEHQ,GAuBIK,EAAe,WAC1B,IAAMC,EAAiB7E,qBAAWsD,KAC5BwB,EAAgB9E,qBAAWC,KAE3B8E,EAAYC,IAAMC,OAAO,CAC7BC,QAAQ,GAAD,OAAKC,OAAOC,SAASC,OAArB,OACP3G,QAAS,CAAE,eAAgB,sBAG7BqG,EAAUO,aAAaC,QAAQC,KAtDxB,SAACC,GACN,IAAMpB,EAAQI,aAAaiB,QAAQ9B,GAInC,OAHIQ,EAAeC,KACjBoB,EAAO/G,QAAQ,gBAAkB2F,GAE5BoB,KAiD4C,SAACE,GACpD,OAAOC,QAAQC,OAAOF,MASxB,OAFAZ,EAAUO,aAAaf,SAASiB,IAAIb,GAJX,SAACgB,GACxB,OAjCoB,SAACA,EAAYrC,EAAuBrD,GAA+B,IAAD,IAgBxF,OAfI,UAAA0F,EAAMpB,SAAS5F,YAAf,mBAAqBgH,aAArB,SAA4B9E,SAAS,mBAAqBgD,IAC5DP,EAAiBwC,QAAQC,KACzB9F,EAAqB+F,iBAArB,2BACK/F,EAAqBC,eAD1B,IAEE+F,UAAW,EACXC,iBAAkB,GAClBC,gBAAiB,GACjBC,kBAAmB,OAKvBtC,EAAUC,aAEVO,EAAsBqB,EAAMpB,UACrBqB,QAAQC,OAAOF,GAiBbU,CAASV,EAAOd,EAAgBC,MAKlCC,I,8BC5FT,WAaeuB,IAXO,SAACC,GACrBlJ,qBACE,WACEC,SAASnB,MAAQoK,IAGnB,M,weCNSC,EAAuB,SAAC3N,GAInC,IAAQqI,EAAyBrI,EAAzBqI,MAAR,EAAiCrI,EAAlB6C,cAAf,MAAwB,KAAxB,EACA,OACE,qBACEK,KAAMmF,EACNxF,OAAQA,EACRnC,GAAG,UACH4H,QAAQ,MACRnF,QAAQ,cACRL,MAAM,KACNG,MAAM,6BAPR,SASE,sBAAMG,EAAE,uOCfDwK,EAAe,SAAC5N,GAC3B,IAAQqI,EAAyBrI,EAAzBqI,MAAR,EAAiCrI,EAAlB6C,cAAf,MAAwB,KAAxB,EAEA,OACE,qBACE,cAAY,oBACZK,KAAMmF,EACNpF,MAAM,6BACNH,MAAM,KACND,OAAQA,EACRM,QAAQ,YANV,SAQE,mBACEzC,GAAG,8BACH,YAAU,+BACVmN,UAAU,mCAHZ,SAKE,sBACEnN,GAAG,aACH0C,EAAE,qMACFyK,UAAU,+BCpBPC,EAAa,SAAC9N,GACzB,IAAQqI,EAAyBrI,EAAzBqI,MAAR,EAAiCrI,EAAlB6C,cAAf,MAAwB,KAAxB,EAEA,OACE,qBACE,cAAY,oBACZK,KAAMmF,EACNpF,MAAM,6BACNH,MAAM,KACND,OAAQA,EACRM,QAAQ,YANV,SAQE,sBACEC,EAAE,qMACFyK,UAAU,6BCdLE,EAAqB,SAAC/N,GAIjC,IAAQqI,EAAyBrI,EAAzBqI,MAAR,EAAiCrI,EAAlB6C,cAAf,MAAwB,KAAxB,EAEA,OACE,sBACEK,KAAMmF,EACNxF,OAAQA,EACRnC,GAAG,UACH4H,QAAQ,MACRnF,QAAQ,cACRL,MAAM,KACNG,MAAM,6BAPR,UASE,qDACA,sBAAMG,EAAE,iOCjBD4K,EAAU,SAAChO,GACtB,IAAQqI,EAAyBrI,EAAzBqI,MAAR,EAAiCrI,EAAlB6C,cAAf,MAAwB,KAAxB,EAEA,OACA,qBAAK,cAAY,WAAWK,KAAMmF,EAAOxF,OAAQA,EAAQnC,GAAG,UAAU4H,QAAQ,MAAMnF,QAAQ,cAAcL,MAAM,KAAKG,MAAM,6BAA3H,SACE,sBAAMG,EAAE,qbCLC6K,EAAqB,WAC9B,OACI,sBAAKhL,MAAM,6BAA8BH,MAAM,KAAKD,OAAO,KAAKM,QAAQ,YAAxE,UACA,+BACI,yBAAQzC,GAAG,YAAYwN,EAAE,IAAIC,EAAE,IAAIrL,MAAM,KAAKD,OAAO,KAAKuL,YAAY,iBAAtE,UACA,0BAAUC,GAAG,MACb,gCAAgBC,aAAa,IAAIC,OAAO,SACxC,yBAASC,aAAa,UACtB,6BAAaC,SAAS,KAAKC,IAAI,SAC/B,6BAAaC,GAAG,uBAGpB,oBAAGjO,GAAG,oBAAoB,YAAU,oBAAoBmN,UAAU,iBAAlE,UACI,mBAAGA,UAAU,6BAA6Be,OAAO,kBAAjD,SACA,wBAAQlO,GAAG,cAAc,YAAU,YAAY8H,GAAG,KAAKC,GAAG,KAAKF,EAAE,KAAKsF,UAAU,iBAAiB3K,KAAK,WAEtG,oBAAGxC,GAAG,eAAe,YAAU,eAAemN,UAAU,uBAAxD,UACA,sBAAMnN,GAAG,cAAc,YAAU,cAAc0C,EAAE,UAAUyK,UAAU,uBAAuB3K,KAAK,OAAOwF,OAAO,OAAOC,YAAY,MAClI,oBAAGjI,GAAG,eAAe,YAAU,eAA/B,UACI,sBAAMA,GAAG,WAAW,YAAU,WAAWmO,GAAG,QAAQC,GAAG,QAAQjB,UAAU,uBAAuB3K,KAAK,OAAOwF,OAAO,OAAOC,YAAY,MACtI,sBAAMjI,GAAG,WAAW,YAAU,WAAWqO,GAAG,QAAQD,GAAG,QAAQjB,UAAU,uBAAuB3K,KAAK,OAAOwF,OAAO,OAAOC,YAAY,mBCrBzIqG,EAAc,WACvB,OACI,sBAAK/L,MAAM,6BAA6BH,MAAM,SAASD,OAAO,KAAKM,QAAQ,gBAA3E,UACI,oDACA,sBAAMzC,GAAG,WAAW0C,EAAE,04BAA04ByK,UAAU,oBAAoB3K,KAAK,qBCHl8B+L,EAAa,SAACjP,GACzB,IAAQqI,EAAuBrI,EAAvBqI,MAAR,EAA+BrI,EAAhB6C,cAAf,MAAsB,KAAtB,EAEA,OACE,qBAAK,cAAY,cAAcK,KAAMmF,EAAOxF,OAAQA,EAAQnC,GAAG,UAAU4H,QAAQ,MAAMnF,QAAQ,cAAcL,MAAM,KAAKG,MAAM,6BAA9H,SACE,sBAAMG,EAAE,8ZCND8L,EAA0B,WACrC,OACE,sBAAKxO,GAAG,qBAAqB,YAAU,qBAAqBN,UAAU,iCAAiC6C,MAAM,6BAA6BE,QAAQ,YAAlJ,UACE,+CACA,sBAAMzC,GAAG,qBAAqB0C,EAAE,8PAA8PyK,UAAU,mBAAmB3K,KAAK,aCJzTiM,EAAyB,WAClC,OACI,sBAAKzO,GAAG,oBAAoB,YAAU,oBAAoBuC,MAAM,6BAA6B7C,UAAU,iCAAiC+C,QAAQ,YAAhJ,UACI,8CACA,sBAAMzC,GAAG,cAAc0C,EAAE,+VAA+VyK,UAAU,mBAAmB3K,KAAK,aCJzZkM,EAA4B,WACrC,OACI,sBAAKnM,MAAM,6BAA6B7C,UAAU,iCAAiC+C,QAAQ,YAA3F,UACI,iDACA,sBAAMzC,GAAG,qBAAqB0C,EAAE,uUAAuUyK,UAAU,mBAAmB3K,KAAK,aCJxYmM,EAA4B,WACrC,OACI,sBAAK3O,GAAG,KAAKuC,MAAM,6BAA6B7C,UAAU,iCAAiC+C,QAAQ,oBAAnG,UACI,iDACA,sBAAMzC,GAAG,QAAQ0C,EAAE,2xBAA2xByK,UAAU,wBAAwB3K,KAAK,gBCLp1BoM,EAAe,WAC1B,OACE,sBAAKrM,MAAM,6BAA6BH,MAAM,KAAKD,OAAO,IAAIM,QAAQ,WAAWD,KAAK,OAAtF,UACE,wBAAQsF,GAAG,IAAIC,GAAG,IAAIF,EAAE,IAAIrF,KAAK,YACjC,wBAAQsF,GAAG,UAAUC,GAAG,IAAIF,EAAE,IAAIrF,KAAK,YACvC,wBAAQsF,GAAG,OAAOC,GAAG,IAAIF,EAAE,IAAIrF,KAAK,iB,8BCgC1C,wIAAO,IAAMqM,EAAe,CAC1B5O,KAAM,GACNyH,QAAS,GACToH,eAAe,GA4CJtC,EAAc,CACzBuC,SAAU,GACVC,kBAAmB,CAAC,IACpBC,qBAAsB,GACtBC,MAAO,GACP3I,OAAQ,GACR4I,mBAAoB,GACpBC,8BAA+B,IAC/BC,aAAc,KACdC,uBAAwB,KACxBC,UAAW,GACXC,iBAAkB,GAClBC,kBAAmB,GACnB3J,IAAK,GACL4J,SAAU,IAgBCzF,EAA2B,CACtC0F,KAAMnD,EACND,QAAS,aACTqD,MAAOf,EACPgB,SAAU,aACVC,WAAY,aACZC,qBAAsB,aACtBjF,MAAO,GACPkF,SAAU,aACVC,qBAAqB,EACrBC,uBAAwB,cAGbC,EAA+B,CAC1CR,KAvEsB,CACtBZ,SAAU,QACVC,kBAAmB,CAAC,OACpBC,qBAAsB,sBACtBC,MAAO,iBACP3I,OAAQ,oBACR4I,mBAAoB,oBACpBC,8BAA+B,SAC/BC,aAAc,KACdC,uBAAwB,KACxBC,UAAW,GACXC,iBAAkB,GAClBE,SAAU,IA4DVnD,QAAS,aACTqD,MAnFuB,CACvB3P,KAAM,UACNyH,QAAS,qBAkFTmI,SAAU,aACVC,WAAY,aACZC,qBAAsB,aACtBjF,MAAO,GACPkF,SAAU,aACVC,qBAAqB,EACrBC,uBAAwB,e,0FCtHbE,EAAc,CACzBC,IAAK,GACLC,OAAQ,aACRC,UAAW,GACXC,aAAc,aACdC,UAAW,KACXC,aAAc,cAqBHvG,EAA2B,eACnCiG,GAGuC,eACvCA,I,0ECVQhG,EAAkD,eA1B3B,CAClCzD,cAAe,CACbgK,YAAa,GACbnK,YAAY,EACZmG,iBAAkB,GAClBC,gBAAiB,GACjBF,UAAW,EACXG,kBAAmB,GACnB+D,mBAAmB,GAErBnE,iBAAkB,eAoB+C,eAjB9B,CACnC9F,cAAe,CACbgK,YAAa,CAAC,sBACdnK,YAAY,EACZmG,iBAAkB,iBAClBC,gBAAiB,iBACjBF,UAAW,EACXG,kBAAmB,GACnB+D,mBAAmB,GAErBnE,iBAAkB,gB,0ICpCPoE,EAAS,WACpB,OACE,sBACEtO,MAAM,6BACNH,MAAM,KACND,OAAO,KACPK,KAAK,eACL9C,UAAU,UACV+C,QAAQ,YANV,UAQE,+CACA,sBAAMC,EAAE,wMCEDoO,G,MAAoB,SAACxR,GAChC,IAAQI,EAA2FJ,EAA3FI,UAAWqR,EAAgFzR,EAAhFyR,UAAWC,EAAqE1R,EAArE0R,WAAYpO,EAAyDtD,EAAzDsD,MAAOqO,EAAkD3R,EAAlD2R,gBAAiBC,EAAiC5R,EAAjC4R,mBAAoBxQ,EAAapB,EAAboB,SAYtF,OAAO,qBACLhB,UAAS,8BAAyBuR,EAAkB,SAAW,SAAtD,YAAkEvR,GAC3EwC,MAAO,CAAE6O,UAAWE,EAAkBF,EAAY,OAClD,cAAaC,EAHR,SAKL,sBAAKtR,UAAU,yBAAf,UACE,qBAAKA,UAAU,yBAAf,SACE,cAAC,IAAD,MAEF,qBAAKA,UAAU,YAAf,SACE,sBAAKA,UAAU,gBAAf,UACE,qBAAKA,UAAU,YAAf,SACE,4BAAIkD,MAGLlC,OAGL,wBACEhB,UAAU,wCACV,cAAY,sBACZ,6BAAqBkD,EAArB,aACA0B,SAAU2M,EAAkB,GAAK,EACjC5Q,QAjCc,WAClB6Q,GAAmB,IAiCfC,WA9Ba,SAACC,GACG,UAAjBA,EAASrQ,KACXmQ,GAAmB,IAsBnB,SAQE,cAAC,EAAD,aAcKG,EAAkB,SAAC/R,GAC9B,IAAQI,EAA0EJ,EAA1EI,UAAWsR,EAA+D1R,EAA/D0R,WAAY5Q,EAAmDd,EAAnDc,UAAW6Q,EAAwC3R,EAAxC2R,gBAAiBC,EAAuB5R,EAAvB4R,mBAE3D,EAAwC3P,mBAAS,GAAjD,mBAAO+P,EAAP,KAAqBC,EAArB,KAyBA,OAAO,wBACL7R,UAAS,gCAA2BA,GACpC,cAAasR,EACb,aAAY5Q,EACZ4B,aA1BuB,WACvB,IAAMwP,EAAU5F,OAAO6F,YAAW,WAChCP,GAAmB,KAClB,KACHK,EAAgBC,IAuBhBvP,aApBqB,WACrB2J,OAAO8F,aAAaJ,IAoBpBjR,QAXc,WACduL,OAAO+F,cAAcL,GACrBJ,GAAmB,IAUnBC,WAlBiB,SAACC,GACG,UAAjBA,EAASrQ,KACXmQ,GAAmB,IAiBrB5M,SAAU2M,GAAmB,EAAI,EAR5B,SAUL,cAAC,IAAD,Q,+iBC1GSW,EACX,uHACWC,EAAsB,qCAE5B,SAASC,EAAoBzK,GAA+C,IAAhC0K,EAA+B,wDAChF,GAAc,KAAV1K,GAAgB0K,EAAc,OAAOF,EACzC,GAAc,KAAVxK,IAAiB0K,EAAc,OAAOH,EAC1C,IAAII,EAAyC,oEACzCC,EACF,+IAOF,OALIF,EACuB1K,EAAM6K,MAAMD,GAA6C,GAAKJ,EAE9DxK,EAAM6K,MAAMF,GAA0C,GAAKJ,EAKjF,SAASO,EAAkBpM,GAChC,OAAKA,EACEA,EAAMqM,QAAQ,MAAO,IADT,GAId,SAASC,EAAqBtM,GACnC,MAAc,KAAVA,QAA0BM,IAAVN,EACX,gCACe,MAAbA,EAAM,IAA2B,MAAbA,EAAM,IAA+B,KAAjBA,EAAMgB,OAChD,gFAEF,GAGF,IAAMuL,EAAsB,SAACC,GAClC,IAAIC,EAAe,IAAIC,KAAKF,GAC5B,MAAe,KAAXA,GAA4B,OAAXA,EAAwB,GAChC,UAAMC,EAAaE,eAAe,UAAW,CACxDC,UAAW,SADA,YAEPH,EAAaE,eAAe,UAAW,CAAEE,UAAW,WAK/CC,EACX,yHACyF,IACvF,mBACEnT,UAAU,yCACV2J,OAAO,SACPyJ,IAAI,aACJC,KAAK,4CAJP,wBAOK,IATP,qBAcWC,EAAgB,CAC3B/S,KAAM,OACNyH,QACE,iMACFoH,eAAe,G,sBCrDXmE,EAAuB,SAAC3T,GAC5B,IAAQU,EACNV,EADMU,GAAI+F,EACVzG,EADUyG,MAAOnD,EACjBtD,EADiBsD,MAAOsQ,EACxB5T,EADwB4T,YAAaxS,EACrCpB,EADqCoB,SAAUkI,EAC/CtJ,EAD+CsJ,SAAUuK,EACzD7T,EADyD6T,YAAaC,EACtE9T,EADsE8T,YAAaC,EACnF/T,EADmF+T,aAAcjK,EACjG9J,EADiG8J,eAEnG,OACE,sBACE1J,UAAS,uDACPkJ,IAAa7C,GAAUoN,GAAeC,IAAgBrN,EAAS,oBAAsB,WAEvF,uBAAenD,EAAf,aAAyBsQ,EAAzB,YACEtK,IAAa7C,GAAUoN,GAAeC,IAAgBrN,EAAS,UAAY,aAE7E,wBAAgB/F,EAAhB,WACAsE,SAAU,EACVjE,QAAS,kBAAMgT,EAAatN,IAC5BxF,UAAW,SAACO,GAAD,OAAOsI,EAAerD,EAAOjF,IAV1C,UAYE,uBACEpB,UAAU,+CACV,wBAAgBM,EAAhB,cACAsE,UAAW,EACXtE,GAAIA,EACJC,KAAK,QACL8F,MAAOA,EACP3E,QAASwH,IAAa7C,GAAUoN,GAAeC,IAAgBrN,EAC/DG,UAAQ,IAEV,uBAAO7D,QAASrC,EAAIN,UAAU,yCAA9B,SACE,gCACE,oBAAIM,GAAE,UAAKA,EAAL,UAAiBN,UAAU,UAAjC,SACGkD,IAEFlC,GACC,mBAAGV,GAAE,UAAKA,EAAL,SAAgBN,UAAU,UAA/B,SACGwT,aA6aAI,EApaG,SAAChU,GACjB,IAAQW,EAASX,EAATW,KAGAuG,EADkBC,qBAAWC,KAA7BC,cACAH,WAEJ+M,EAAY,GAEhB,OAAQtT,GACN,IAAK,OACHsT,EAAY,eACZ,MACF,IAAK,mBACHA,EAAY,mBAMhBxG,YAAc,kEACd,MAAuDtG,qBAAWsD,KAA1D4F,EAAR,EAAQA,KAAMpD,EAAd,EAAcA,QAASqD,EAAvB,EAAuBA,MAAOC,EAA9B,EAA8BA,SAAUC,EAAxC,EAAwCA,WACxC,EAA4CrJ,qBAAWyD,KAA/CoG,EAAR,EAAQA,OAAQC,EAAhB,EAAgBA,UAAWC,EAA3B,EAA2BA,aAC3B,EAAsCjP,oBAAS,GAA/C,mBAAO4R,EAAP,KAAoBK,EAApB,KACA,EAAsCjS,mBAAS,IAA/C,mBAAO6R,EAAP,KAAoBK,EAApB,KACA,EAAgClS,mBAAiBoO,EAAKX,kBAAkB,IAAM,IAA9E,mBAAOpG,EAAP,KAAiBC,EAAjB,KACA,EAAwCtH,oBAAS,GAAjD,mBAAOmS,EAAP,KAAqBC,EAArB,KACA,EAAsCpS,mBAAS,IAA/C,mBAAOqS,EAAP,KAAoBC,EAApB,KACA,EAA0DtS,mBAAS,IAAnE,mBAAOuS,EAAP,KAA8BC,EAA9B,KACA,EAA4CxS,oBAAS,GAArD,mBAAOyS,EAAP,KAAuBC,EAAvB,KAEMC,GAAcrQ,iBAAyB,MACvCsQ,GAAoBtQ,iBAAuB,MAE3C2H,GAAYH,cAEZgI,GAAe,SAACtN,GAChB6J,EAAMlI,SAASoI,IACfkE,GAAgBC,GAAkB,GAEtCpL,EAAY9C,GACE,WAAVA,GACF8N,EAAe1B,EAAkBxC,EAAKpJ,UAIpC6C,GAAiB,SAACrD,EAAejF,GACvB,MAAVA,EAAEC,MACJD,EAAEE,iBACF6H,EAAY9C,KAIVqO,GAAe,WACnB,GAAiB,KAAbxL,EAAJ,CACA,IAAIyL,EAAqC,GAErB,KAAhBjB,GACFvK,EAAYuK,GACZiB,EAAiBjB,GAEjBiB,EAAiBzL,EAGnBqL,GAAkB,GAElB,IAAMK,EAAI,iBAAanB,EAAc,8BAAgC,4BAErE,GAAuB,WAAnBkB,EAA6B,CAAC,IAAD,EAC3BlL,EAAQyK,EAAF,UAAgBA,EAAY1B,MAAM,iBAAlC,aAAgB,EAA6BqC,KAAK,IAAM,GAC5DC,EAAgBnC,EAAqBlJ,GAE3C,GADA4K,EAAyBS,GACH,KAAlBA,GAAwBN,GAAYhQ,QAEtC,YADAgQ,GAAYhQ,QAASC,QAGvBqH,GACGiJ,KAAKH,EAAM,CAAEI,YAAa,SAAUnO,OAAQ4C,IAC5CwL,MAAK,SAACC,GACL/E,EAAS,CACPnI,QAAS,gFACTzH,KAAM,UACN6O,eAAe,IAEjBvC,EAAQqI,EAAIxP,MACZkL,EAAO,IAAD,OAAKiD,EAAL,aAEPsB,OAAM,SAACC,GACNjF,EAAS,CACPnI,QAAS,yCACTzH,KAAM,QACN6O,eAAe,OAKA,UAAnBuF,GACF7I,GACGiJ,KAAKH,EAAM,CAAEI,YAAa,UAC1BC,MAAK,SAACC,GACL/E,EAAS,CACPnI,QAAS,gFACTzH,KAAM,UACN6O,eAAe,IAEjBvC,EAAQqI,EAAIxP,MACZkL,EAAO,IAAD,OAAKiD,EAAL,aAEPsB,OAAM,SAACC,GACNjF,EAAS,CACPnI,QAAS,yCACTzH,KAAM,QACN6O,eAAe,OAKA,QAAnBuF,IACFxE,EAAS,CACPnI,QAAS,kDACTzH,KAAM,UACN6O,eAAe,IAEjBvC,EAAQ,2BAAKoD,GAAN,IAAYP,8BAA+B,SAClDkB,EAAO,IAAD,OAAKiD,EAAL,aAIJwB,GAAoB,WACxBpB,GAAgB,IAkDlB,OAzBA7P,qBAAU,WACc,KAAlB8L,EAAMlI,SACRyM,GAAkBjQ,QAASC,UAE5B,CAACyL,IAEJ9L,qBAAU,WACR2P,EAAe,MACd,CAAC7K,IAEJ9E,qBAAU,WAC6B,oBAAjC6L,EAAI,sBAAuF,IAArCA,EAAI,kBAAsB5I,SAClF8B,EAAY8G,EAAKX,kBAAkB,IACnCwE,GAAe,GACfC,EAAe9D,EAAI,kBAAsB,IACJ,WAAjCA,EAAI,kBAAsB,IAAmC,KAAhBA,EAAKpJ,QACpDsN,EAAe1B,EAAkBxC,EAAKpJ,UAGxB,SAAdgK,GACFC,EAAa,mBAGd,CAACb,IAGF,sBAAKjQ,UAAU,eAAe,cAAY,uBAA1C,UACE,cAAC,IAAD,CACEkD,MAAM,iCACNC,QAAS6Q,EACT5Q,SAAUiS,GACVhS,KAAMgS,GACN/R,MAAM,EACNK,kBAAkB,EAClBC,cAAc,EAPhB,SASE,sBAAK5D,UAAU,0BAAf,UACE,4PAIA,qQAGe,OAGf,gCACE,iDACA,qBAAIA,UAAU,yCAAd,UACE,6BACE,oBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAI,gEACJrT,UAAU,+CAJZ,kBAMQ,IAEJ,qBAAKA,UAAU,OAAf,SACE,cAAC,IAAD,WAKR,6BACE,oBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAI,6FACJrT,UAAU,0CAJZ,iCAMuB,IAEnB,qBAAKA,UAAU,OAAf,SACE,cAAC,IAAD,WAKR,6BACE,oBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAI,wEACJrT,UAAU,0CAJZ,oCAM0B,IAEtB,qBAAKA,UAAU,OAAf,SACE,cAAC,IAAD,iBAOZ,gCACE,6CACA,qBAAIA,UAAU,yCAAd,UACE,6BACE,oBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAI,kDACJrT,UAAU,+CAJZ,kBAMQ,IAEJ,qBAAKA,UAAU,OAAf,SACE,cAAC,IAAD,WAKR,6BACE,oBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAI,iEACJrT,UAAU,0CAJZ,iCAMuB,IAEnB,qBAAKA,UAAU,OAAf,SACE,cAAC,IAAD,WAKR,6BACE,oBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAI,iEACJrT,UAAU,0CAJZ,oCAM0B,IAEtB,qBAAKA,UAAU,OAAf,SACE,cAAC,IAAD,sBAShB,oBAAIA,UAAU,cAAd,0CAEA,sBAAKA,UAAU,YAAf,UACqB,KAAlBkQ,EAAMlI,SACL,qBAAKhI,UAAU,YAAYK,IAAKoU,GAAmB7P,SAAU,EAA7D,SACE,cAAC,IAAD,CAAgBrE,KAAM2P,EAAM3P,KAAM,cAAY,kBAA9C,SACG2P,EAAMlI,YAIb,qBAAKhI,UAAU,eAAf,8KAKA,cAAC,EAAD,CACEM,GAAG,MACH+F,MAAM,MACNnD,MAAM,qBACNgG,SAAUA,EACVuK,YAAaA,EACbC,YAAaA,EACbC,aAAcA,GACdjK,eAAgBA,GAChB8J,YAAY,6GAGd,cAAC,EAAD,CACElT,GAAG,SACH+F,MAAM,SACNnD,MAAM,mBACNgG,SAAUA,EACVuK,YAAaA,EACbC,YAAaA,EACbC,aAAcA,GACdjK,eAAgBA,GAChB8J,YAAY,kEAGd,cAAC,EAAD,CACElT,GAAG,QACH+F,MAAM,QACNnD,MAAM,QACNgG,SAAUA,EACVuK,YAAaA,EACbC,YAAaA,EACbC,aAAcA,GACdjK,eAAgBA,GAChB8J,YAAY,uCAGC,QAAbtK,GAAuBuK,GAA+B,QAAhBC,IACtC,sBAAK1T,UAAU,2BAAf,UACE,2OAEmG,OAEnG,gQAOW,WAAbkJ,GAA0BuK,GAA+B,WAAhBC,IACzC,sBAAK1T,UAAU,0BAAf,UACE,0RAKA,cAAC,IAAD,CACEyB,MAAM,gBACN6E,UAAQ,EACRF,IAAKgO,EACLzS,SAhPc,SAACP,GACH,KAAlB8O,EAAMlI,SAAgBoI,IACI,KAA1BgE,GAA8BC,EAAyB,IACvDC,GAAgBC,GAAkB,GACtC,IAAMlO,EAAQjF,EAAEuI,OAAOtD,MAErB8N,EADY,mBAAV9N,GAAwC,mBAAVA,EACjB,GAEAoM,EAAkBrR,EAAEuI,OAAOtD,SAyOlCA,MAAS6N,GAA4B,GACrC3T,KAAK,OACLqG,UAAU,UACVvG,IAAKmU,GACL3T,UA3PY,SAACO,GACT,UAAVA,EAAEC,KACJqT,MA0PQ7N,QAAQ,OAId,sBAAK7G,UAAU,oCAAf,UACE,cAAC,IAAD,CACEM,GAAG,iBACH,cAAY,iBACZT,KAAK,SACLW,SAAU8T,EACV3T,QAAS+T,GACTjU,aAA2B,KAAbyI,IAEF,QAAbA,IAAuBpC,GACtB,cAAC,IAAD,CACExG,GAAG,mBACH,cAAY,wBACZT,KAAK,iCACLG,UAAS,4CAAuCyT,EAAc,kBAAoB,IAClFlT,KAAK,YACLI,QAAS,SAACS,GAAD,OAAO6S,GAAgB,MAGnCR,GACC,cAAC,IAAD,CACEnT,GAAG,wBACH,cAAY,wBACZT,KAAK,SACLU,KAAK,SACLI,QAvQS,SAACS,GACpBwP,EAAO,8BCnME0E,EAAyB,WACpC,IAAMxJ,EAAYH,cACVoB,EAAqBhG,qBAAWC,KAAhC+F,iBAER,OAAO,WACLjB,EACGvG,IAAI,wBACJ0P,MAAK,SAACC,GACLnI,EAAiBmI,EAAIxP,SAEtByP,OAAM,SAACzI,GACN6I,QAAQC,IAAI9I,QAKP+I,EAAa,WACxB,MAA0C1O,qBAAWsD,KAA7CwC,EAAR,EAAQA,QAASwD,EAAjB,EAAiBA,qBACTS,EAAiB/J,qBAAWyD,KAA5BsG,aACR,EAA4C/J,qBAAWC,KAA/CC,EAAR,EAAQA,cAAe8F,EAAvB,EAAuBA,iBAEjB2I,EAAWC,cACX7J,EAAYH,cAElB,OAAO,WACL0E,IACAS,EAAa,IACb/D,EAAiB,2BACZ9F,GADW,IAEdgG,iBAAkB,GAClBC,gBAAiB,GACjBC,kBAAmB,GACnBH,UAAW,KAEbxB,aAAaoK,QACb/I,EAAQC,KACRhB,EACGiJ,KAAK,2BAA4B,IACjCE,MAAK,SAAC3J,GACLoK,EAAS,WAAY,CAAEhD,SAAS,OAEjCyC,OAAM,SAACzI,GACNgJ,EAAS,WAAY,CAAEhD,SAAS,SAKjC,SAASmD,EAAcC,GAC5B,MAA8BjU,oBAAS,GAAvC,mBAAOkU,EAAP,KAAgBC,EAAhB,KAcA,OAZA5R,qBAAU,WACR,IAAM6R,EAAQ/J,OAAOgK,WAAWJ,GAC5BG,EAAMF,UAAYA,GACpBC,EAAWC,EAAMF,SAEnB,IAAMI,EAAW,WACfH,EAAWC,EAAMF,UAGnB,OADAE,EAAMG,iBAAiB,SAAUD,GAC1B,kBAAMF,EAAMI,oBAAoB,SAAUF,MAChD,CAACJ,EAASD,IAENC,EC9DT,IA8EeO,EA9EI,WACjBjJ,YAAc,yCACd,MAA0BtG,qBAAWsD,KAA7B4F,EAAR,EAAQA,KAAMpD,EAAd,EAAcA,QAER0J,EAAgBd,IACtB,EAA4C5T,qBAA5C,mBAAO2U,EAAP,KAAuBC,EAAvB,KAEArS,qBAAU,WACRqS,EAAkBxG,EAAKyG,qBACtB,CAACzG,EAAKyG,oBAET,IAAIC,EAAUH,EAAiBA,EAAiB,GAAK,EACjDI,EAAUJ,GAAkBA,EAAiBG,GAAW,GAAK,EAE3DE,EAAuB,WAC3BhK,EAAQ,2BAAKoD,GAAN,IAAYV,qBAAsB,MACzCgH,KAGFnS,qBAAU,WAKR,GAJuB,IAAnBoS,GACFK,IAGGL,EAAL,CAIA,IAAMM,EAAU/E,YAAW,WACzB0E,EAAkBD,EAAiB,KAClC,KACH,OAAO,WACLxE,aAAa8E,OAGd,CAACN,IAEJ,IAAIO,EAAe,GA0BnB,OAxBIH,GAAWD,KACbI,GAAgB,QAGdH,IACFG,GAAY,UAAOH,EAAP,YAGVA,EAAU,IACZG,GAAgB,KAGdH,GAAWD,IACbI,GAAgB,SAGdJ,IACFI,GAAY,UAAOJ,EAAP,YAGVA,EAAU,IACZI,GAAgB,KAIhB,sBAAK/W,UAAU,eAAe,cAAY,uBAA1C,UACE,oBAAIA,UAAU,+CAAd,4BACA,mBAAGA,UAAU,iBAAb,2HAGA,oBAAGgX,KAAK,QAAQhX,UAAU,iBAA1B,6BACkB,sBAAM,cAAY,iBAAlB,SAAoC+W,IADtD,OAGA,qBAAK/W,UAAU,mBAAf,SACE,cAAC,IAAD,CAAQM,GAAG,wBAAwBT,KAAK,oBAAoBc,QAASkW,UC7EhEI,EAAc,WACzB,OACE,qBAAKjX,UAAU,6BAAf,SACE,qBAAKA,UAAU,aAAf,SACE,mBACEA,UAAU,mIACVqT,KAAK,eAFP,gCCouBO6D,G,MApuBQ,WACrB7J,YAAc,gCACd,IAAMlB,EAAWgL,cACXC,EAAqBjT,iBAAuB,MAC5CkT,EAAgBlT,iBAAuB,MACvCmT,EAAgBnT,iBAAuB,MACvCoT,EAAwBpT,iBAAuB,MAC/CqT,EAASrT,iBAAuB,MACtC,EAAoCtC,mBAAS,IAA7C,mBAAO4V,EAAP,KAAmBC,EAAnB,KAwBA,OAtBAtT,qBAAU,WACR,GAAI+H,EAASwL,OAASF,EAEpB,OADAC,EAAcvL,EAASwL,MACfxL,EAASwL,MACf,IAAK,mBACHN,EAAc7S,QAASoT,iBACvB,MACF,IAAK,mBACHN,EAAc9S,QAASoT,iBACvB,MACF,IAAK,2BACHL,EAAsB/S,QAASoT,iBAC/B,MACF,IAAK,WACHJ,EAAOhT,QAASoT,iBAChB,MACF,QACER,EAAmB5S,QAASoT,oBAGjC,CAACH,EAAYtL,IAGd,qBAAK,cAAY,yBAAjB,SAEE,sBAAKnM,UAAU,2EAAf,UACE,cAAC,IAAD,CAAM6X,GAAG,WAAW7X,UAAU,qBAA9B,+BAGA,sBAAKA,UAAU,OAAOK,IAAK+W,EAA3B,UACE,oBAAIpX,UAAU,gBAAgB,cAAY,uBAAuBM,GAAG,uBAApE,qDAGA,o8CAgBA,cAAC,EAAD,OAEF,sBAAKN,UAAU,OAAOK,IAAKgX,EAA3B,UACE,oBAAIrX,UAAU,gBAAgB,cAAY,kBAAkBM,GAAG,kBAA/D,gCAGA,gCACE,mBAAGN,UAAU,4BAAb,yBACA,2WAOA,mBAAGA,UAAU,4BAAb,qBACA,wOAKA,mBAAGA,UAAU,4BAAb,wBACA,iPAKA,mBAAGA,UAAU,4BAAb,0BAEE,waAKE,mBACEA,UAAU,WACV,aAAW,sBACXqT,KAAK,8BACL1J,OAAO,SACPyJ,IAAI,sBALN,kCALF,mIAmBJ,cAAC,EAAD,OAEF,sBAAKpT,UAAU,OAAOK,IAAKiX,EAA3B,UACE,oBAAItX,UAAU,gBAAgB,cAAY,kBAAkBM,GAAG,kBAA/D,gCAGA,gCACE,2fAME,mBACE+S,KAAK,qHACLrT,UAAU,WAFZ,oIAOF,oBAAGA,UAAU,kBAAb,4FAEE,mBAAGqT,KAAK,0EAA0ErT,UAAU,WAA5F,4FAKJ,cAAC,EAAD,OAEF,sBAAKA,UAAU,OAAOK,IAAKkX,EAA3B,UACE,oBAAIvX,UAAU,gBAAgB,cAAY,0BAA0BM,GAAG,0BAAvE,8DAGA,gCACE,4oBAM0G,OAE1G,sBAAKN,UAAU,OAAf,UACE,mBAAGA,UAAU,YAAb,uDACA,mBAAGA,UAAU,YAAb,6EACA,mBAAGA,UAAU,YAAb,yDACA,mBAAGA,UAAU,YAAb,4CAGF,sBAAKA,UAAU,OAAf,UACE,2DACA,8DAGF,uFAEF,cAAC,EAAD,OAEF,sBAAKA,UAAU,OAAOK,IAAKmX,EAA3B,UACE,oBAAIxX,UAAU,gBAAgB,cAAY,UAAUM,GAAG,UAAvD,2GAGA,gCACE,oBAAGN,UAAU,kBAAb,wCAC6B,sCAD7B,kBACmD,sCADnD,qNAGiE,sCAHjE,iPAMa,sCANb,gEAMsF,sCANtF,ghBAaA,mBAAGA,UAAU,kBAAb,upDAmBA,oBAAGA,UAAU,kBAAb,mBACQ,sCADR,4MAGa,sCAHb,kRAKyF,sCALzF,kGAQA,oBAAGA,UAAU,kBAAb,+JAE2C,sCAF3C,4oBAQuF,sCARvF,+NAaA,mBAAGA,UAAU,uBAEf,8BACE,qBAAIA,UAAU,sBAAd,UACE,oBAAIA,UAAU,gBAAd,4BACA,qBAAIA,UAAU,sBAAd,UACE,wCACQ,sCADR,+KAE4F,sCAAa,IAFzG,8IAI0C,sCAJ1C,mGAOA,4DAC4B,sCAD5B,gGAEgC,sCAFhC,gGAKA,wqBAWF,oBAAIA,UAAU,gBAAd,kCACA,qBAAIA,UAAU,sBAAd,UACE,8WAMA,mDACmB,sCADnB,owCAiBF,oBAAIA,UAAU,gBAAd,+BACA,6JAIA,oBAAIA,UAAU,2BAAd,SACE,q5BAYF,mBAAGA,UAAU,0BAAb,uCACA,qBAAIA,UAAU,8BAAd,UACE,oBAAIA,UAAU,WAAd,iBACA,qBAAIA,UAAU,6BAAd,UACE,oBAAIA,UAAU,OAAd,oCACA,qBAAIA,UAAU,sBAAd,UACE,wMAIA,kYAMA,4zBAWA,6mBASA,6OAKA,o3BAWA,qxCAgBA,uSAKA,+gDAkBA,goCAcA,8gBAQA,4PAKA,4iCAeF,oBAAIA,UAAU,OAAd,2EACA,8xBAUA,qBAAIA,UAAU,2BAAd,UACE,oOAKA,qVAMA,+hBAQA,0dAOA,0gBASJ,oBAAIA,UAAU,WAAd,0BACA,qBAAIA,UAAU,6BAAd,UACE,oBAAIA,UAAU,OAAd,oCACA,g4BAWA,qBAAIA,UAAU,2BAAd,UACE,iVAMA,sPAKA,oPAKA,qUAKA,6IAIA,maAOA,yuBAUA,soBAWF,oBAAIA,UAAU,OAAd,6EACA,qsBASA,qBAAIA,UAAU,2BAAd,UACE,8RAKA,0aAOA,wdAOA,iVAMA,6NAIA,4XAQF,oBAAIA,UAAU,OAAd,qIAIA,yqBASA,qBAAIA,UAAU,2BAAd,UACE,8PAKA,gjBAUJ,oBAAIA,UAAU,gBAAd,gGAGA,qBAAIA,UAAU,sBAAd,UACE,+SAKA,qNAMF,oBAAIA,UAAU,gBAAd,iEACA,qBAAIA,UAAU,sBAAd,UACE,oXAMA,+PAOF,oBAAIA,UAAU,gBAAd,mEACA,qBAAIA,UAAU,sBAAd,UACE,mRAKA,qaASJ,oBAAIA,UAAU,gBAAd,8FAGA,qBAAIA,UAAU,sBAAd,UACE,oMAIA,uLAEiD,sCAFjD,mBAIA,sOAMF,oBAAIA,UAAU,gBAAd,sCACA,qBAAIA,UAAU,sBAAd,UACE,uVAMA,msBAWF,oBAAIA,UAAU,gBAAd,qCACA,qBAAIA,UAAU,sBAAd,UACE,+GAC+E,sCAD/E,mBAGA,+LAEuD,sCAFvD,OAIA,+DAC+B,sCAD/B,mgBAUF,oBAAIA,UAAU,gBAAd,4BACA,oEACqC,sCADrC,sEAEe,sCAFf,+CAEuE,sCAFvE,6HAGsG,IACpG,sCAJF,0QAUJ,cAAC,EAAD,cCFK8X,G,MAxtBU,WACvBzK,YAAc,gCACd,IAAQuD,EAAW7J,qBAAWyD,KAAtBoG,OACA/D,EAAY9F,qBAAWsD,KAAvBwC,QAEFkL,EAAiB5T,iBAAuB,MACxC6T,EAAiB7T,iBAA0B,MAC3C8T,EAAqB9T,iBAAuB,MAClD,EAA8BtC,oBAAkB,GAAhD,mBAAOqW,EAAP,KAAgBC,EAAhB,KACA,EAAwDtW,oBAAkB,GAA1E,mBAAOuW,EAAP,KAA6BC,EAA7B,KAEMvM,EAAYH,cAEd2M,EAAyBC,aAAY,eAwCnCC,EAAa,WACbC,EAASpU,SAASqU,eAAe,cACnCC,IAEAzM,OAAO0M,SAAS,CACdC,IAAK,IACLC,KAAM,EACNC,SAAU,YAKVJ,EAAa,WACjB1G,cAAcqG,IAGVG,EAAW,SAACtO,GAChB,QAAOA,GAAKA,EAAG6O,wBAAwBC,QAAU/M,OAAOgN,aAGpDC,EAAiBC,uBAAY,WACjC,IAAMC,EAAiBhV,SAASqU,eAAe,aAC3CD,EAASY,GACXlB,GAAW,GAEXA,GAAW,KAEZ,IAeH,OALA/T,qBAAU,WAER,OADA8H,OAAOkK,iBAAiB,SAAU+C,GAC3B,kBAAMjN,OAAOmK,oBAAoB,SAAU8C,MACjD,CAACA,IAGF,sBAAK7Y,GAAG,YAAYN,UAAU,OAAOK,IAAK4X,EAAoB,cAAY,+BAA1E,UACE,gCACGC,GACC,qBAAK7X,IAAK0X,EAAgB,cAAY,uBAAuB/X,UAAU,WAAW4E,SAAU,EAA5F,SACE,qBAAK5E,UAAU,2CAAf,SACE,wBACE,cAAY,kBACZ,aAAW,gBACXA,UAAU,QACVW,QAvBc,WAC1BuL,OAAO0M,SAAS,CACdC,IAAK,IACLC,KAAM,EACNC,SAAU,YAoBAnY,YAzDU,WACtB0X,EAAoBC,YAAYC,EAAY,MAyDhCc,UAAWX,EACXY,WAAYZ,EACZ9X,UAzEQ,SAACO,GACjBA,EAAEgG,QACQ,UAAVhG,EAAEC,KAA6B,MAAVD,EAAEC,MACzBiX,EAAoBC,YAAYC,EAAY,OAuElCgB,QAnEM,SAACpY,GACL,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,KACzBsX,KAwDQ,SAWE,cAAC,IAAD,UAKR,oBAAI3Y,UAAU,WAAd,0BAEA,oBAAI4E,SAAU,EAAG5E,UAAU,uCAAuCM,GAAG,UAArE,4FAGA,gCACE,oBAAGN,UAAU,kBAAb,wCAC6B,sCAD7B,kBACmD,sCADnD,qNAGuD,sCAHvD,iPAK8F,sCAL9F,gEAM2D,sCAN3D,ghBAaA,mBAAGA,UAAU,kBAAb,upDAkBA,oBAAGA,UAAU,kBAAb,mBACQ,sCADR,4MAGM,sCAHN,kRAKyE,sCALzE,kGAQA,oBAAGA,UAAU,kBAAb,+JAEwC,sCAFxC,4oBAQuF,sCARvF,+NAYA,mBAAGA,UAAU,uBAEf,8BACE,qBAAIA,UAAU,sBAAd,UACE,oBAAI4E,SAAU,EAAG5E,UAAU,2BAA3B,SACE,kDAEF,qBAAIA,UAAU,sBAAd,UACE,wCACQ,sCADR,+KAE4F,sCAAa,IAFzG,8IAI0C,sCAJ1C,mGAOA,4DAC4B,sCAD5B,gGAEgC,sCAFhC,gGAKA,wqBAWF,oBAAI4E,SAAU,EAAG5E,UAAU,2BAA3B,SACE,wDAEF,qBAAIA,UAAU,sBAAd,UACE,8WAMA,mDACmB,sCADnB,owCAiBF,oBAAI4E,SAAU,EAAG5E,UAAU,2BAA3B,SACE,qDAEF,6JAIA,oBAAIA,UAAU,2BAAd,SACE,q5BAYF,oBAAI4E,SAAU,EAAG5E,UAAU,yBAA3B,uCAGA,qBAAIA,UAAU,8BAAd,UACE,oBAAI4E,SAAU,EAAG5E,UAAU,UAA3B,SACE,uCAEF,qBAAIA,UAAU,6BAAd,UACE,oBAAI4E,SAAU,EAAG5E,UAAU,oCAA3B,SACE,0DAEF,qBAAIA,UAAU,sBAAd,UACE,wMAIA,kYAMA,4zBAWA,6mBASA,6OAKA,o3BAWA,qxCAeA,uSAKA,+gDAkBA,goCAcA,8gBAOA,4PAKA,4iCAeF,oBAAI4E,SAAU,EAAG5E,UAAU,oCAA3B,SACE,iGAEF,8xBAUA,qBAAIA,UAAU,2BAAd,UACE,oOAIA,qVAMA,+hBAQA,0dAOA,0gBASJ,oBAAI4E,SAAU,EAAG5E,UAAU,UAA3B,SACE,gDAEF,qBAAIA,UAAU,6BAAd,UACE,oBAAI4E,SAAU,EAAG5E,UAAU,oCAA3B,SACE,0DAEF,g4BAWA,qBAAIA,UAAU,2BAAd,UACE,iVAMA,sPAKA,oPAIA,qUAKA,6IAIA,maAOA,yuBAUA,soBAWF,oBAAI4E,SAAU,EAAG5E,UAAU,oCAA3B,SACE,mGAEF,qsBASA,qBAAIA,UAAU,2BAAd,UACE,8RAKA,0aAMA,wdAOA,iVAMA,6NAIA,4XAQF,oBAAI4E,SAAU,EAAG5E,UAAU,4BAA3B,SACE,2JAKF,yqBASA,qBAAIA,UAAU,2BAAd,UACE,8PAKA,gjBAUJ,oBAAI4E,SAAU,EAAG5E,UAAU,eAA3B,SACE,sHAEF,qBAAIA,UAAU,sBAAd,UACE,+SAKA,qNAMF,oBAAI4E,SAAU,EAAG5E,UAAU,eAA3B,SACE,uFAEF,qBAAIA,UAAU,sBAAd,UACE,oXAMA,+PAOF,oBAAI4E,SAAU,EAAG5E,UAAU,eAA3B,SACE,yFAEF,qBAAIA,UAAU,sBAAd,UACE,mRAKA,qaASJ,oBAAI4E,SAAU,EAAG5E,UAAU,4BAA3B,SACE,oHAEF,qBAAIA,UAAU,sBAAd,UACE,oMAIA,uLAEiD,sCAFjD,mBAIA,sOAMF,oBAAI4E,SAAU,EAAG5E,UAAU,4BAA3B,SACE,4DAEF,qBAAIA,UAAU,sBAAd,UACE,uVAKA,msBAWF,oBAAI4E,SAAU,EAAG5E,UAAU,4BAA3B,SACE,2DAEF,qBAAIA,UAAU,sBAAd,UACE,+GAC+E,sCAD/E,mBAGA,+LAEuD,sCAFvD,OAIA,+DAC+B,sCAD/B,mgBAUF,oBAAIM,GAAG,oBAAoBsE,SAAU,EAAG5E,UAAU,4BAAlD,SACE,kDAEF,2FAC4D,sCAD5D,sEAEgC,sCAFhC,+CAEwF,sCAFxF,8HAIW,sCAJX,6QAYN,qBAAKA,UAAU,mBAAf,SACE,cAAC,IAAD,CACEM,GAAG,mBACH,cAAY,wBACZT,KAAK,UACLU,KAAK,UACLP,UAAU,OACVK,IAAK2X,EACLrX,QAjsBa,SAACS,GACpB,IAAMuP,EAAMzE,OAAOC,SAASC,OAAS,yBACrCiM,GAAwB,GACxBvM,EACGiJ,KAAKpE,GACLsE,MAAK,SAACC,GACc,MAAfA,EAAIuE,SACN5M,EAAQqI,EAAIxP,MAC6B,+BAArCwP,EAAIxP,KAAJ,sBACFkL,EAAO,oBAEgC,oBAArCsE,EAAIxP,KAAJ,sBACFkL,EAAO,kBAIZuE,OAAM,SAACC,GACNG,QAAQC,IAAIJ,EAAI9J,cAirBd9K,SAAU4X,WCxtBPsB,EAAc,WACvB,OACI,sBAAK1C,KAAK,MAAM,aAAW,iBAAiB1W,GAAG,sBAAsB,YAAU,uBAAuBuC,MAAM,6BAA6B8W,WAAW,+BAA+BjX,MAAM,UAAUD,OAAO,SAASM,QAAQ,qBAA3N,UACI,+BACI,iCAAgBzC,GAAG,kBAAkBqO,GAAG,SAASiL,GAAG,SAASnL,GAAG,IAAIC,GAAG,SAASmL,cAAc,oBAA9F,UACA,sBAAMC,OAAO,IAAIC,UAAU,SAC3B,sBAAMD,OAAO,IAAIC,UAAU,UAAUC,YAAY,WAGrD,sBAAM1Z,GAAG,cAAc,YAAU,cAAc0C,EAAE,2BAA2ByK,UAAU,8BAA8B3K,KAAK,SACzH,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,4FAA4FyK,UAAU,8BAA8B3K,KAAK,SAC1L,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,4UAA4UyK,UAAU,6BAA6B3K,KAAK,SACza,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,+FAA+FyK,UAAU,6BAA6B3K,KAAK,0BAC5L,oBAAGxC,GAAG,eAAe,YAAU,eAAemN,UAAU,0BAAxD,UACI,sBAAMnN,GAAG,iBAAiB,YAAU,iBAAiBoC,MAAM,SAASD,OAAO,QAAQgL,UAAU,sBAAsB3K,KAAK,SACxH,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,4FAA4FyK,UAAU,0BAA0B3K,KAAK,YACtL,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,u8BAAu8ByK,UAAU,8BAA8B3K,KAAK,SACriC,mBAAGxC,GAAG,eAAe,YAAU,eAAemN,UAAU,qBAAxD,SACA,sBAAMnN,GAAG,cAAc,YAAU,cAAc0C,EAAE,+HAA+HyK,UAAU,0BAA0B3K,KAAK,iBAG7N,oBAAGxC,GAAG,eAAe,YAAU,eAAemN,UAAU,oBAAxD,UACI,sBAAMnN,GAAG,cAAc,YAAU,cAAc0C,EAAE,8VAA8VyK,UAAU,8BAA8B3K,KAAK,SAC5b,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,2LAA2LyK,UAAU,8BAA8B3K,KAAK,SACzR,sBAAMxC,GAAG,iBAAiB,YAAU,iBAAiBoC,MAAM,QAAQD,OAAO,OAAOgL,UAAU,yBAAyB3K,KAAK,SACzH,sBAAMxC,GAAG,iBAAiB,YAAU,iBAAiBoC,MAAM,QAAQD,OAAO,SAASgL,UAAU,0BAA0B3K,KAAK,SAC5H,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,kNAAkNyK,UAAU,wBAAwB3K,KAAK,SAC1S,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,wEAAwEyK,UAAU,2BAA2B3K,KAAK,SACnK,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,0NAA0NyK,UAAU,8BAA8B3K,KAAK,YAE5T,sBAAMxC,GAAG,iBAAiB,YAAU,iBAAiBoC,MAAM,QAAQD,OAAO,QAAQgL,UAAU,4BAA4B3K,KAAK,SAC7H,mBAAGxC,GAAG,eAAe,YAAU,eAAemN,UAAU,4BAAxD,SACI,sBAAMnN,GAAG,cAAc,YAAU,cAAc0C,EAAE,uwBAAuwByK,UAAU,0BAA0B3K,KAAK,cAEr2B,oBAAGxC,GAAG,eAAe,YAAU,eAAemN,UAAU,qBAAxD,UACI,sBAAMnN,GAAG,cAAc,YAAU,cAAc0C,EAAE,klBAAklByK,UAAU,qBAAqB3K,KAAK,SACvqB,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,oSAAoSyK,UAAU,6BAA6B3K,KAAK,gBCpCpYmX,EAAY,WACrB,OACI,qBAAKjD,KAAK,MAAM,aAAW,aAAa1W,GAAG,UAAU,YAAU,UAAUuC,MAAM,6BAA6BH,MAAM,UAAUD,OAAO,SAASM,QAAQ,qBAApJ,SACI,oBAAGzC,GAAG,UAAU,YAAU,UAA1B,UACI,sBAAMA,GAAG,cAAc,YAAU,cAAc0C,EAAE,kCAAkCyK,UAAU,qBAAqB3K,KAAK,SACvH,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,uCAAuCyK,UAAU,wBAAwB3K,KAAK,SAC/H,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,2DAA2DyK,UAAU,mBAAmB3K,KAAK,SAC9I,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,uGAAuGyK,UAAU,yBAAyB3K,KAAK,SAChM,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,gDAAgDyK,UAAU,yBAAyB3K,KAAK,SACzI,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,0aAA0ayK,UAAU,wBAAwB3K,KAAK,SAClgB,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,wzBAAwzByK,UAAU,0BAA0B3K,KAAK,SACl5B,sBAAMxC,GAAG,cAAc,YAAU,cAAc0C,EAAE,qFAAqFyK,UAAU,0BAA0B3K,KAAK,eCZlLoX,EAAc,WACvB,OACI,sBAAKlD,KAAK,MAAM,aAAW,eAAenU,MAAM,6BAA6B8W,WAAW,+BAA+BjX,MAAM,MAAMD,OAAO,KAAKM,QAAQ,aAAvJ,UACI,+BACI,yBAASzC,GAAG,UAAU6Z,oBAAoB,OAAOzX,MAAM,OAAOD,OAAO,OAAOM,QAAQ,eAApF,SACA,uBAAOL,MAAM,OAAOD,OAAO,MAAM2X,UAAU,+suCAG/C,oBAAG9Z,GAAG,eAAe,YAAU,eAAemN,UAAU,uBAAxD,UACI,mBAAGnN,GAAG,eAAe,YAAU,eAA/B,SACA,mBAAGA,GAAG,eAAe,YAAU,eAAemN,UAAU,iBAAxD,SACI,sBAAMnN,GAAG,0BAA0B,YAAU,2BAA2BoC,MAAM,MAAMD,OAAO,KAAKgL,UAAU,qBAAqB3K,KAAK,sBAGxI,sBAAMxC,GAAG,2BAA2B,YAAU,2BAA2BoC,MAAM,MAAMD,OAAO,KAAKgL,UAAU,qBAAqB3K,KAAK,yBCF/IuX,EAAU,IAAIlV,IAEpBkV,EAAQjV,IAAI,UAAW,cAAC,EAAD,KACvBiV,EAAQjV,IAAI,QAAS,cAAC,EAAD,KACrBiV,EAAQjV,IAAI,YAAa,cAAC,EAAD,KACzBiV,EAAQjV,IAAI,YAAa,aACzBiV,EAAQjV,IAAI,aAAc,cAC1BiV,EAAQjV,IAAI,iBAAkB,2BAE9B,IA6BekV,EA7BO,SAAC1a,GACrB,IAAQ+Q,EAAuC/Q,EAAvC+Q,IAAK4J,EAAkC3a,EAAlC2a,WAAY/G,EAAsB5T,EAAtB4T,YAAajT,EAASX,EAATW,KAC9BqQ,EAAW7J,qBAAWyD,KAAtBoG,OAER,OACE,sBAAK5Q,UAAU,+BAA+B,cAAY,iBAA1D,UACE,qBACEA,UAAU,4IACV,uBAAeO,EAAf,cAFF,SAIG8Z,EAAQ9U,IAAIhF,KAEf,sBAAKP,UAAU,oCAAf,UACE,mBAAGA,UAAU,OAAb,SAAqBwT,IACrB,qBAAKxT,UAAU,mBAAf,SACE,wBACEA,UAAU,uCACV,cAAY,qBACZ,uBAAewT,EAAf,YAA8B+G,GAC9B5Z,QAAS,kBAAMiQ,EAAOD,IAJxB,SAMG4J,aCnCPC,G,MAAc,IAAIrV,KACxBqV,EAAYpV,IAAI,cAAe,CAC7B7E,KAAM,UACNga,WAAY,gBACZ/G,YACE,0JAEJgH,EAAYpV,IAAI,YAAa,CAC3B7E,KAAM,QACNga,WAAY,cACZ/G,YAAa,2EAEfgH,EAAYpV,IAAI,gBAAiB,CAC/B7E,KAAM,YACNga,WAAY,mBACZ/G,YACE,sKAEJgH,EAAYpV,IAAI,gBAAiB,CAC/B7E,KAAM,aACNga,WAAY,mBACZ/G,YAAa,iEAEfgH,EAAYpV,IAAI,mBAAoB,CAClC7E,KAAM,YACNga,WAAY,kBACZ/G,YACE,6KAEJgH,EAAYpV,IAAI,gBAAiB,CAC/B7E,KAAM,iBACNga,WAAY,kBACZ/G,YACE,iKAEJ,IAAMiH,EAAY,CAAC,cAAe,YAAa,gBAAiB,mBAAoB,iBAEvEC,EAAY,WACvBrN,YAAc,6CACd,MAA0BtG,qBAAWsD,KAA7B4F,EAAR,EAAQA,KAAMpD,EAAd,EAAcA,QACd,EAAiC9F,qBAAWyD,KAApCoG,EAAR,EAAQA,OAAQE,EAAhB,EAAgBA,aAEhB,EAA8BjP,mBAAc,IAA5C,mBAAO8Y,EAAP,KAAgBC,EAAhB,KACA,EAA0B/Y,mBAAoC,IAA9D,mBAAOgZ,EAAP,KAAcC,EAAd,KACA,EAAwCjZ,oBAAS,GAAjD,mBAAOkZ,EAAP,KAAqBC,EAArB,KACA,EAAsBnZ,mBAASoO,EAAI,cAA5BgL,EAAP,oBAEMnP,EAAYH,cAElBvH,qBAAU,WACR,IAAI8W,GAAkB,EActB,OAbApK,EAAa,IACbhF,EACGvG,IAAI,aACJ0P,MAAK,SAACC,GAEL,GADArI,EAAQqI,EAAIxP,MACRwV,EAAiB,CACnB,IAAMP,EAAUzF,EAAIxP,KAAJ,KAChBkV,EAAWD,OAGdxF,OAAM,SAACC,GACNG,QAAQ7I,MAAM0I,MAEX,WACL8F,GAAkB,KAGnB,IAEH,IAAMC,EAAuB/B,uBAAY,WACvC,IAAMyB,EAAmC,GAOzC,GANAA,EAAMO,KAAN,2BAAgBZ,EAAYjV,IAAI,kBAAhC,IAAkDoL,IAAK,mBACvD8J,EAAUY,SAAQ,SAACC,GACbX,EAAQW,IACVT,EAAMO,KAAN,2BAAgBZ,EAAYjV,IAAI+V,IAAhC,IAA0C3K,IAAKgK,EAAQW,SAGvC,OAAhBL,GAAwC,kBAAhBA,EAAiC,CAC3D,IAAI9Q,EAAK0Q,EAAMU,MAAK,SAACpR,GAAD,MAAoB,YAAZA,EAAG5J,QAE3Bib,EAAmBX,EAAMY,QAAQtR,GACrC0Q,EAAMW,GAAN,2BACKhB,EAAYjV,IAAI,gBADrB,IAEEoL,IAAK,gBAGTmK,EAASD,GACTG,GAAgB,KAEf,CAACC,EAAaN,EAAS/J,IAQ1B,OANAxM,qBAAU,YACH2W,GAAgBW,OAAOC,KAAKhB,GAAStT,OAAS,GACjD8T,MAED,CAACR,EAASI,EAAcI,IAGzB,mCACoB,IAAjBN,EAAMxT,QACL,qBAAKrH,UAAU,eAAe,cAAY,sBAA1C,SACE,sBAAKA,UAAU,2BAAf,UACE,oBAAIA,UAAU,qCAAd,2CACA,oBAAIA,UAAU,0CAAd,gDACA,qBAAKA,UAAU,4BAAf,SACG6a,EAAMjV,KAAI,SAACgW,EAAM9V,GAAP,OACT,cAAC,EAAD,CAEE6K,IAAKiL,EAAKjL,IACV4J,WAAYqB,EAAKrB,WACjB/G,YAAaoI,EAAKpI,YAClBjT,KAAMqb,EAAKrb,MALb,UACUqb,EAAKrb,KADf,YACuBuF,SAQ3B,oBAAG9F,UAAU,sCAAb,qDAC2C,IACzC,oBACEoT,IAAI,aACJ,aAAW,6BACXC,KAAK,yBACLrT,UAAU,mDAJZ,sBAOE,sBAAMA,UAAU,OAAhB,SACE,cAAC,IAAD,SAEC,e,wBCrIN6b,G,MAAe,WAC1B,OACE,sBAAK,cAAY,gBAAjB,UACE,oBAAI7b,UAAU,iCAAd,mBACA,sBAAKA,UAAU,0BAAf,UACE,mBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAI,UAAKnH,OAAOC,SAASC,OAArB,qCACJ,aAAW,2DACXpM,UAAU,mEALZ,qDASA,mBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAI,UAAKnH,OAAOC,SAASC,OAArB,gCACJ,aAAW,sCACXpM,UAAU,mEALZ,gCASA,mBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAI,UAAKnH,OAAOC,SAASC,OAArB,gCACJ,aAAW,sCACXpM,UAAU,mEALZ,gCASA,mBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAI,UAAKnH,OAAOC,SAASC,OAArB,wCACJ,aAAW,oEACXpM,UAAU,mEALZ,8DASA,mBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAI,UAAKnH,OAAOC,SAASC,OAArB,wBACJ,aAAW,gCACXpM,UAAU,mEALZ,kCC5CO,MAA0B,uDCG5B8b,G,MAAY,uCAAG,WAAOhQ,GAAP,qBAAAiQ,EAAA,6DACtB/L,EAAmC,GADb,kBAIUlE,EAAUvG,IAAI,0BAJxB,OAIlByW,EAJkB,OAKlBC,EAAmCD,EAAoBtW,KAE7D,UAAIuW,EAAgBC,eAApB,OAAI,EAAyB7U,SAC3B2I,EAAWiM,EAAgBC,SARL,iFAcnBlM,GAdmB,yDAAH,uD,QCEZmM,EAAe,uCAAG,WAAOrQ,GAAP,uBAAAiQ,EAAA,6DACzBK,EAAoC,CAAEC,SAAS,GADtB,kBAKGvQ,EAAUiJ,KAAK,iCALlB,cAKrBuH,EALqB,OAMrBC,EAAsDD,EAAgB5W,KANjD,SAUF8W,YAAkB,CAAED,gBAVlB,cAUrBE,EAVqB,iBAcE3Q,EAAUiJ,KAAK,wBAAyB2H,KAAKC,UAAU,CAAEF,gBAd3D,QAcrBG,EAdqB,OAiB3BR,EAAe,CAAEC,SAAS,EAAMpM,KAAM2M,EAAelX,MAjB1B,mFAsBtB0W,GAtBsB,0DAAH,sDCFfS,EAAa,uCAAG,WAAO/Q,EAA0BgR,GAAjC,iBAAAf,EAAA,6DACvBgB,EAA0B,CAAEV,SAAS,GADd,kBAIWvQ,EAAUiJ,KAAK,2BAA4B,CAAEzU,GAAIwc,EAAQxc,KAJpE,OAInB0c,EAJmB,OAMzBD,EAAU,CAAEV,SAAS,EAAMpM,KAAM+M,EAAsBtX,MAN9B,iFAWpBqX,GAXoB,yDAAH,wDCEbE,EAAiB,uCAAG,WAAOnR,GAAP,uBAAAiQ,EAAA,6DAC3BmB,EAAwB,CAAEb,SAAS,GADR,kBAKGvQ,EAAUvG,IAAI,gCALjB,cAKvB4X,EALuB,OAMvBZ,EAAqDY,EAAkBzX,KANhD,SAUJ0X,YAAoB,CAAEb,gBAVlB,cAUvBE,EAVuB,iBAcA3Q,EAAUiJ,KAAK,uCAAwC,CAAE0H,eAdzD,QAcvBG,EAduB,OAiB7BM,EAAS,CAAEb,SAAS,EAAMpM,KAAM2M,EAAelX,MAjBlB,mFAsBxBwX,GAtBwB,0DAAH,sDCFjBG,GAAW,uCAAG,WACzBvR,EACAgR,EACAQ,GAHyB,iBAAAvB,EAAA,6DAKrBgB,EAAuB,CAAEV,SAAS,GALb,kBAQavQ,EAAUiJ,KAAK,2BAA4B,CAC7EzU,GAAIwc,EAAQxc,GACZid,cAAeD,IAVM,OAQjBN,EARiB,OAavBD,EAAU,CAAEV,SAAS,EAAMpM,KAAM+M,EAAsBtX,MAbhC,iFAkBlBqX,GAlBkB,yDAAH,0DCHT,OAA0B,yCCgB1BS,GAZC,SAAC5d,GAGf,OAF4BA,EAApB6d,gBAGN,qBAAKzd,UAAU,gEAAf,SACE,qBAAKA,UAAU,6BAAf,kBAGF,qBAAKA,UAAU,mCAAf,iBC0bW0d,GAzbA,WACbrQ,YAAc,6EACd,MAAuEtG,qBAAWsD,KAA1E6F,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAAUC,EAAzB,EAAyBA,WAAYC,EAArC,EAAqCA,qBAAsBxD,EAA3D,EAA2DA,QACnD+D,EAAW7J,qBAAWyD,KAAtBoG,OACA3J,EAAkBF,qBAAWC,KAA7BC,cAER,EAAwCpF,oBAAS,GAAjD,mBAAO8b,EAAP,KAAqBC,EAArB,KACA,EAA4C/b,oBAAS,GAArD,mBAAOyS,EAAP,KAAuBC,EAAvB,KACA,EAAwC1S,mBAAS,YAAjD,mBAAOgc,EAAP,KAAqBC,EAArB,KACA,EAA0Cjc,mBAAS,IAAnD,mBAAOkc,EAAP,KAAsBC,EAAtB,KACA,EAAgDnc,mBAAS,IAAzD,mBAAOoc,EAAP,KAAyBC,EAAzB,KACA,EAAoDrc,mBAAS,IAA7D,mBAAOsc,EAAP,KAA2BC,EAA3B,KACA,EAA0Dvc,mBAAS,IAAnE,mBAAOwc,EAAP,KAA8BC,EAA9B,KACA,EAA0Czc,mBAAS,CAAEtB,KAAM,GAAIyH,QAAS,KAAxE,mBAAOuW,EAAP,KAAsBC,EAAtB,KACA,EAAoC3c,oBAAS,GAA7C,oBAAO4c,GAAP,MAAmBC,GAAnB,MAEQzN,GAA6FhK,EAA7FgK,YAAanK,GAAgFG,EAAhFH,WAAYmG,GAAoEhG,EAApEgG,iBAAkBC,GAAkDjG,EAAlDiG,gBAAiBF,GAAiC/F,EAAjC+F,UAAWG,GAAsBlG,EAAtBkG,kBAE/E,GAAwDtL,oBAAS,GAAjE,qBAAO8c,GAAP,MAA6BC,GAA7B,MACA,GAAoD/c,oBAAS,GAA7D,qBAAOgd,GAAP,MAA2BC,GAA3B,MACA,GAA8Bjd,oBAAS,GAAvC,qBAAOkd,GAAP,MAAgBC,GAAhB,MACA,GAAkDnd,oBAAS,GAA3D,qBAAOod,GAAP,MAA0BC,GAA1B,MAEMna,GAAWZ,iBAAuB,MAClCgb,GAAmBhb,iBAAuB,MAC1Cib,GAAWjb,iBAAyB,MACpCkb,GAAclb,iBAAyB,MACvCmb,GAAkBnb,iBAAyB,MAE3CsZ,GAAkBtZ,kBAAO,GACzBob,GAA6B,mBAE7BC,GAAqBrb,iBAAOob,IAE5BzT,GAAYH,cA6CZ+I,GAAe,WAVjB0J,EADoB,KAAlBL,EACoB,qCAEA3L,EAAoB2L,EAAcjW,QAAQ,IAKxCwW,EAAL,KAArBL,EAAmD,2BAAuD,IAMhF,KAAtB9Q,GACFsS,MAEAlL,GAAkB,GAClBqJ,GAAgB,KAId8B,GAAiB,WACrB5T,GACGvG,IAAI,4BACJ0P,MAAK,SAACC,IACoB,IAArBA,EAAIxP,KAAKia,QACXpK,QAAQC,IAAI,oCAEZtJ,OAAOC,SAASkH,KAAO6B,EAAIxP,KAAKka,qBAGnCzK,OAAM,SAACzI,GACN6I,QAAQC,IAAI9I,EAAMpB,cAIlBuU,GAA6B,uCAAG,4BAAA9D,EAAA,6DACpCxH,GAAkB,GADkB,SAEA0I,EAAkBnR,IAFlB,QAE9BoR,EAF8B,QAIzBb,QACTxP,EAAQqQ,EAAOjN,OAEfE,EAAS,CAAE5P,KAAM,QAASyH,QAAS,iCACnCuM,GAAkB,IARgB,2CAAH,qDAY7BuL,GAAkB,SAAC1e,GACT,UAAVA,EAAEC,MACuB,KAAvB8c,EACFiB,GAAS5a,QAASC,QACiB,KAA1B4Z,EACTgB,GAAY7a,QAASC,QACX6P,GACVI,OAKNtQ,qBAAU,WACRsa,GAAmC,KAArBzR,IAAyC,IAAdD,MAExC,CAACC,KAEJ,IAAMwS,GAAgC,WACpCb,IAAwB,GACN,IAAd5R,GACF0S,KAEAlB,EAAiB,CACfje,KAAM,OACNyH,QACE,wLAKR5D,qBAAU,WACR0a,GAAsB7N,GAAYrJ,SAAS,uBAEjB,KAAtBuF,IACFqR,EAAiB,CAAEje,KAAM,QAASyH,QAASmF,KAC3CuR,IAAc,IACgB,KAArBzR,IAA+C,KAApBC,GACpCuS,KAEAb,IAAwB,GAEtBG,KACFxK,GAAkB,GAClByK,IAAW,MAGZ,IAEH5a,qBAAU,gBACcuC,IAAlBuJ,EAAMlI,UACY,KAAlBkI,EAAMlI,SACRuM,GAAkB,GACV,OAARxP,SAAQ,IAARA,OAAUP,QAASC,SACgB,KAA1B8Z,EAAcvW,SAA+C,OAA7BmX,GAAiB3a,SAC1D2a,GAAiB3a,QAASC,WAE3B,CAACyL,EAAOqO,IAEXna,qBAAU,WACRqZ,GAAgBjZ,QAAUyM,GAAYrJ,SAAS,mBAC/C4X,GAAmBhb,QAAUiZ,GAAgBjZ,QAlJpB,SAkJmD+a,MAG9Enb,qBAAU,WACJuZ,IACyB,KAAvBQ,EACFiB,GAAS5a,QAASC,QACiB,KAA1B4Z,EACTgB,GAAY7a,QAASC,SAEC,KAAlByL,EAAMlI,SAAgBoI,IAC1BtE,GACGiJ,KAAK,0BAA2B,CAC/BvF,MAAOuO,EAAcjW,OACrBiY,SAAU9B,IAEXhJ,MAAK,SAACC,GAGH,0NADAA,EAAIxP,KAAKU,IAGT+J,EAAS,CACP5P,KAAM,OACNyH,QAASkN,EAAIxP,KAAKU,IAClBgJ,eAAe,IAGjBiB,IAEFxD,EAAQqI,EAAIxP,SAEbyP,OAAM,SAACzI,GAC2C,8BAA7CA,EAAMpB,SAAS5F,KAAK6J,qBACtB1C,EAAQH,EAAMpB,SAAS5F,MACgB,yBAA9BgH,EAAMpB,SAAS5F,KAAKgH,MAC7BkE,EAAO,uBAEPT,EAAS,CACPnI,QAAS0E,EAAMpB,SAAS5F,KAAKgH,MAC7BnM,KAAM,UAERwE,GAASP,QAASC,aAI1BmZ,GAAgB,MAGjB,CAACD,IAEJ,IAAMqC,GACJ,sBAAKhgB,UAAU,2BAAf,UACE,4JAIA,mBAAGA,UAAU,OAAb,SACE,+CAEF,qBAAIA,UAAU,iBAAd,UACE,oBAAIA,UAAU,OAAd,+GAGA,kKAQN,OAAOye,GACL,6BAEA,sBAAKze,UAAU,eAAe,cAAY,mBAA1C,UACE,cAAC,IAAD,CACEkD,MAAM,0BACNC,QAAS8b,GACT7b,SA3NoB,WACxB8b,IAAqB,IA2NjB7b,KAAMqc,GACNpc,MAAM,EACNE,aAAa,WANf,SAQGwc,KAEH,sBAAKhgB,UAAU,OAAf,UACE,oBAAIA,UAAU,+CAAd,0BACmB2G,IAAlBuJ,EAAMlI,SAA2C,KAAlBkI,EAAMlI,QACpC,qBAAK,cAAY,4BAA4B3H,IAAK0E,GAAUH,SAAU,EAAtE,SACE,cAAC,IAAD,CAAgBrE,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,YAG3C,6BAEsB,KAAvBuW,EAAche,MAAiC,KAAlB2P,EAAMlI,SAClC,qBACEhI,UAAU,OACV,cAAY,0CACZK,IAAK8e,GACLva,SAAU,EAJZ,SAME,cAAC,IAAD,CAAgBrE,KAAMge,EAAche,KAApC,SAA2Cge,EAAcvW,YAG7D,qBAAK,cAAY,cAAchI,UAAU,YAAzC,SACE,cAAC,IAAD,CACEyB,MAAM,gBACN6E,UAAQ,EACRF,IAAK+X,EACLxc,SAjPqB,SAACP,GAC1BkT,GAAgBC,GAAkB,GACjCwK,IAA6B,KAAlBhB,IACQ,KAAlB7N,EAAMlI,SAAgBoI,IACC,KAAvB+N,GAA2BC,EAAsB,KAGrDJ,EAAiB5c,EAAEuI,OAAOtD,QA2OpBA,MAAO0X,EACPxd,KAAK,OACLqG,UAAU,QACVvG,IAAK+e,GACLve,UAAWif,OAGf,qBAAK9f,UAAU,OAAf,SACE,cAAC,IAAD,CACEyB,MAAM,WACN6E,UAAQ,EACRF,IAAKiY,EACL1c,SAnPwB,SAACP,GAC7BkT,GAAgBC,GAAkB,GACjCwK,IAAgC,KAArBd,IACQ,KAAlB/N,EAAMlI,SAAgBoI,IACI,KAA1BiO,GAA8BC,EAAyB,KAG3DJ,EAAoB9c,EAAEuI,OAAOtD,QA6OvBA,MAAO4X,EACP1d,KAAMsd,EACNxd,IAAKgf,GACLxe,UAAWif,OAGf,sBAAK9f,UAAU,oDAAf,UACG8G,IAAcmK,GAAYrJ,SAAS,gCAClC,wBAEA,mBACEyL,KAAK,mBACL,cAAY,sBACZrT,UAAU,gHACVW,QAAS,SAACS,GACRA,EAAEE,iBACF+O,IACAO,EAAO,qBAPX,8BAaF,cAAC,IAAD,CAAU5Q,UAAU,OAAOyB,MAAM,gBAAgBpB,IAAKif,GAAiB3d,SA3RhD,SAACP,GAC1BA,EAAE6e,cAAcve,QAASoc,EAAgB,QACxCA,EAAgB,kBA4RjB,sBAAK9d,UAAU,qGAAf,UACE,cAAC,IAAD,CACEM,GAAG,cACHT,KAAK,UACLG,UAAS,UAAKwf,GAAmBhb,QAAxB,YACThE,SAAU8T,EACV1T,YAAa8T,GACb7T,UAAWif,KAGZrC,GAAgBjZ,SACf,qCACE,cAAC,IAAD,CACElE,GAAG,iBACH,cAAY,iBACZT,KAAK,uBACLa,UAAU,uBACVZ,MAAOogB,GACPngB,SAAS,eACTQ,KAAK,UACLC,SAAU8T,EACVtU,UAAU,kDACVY,YAAaif,GACb/e,QAAS+e,KAEX,qBAAK7f,UAAU,0BAAf,SACE,mBACEqT,KAAK,gBACL,cAAY,6BACZ1S,QAAS,SAACS,GACRA,EAAEE,iBACF+O,IACAO,EAAO,kBAET5Q,UAAU,uIARZ,4CAgBL6e,KAAuBF,IACtB,qCACE,cAAC,GAAD,CAASlB,gBAAiBA,GAAgBjZ,UAE1C,cAAC,IAAD,CACElE,GAAG,gBACHT,KAAK,eACLa,UAAU,yBACVZ,MAAOqgB,EACPpgB,SAAS,iBACTQ,KAAK,YACLP,UAAS,UAAKwf,GAAmBhb,QAAxB,6CACT5D,YAAa,kBAAMse,IAAqB,IACxCpe,QAAS,kBAAMoe,IAAqB,MAEtC,qBAAKlf,UAAU,0BAAf,SACE,mBACEqT,KAAK,iBACL,cAAY,2BACZ1S,QAAS,SAACS,GACRA,EAAEE,iBACF+O,IACAO,EAAO,mBAET5Q,UAAU,uIARZ,qDAkBP8G,IAAcmK,GAAYrJ,SAAS,kCACpC,sBAAK5H,UAAU,gBAAf,UACE,oBAAIA,UAAU,UAAd,gDACA,mBACEqT,KAAK,kBACL,cAAY,qBACZ1S,QAAS,SAACS,GACRA,EAAEE,iBACF8O,IACAQ,EAAO,oBAET5Q,UAAU,8HARZ,+BAYA,mBACEqT,KAAK,uBACL,cAAY,0BACZ1S,QAAS,SAACS,GACRA,EAAEE,iBACF+O,IACAO,EAAO,yBAET5Q,UAAU,+IARZ,0DAcH8G,GAAa,KACZ,qCACE,qBAAK9G,UAAU,qCACf,cAAC,EAAD,WC7bJogB,GAAWlU,QAAUA,OAAOC,UAAYD,OAAOC,SAASkH,KAEjDgN,GAAW,WAKtB,OAJAjc,qBAAU,WACRmR,QAAQC,IAAI,gBAAiBtJ,OAAOC,SAASkH,QAC5C,IAGD,sBAAKrT,UAAU,gBAAgB,cAAY,qBAA3C,UACE,oBAAIA,UAAU,MAAd,mCACA,qBAAIA,UAAU,MAAd,cAAsBogB,U,SCgBfE,GAA0B,SAAC1gB,GACtC,IACE6B,EAWE7B,EAXF6B,MACA4E,EAUEzG,EAVFyG,MACAsN,EASE/T,EATF+T,aACA4M,EAQE3gB,EARF2gB,aACAC,EAOE5gB,EAPF4gB,SACAC,EAME7gB,EANF6gB,YACA5gB,EAKED,EALFC,KACAmB,EAIEpB,EAJFoB,SACA0f,EAGE9gB,EAHF8gB,iBACAC,EAEE/gB,EAFF+gB,cACApgB,EACEX,EADFW,KAGF,EAAkEwG,qBAAWsD,KAArE6F,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAAUE,EAAzB,EAAyBA,qBAAsBxD,EAA/C,EAA+CA,QAASzB,EAAxD,EAAwDA,MAChDwF,EAAW7J,qBAAWyD,KAAtBoG,OAEFgQ,EAAWzc,iBAAuB,MAClC0c,EAAgB1c,iBAA0B,MAC1C2c,EAAkB3c,iBAA0B,MAE5CsQ,EAAoBtQ,iBAAuB,MACjD,EAA4CtC,oBAAS,GAArD,mBAAOyS,EAAP,KAAuBC,EAAvB,KACMzI,EAAYH,cACZjC,EAAiB,SAACtI,GACR,UAAVA,EAAEC,MACgB,KAAhBof,EACFG,EAASpc,QAASC,QAElBiQ,MAOAqM,EAFoBha,qBAAWC,KAA7BC,cACAgK,YAEMrJ,SAAS,kCAA6C,YAATrH,IAAuBogB,EAClF,EAAoC9e,oBAAS,GAA7C,mBAAOmf,EAAP,KAAmBC,EAAnB,KAEA7c,qBAAU,WACY,KAAhBqc,GAAoBG,EAASpc,QAASC,UACzC,CAACgc,IAEJrc,qBAAU,WACRC,SAASnB,MAAQyd,EACb,qCACA,8DACH,CAACA,IAEJ,MAA8C9e,oBAAS,GAAvD,mBAAO0P,EAAP,KAAwBC,EAAxB,KAEMkD,EAAe,WAInB,GAHArE,IACAmQ,MAEIC,EAAYpZ,OAAS,GAAsB,IAAjBhB,EAAMgB,QAMpC,OAFAkN,GAAkB,GAEVhU,GACN,IAAK,mBACH2gB,IACA,MACF,IAAK,UACHC,IACA,MACF,IAAK,OACHC,IACA,MACF,IAAK,gBACHC,IACA,MACF,IAAK,iBACHC,IACA,MACF,IAAK,iBACHC,MAKAL,EAA4B,WAChCpV,EACGiJ,KAAK,sCAAuC,CAAEyM,kBAAmBnb,IACjE4O,MAAK,SAACC,GACLtE,EAAO,iCACP/D,EAAQqI,EAAIxP,SAEbyP,OAAM,SAACC,GACNjF,EAAS,CACP5P,KAAM,QACNyH,QAASoN,EAAI9J,SAAS5F,KAAKgH,QAE7BG,EAAQuI,EAAI9J,SAAS5F,SAEtB+b,SAAQ,WACPlN,GAAkB,OAIlBmN,EAAyB,SAAChc,GAC9ByK,EAAS,CACP5P,KAAiC,YAA3BmF,EAAKic,kBAAkC,UAAY,QACzD3Z,QAAStC,EAAKU,IACdgJ,eAAe,KAIb+R,EAAqB,WACrBR,EACF7U,EACGiJ,KAAK,8BAA+B,CAAE6M,YAAavb,IACnD4O,MAAK,SAACC,GACiB,KAAlBhF,EAAMlI,SAAgBqI,IAC1BxD,EAAQqI,EAAIxP,MACRwP,EAAIxP,KAAKic,mBAAmBD,EAAuBxM,EAAIxP,SAE5DyP,OAAM,SAACC,GACNvI,EAAQuI,EAAI9J,SAAS5F,MAC0B,gCAA3C0P,EAAI9J,SAAS5F,KAAK6J,sBACpBY,EAAS,CACP5P,KAAM,QACNyH,QAAS,+BAIdyZ,SAAQ,WACPlN,GAAkB,MAGtBzI,EACGiJ,KAAK,oCAAqC,CAAEyM,kBAAmBnb,EAAOwb,YAAab,IACnF/L,MAAK,SAACC,GACiB,KAAlBhF,EAAMlI,SAAgBqI,IAC1BxD,EAAQqI,EAAIxP,MACRwP,EAAIxP,KAAKic,mBAAmBD,EAAuBxM,EAAIxP,SAE5DyP,OAAM,SAACC,GAEFA,EAAI9J,SAAS5F,KAAK6J,sBACpB1C,EAAQuI,EAAI9J,SAAS5F,MAEwB,gCAA3C0P,EAAI9J,SAAS5F,KAAK6J,sBACpBY,EAAS,CACP5P,KAAM,QACNyH,QAAS,+CAIdyZ,SAAQ,WACPlN,GAAkB,OAKpB+M,EAA4B,WAChC/M,GAAkB,GAClBzI,EACGiJ,KAAK,uCAAwC,CAAE+M,KAAMzb,EAAO+E,UAC5D6J,MAAK,SAACC,GACLtE,EAAO,iBACP/D,EAAQqI,EAAIxP,SAEbyP,OAAM,SAACC,GACNjF,EAAS,CACP5P,KAAM,QACNyH,QAASoN,EAAI9J,SAAS5F,KAAKgH,QAGzB0I,EAAI9J,SAAS5F,KAAK6J,sBACpB1C,EAAQuI,EAAI9J,SAAS5F,SAGxB+b,SAAQ,WACPlN,GAAkB,OAIlB6M,EAAwB,WAC5BtV,EACGiJ,KAAK,sCAAuC,CAAEyM,kBAAmBnb,IACjE4O,MAAK,SAACC,GACLtE,EAAO,iBACP/D,EAAQqI,EAAIxP,SAEbyP,OAAM,SAACC,GACNjF,EAAS,CACP5P,KAAM,QACNyH,QAASoN,EAAI9J,SAAS5F,KAAKgH,QAGzB0I,EAAI9J,SAAS5F,KAAK6J,sBACpB1C,EAAQuI,EAAI9J,SAAS5F,SAGxB+b,SAAQ,WACPlN,GAAkB,OAIlB8M,EAA2B,WAC/BvV,EACGiJ,KAAK,+BAAgC,CAAE+M,KAAMzb,IAC7C4O,MAAK,SAACC,GACLtE,EAAO,iBACP/D,EAAQqI,EAAIxP,SAEbyP,OAAM,SAACC,GACNjF,EAAS,CACP5P,KAAM,QACNyH,QAASoN,EAAI9J,SAAS5F,KAAKgH,QAGzB0I,EAAI9J,SAAS5F,KAAK6J,sBACpB1C,EAAQuI,EAAI9J,SAAS5F,SAGxB+b,SAAQ,WACPlN,GAAkB,OAIlBgN,EAA4B,WAChCzV,EACGiJ,KAAK,yCAA0C,CAAE+M,KAAMzb,EAAO+E,UAC9D6J,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,SAEbyP,OAAM,SAACC,GACNjF,EAAS,CACP5P,KAAM,QACNyH,QAASoN,EAAI9J,SAAS5F,KAAKgH,MAC3B0C,eAAe,IAEbgG,EAAI9J,SAAS5F,KAAKgH,MAAM9E,SAAS,4BACnCiF,EAAQC,KAGJsI,EAAI9J,SAAS5F,KAAK6J,sBACpB1C,EAAQuI,EAAI9J,SAAS5F,SAI1B+b,SAAQ,WACPlN,GAAkB,OAQxB,OACE,sBAAK,cAAY,kBAAjB,UACE,oBAAIvU,UAAU,+CAAd,SAA8DyB,IAE3C,KAAlByO,EAAMlI,SACL,qBAAKpD,SAAU,EAAGtE,GAAG,sBAAsBD,IAAKoU,EAAmBzU,UAAU,OAA7E,SACE,cAAC,IAAD,CAAgBO,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,YAG7C,qBAAKhI,UAAU,eAAe,cAAY,qBAA1C,SACGH,IAEH,qBAAK,cAAY,cAAcG,UAAU,YAAzC,SACE,cAAC,IAAD,CACEyB,MAAK,UAAKA,EAAMmG,SAAS,gBAAkB,UAAY,IAAlD,OAAuDnG,GAC5D6E,UAAQ,EACRF,IAAKqa,EACL9e,SAAUgS,EACVtN,MAAOA,EACP9F,KAAM,OACNqG,UAAW+Z,EAAgB,OAAS,UACpCtgB,IAAKugB,EACL/f,UAAW6I,MAIdqX,GACC,qCACE,sBAAK/gB,UAAU,mCAAf,UACE,cAAC,IAAD,CAAUM,GAAG,uBAAuBmB,MAAM,wBAAwBE,SAjC7C,SAACogB,GAC9Bd,EAAcc,EAAMpY,OAAOjI,YAiCnB,cAAC,KAAD,CACE1B,UAAU,eACVsR,WAAW,uBACX5Q,UAAU,kCACV6Q,gBAAiBA,EACjBC,mBAAoBA,OAGxB,cAACJ,GAAA,EAAD,CACEpR,UAAU,OACVqR,UAAU,QACVC,WAAW,0BACXpO,MAAM,wBACNqO,gBAAiBA,EACjBC,mBAAoBA,EANtB,SAQE,mBAAGxR,UAAU,OAAb,yKAQN,sBAAKA,UAAS,mCAA8B2gB,EAAgB,OAAS,IAArE,UACE,cAAC,IAAD,CACErgB,GAAG,iBACHT,KAAK,SACLW,SAAU8T,EACV1T,YAAa8T,EACb7T,UAAW6I,IAEZiX,GACC,cAAC,IAAD,CACErgB,GAAG,eACHT,KAAK,OACLU,KAAK,YACLF,IAAKwgB,EACLlgB,QAAS,kBAAM+f,GAAiB,MAG1B,mBAATngB,GACC,cAAC,IAAD,CACED,GAAG,iBACH,cAAY,kBACZT,KAAK,SACLU,KAAK,SACLF,IAAKygB,EACLngB,QAAS4f,OAIdvf,MCtWMghB,GAAa,SAACpiB,GAGzB,MAAoFmH,qBAAWsD,KAAvF4F,EAAR,EAAQA,KAAMpD,EAAd,EAAcA,QAASsD,EAAvB,EAAuBA,SAAUC,EAAjC,EAAiCA,WAAYC,EAA7C,EAA6CA,qBAAsBjF,EAAnE,EAAmEA,MAAO8E,EAA1E,EAA0EA,MAClEU,EAAW7J,qBAAWyD,KAAtBoG,OAGA9J,EAFkBC,qBAAWC,KAA7BC,cAEAH,WACAvG,EAASX,EAATW,KAER,EAA4CsB,mBAAS,IAArD,mBAAOogB,EAAP,KAAuBC,EAAvB,KACA,EAAoCrgB,mBAAS,IAA7C,mBAAOsgB,EAAP,KAAmBC,EAAnB,KACA,EAAgDvgB,mBAAS,IAAzD,mBAAOwgB,EAAP,KAAyBC,EAAzB,KACA,EAA0CzgB,oBAAS,GAAnD,mBAAO8e,EAAP,KAAsBD,EAAtB,KAEM6B,EAAkBpe,iBAAY,MACpC,EAAkCtC,mBAAc,8BAAhD,mBAAO2gB,EAAP,KAAkBC,EAAlB,KACA,EAAwC5gB,mBAAc,8BAAtD,mBAAO6gB,EAAP,KAAqBC,EAArB,KAEM7W,EAAYH,cAOZ4U,EAAe,WAEnB,OADsB,KAAlBrQ,EAAMlI,SAAgBoI,IAClB7P,GACN,IAAK,mBAEH,YADAqQ,EAAO,gCAET,IAAK,OACH,IAAMgS,EAAoB,2BACrB3S,GADqB,IAExBR,mBAAoB,GACpBC,8BAA+B,KAIjC,OAFA7C,EAAQ+V,QACRhS,EAAO,4BAET,IAAK,gBAEH,YADAA,EAAO,wBAET,IAAK,iBAEH,YADAiS,IAEF,QACE,SAIAA,EAAqB,WACzB/W,EACGiJ,KAAK,4BACLE,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,SAEb+b,SAAQ,gBASPqB,EAAsB,SAACzc,GAC3BgK,IACA6R,EAAkB,IAClBE,EAAc,IACd1B,EAAiBra,IAQb0c,EAAa3J,uBAAY,WAC7B,IAAI4J,EAAW,GAEf,OAAQziB,GACN,IAAK,mBACL,IAAK,OACHyiB,EAAW,8DACX,MACF,IAAK,UACHA,EAAW,0CACX,MACF,IAAK,gBACHA,EAAW,iEACX,MACF,IAAK,iBACHA,EAAQ,uDAAmD5X,GAC3D,MACF,IAAK,iBACH4X,EAAW,8CAIflX,EACGvG,IAAIyd,GACJ/N,MAAK,WACJ9E,EAAS,CACP5P,KAAM,UACNyH,QAAS,2CA/Bfka,EAAkB,IAClBE,EAAc,OAkCXjN,OAAM,SAACC,GACNG,QAAQC,IAAIJ,EAAI9J,eAGnB,IAEG2X,EAAkB,SAAC5c,GACvB,IAAKA,EAAO,MAAO,GACnB,IAAM6c,EAAU7c,EAAMqM,QAAQ,MAAO,IACrC,OACEwQ,EAAQC,UAAU,EAAGD,EAAQ7b,OAAS,GAAGqL,QAAQ,SAAU,KAC3DwQ,EAAQC,UAAUD,EAAQ7b,OAAS,EAAG6b,EAAQ7b,SA6KlD,OAzKAjD,qBAAU,WACR,GAAIuc,EACF8B,EAAa,uFADf,CAKA,IAAIW,EAAyB,GACzBC,EAAqB,GACrBC,EAAwC,GAE5C,OAAQ/iB,GACN,IAAK,mBACL,IAAK,OACH8iB,EAAqBpT,EAAKP,8BAC1B4T,EAAarT,EAAKR,mBAClB,MACF,IAAK,gBACH4T,EAAqB,SACrBC,EAAarT,EAAKR,mBAClB,MACF,IAAK,iBACL,IAAK,UACL,IAAK,iBACH4T,EAAqBpT,EAAKX,kBAAkB,GAC5CgU,EAAarT,EAAKpJ,OAMtB,IAAIT,EAAM,6BAEJmd,EACJ,wBACE1iB,UAAW,SAACO,GACI,UAAVA,EAAEC,KAAiB0hB,KAEzB/iB,UAAU,gDACV,cAAY,2BACZW,QAASoiB,EACTne,SAAU,EAPZ,qDAaI4e,EACJ,oBAAGxjB,UAAU,OAAb,2DACiD,IAC/C,sBACE,cAAY,uBACZ4E,SAAU,EACV5E,UAAU,gDACVW,QAAS4f,EACT1f,UAAW,SAACO,GACI,UAAVA,EAAEC,KAAiBkf,KAN3B,uCAcJ,OAAQ8C,GACN,IAAK,MACHD,EAAyB,0BACzBhd,EACE,yOAKF,MACF,IAAK,SACH,IAAMqd,EAAQH,EAAY5Q,QAAQ,sBAAuB,KAAO,GAEhEtM,EACE,oFAC2C6c,EACvCQ,GAFJ,6FAIGF,EACS,SAAThjB,GAA4B,qBAATA,GAAwC,kBAATA,EAA2BijB,EAAiB,QAGnG,MACF,IAAK,QACHpd,EACE,oFAC2C6J,EAAKT,MADhD,6FAEE,wBACE3O,UAAW,SAACO,GACI,UAAVA,EAAEC,KAAiB0hB,KAEzB/iB,UAAU,gDACV,cAAY,2BACZW,QAASoiB,EACTne,SAAU,EAPZ,qDAWU,mBAATrE,GAAuE,WAA1C0P,EAAI,+BAChC,oBAAGjQ,UAAU,OAAb,2DACiD,IAC/C,sBACE,cAAY,uBACZ4E,SAAU,EACV5E,UAAU,gDACVW,QAAS4f,EACT1f,UAAW,SAACO,GACI,UAAVA,EAAEC,KAAiBkf,KAN3B,0CAkBZ+B,EAAoBc,GACpBX,EAAarc,MAEZ,CAACua,IAEJvc,qBAAU,WACR,IAAMsf,GAAqB5c,GAAuB,YAATvG,EAErCojB,EAAY,6BAEZhD,EACFgD,EACE,oBAAG3jB,UAAU,eAAb,UACE,mEAA8BqiB,EAA9B,4BACA,oBACEriB,UAAU,yCACVK,IAAKkiB,EACL5Y,OAAO,SACPyJ,IAAI,aACJC,KAAK,4CALP,uBAQE,sBAAMrT,UAAU,OAAhB,SACE,cAAC,IAAD,YAKC0jB,IACTC,EACE,cAAC,IAAD,CACE9jB,KAAK,kCACLS,GAAG,mBACH,eAAa,mBACbN,UAAU,wBACVO,KAAK,WACLI,QAAS,kBAAMmiB,GAAoB,IACnCziB,IAAKkiB,KAKXI,EAAgBgB,KAEf,CAACnB,IAIF,mCACE,qBAAKxiB,UAAU,eAAe,cAAY,wBAA1C,SACE,cAAC,GAAD,CACEyB,MAAOkf,EAAgB,cAAgB,oBACvC9gB,KAAM2iB,EACNnc,MAAO8b,EACPxO,aAxRiB,SAACvS,GACxBghB,EAAchhB,EAAEuI,OAAOtD,OACA,KAAnB4b,GAAuBC,EAAkB,KAuRvC3B,aAAcA,EACdC,SAlPmB,WACN,KAAf2B,GACFD,EAAkB,GAAD,OAAIvB,EAAgB,SAAW,sBAA/B,2BAiPbF,YAAawB,EACbvB,iBAAkBoC,EAClBnC,cAAeA,EACfpgB,KAAMA,EAVR,SAYGmiB,SCrKIkB,GAhJO,WACpBvW,YAAc,sDACd,IAAQ8C,EAAapJ,qBAAWsD,KAAxB8F,SACAS,EAAW7J,qBAAWyD,KAAtBoG,OAGA9J,EAFkBC,qBAAWC,KAA7BC,cAEAH,WAER,EAAsDjF,oBAAS,GAA/D,mBAAOgiB,EAAP,KAA4BC,EAA5B,KACA,EAA0CjiB,mBAAS,IAAnD,mBAAOkc,EAAP,KAAsBC,EAAtB,KACA,EAAoDnc,mBAAS,IAA7D,mBAAOsc,EAAP,KAA2BC,EAA3B,KACA,EAA4Cvc,oBAAS,GAArD,mBAAOyS,EAAP,KAAuBC,EAAvB,KAEM6K,EAAWjb,iBAAyB,MAEpC2H,EAAYH,cAQZmU,EAAkB,SAAC1e,GACT,UAAVA,EAAEC,KAAoBiT,GACxBI,KAIEA,EAAe,WACQ,KAAvByJ,IACJ5J,GAAkB,GAClBuP,GAAuB,KAmDzB,OAhDA1f,qBAAU,WACR,GAAIyf,EAAqB,CACvB,GAA2B,KAAvB1F,EACFiB,EAAS5a,QAASC,aACb,GAAK,oDAAoDsf,KAAKhG,EAAcjW,QAI5E,CACL,IAAM6I,EAAMzE,OAAOC,SAASC,OAAS,YACrCN,EACGiJ,KAAKpE,EAAK,CAAEnB,MAAOuO,EAAcjW,SACjCmN,MAAK,SAACC,GACL/E,EAAS,CACPnI,QACE,sFACsD,IACpD,4BAAI+V,EAAcrL,QAAQ,UAAW,KAAK5K,SAF5C,gPAOFvH,KAAM,UACN6O,eAAe,IAEjBwB,EAAO,cAERuE,OAAM,SAACC,GACFA,EAAI9J,WACsB,MAAxB8J,EAAI9J,SAASmO,QACf2E,EACE,wHAEFgB,EAAS5a,QAASC,SACe,MAAxB2Q,EAAI9J,SAASmO,OACtB7I,EAAO,YAC0B,MAAxBwE,EAAI9J,SAASmO,SACtBtJ,EAASmD,GACT1C,EAAO,sBAjCfwN,EACE,wHAqCJ0F,GAAuB,MAGxB,CAAC3F,EAAoB0F,IAGtB,sBAAK7jB,UAAU,eAAe,cAAY,2BAA1C,UACE,sBAAKA,UAAU,OAAf,UACE,oBAAIA,UAAU,+CAAd,wCACA,mBAAGA,UAAU,cAAb,2QAKA,mBAAGA,UAAU,OAAb,6RAKA,qBAAK,cAAY,cAAcA,UAAU,YAAzC,SACE,cAAC,IAAD,CACEyB,MAAM,gBACN6E,UAAQ,EACRF,IAAK+X,EACLxc,SArFqB,SAACP,GAC9B4c,EAAiB5c,EAAEuI,OAAOtD,OACC,KAAvB8X,GAA2BC,EAAsB,IACjD9J,GAAgBC,GAAkB,IAmF9BlO,MAAO0X,EACPxd,KAAK,OACLqG,UAAU,QACVvG,IAAK+e,EACLve,UAAWif,MAIf,qBAAK9f,UAAU,6BAAf,SACE,cAAC,IAAD,CACEM,GAAG,aACHT,KAAK,SACLW,SAAU8T,EACV1T,YAAa8T,EACb7T,UAAWif,MAGf,sBAAK9f,UAAU,gBAAf,UACE,oBAAIA,UAAU,UAAd,sCACA,mBACEqT,KAAK,WACL,cAAY,eACZ1S,QAAS,SAACS,GACRA,EAAEE,iBACFsP,EAAO,YAET5Q,UAAU,2HAPZ,2BAaH8G,EAAa,KACZ,qCACE,qBAAK9G,UAAU,gCACf,cAAC,EAAD,WCjIGgkB,GAAY,WACvB,OACE,sBAAK,cAAY,0BAA0BhkB,UAAU,YAArD,UACE,gJAGA,uBACA,4JAQOikB,GAAc,WACzB,OACE,sBAAK,cAAY,0BAA0BjkB,UAAU,YAArD,UACE,mJAIA,uBACA,uHAKOkkB,GAAgB,WAC3B,IAAQ9T,EAAerJ,qBAAWsD,KAA1B+F,WACAQ,EAAW7J,qBAAWyD,KAAtBoG,OAER,OACE,qBAAK,cAAY,0BAA0B5Q,UAAU,YAArD,SACE,iJACmH,IACjH,wBACE,cAAY,uBACZW,QAAS,WACPyP,IACAQ,EAAO,qBAET,aAAW,uBACX5Q,UAAU,2IAPZ,6BAUU,IAZZ,oUAqBOmkB,GAAc,WACzB,OACE,qBAAK,cAAY,0BAA0BnkB,UAAU,YAArD,SACE,gOClEOokB,GAAe,SAACxkB,GAG3B,MAA8CmH,qBAAWsD,KAAjD8F,EAAR,EAAQA,SAAUF,EAAlB,EAAkBA,KAAMpD,EAAxB,EAAwBA,QAASyD,EAAjC,EAAiCA,SACjC,EAA4CvJ,qBAAWyD,KAA/CoG,EAAR,EAAQA,OAAQC,EAAhB,EAAgBA,UAAWC,EAA3B,EAA2BA,aAEnBvQ,EAASX,EAATW,KACA8jB,EAAiBC,cAAjBD,aAEFvY,EAAYH,cAGlBvH,qBAAU,WACR0M,EAAa,sBAEZ,IAEH1M,qBAAU,WACU,qBAAdyM,IACkB,KAAlBZ,EAAKZ,UAA4B,mBAAT9O,EAC1BgkB,IACkB,YAAThkB,GAA+B,qBAATA,GAAwC,kBAATA,EAC9DikB,IACkB,mBAATjkB,GACTkkB,OAGD,CAAC5T,IAEJ,IAAM0T,EAAsB,WAC1BjU,EAAS+T,GACT,IAAM1T,EAAMzE,OAAOC,SAASC,OAAhB,gEAAkFiY,GAC9FvY,EACGvG,IAAIoL,GACJsE,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,MAGV,0NADAwP,EAAIxP,KAAKU,KAGT+J,EAAS,CACP5P,KAAM,OACNyH,QAASkN,EAAIxP,KAAKU,IAClBgJ,eAAe,OAIpB+F,OAAM,SAACC,GACyC,8BAA3CA,EAAI9J,SAAS5F,KAAK6J,qBACpB1C,EAAQuI,EAAI9J,SAAS5F,MACgB,sDAA5B0P,EAAI9J,SAAS5F,KAAKgH,OAC3BoE,EAAa,IACb4T,EAAYvR,EAAyB,UAAW,aAEhDuR,EAAYtP,EAAI9J,SAAS5F,KAAKgH,MAAO,kBAAmB,wBAK1D8X,EAAe,WACnB,IAAM7T,EAAMzE,OAAOC,SAASC,OAAS,oBACrCN,EACGiJ,KAAKpE,EAAK,CACTgU,mBAAoBN,IAErBpP,MAAK,SAACC,GAEL,OADApE,EAAa,IAC4B,oBAArCoE,EAAIxP,KAAJ,sBACFyK,EAAS,CACP5P,KAAM,UACNyH,QAAS,sDACToH,eAAe,IAEjBvC,EAAQqI,EAAIxP,WACZkL,EAAO,kBAGgC,gCAArCsE,EAAIxP,KAAJ,sBACFmH,EAAQqI,EAAIxP,WACZkL,EAAO,qCAGU,MAAfsE,EAAIuE,SACe,KAAjBvE,EAAIxP,KAAKU,UAA+BO,IAAjBuO,EAAIxP,KAAKU,KAClC+J,EAAS,CACP5P,KAAM,UACNyH,QAASkN,EAAIxP,KAAKU,IAClBgJ,eAAe,IAGnBvC,EAAQqI,EAAIxP,MAC0B,kBAAlCwP,EAAIxP,KAAK6J,sBACXqB,EAAO,iBAIZuE,OAAM,SAACC,GACN,IAAIwP,EAAU,GACRC,EAASzP,EAAI9J,SAAS5F,KAAKgH,MAQ7BkY,EANQ,YAATrkB,GAA+B,qBAATA,GAAwC,kBAATA,IACtDskB,EAAOjd,SAAS,kDAIZwN,EAAI9J,SAAS5F,KAAKof,aACb,8BDhHqB,SAAC7J,GACvC,OAAQA,GACN,IAAK,OACH,MAAO,YACT,IAAK,iBACL,IAAK,YACH,MAAO,QACT,IAAK,aACH,MAAO,UACT,QACE,MAAO,WCsGgC8J,CAAyB3P,EAAI9J,SAAS5F,KAAKiK,eAElE,uBALF,WAQZ+U,EAAYG,EAAQ,GAAID,OAIxBH,EAAsB,WAC1B,IAAM9T,EAAMzE,OAAOC,SAASC,OAAS,8BAErCN,EACGiJ,KAAKpE,EAAK,CACTgU,mBAAoBN,IAErBpP,MAAK,SAACC,GACLpE,EAAa,IAEM,MAAfoE,EAAIuE,SACNtJ,EAAS,CACP5P,KAAM,UACNyH,QAASkN,EAAIxP,KAAKU,IAClBgJ,eAAe,IAGb8F,EAAIxP,KAAKsf,eAAe,UAC1BnY,EAAQqI,EAAIxP,MACZkL,EAAO,kBAEPA,EAAO,gBAIZuE,OAAM,SAACC,GACN,IAAMwP,EAAyB,KAAf3U,EAAKT,MAAe,WAAa,gBACjDkV,EAAYtP,EAAI9J,SAAS5F,KAAKgH,MAAO,GAAIkY,OAIzCF,EAAc,SAAC1c,EAA0Bid,EAAmBL,GAChEzU,EAAS,CACP5P,KAAM,QACNyH,QAASA,EACToH,eAAe,IAEjB0B,EAAamU,GACbrU,EAAOgU,IAGT,OAAO,8B,oBC6HMM,GA3RgB,SAACtlB,GAC9B,IAAIiU,EAAY,GAEhB,OAAQjU,EAAMW,MACZ,IAAK,mBACHsT,EAAY,mBACZ,MACF,IAAK,OACHA,EAAY,eAMhBxG,YAAc,6DACd,MAAwEtG,qBAAWsD,KAA3E4F,EAAR,EAAQA,KAAMC,EAAd,EAAcA,MAAOC,EAArB,EAAqBA,SAAUE,EAA/B,EAA+BA,qBAAsBxD,EAArD,EAAqDA,QAASzB,EAA9D,EAA8DA,MAC9D,EAA8BrE,qBAAWyD,KAAjCoG,EAAR,EAAQA,OAAQC,EAAhB,EAAgBA,UAEhB,EAA4ChP,mBAAS,IAArD,mBAAOogB,EAAP,KAAuBC,EAAvB,KACA,EAAoCrgB,mBAAS,IAA7C,mBAAOsgB,EAAP,KAAmBC,EAAnB,KACA,EAA0BvgB,mBAAS,IAAnC,mBAAO2N,EAAP,KAAc2V,EAAd,KACA,EAA0BtjB,mBAAS,IAAnC,mBAAOujB,EAAP,KAAcC,EAAd,KACA,EAA4BxjB,mBAAS,IAArC,mBAAOyjB,EAAP,KAAeC,EAAf,KACA,EAA8C1jB,oBAAS,GAAvD,mBAAO2jB,EAAP,KAAwBC,EAAxB,KACA,EAA0C5jB,oBAAS,GAAnD,mBAAO6jB,EAAP,KAAsBC,EAAtB,KACA,EAAsC9jB,oBAAS,GAA/C,mBAAO4R,EAAP,KAAoBmS,EAApB,KACA,EAA8B/jB,oBAAS,GAAvC,mBAAOkd,GAAP,KAAgBC,GAAhB,KACA,GAA4Cnd,oBAAS,GAArD,qBAAOyS,GAAP,MAAuBC,GAAvB,MAEMxP,GAAWZ,iBAAuB,MAClCyc,GAAWzc,iBAAuB,MAElC2H,GAAYH,cAEZ0J,GAAoB,WACxBoQ,GAAmB,IAGfI,GAAwB,WAC5BF,GAAiB,IAqEbjR,GAAe,WACA,KAAfyN,GACFD,EAAkB,4CAClBtB,GAASpc,QAASC,UAElB8P,IAAkB,GACJ,oBAAd1D,EArDF/E,GACGiJ,KAAK,uCAAwC,CAC5C+M,KAAMK,EACN/W,MAAOA,IAER6J,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,MACZkL,EAAO,oCAERuE,OAAM,SAACC,GACsB,MAAxBA,EAAI9J,SAASmO,QACftJ,EAAS,CACP5P,KAAM,QACNyH,QAASoN,EAAI9J,SAAS5F,KAAKgH,WAOnCZ,GACGiJ,KAAK,sCAAuC,CAC3CyM,kBAAmBW,IAEpBlN,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,MACR+N,GACFtD,EAAS,CACP5P,KAAM,UACNyH,QAAS,oCACToH,eAAe,IAEjBwB,EAAO,kBAEPA,EAAO,mBAGVuE,OAAM,SAACC,GACsB,MAAxBA,EAAI9J,SAASmO,QACftJ,EAAS,CACP5P,KAAM,QACNyH,QAASoN,EAAI9J,SAAS5F,KAAKgH,aAgB/BoT,GAAkB,SAAC1e,GACT,UAAVA,EAAEC,KAAoBiT,IACxBI,MA6CJ,OAzCAtQ,qBAAU,WACR,GAAK2a,GAAL,CACA,IAAIpO,EAAMzE,OAAOC,SAASC,OAAS,qCACE,oBAAjC6D,EAAI,sBAAkDA,EAAI,kBAAsB5I,OAAS,IAC3Fue,GAAe,GACfjV,EAAMzE,OAAOC,SAASC,OAAS,yCAEjCN,GACGiJ,KAAKpE,EAAK,CAAEqE,YAAa,QACzBC,MAAK,SAACC,GACL,GAAmB,MAAfA,EAAIuE,QAAkBvE,EAAIxP,KAAJ,gBAA6B,CACrD,IAAMogB,EAAWC,UAAU7Q,EAAIxP,KAAJ,OACrBsgB,EAAa9Q,EAAIxP,KAAJ,gBAA4BrE,IACzC4kB,EAAYF,UAAU7Q,EAAIxP,KAAJ,gBAA4B4f,QACxDH,EAASW,GACTT,EAASW,GACTT,EAAUU,GAEZjH,IAAW,MAEZ7J,OAAM,SAACC,GACN4J,IAAW,GACXzJ,QAAQC,IAAIJ,EAAI9J,gBAGnB,IAEHlH,qBAAU,WACH2a,IAA8B,KAAnBkD,GACdrB,GAASpc,QAASC,UAGnB,CAACwd,IAEJ7d,qBAAU,WACH2a,IAA6B,KAAlB7O,EAAMlI,SACpBjD,GAASP,QAASC,UAGnB,CAACyL,IAEG6O,GACL,6BAEA,sBAAK/e,UAAU,eAAe,cAAY,iCAA1C,UACE,cAAC,IAAD,CACEkD,MAAM,kCACNC,QAASqiB,EACTpiB,SAAUiS,GACVhS,KAAMgS,GACN/R,MAAM,EACNK,kBAAkB,EAClBC,cAAc,EAPhB,SASE,sBAAK5D,UAAU,uCAAf,UACE,wCAAWwP,KACX,sCAAS4V,KACT,4FAGJ,cAAC,IAAD,CACEliB,MAAM,GACNC,QAASuiB,EACTtiB,SAAUyiB,GACVxiB,KAAMwiB,GACNviB,MAAM,EACNK,kBAAkB,EAClBC,cAAc,EAPhB,SASE,sBAAK5D,UAAU,+BAAf,UACE,oBAAIA,UAAU,WAAd,gCACA,mBAAGA,UAAU,mBAAb,yIAIA,oBAAIA,UAAU,WAAd,uDACA,mBAAGA,UAAU,mBAAb,sQAOJ,oBAAIA,UAAU,cAAd,+BACA,sBAAKA,UAAU,oCAAf,UACqB,KAAlBkQ,EAAMlI,SACL,qBAAKhI,UAAU,YAAYK,IAAK0E,GAAU,cAAY,kBAAkBH,SAAU,EAAlF,SACE,cAAC,IAAD,CAAgBrE,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,YAG7C,sBAAKhI,UAAU,+BAAf,UACE,yJAIA,+KAIA,mFAEF,qBAAKA,UAAU,8BAA8BkD,MAAM,iCAAnD,SACE,cAAC,KAAD,CACEtB,KAAM,IACNyE,MAAK,yBAAoBif,EAApB,YAA8B9V,EAA9B,mBAA8C4V,EAA9C,mBAA8DE,GACnEviB,QAAO,cACPiU,KAAK,MACL,aAAW,qCAGf,cAAC,IAAD,CACE1W,GAAG,0BACH,cAAY,+BACZT,KAAK,uCACLG,UAAU,kCACVO,KAAK,WACLI,QAAS,SAACS,GAAD,OAAOqkB,GAAmB,MAErC,qBAAKzlB,UAAU,mBAAf,SACE,cAAC,IAAD,CACEM,GAAG,wBACH,cAAY,6BACZT,KAAK,aACLG,UAAU,YACVO,KAAK,YACLI,QAAS,SAACS,GAAD,OAAOukB,GAAiB,QAGrC,qBAAK3lB,UAAU,OAAf,SACE,yBAEF,mBAAGA,UAAU,QAAb,6FACA,qBAAK,cAAY,cAAcA,UAAU,YAAzC,SACE,cAAC,IAAD,CACEyB,MAAM,2BACN6E,UAAQ,EACRF,IAAK6b,EACLtgB,SA3Ne,SAACP,GACxBiP,IACIiE,IAAgBC,IAAkB,GACtC6N,EAAchhB,EAAEuI,OAAOtD,OACvB6b,EAAkB,KAwNV7b,MAAO8b,EACP5hB,KAAM,SACNqG,UAAW,UACXvG,IAAKugB,GACL/f,UAAWif,OAGf,sBAAK9f,UAAU,mBAAf,UACE,cAAC,IAAD,CACEM,GAAG,0BACHT,KAAK,SACLW,SAAU8T,GACV1T,YAAa8T,GACb7T,UAAWif,KAEb,cAAC,IAAD,CAAQxf,GAAG,0BAA0BT,KAAK,SAASU,KAAK,SAASI,QApOpD,WACnB0P,IACA,IAAMuS,EAAoB,2BACrB3S,GADqB,IAExBR,mBAAoB,GACpBC,8BAA+B,KAEjC7C,EAAQ+V,GACRhS,EAAO,IAAD,OAAKiD,EAAL,6B,kBC9CGqS,I,OAAmB,SAACtmB,GAC/B,IACEumB,EAUEvmB,EAVFumB,aACAC,EASExmB,EATFwmB,kBACAC,EAQEzmB,EARFymB,eACAC,EAOE1mB,EAPF0mB,SACAC,EAME3mB,EANF2mB,YACAC,EAKE5mB,EALF4mB,OACAC,EAIE7mB,EAJF6mB,UACAC,EAGE9mB,EAHF8mB,UACAC,EAEE/mB,EAFF+mB,aACAC,EACEhnB,EADFgnB,WAGF,EAA8B/kB,mBAASskB,GAAvC,mBAAOtd,EAAP,KAAgBge,EAAhB,KACA,EAA8ChlB,mBAAiB,IAA/D,mBAAOilB,EAAP,KAAwBC,EAAxB,KACMC,EAAc7iB,iBAA0B,MACxC8iB,EAAY9iB,iBAAuB,MAIzCC,qBAAU,WACJwiB,EAAWM,QAAUb,GAAsC,aAApBO,EAAWrmB,MACpDymB,EAAYxiB,QAASC,QAEnBmiB,EAAWM,QAAUb,GAAsC,WAApBO,EAAWrmB,MACpD0mB,EAAUziB,QAASC,UAGpB,CAACmiB,EAAWM,MAAON,EAAWrmB,KAAM8lB,IAGvCjiB,qBAAU,WACR,IAAM+iB,EAA+B,GACrChB,EAAa9K,SAAQ,SAAC+L,GAEfhB,EAAkBxe,SAASwf,IAC9BD,EAAc/L,KAAKgM,GAGjBA,IAAQd,GACVa,EAAc/L,KAAKgM,MAGvBP,EAAWM,KACV,CAAChB,EAAcG,EAAUF,IAW5BhiB,qBAAU,WACR,IAAIijB,EAAc,GAEhBA,EADwC,KAAtCjB,EAAkBC,GACND,EAAkBC,GAEqB,KAAvCK,EAAUL,GAAgBC,SAAkB,aAAeI,EAAUL,GAAgBC,SAErGS,EAAmBM,KAClB,CAACX,IAEJ,IAAMY,EAAsB,SAAC,GAUtB,IATLC,EASI,EATJA,UACA1e,EAQI,EARJA,QACAE,EAOI,EAPJA,SACA1C,EAMI,EANJA,MAOA,OACE,sBAAK,cAAY,8BAAjB,UACE,wBAAOrG,UAAU,UAAU2C,QAAS4kB,EAAW,iCAAyBlB,EAAiB,EAA1C,UAA/C,UACGkB,EACD,sBAAMvnB,UAAU,0BAAhB,kBAEF,8BACE,yBACEA,UAAS,mCACgC,KAAvC0mB,EAAUL,GAAgBC,SACtB,qEACA,QAEN,6BAAqBiB,EAAUpgB,cAAcqgB,MAAM,KAAK3S,KAAK,KAA7D,aACA,uBAAe0S,EAAf,qBAAqCT,GACrCld,KAAM2d,EACN5lB,SAAUoH,EACV1C,MAAOA,EACPhG,IAAK2mB,EAXP,UAaa,KAAV3gB,EAAe,gDAA8B,6BAC7CwC,EAAQjD,KAAI,SAACsE,EAAQpE,GACpB,OACE,wBAAQ,gCAAgC,aAAYoE,EAAQ7D,MAAO6D,EAAnE,SACGA,GAD6EA,eAkB9F,OACE,qCACE,qBAAIlK,UAAU,oBAAd,sBACYqmB,EAAiB,EAD7B,OACoCoB,MAGpC,sBACEznB,UACyC,KAAvC0mB,EAAUL,GAAgBC,SACtB,wEACA,qBAJR,UAO0C,KAAvCI,EAAUL,GAAgBC,UACzB,qBAAKtmB,UAAU,6BAA6B,cAAY,yBAAxD,SACG0mB,EAAUL,GAAgBC,WAG/B,cAACgB,EAAD,CACEC,UAAS,4BAAuBlB,EAAiB,GACjDhgB,MAAOigB,EACPzd,QAASA,EACTE,SA7BuB,SAACgZ,GAC9B,IAAM2F,EAAiBvB,EAAa5K,MAAK,SAAC6L,GAAD,OAASA,IAAQrF,EAAMpY,OAAOtD,SACvEkgB,EAAYF,EAAgBqB,GAC5BX,EAAmBhF,EAAMpY,OAAOtD,OAlEW,KAAvCqgB,EAAUL,GAAgBC,UAAiBK,EAAaN,EAAgB,WAAY,UAgGtF,sBAAK,cAAY,wBAAwBrmB,UAAU,OAAnD,UACE,qBAAIA,UAAU,eAAe,cAAY,eAAzC,oCACsBqmB,EAAiB,GACrC,sBAAMrmB,UAAU,0BAAhB,kBAEF,cAAC,IAAD,CACEyB,MAAK,0BAAqB4kB,EAAiB,GAC3C/f,UAAQ,EACRF,IAAKsgB,EAAUL,GAAgBG,OAC/B7kB,SAAU,SAACP,GAAD,OAtGS,SAACA,GACe,KAArCslB,EAAUL,GAAgBG,QAAeG,EAAaN,EAAgB,SAAU,IACpFI,EAAUrlB,EAAGilB,GAoGUsB,CAAmBvmB,IACpCiF,MAAOmgB,EACPjmB,KAAK,OACLF,IAAK4mB,EACL1gB,WAAS,YCvKNkhB,GAA+B,EAmBtCG,GAAmBC,MAAMJ,IAA8B3kB,KAAK,CAChEwjB,SAAU,GACVE,OAAQ,KAGJsB,GAAoB,CAAEZ,WAAOvgB,EAAWpG,UAAMoG,GAEvCohB,GAAuB,SAACnoB,GACnC,IAAQW,EAASX,EAATW,KAER8M,YAAc,4CACd,MAAiDtG,qBAAWsD,KAApDwC,EAAR,EAAQA,QAASqD,EAAjB,EAAiBA,MAAOC,EAAxB,EAAwBA,SAAUC,EAAlC,EAAkCA,WAC1BQ,EAAW7J,qBAAWyD,KAAtBoG,OAER,EAA8C/O,mBAAqC,IAAnF,mBAAOmmB,EAAP,KAAwBC,EAAxB,KACA,EAAwCpmB,mBAAwB,IAAhE,mBAAOqmB,EAAP,KAAqBC,EAArB,KACA,EAAsDtmB,mBAAS,IAA/D,mBAAOumB,EAAP,KAA4BC,EAA5B,KACA,EAAkCxmB,oBAAS,GAA3C,mBAAOymB,EAAP,KAAkBC,EAAlB,KACA,EAAoD1mB,oBAAS,GAA7D,mBAAO2mB,EAAP,KAA2BC,EAA3B,KACA,EAAgD5mB,oBAAS,GAAzD,mBAAO6mB,EAAP,KAAyBC,EAAzB,KACA,EAAkD9mB,mBAChDgmB,MAAMJ,IAA8B3kB,KAAK,KAD3C,mBAAOsjB,EAAP,KAA0BwC,EAA1B,KAGA,EAA8B/mB,mBAASgmB,MAAMJ,IAA8B3kB,KAAK,KAAhF,mBAAO+lB,EAAP,KAAgBC,EAAhB,KACA,EAAkCjnB,mBAAgC+lB,IAAlE,mBAAOlB,EAAP,KAAkBC,EAAlB,KACA,EAAoC9kB,mBAA0BimB,IAA9D,mBAAOiB,GAAP,KAAmBC,GAAnB,KACA,GAA4CnnB,oBAAS,GAArD,qBAAOyS,GAAP,MAAuBC,GAAvB,MAEMxP,GAAWZ,iBAAuB,MAElC2H,GAAYH,cAEZsd,GAAuB,SAACnjB,EAAaO,GACnB,KAAlB6J,EAAMlI,SAAgBoI,IACtBkE,IAAgBC,IAAkB,GACtC,IAAI2U,EAAqB,aAAO9C,GAChC8C,EAAsBpjB,GAAOO,EAC7BuiB,EAAqBM,GACrB,IAAIC,EAAW,aAAON,GACtBM,EAAYrjB,GAAO,GACnBgjB,EAAWK,IAGPC,GAAoB,SAAChoB,EAAQ0E,GACX,KAAlBoK,EAAMlI,SAAgBoI,IACtBkE,IAAgBC,IAAkB,GACtCuU,EACED,EAAQjjB,KAAI,SAACyjB,EAAMC,GACjB,OAAIxjB,IAAQwjB,EACHloB,EAAEuI,OAAOtD,MAEXgjB,OAKPE,GAAe,SAACzjB,EAAazE,EAA4BgF,GAC7D,IAAMmjB,EAAW,aAAO9C,GACxB8C,EAAY1jB,GAAKzE,GAAOgF,EACxBsgB,EAAa6C,IAwBfplB,qBAAU,WACR0H,GACGvG,IAAI,sBACJ0P,MAAK,SAACC,GACL,IAAMuU,EAAevU,EAAIxP,KAAKmK,UACxBA,EAAY4Z,EAAa7jB,KAAI,SAAC8jB,GAAD,OAAsCA,EAAYpD,YAErF2B,EAAmBwB,GACnBtB,EAAgBtY,GAChB4Y,GAAsB,MAEvBhH,SAAQ,WACM,SAATlhB,EACFuL,GACGvG,IAAI,qBACJ0P,MAAK,SAAC3J,GACL+c,EAAuB/c,EAAS5F,KAAKikB,kBACrChB,GAAoB,GACpBJ,GAAa,MAEdpT,OAAM,SAACzI,GACN6I,QAAQC,IAAI9I,EAAMpB,cAGtBqd,GAAoB,GACpBJ,GAAa,OAGhBpT,OAAM,SAACzI,GACN6I,QAAQC,IAAI9I,EAAMpB,eAGrB,IAEHlH,qBAAU,WACR,GAAKokB,EACL,GAAa,SAATjoB,GAIJ,GAAImoB,EAAkB,CACpB,IAAIG,EAAUnN,OAAOkO,OAAOxB,GACxByB,EAAiC,GACjCC,EAA8B,GAElCjB,EAAQxN,SAAQ,SAAC0O,GACf,IAAMC,EAAaD,EAAS,qBACtBvD,EAASuD,EAAS,KAClBE,EAAcjC,EAAgBkC,WAAU,SAACC,GAAD,OAAcA,EAAI7pB,KAAO0pB,KACjE1D,EAAW0B,EAAgBiC,GAAa3D,SAC9CuD,EAAgBzO,KAAKkL,GACrBwD,EAAa1O,KAAKoL,MAEpBoC,EAAqBiB,GACrBf,EAAWgB,GACXvB,GAAa,SAlBbA,GAAa,KAqBd,CAACC,EAAoBE,IAwDxB,OAAOJ,EACL,cAAC,IAAD,IAEA,sBAAKtoB,UAAU,eAAe,cAAY,mCAA1C,UACE,oBAAIA,UAAU,gBAAd,iCACmB,KAAlBkQ,EAAMlI,SACL,qBAAKhI,UAAU,OAAOK,IAAK0E,GAAUH,SAAU,EAAG,cAAY,kBAA9D,SACE,cAAC,IAAD,CAAgBrE,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,YAG7C,mBAAGhI,UAAU,eAAb,iHAGComB,EAAkBxgB,KAAI,SAAC0gB,EAAUxgB,GAAX,OACrB,cAAC,GAAD,CAEEqgB,aAAc+B,EACd9B,kBAAmBA,EACnBC,eAAgBvgB,EAChBwgB,SAAUA,EACVC,YAAa0C,GACbzC,OAAQqC,EAAQ/iB,GAChB2gB,UAAW2C,GACX1C,UAAWA,EACXC,aAAc4C,GACd3C,WAAYmC,IAXd,4BAC4BjjB,OAa9B,sBAAK9F,UAAU,wBAAf,UACE,cAAC,IAAD,CACEM,GAAG,6BACH,cAAY,6BACZE,SAAU8T,GACVzU,KAAK,SACLc,QArEa,SAACS,GAEpB,IAtGqB,WAGrB,IAFA,IAAMgpB,EAAc,GAEXtkB,EAAM,EAAGA,EAAM2hB,GAA8B3hB,IAAO,CAC3D,IAAMukB,EAA4C,KAA3BjE,EAAkBtgB,GAAc,oCAAsC,GACvFwkB,EAAgC,KAAjBzB,EAAQ/iB,GAAc,kCAAoC,GAC/EskB,EAAYhP,KAAK,CAAEkL,SAAU+D,EAAgB7D,OAAQ8D,IAEvD3D,EAAayD,GAEb,IAAMG,EAAWH,EAAYF,WAAU,SAAC9U,GAAD,MAA0B,KAAjBA,EAAIkR,UAAkC,KAAflR,EAAIoR,UAQ3E,OAPI+D,GAAY,GACdvB,GAAc,CACZ9B,MAAOqD,EACPhqB,KAAyC,KAAnC6pB,EAAYG,GAAUjE,SAAkB,WAAa,WAIxDiE,GAAY,EAmFCC,GACpB,CAEA,IAAM5V,EAAI,iBAAsB,SAATrU,EAAkB,0BAA4B,wBAC/D+D,EAxBW,WAEjB,IADA,IAAIA,EAAO,GADY,WAEdwB,GACP,IAAM2kB,EAAsBzC,EAAgBkC,WAAU,SAACQ,GAAD,OAAUA,EAAKpE,WAAaF,EAAkBtgB,MACpGxB,EAAI,2BACCA,GADD,mBAEDwB,EAAM4V,OAAOiP,OAAO,CACnBC,qBAAsB5C,EAAgByC,GAAqBnqB,GAC3DT,KAAMgpB,EAAQ/iB,QANXA,EAAM,EAAGA,EAAM2hB,GAA8B3hB,IAAQ,EAArDA,GAUT,OAAOxB,EAYMumB,GACbtW,IAAkB,GAClBzI,GACGiJ,KAAKH,EAAM,CAAEiU,QAASvkB,IACtB2Q,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,MACC,SAATnF,GACF4P,EAAS,CACP5P,KAAM,UACNyH,QAAS,uDACToH,eAAe,IAEjBwB,EAAO,kBAEHsE,EAAIxP,KAAKic,mBACXxR,EAAS,CACP5P,KAAqC,YAA/B2U,EAAIxP,KAAKic,kBAAkC,UAAY,QAC7D3Z,QAASkN,EAAIxP,KAAKU,IAClBgJ,eAAe,OAKtB+F,OAAM,SAACC,GACsB,MAAxBA,EAAI9J,SAASmO,QAA0C,MAAxBrE,EAAI9J,SAASmO,QAC9CtJ,EAAS,CAAEnI,QAASoN,EAAI9J,SAAS5F,KAAKgH,MAAOnM,KAAM,iBAyC3C,SAATA,GACC,cAAC,IAAD,CACED,GAAG,wBACH,cAAY,wBACZT,KAAK,SACLU,KAAK,SACLI,QAjFW,SAACS,GACpBwP,EAAO,2B,oBCvDIka,GApHI,SAAClrB,GAClB,IAAQmrB,EAAenrB,EAAfmrB,WACR,EAA4ChkB,qBAAWyD,KAA/CoG,EAAR,EAAQA,OAAQC,EAAhB,EAAgBA,UAAWC,EAA3B,EAA2BA,aAC3B,EAAsC/J,qBAAWsD,KAAzC4F,EAAR,EAAQA,KAAMpD,EAAd,EAAcA,QAASuD,EAAvB,EAAuBA,WAGftJ,EAFkBC,qBAAWC,KAA7BC,cAEAH,WAER,EAAsCjF,oBAAS,GAA/C,mBAAOmpB,EAAP,KAAoBC,EAApB,KAEMnf,EAAYH,cAOlBvH,qBAAU,WACR6mB,EAA8B,KAAfhb,EAAKT,SACnB,CAACS,EAAKT,QAET,IAAM0b,EAAwB,WAC5B9a,IACkB,SAAdS,EACFka,GAAcA,KAEdja,EAAa,IACbF,EAAqC,oBAA9BX,EAAKV,qBAA6C,aAAe,6BAItE4b,EAAwB,WAC5B,IAAMxa,EAAMzE,OAAOC,SAASC,OAAS,qCAErCN,EACGvG,IAAIoL,GACJsE,MAAK,SAACC,GACc,MAAfA,EAAIuE,QACN5M,EAAQqI,EAAIxP,SAGfyP,OAAM,SAACC,GACNG,QAAQC,IAAIJ,OAIZgW,EAAc,WAElB,OADA/d,YAAc,sCAEZ,qCACE,qBAAKrN,UAAU,oBAAf,qOAKA,cAAC,IAAD,CAAgBO,KAAK,UAArB,SACE,qCACE,sFACA,sBAAKP,UAAU,OAAf,UACE,gCAjEN,oDAkEM,qBAAIA,UAAU,eAAd,kCACuB,4BAAIiQ,EAAK2R,yBAMtC,sBAAK5hB,UAAU,6BAAf,UACG8G,EAAa,KACZ,cAAC,KAAD,CACEukB,QAAS,kBAAM,cAAC,IAAD,CAAQ/qB,GAAG,YAAY,cAAY,YAAYT,KAAK,WACnEyrB,QAAS,WACP,IAAMC,EAAkBlnB,SAASmnB,cAAc,OACzCC,EAAYpnB,SAASmnB,cAAc,OAKzC,OAJAC,EAAUC,UAAUC,IAAI,QACxBF,EAAUG,YAAYvnB,SAASwnB,eA7E7C,mRA8EcN,EAAgBK,YAAYH,GAC5BF,EAAgBK,YAAYvnB,SAASwnB,eAAT,gCAAiD5b,EAAK2R,eAC3E2J,KAKE,SAAd1a,GACC,cAAC,IAAD,CACE7Q,UAAU,UACVM,GAAG,0BACHT,KAAK,2BACLU,KAAK,UACLI,QAASwqB,IAGb,cAAC,IAAD,CACE7qB,GAAG,wBACHT,KAAoB,SAAdgR,EAAuB,QAAU,WACvCtQ,KAAK,YACLI,QAASuqB,WAOnB,OAAKF,EAEgB,SAAdna,EACL,cAACua,EAAD,IAEA,sBAAKprB,UAAU,eAAe,cAAY,wBAA1C,UACE,oBAAIA,UAAU,cAAd,yBACA,qBAAKA,UAAU,YAAf,SACE,cAACorB,EAAD,SARmB,MCtHZ,OAA0B,iDC2Q1BU,GArQK,WAClB,MAA0B/kB,qBAAWsD,KAA7B4F,EAAR,EAAQA,KAAMpD,EAAd,EAAcA,QACN+D,EAAW7J,qBAAWyD,KAAtBoG,OACR,EAA4C7J,qBAAWC,KAA/CC,EAAR,EAAQA,cAAe8F,EAAvB,EAAuBA,iBAEvB,EAAsBlL,mBAASoO,EAAI,cAA5BgL,EAAP,oBACA,EAAgCpZ,qBAAhC,mBAAOqH,EAAP,KAAiBC,EAAjB,KACA,EAAoCtH,oBAAkB,GAAtD,mBAAOkqB,EAAP,KAAmBC,EAAnB,KACA,EAAgDnqB,oBAAS,GAAzD,mBAAOoqB,EAAP,KAAyBC,EAAzB,KAEMpgB,EAAYH,cAEZgI,EAAe,SAACtN,GACpB8C,EAAY9C,GACZ2lB,GAAc,IAGVtiB,EAAiB,SAACrD,EAAejF,GACvB,UAAVA,EAAEC,MACJD,EAAEE,iBACF6H,EAAY9C,GACZ2lB,GAAc,KAsElB,OAhCA5nB,qBAAU,WACRC,SAASnB,MAAQ,wCAChB,IAEHkB,qBAAU,YAGW,OAAhB6W,GAAwC,kBAAhBA,GACR,kBAAhBA,GAAmD,OAAhBA,IAEpCrK,EAAO,cAIT,IACMD,EAAMzE,OAAOC,SAASC,OAAhB,+CADO,gCAGnBN,EACGvG,IAAIoL,GACJsE,MAAK,SAACC,IACoB,IAArBA,EAAIxP,KAAKia,QACXuM,GAAoB,GAEpBA,GAAoB,MAGvB/W,OAAM,SAACC,GACNG,QAAQC,IAAIJ,EAAI9J,eAGnB,IAGD,sBAAKtL,UAAU,eAAe,cAAY,oBAA1C,UACE,oBAAIA,UAAU,cAAd,0BAEA,sBAAKA,UAAU,kDAAf,UACE,uBACA,+GACiF,IAC/E,mBACEA,UAAU,oEACVqT,KAAK,oCACL1J,OAAO,SACPyJ,IAAI,aAJN,uCAOK,IATP,2BAYA,iLAIA,oBAAIpT,UAAU,UAAd,qCACA,sBACEA,UAAS,uDACM,SAAbkJ,EAAsB,oBAAsB,WAE9C,cAAY,cACZtE,SAAU,EACVjE,QAAS,kBAAMgT,EAAa,SAC5B9S,UAAW,SAACO,GAAD,OAAOsI,EAAe,OAAQtI,IAP3C,UASE,uBACEpB,UAAU,uCACV,cAAY,iBACZ4E,UAAW,EACXtE,GAAG,OACHC,KAAK,QACL8F,MAAM,OACN3E,QAAsB,SAAbwH,EACT1C,UAAQ,IAEV,uBAAO7D,QAAQ,OAAO3C,UAAU,yCAAhC,SACE,gCACE,oBAAIM,GAAG,aAAaN,UAAU,UAA9B,gFAGA,8BACE,qBAAIA,UAAU,2BAAd,UACE,6BACE,uHAEF,6BACE,0IAOZ,sBACEA,UAAS,uDACM,mBAAbkJ,EAAgC,oBAAsB,WAExD,cAAY,wBACZtE,SAAU,EACVjE,QAAS,kBAAMgT,EAAa,mBAC5B9S,UAAW,SAACO,GAAD,OAAOsI,EAAe,iBAAkBtI,IAPrD,UASE,uBACEpB,UAAU,uCACV,cAAY,2BACZ4E,UAAW,EACXtE,GAAG,iBACHC,KAAK,QACL8F,MAAM,iBACN3E,QAAsB,mBAAbwH,EACT1C,UAAQ,IAEV,uBAAO7D,QAAQ,iBAAiB3C,UAAU,yCAA1C,SACE,gCACE,oBAAIM,GAAG,uBAAuBN,UAAU,UAAxC,0CAGA,gCACE,qBAAIA,UAAU,2BAAd,UACE,6BACE,8IAKF,6BACE,mOAOJ,sBAAKA,UAAU,0BAAf,UACE,qBAAKC,IAAKksB,GAAWjsB,IAAI,eACzB,sCACA,gHAOT+rB,GACC,sBACEjsB,UAAS,uDACM,kBAAbkJ,EAA+B,oBAAsB,WAEvD,cAAY,uBACZtE,SAAU,EACVjE,QAAS,kBAAMgT,EAAa,kBAC5B9S,UAAW,SAACO,GAAD,OAAOsI,EAAe,gBAAiBtI,IAPpD,UASE,uBACEpB,UAAU,uCACV4E,UAAW,EACX,cAAY,0BACZtE,GAAG,gBACHC,KAAK,QACL8F,MAAM,gBACN3E,QAAsB,kBAAbwH,EACT1C,UAAQ,IAEV,uBAAO7D,QAAQ,gBAAgB3C,UAAU,yCAAzC,SACE,gCACE,oBAAIM,GAAG,sBAAsBN,UAAU,UAAvC,sFAGA,8BACE,qBAAIA,UAAU,2BAAd,UACE,6BACE,8IAKF,6BACE,yMAYd,qBAAKA,UAAU,wBAAf,SACE,cAAC,IAAD,CACEM,GAAG,sBACH,cAAY,sBACZT,KAAK,SACLc,QAnOW,SAACS,GACpB4qB,GAAc,GAEd,IAAIrb,EAAMzE,OAAOC,SAASC,OAAS,6BAElB,mBAAblD,EACF0H,EAAO,2BACe,SAAb1H,EACT4C,EACGiJ,KAAKpE,EAAK,CAAEhB,aAAc,SAC1BsF,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,MACZqH,EAAiB,2BAAK9F,GAAN,IAAqBiK,mBAAmB,KAExDN,EAAO,QAERuE,OAAM,SAACC,GACNG,QAAQC,IAAIJ,EAAI9J,aAGpBQ,EACGiJ,KAAKpE,EAAK,CAAEhB,aAAc,eAC1BsF,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,MACZqH,EAAiB,2BAAK9F,GAAN,IAAqBiK,mBAAmB,KAExDN,EAAO,QAERuE,OAAM,SAACC,GACNG,QAAQC,IAAIJ,EAAI9J,cAuMd9K,SAAUurB,aCxPTK,GAAiB,SAAC,GAOH,IAN1B3qB,EAMyB,EANzBA,MAMyB,IALzB4E,aAKyB,MALjB,GAKiB,EAJzB1F,EAIyB,EAJzBA,QACA0rB,EAGyB,EAHzBA,YACA9R,EAEyB,EAFzBA,WAEyB,IADzB+R,cACyB,MADhB,uBACgB,EACnBC,EAAShS,EAAWpT,cAAcS,SAAS,QAEjD,OACE,sBACE5H,UAAS,0FACT,cAAY,6BAFd,UAIE,sBAAKA,UAAU,2DAAf,UACE,qBAAKA,UAAS,uCAAd,SAAyDyB,IACzD,qBAAKzB,UAAU,wCAAf,SAAwDqG,OAG1D,qBAAKrG,UAAU,0CAAf,SACE,wBACE,cAAassB,EACb,uBAAe7qB,EAAf,YAAwB4E,EAAxB,YAAiCkU,EAAjC,KACAva,UAAS,wCAA8C,OAAXqsB,QAAW,IAAXA,KAAahlB,OAAb,8BAA6CglB,GAAgB,IACzG1rB,QAAS,kBAAMA,KAJjB,SAME,sBAAKX,UAAU,yEAAf,UACGusB,EAAS,cAAC,IAAD,CAAStkB,MAAM,UAAUxF,OAAO,OAAU,cAAC,IAAD,CAAYwF,MAAM,UAAUxF,OAAO,OACvF,sBAAMzC,UAAU,wBAAhB,SAAyCua,eCuQtCiS,I,OAnSK,WAAO,IAAD,EACxBnf,YAAc,kDAEd,MAA6EtG,qBAAWsD,KAAhF4F,EAAR,EAAQA,KAAMpD,EAAd,EAAcA,QAASqD,EAAvB,EAAuBA,MAAOC,EAA9B,EAA8BA,SAAUC,EAAxC,EAAwCA,WAAYC,EAApD,EAAoDA,qBACpD,EAAiCtJ,qBAAWyD,KAApCoG,EAAR,EAAQA,OAAQE,EAAhB,EAAgBA,aACR7J,EAAkBF,qBAAWC,KAA7BC,cACAgK,EAAgBhK,EAAhBgK,YAER,EAA8CpP,oBAAS,GAAvD,mBAAO4qB,EAAP,KAAwBC,EAAxB,KACA,EAA8C7qB,oBAAS,GAAvD,mBAAO8qB,EAAP,KAAwBC,EAAxB,KACA,EAAsE/qB,oBAAS,GAA/E,mBAAOgrB,EAAP,KAAoCC,EAApC,KACA,EAAoDjrB,oBAAS,GAA7D,mBAAOgd,EAAP,KAA2BC,EAA3B,KACA,EAAwCjd,oBAAS,GAAjD,mBAAOkrB,EAAP,KAAqBC,EAArB,KAEMvY,EAAoBtQ,iBAAuB,MAE3C2H,EAAYH,cACZshB,EAAsB3X,IAEtBmI,EAAkBtZ,kBAAO,GACzB+oB,EAAmB/oB,iBAAO,CAAEkoB,YAAa,GAAI9R,WAAY,GAAI5J,IAAK,KAExEvM,qBAAU,WACW,UAAf8L,EAAM3P,MACR6P,IAMFtE,EAAUvG,IAAI,yBAAyB0P,MAAK,SAACC,GAE3C8X,GAAgB,GACM,KAAlB9c,EAAMlI,SAAgD,OAA9ByM,EAAkBjQ,SAC5CiQ,EAAkBjQ,QAASC,QAE7B,IACE,IAAM0oB,EAAS,IAAIC,IAAIlhB,OAAOC,SAASkH,KAAKmU,MAAM,iBAAiB,KAC/D2F,EAAOE,SAASC,SAAS,cAAgBH,EAAOE,SAASC,SAAS,aACpEC,eAAe9hB,QAAQ,SAAU0hB,EAAO9Z,MAC1C,MAAOjS,UAGV,IAgBHgD,qBAAU,WACR0M,EAAa,QAEbgO,EAAsB7X,EAAcgK,YAAYrJ,SAAS,yBAExD,IAEHxD,qBAAU,WACc,KAAlB8L,EAAMlI,SAAkByM,EAAkBjQ,SAC5CiQ,EAAkBjQ,QAASC,UAE5B,CAACyL,IAEJ9L,qBAAU,WAGsB,IAAD,GAF7BqZ,EAAgBjZ,QAAUyM,EAAYrJ,SAAS,mBAE3C6V,EAAgBjZ,WAClB,UAAIyL,EAAKD,gBAAT,OAAI,EAAe3I,OACjB6lB,EAAiB1oB,QAAU,CACzB6nB,YAAa,GACb9R,WAAY,OACZ5J,IAAK,aAGPuc,EAAiB1oB,QAAU,CACzB6nB,YAAa,GACb9R,WAAY,MACZ5J,IAAK,yBAIV,CAACM,EAAD,UAAchB,EAAKD,gBAAnB,aAAc,EAAe3I,SAEhC,IAAMgO,EAAoB,WACxBqX,GAAmB,GACnBE,GAAmB,GACnBE,GAA+B,IAwB3BU,EAAiB,SAACC,EAAiBC,GACjB,KAAlBxd,EAAMlI,SACRqI,IAEFO,EAAO6c,IAiBT,OAAKV,EAKH,sBAAK/sB,UAAU,eAAe,cAAY,yBAA1C,UACE,cAAC,IAAD,CACEkD,MAAM,cACNC,QAASspB,EACTrpB,SAAUiS,EACVhS,KAAMgS,EACN/R,MAAM,EACNK,kBAAkB,EAClBC,cAAc,EAPhB,SASE,cAAC,GAAD,CAAYmnB,WAAY1V,MAE1B,cAAC,IAAD,CACEnS,MAAM,oBACNC,QAASwpB,EACTvpB,SAAUiS,EACVhS,KAAM,WACJgS,IACAyX,GAA+B,IAEjCxpB,MAAM,EACNE,aAAa,SATf,SAWE,iMAKF,cAAC,IAAD,CACEN,MAAM,gBACNC,QAAS0pB,EACTzpB,SAAUiS,EACVhS,KAnDiB,WACrBgS,IACAvJ,EACGiJ,KAAK,wBAAyB,CAAE4Y,SAAU,GAAIC,QAAS,KACvD3Y,MAAK,SAACC,GACL/E,EAAS,CAAE5P,KAAM,UAAWyH,QAASkN,EAAIxP,KAAKsC,UAC9CilB,IACApgB,EAAQ,2BAAKoD,GAAN,IAAY4d,gCAA4BlnB,QAEhDwO,OAAM,SAACC,GACNG,QAAQC,IAAIJ,EAAI9J,cA0ChBhI,MAAM,EACNE,aAAa,UANf,SAQE,2GAEIyM,EAAK4d,2BAFT,wCAKF,oBAAI7tB,UAAU,+CAAd,0BAEmB,KAAlBkQ,EAAMlI,SACL,qBAAKpD,SAAU,EAAGtE,GAAG,sBAAsBD,IAAKoU,EAAmBzU,UAAU,OAA7E,SACE,cAAC,IAAD,CAAgBO,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,YAI7C,sBAAKhI,UAAU,OAAf,UACE,cAAC,GAAD,CACEssB,OAAO,oBACP7qB,MAAM,gBACN4E,MAAK,OAAE4J,QAAF,IAAEA,OAAF,EAAEA,EAAMT,MACb7O,QAAS,kBAAM6sB,EAAe,gCAC9BjT,WAAW,SAEb,cAAC,GAAD,CACE+R,OAAO,qBACP7qB,MAAM,iBACN4E,MAzFC4J,EAAK6d,gBAAkB,OA0FxBntB,QAAS,kBAAM6sB,EAAe,iCAC9BjT,WAAW,SAEb,cAAC,GAAD,CACE+R,OAAO,sBACP7qB,MAAM,kBACN4E,MAAM,eACN1F,QAAS,kBAAM6sB,EAAe,kCAC9BjT,WAAW,SAEb,cAAC,GAAD,CACE+R,OAAO,4BACP7qB,MAAM,wBACN4E,MAzH2B,WACjC,OAAQ4J,EAAKX,kBAAkB,IAC7B,IAAK,QACH,MAAO,gBACT,IAAK,SACH,MAAO,qBACT,IAAK,MACH,MAAO,qBACT,QACE,OAAOW,EAAKX,kBAAkB,IAgHrBye,GACPptB,QAAS,kBAAM6sB,EAAe,6BAC9BjT,WAAW,SAEb,cAAC,GAAD,CACE+R,OAAO,mBACP7qB,MAAM,eACN4E,MAlHiB,OAAhB4J,EAAKpJ,OAAkBoJ,EAAKpJ,OAAO6L,QAAQ,MAAO,IAAM,OAmHzD/R,QAAS,kBAAM6sB,EAAe,yBAC9BjT,WAAW,SAEb,cAAC,GAAD,CACE+R,OAAO,+BACP7qB,MAAM,qBACNd,QAAS,kBAAM6sB,EAAe,yCAC9BjT,WAAW,SAEb,cAAC,GAAD,CACE+R,OAAO,kBACP7qB,MAAM,cACNd,QAAS,kBAAM+rB,GAAmB,IAClCnS,WAAW,cAEZkD,EAAgBjZ,SACf,cAAC,GAAD,CACE8nB,OAAO,eACP7qB,MAAM,WACN4qB,YAAaa,EAAiB1oB,QAAQ6nB,YACtC9R,WAAY2S,EAAiB1oB,QAAQ+V,WACrC5Z,QAAS,kBAAM6sB,EAAeN,EAAiB1oB,QAAQmM,QAG3D,cAAC,GAAD,CACE2b,OAAO,uBACP7qB,MAAM,mBACNd,QAAS,kBAAM6sB,EAAe,mCAC9BjT,WAAW,SAEZsE,GAAsB5O,EAAK4d,4BAC1B,cAAC,GAAD,CACEvB,OAAO,uBACP7qB,MAAM,2BACN4E,MAAO4J,EAAK4d,2BACZltB,QAAS,kBAAMisB,GAAmB,IAClCrS,WAAW,cAIjB,sBAAKva,UAAU,mBAAf,UACE,cAAC,IAAD,CACEM,GAAG,mBACH,cAAY,mBACZT,KAAK,0BACLU,KAAK,UACLP,UAAU,UACVW,QArOkB,WACe,IAAD,EAAlC4sB,eAAe9gB,QAAQ,UACzBP,OAAOC,SAASkH,KAAhB,UAAuBka,eAAe9gB,QAAQ,iBAA9C,QAA2D,IAG7D4D,IACAO,EAAO,kBAiOFK,EAAYrJ,SAAS,4BACpB,cAAC,IAAD,CACEtH,GAAG,qBACH,cAAY,qBACZT,KAAK,sBACLU,KAAK,YACLP,UAAU,UACVW,QArOkB,WAC1B0P,IACAO,EAAO,gDAqFA,OCoCIod,GAtLI,WACjB3gB,YAAc,uCACd,MAAoCtG,qBAAWsD,KAAvC4F,EAAR,EAAQA,KAAMpD,EAAd,EAAcA,QAASsD,EAAvB,EAAuBA,SACfS,EAAW7J,qBAAWyD,KAAtBoG,OAER,EAAoD/O,mBAAS,IAA7D,mBAAOosB,EAAP,KAA2BC,EAA3B,KACA,EAAoCrsB,mBAAS,IAA7C,mBAAOssB,EAAP,KAAmBC,EAAnB,KACA,EAAwCvsB,mBAAS,IAAjD,mBAAOwsB,EAAP,KAAqBC,EAArB,KACA,EAAkCzsB,oBAAS,GAA3C,mBAAO0sB,EAAP,KAAkBC,EAAlB,KACA,EAA4C3sB,oBAAS,GAArD,mBAAOyS,EAAP,KAAuBC,EAAvB,KAEMqM,EAAWzc,iBAAyB,MAE1CC,qBAAU,WACRkqB,EAAgB7b,EAAkBxC,EAAKpJ,WAEtC,IAEH,IAAMiF,EAAYH,cAEZ+I,EAAe,WAAO,IAAD,EACrBjL,EAAqB,OAAf0kB,EAAsB,GAAtB,UAA2BA,EAAW3b,MAAM,iBAA5C,aAA2B,EAA4BqC,KAAK,IAChEC,EAAgBnC,EAAqBlJ,GAC3CykB,EAAsBpZ,GACA,KAAlBA,GAAwB8L,EAASpc,QACnCoc,EAASpc,QAASC,SAIpB8P,GAAkB,GAClBzI,EACGiJ,KAAK,2BAA4B,CAAElO,OAAQ4C,IAC3CwL,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,MACZkL,EAAO,0BAERuE,OAAM,SAACC,GACNxE,EAAO,sBAsEbxM,qBAAU,WACR,IALuByC,EAKjB4nB,EAJY,QADK5nB,EAKcoJ,EAAKpJ,OAASoJ,EAAKpJ,OAAS,IAJxCA,EAAO6L,QAAQ,MAAO,IAAM,GAKrD0b,EAAcK,KACb,CAACxe,EAAKpJ,SAQT,OACE,sBAAK7G,UAAU,eAAe,cAAY,wBAA1C,UACE,cAAC,IAAD,CACEkD,MAAM,6BACNC,QAASorB,EACTnrB,SA/E0B,WAC9BorB,GAAa,IA+ETnrB,KA5EqB,WACzBmrB,GAAa,GACb1iB,EACGiJ,KAAK,+BACLE,KAFH,+BAAA8G,EAAA,MAEQ,WAAO7G,GAAP,SAAA6G,EAAA,sDACe,MAAf7G,EAAIuE,QAEJxJ,EAAKX,kBAAkB,KAAO4F,EAAIxP,KAAK4J,kBAAkB,IACvB,UAAlC4F,EAAIxP,KAAK4J,kBAAkB,GAE3Ba,EAAS,CACP5P,KAAM,UACNyH,QAAS,qEACToH,eAAe,IAGjBe,EAAS,CACP5P,KAAM,UACNyH,QAAS,6BACToH,eAAe,IAGnBvC,EAAQqI,EAAIxP,OACY,MAAfwP,EAAIuE,QACbtJ,EAAS,CACP5P,KAAM,QACNyH,QAASkN,EAAIxP,KAAKgH,QAtBlB,2CAFR,uDA4BGuI,MAAK,WACJrE,EAAO,oBAERuE,OAAM,SAACC,GACN8Y,EAAsB9Y,EAAIpN,SAC1B4Y,EAASpc,QAASC,YA0ClBnB,MAAM,EALR,SAOE,sBAAKtD,UAAU,0BAAf,UACE,uBACA,oBAAGA,UAAU,OAAb,wDAC6C,4BAAIquB,IADjD,YAKJ,oBAAIruB,UAAU,+CAAd,0BACA,oBAAIA,UAAU,SAEd,sBAAKA,UAAU,0BAAf,UACE,mBAAGA,UAAU,OAAb,gJAIA,cAAC,IAAD,CACEyB,MAAM,gBACN6E,UAAQ,EACRF,IAAK6nB,EACLtsB,SAvDY,SAACP,GACQ,KAAvB6sB,GAA2BC,EAAsB,IACjD5Z,GAAgBC,GAAkB,GAEtC,IAAMlO,EAAQjF,EAAEuI,OAAOtD,MAErB+nB,EADY,mBAAV/nB,GAAwC,mBAAVA,EAClB,GAEAoM,EAAkBrR,EAAEuI,OAAOtD,SAgDrCA,MAAO8nB,EACP5tB,KAAK,OACLqG,UAAU,UACVvG,IAAKugB,EACL/f,UAvCgB,SAACO,GACT,UAAVA,EAAEC,KACJqT,KAsCI7N,QAAQ,IAEV,0RAKA,+PAMF,sBAAK7G,UAAU,6BAAf,UACE,cAAC,IAAD,CACEM,GAAG,aACH,cAAY,aACZT,KAAK,SACLU,KAAK,UACLC,SAAU8T,EACV3T,QAAS+T,IAEM,OAAhBzE,EAAKpJ,QACJ,cAAC,IAAD,CAAQvG,GAAG,aAAa,cAAY,aAAaT,KAAK,SAASU,KAAK,UAAUI,QAvI5D,WACxB6tB,GAAa,MAwIT,cAAC,IAAD,CAAQluB,GAAG,aAAa,cAAY,aAAaT,KAAK,SAASU,KAAK,SAASI,QA1F9D,WACnBiQ,EAAO,2BCqII8d,GA3NW,WACxBrhB,YAAc,yCACd,MAAoCtG,qBAAWsD,KAAvC8F,EAAR,EAAQA,SAAUF,EAAlB,EAAkBA,KAAMpD,EAAxB,EAAwBA,QAChB+D,EAAW7J,qBAAWyD,KAAtBoG,OAER,EAAoD/O,mBAAS,IAA7D,mBAAOosB,EAAP,KAA2BC,EAA3B,KACA,EAAoCrsB,mBAAS,IAA7C,mBAAOssB,EAAP,KAAmBC,EAAnB,KACA,EAAkCvsB,oBAAS,GAA3C,mBAAO0sB,EAAP,KAAkBC,EAAlB,KACM5N,EAAWzc,iBAAyB,MACpCwqB,EAAe1e,EAAK6d,eAAiB7d,EAAK6d,eAAepb,QAAQ,iBAAkB,IAAM,GAC/F,EAA8C7Q,mBAAS,IAAvD,mBAAO+sB,EAAP,KAAwBC,EAAxB,KACA,EAAoEhtB,mBAAS,IAA7E,mBAAOitB,EAAP,KAAmCC,EAAnC,KACA,EAAwCltB,mBAAS,YAAjD,mBAAOgc,EAAP,KAAqBC,EAArB,KACA,EAA4Cjc,oBAAS,GAArD,mBAAOyS,EAAP,KAAuBC,EAAvB,KAEMya,EAAmB7qB,iBAAyB,MAC5Cmb,EAAkBnb,iBAAyB,MAE3C2H,EAAYH,cAElBvH,qBAAU,WACRgqB,EAAcO,KAEb,CAAC1e,IAEJ,IAWMyE,EAAe,WACnB,GAAIyZ,EAAWrmB,SAAWmI,EAAKT,MAG7B,OAFA0e,EAAsB,0EACtBtN,EAASpc,QAASC,QAIpB,IAAIwqB,EAA+B,OAAfd,EAAsB,GAAKA,EAAWrmB,OACpDgN,EAAgB1C,EAAoB6c,GAC1C,GAAsB,KAAlBna,GAAwB8L,EAASpc,QAGnC,OAFA0pB,EAAsBpZ,QACtB8L,EAASpc,QAASC,QAGpB8P,GAAkB,GAClBzI,EACGiJ,KAAK,4BAA6B,CACjC+Y,eAAgBmB,EAChBC,iBAAkBN,IAEnB3Z,KALH,+BAAA8G,EAAA,MAKQ,WAAO7G,GAAP,eAAA6G,EAAA,sDACEoT,EADF,uEAC6EhB,EAC9Ezb,QAAQ,UAAW,KACnB5K,OAHC,iPAIJqI,EAAS,CACP5P,KAAM,UACNyH,QAASmnB,EACT/f,eAAe,IAEjBvC,EAAQqI,EAAIxP,MACZkL,EAAO,iBAVH,2CALR,uDAiBGuE,OAAM,SAACC,GACN,IAAMga,EAAeha,EAAI9J,SAAS5F,KAAKgH,MACvC2iB,EAAoBD,OAKpBC,EAAsB,SAACD,GACN,mEAAjBA,GACFlB,EAAsBkB,GACtBxO,EAASpc,QAASC,SACQ,qCAAjB2qB,GACTlB,EAAsBhc,GACtB0O,EAASpc,QAASC,SACQ,wCAAjB2qB,GACTL,EAA8B,kDAC9BC,EAAiBxqB,QAASC,SACA,sCAAjB2qB,IACTL,EAA8BK,GAC9BJ,EAAiBxqB,QAASC,UAoDxBqb,EAAkB,SAAC1e,GACT,UAAVA,EAAEC,KAAoBiT,GACxBI,KAIJ,OACE,sBAAK1U,UAAU,eAAe,cAAY,gCAA1C,UACE,cAAC,IAAD,CACEkD,MAAM,wBACNC,QAASorB,EACTnrB,SAvD0B,WAC9BorB,GAAa,IAuDTnrB,KApD4B,WAChCmrB,GAAa,GACb1iB,EACGiJ,KAAK,0BAA2B,CAC/Bma,iBAAkBN,IAEnB3Z,KAJH,+BAAA8G,EAAA,MAIQ,WAAO7G,GAAP,SAAA6G,EAAA,sDACe,MAAf7G,EAAIuE,QACW,0BACjBtJ,EAAS,CACP5P,KAAM,UACNyH,QAHe,0BAIfoH,eAAe,IAEjBvC,EAAQqI,EAAIxP,OACY,MAAfwP,EAAIuE,QACbtJ,EAAS,CACP5P,KAAM,QACNyH,QAASkN,EAAIxP,KAAKgH,QAGtBkE,EAAO,iBAfH,2CAJR,uDAqBGuE,OAAM,SAACC,GACN,IAAMga,EAAeha,EAAI9J,SAAS5F,KAAKgH,MACvC2iB,EAAoBD,OA4BpB9rB,MAAM,EALR,SAOE,sBAAKtD,UAAU,0BAAf,UACE,uBACA,oBAAGA,UAAU,OAAb,gEACqD,4BAAI2uB,IADzD,YAKJ,oBAAI3uB,UAAU,+CAAd,iCACA,oBAAIA,UAAU,SACd,sBAAKA,UAAU,0BAAf,UACE,oBAAGA,UAAU,OAAb,UACG,IADH,gNAKA,cAAC,IAAD,CACEyB,MAAM,iBACN6E,UAAQ,EACRF,IAAK6nB,EACLtsB,SAxCY,SAACP,GACQ,KAAvB6sB,GAA2BC,EAAsB,IACjD5Z,GAAgBC,GAAkB,GACtC6Z,EAAchtB,EAAEuI,OAAOtD,MAAMipB,cAsCvBjpB,MAAO8nB,EACP5tB,KAAK,OACLqG,UAAU,QACVvG,IAAKugB,EACL/f,UAAWif,IAEb,sBAAK9f,UAAU,OAAf,UACE,cAAC,IAAD,CACEyB,MAAM,mBACN6E,UAAQ,EACRF,IAAK0oB,EACLntB,SA3JkB,SAACP,GACQ,KAA/B0tB,GAAmCC,EAA8B,IACjEza,GAAgBC,GAAkB,GACtCsa,EAAmBztB,EAAEuI,OAAOtD,MAAQjF,EAAEuI,OAAOtD,MAAMipB,YAAc,KAyJzDjpB,MAAOuoB,EACPruB,KAAOquB,EAA2B/Q,EAAT,OACzBxd,IAAK2uB,EACLnuB,UAAWif,IAEb,qBAAK9f,UAAU,+BAAf,SACE,cAAC,IAAD,CACEM,GAAG,4BACHI,UAAW,yBACXe,MAAM,gBACNpB,IAAKif,EACL3d,SA5KmB,SAACP,GAC1BA,EAAE6e,cAAcve,QAASoc,EAAgB,QACxCA,EAAgB,uBA+KnB,sBAAK9d,UAAU,gDAAf,UACE,cAAC,IAAD,CACEM,GAAG,aACH,cAAY,aACZT,KAAK,SACLU,KAAK,UACLC,SAAU8T,EACV3T,QAAS+T,IAEVzE,EAAK6d,gBACJ,cAAC,IAAD,CAAQxtB,GAAG,aAAa,cAAY,aAAaT,KAAK,SAASU,KAAK,UAAUI,QAzH5D,WACxB6tB,GAAa,MA0HT,cAAC,IAAD,CAAQluB,GAAG,aAAa,cAAY,aAAaT,KAAK,SAASU,KAAK,SAASI,QArF9D,WACnBiQ,EAAO,2BCxCI2e,GA9Fa,WAC1B,IAAQ1iB,EAAY9F,qBAAWsD,KAAvBwC,QACA+D,EAAW7J,qBAAWyD,KAAtBoG,OACR,EAA4C7J,qBAAWC,KAA/CC,EAAR,EAAQA,cAAe8F,EAAvB,EAAuBA,iBACvB,EAAoClL,oBAAkB,GAAtD,mBAAOkqB,EAAP,KAAmBC,EAAnB,KAEMlgB,EAAYH,cAsBlB,OAJAvH,qBAAU,WACRC,SAASnB,MAAQ,iEAChB,IAGD,sBAAKlD,UAAU,OAAO,cAAY,mCAAlC,UACE,oBAAIA,UAAU,yBAAd,mDACA,qBAAKA,UAAU,uDACf,sBAAKA,UAAU,gEAAf,UACE,oBAAIA,UAAU,2BAAd,uCACA,oBAAIA,UAAU,UAAd,yBACA,2SAGgD,IAC9C,mBACEA,UAAU,gBACVoT,IAAI,aACJzJ,OAAO,SACP0J,KAAK,6EAJP,yBAOK,IAXP,kCAcA,oBAAIrT,UAAU,UAAd,0CACA,yPAGO,IACL,mBACEA,UAAU,gBACVoT,IAAI,aACJzJ,OAAO,SACP0J,KAAK,6EAJP,yBAOK,IAXP,MAYM,IACJ,mBACErT,UAAU,gBACVoT,IAAI,aACJzJ,OAAO,SACP0J,KAAK,0FAJP,mCAOK,IApBP,qCAwBF,sBAAKrT,UAAU,qFAAf,UACE,cAAC,IAAD,CACEM,GAAG,qBACHT,KAAK,wBACLG,UAAU,+BACVW,QAvEa,SAACS,GACpB4qB,GAAc,GACdlgB,EACGiJ,KAAK,0BAA2B,CAAEpF,aAAc,mBAChDsF,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,MACZqH,EAAiB,2BAAK9F,GAAN,IAAqBiK,mBAAmB,KAExDN,EAAO,QAERuE,OAAM,SAACC,GACNG,QAAQC,IAAIJ,EAAI9J,UAChB0gB,GAAc,OA4DZxrB,SAAUurB,IAEZ,cAAC,IAAD,CACEzrB,GAAG,yBACHT,KAAK,4BACLU,KAAK,YACLP,UAAU,qBACVW,QAAS,kBAAMiQ,EAAO,yBCuFjB4e,GA5KY,WACzBniB,YAAc,4CACd,MAA2BtG,qBAAWsD,KAA9B4F,EAAR,EAAQA,KAAME,EAAd,EAAcA,SACNS,EAAW7J,qBAAWyD,KAAtBoG,OAER,EAA0C/O,mBAAS,IAAnD,mBAAOkc,EAAP,KAAsBC,EAAtB,KACA,EAA8Dnc,mBAAS,IAAvE,mBAAO4tB,EAAP,KAAgCC,EAAhC,KACA,EAA4C7tB,oBAAS,GAArD,mBAAOyS,EAAP,KAAuBC,EAAvB,KACA,EAAwC1S,oBAAS,GAAjD,mBAAO8b,EAAP,KAAqBC,EAArB,KAEM+R,EAAgBxrB,iBAAyB,MAE/C,EAAgDtC,mBAAS,IAAzD,mBAAOoc,EAAP,KAAyB2R,EAAzB,KACA,EAAoE/tB,mBAAS,IAA7E,mBAAOitB,EAAP,KAAmCC,EAAnC,KACA,EAAwCltB,mBAAS,YAAjD,mBAAOgc,EAAP,KAAqBC,EAArB,KAEMkR,EAAmB7qB,iBAAyB,MAC5Cmb,EAAkBnb,iBAAyB,MAE3C2H,EAAYH,cAElBvH,qBAAU,WACR4Z,EAAiB/N,EAAKT,SACrB,CAACS,EAAKT,QAET,IAmBMkF,EAAe,WAZjBgb,EADoB,KAAlB3R,EACyB7L,EAEAE,EAAoB2L,EAAcjW,SAM3DinB,EADiB,KAArB9Q,EACkC,2BACA,IAMlC1J,GAAkB,GAClBqJ,GAAgB,IAGlBxZ,qBAAU,WACJuZ,IAC8B,KAA5B8R,EACFE,EAAcnrB,QAASC,QACiB,KAA/BqqB,EACTE,EAAiBxqB,QAASC,SAE1B8P,GAAkB,GAClBzI,EACGiJ,KAAK,+BAAgC,CACpC8a,UAAW9R,EAAcjW,OACzBiY,SAAU9B,IAEXhJ,MAAK,SAACC,GACL,IAAM4a,EACJ7f,EAAKT,QAAUuO,EAAcjW,OACzB,8CACA,2MAENqI,EAAS,CACP5P,KAAM,UACNyH,QAAS8nB,EACT1gB,eAAe,IAEjBwB,EAAO,oBAERuE,OAAM,SAACC,GACFA,EAAI9J,SAAS5F,KAAKgH,OAAqC,qCAA5B0I,EAAI9J,SAAS5F,KAAKgH,OAC/CgjB,EAA2Bxd,GAEzBkD,EAAI9J,SAAS5F,KAAKgH,OAAqC,wCAA5B0I,EAAI9J,SAAS5F,KAAKgH,OAC/CqiB,EAA8B,sDAItCnR,GAAgB,MAEjB,CAACD,IAEJ,IAAMmC,EAAkB,SAAC1e,GACT,UAAVA,EAAEC,KAAoBiT,GACxBI,KAgBJ,OACE,sBAAK1U,UAAU,OAAO,cAAY,iCAAlC,UACE,oBAAIA,UAAU,yBAAd,+BACA,qBAAKA,UAAU,uDACf,sBAAKA,UAAU,0DAAf,UACE,gLAIA,cAAC,IAAD,CACEyB,MAAM,QACN6E,UAAQ,EACRF,IAAKqpB,EACL9tB,SAzBiB,SAACP,GACQ,KAA5BquB,GAAgCC,EAA2B,IAC3Dpb,GAAgBC,GAAkB,GACtCyJ,EAAiB5c,EAAEuI,OAAOtD,QAuBpBA,MAAO0X,EACPxd,KAAK,OACLqG,UAAU,QACVvG,IAAKsvB,EACL9uB,UAAWif,IAEb,sBAAK9f,UAAU,OAAf,UACE,cAAC,IAAD,CACEyB,MAAM,mBACN6E,UAAQ,EACRF,IAAK0oB,EACLntB,SA/BkB,SAACP,GACQ,KAA/B0tB,GAAmCC,EAA8B,IACjEza,GAAgBC,GAAkB,GACtCqb,EAAoBxuB,EAAEuI,OAAOtD,QA6BrBA,MAAO4X,EACP1d,KAAMsd,EACNxd,IAAK2uB,EACLnuB,UAAWif,IAEb,qBAAK9f,UAAU,+BAAf,SACE,cAAC,IAAD,CACEM,GAAG,yBACHI,UAAW,yBACXe,MAAM,gBACNpB,IAAKif,EACL3d,SAxHmB,SAACP,GAC1BA,EAAE6e,cAAcve,QAASoc,EAAgB,QACxCA,EAAgB,uBA2HnB,sBAAK9d,UAAU,iGAAf,UACE,cAAC,IAAD,CACEM,GAAG,yBACH,cAAY,8BACZT,KAAK,eACLG,UAAU,+BACVQ,SAAU8T,EACV3T,QAAS+T,IAEX,cAAC,IAAD,CACEpU,GAAG,aACH,cAAY,kBACZT,KAAK,SACLU,KAAK,SACLP,UAAU,qBACVW,QAAS,kBAAMiQ,EAAO,2BC1KnBmf,GAA+B,WAC1C,OACE,qBAAK/vB,UAAU,iBAAf,SACE,qBAAKA,UAAU,gFAAf,SACE,qBAAIA,UAAU,4FAAd,UACE,6BACE,mBACEA,UAAU,0HACVqT,KAAK,sGACLD,IAAI,aACJzJ,OAAO,SACPzG,MAAM,gBALR,6BAUF,6BACE,mBACElD,UAAU,0HACVqT,KAAK,sCACLD,IAAI,aACJzJ,OAAO,SACPzG,MAAM,aALR,0BAUF,6BACE,mBACElD,UAAU,0HACVqT,KAAK,wBACLD,IAAI,aACJzJ,OAAO,SACPzG,MAAM,UALR,+BC9BG,OAA0B,qCCI5B8sB,GAAmC,WAC9C,IAAMC,EAASC,GAGf,OAAO,qBAAKlwB,UAAU,6CAA6CC,IAAKgwB,EAAQ/vB,IAFpE,yFCNC,OAA0B,kCCA1B,OAA0B,qCCA1B,OAA0B,mCCA1B,OAA0B,qCCA1B,OAA0B,sCCA1B,OAA0B,oCCS5BiwB,GAAsC,WACjD,OACE,sBAAKnwB,UAAU,qBAAf,UACE,sBAAKA,UAAU,gEAAf,UACE,8BACE,mBAAG,aAAW,WAAWqT,KAAK,iCAAiC1J,OAAO,SAASyJ,IAAI,sBAAnF,SACE,qBAAKpT,UAAU,mCAAmCC,IAAKmwB,GAAUlwB,IAAI,sBAIzE,8BACE,mBAAG,aAAW,IAAImT,KAAK,gCAAgC1J,OAAO,SAASyJ,IAAI,sBAA3E,SACE,qBAAKpT,UAAU,mCAAmCC,IAAKowB,GAAGnwB,IAAI,eAIlE,8BACE,mBAAG,aAAW,UAAUmT,KAAK,gCAAgC1J,OAAO,SAASyJ,IAAI,sBAAjF,SACE,qBAAKpT,UAAU,mCAAmCC,IAAKqwB,GAASpwB,IAAI,qBAIxE,8BACE,mBAAG,aAAW,YAAYmT,KAAK,kCAAkC1J,OAAO,SAASyJ,IAAI,sBAArF,SACE,qBAAKpT,UAAU,mCAAmCC,IAAKswB,GAAWrwB,IAAI,uBAI1E,8BACE,mBACE,aAAW,WACXmT,KAAK,yCACL1J,OAAO,SACPyJ,IAAI,sBAJN,SAME,qBAAKpT,UAAU,mCAAmCC,IAAKuwB,GAAUtwB,IAAI,sBAIzE,8BACE,mBACE,aAAW,QACXmT,KAAK,kEACL1J,OAAO,SACPyJ,IAAI,sBAJN,SAME,qBAAKpT,UAAU,mCAAmCC,IAAKuP,GAAOtP,IAAI,sBAIxE,qBAAKF,UAAU,6HAAf,SACE,mBACEA,UAAU,4DACVqT,KAAK,4CAFP,iCCxDKod,GAA+B,WAC1C,OACE,qBAAKzwB,UAAU,iBAAf,SACE,sBACE,cAAY,aACZA,UAAU,sLAFZ,UAIE,cAAC,GAAD,IACA,cAAC,GAAD,UCZO,OAA0B,qCCG5B0wB,GAAyC,WACpD,OACE,sBAAK1wB,UAAU,gEAAf,UACE,qBACEA,UAAU,iCACVC,IAAK0wB,GACLzwB,IAAI,yFAEN,sBAAKF,UAAU,mEAAf,UACE,mBAAGA,UAAU,aAAb,uBACA,oBAAGA,UAAU,gDAAb,uCAC6B,IAC3B,mBACEA,UAAU,iHACVqT,KAAK,uBAFP,4DCXGud,I,OAAyC,WACpD,IAAMC,EAAkBhb,EAAc,sBAChCib,EAAkBjb,EAAc,uBAEhCkb,EAAQ,CACZ,CAAE1d,KAAM,iCAAkCxT,KAAM,eAChD,CAAEwT,KAAM,uDAAwDxT,KAAM,iBACtE,CAAEwT,KAAM,iEAAkExT,KAAM,0BAChF,CAAEwT,KAAM,gEAAiExT,KAAM,kBAC/E,CACEwT,KAAM,sGACNxT,KAAM,iBAER,CACEwT,KAAM,mIACNxT,KAAM,oBAER,CACEwT,KAAM,uEACNxT,KAAM,iCAER,CAAEwT,KAAM,gCAAiCxT,KAAM,YAC/C,CAAEwT,KAAM,2BAA4BxT,KAAM,mCAC1C,CAAEwT,KAAM,8BAA+BxT,KAAM,mBAC7C,CAAEwT,KAAM,uBAAwBxT,KAAM,YAGpCmxB,EAAe,EAEfH,EACFG,EAAe,EACLH,GAAoBC,EAErBA,IACTE,EAAe,GAFfA,EAAe,EAOjB,IAFA,IAAMC,EAAiB,GAEd3H,EAAI,EAAGA,EAAI0H,EAAc1H,IAChC2H,EAAQ7V,KAAK,IAKf,IAFA,IAAI8V,EAAc,EAET5H,EAAI,EAAGA,EAAIyH,EAAM1pB,OAAQiiB,IAC5B2H,EAAQC,GAAa7pB,QAAU0pB,EAAM1pB,OAAS2pB,GAChDE,IAEFD,EAAQC,GAAa9V,KAAK2V,EAAMzH,IAGlC,OACE,qBACEtpB,UAAU,+JADZ,SAKGixB,EAAQrrB,KAAI,SAACurB,EAAQjK,GAAT,OACX,qBAAKlnB,UAAU,6BAAyC,8CAAsCknB,EAAQ,GAAtG,SACGiK,EAAOvrB,KAAI,SAACwrB,GAAD,OACV,mBAAGznB,OAAO,SAAS3J,UAAU,mBAAmBqT,KAAM+d,EAAK/d,KAAMD,IAAI,sBAArE,SACGge,EAAKvxB,MADwFuxB,EAAKvxB,UAFxDqnB,UC3D5CmK,GAAsC,WACjD,OACE,sBACE,cAAY,qBACZrxB,UAAU,2EAFZ,UAIE,cAAC,GAAD,IACA,cAAC,GAAD,QCTOsxB,GAAwC,WACnD,OACE,qBAAKtxB,UAAU,2CAAf,SACE,yBAAS,aAAW,qCAApB,SACE,8BACE,wBACEC,IAAI,4BACJ2J,KAAK,qCACL1G,MAAM,qCACNR,MAAM,MACND,OAAO,eCRN8uB,GAAkC,WAC7C,OACE,qBAAKvxB,UAAU,cAAf,SACE,sBACE,cAAY,gBACZA,UAAU,uKAFZ,UAIE,cAAC,GAAD,IACA,cAAC,GAAD,UCNKwxB,GAA4B,WACvC,OACE,sBAAK,cAAY,mBAAjB,UACE,qBAAKxxB,UAAU,oBAAf,SACE,cAAC,EAAD,MAEF,cAAC,GAAD,IACA,cAAC,GAAD,IACA,cAAC,GAAD,QCdS,OAA0B,4CCO5ByxB,GAAY,WACvB,MAAkC5vB,oBAAS,GAA3C,mBAAO6vB,EAAP,KAAmBC,EAAnB,KAEMC,EACJ,sBAAK/uB,MAAM,6BAA6B7C,UAAU,UAAU+C,QAAQ,YAAYD,KAAK,eAArF,UACE,qDACA,sBACE+uB,SAAS,UACT7uB,EAAE,qHACF8uB,SAAS,eAKTC,EACJ,sBAAKlvB,MAAM,6BAA6B7C,UAAU,UAAU+C,QAAQ,YAAYD,KAAK,eAArF,UACE,uDACA,sBACE+uB,SAAS,UACT7uB,EAAE,sHACF8uB,SAAS,eAUf,OACE,sBAAK9xB,UAAU,6BAAf,UACE,sBAAKA,UAAU,iEAAf,UACE,sBAAKA,UAAU,uCAAf,UACE,qBAAKC,ICzCA,yNDyCcC,IAAI,sDAAsDF,UAAU,sBACvF,sBAAMA,UAAU,2DAAhB,oEAIF,yBACE,cAAY,oBACZA,UAAU,4MACV,gBAAe0xB,EACf/wB,QAAS,SAACqxB,GAAD,OAlBI,SAACA,GACpBA,EAAI1wB,iBACJqwB,GAAaD,GAgBWO,CAAaD,IAJjC,gCAOGN,EAAa,qCAAQK,EAAR,OAA2B,qCAAQH,EAAR,aAG7C,qBAAK,YAAU,SAAf,SACGF,EACC,sBACE,cAAY,uBACZ1xB,UAAU,6GAFZ,UAIE,sBAAKA,UAAU,8BAAf,UACE,qBAAKA,UAAU,YAAYC,IE/D1B,qzCF+DuCC,IAAI,YAC5C,sBAAKF,UAAU,+BAAf,UACE,wBAAQA,UAAU,OAAlB,yCACA,mCACI,0CADJ,yFAKJ,sBAAKA,UAAU,0BAAf,UACE,qBAAKC,IGxEJ,6zCHwEkBC,IAAI,SAASF,UAAU,cAC1C,sBAAKA,UAAU,+BAAf,UACE,wBAAQA,UAAU,OAAlB,6CACA,oBAAGA,UAAU,YAAb,cACI,IACF,6CACS,qBAAKA,UAAU,oBAAoBC,IAAKiyB,GAAWhyB,IAAI,uBADhE,QAEU,IAJZ,MAKK,8CALL,sIAWJ,WAMZuxB,GAAUU,YAAc,YI5FT,WAA0B,wCCoB1BC,GAdI,SAACxyB,GAClB,IAAQI,EAAcJ,EAAdI,UACR,OAAO,sBAAKA,UAAS,UAAKA,EAAL,aAA2B,cAAY,OAAOqyB,UAAU,QAAQrb,KAAK,MAAnF,UAEL,qBAAKoD,UAAU,YACf,wBAAQ9Z,GAAG,SAASyC,QAAQ,YAAYD,KAAK,eAA7C,SACE,sBACEE,EAAE,wHCPGsvB,GAAU,WACrB,IAAMC,EAAU9c,IACV3J,EAAYH,cAEV1E,EAAkBF,qBAAWC,KAA7BC,cAEFsP,EAAa,uCAAG,sBAAAwF,EAAA,sDACmB,KAAnC9U,EAAcgG,iBAChByS,IAEA6S,IAJkB,2CAAH,qDAQb7S,EAAiB,WACrB5T,EACGvG,IAAI,2BACJ0P,MAAK,SAACC,IACoB,IAArBA,EAAIxP,KAAKia,QAIXzT,OAAOC,SAASkH,KAAO6B,EAAIxP,KAAKka,kBAHhCrK,QAAQC,IAAI,uCAMfL,OAAM,SAACzI,GACN6I,QAAQC,IAAI9I,EAAMpB,cAIxB,OACE,qBAAKtL,UAAU,gCAAf,SACE,cAAC,IAAD,CAAQM,GAAG,WAAWN,UAAU,GAAG,cAAY,SAASO,KAAK,iBAAiBI,QAAS4V,EAAvF,SACE,sBAAKvW,UAAU,uGAAf,UACE,cAAC,GAAD,CAAYA,UAAU,sBADxB,mBCjCKwyB,GAAqC,WAChD,IAAQviB,EAASlJ,qBAAWsD,KAApB4F,KACAY,EAAc9J,qBAAWyD,KAAzBqG,UAEA/J,EADkBC,qBAAWC,KAA7BC,cACAH,WAER,EAAsCjF,oBAAS,GAA/C,mBAAO4wB,EAAP,KAAoBC,EAApB,KACMvmB,EAAWgL,cAEjB/S,qBAAU,WAaQ,oBAAdyM,GAZ6B,CAC7B,UACA,iBACA,QACA,kBACA,sBACA,gBACA,2BACA,qBACA,iBAIuB8hB,MAAK,SAACtsB,GAAD,OAAW8F,EAASymB,SAAShrB,SAASvB,OAClES,EAEA4rB,GAAe,GAEfA,GAAe,KAEhB,CAACvmB,EAAUrF,EAAY+J,IAE1BzM,qBAAU,WAC4B,oBAAhC6L,EAAK4iB,wBACPH,GAAe,KAEhB,CAACziB,EAAK4iB,yBAET,IAAM5C,EAAS6C,GAGf,OACE,qBAAK,cAAY,sBAAsB9yB,UAAU,wCAAjD,SACE,sBAAKA,UAAU,2DAAf,UACE,mBACE,aAAW,sFACXqT,KAAK,IACLrT,UAAW,OAHb,SAKE,qBAAKA,UAAW,+BAAgCC,IAAKgwB,EAAQ/vB,IAVzD,0FAYLuyB,GAAe,cAAC,GAAD,U,OC1CjB,ICkDHM,GDlDSC,GAAoB,WAC/B,IAAMC,EAdR,WAIE,IAHA,IAAMC,EAAe,CAAC,QAAS,MAAO,KAAM,KAAM,WAC5C9mB,EAASF,OAAOC,SAASC,OAEtBkd,EAAI,EAAGA,EAAI4J,EAAa7rB,OAAQiiB,IACvC,GAAIld,EAAOxE,SAASsrB,EAAa5J,IAC/B,OAAO4J,EAAa5J,GAIxB,MAAO,GAIa6J,GAEpB,OAAKF,EAKH,qBACE3yB,GAAG,aACHN,UAAS,8FAAyFizB,GAFpG,SAIGA,EAAYG,gBARR,MENLC,I,OAAsB,SAAC9yB,GAC3B,OAAQA,GACN,IAAK,OACH,OAAO,cAAC,IAAD,IACT,IAAK,OACH,OAAO,cAAC,IAAD,IACT,IAAK,SACH,OAAO,cAAC,IAAD,OAIA+yB,GAAoD,SAAC1zB,GAChE,MAAgCiC,mBAAmB,IAAnD,mBAAO0xB,EAAP,KAAiBC,EAAjB,KACQC,EAAoB7zB,EAApB6zB,gBAGRrvB,qBAAU,WAENovB,EADEC,EACU,CACV,CACElzB,KAAM,SACNV,KAAM,4HAIE,CACV,CACEU,KAAM,SACNV,KAAM,kPAIX,CAAC4zB,IAEJ,IAAMC,EAAyB,SAACja,GAC9B+Z,EAAYD,EAAS/kB,QAAO,SAACmlB,GAAD,OAAOA,IAAMla,OAS3C,OACE,qBAAK,cAAY,+BAAjB,SACG8Z,EAAS3tB,KAAI,SAAC6T,GACb,OACE,qBACEzZ,UAAS,uDAAkDyzB,EAAkB,OAASha,EAAOlZ,MAD/F,SAIE,sBAAKP,UAAU,qEAAf,UACE,qBAAKA,UAAS,yEAAd,SACGqzB,GAAoB5Z,EAAOlZ,QAE9B,sBAAKP,UAAS,oCAA+ByzB,EAAkB,UAAY,MAA3E,UACGA,GAAmB,qBAAKzzB,UAAU,yBAAf,gDACpB,qBAAKA,UAAU,mDAAf,SACE,sBAAKA,UAAU,eAAf,UACGyZ,EAAO5Z,KACP4zB,GACC,oBAAGzzB,UAAU,kBAAkBqT,KAAK,8BAApC,UACG,IADH,gCASJogB,GACA,qBAAKzzB,UAAU,6DAAf,SACE,wBACEA,UAAU,2CACVyR,WAAY,SAACmiB,GAAD,OArCP,SAACA,EAAena,GACjB,UAAlBma,EAAS9R,MAAsC,UAAlB8R,EAAS9R,MACxC4R,EAAuBja,GAmCmBoa,CAAiBD,EAAUna,IAFvD,SAIE,sBACEzZ,UAAU,GACVW,QAAS,WACP+yB,EAAuBja,IAH3B,SAME,4BAGE,uDApCTA,EAAO5Z,YCxDXi0B,GAAS,WACpB,MAAoC/sB,qBAAWyD,KAAvCwG,EAAR,EAAQA,aAAcD,EAAtB,EAAsBA,UACd9J,EAAkBF,qBAAWC,KAA7BC,cACAH,EAA4BG,EAA5BH,WAAYmK,EAAgBhK,EAAhBgK,YAEd8iB,EAAS5vB,iBAAuB,MAEhC6vB,EAAyB/iB,EAAYrJ,SAAS,2BAChD6rB,GAA2B,EAU/B,MAR6B,gCAAzBvnB,OAAOC,SAAS8nB,MAA2CntB,IAC7D2sB,GAAkB,GAGpBrvB,qBAAU,WACH2M,GAAWC,EAAa+iB,KAC5B,CAAC/iB,EAAcD,IAGhB,sBAAK,cAAY,mBAAmB1Q,IAAK0zB,EAAzC,UACGjtB,EAAa,KAAO,cAAC,GAAD,IACpBktB,GAAiB,cAAC,GAAD,CAAkBP,iBAAiB,IACpDA,GAAmB,cAAC,GAAD,CAAkBA,iBAAiB,IACvD,cAAC,GAAD,IACA,cAAC,GAAD,QF9BAS,GAAa,IAAIC,KAAK,CAAC,w0CAkE7B,IACEpB,GAAS,IAAIqB,OAAOhH,IAAIiH,gBAAgBH,KACxC,MAAOxnB,IACPqmB,GAAS,CACPuB,UAAW,aACXC,YAAa,cAcjB,IAAIC,GAA+B,CACjCl0B,GAAI,EACJm0B,UAAW,GAEXlc,YAAa,SAAUmc,EAASC,EAAkBC,GAChDC,KAAKv0B,KACL,IAAIA,EAAKu0B,KAAKv0B,GAOd,OANAu0B,KAAKJ,UAAUn0B,GAAM,CAAEw0B,GAAIJ,EAAIE,QAASA,GACxC7B,GAAOwB,YAAY,CACjBQ,QAAS,iBACTJ,SAAUA,EACVr0B,GAAIA,IAECA,GAGTyR,WAAY,SAAU2iB,EAASM,GAC7BH,KAAKv0B,KACL,IAAIA,EAAKu0B,KAAKv0B,GAOd,OANAu0B,KAAKJ,UAAUn0B,GAAM,CAAEw0B,GAAIJ,GAC3B3B,GAAOwB,YAAY,CACjBQ,QAAS,gBACTC,OACA10B,OAEKA,GAGT20B,UAAW,SAAU7zB,GACnB,IAAI8zB,EAAWL,KAAKJ,UAAUrzB,EAAEsE,KAAKpF,IACrC,OAAQc,EAAEsE,KAAKsC,SACb,IAAK,gBAML,IAAK,eACCktB,GAAYA,EAASJ,IAAII,EAASJ,GAAGK,MAAMD,EAASN,SACxD,MALF,IAAK,mBAML,IAAK,yBACIC,KAAKJ,UAAUrzB,EAAEsE,KAAKpF,MAMnC2R,cAAe,SAAU3R,GACvByyB,GAAOwB,YAAY,CAAEQ,QAAS,iBAAkBz0B,GAAIA,KAGtD0R,aAAc,SAAU1R,GACtByyB,GAAOwB,YAAY,CAAEQ,QAAS,gBAAiBz0B,SAInDyyB,GAAOuB,UAAYE,GAAYS,UAAUG,KAAKZ,IAE/BA,UG7HTa,GAAmB,SAACC,EAA0BC,GAClD,IAAMC,EAAuBD,GAJtB,IAAIxiB,MAAO0iB,UAAYC,OAAOlqB,aAAaiB,QAAQ,yBAIiB,EAC3E,OAAO6oB,EAVmB,KAUqBE,EAX5B,OAWkEA,GAGjFG,GAAqB,SAACL,EAA0BM,GACpD,OAAON,EACHM,EAboC,IAcpCA,EAf6B,MA+JpBC,GA7IY,WACzB,MAAoC9uB,qBAAWsD,KAAvC4F,EAAR,EAAQA,KAAMpD,EAAd,EAAcA,QAASsD,EAAvB,EAAuBA,SACvB,EAA4CpJ,qBAAWC,KAA/CC,EAAR,EAAQA,cAAe8F,EAAvB,EAAuBA,iBAEvB,EAA0ClL,oBAAS,GAAnD,mBAAOi0B,EAAP,KAAsBC,EAAtB,KACA,EAAsCl0B,mBAAS,GAA/C,mBAAOm0B,EAAP,KAAoBC,EAApB,KACA,EAA0Cp0B,mBAAS,GAAnD,mBAAOq0B,EAAP,KAAsBC,EAAtB,KAEMrqB,EAAYH,cAGZyqB,EAAUjyB,iBAAO8L,GACjBomB,EAAiBlyB,iBAAO6xB,GACxBM,EAAmBnyB,iBAAO+xB,GAC1BK,EAAmBpyB,iBAAO8C,GAEhC7C,qBAAU,WACRgyB,EAAQ5xB,QAAUyL,IACjB,CAACA,IAEJ7L,qBAAU,WACRiyB,EAAe7xB,QAAUwxB,IACxB,CAACA,IAEJ5xB,qBAAU,WACRkyB,EAAiB9xB,QAAU0xB,IAC1B,CAACA,IAEJ9xB,qBAAU,WACRmyB,EAAiB/xB,QAAUyC,IAC1B,CAACA,IAEJ,IAAMuvB,EAAiB,WAAyB,IAC1CZ,EACAa,EAFkBC,EAAuB,wDAIzCpB,EAAkBiB,EAAiB/xB,QAAQyM,YAAYrJ,SAAS,+BAE/D8uB,GACHlrB,aAAaC,QAAQ,wBAAwB,IAAIsH,MAAO0iB,UAAUkB,YAGpEf,EAAgBP,GAAiBC,EAAiBoB,GAClDD,EAAkBd,GAAmBL,EAAiBM,GAEtD,IAAMI,EAAcxB,GAAYziB,YAAW,WAqBzC,OApBAwD,QAAQC,IAAI,qBACR4gB,EAAQ5xB,QAAQ+K,uBAClBqnB,IACA/pB,EAAQC,KACRtB,aAAaoK,QACbmgB,GAAiB,GACjBhpB,EAAiB,2BACZ9F,GADW,IAEd0mB,SAAU,GACVC,QAAS,GACT5gB,UAAW,GACXG,kBAAmB,GACnBF,iBAAkB,GAClBC,gBAAiB,MAEnBiD,EAAS,CACPnI,QAAS,mGACTzH,KAAM,aAGHi0B,GAAYxiB,aAAagkB,KAC/BJ,GACHK,EAAeD,GAEf,IAAME,EAAgB1B,GAAYziB,YAAW,WAI3C,OAHIqkB,EAAQ5xB,QAAQ+K,sBAClBwmB,GAAiB,GAEZvB,GAAYxiB,aAAakkB,KAC/BO,GACHN,EAAiBD,IAGbW,EAAmB,WAAyB,IAAxBH,EAAuB,wDAC/CX,GAAiB,GACjBvB,GAAYxiB,aAAaqkB,EAAe7xB,SACxCgwB,GAAYxiB,aAAaskB,EAAiB9xB,SAC1CgyB,EAAeE,IAGjBtyB,qBAAU,WACR2G,YAAa,CACXD,WAAY+rB,IAEdL,IAEAtqB,OAAOkK,iBAAiB,WAAW,SAAC0gB,GAEnB,yBAAXA,EAAGz1B,KACLw1B,GAAiB,QAIpB,IAEH,IAAMD,EAAyB,WAC7B9qB,EACGvG,IAAI,yBACJ0P,MAAK,SAAC3J,OACN6J,OAAM,SAACzI,GACwB,MAA1BA,EAAMpB,SAASmO,SACjB5M,EAAQC,KACRtB,aAAaoK,QACbzF,EAAS,CACPnI,QAAS,mGACTzH,KAAM,iBAShB,OACE,cAAC,IAAD,CACEsD,OAAO,OACPX,MANU,kBAOVC,QAAS2yB,EACT1yB,SAAUwzB,EACVvzB,KAAMuzB,EACNpzB,aATW,oBAUXO,gBAAgB,oBAChBJ,kBAAkB,EAClBK,gBAAgB,gBAChB,cAAY,cAVd,SAYE,mBAAG,cAAY,kBAAf,0KC/JF+yB,IAAa,EA+BXC,GAA0B,SAAC/b,GAC/B,OAAQA,GAA+B,kBAAhBA,GAgFnBgc,GAAsC,SAAChnB,GAC3C,MAA8C,WAAvCA,EAAKP,8BAA6C,qBAAuB,SAG5EwnB,GAAwC,SAACtE,GAC7C,MAAoB,2BAAbA,EAAwC,GAAK,gCAGhDuE,GAA2C,SAAClnB,EAAW2iB,GAC3D,MAAiB,iCAAbA,EAAoD,GACnD3iB,EAAKP,8BAEiC,QAAvCO,EAAKP,8BACA,yBAEA,yBALuC,gCAS5C0nB,GAA4C,SAACxE,GACjD,MAAoB,kCAAbA,EAA+C,GAAK,4CAGvDyE,GAAsC,SAACzE,GAC3C,OAAOA,EAAShrB,SAAS,gBAAkB,GAAK,+BAG5C0vB,GAA2B,SAACrnB,GAChC,MAA2C,WAAvCA,EAAKP,+BAAqF,UAAvCO,EAAKP,8BACnD,qBACyC,QAAvCO,EAAKP,8BACP,qBAEA,IA6EL6nB,GAAiB,SAACtnB,EAAW2iB,EAAkB3rB,GACnD,GAAIgJ,EAAKF,kBAGP,OAFAgnB,IAAa,EACb7qB,OAAOC,SAASuG,QAAQzC,EAAKF,mBACtB,GAET,GArD2B,SAACE,EAAW2iB,GACvC,OAAQ3iB,EAAKV,uBAAyBU,EAAKunB,cAtKd,SAAC5E,GAC9B,MAAiB,yBAAbA,GACa,oCAAbA,IAEF,CACE,WACA,kBACA,eACA,uBACA,mBACA,iBACA,gBACA,qBACAhrB,SAASgrB,IACXA,EAASpgB,MAAM,kEACfogB,EAASpgB,MAAM,yCACfogB,EAAShrB,SAAS,oBAClBgrB,EAAShrB,SAAS,wBAqJuC6vB,CAAuB7E,GAoD9E8E,CAAqBznB,EAAM2iB,GAAW,MAAO,WACjD,GAjD2B,aADY+E,EAkDH1nB,EAAK0R,oBAjDmB,YAApBgW,EAiDqB,MAAO,oBAlD9B,IAACA,EAmDvC,GA/CmC,SAAC1nB,EAAW2iB,GAC/C,MAAkC,oBAA9B3iB,EAAKV,qBAE2B,gBAAhCU,EAAKL,yBACS,2BAAbgjB,GAAsD,2BAAbA,GAEL,sCAA9B3iB,EAAKV,qBAEC,2BAAbqjB,GACa,UAAbA,GACa,2BAAbA,GACa,sBAAbA,OALG,EAyCHgF,CAA6B3nB,EAAM2iB,GAAW,MAAO,gCACzD,GAhCoC,SAAC1hB,EAA4B0hB,EAAkB3X,GACnF,MAAoB,eAAb2X,GAA6B1hB,GAAqB8lB,GAAwB/b,GA+B7E4c,CAA8B5wB,EAAciK,kBAAmB0hB,EAAU3iB,EAAKN,cAAe,MAAO,cAExG,GA7ByB,SAACijB,EAAkB3iB,GAC5C,MACe,eAAb2iB,GAC8B,oBAA9B3iB,EAAKV,sBACqB,mBAA1BU,EAAKH,iBAyBHgoB,CAAmBlF,EAAU3iB,GAE/B,OAxBiB,SAAC8nB,GACpB,IAAKhB,GAAY,CACfA,IAAa,EACb,IAAI9C,EAAO/nB,OAAOC,SAASC,OACd,0BAAT6nB,IACFA,EAAO,0BAET/nB,OAAOC,SAASkH,KAAO4gB,EAAO8D,GAgB9BC,CAAa,6BACN,GAET,GAtM8B,SAACpF,EAAkB3iB,GACjD,GAAkC,oBAA9BA,EAAKV,qBAA4C,OAAO,EAC5D,GAAI,CAAC,SAAU,OAAO3H,SAASqI,EAAKP,+BAAgC,OAAO,EAC3E,GAAIkjB,EAAShrB,SAAS,8BAA+B,OAAO,EAC5D,GAAIgrB,EAAShrB,SAAS,kCAAmC,OAAO,EAChE,GAAiB,kCAAbgrB,GAAgF,gBAAhC3iB,EAAKL,uBAA0C,OAAO,EAE1G,GAAIgjB,EAAShrB,SAAS,oBAAqB,OAAO,EAClD,GAAIgrB,EAAShrB,SAAS,mBAAoB,OAAO,EAEjD,OAAQgrB,GACN,IAAK,IAEL,IAAK,WAEL,IAAK,kBAEL,IAAK,eAEL,IAAK,uBAEL,IAAK,mBAEL,IAAK,iBAEL,IAAK,QACH,OAAO,EACT,IAAK,cAEL,IAAK,0BACH,OAAQoE,GAAwB/mB,EAAKN,cACvC,IAAK,oBACH,QAnCuB,aADGgoB,EAoCK1nB,EAAK0R,oBAnCoB,YAApBgW,GADX,IAACA,EAuC9B,OAAO,EAmKHM,CAAwBrF,EAAU3iB,GAAO,MAAO,aACpD,GAjKoC,SAAC2iB,EAAkB3iB,GACvD,MAAkC,oBAA9BA,EAAKV,sBACQ,wCAAbqjB,IACAA,EAAShrB,SAAS,oBAA4BqI,EAAK4iB,4BAAvD,GA8JIqF,CAA8BtF,EAAU3iB,GAAO,MAAO,gBAE1D,IAAIkoB,EA7JqC,SAACloB,EAAW2iB,GACrD,OAAQ3iB,EAAKV,sBACX,IAAK,4BACH,MAAO,eACT,IAAK,sBACH,MAAO,QACT,IAAK,8BACH,OAAO0nB,GAAoChnB,GAC7C,IAAK,mCACH,MAAO,iCACT,IAAK,6BACH,MAAO,oCACT,IAAK,gCACH,OAAOinB,GAAsCtE,GAC/C,IAAK,mCACH,OAAOuE,GAAyClnB,EAAM2iB,GACxD,IAAK,oCACH,OAAOwE,GAA0CxE,GACnD,IAAK,8BACH,OAAOyE,GAAoCzE,GAC7C,IAAK,kBACH,OAAO0E,GAAyBrnB,GAClC,QACE,MAAO,IAsISmoB,CAAmCnoB,EAAM2iB,GAC7D,OAAIuF,IACJA,EA3FgC,SAACloB,GACjC,OAAQA,EAAKunB,aACX,IAAK,sBACH,MAAO,uBACT,IAAK,kBACH,MAAO,kCACT,QACE,MAAO,IAoFKa,CAA0BpoB,GACtCkoB,IACJA,EAlF0C,SAACloB,EAAW2iB,GACtD,OAAQ3iB,EAAK4iB,wBACX,IAAK,oBACH,MAAO,4CACT,IAAK,yBACH,MAAoB,6BAAbD,EAA0C,GAAK,iCACxD,IAAK,kBACH,MAAO,2BACT,QACE,MAAO,IAyEK0F,CAAoCroB,EAAM2iB,GACnDuF,KAGII,GAAc,SAAC34B,GAC1B,MAA6BmH,qBAAWsD,KAAhC4F,EAAR,EAAQA,KAAMG,EAAd,EAAcA,WACd,EAAmCrJ,qBAAWyD,KAAtCmG,EAAR,EAAQA,IAAKC,EAAb,EAAaA,OAAQG,EAArB,EAAqBA,UACb9J,EAAkBF,qBAAWC,KAA7BC,cAEAjG,EAAapB,EAAboB,SAEFmL,EAAWgL,cACXzB,EAAWC,cAEjB,EAAsC9T,oBAAS,GAA/C,mBAAO22B,EAAP,KAAoBC,EAApB,KAEMC,EAAqBtf,uBACzB,SAACzI,GACmB,IAAD,EAAXI,IACJ,UAAAA,EAAUvM,eAAV,SAAmBoT,kBAErBlC,EAAS/E,EAAK,CAAE+B,SAAS,MAE3B,CAAC3B,EAAW2E,IAoCd,OAjCAtR,qBAAU,WACJuM,IAAQxE,EAASymB,UAEjBjiB,IACEA,EAAI/I,SAAS,QACfsE,OAAOC,SAASkH,KAAO1C,GAEvBP,IACAsoB,EAAmB/nB,GACnB8nB,GAAe,OAIlB,CAAC9nB,IAEJvM,qBACE,WACE,IAAI2yB,GAAJ,CAEA0B,GAAe,GAEf,IAAME,EAAcpB,GAAetnB,EAAM9D,EAASymB,SAAU3rB,GACxD0xB,GAAeA,IAAgBxsB,EAASymB,WAC1CxiB,IACAsoB,EAAmBC,GACnBF,GAAe,GACf7nB,EAAO+nB,OAIX,CAACxsB,EAASymB,SAAU3iB,IAGfuoB,GAAezB,GAAa,KAAO,mCAAG/1B,KC1ShC,SAAS43B,KACtB,MAA4C7xB,qBAAWC,KAA/CC,EAAR,EAAQA,cAAe8F,EAAvB,EAAuBA,iBACfF,EAAY9F,qBAAWsD,KAAvBwC,QAEFf,EAAYH,cACZQ,EAAWgL,cACjB,EAA8DtV,oBAAS,GAAvE,mBAAOg3B,EAAP,KAAgCC,EAAhC,KACA,EAA4Cj3B,oBAAS,GAArD,mBAAOk3B,EAAP,KAAuBC,EAAvB,KAOQlyB,EAAeG,EAAfH,WAEFmyB,EAAuB7f,sBAAW,sBAAC,sBAAA2C,EAAA,sEACjCjQ,EACHvG,IAAI,sCACJ0P,MAAK,SAACC,GACLnI,EAAiBmI,EAAIxP,MACrBozB,GAA2B,MAE5B3jB,OAAM,SAACzI,GACN6I,QAAQC,IAAI9I,MARuB,2CAUtC,IAEGkqB,EAAyBxd,sBAAW,sBAAC,sBAAA2C,EAAA,sEACnCjQ,EACHvG,IAAI,yBACJ0P,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,SAEbyP,OAAM,SAACzI,GACN6I,QAAQC,IAAI9I,EAAMpB,SAAS5F,KAAKgH,UAEjC+U,SAAQ,WAEPxW,aAAwB,GACxB+tB,GAAkB,MAZmB,2CAcxC,IAEH50B,qBAAU,WACR80B,MAEC,IAEH,IAxCoBtkB,EAwCdskB,EAAS,uCAAG,sBAAAnd,EAAA,sEACV6a,IADU,OAEhBqC,IAFgB,2CAAH,qDASf,OAJA70B,qBAAU,WACRmpB,eAAe3X,UACd,IAEEijB,GAA4BE,EAG/B,sBAAKz4B,GAAG,cAAc,cAAY,aAAaN,UAAS,4CAAxD,UACG8G,EAAa,KAAO,cAAC,GAAD,IACrB,cAAC,GAAD,IACA,sBAAM9G,UAAS,UAAK8G,EAAa,aAAe,WAAjC,aAvDC8N,EAuDyDzI,EAASymB,SAtDlE,CAAC,aAAc,iBAAkB,iBACjChrB,SAASgN,GAqD6E,GAAR,QAA9F,SACE,cAAC,GAAD,UACE,cAAC,IAAD,QAGH9N,EAAa,KAAO,cAAC,GAAD,OAX+B,KC3DnD,IAAMqyB,GAAgB,CAC3B,CACEj2B,MAAO,OACP7B,IAAK,WAEP,CACE6B,MAAO,WACP7B,IAAK,cAEP,CACE6B,MAAO,SACP7B,IAAK,WAyFM+3B,GA/EgB,WAC7B/rB,YAAc,2CACd,IAAQuD,EAAW7J,qBAAWyD,KAAtBoG,OACR,EAA0C/O,mBAAqB,IAA/D,mBAAOw3B,EAAP,KAAsBC,EAAtB,KACA,EAAkCz3B,oBAAS,GAA3C,mBAAOymB,EAAP,KAAkBC,EAAlB,KAEMzc,EAAYH,cAgBlBvH,qBAAU,WACR0H,EAAUvG,IAAI,UAAU0P,MAAK,SAACC,IAfP,SAACqkB,GACxB,IAAMC,EAAwB,GAC1BD,EAAOlyB,OAAS,GAClBkyB,EAAOle,SAAQ,SAAC0G,GACdyX,EAAKpe,KAAK,CACRqe,QAAS7mB,EAAoBmP,EAAM2X,YACnCC,WAAY5X,EAAM6X,qBAClBC,OAAQ9X,EAAM+X,kBAAoB,QAIxCR,EAAiBE,GAKfO,CAAiB7kB,EAAIxP,KAAK6zB,QAC1BhR,GAAa,QAGd,IAEH,IAGMyR,EAAqB,WACzBppB,EAAO,kCAGT,OAAO0X,EACL,cAAC,IAAD,IAEA,sBAAKtoB,UAAU,OAAO,cAAY,6BAAlC,UACE,oBAAIA,UAAU,yBAAd,8BACA,qBAAKA,UAAU,uDACf,sBAAKA,UAAU,6CAAf,UACE,oBAAGA,UAAU,2BAAb,gJAE4B,IAC1B,sBACE4E,SAAU,EACV,cAAY,4BACZ5E,UAAU,gDACVW,QAASq5B,EACTn5B,UAAW,SAACO,GACI,UAAVA,EAAEC,KAAiB24B,KAN3B,wCAYF,6GAGF,qBAAKh6B,UAAU,2DAAf,SACE,cAAC,IAAD,CAAO2F,SAAO,EAACzC,MAAM,cAAcuC,QAAS0zB,GAAezzB,KAAM2zB,MAGnE,qBAAKr5B,UAAU,iGAAf,SACE,cAAC,IAAD,CACEM,GAAG,8BACH,cAAY,8BACZT,KAAK,OACLc,QAzCa,SAACS,GACpBwP,EAAO,kBAyCDrQ,KAAK,oBCvFT05B,GAAgB,CACpB35B,GAAI,KACJT,KAAM,IAGKq6B,GAA0B,WACrC7sB,YAAc,4CACd,MAA8DtG,qBAAWsD,KAAjEwC,EAAR,EAAQA,QAASqD,EAAjB,EAAiBA,MAAOC,EAAxB,EAAwBA,SAAUC,EAAlC,EAAkCA,WAAYH,EAA9C,EAA8CA,KAAM7E,EAApD,EAAoDA,MACpD,EAAiCrE,qBAAWyD,KAApCoG,EAAR,EAAQA,OAAQE,EAAhB,EAAgBA,aAChB,EAAkCjP,mBAA+B,IAAjE,mBAAOgO,EAAP,KAAkBsqB,EAAlB,KACA,EAA8Bt4B,mBAAqC,CAACo4B,GAAeA,GAAeA,KAAlG,mBAAOpR,EAAP,KAAgBC,EAAhB,KACA,EAAkCjnB,mBAAwB,CAAC,GAAI,GAAI,KAAnE,mBAAO6kB,EAAP,KAAkBC,EAAlB,KAEM5hB,EAAWZ,iBAAuB,MAElC2H,EAAYH,cAElBvH,qBAAU,WACJ6L,EAAKJ,WAAaI,EAAKJ,UAAUxI,OAAS,GAC5C8yB,EAAalqB,EAAKJ,aAGnB,IAEHzL,qBAAU,WACc,KAAlB8L,EAAMlI,SACRjD,EAASP,QAASC,UAEnB,CAACyL,IAEJ,IAqCM2a,EAAa,WACjB,IAAIvmB,EAAO,GAaX,OAZAukB,EAAQxN,SAAQ,SAAC+e,EAAKt0B,GAIpBxB,EAAI,2BACCA,GADD,mBAEDwB,EAAM,CACL8kB,qBAAsBwP,EAAI95B,GAC1BT,KAAMu6B,EAAIv6B,WAITyE,GAYT,OACE,sBAAKtE,UAAU,eAAe,cAAY,sCAA1C,UACE,oBAAIA,UAAU,gBAAd,iCACmB,KAAlBkQ,EAAMlI,SACL,qBAAKhI,UAAU,OAAOK,IAAK0E,EAAUH,SAAU,EAAG,cAAY,kBAA9D,SACE,cAAC,IAAD,CAAgBrE,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,YAG7C,mBAAGhI,UAAU,eAAb,qFAPF,OAQG6P,QARH,IAQGA,OARH,EAQGA,EAAWjK,KAAI,SAAC8kB,EAAMxD,GAAP,OACd,gCACE,qBAAIlnB,UAAU,eAAd,sBACYknB,EAAQ,EADpB,OAC2BrX,EAAUxI,UAGrC,sBAAK,cAAY,YAAjB,UACE,qBAAIrH,UAAU,eAAe,cAAY,eAAzC,UACG0qB,EAAKpE,SACN,sBAAMtmB,UAAU,0BAAhB,kBAEF,qBAAIA,UAAU,eAAe,cAAY,eAAzC,oCACsBknB,EAAQ,GAC5B,sBAAMlnB,UAAU,0BAAhB,kBAEF,cAAC,IAAD,CACEyB,MAAK,0BAAqBylB,EAAQ,EAA7B,cAAoCwD,EAAKpE,UAC9ChgB,UAAQ,EACRF,IAAKsgB,EAAUQ,GACfvlB,SAAU,SAACP,GAAD,OArCD,SAACvB,EAAcS,EAAY4mB,GACxB,KAAlBhX,EAAMlI,SAAgBoI,IACD,KAArBsW,EAAUQ,IAAeP,EAAaD,EAAU9gB,KAAI,SAAC8kB,EAAM5kB,GAAP,OAAgBA,IAAQohB,EAAQ,GAAKwD,MAE7F,IAAMvB,EAAW,aAAON,GACxBM,EAAYjC,GAAS,CAAErnB,KAAMA,EAAMS,GAAIA,GACvCwoB,EAAWK,GA+BgBxV,CAAavS,EAAEuI,OAAOtD,MAAOqkB,EAAKpqB,GAAI4mB,IACvD7gB,MAAOwiB,EAAQ3B,GAAOrnB,MAAQ,GAC9BU,KAAK,OACLgG,WAAS,OAGb,oBAAIvG,UAAU,kBAxBhB,mBAAsBknB,OA2BxB,qBAAKlnB,UAAU,wBAAf,SACE,cAAC,IAAD,CACEM,GAAG,gCACH,cAAY,gCACZT,KAAK,SACLc,QAzGa,SAACS,GACE,KAAlB8O,EAAMlI,SAAgBoI,IAC1B,IAAMiqB,EAAOxR,EAAQjjB,KAAI,SAACw0B,GAAD,MAA8B,KAApBA,EAAIv6B,KAAKiI,OAAgB,kCAAoC,MAEhG,GADA6e,EAAa0T,IACTA,EAAK1H,MAAK,SAAC9yB,GAAD,MAAmB,KAATA,KAAxB,CAEA,IAAMyE,EAAOumB,IAEb/e,EACGiJ,KAAK,0CAA2C,CAAE3J,MAAOA,EAAOyd,QAASvkB,IACzE2Q,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,MACZkL,EAAO,uBAERuE,OAAM,SAACC,GACN,IAAM1P,EAAO0P,EAAI9J,SAAS5F,KACpBA,EAAKmK,WAAa6L,OAAOkO,OAAOlkB,EAAKmK,WAAWxI,OAAS,GAC7D8I,EAAS,CACP5P,KAAM,QACNyH,QAAS,qCAEX8gB,EAAW,CAACmR,GAAeA,GAAeA,KAC1CE,EAAaze,OAAOkO,OAAOlkB,EAAKmK,aACR,KAAfnK,EAAKgH,OACdyD,EAAS,CACP5P,KAAM,QACNyH,QAASmL,IAEXrC,EAAa,IACbjE,EAAQC,KACR8D,EAAO,aAEP2E,QAAQC,IAAI,wCC5ET8kB,GAAmB,CAC9B,CACEp3B,MAAO,8CACPoB,KACE,sBAAKtE,UAAU,4BAAf,UACE,0QAKA,uBACA,2FAIN,CACEkD,MAAO,8CACPoB,KACE,sBAAKtE,UAAU,4BAAf,UACE,uJAIA,uBACA,qBAAIA,UAAU,sCAAd,UACE,oBAAIA,UAAU,OAAd,+DACA,oBAAIA,UAAU,OAAd,8EAEF,uBACA,4VAQN,CACEkD,MAAO,wCACPoB,KACE,qBAAKtE,UAAU,4BAAf,6QAOJ,CACEkD,MAAO,mCACPoB,KACE,qBAAKtE,UAAU,4BAAf,yaAQJ,CACEkD,MAAO,8CACPoB,KACE,sBAAKtE,UAAU,4BAAf,UACE,uLAIA,uBACA,sGACA,uBACA,wcC1DFu6B,GAAgB,SAAC36B,EAA2BS,GAChD,IAAQ6C,EAAmCtD,EAAnCsD,MAAOvC,EAA4Bf,EAA5Be,QAAS65B,EAAmB56B,EAAnB46B,KAAMl2B,EAAa1E,EAAb0E,KAAMhE,EAAOV,EAAPU,GAEpC,OACE,sBACEN,UAAS,oCAAsC,IAAPM,GAAak6B,EAAsB,GAAf,aAAnD,YACPA,EAAO,+EAAiF,cAF5F,UAKE,yBACE,cAAY,wBACZ,uBAAet3B,EAAf,YAAwBs3B,EAAO,WAAa,UAC5Cx6B,UAAU,mCACVW,QAASA,EAJX,UAME,oBAAIX,UAAU,gCAAgC,cAAY,kBAA1D,SACGkD,IAEH,qBAAKlD,UAAU,iCAAf,SACGw6B,EAAO,cAAC,IAAD,CAAcvyB,MAAM,UAAUxF,OAAO,OAAU,cAAC,IAAD,CAAYwF,MAAM,UAAUxF,OAAO,YAG7F+3B,GACC,qBAAK,cAAY,yBAAyBx6B,UAAU,mBAApD,SACGsE,QAOI/C,wBAAWg5B,IC/BpBE,GAAY,SAAC76B,EAAuBS,GACxC,IAAQq6B,EAAU96B,EAAV86B,MAER,EAAwB74B,oBAAU,GAAlC,mBAAO24B,EAAP,KAAaG,EAAb,KAMA,OACE,qBAAK36B,UAAU,OAAO,cAAY,sBAAlC,SACG06B,EAAM90B,KAAI,SAAC8kB,EAAM5kB,GAAP,OACT,cAAC,GAAD,CAEExF,GAAIwF,EACJ5C,MAAOwnB,EAAKxnB,MACZoB,KAAMomB,EAAKpmB,KACX3D,QAAS,kBAZG,SAACmF,GACJ60B,EAAf70B,IAAQ00B,GAAgB,EAAa10B,GAWhB80B,CAAY90B,IAC3B00B,KAAMA,IAAS10B,GALVA,SAYAvE,wBAAWk5B,IC7BbI,GAAc,WACzBxtB,YAAc,uCACd,IAAQuD,EAAW7J,qBAAWyD,KAAtBoG,OAER,OACE,qBAAK5Q,UAAU,yCAAf,SACE,sBAAKA,UAAU,QAAQ,cAAY,yBAAnC,UACE,oBAAIA,UAAU,8CAAd,iDAEA,gCACE,oBAAIA,UAAU,0CAAd,gCACA,sBAAKA,UAAU,8CAAf,UACE,0QAKA,uBACA,0FAEF,uBACA,cAAC,IAAD,CAAgBO,KAAM,iBAAtB,SACG,0EAIL,cAAC,GAAD,CAAWm6B,MAAOJ,KAClB,cAAC,IAAD,CAAQh6B,GAAG,eAAeT,KAAK,OAAOU,KAAK,UAAUI,QAAS,kBAAMiQ,EAAO,qBC+HpEkqB,GAzJQ,WACrBztB,YAAc,qEACd,MAAwCtG,qBAAWsD,KAA3C6F,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAAUC,EAAzB,EAAyBA,WACjBQ,EAAW7J,qBAAWyD,KAAtBoG,OAEA9J,EADkBC,qBAAWC,KAA7BC,cACAH,WAER,EAA0CjF,mBAAS,IAAnD,mBAAOkc,EAAP,KAAsBC,EAAtB,KACA,EAAoDnc,mBAAS,IAA7D,mBAAOsc,EAAP,KAA2BC,EAA3B,KACA,EAA4Cvc,oBAAS,GAArD,mBAAOyS,EAAP,KAAuBC,EAAvB,KAEM6K,EAAWjb,iBAAyB,MACpCY,EAAWZ,iBAAuB,MAElC2H,EAAYH,cAqBZ+I,EAAe,WAGnB,IAE0B,GAJ1BH,GAAkB,GAII,KAjBG,WACzB,IAAIa,EAAM,GAQV,MAPsB,KAAlB2I,GACFK,EAAsB,sCACtBhJ,EAAM,uCAENgJ,EAAsBhM,EAAoB2L,EAAcjW,QAAQ,IAChEsN,EAAMhD,EAAoB2L,EAAcjW,QAAQ,IAE3CsN,EAMa2lB,IAOpBjvB,EACGiJ,KAAK,uCAAwC,CAC5CvF,MAAOuO,EAAcjW,SAEtBmN,MAAK,SAACC,GACL/E,EAAS,CACP5P,KAAM,UACNyH,QAAS,8FACToH,eAAe,IAEjBwB,EAAO,eAERuE,OAAM,SAACC,GAC0F,IAAD,EAA3FA,EAAI9J,SAAS5F,KAAKgH,OAAqC,qCAA5B0I,EAAI9J,SAAS5F,KAAKgH,QAC/C0R,EAAsBjM,GACtB,UAAAiN,EAAS5a,eAAT,SAAkBC,QAClB8P,GAAkB,IAEQ,MAAxBa,EAAI9J,SAASmO,QACf7I,EAAO,YAEmB,MAAxBwE,EAAI9J,SAASmO,SACftJ,EAASmD,GACT1C,EAAO,gBA3BX,UAAAwO,EAAS5a,eAAT,SAAkBC,SAgChBqb,EAAkB,SAAC1e,GACT,UAAVA,EAAEC,KACJqT,KAIJ,OACE,sBAAK1U,UAAU,eAAe,cAAY,4BAA1C,UACE,oBAAIA,UAAU,+CAAd,mCACmB,KAAlBkQ,EAAMlI,SACL,qBAAK,cAAY,4BAA4B3H,IAAK0E,EAAUH,SAAU,EAAtE,SACE,cAAC,IAAD,CAAgBrE,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,YAG7C,mBAAGhI,UAAU,OAAb,mIAKA,qBAAK,cAAY,cAAcA,UAAU,YAAzC,SACE,cAAC,IAAD,CACEyB,MAAM,gBACN6E,UAAQ,EACRF,IAAK+X,EACLxc,SAjFuB,SAACP,GAC9BgP,IACAgO,EAAsB,IACtBJ,EAAiB5c,EAAEuI,OAAOtD,OAC1BkO,GAAkB,IA8EZlO,MAAO0X,EACPxd,KAAK,OACLqG,UAAU,QACVvG,IAAK+e,EACLve,UAAWif,MAIf,qBAAK9f,UAAU,6BAAf,SACE,cAAC,IAAD,CACEM,GAAG,aACHT,KAAK,SACLW,SAAU8T,EACV1T,YAAa8T,EACb7T,UAAWif,MAGf,sBAAK9f,UAAU,gBAAf,UACE,oBAAIA,UAAU,UAAd,sCACA,mBACEqT,KAAK,WACL,cAAY,eACZ1S,QAAS,SAACS,GACRA,EAAEE,iBACoB,KAAlB4O,EAAMlI,SACRoI,IAEFQ,EAAO,aAET5Q,UAAU,2HAVZ,qBAcA,mBACE,cAAY,sBACZqT,KAAK,uBACL1S,QAAS,SAACS,GACRA,EAAEE,iBACFsP,EAAO,yBAET5Q,UAAU,+IAPZ,0DAYD8G,EAAa,KACZ,qCACE,qBAAK9G,UAAU,qCACf,cAAC,EAAD,WChJGg7B,GAAqB,WAChC,MAAwCj0B,qBAAWsD,KAA3C6F,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAAUC,EAAzB,EAAyBA,WACjBQ,EAAW7J,qBAAWyD,KAAtBoG,OAEA9J,EADkBC,qBAAWC,KAA7BC,cACAH,WACF/B,EAAWZ,iBAAuB,MAClC82B,EAAe,CACnBjzB,QATF,oJAUEzH,KAAM,UACN6O,eAAe,GAGjB,EAA0CvN,mBAAS,IAAnD,mBAAOkc,EAAP,KAAsBC,EAAtB,KACA,EAA0Cnc,mBAAS,IAAnD,mBAAOiT,EAAP,KAAsBomB,EAAtB,KACA,EAAwCr5B,oBAAS,GAAjD,mBAAO8b,EAAP,KAAqBwd,EAArB,KACA,EAA4Ct5B,oBAAS,GAArD,mBAAOyS,EAAP,KAAuBC,EAAvB,KAEM6K,EAAWjb,iBAAyB,MAEpC2H,EAAYH,cAiBZ+I,EAAe,WACnBH,GAAkB,GAPhB2mB,EADoB,KAAlBnd,EACe,qCAEA3L,EAAoB2L,EAAcjW,QAAQ,IAO7DqzB,GAAgB,IAGZrb,EAAkB,SAAC1e,GACT,UAAVA,EAAEC,KACJqT,KAyBJ,OArBAtQ,qBAAU,WACJuZ,IACoB,KAAlB7I,EACFsK,EAAS5a,QAASC,QAElBqH,EACGiJ,KAAK,mCAAoC,CAAEvF,MAAOuO,EAAcjW,SAChEmN,MAAK,SAACC,GACL/E,EAAS8qB,GACTrqB,EAAO,eAERuE,OAAM,SAACzI,GACNyD,EAAmC,MAA1BzD,EAAMpB,SAASmO,OAAiBnG,EAAgB2nB,GACzDrqB,EAAO,eAGbuqB,GAAgB,MAGjB,CAACxd,EAAcI,EAAejJ,IAG/B,sBAAK9U,UAAU,eAAe,cAAY,gCAA1C,UACE,oBAAIA,UAAU,+CAAd,8CACmB,KAAlBkQ,EAAMlI,SACL,qBAAK,cAAY,4BAA4B3H,IAAK0E,EAAUH,SAAU,EAAtE,SACE,cAAC,IAAD,CAAgBrE,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,YAG7C,qBAAK,cAAY,cAAchI,UAAU,YAAzC,SACE,cAAC,IAAD,CACEyB,MAAM,gBACN6E,UAAQ,EACRF,IAAK0O,EACLnT,SA7DkB,SAACP,GACzBgP,IACA8qB,EAAiB,IACjBld,EAAiB5c,EAAEuI,OAAOtD,OAC1BkO,GAAkB,IA0DZlO,MAAO0X,EACPxd,KAAK,OACLqG,UAAU,QACVvG,IAAK+e,EACLve,UAAWif,MAIf,qBAAK9f,UAAU,6BAAf,SACE,cAAC,IAAD,CACEM,GAAG,aACHT,KAAK,SACLW,SAAU8T,EACV1T,YAAa8T,EACb7T,UAAWif,MAGf,qBAAK9f,UAAU,gBAAf,SACE,0CAEE,mBACEqT,KAAK,WACL,cAAY,eACZ1S,QAAS,SAACS,GACRA,EAAEE,iBACF8O,IACAQ,EAAO,aAET,aAAW,oBACX5Q,UAAU,gJATZ,0BAeH8G,EAAa,KACZ,qCACE,qBAAK9G,UAAU,qCACf,cAAC,EAAD,WC3HGo7B,GAAoB,WAC/B/tB,YAAc,6CACd,IAAQ+C,EAAerJ,qBAAWsD,KAA1B+F,WACAQ,EAAW7J,qBAAWyD,KAAtBoG,OAEA9J,EADkBC,qBAAWC,KAA7BC,cACAH,WACF/B,EAAWZ,iBAAuB,MAChCtE,EAASykB,cAATzkB,KAeR,OACE,sBAAKG,UAAU,eAAe,cAAY,qBAA1C,UACE,oBAAIA,UAAU,+CAA+C,cAAY,aAAzE,gCAGA,qBAAK,cAAY,4BAA4BK,IAAK0E,EAAUH,SAAU,EAAtE,SACE,cAAC,IAAD,CAAgBrE,KAAK,QAArB,4CAnB6B,WACjC,OAAQV,GACN,IAAK,YACH,OAAO,cAAC,GAAD,IACT,IAAK,QACH,OAAO,cAAC,GAAD,IACT,IAAK,UACH,OAAO,cAAC,GAAD,IACT,QACE,OAAO,cAAC,GAAD,KAYRw7B,GACD,qBAAKr7B,UAAU,gBAAf,SACE,0CAEE,wBACE,cAAY,eACZW,QAAS,WACPyP,IACAQ,EAAO,aAET,aAAW,oBACX5Q,UAAU,gJAPZ,0BAaH8G,EAAa,KACZ,qCACE,qBAAK9G,UAAU,qCACf,cAAC,EAAD,WCiGKs7B,GApJW,WACxBjuB,YAAc,8CACd,MAAuDtG,qBAAWsD,KAA1D4F,EAAR,EAAQA,KAAMpD,EAAd,EAAcA,QAASqD,EAAvB,EAAuBA,MAAOC,EAA9B,EAA8BA,SAAUC,EAAxC,EAAwCA,WAChCQ,EAAW7J,qBAAWyD,KAAtBoG,OAER,EAAgD/O,mBAAS,IAAzD,mBAAOoc,EAAP,KAAyB2R,EAAzB,KACA,EAAoE/tB,mBAAS,IAA7E,mBAAOitB,EAAP,KAAmCC,EAAnC,KACMC,EAAmB7qB,iBAAyB,MAC5Cmb,EAAkBnb,iBAAyB,MACjD,EAAwCtC,mBAAS,YAAjD,mBAAOgc,EAAP,KAAqBC,EAArB,KACA,EAA4Cjc,oBAAS,GAArD,mBAAOyS,EAAP,KAAuBC,EAAvB,KAEMxP,EAAWZ,iBAAuB,MAElC2H,EAAYH,cAYZ+I,EAAe,SAACtT,GACK,KAArB6c,GACF8Q,EAA8B,4BAC9BC,EAAiBxqB,QAASC,UAE1B8P,GAAkB,GAClBzI,EACGiJ,KAAK,oCAAqC,CACzCvF,MAAOS,EAAKT,MACZuQ,SAAU9B,IAEXhJ,MAAK,SAACC,GACLrI,EAAQqI,EAAIxP,MACZkL,EAAO,gDAERuE,OAAM,SAACC,GACN,IAAMmmB,EAAanmB,EAAI9J,SAAS5F,KAAKgH,OAAS,gBAE3B,iCAAf6uB,EACFprB,EAAS,CACP5P,KAAM,QACNyH,QAAS,mCAEFuzB,EAAW3zB,SAAS,sCAC7BuI,EAAS,CACP5P,KAAM,QACNyH,QAASuzB,EACTnsB,eAAe,IAEjBvC,EAAQC,WAMZgT,EAAkB,SAAC1e,GACT,UAAVA,EAAEC,KACJqT,KAsBJ,OAXAtQ,qBAAU,WACc,KAAlB8L,EAAMlI,SACRjD,EAASP,QAASC,UAEnB,CAACyL,IAEJ9L,qBAAU,WACRgM,MAEC,IAGD,sBAAKpQ,UAAU,OAAO,cAAY,gCAAlC,UACE,oBAAIA,UAAU,yBAAd,iCACmB,KAAlBkQ,EAAMlI,SACL,qBAAK,cAAY,4BAA4B3H,IAAK0E,EAAUH,SAAU,EAAtE,SACE,cAAC,IAAD,CAAgBrE,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,YAI7C,qBAAKhI,UAAU,uDACf,qBAAKA,UAAU,0DAAf,SACE,sBAAKA,UAAU,GAAf,UACE,qBAAKA,UAAU,OAAf,SACE,cAAC,IAAD,CACEyB,MAAM,QACN6E,UAAQ,EACRF,IAAG,GACHzE,SAAU,aACV0E,MAAO4J,EAAKT,MACZjP,KAAK,OACLqG,UAAU,QACV/F,UAAWif,EACXtZ,UAAU,EACVC,kBAAkB,yCAGtB,cAAC,IAAD,CACEhF,MAAM,WACN6E,UAAQ,EACRF,IAAK0oB,EACLntB,SAhDkB,SAACP,GACL,KAAlB8O,EAAMlI,SAAgBoI,IACtBkE,GAAgBC,GAAkB,GACH,KAA/Bua,GAAmCC,EAA8B,IACrEa,EAAoBxuB,EAAEuI,OAAOtD,QA6CrBA,MAAO4X,EACP1d,KAAMsd,EACNxd,IAAK2uB,EACLnuB,UAAWif,IAEb,qBAAK9f,UAAU,oCAAf,SACE,cAAC,IAAD,CAAUA,UAAU,OAAOyB,MAAM,gBAAgBpB,IAAKif,EAAiB3d,SA1GlD,SAACP,GAC1BA,EAAE6e,cAAcve,QAASoc,EAAgB,QACxCA,EAAgB,sBA4GnB,sBAAK9d,UAAU,4FAAf,UACE,cAAC,IAAD,CACEM,GAAG,gBACH,cAAY,qBACZT,KAAK,SACLG,UAAU,+BACVQ,SAAU8T,EACV3T,QAAS+T,IAEX,cAAC,IAAD,CACEpU,GAAG,aACH,cAAY,kBACZT,KAAK,SACLU,KAAK,SACLP,UAAU,qBACVW,QAxHa,WACnByP,IACAQ,EAAO,2BCII4qB,GA9Bc,WAC3BnuB,YAAc,kDACd,IAAQuD,EAAW7J,qBAAWyD,KAAtBoG,OAER,OACE,sBAAK5Q,UAAU,OAAO,cAAY,mCAAlC,UACE,oBAAIA,UAAU,yBAAd,mDACA,qBAAKA,UAAU,uDACf,qBAAKA,UAAU,0DAAf,SACE,oOAKF,qBAAKA,UAAU,4FAAf,SACE,wBACEM,GAAG,kBACH,cAAY,kBACZN,UAAU,iBACV,sCACAW,QAAS,WACPiQ,EAAO,2BANX,mCCKF6qB,GAAe,CACnBv4B,MAAO,GACPw4B,SAAU,EACVC,mBAAoB,WACpBC,OAAQ,GACRC,YAAa,CACXC,MAAO,CAAC,IACRC,OAAQ,CAAC,MAQPC,GAAmB,mDAOnBC,GAAoB,SAACvB,GAEzB,OADgBA,EAAM90B,KAAI,SAAC0jB,GAAD,iBAAWA,EAAX,QACXzU,KAAK,MAAM/M,QAGtBo0B,GAAe,SAACt8B,GACpB,IAAQsD,EAA+BtD,EAA/BsD,MAAO04B,EAAwBh8B,EAAxBg8B,OAAQC,EAAgBj8B,EAAhBi8B,YACvB,OACE,sBAAK77B,UAAU,OAAf,UACE,oBAAIA,UAAU,4CAAd,SAA2DkD,IAC3D,mBAAGlD,UAAS,eAAoB,YAAVkD,GAAuB,QAA7C,SAAwD04B,IACxD,qBAAI57B,UAAU,kBAAd,UACG67B,GAAeA,EAAYE,OAAO10B,OAAS,GAC1C,gDAAiB40B,GAAkBJ,EAAYE,QAA/C,OAEDF,GAAeA,EAAYC,MAAMz0B,OAAS,GAAK,gDAAiB40B,GAAkBJ,EAAYC,OAA/C,cAMlDK,GAA0B,SAACv8B,GAC/B,IAAQsD,EAAkBtD,EAAlBsD,MAAO04B,EAAWh8B,EAAXg8B,OAEf,OACE,sBAAK57B,UAAU,OAAf,UACE,oBAAIA,UAAU,iDAAd,SAAgEkD,IAC/DA,EAAM0E,SAAS,WAAa,mBAAG5H,UAAU,mBAAb,SA7BjC,kHA8BI,oBAAIA,UAAU,kBAAd,SACE,6BAAK47B,UAqGEQ,GA/Fc,SAACx8B,GAC5ByN,YAAc,yDAEd,IAAQgvB,EAAgBz8B,EAAhBy8B,YACR,EAA0Bt1B,qBAAWsD,KAA7B4F,EAAR,EAAQA,KAAMpD,EAAd,EAAcA,QAEd,EAAkChL,mBAAS,IAA3C,mBAAOy6B,EAAP,KAAkBC,EAAlB,KACA,EAA8C16B,mBAAS,IAAvD,mBAAO26B,EAAP,KAAwBC,EAAxB,KACA,EAAkC56B,mBAAmB45B,IAArD,mBAAOiB,EAAP,KAAkBC,EAAlB,KACA,EAA0C96B,mBAAmB45B,IAA7D,mBAAOmB,EAAP,KAAsBC,EAAtB,KACA,EAAsCh7B,mBAAmB45B,IAAzD,mBAAOqB,EAAP,KAAoBC,EAApB,KACA,EAA8Bl7B,oBAAS,GAAvC,mBAAOkd,EAAP,KAAgBC,EAAhB,KACMlT,EAAYH,cAEZqxB,EAAa,WACjBlxB,EAAUiJ,KAAK,4BAA4BE,MAAK,SAACC,GAC/CrI,EAAQqI,EAAIxP,UAWhBtB,qBAAU,WACR64B,EAAeZ,GACfrd,GAAW,KAEV,IAEH,IAAMie,EAAiB,SAACC,GAGtB,IAFA,IAAIC,GAAe,EAEnB,MAA2BzhB,OAAO0hB,QAAQF,GAA1C,eAA2D,CAAtD,0BAAO77B,EAAP,KAAYgF,EAAZ,KACGg3B,EAAiBh3B,EAAK,mBAC5B,GAAuB,mBAAnBg3B,EAGF,OAFAd,EA9EqB,kCA+ErBY,GAAe,EACPltB,EAAKN,cACX,IAAK,OACL,IAAK,aACH8sB,EAxFV,uFAyFU,MACF,IAAK,iBACHA,EA1FiC,2EA2FjC,MACF,QACEA,EAAmBT,QAEkB,qBAAhC31B,EAAK,oBAAiD82B,IAC/DZ,EA7FuB,4CA8FvBE,EApGsB,kFAuGZ,aAARp7B,GAAyC,aAAnBg8B,GACpBh3B,EAAMw1B,aAAex1B,EAAMw1B,YAAYE,OAAO10B,OAAS,GAAwC,IAAnChB,EAAMw1B,YAAYC,MAAMz0B,QACtFo1B,EAAmBT,IACrBe,EAAe,2BAAK12B,GAAN,IAAanD,MAAO,cACjB,UAAR7B,EACTs7B,EAAa,2BAAKt2B,GAAN,IAAanD,MAAO,mEACf,cAAR7B,GACTw7B,EAAiB,2BAAKx2B,GAAN,IAAanD,MAAO,kBAK1C,OAAO6b,EAAU,KACf,sBAAK/e,UAAU,eAAe,cAAY,mCAA1C,UACE,oBAAIA,UAAU,+CAA+C,cAAY,aAAzE,SACGs8B,IAEH,mBAAGt8B,UAAU,mBAAb,SAAiCw8B,IACG,aAAnCM,EAAYnB,oBACX,cAAC,GAAD,CAAcz4B,MAAO45B,EAAY55B,MAAO04B,OAAQkB,EAAYlB,OAAQC,YAAaiB,EAAYjB,cAE7D,aAAjCa,EAAUf,oBACT,cAAC,GAAD,CAAyBz4B,MAAOw5B,EAAUx5B,MAAO04B,OAAQc,EAAUd,SAE/B,aAArCgB,EAAcjB,oBACb,cAAC,GAAD,CAAyBz4B,MAAO05B,EAAc15B,MAAO04B,OAAQgB,EAAchB,SAE7E,qBAAK57B,UAAU,wBAAf,SACE,cAAC,IAAD,CACEM,GAAG,2BACHT,KAAK,uBACLe,YAAao8B,EACbn8B,UArEe,SAACO,GACtBA,EAAEE,iBACY,UAAVF,EAAEC,KACJ27B,aC/EAvB,GAAe,CACnB,WAAY,CACVv4B,MAAO,UACPw4B,SAAU,EACVC,mBAAoB,WACpBC,OAAQ,GACRC,YAAa,CACXC,MAAO,CAAC,IACRC,OAAQ,CAAC,MAGbuB,UAAW,CACTp6B,MAAO,YACPw4B,SAAU,EACVC,mBAAoB,WACpBC,OAAQ,IAEV2B,MAAO,CACLr6B,MAAO,QACPw4B,SAAU,EACVC,mBAAoB,WACpBC,OAAQ,KAiDG4B,GA7Ce,WAC5BnwB,YAAc,kDACd,MAAoCtG,qBAAWsD,KAAvC8F,EAAR,EAAQA,SAAUF,EAAlB,EAAkBA,KAAMpD,EAAxB,EAAwBA,QAExB,EAA8BhL,oBAAS,GAAvC,mBAAOkd,EAAP,KAAgBC,EAAhB,KACA,EAA4Cnd,oBAAkB,GAA9D,mBAAO47B,EAAP,KAAuBC,EAAvB,KAEA,EAAsC77B,mBAAsB45B,IAA5D,mBAAOY,EAAP,KAAoBsB,EAApB,KAEM7xB,EAAYH,cA6BlB,OA3BAvH,qBAAU,WACR0H,EACGiJ,KAAK,iBACLE,MAAK,SAACC,GACc,MAAfA,EAAIuE,SACNikB,GAAkB,GAClBlyB,aAAaoK,SAEfoJ,GAAW,MAEZ7J,OAAM,SAACC,GACNsoB,GAAkB,GACU,MAAxBtoB,EAAI9J,SAASmO,QAA2C,OAAzBxJ,EAAI,cACrCE,EAAS,CACP5P,KAAM,QACNyH,QAASoN,EAAI9J,SAAS5F,KAAKgH,QAGH,MAAxB0I,EAAI9J,SAASmO,SACfkkB,EAAevoB,EAAI9J,SAAS5F,KAAKk4B,cACjC/wB,EAAQuI,EAAI9J,SAAS5F,OAEvBsZ,GAAW,QAGd,IAGD,sCACID,GAAW0e,GAAkB,cAAC,GAAD,KAC7B1e,IAAY0e,GAAkB,cAAC,GAAD,CAAsBpB,YAAaA,QCqC1DwB,GA1HO,WACpBxwB,YAAc,yCACd,IAAQuD,EAAW7J,qBAAWyD,KAAtBoG,OACA/D,EAAY9F,qBAAWsD,KAAvBwC,QAER,EAA8ChL,mBAAS,IAAvD,mBAAOi8B,EAAP,KAAwBC,EAAxB,KACA,EAAkEl8B,mBAAS,IAA3E,mBAAOm8B,EAAP,KAAkCC,EAAlC,KACMC,EAAkB/5B,iBAAyB,MAE3C2H,EAAYH,cAQZ+I,EAAe,SAACtT,GACpB,GAAwB,WAApB08B,GAEF,GADAG,EAA6B,0DACzBC,EAAgB15B,QAElB,YADA05B,EAAgB15B,QAASC,aAI3BmM,EAAO,6BAeX,OACE,sBAAK5Q,UAAU,OAAO,cAAY,2BAAlC,UACE,oBAAIA,UAAU,yBAAd,4BACA,mBAAGA,UAAU,2CAAb,qDAEA,sBAAKA,UAAU,sDAAf,UACE,yOAIA,mBAAGA,UAAU,YAAb,+DACA,qBAAIA,UAAU,kCAAd,UACE,qBAAIA,UAAU,QAAd,oDACyC,0CAEzC,oBAAIA,UAAU,QAAd,6CACA,oBAAIA,UAAU,QAAd,gDACA,oBAAIA,UAAU,QAAd,oCACA,oBAAIA,UAAU,QAAd,2CAGF,mBAAGA,UAAU,YAAb,6DACA,qBAAIA,UAAU,kCAAd,UACE,oBAAIA,UAAU,QAAd,gNAIA,oBAAIA,UAAU,QAAd,+DACA,oBAAIA,UAAU,QAAd,iHAKF,mBAAGA,UAAU,YAAb,kEACA,qBAAIA,UAAU,kCAAd,UACE,oBAAIA,UAAU,QAAd,0EACA,oBAAIA,UAAU,QAAd,uEACA,oBAAIA,UAAU,QAAd,sFACA,oBAAIA,UAAU,QAAd,0EAGF,qDACiB,uCADjB,qOAKA,qDACiB,uCADjB,6CAIA,cAAC,IAAD,CACEyB,MAAM,GACN2E,IAAK43B,EACLr8B,SA1DmB,SAACP,GACQ,KAA9B48B,GAAkCC,EAA6B,IACnEF,EAAmB38B,EAAEuI,OAAOtD,QAyDtBA,MAAOy3B,EACPv9B,KAAK,OACLF,IAAK69B,EACLr9B,UApEgB,SAACO,GACT,UAAVA,EAAEC,KACJqT,KAmEIhO,UAAS,4EAA6Ds3B,EAA7D,YAA0FF,QAGvG,sBAAK99B,UAAU,4FAAf,UACE,cAAC,IAAD,CACEM,GAAG,gBACH,cAAY,qBACZT,KAAK,iBACLG,UAAU,+BACVW,QAAS+T,IAEX,cAAC,IAAD,CACEpU,GAAG,aACH,cAAY,kBACZT,KAAK,SACLU,KAAK,SACLP,UAAU,qBACVW,QAxGa,WACnBmL,EAAUiJ,KAAK,4BAA4BE,MAAK,SAACC,GAC/CrI,EAAQqI,EAAIxP,mBC0JHy4B,GArKQ,WACrB,IAAQl3B,EAAkBF,qBAAWC,KAA7BC,cACAgG,EAAsChG,EAAtCgG,iBAAkBC,EAAoBjG,EAApBiG,gBAC1B,EAAiEnG,qBAAWsD,KAApE6F,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAAUE,EAAzB,EAAyBA,qBAAsBJ,EAA/C,EAA+CA,KAAMpD,EAArD,EAAqDA,QAC/Cf,EAAYH,cACZshB,EAAsB3X,IAE5BjI,YAAc,oDAEd,IAAM+wB,EAA2B,CAC/Bl7B,MAAO,GACPm7B,MAAM,EACNC,mBAAmB,GAGfC,EAAgC,YAAfruB,EAAM3P,KAC7B,EAAkDsB,mBAASu8B,GAA3D,mBAAOI,EAAP,KAA0BC,EAA1B,KAEAr6B,qBAAU,WACR6oB,MACC,IAEH,IAAMyR,EACJ,sBAAK1+B,UAAU,0BAAf,UACE,gGACiE,4BAAIiQ,EAAK0d,WAD1E,8BAGA,uHAC8E,4BAAI1d,EAAK0uB,kBADvF,gEAOEC,EACJ,qBAAK5+B,UAAU,0BAAf,SACE,oEACqC,4BAAIiQ,EAAK0uB,kBAD9C,0CAMEE,EAAuB,WAC3BJ,EAAqB,CACnBv7B,MAAO,mBACPm7B,MAAOE,EACPD,mBAAmB,KAIjBQ,EAA2B,WAC3BP,GACFluB,IACAxD,EAAQ,2BAAKoD,GAAN,IAAY0R,kBAAmB,OAEtC8c,EAAqB,CACnBv7B,MAAO,8BACPm7B,MAAOE,EACPD,mBAAmB,KAmCzB,MAAyB,KAAlBpuB,EAAMlI,QACX,sBAAKhI,UAAU,eAAe,cAAY,6BAA1C,UACE,cAAC,IAAD,CACEkD,MAAOs7B,EAAkBt7B,MACzBC,QAASq7B,EAAkBH,KAC3Bj7B,SAnCoB,WACxBq7B,EAAqBL,IAmCjB/6B,KAhCgB,WACpBgN,IACImuB,EAAkBF,mBACpBG,EAAqBL,GACrBvxB,EAAQ,2BAAKoD,GAAN,IAAY0R,kBAAmB,OAEtC7V,EACGiJ,KAAK,wBAAyB,CAC7B4Y,SAAU1gB,EACV2gB,QAAS1gB,IAEV+H,MAAK,SAACC,GACL+X,IACApgB,EAAQ,2BAAKoD,GAAN,IAAY0R,kBAAmB,SAEvCxM,OAAM,SAACC,GACsB,MAAxBA,EAAI9J,SAASmO,QACftJ,EAAS,CACP5P,KAAM,QACNyH,QAASoN,EAAI9J,SAAS5F,KAAKgH,YAcjClJ,aAAa,MACbF,MAAM,EANR,SAQGk7B,EAAkBF,kBAAoBM,EAAwBF,IAEjE,sBAAK1+B,UAAU,OAAf,UACE,oBAAIA,UAAU,+CAAd,SACGu+B,EAAiB,qBAAuB,yBAGzC,sBAAK,cAAY,4BAA4B35B,SAAU,EAAvD,UACE,cAAC,IAAD,CAAgBrE,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,UACzB,UAAfkI,EAAM3P,MACL,sBAAKP,UAAU,oBAAoB,cAAY,uBAA/C,UACE,oBAAGA,UAAU,OAAb,UACE,mBAAGA,UAAU,OAAb,4EADF,kEAEkE,IAChE,mBAAGA,UAAU,OAAb,SAAqBiQ,EAAK0uB,qBAG5B,oBAAG3+B,UAAU,OAAb,gCAEE,mBAAGA,UAAU,OAAb,SACE,4BAAIiQ,EAAK0uB,oBAHb,iHAOA,oBAAG3+B,UAAU,OAAb,sCAEE,mBAAGA,UAAU,OAAb,SACE,4BAAIiQ,EAAK0d,aAHb,mFAYR,sBAAK3tB,UAAU,uFAAf,UACE,cAAC,IAAD,CACEM,GAAG,eACHT,KAAM0+B,EAAiB,WAAa,8BACpCv+B,UAAU,mBACVY,YAAak+B,EACbh+B,QAASg+B,IAEK,UAAf5uB,EAAM3P,MACL,cAAC,IAAD,CACED,GAAG,uBACHT,KAAK,mBACLG,UAAU,mBACVO,KAAK,YACLK,YAAai+B,EACb/9B,QAAS+9B,aAOnB,8BCzKSE,GAAmB,CAC9B,CACE77B,MAAO,6EACPoB,KACE,qBAAKtE,UAAU,4BAAf,kZAQJ,CACEkD,MAAO,2EACPoB,KACE,qBAAKtE,UAAU,4BAAf,6RAOJ,CACEkD,MAAO,iDACPoB,KACE,qBAAItE,UAAU,yCAAd,UACE,oBAAIA,UAAU,OAAd,oIAGA,oBAAIA,UAAU,OAAd,sFACA,oBAAIA,UAAU,OAAd,8KAIA,oBAAIA,UAAU,OAAd,qFACA,oBAAIA,UAAU,OAAd,gMAON,CACEkD,MAAO,8CACPoB,KACE,qBAAItE,UAAU,yCAAd,UACE,oBAAIA,UAAU,OAAd,2KAIA,oBAAIA,UAAU,OAAd,gOAIA,oBAAIA,UAAU,OAAd,qFACA,oBAAIA,UAAU,OAAd,4LAON,CACEkD,MACE,iIACFoB,KACE,qBAAKtE,UAAU,4BAAf,kVAOJ,CACEkD,MAAO,uBACPoB,KACE,sBAAKtE,UAAU,4BAAf,kJAGE,sBAAMA,UAAU,OAAhB,SACE,mBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAK,0BACLrT,UAAU,6CAJZ,qCAJJ,sCAiBJ,CACEkD,MAAO,qCACPoB,KACE,sBAAKtE,UAAU,4BAAf,wDAEE,sBAAMA,UAAU,OAAhB,SACE,mBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAK,mCACLrT,UAAU,8CAJZ,uBAHJ,4DAaE,sBAAMA,UAAU,OAAhB,SACE,mBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAK,yEACLrT,UAAU,6CAJZ,oBAdJ,QA2BJ,CACEkD,MAAO,uEACPoB,KACE,sBAAKtE,UAAU,4BAAf,mMAE+E,SCxEtEg/B,GAjDK,WAClB3xB,YAAc,wCACd,IAAQuD,EAAW7J,qBAAWyD,KAAtBoG,OAER,OACE,qBAAK5Q,UAAU,yCAAf,SACE,sBAAKA,UAAU,QAAQ,cAAY,0BAAnC,UACE,oBAAIA,UAAU,8CAAd,kDAEA,gCACE,oBAAIA,UAAU,0CAAd,gCACA,sBAAKA,UAAU,8CAAf,UACE,sRAKA,uBACA,8BACE,sBAAMA,UAAU,OAAhB,0DACA,mBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAK,+BACLrT,UAAU,6CAJZ,uBAQA,sBAAMA,UAAU,OAAhB,2CACA,mBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAK,mIACLrT,UAAU,6CAJZ,wCAXF,aAwBJ,cAAC,GAAD,CAAW06B,MAAOqE,KAClB,cAAC,IAAD,CAAQz+B,GAAG,eAAeT,KAAK,OAAOU,KAAK,UAAUI,QAAS,kBAAMiQ,EAAO,qBCJpEquB,I,OA5CS,SAACr/B,GACvB,IAAQs/B,EAAct/B,EAAds/B,UACR,EAAsCr9B,mBAAiB,IAAvD,mBAAOs9B,EAAP,KAAoBC,EAApB,KAEAh7B,qBAAU,WACR,GAAI,OAAC86B,QAAD,IAACA,KAAW73B,OAAhB,CAIA,IAAMg4B,EAAoB,IAAItsB,KAAKmsB,GAC7BI,EAAaC,EAAcF,GAEjC,GAAIC,GAAc,EAChBF,EAAe,sBACV,GAAIE,GAAc,GACvBF,EAAe,GAAD,OAAIE,EAAJ,uBACT,GAAIA,GAAc,IACvBF,EAAe,oBACV,GAAIE,GAAc,KAAM,CAC7B,IAAME,EAAWC,KAAKC,MAAMJ,EAAa,IACzCF,EAAe,GAAD,OAAII,EAAJ,qBAEdJ,EACE,IAAIO,KAAKC,eAAe,QAAS,CAC/BC,KAAM,UACNC,MAAO,OACPC,IAAK,YACJC,OAAOX,OAGb,CAACH,IAEJ,IAAMK,EAAgB,SAACU,GACrB,IAEMC,GAFM,IAAIntB,MAEY0iB,UAAYwK,EAASxK,UAGjD,OAAOgK,KAAKC,MAAMQ,EAFY,MAKhC,OAAO,mDAAcf,OC3CVgB,GAAiB,WAC5B,OACE,sBAAKt9B,MAAM,6BAA6BH,MAAM,KAAKD,OAAO,KAAKM,QAAQ,YAAYD,KAAK,OAAxF,UACE,mBAAGs9B,SAAS,wBAAZ,SACE,sBACEp9B,EAAE,qbACFsF,OAAO,UACPI,cAAc,QACd23B,eAAe,YAGnB,+BACE,0BAAU//B,GAAG,kBAAb,SACE,sBAAMoC,MAAM,KAAKD,OAAO,KAAKK,KAAK,kBCb/Bw9B,GAAc,WACzB,OACE,sBAAKz9B,MAAM,6BAA6BH,MAAM,KAAKD,OAAO,KAAKM,QAAQ,YAAYD,KAAK,OAAxF,UACE,sBACEE,EAAE,oFACFsF,OAAO,UACPI,cAAc,QACd23B,eAAe,UAEjB,sBACEr9B,EAAE,kIACFsF,OAAO,UACPI,cAAc,QACd23B,eAAe,cCbVE,GAAY,WACvB,OACE,sBAAK19B,MAAM,6BAA6BH,MAAM,KAAKD,OAAO,KAAKM,QAAQ,YAAYD,KAAK,OAAxF,UACE,oBAAGs9B,SAAS,wBAAZ,UACE,sBAAMp9B,EAAE,qDAAqDsF,OAAO,YACpE,sBAAMtF,EAAE,oCAAoCsF,OAAO,eAErD,+BACE,0BAAUhI,GAAG,kBAAb,SACE,sBAAMoC,MAAM,KAAKD,OAAO,KAAKK,KAAK,QAAQ2K,UAAU,wCCmBxD+yB,GAAa,CACjBt9B,MAAO,GACPC,SAAS,EACTnC,SAAU,6BACV2C,kBAAkB,EAClBP,SAAU,kBAAM,MAChBC,KAAM,kBAAM,OA4OCo9B,GAzOS,WACtB,IACQxvB,EADkBlK,qBAAWC,KAA7BC,cACAgK,YACAL,EAAW7J,qBAAWyD,KAAtBoG,OACF9E,EAAYH,cAClB,EAAwC9J,mBAAiC,IAAzE,mBAAO6+B,EAAP,KAAqBC,EAArB,KACA,EAAqC55B,qBAAWsD,KAAxC6F,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAAUtD,EAAzB,EAAyBA,QACnB4H,EAAoBtQ,iBAAuB,MACjD,EAAkCtC,oBAAkB,GAApD,mBAAO++B,EAAP,KAAkBC,EAAlB,KACA,EAAwDh/B,oBAAkB,GAA1E,mBAAOi/B,EAAP,KAA6BC,EAA7B,KACA,EAAoCl/B,mBAAqB2+B,IAAzD,mBAAOQ,EAAP,KAAmBC,EAAnB,KACA,EAA8Cp/B,mBAAS,IAAvD,mBAAOq/B,EAAP,KAAwBC,EAAxB,KACMC,EAAkBj9B,iBAAyB,MACjD,EAA+BtC,mBAAS,IAAjCw/B,EAAP,oBACA,EAA8Cx/B,mBAA0B,CACtEvB,IAAK,EACLid,cAAe,GACf+jB,aAAc,KAHhB,mBAAOC,EAAP,KAAwBC,EAAxB,KAKAn0B,YAAc,0CAEdjJ,qBAAU,WACH6M,EAAYrJ,SAAS,oBACxBgJ,EAAO,mBAER,IAEHxM,qBAAU,WAAM,4CACd,sBAAA2X,EAAA,kEACE4kB,EADF,SACwB7kB,EAAahQ,GADrC,8EADc,uBAAC,WAAD,wBAKd21B,KACC,IAEH,IAQMC,EAAsB,WAC1Bb,GAAa,IAGTc,EAAiC,WACrCZ,GAAwB,IAGpBa,EAAyB,CAC7B,CACEh4B,KAAM,OACNQ,KAAM+1B,IAER,CACEv2B,KAAM,OACNQ,KAAMk2B,IAER,CACE12B,KAAM,SACNQ,KAAMm2B,KAIJsB,EAA2B,uCAAG,WAAOx7B,EAAeyW,GAAtB,SAAAf,EAAA,2DAC1B1V,EAD0B,OAE3B,SAF2B,OAK3B,SAL2B,OAQ3B,WAR2B,6BAG9By7B,EAAiBhlB,GAHa,kCAM9BilB,IAN8B,kCAS9BC,EAAmBllB,GATW,+DAAH,wDAwB3BmlB,EAAY,uCAAG,4BAAAlmB,EAAA,sEACmBsB,GAAYvR,EAAWy1B,EAAiBL,GAD3D,QACbgB,EADa,QAGJ7lB,SAAW6lB,EAAWjyB,MACnCE,EAAS,CAAE5P,KAAM,UAAWyH,QAAS,gDAErC6E,EAAQq1B,EAAWjyB,MACnB0wB,EAAgBuB,EAAWjyB,KAAKD,UAChC2xB,MAEAxxB,EAAS,CAAE5P,KAAM,QAASyH,QAAS,8CACnC25B,KAXiB,2CAAH,qDAmBZG,EAAgB,uCAAG,WAAOhlB,GAAP,SAAAf,EAAA,sDACvBylB,EAAmB1kB,GACnBqkB,EAAmBrkB,EAAQS,eAC3BwjB,GAAwB,GAHD,2CAAH,sDAMhBgB,EAAgB,uCAAG,sBAAAhmB,EAAA,sDACvB8kB,GAAa,GACbI,EAAc,CACZ/9B,MAAO,eACPC,QAASy9B,EACT5/B,SACE,oOAGE,uBAHF,IAGS,uBAHT,kBAIiB,sBAAMhB,UAAU,gCAAhB,wCACf,uBALF,IAKS,uBACP,sCANF,4JAUF2D,kBAAkB,EAClBP,SAAUs+B,EACVr+B,KAAMq+B,IAlBe,2CAAH,qDAsBhBM,EAAkB,uCAAG,WAAOllB,GAAP,eAAAf,EAAA,sEACac,EAAc/Q,EAAWgR,GADtC,QACnBC,EADmB,QAGbV,SAAWU,EAAQ9M,MAC7BE,EAAS,CAAE5P,KAAM,UAAWyH,QAAS,gDAErC6E,EAAQkQ,EAAQ9M,MAChB0wB,EAAgB5jB,EAAQ9M,KAAKD,WAE7BG,EAAS,CAAE5P,KAAM,QAASyH,QAAS,+CATZ,2CAAH,sDAaxB,OACE,sBAAKhI,UAAU,OAAO,cAAY,4BAAlC,UACE,cAAC,IAAD,CACEkD,MAAO89B,EAAW99B,MAClBC,QAASy9B,IAAcE,EACvBn9B,iBAAkBq9B,EAAWr9B,iBAC7BP,SAAU49B,EAAW59B,SACrBC,KAAM29B,EAAW39B,KALnB,SAOG29B,EAAWhgC,WAId,cAAC,IAAD,CACEkC,MAAO,sBACPC,QAAS29B,IAAyBF,EAClCj9B,kBAAkB,EAClBP,SAAUu+B,EACVt+B,KAAM4+B,EALR,SAOE,qBAAK,cAAY,gBAAgBjiC,UAAU,YAA3C,SACE,cAAC,IAAD,CACEyB,MAAM,mBACN6E,UAAQ,EACRF,IAAKi7B,EACL1/B,SAtEuB,SAACP,GAChC+/B,EAAmB//B,EAAEuI,OAAOtD,QAsEpBA,MAAO66B,EACP3gC,KAAK,OACLqG,UAAU,OACVvG,IAAK+gC,EACLvgC,UApGc,SAACO,GACT,UAAVA,EAAEC,MACyB,KAAzBggC,EACFD,EAAgB58B,QAASC,QAEzBw9B,YAoGF,oBAAIjiC,UAAU,wBAAwB,cAAY,aAAlD,6BAImB,KAAlBkQ,EAAMlI,SACL,qBAAK1H,GAAG,kBAAkB,cAAY,kBAAkBD,IAAKoU,EAAmBzU,UAAU,OAA1F,SACE,cAAC,IAAD,CAAgBO,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,YAI7C,sBAAKhI,UAAU,4CAAf,UACG0gC,EAAa96B,KAAI,SAACkX,GAAD,OAChB,sBAAsB9c,UAAU,oCAAhC,UACE,qBAAKA,UAAU,kBAAf,SACE,iCAAS8c,EAAQS,kBAEnB,qBAAKvd,UAAU,aAAf,SACE,cAAC,GAAD,CAAUk/B,UAAWpiB,EAAQwkB,iBAE/B,qBAAKthC,UAAU,wBAAf,SACE,cAAC,IAAD,CACE4I,WAAY,WAAakU,EAAQxc,GACjCmB,MAAO,wBAA0Bqb,EAAQS,cACzC1U,QAAS+4B,EACTl8B,KAAMoX,EACN/T,SAAU84B,QAbN/kB,EAAQxc,OAkBpB,qBAAKN,UAAU,GAAf,SACE,sBAAKA,UAAU,OAAf,UACE,cAAC,IAAD,CACEM,GAAG,kBACH,cAAY,kBACZT,KAAK,cACLc,QAtLmB,SAACS,GAC9BwP,EAAO,uBAsLGrQ,KAAK,UACLP,UAAU,SAEZ,cAAC,IAAD,CAAQM,GAAG,aAAa,cAAY,aAAaT,KAAK,SAASU,KAAK,SAASI,QA9L5D,SAACS,GAC1BwP,EAAO,gCCzEI,I,OAAA,IAA0B,sDCkH1BuxB,GAzGiB,WAC9B,IACQlxB,EADkBlK,qBAAWC,KAA7BC,cACAgK,YACAL,EAAW7J,qBAAWyD,KAAtBoG,OACR,EAAqC7J,qBAAWsD,KAAxC6F,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAAUtD,EAAzB,EAAyBA,QACzB,EAA0DhL,oBAAkB,GAA5E,mBAAOugC,EAAP,KAA8BC,EAA9B,KACAh1B,YAAc,2CAEdjJ,qBAAU,WACH6M,EAAYrJ,SAAS,oBACxBgJ,EAAO,mBAER,IAEH,IAAM6D,EAAoBtQ,iBAAuB,MAC3C2H,EAAYH,cAEZ22B,EAA2B,SAAClhC,GAChCihC,GAAyB,GACzBzxB,EAAO,kBAGH2xB,EAAyB,uCAAG,WAAOnhC,GAAP,eAAA2a,EAAA,sEACgBI,EAAgBrQ,GADhC,QAC1BsQ,EAD0B,QAGfC,SACfxP,EAAQuP,EAAanM,MACrBW,EAAO,aACPT,EAAS,CAAE5P,KAAM,UAAWyH,QAAS,mDAAoDoH,eAAe,KAExGe,EAAS,CAAE5P,KAAM,QAASyH,QAAS,6CAGrCq6B,GAAyB,GAXO,2CAAH,sDAc/B,OACE,sBAAKriC,UAAU,OAAO,cAAY,6BAAlC,UACE,oBAAIA,UAAU,wBAAwB,cAAY,aAAlD,8BAICoiC,GACC,qBAAK9hC,GAAG,sBAAsBD,IAAKoU,EAAmBzU,UAAU,OAAhE,SACE,cAAC,IAAD,CAAgBO,KAAM2P,EAAM3P,KAA5B,SAAmC2P,EAAMlI,YAI7C,sBAAKhI,UAAU,sCAAf,UACE,qBAAKA,UAAU,wCAAf,SACE,qBAAKC,IAAKuiC,GAAiBtiC,IAAI,mBAAmBF,UAAU,uBAE9D,mBAAGA,UAAU,sBAAb,sCACA,oBAAGA,UAAU,mBAAb,8DACmD,uBADnD,2DAGA,mBAAGA,UAAU,QAAb,SACE,mBACE2J,OAAO,SACPyJ,IAAI,aACJC,KAAK,gBACL,aAAW,4BACXrT,UAAU,WALZ,yCAWDoiC,EACC,qBAAKpiC,UAAU,mBAAf,SACE,cAAC,IAAD,CACEM,GAAG,4BACH,cAAY,4BACZT,KAAK,yBACLc,QAAS2hC,EACT/hC,KAAK,aAIT,qCACE,qBAAKP,UAAU,oBAAf,SACE,cAAC,IAAD,CACEM,GAAG,qBACH,cAAY,qBACZT,KAAK,iBACLc,QAAS4hC,EACThiC,KAAK,cAGT,qBAAKP,UAAU,oBAAf,SACE,cAAC,IAAD,CACEM,GAAG,4BACH,cAAY,4BACZT,KAAK,SACLc,QAAS2hC,EACT/hC,KAAK,uBCnGRkiC,GAAkB,WAC7Bp1B,YAAc,+CACd,IAAQuD,EAAW7J,qBAAWyD,KAAtBoG,OAER,OACE,qBAAK5Q,UAAU,yCAAf,SACE,sBAAKA,UAAU,QAAQ,cAAY,6BAAnC,UACE,oBAAIA,UAAU,8CAAd,uCAEA,uBACA,cAAC,IAAD,CAAgBO,KAAM,iBAAtB,SACG,yFAEH,uBAEA,cAAC,IAAD,CAAQD,GAAG,eAAeT,KAAK,OAAOU,KAAK,UAAUI,QAAS,kBAAMiQ,EAAO,qBClBtE8xB,GAAc,WACzB,OACE,qBAAK1iC,UAAU,gBAAgB,cAAY,yBAA3C,SACE,oBAAIA,UAAU,MAAd,0BCqCA2iC,GAAqBz+B,IAAM0+B,MAAK,kBAAM,uDACtCC,GAAqB3+B,IAAM0+B,MAAK,kBAAM,uDAEtCE,GAAyB,SAACC,EAAcxiC,GAAf,OAC7B,mCACE,cAAC,WAAD,CACEyiC,SACE,qBAAKhjC,UAAU,OAAf,SACE,qBAAKA,UAAU,sDAAf,SACE,cAAC,IAAD,QAJR,SASY,WAAT+iC,EAAoB,cAACJ,GAAD,CAAoBpiC,KAAMA,IAAW,cAACsiC,GAAD,SAK1DI,GAASC,YACbC,YACE,eAAC,IAAD,CAAOvuB,KAAK,IAAIwuB,QAAS,cAACxK,GAAD,IAAzB,UACE,cAAC,IAAD,CAAOhkB,KAAK,YAAYwuB,QAAS,cAAC,EAAD,MACjC,cAAC,IAAD,CAAOxuB,KAAK,UAAUwuB,QAAS,cAAC,GAAD,MAE/B,cAAC,IAAD,CAAOxuB,KAAK,iBAAiBwuB,QAAS,cAAC,GAAD,MACtC,cAAC,IAAD,CAAOxuB,KAAK,6BAA6BwuB,QAAS,cAAC,GAAD,CAAc7iC,KAAK,cACrE,cAAC,IAAD,CAAOqU,KAAK,8CAA8CwuB,QAAS,cAAC,GAAD,CAAc7iC,KAAK,uBACtF,cAAC,IAAD,CAAOqU,KAAK,0CAA0CwuB,QAAS,cAAC,GAAD,CAAc7iC,KAAK,oBAClF,cAAC,IAAD,CAAOqU,KAAK,2BAA2BwuB,QAAS,cAAC,GAAD,MAChD,cAAC,IAAD,CAAOxuB,KAAK,4CAA4CwuB,QAAS,cAAC,GAAD,CAAc7iC,KAAK,qBACpF,cAAC,IAAD,CAAOqU,KAAK,+BAA+BwuB,QAAS,cAAC,GAAD,CAAc7iC,KAAK,qBACvE,cAAC,IAAD,CAAOqU,KAAK,sBAAsBwuB,QAAS,cAAC,GAAD,MAC3C,cAAC,IAAD,CAAOxuB,KAAK,6BAA6BwuB,QAASN,GAAuB,SAAU,gBACnF,cAAC,IAAD,CAAOluB,KAAK,mCAAmCwuB,QAASN,GAAuB,SAAU,sBACzF,cAAC,IAAD,CAAOluB,KAAK,iCAAiCwuB,QAASN,GAAuB,SAAU,oBACvF,cAAC,IAAD,CAAOluB,KAAK,OAAOwuB,QAAS,cAAC,GAAD,CAAY7iC,KAAK,cAC7C,cAAC,IAAD,CAAOqU,KAAK,sBAAsBwuB,QAAS,cAAC,GAAD,CAAY7iC,KAAK,qBAC5D,cAAC,IAAD,CAAOqU,KAAK,qBAAqBwuB,QAAS,cAAC,GAAD,CAAY7iC,KAAK,oBAC3D,cAAC,IAAD,CAAOqU,KAAK,wBAAwBwuB,QAAS,cAAC,GAAD,CAAY7iC,KAAK,uBAC9D,cAAC,IAAD,CAAOqU,KAAK,wBAAwBwuB,QAAS,cAAC,GAAD,CAAwB7iC,KAAK,uBAC1E,cAAC,IAAD,CAAOqU,KAAK,8BAA8BwuB,QAAS,cAAC,EAAD,CAAW7iC,KAAK,uBACnE,cAAC,IAAD,CAAOqU,KAAK,cAAcwuB,QAAS,cAAC,EAAD,MACnC,cAAC,IAAD,CAAOxuB,KAAK,aAAawuB,QAAS,cAAC,GAAD,MAClC,cAAC,IAAD,CAAOxuB,KAAK,yBAAyBwuB,QAAS,cAAC,GAAD,MAC9C,cAAC,IAAD,CAAOxuB,KAAK,gCAAgCwuB,QAAS,cAAC,EAAD,MACrD,cAAC,IAAD,CAAOxuB,KAAK,cAAcwuB,QAAS,cAACC,EAAD,MACnC,cAAC,IAAD,CAAOzuB,KAAK,+BAA+BwuB,QAAS,cAAC,GAAD,MACpD,cAAC,IAAD,CAAOxuB,KAAK,qBAAqBwuB,QAAS,cAAC,GAAD,MAC1C,cAAC,IAAD,CACExuB,KAAK,0CACLwuB,QAAS,cAAC,GAAD,CAAsB7iC,KAAK,uBAEtC,cAAC,IAAD,CAAOqU,KAAK,4BAA4BwuB,QAAS,cAAC,GAAD,MACjD,cAAC,IAAD,CAAOxuB,KAAK,kBAAkBwuB,QAAS,cAAC,GAAD,MACvC,cAAC,IAAD,CAAOxuB,KAAK,eAAewuB,QAAS,cAAC,GAAD,MACpC,cAAC,IAAD,CAAOxuB,KAAK,6BAA6BwuB,QAAS,cAAC,GAAD,MAClD,cAAC,IAAD,CAAOxuB,KAAK,sBAAsBwuB,QAAS,cAAC,GAAD,MAC3C,cAAC,IAAD,CAAOxuB,KAAK,8BAA8BwuB,QAAS,cAAC,GAAD,MACnD,cAAC,IAAD,CAAOxuB,KAAK,+BAA+BwuB,QAASN,GAAuB,SAAU,UACrF,cAAC,IAAD,CAAOluB,KAAK,gCAAgCwuB,QAAS,cAAC,GAAD,MACrD,cAAC,IAAD,CAAOxuB,KAAK,0BAA0BwuB,QAAS,cAAC,EAAD,CAAW7iC,KAAK,WAC/D,cAAC,IAAD,CAAOqU,KAAK,oBAAoBwuB,QAAS,cAAC,GAAD,CAAY7iC,KAAK,WAC1D,cAAC,IAAD,CAAOqU,KAAK,oBAAoBwuB,QAAS,cAAC,GAAD,CAAwB7iC,KAAK,WACtE,cAAC,IAAD,CAAOqU,KAAK,sCAAsCwuB,QAAS,cAAC,GAAD,CAAsB7iC,KAAK,WACtF,cAAC,IAAD,CAAOqU,KAAK,qCAAqCwuB,QAAS,cAAC,GAAD,MAC1D,cAAC,IAAD,CAAOxuB,KAAK,2CAA2CwuB,QAAS,cAAC,GAAD,CAAY7iC,KAAK,qBACjF,cAAC,IAAD,CAAOqU,KAAK,gCAAgCwuB,QAAS,cAAC,GAAD,MACrD,cAAC,IAAD,CAAOxuB,KAAK,0BAA0BwuB,QAAS,cAAC,GAAD,MAC/C,cAAC,IAAD,CAAOxuB,KAAK,oBAAoBwuB,QAAS,cAAC,GAAD,MACzC,cAAC,IAAD,CAAOxuB,KAAK,iBAAiBwuB,QAAS,cAAC,GAAD,MAEtC,eAAC,IAAD,CAAOxuB,KAAK,WAAZ,UACE,cAAC,IAAD,CAAOsS,OAAK,EAACkc,QAAS,cAAC,GAAD,MACtB,cAAC,IAAD,CAAOxuB,KAAK,WAAWwuB,QAAS,cAAC,GAAD,MAChC,cAAC,IAAD,CAAOxuB,KAAK,MAAMwuB,QAAS,cAAC,GAAD,SAG7B,cAAC,IAAD,CAAOxuB,KAAK,qBAAqBwuB,QAAS,cAAC,GAAD,MAC1C,cAAC,IAAD,CAAOxuB,KAAK,oBAAoBwuB,QAAS,cAAC,GAAD,MACzC,cAAC,IAAD,CAAOxuB,KAAK,IAAIwuB,QAAS,cAAC,GAAD,WAKlBE,GAAU,WACrB,OAAO,cAAC,IAAD,CAAgBL,OAAQA,MC7HpBM,GACD,WADCA,GAGA,YAHAA,GAIE,cAJFA,GAKa,yBALbA,GAQA,YARAA,GASgB,4BAGtB,SAASC,GAAiBC,EAAYC,GAC3C,OAAQA,EAAOnjC,MACb,KAAKgjC,GACH,OAAO,2BAAKE,GAAZ,IAAmBxzB,KAAMyzB,EAAOr9B,QAClC,KAAKk9B,GACH,OAAO,2BAAKE,GAAZ,IAAmBvzB,MAAOwzB,EAAOr9B,QACnC,KAAKk9B,GAEH,OAAIE,EAAMvzB,MAAMd,cACPq0B,EAEA,2BAAKA,GAAZ,IAAmBvzB,MAAOf,MAE9B,KAAKo0B,GACH,OAAO,2BAAKE,GAAZ,IAAmBvzB,MAAOf,MAC5B,KAAKo0B,GACH,OAAO,2BAAKE,GAAZ,IAAmBr4B,MAAOs4B,EAAOr9B,QACnC,KAAKk9B,GACH,OAAO,2BAAKE,GAAZ,IAAmBlzB,oBAAqBmzB,EAAOr9B,QACjD,QACE,MAAO,CAAEo9B,UAIE,2BACZhzB,IAAiBR,MADL,IAEfT,MAAO,mBAFT,ICvCam0B,GACF,UADEA,GAEK,iBAFLA,GAIK,iBAGX,SAASC,GAAYH,EAAYC,GACtC,OAAQA,EAAOnjC,MACb,KAAKojC,GACH,OAAO,2BAAKF,GAAZ,IAAmB9yB,IAAK+yB,EAAOr9B,QACjC,KAAKs9B,GACH,OAAO,2BAAKF,GAAZ,IAAmB5yB,UAAW6yB,EAAOr9B,QACvC,KAAKs9B,GACH,OAAO,2BAAKF,GAAZ,IAAmB1yB,UAAW2yB,EAAOr9B,QACvC,QACE,MAAO,CAAEo9B,UChBR,IAAMI,GACQ,oBAGd,SAASC,GAAqBL,EAAYC,GAC/C,OAAQA,EAAOnjC,OACRsjC,GACI,2BAAKJ,GAAZ,IAAmBx8B,cAAey8B,EAAOr9B,QAElC,eAAKo9B,G,aCCX,SAASM,GAAT,GAA+C,IAAlB/iC,EAAiB,EAAjBA,SAClC,EAA0BgjC,qBAAWR,GAAkBj5B,KAAvD,mBAAOk5B,EAAP,KAAcQ,EAAd,KAEMC,EAAiB,CACrBj0B,KAAMwzB,EAAMxzB,KACZpD,QAAS,SAACxG,GAAD,OAAsB49B,EAAS,CAAE1jC,KAAMgjC,GAAkBl9B,WAClE6J,MAAOuzB,EAAMvzB,MACbC,SAAU,SAAC9J,GAAD,OAAuB49B,EAAS,CAAE1jC,KAAMgjC,GAAmBl9B,WACrE+J,WAAY,kBAAM6zB,EAAS,CAAE1jC,KAAMgjC,MACnClzB,qBAAsB,kBAAM4zB,EAAS,CAAE1jC,KAAMgjC,MAC7Cn4B,MAAOq4B,EAAMr4B,MACbkF,SAAU,SAACjK,GAAD,OAAmB49B,EAAS,CAAE1jC,KAAMgjC,GAAmBl9B,WACjEkK,oBAAqBkzB,EAAMlzB,oBAC3BC,uBAAwB,SAACnK,GAAD,OAAoB49B,EAAS,CAAE1jC,KAAMgjC,GAAmCl9B,YAGlG,OAAO,cAAC,IAAiB89B,SAAlB,CAA2B99B,MAAO69B,EAAlC,SAAmDljC,IAGrD,SAASojC,GAAT,GAA0C,IAAlBpjC,EAAiB,EAAjBA,SAC7B,EAAkCgjC,qBAAWJ,GAAan5B,KAA1D,mBAAO45B,EAAP,KAAkBC,EAAlB,KAEMC,EAAY,CAChB5zB,IAAK0zB,EAAU1zB,IACfC,OAAQ,SAACvK,GAAD,OAAmBi+B,EAAa,CAAE/jC,KAAMojC,GAAqBt9B,WACrEwK,UAAWwzB,EAAUxzB,UACrBC,aAAc,SAACzK,GAAD,OAAmBi+B,EAAa,CAAE/jC,KAAMojC,GAA4Bt9B,WAClF0K,UAAWszB,EAAUtzB,UACrBC,aAAc,SAAC3K,GAAD,OAAgBi+B,EAAa,CAAE/jC,KAAMojC,GAA4Bt9B,YAGjF,OAAO,cAAC,IAAY89B,SAAb,CAAsB99B,MAAOk+B,EAA7B,SAAyCvjC,IAG3C,SAASwjC,GAAT,GAAmD,IAAlBxjC,EAAiB,EAAjBA,SACtC,EAA0BgjC,qBAAWF,GAAsBp5B,MAA3D,mBAAO+4B,EAAP,KAAcQ,EAAd,KAEMQ,EAAqB,CACzBx9B,cAAew8B,EAAMx8B,cACrB8F,iBAAkB,SAAC1G,GAAD,OAA+B49B,EAAS,CAAE1jC,KAAMsjC,GAAwCx9B,YAG5G,OAAO,cAAC,IAAqB89B,SAAtB,CAA+B99B,MAAOo+B,EAAtC,SAA2DzjC,IAerD0jC,OAZf,WACE,OACE,cAACF,GAAD,UACE,cAACT,GAAD,UACE,cAACK,GAAD,UACE,cAAC,GAAD,WC9CKO,GAZS,SAACC,GACnBA,GAAeA,aAAuBC,UACxC,8BAAqB5vB,MAAK,YAAkD,IAA/C6vB,EAA8C,EAA9CA,OAAQC,EAAsC,EAAtCA,OAAQC,EAA8B,EAA9BA,OAAQC,EAAsB,EAAtBA,OAAQC,EAAc,EAAdA,QAC3DJ,EAAOF,GACPG,EAAOH,GACPI,EAAOJ,GACPK,EAAOL,GACPM,EAAQN,OCHdO,IAASC,OACP,cAAC,IAAMC,WAAP,UACE,cAAC,GAAD,MAEFhhC,SAASqU,eAAe,SAM1BisB,O","file":"static/js/main.353c6bd3.chunk.js","sourcesContent":["import React, { forwardRef, KeyboardEventHandler, MouseEventHandler } from 'react';\nimport './button.css';\n\n/**\n * Must use onMouseDown on the submit button because of the onBlur field\n * validations. onClick causes user to have to click button twice\n */\n\ninterface ButtonProps {\n id: string;\n text?: string | '';\n type?: string;\n children?: any;\n className?: string | '';\n disabled?: boolean | false;\n ariaDisabled?: boolean | false;\n ariaLabel?: string;\n onClick?: MouseEventHandler;\n onMouseDown?: MouseEventHandler;\n onKeyDown?: KeyboardEventHandler;\n onEnter?: Function;\n activationValidator?: Function;\n image?: any;\n imageAlt?: string;\n}\n\nconst ButtonContent = (props: { text: string; image: any; imageAlt?: string }) => {\n const { text, image, imageAlt } = props;\n\n return image ? (\n <>\n
{text}
\n {imageAlt}\n \n ) : (\n
{text}
\n );\n};\n\nconst doNothing = () => {};\n\nconst Button = (props: ButtonProps, ref: any) => {\n const {\n id,\n text,\n type = 'primary',\n className,\n disabled = false,\n ariaDisabled = false,\n ariaLabel,\n onClick,\n onMouseDown,\n onKeyDown,\n onEnter,\n activationValidator,\n image,\n imageAlt,\n children,\n } = props;\n\n const activateOnClick = () => {\n let activationValidated = true;\n if (activationValidator) {\n activationValidated = activationValidator();\n }\n\n return activationValidated && !disabled ? onClick : doNothing;\n };\n const activateOnMouseDown = () => {\n let activationValidated = true;\n if (activationValidator) {\n activationValidated = activationValidator();\n }\n\n return activationValidated && !disabled ? onMouseDown : doNothing;\n };\n const activateOnKeyDown = (e: React.KeyboardEvent) => {\n if (onEnter && e.key === 'Enter') {\n let activationValidated = true;\n if (activationValidator) {\n activationValidated = activationValidator();\n }\n\n if (activationValidated) {\n e.preventDefault();\n onEnter();\n }\n }\n\n return onKeyDown ? onKeyDown(e) : null;\n };\n\n return (\n \n {text ? : children}\n \n );\n};\n\nexport default forwardRef(Button);\n","import React, { ChangeEventHandler, forwardRef, useState } from 'react';\nimport './checkbox.css';\ninterface CheckboxProps {\n label: string | '';\n id?: string;\n checked?: boolean;\n className?: string | '';\n ariaLabel?: string;\n size?: string;\n onChange: ChangeEventHandler;\n}\n\nconst Checkbox = (props: CheckboxProps, ref: any) => {\n const { label, checked = false, className = '', onChange, id = 'checkbox', ariaLabel = '', size = '20px' } = props;\n const [isChecked, setIsChecked] = useState(checked);\n const [isFocused, setIsFocused] = useState(false);\n const [isHovering, setIsHovering] = useState(false);\n\n const handleClick = (e: any) => {\n const toggle = !isChecked;\n setIsChecked(toggle);\n onChange(e);\n };\n\n return (\n
\n {/* This input is used for all functions of the checkbox */}\n {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n onMouseEnter={() => {\n setIsHovering(true);\n }}\n onMouseLeave={() => {\n setIsHovering(false);\n }}\n aria-label={ariaLabel !== '' ? ariaLabel : label}\n />\n {/* This checkbox is the corresponding visual representation */}\n \n {isChecked && (\n
\n
\n
\n
\n )}\n
\n \n \n );\n};\n\nexport default forwardRef(Checkbox);\n","import React, { FunctionComponent } from 'react';\nimport FocusTrap from 'focus-trap-react';\nimport Button from '../Button/Button';\n\ntype ModalProps = {\n title?: string;\n onCancel?: () => void;\n onOk?: () => void;\n visible?: boolean;\n info?: boolean;\n okButtonText?: string;\n cancelButtonText?: string;\n loadingModal?: boolean;\n hideCloseButton?: boolean;\n hideCancelButton?: boolean;\n hideOkButton?: boolean;\n zIndex?: string;\n stylingOptions?: string;\n stylingOkButton?: string;\n justifyContents?: string;\n};\n\nconst xButtonSvg = (\n \n \n \n);\nexport const Modal: FunctionComponent = ({\n title = '',\n visible = false,\n onCancel,\n onOk,\n info = false,\n children,\n loadingModal = false,\n okButtonText = 'OK',\n cancelButtonText = 'Cancel',\n hideCloseButton = false,\n hideCancelButton = false,\n hideOkButton = false,\n zIndex = 'z-20',\n stylingOptions = '',\n stylingOkButton = '',\n justifyContents = 'justify-start',\n}) => {\n const normalOverflow = '';\n const outerElementRef = React.useRef(null);\n\n React.useEffect(() => {\n if (visible) {\n document.body.style.overflow = 'hidden';\n outerElementRef.current!.focus();\n } else {\n document.body.style.overflow = normalOverflow;\n }\n }, [visible, normalOverflow]);\n\n if (!visible) return null;\n\n const isInfoModal = info === true;\n const divStyle = `fixed p-4 inset-0 bg-gray-600 bg-opacity-50 backdrop-blur flex justify-center items-center ${zIndex} overflow-auto`;\n return !isInfoModal ? ( // modal with title\n \n
\n
\n {title !== '' && (\n
\n

{title}

\n
\n )}\n
\n {children}\n
\n
\n {!hideOkButton && (\n \n )}\n {!hideCancelButton && (\n \n )}\n
\n
\n
\n
\n ) : !loadingModal ? ( // info modal\n \n \n
\n {title !== '' && (\n
\n

{title}

\n
\n )}\n
\n {children}\n
\n
\n \n
\n
\n \n
\n ) : (\n // spinner loading modal\n \n
\n
\n {children}\n
\n
\n \n );\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport {\n SectionalAlertErrorIcon,\n SectionalAlertInfoIcon,\n SectionalAlertSuccessIcon,\n SectionalAlertWarningIcon,\n} from '../../../assets/icons';\nimport './sectional_alert.css';\ninterface saProps {\n type: string;\n children: any;\n}\n\nconst AddPrefix = (props: { type: string }) => {\n const { type } = props;\n if (type === 'info-important') {\n return Important: ;\n }\n return null;\n};\n\nexport const SectionalAlert = (props: saProps) => {\n const MINIMUM_HEIGHT = 52;\n const NONWRAPPED_PADDING_HEIGHT = 4;\n const { type, children } = props;\n const alertRef = useRef(null);\n\n const [isTextWrap, setisTextWrap] = useState(false);\n const icons = new Map();\n icons.set(\n 'error',\n \n \n \n );\n icons.set(\n 'info',\n \n \n \n );\n icons.set(\n 'info-important',\n \n \n \n );\n icons.set(\n 'success',\n \n \n \n );\n icons.set(\n 'warning',\n \n \n \n );\n\n useEffect(() => {\n const t = alertRef.current!;\n if (t.scrollHeight >= MINIMUM_HEIGHT - NONWRAPPED_PADDING_HEIGHT) {\n setisTextWrap(true);\n } else {\n setisTextWrap(false);\n }\n }, []);\n\n return (\n \n {icons.get(type)}\n
\n {children}\n
\n \n );\n};\n","import React from 'react';\n\nimport { TableHeader, TableData } from './TableInterfaces';\ninterface TableProps {\n title: string;\n headers: Array;\n data: Array;\n striped?: boolean;\n}\n\n/*\n * headers: an array of TableHeader objects for each column in the table\n * title: String to display in header column\n * key: string used to match the column header with the column data values to display\n * data: an array of objects to display as rows in the table\n * Each object must have keys corresponding to the key values defined in the headers\n *\n */\nexport const Table = (props: TableProps) => {\n const { title, headers, data, striped } = props;\n\n return (\n \n \n \n {headers.map((h, idx) => (\n \n {h.title}\n \n ))}\n \n \n \n {data.map((row, rowIdx) => (\n \n {headers.map((h, colIdx) => (\n \n {row[`${h.key}`]}\n \n ))}\n \n ))}\n \n
\n );\n};\n\nexport default Table;\n","import React, { ChangeEventHandler, forwardRef, useContext } from 'react';\nimport './validated_input.css';\nimport { InputMask, Modify } from '@react-input/mask';\nimport { configurationContext } from '../../../contexts/contexts';\ninterface ValidatedInputProps {\n label: string | null;\n msg: string | null;\n onChange: ChangeEventHandler;\n value: string;\n type: string;\n required?: boolean;\n onKeyDown?: any;\n hideLabel?: boolean;\n disabled?: boolean;\n readOnly?: boolean;\n additionalStyling?: string;\n arialabel?: string;\n inputMode?: 'email' | 'numeric' | 'text';\n mobile?: boolean;\n id?: string;\n}\n// For unit testing purposes, a data-testid value is created from the label property.\n// The label is changed to lower case and spaces are replaced with a dash, then this string is prepended with 'test-'\n// Example: label=\"Email Address\", data-testid=\"test-email-address\"\nconst ValidatedInput = (props: ValidatedInputProps, ref: any) => {\n const {\n label,\n msg,\n onChange,\n value,\n type,\n required = false,\n onKeyDown = () => {},\n hideLabel = false,\n disabled = false,\n readOnly = false,\n additionalStyling = '',\n arialabel = undefined,\n inputMode = 'text',\n mobile = false,\n } = props;\n\n const { configuration } = useContext(configurationContext);\n const { mobileView } = configuration;\n\n const id = label?.replaceAll(' ', '-').toLowerCase();\n const ariaLabel =\n arialabel || `${label} ${required ? 'required' : ''} ${msg} ${type === 'text' ? value : '*'.repeat(value.length)}`;\n\n const modify: Modify = (input) => {\n if (['0', '1', '_'].includes(input[0])) {\n return { mask: '(___) ___-____', replacement: { _: /[2-9]/ } };\n }\n return { mask: '(___) ___-____', replacement: { _: /\\d/ } };\n };\n\n return (\n \n {!hideLabel && (\n \n )}\n {msg !== '' && (\n
\n {msg}\n
\n )}\n {mobile ? (\n
\n \n
\n ) : (\n
\n \n
\n )}\n \n );\n};\nexport default forwardRef(ValidatedInput);\n","import React from 'react';\nimport './SpinnerCircle.css';\n\nexport const SpinnerCircle = (props: { message?: string; size?: string; color?: string }) => {\n const { message = 'Loading. Please wait...', size = '50', color = 'text-dhs-blue' } = props;\n return (\n
\n \n \n \n \n {message.length > 0 &&

{message}

}\n
\n );\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport FocusTrap from 'focus-trap-react';\nimport { MeatballIcon } from '../../../assets/icons';\n\nexport interface MenuDropdownOptions {\n name: string;\n icon: Function;\n}\ninterface MenuDropdownProps {\n label: string;\n dataTestId: string;\n initialValue?: string;\n options: Array;\n data: any;\n onSelect: Function;\n}\n\nexport const MenuDropdown = (props: MenuDropdownProps) => {\n const { label, dataTestId, options, data, initialValue = '...', onSelect } = props;\n const [isOpen, setIsOpen] = useState(false);\n const [selected, setSelected] = useState(initialValue);\n const [focusIndex, setFocusIndex] = useState(0);\n\n const focusSelected = useRef(null);\n const focusItem = useRef>([]);\n\n const toggleMenuDropdown = () => {\n setIsOpen(!isOpen);\n };\n\n const selectItem = (val: string | number | null) => {\n setSelected(val);\n onSelect(val, data);\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (focusItem.current.length === 1) {\n focusItem.current[0]?.focus();\n setFocusIndex(0);\n }\n }, [focusItem]);\n\n const keyDownHandler = (e: any) => {\n e.preventDefault();\n if (e.key === 'Escape') {\n setIsOpen(false);\n }\n if (e.key === 'Enter' && !isOpen) {\n setIsOpen(true);\n } else if (e.key === 'Enter' && isOpen) {\n selectItem(e.target.name);\n }\n if (e.key === 'Tab') {\n const nextItem = focusIndex < options.length - 1 ? focusIndex + 1 : 0;\n setFocusIndex(nextItem);\n focusItem.current[nextItem]?.focus();\n }\n if (e.key === 'Tab' && e.shiftKey) {\n const nextItem = focusIndex === 0 ? options.length - 1 : focusIndex - 1;\n setFocusIndex(nextItem);\n focusItem.current[nextItem]?.focus();\n }\n };\n\n return (\n
\n \n
\n \n
\n \n {isOpen && (\n {\n setIsOpen(false);\n },\n }}\n >\n
\n \n {options.map((option, idx) => (\n (focusItem.current[idx] = el)}\n data-testid={'menu-dropdown-button'}\n className=\"w-full cursor-pointer flex align-left p-2 hover:underline\"\n onClick={() => selectItem(option.name)}\n onKeyDown={keyDownHandler}\n >\n {option.icon()}\n {option.name}\n \n ))}\n
\n
\n \n )}\n \n );\n};\n","import { createContext } from 'react';\nimport { initialState } from '../reducer/myAccountInitialState';\nimport { initialPathState } from '../reducer/pathInitialState';\nimport { initialConfigurationState } from '../reducer/configurationInitialState';\n\nexport const myAccountContext = createContext(initialState);\nexport const pathContext = createContext(initialPathState);\nexport const configurationContext = createContext(initialConfigurationState);\n","import axios from 'axios';\nimport { useContext } from 'react';\nimport { configurationContext, myAccountContext } from '../contexts/contexts';\nimport { defaultUser } from '../reducer/myAccountInitialState';\n\nconst X_CSRF_TOKEN_KEY = 'xcsrf';\n\n// Till the app loads, we don't want to check for a user, since we clear configuration as a result of no user found, but we need configuration while the app loads.\n// Also, we will anyways check the user during app load, so it wouldn't even be necessary to check the user here.\nlet checkForSignedInUser = false;\n\nlet idleTimer = {\n resetTimer: () => {},\n};\n\nexport const setIdleTimer = (timer: any) => {\n idleTimer = timer;\n};\n\nexport const setCheckForSignedInUser = (bool: boolean) => {\n checkForSignedInUser = bool;\n};\n\nexport function isTokenPresent(token: any) {\n return token !== null && typeof token === 'string' && token.trim().length !== 0;\n}\n\nexport function addTokenHeader() {\n return (config: any) => {\n const token = localStorage.getItem(X_CSRF_TOKEN_KEY);\n if (isTokenPresent(token)) {\n config.headers['X-CSRF-Token'] = token;\n }\n return config;\n };\n}\n\nexport function grabTokenFromResponse(response: any) {\n const token = response.data.xcsrf;\n if (isTokenPresent(token)) {\n localStorage.setItem(X_CSRF_TOKEN_KEY, token);\n }\n}\n\nexport const fulfilled = (response: any) => {\n grabTokenFromResponse(response);\n\n // After a completed call, reset idle timer\n idleTimer.resetTimer();\n\n return response;\n};\n\n// This needs to be outside the component for testing, but can't have access to context, therefore we pass it in.\nexport const rejected = (error: any, myAccountContext: any, configurationContext: any) => {\n if (error.response.data?.error?.includes('No user found.') && checkForSignedInUser) {\n myAccountContext.setUser(defaultUser);\n configurationContext.setConfiguration({\n ...configurationContext.configuration,\n lg_linked: 0,\n loginDotGovEmail: '',\n loginDotGovUuid: '',\n lg_account_status: '',\n });\n }\n\n // After a completed call, reset idle timer\n idleTimer.resetTimer();\n\n grabTokenFromResponse(error.response);\n return Promise.reject(error);\n};\n\nexport const useApiClient = () => {\n const accountContext = useContext(myAccountContext);\n const configContext = useContext(configurationContext);\n\n const apiClient = axios.create({\n baseURL: `${window.location.origin}/v1`,\n headers: { 'Content-Type': 'application/json' },\n });\n\n apiClient.interceptors.request.use(addTokenHeader(), (error) => {\n return Promise.reject(error);\n });\n\n const rejectedFunction = (error: any) => {\n return rejected(error, accountContext, configContext);\n };\n\n apiClient.interceptors.response.use(fulfilled, rejectedFunction);\n\n return apiClient;\n};\n","import { useEffect } from 'react';\n\nconst PageTitleHook = (pageTitle: string) => {\n useEffect(\n () => {\n document.title = pageTitle;\n },\n //eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n return;\n};\n\nexport default PageTitleHook;\n","import React from 'react'\n\nexport const DropdownCollapseIcon = (props: {\n color?: string\n height?: string\n}) => {\n const { color, height = '24' } = props\n return (\n \n \n \n )\n}\n","import React from 'react'\n\nexport const CollapseIcon = (props: { color?: string; height?: string }) => {\n const { color, height = '24' } = props\n\n return (\n \n \n \n \n \n )\n}\n","import React from 'react'\n\nexport const ExpandIcon = (props: { color?: string; height?: string }) => {\n const { color, height = '24' } = props\n\n return (\n \n \n \n )\n}\n","import React from 'react'\n\nexport const DropdownExpandIcon = (props: {\n color?: string\n height?: string\n}) => {\n const { color, height = '24' } = props\n\n return (\n \n drop down expand\n \n \n )\n}\n","import React from 'react'\n\nexport const EyeIcon = (props: { color?: string, height?: string }) => {\n const { color, height = '24' } = props;\n\n return (\n \n \n \n )\n}\n","import React from 'react'\n\nexport const FloatingButtonIcon = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}","import React from 'react'\nexport const NewPageIcon = () => {\n return (\n \n open in new tab\n \n \n\n\n )\n}\n","import React from 'react'\n\nexport const PencilIcon = (props: { color?: string, height?: string }) => {\n const { color, height='24' } = props;\n\n return (\n \n \n \n )\n}\n","import React from 'react'\nexport const SectionalAlertErrorIcon = () => {\n return (\n \n Error Icon\n \n \n\n )\n}","import React from 'react'\nexport const SectionalAlertInfoIcon = () => {\n return (\n \n Info Icon\n \n \n\n )\n}\n","import React from 'react'\nexport const SectionalAlertSuccessIcon = () => {\n return (\n \n Success Icon\n \n \n )\n}","import React from 'react'\nexport const SectionalAlertWarningIcon = () => {\n return (\n \n Warning Icon\n \n \n\n )\n}","export const MeatballIcon = () => {\n return (\n \n \n \n \n \n );\n};\n","import { PasskeyListItem } from '../utils/apiWrappers/PasskeysApiWrapper/PasskeyInterfaces';\n\nexport interface UserProps {\n lock_expires_at?: string;\n seconds_remaining?: number;\n cis_uuid: string;\n two_factor_method: Array;\n authentication_state: string;\n reset_state?: string;\n ial_state?: string;\n email: string;\n mobile: string | null;\n recovery_email?: string | null;\n unconfirmed_mobile?: string;\n unconfirmed_two_factor_method?: string;\n backup_code?: string;\n account_type: string | null;\n second_factor_strategy: string | null;\n questions?: Array | null;\n before_dashboard?: string | null;\n msg?: string;\n lg_email?: string;\n lg_uuid?: string;\n linked_lg_email?: string;\n lg_account_linked?: string;\n account_deletion_state?: string;\n login_dot_gov_linked_email?: string | undefined | null;\n force_redirection?: string | null;\n passkeys: Array;\n}\n\nexport interface AlertProps {\n type: string;\n message: string | object;\n shouldPersist?: boolean;\n}\n\nexport const defaultAlert = {\n type: '',\n message: '',\n shouldPersist: false,\n};\nexport interface QuestionProps {\n id: number;\n question: string;\n}\n\nexport const testAlert = {\n type: 'success',\n message: 'This is a success',\n};\n\nexport const testAlertError = {\n type: 'error',\n message: 'This is a failure',\n};\n\nexport const testUser = {\n cis_uuid: 'abcde',\n two_factor_method: ['App'],\n authentication_state: 'awaiting_two_factor',\n email: 'test_email_com',\n mobile: '+1 (222) 333-4444',\n unconfirmed_mobile: '+1 (222) 333-4444',\n unconfirmed_two_factor_method: 'Mobile',\n account_type: null,\n second_factor_strategy: null,\n questions: [],\n before_dashboard: '',\n passkeys: [],\n};\n\nexport const testUser_Mobile = {\n cis_uuid: 'abcde',\n two_factor_method: ['Mobile'],\n authentication_state: 'fully_signed_in',\n email: 'test_email_com',\n mobile: '+1 (222) 333-4444',\n account_type: null,\n second_factor_strategy: null,\n questions: [],\n before_dashboard: '',\n};\n\nexport const defaultUser = {\n cis_uuid: '',\n two_factor_method: [''],\n authentication_state: '',\n email: '',\n mobile: '',\n unconfirmed_mobile: '',\n unconfirmed_two_factor_method: 's',\n account_type: null,\n second_factor_strategy: null,\n questions: [],\n before_dashboard: '',\n force_redirection: '',\n msg: '',\n passkeys: [],\n};\n\nexport interface StateProps {\n user: UserProps;\n setUser: Function;\n alert: AlertProps;\n setAlert: Function;\n clearAlert: Function;\n clearPersistentAlert: Function;\n token: string;\n setToken: Function;\n showAnniversaryLogo: boolean;\n setShowAnniversaryLogo: Function;\n}\n\nexport const initialState: StateProps = {\n user: defaultUser,\n setUser: () => {},\n alert: defaultAlert,\n setAlert: () => {},\n clearAlert: () => {},\n clearPersistentAlert: () => {},\n token: '',\n setToken: () => {},\n showAnniversaryLogo: false,\n setShowAnniversaryLogo: () => {},\n};\n\nexport const testInitialState: StateProps = {\n user: testUser,\n setUser: () => {},\n alert: testAlert,\n setAlert: () => {},\n clearAlert: () => {},\n clearPersistentAlert: () => {},\n token: '',\n setToken: () => {},\n showAnniversaryLogo: false,\n setShowAnniversaryLogo: () => {},\n};\n","/**\n* url: the route to navigate to\n* setUrl: sets the new route, which kicks off the Redirection.tsx code to navigate to the route\n* userState: 'edit' when uses is fully signed in and is editing their account\n* '' when user is logging in or creating an account\n* setUserState: updates value of userState\n\n* headerRef ref to move focus back to top of page\n* setHeaderRef\n*/\nexport interface PathProps {\n url: string;\n setUrl: Function;\n userState: string;\n setUserState: Function;\n headerRef: any;\n setHeaderRef: Function;\n}\n\nexport const defaultPath = {\n url: '',\n setUrl: () => {},\n userState: '',\n setUserState: () => {},\n headerRef: null,\n setHeaderRef: () => {},\n};\n\nexport const testCreatePath = {\n url: '/create-account',\n setUrl: () => {},\n userState: '',\n setUserState: () => {},\n headerRef: null,\n setHeaderRef: () => {},\n};\n\nexport const testEditPath = {\n url: '/edit-account',\n setUrl: () => {},\n userState: 'edit',\n setUserState: () => {},\n headerRef: null,\n setHeaderRef: () => {},\n};\n\nexport const initialPathState: PathProps = {\n ...defaultPath,\n};\n\nexport const testPathInitialState: PathProps = {\n ...defaultPath,\n};\n","export interface ConfigurationProps {\n appSettings: Array;\n mobileView: boolean;\n loginDotGovEmail: string;\n loginDotGovUuid: string;\n lg_linked: number;\n lg_account_status: string;\n accountTypeNeeded: boolean;\n}\n\nexport interface ConfigurationStateProps {\n configuration: ConfigurationProps;\n setConfiguration: Function;\n}\n\nexport const defaultConfiguration = {\n configuration: {\n appSettings: [],\n mobileView: false,\n loginDotGovEmail: '',\n loginDotGovUuid: '',\n lg_linked: 0,\n lg_account_status: '',\n accountTypeNeeded: false,\n },\n setConfiguration: () => {},\n};\n\nexport const testConfigurationData = {\n configuration: {\n appSettings: ['LoginGovModEnabled'],\n mobileView: false,\n loginDotGovEmail: 'test_email_com',\n loginDotGovUuid: '1111-2222-3333',\n lg_linked: 0,\n lg_account_status: '',\n accountTypeNeeded: false,\n },\n setConfiguration: () => {},\n};\n\nexport const initialConfigurationState: ConfigurationStateProps = {\n ...defaultConfiguration,\n};\n\nexport const testConfigurationInitialState: ConfigurationStateProps = {\n ...testConfigurationData,\n};\n","import React from 'react'\n\nexport const XClose = () => {\n return (\n \n Close Icon\n \n \n )\n}\n","import React, { useState } from 'react'\nimport { SectionalAlertInfoIcon } from '../../../assets/icons'\nimport { XClose } from '../../../assets/icons/xClose'\nimport './MoreInfoContainer.css'\n\ntype MoreInfoContainerProps = {\n className?: string,\n maxHeight: string,\n dataTestid: string,\n title: string,\n containerOpened: boolean\n setContainerOpened: (bool: boolean) => void,\n children: any\n}\n\nexport const MoreInfoContainer = (props: MoreInfoContainerProps) => {\n const { className, maxHeight, dataTestid, title, containerOpened, setContainerOpened, children } = props\n\n const handleClose = () => {\n setContainerOpened(false)\n }\n\n const onKeyPress = (keyEvent: any) => {\n if (keyEvent.key === 'Enter') {\n setContainerOpened(false)\n }\n }\n\n return \n
\n
\n \n
\n
\n
\n
\n {title}\n
\n\n {children}\n
\n
\n \n \n \n
\n \n}\n\ntype MoreInfoTriggerProps = {\n className?: string,\n dataTestid: string,\n ariaLabel: string,\n containerOpened: boolean\n setContainerOpened: (bool: boolean) => void,\n}\n\nexport const MoreInfoTrigger = (props: MoreInfoTriggerProps) => {\n const { className, dataTestid, ariaLabel, containerOpened, setContainerOpened } = props\n\n const [hoverTimerId, setHoverTimerId] = useState(0)\n\n\n const handleHoverStart = () => {\n const timerId = window.setTimeout(() => {\n setContainerOpened(true)\n }, 500)\n setHoverTimerId(timerId)\n }\n\n const handleHoverEnd = () => {\n window.clearTimeout(hoverTimerId)\n }\n\n const onKeyPress = (keyEvent: any) => {\n if (keyEvent.key === 'Enter') {\n setContainerOpened(true)\n }\n }\n\n const onClick = () => {\n window.clearInterval(hoverTimerId)\n setContainerOpened(true)\n }\n\n return \n \n \n}\n","export const EMAIL_NO_ACCENTS_ERROR_MESSAGE =\n 'Please enter a valid email address. Please do not include accented letters or letters outside of the Latin alphabet.';\nexport const EMAIL_ERROR_MESSAGE = 'Please enter a valid email address';\n\nexport function validateEmailFormat(input: String, allowAccents: boolean = false) {\n if (input === '' && allowAccents) return EMAIL_ERROR_MESSAGE;\n if (input === '' && !allowAccents) return EMAIL_NO_ACCENTS_ERROR_MESSAGE;\n var validEmailRegex_no_accented_characters = /^[0-9A-Za-z.+\\u2018\\u2019\\u0027_-]+@([0-9A-Za-z._-])+\\.[A-Za-z]*$/;\n var validEmailRegex_allow_accented_characters =\n /^[0-9A-Za-z\\u00C0-\\u1FFF\\u2018-\\u2019\\u2800-\\uFFFD.+\\'_-]+@([0-9A-Za-z\\u00C0-\\u1FFF\\u2800-\\uFFFD._-])+\\.[A-Za-z\\u00C0-\\u1FFF\\u2800-\\uFFFD]*$/;\n let validateEmailMessage = '';\n if (allowAccents) {\n validateEmailMessage = !!input.match(validEmailRegex_allow_accented_characters) ? '' : EMAIL_ERROR_MESSAGE;\n } else {\n validateEmailMessage = !!input.match(validEmailRegex_no_accented_characters) ? '' : EMAIL_NO_ACCENTS_ERROR_MESSAGE;\n }\n return validateEmailMessage;\n}\n\nexport function formatPhoneNumber(value: any) {\n if (!value) return '';\n return value.replace('+1 ', '');\n}\n\nexport function validateMobileFormat(value: any) {\n if (value === '' || value === undefined) {\n return 'Mobile number cannot be blank';\n } else if (value[0] === '0' || value[0] === '1' || value.length !== 10) {\n return 'Mobile number is invalid. Please make sure you enter a 10-digit phone number.';\n }\n return '';\n}\n\nexport const timestampToDateTime = (timeIn: string | '') => {\n let formatTimeIn = new Date(timeIn);\n if (timeIn === '' || timeIn === null) return '';\n const dateStr = `${formatTimeIn.toLocaleString('default', {\n dateStyle: 'long',\n })} ${formatTimeIn.toLocaleString('default', { timeStyle: 'long' })}`;\n\n return dateStr;\n};\n\nexport const exceededMaximumAttempts = (\n
\n Sorry, you have exceeded the maximum number of attempts to reset your password. Please{' '}\n \n Contact Us\n {' '}\n for assistance.\n
\n);\n\nexport const throttleAlert = {\n type: 'info',\n message:\n 'We have noticed multiple attempts to either create an online account or submit a request using this email address. Please check your inbox, spam or junk folder before making another attempt.',\n shouldPersist: true,\n};\n","import React, { useContext, useEffect, useRef, useState } from 'react';\nimport { Button, Modal, SectionalAlert, ValidatedInput } from '../../baseComponents';\nimport { NewPageIcon } from '../../../assets/icons';\nimport { formatPhoneNumber, validateMobileFormat } from '../../../utils/utils';\nimport { configurationContext, myAccountContext, pathContext } from '../../../contexts/contexts';\n\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\n\nconst AuthenticationOption = (props: any) => {\n const { id, value, title, description, children, selected, isChange2fa, previous2fa, handleChange, keyDownHandler } =\n props;\n return (\n handleChange(value)}\n onKeyDown={(e) => keyDownHandler(value, e)}\n >\n \n \n \n );\n};\n\nconst Select2fa = (props: any) => {\n const { type } = props;\n\n const { configuration } = useContext(configurationContext);\n const { mobileView } = configuration;\n\n let nameSpace = '';\n\n switch (type) {\n case 'edit':\n nameSpace = 'edit-account';\n break;\n case 'account-creation':\n nameSpace = 'account-creation';\n break;\n default:\n break;\n }\n\n PageTitleHook('USCIS Online Account | Two-step verification method preference');\n const { user, setUser, alert, setAlert, clearAlert } = useContext(myAccountContext);\n const { setUrl, userState, setUserState } = useContext(pathContext);\n const [isChange2fa, setisChange2fa] = useState(false);\n const [previous2fa, setprevious2fa] = useState('');\n const [selected, setSelected] = useState(user.two_factor_method[0] || '');\n const [showAppModal, setshowAppModal] = useState(false);\n const [smsInputVal, setSmsInputVal] = useState('');\n const [smsInputValidationMsg, setSmsInputValidationMsg] = useState('');\n const [disabledSubmit, setDisabledSubmit] = useState(false);\n\n const smsInputRef = useRef(null);\n const sectionalAlertRef = useRef(null);\n\n const apiClient = useApiClient();\n\n const handleChange = (value: string) => {\n if (alert.message) clearAlert();\n if (disabledSubmit) setDisabledSubmit(false);\n\n setSelected(value);\n if (value === 'Mobile') {\n setSmsInputVal(formatPhoneNumber(user.mobile));\n }\n };\n\n const keyDownHandler = (value: string, e: any) => {\n if (e.key === ' ') {\n e.preventDefault();\n setSelected(value);\n }\n };\n\n const handleSubmit = () => {\n if (selected === '') return;\n let selectedChoice: string | undefined = '';\n\n if (previous2fa !== '') {\n setSelected(previous2fa);\n selectedChoice = previous2fa;\n } else {\n selectedChoice = selected;\n }\n\n setDisabledSubmit(true);\n\n const path = `/users/${isChange2fa ? 'update_second_factor_method' : 'set_second_factor_method'}`;\n\n if (selectedChoice === 'Mobile') {\n let val = !!smsInputVal ? smsInputVal.match(/[0-9]/g)?.join('') : '';\n const validationMsg = validateMobileFormat(val);\n setSmsInputValidationMsg(validationMsg);\n if (validationMsg !== '' && smsInputRef.current) {\n smsInputRef.current!.focus();\n return;\n }\n apiClient\n .post(path, { method_name: 'Mobile', mobile: val })\n .then((res) => {\n setAlert({\n message: 'Your two-step verification method has been set. Please confirm that it works.',\n type: 'success',\n shouldPersist: true,\n });\n setUser(res.data);\n setUrl(`/${nameSpace}/auth`);\n })\n .catch((err) => {\n setAlert({\n message: 'Something went wrong. Please try again',\n type: 'error',\n shouldPersist: true,\n });\n });\n }\n\n if (selectedChoice === 'Email') {\n apiClient\n .post(path, { method_name: 'Email' })\n .then((res) => {\n setAlert({\n message: 'Your two-step verification method has been set. Please confirm that it works.',\n type: 'success',\n shouldPersist: true,\n });\n setUser(res.data);\n setUrl(`/${nameSpace}/auth`);\n })\n .catch((err) => {\n setAlert({\n message: 'Something went wrong. Please try again',\n type: 'error',\n shouldPersist: true,\n });\n });\n }\n\n if (selectedChoice === 'App') {\n setAlert({\n message: 'Your two-step verification method has been set.',\n type: 'success',\n shouldPersist: true,\n });\n setUser({ ...user, unconfirmed_two_factor_method: 'App' });\n setUrl(`/${nameSpace}/totp`);\n }\n };\n\n const handleModalCancel = () => {\n setshowAppModal(false);\n };\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter') {\n handleSubmit();\n }\n };\n\n const handleMobileInput = (e: any) => {\n if (alert.message !== '') clearAlert();\n if (smsInputValidationMsg !== '') setSmsInputValidationMsg('');\n if (disabledSubmit) setDisabledSubmit(false);\n const value = e.target.value;\n if (value === '(0__) ___-____' || value === '(1__) ___-____') {\n setSmsInputVal('');\n } else {\n setSmsInputVal(formatPhoneNumber(e.target.value));\n }\n };\n\n const handleReturn = (e: any) => {\n setUrl('/edit-account');\n };\n\n useEffect(() => {\n if (alert.message !== '') {\n sectionalAlertRef.current!.focus();\n }\n }, [alert]);\n\n useEffect(() => {\n setprevious2fa('');\n }, [selected]);\n\n useEffect(() => {\n if (user['authentication_state'] === 'fully_signed_in' && user['two_factor_method'].length !== 0) {\n setSelected(user.two_factor_method[0]);\n setisChange2fa(true);\n setprevious2fa(user['two_factor_method'][0]);\n if (user['two_factor_method'][0] === 'Mobile' && user.mobile !== '') {\n setSmsInputVal(formatPhoneNumber(user.mobile));\n }\n }\n if (userState !== 'edit') {\n setUserState('selecting-2fa');\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [user]);\n\n return (\n
\n \n
\n

\n Authentication apps generate security codes for signing into sites that require a high level of security.\n You can use these apps to get security codes even if you don’t have an internet connection or mobile device.\n

\n

\n If you choose to utilize this option for setting up a two-step verification on your account, you will need\n to download and install an authentication app on your device. You can use most Time-Based, One-Time Password\n (TOTP) apps.{' '}\n

\n\n
\n

Android Options:

\n
    \n
  • \n \n Authy{' '}\n {\n
    \n \n
    \n }\n \n
  • \n
  • \n \n Google Authenticator{' '}\n {\n
    \n \n
    \n }\n \n
  • \n
  • \n \n Microsoft Authenticator{' '}\n {\n
    \n \n
    \n }\n \n
  • \n
\n
\n
\n

iOS Options:

\n
    \n
  • \n \n Authy{' '}\n {\n
    \n \n
    \n }\n \n
  • \n
  • \n \n Google Authenticator{' '}\n {\n
    \n \n
    \n }\n \n
  • \n
  • \n \n Microsoft Authenticator{' '}\n {\n
    \n \n
    \n }\n \n
  • \n
\n
\n
\n \n

Two-Step Verification Method

\n\n
\n {alert.message !== '' && (\n
\n \n {alert.message}\n \n
\n )}\n
\n Every time you log in, you will be given a verification code to use during the sign in process. What is your\n preferred method to receive your verification code?\n
\n\n \n\n \n\n \n\n {(selected === 'App' || (isChange2fa && previous2fa === 'App')) && (\n
\n

\n You can use most Time-Based, One-Time Password (TOTP) applications for added security, which will ask you\n to enter a unique verification code generated by the selected application on your mobile device.{' '}\n

\n

\n USCIS advises that you read the privacy policies of any application you use, especially if you share any\n personal information. USCIS is not responsible for the information collection practices of non-USCIS\n applications.\n

\n
\n )}\n {(selected === 'Mobile' || (isChange2fa && previous2fa === 'Mobile')) && (\n
\n

\n If you select to receive text messaging notification to a U.S. mobile phone number listed in your account\n and accept these terms and conditions, you acknowledge that Standard Messaging Rates or other charges\n related to these notifications may apply.\n

\n \n
\n )}\n
\n \n {selected === 'App' && !mobileView && (\n setshowAppModal(true)}\n />\n )}\n {isChange2fa && (\n \n )}\n
\n
\n
\n );\n};\nexport default Select2fa;\n","import { useState, useEffect, useContext } from 'react';\nimport { useApiClient } from './useApiClient';\nimport { defaultUser } from '../reducer/myAccountInitialState';\nimport { pathContext, myAccountContext, configurationContext } from '../contexts/contexts';\nimport { useNavigate } from 'react-router-dom';\n\nexport const useUpdateConfiguration = () => {\n const apiClient = useApiClient();\n const { setConfiguration } = useContext(configurationContext);\n\n return () => {\n apiClient\n .get('/configuration/state')\n .then((res) => {\n setConfiguration(res.data);\n })\n .catch((error: any) => {\n console.log(error);\n });\n };\n};\n\nexport const useSignOut = () => {\n const { setUser, clearPersistentAlert } = useContext(myAccountContext);\n const { setUserState } = useContext(pathContext);\n const { configuration, setConfiguration } = useContext(configurationContext);\n\n const navigate = useNavigate();\n const apiClient = useApiClient();\n\n return () => {\n clearPersistentAlert();\n setUserState('');\n setConfiguration({\n ...configuration,\n loginDotGovEmail: '',\n loginDotGovUuid: '',\n lg_account_status: '',\n lg_linked: 0,\n });\n localStorage.clear();\n setUser(defaultUser);\n apiClient\n .post('/authentication/sign_out', {})\n .then((response) => {\n navigate('/sign-in', { replace: true });\n })\n .catch((error) => {\n navigate('/sign-in', { replace: true });\n });\n };\n};\n\nexport function useMediaQuery(query: string) {\n const [matches, setMatches] = useState(false);\n\n useEffect(() => {\n const media = window.matchMedia(query);\n if (media.matches !== matches) {\n setMatches(media.matches);\n }\n const listener = () => {\n setMatches(media.matches);\n };\n media.addEventListener('change', listener);\n return () => media.removeEventListener('change', listener);\n }, [matches, query]);\n\n return matches;\n}\n","import React, { useEffect, useState, useContext } from 'react';\nimport { Button } from '../../baseComponents';\nimport { myAccountContext } from '../../../contexts/contexts';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\nimport { useSignOut } from '../../../hooks/hooks';\n\nconst SoftLocked = () => {\n PageTitleHook('USCIS Online Account | Account locked');\n const { user, setUser } = useContext(myAccountContext);\n\n const handleSignOut = useSignOut();\n const [lockedTimeLeft, setLockedTimeLeft] = useState();\n\n useEffect(() => {\n setLockedTimeLeft(user.seconds_remaining);\n }, [user.seconds_remaining]);\n\n let seconds = lockedTimeLeft ? lockedTimeLeft % 60 : 0;\n let minutes = lockedTimeLeft ? (lockedTimeLeft - seconds) / 60 : 0;\n\n const handleReturnToSignIn = () => {\n setUser({ ...user, authentication_state: '' });\n handleSignOut();\n };\n\n useEffect(() => {\n if (lockedTimeLeft === 0) {\n handleReturnToSignIn();\n }\n\n if (!lockedTimeLeft) {\n return;\n }\n\n const timeout = setTimeout(() => {\n setLockedTimeLeft(lockedTimeLeft - 1);\n }, 1000);\n return () => {\n clearTimeout(timeout);\n };\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lockedTimeLeft]);\n\n let timeLeftText = '';\n\n if (minutes || seconds) {\n timeLeftText += ' in ';\n }\n\n if (minutes) {\n timeLeftText += `${minutes} minute`;\n }\n\n if (minutes > 1) {\n timeLeftText += 's';\n }\n\n if (minutes && seconds) {\n timeLeftText += ' and ';\n }\n\n if (seconds) {\n timeLeftText += `${seconds} second`;\n }\n\n if (seconds > 1) {\n timeLeftText += 's';\n }\n\n return (\n
\n

Account Locked

\n

\n Your account is temporarily locked because you have entered the verification code incorrectly too many times.\n

\n

\n Please try again{timeLeftText}.\n

\n
\n \n
\n
\n );\n};\nexport default SoftLocked;\n","import React from 'react';\n\nexport const ReturnToTop = () => {\n return (\n
\n
\n \n Return to top\n \n
\n
\n );\n};\n\nexport default ReturnToTop;\n","import React, { useEffect, useRef, useState } from 'react'\nimport { Link, useLocation } from 'react-router-dom'\nimport { ReturnToTop } from '../../FooterComponents/ReturnToTop'\nimport './termsofuse.css'\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook'\n\nconst TermsOfUsePage = () => {\n PageTitleHook('USCIS Online Account | Legal')\n const location = useLocation()\n const securityConsentRef = useRef(null)\n const dhsPrivacyRef = useRef(null)\n const fbiPrivacyRef = useRef(null)\n const paperworkReductionRef = useRef(null)\n const tosRef = useRef(null)\n const [prevAnchor, setPrevAnchor] = useState('')\n\n useEffect(() => {\n if (location.hash !== prevAnchor) {\n setPrevAnchor(location.hash)\n switch (location.hash) {\n case '#tos-dhs-privacy':\n dhsPrivacyRef.current!.scrollIntoView()\n break\n case '#tos-fbi-privacy':\n fbiPrivacyRef.current!.scrollIntoView()\n break\n case '#tos-paperwork-reduction':\n paperworkReductionRef.current!.scrollIntoView()\n break\n case '#tos-tos':\n tosRef.current!.scrollIntoView()\n break\n default:\n securityConsentRef.current!.scrollIntoView()\n }\n }\n }, [prevAnchor, location])\n\n return (\n
\n {/*
*/}\n
\n \n Return to Sign In\n \n
\n

\n Department of Homeland Security Consent\n

\n

\n You are about to access a Department of Homeland Security computer system. This computer system and data\n therein are the property of the U.S. Government and provided for official U.S. Government information and\n use. There is no expectation of privacy when you use this computer system. The use of a password or any\n other security measure does not establish an expectation of privacy. By using this system, you consent to\n the terms set forth in this notice. You may not process classified national security information on this\n computer system. Access to this system is restricted to authorized users only. Unauthorized access, use, or\n modification of this system or of data contained herein, or in transit to/from this system, may constitute a\n violation of section 1030 of title 18 of the U.S. Code and other criminal laws. Anyone who accesses a\n Federal computer system without authorization or exceeds access authority, or obtains, alters, damages,\n destroys, or discloses information, or prevents authorized use of information on the computer system, may be\n subject to penalties, fines, or imprisonment. This computer system and any related equipment is subject to\n monitoring for administrative oversight, law enforcement, criminal investigative purposes, inquiries into\n alleged wrongdoing or misuse, and to ensure proper performance of applicable security features and\n procedures. DHS may conduct monitoring activities without further notice.\n

\n \n
\n
\n

\n DHS Privacy Notice\n

\n
\n

Authorities

\n

\n The information requested on this form is collected under the Immigration and Nationality Act, as amended;\n the Homeland Security Act of 2002 (Public Law 107-296); the E-Government Act of 2002 (Public Law 107-347);\n the Government Paperwork Elimination Act (Public Law 105-277); and Title 8 of the Code of Federal\n Regulations (CFR).\n

\n\n

Purpose

\n

\n The primary purpose of providing the requested information on this form is to create or update your USCIS\n Online Account, also referred to as MyAccount, to give you access to USCIS's online services.\n

\n\n

Disclosure

\n

\n The information you provide is voluntary. However, failure to provide information may prevent you from\n creating a USCIS Online Account, which will limit your ability to access and use USCIS's online services.\n

\n\n

Routine Uses

\n {\n

\n DHS may share information you provide on this form with other Federal, state, local, and foreign\n government agencies and authorized organizations. DHS follows approved routine uses described in the\n associated published system of records notice [DHS/ALL-037 E-Authentication Records System of Records]\n and specific system or program published privacy impact assessments, which you can find at\n \n www.dhs.gov/privacy.\n \n DHS may also share this information, as appropriate, for law enforcement purposes or in the interest of\n national security.\n

\n }\n
\n \n
\n
\n

\n FBI Privacy Notice\n

\n
\n

\n USCIS may use your biometrics to obtain the criminal history records of the Federal Bureau of\n Investigation (FBI), for identity verification, to determine eligibility, to create immigration documents\n (for example, Permanent Resident Card, Employment Authorization Document), or any purpose authorized by\n the Immigration and Nationality Act. You may obtain a copy of your own FBI record using the procedures\n outlined at 28 CFR 16.30-16.34. For more information, please visit:\n \n https://www.fbi.gov/services/cjis/compact-council/guiding-principles-noncriminal-justice-applicants-privacy-rights.\n \n

\n

\n For information regarding how the FBI will use your fingerprints, please visit:\n \n https://www.fbi.gov/services/cjis/compact-council/privacy-act-statement.\n \n

\n
\n \n
\n
\n

\n Paperwork Reduction Act Burden Disclosure Notice\n

\n
\n

\n USCIS may not conduct or sponsor an information collection, and you are not required to respond to a\n collection of information, unless it displays a currently valid Office of Management and Budget (OMB)\n control number. The public reporting burden for this collection of information is estimated at 0.167 hours\n per response, including the time for reviewing instructions, gathering the required documentation and\n information, and completing and submitting the request. Send comments regarding this burden estimate or\n any other aspect of this collection of information, including suggestions for reducing this burden, to:{' '}\n

\n
\n

U.S. Citizenship and Immigration Services

\n

Office of Policy and Strategy, Regulatory Coordination Division

\n

5900 Capital Gateway Drive, Mail Stop #2140

\n

Camp Springs, MD 20588-0009

\n
\n\n
\n

OMB Control No. 1615-0122.

\n

Expiration Date: 9/30/2027

\n
\n\n

Do not mail your completed request to this address.

\n
\n \n
\n
\n

\n Terms of Use - U.S. Citizenship and Immigration Services Online Electronic Immigration System\n

\n
\n

\n This document contains the Terms of Use (“Terms”) for the U.S. Citizenship and Immigration\n Services (USCIS) online electronic immigration system accessed using established portals, such as\n myAccount access page, or its successor. You should read these Terms in their entirety and\n acknowledge that by creating an account or accessing or attempting to access systems and services\n available online through myAccount, or its successor, that you have read, understand, and agree to comply\n with these Terms in order to access and use any or all of these systems. The Terms apply to\n every individual and user, including attorneys and accredited representatives acting on behalf of a\n business, corporation, limited partnership, limited liability company, or other legal entity, and any\n employees of such entities, who accesses, uses, or creates an online account in USCIS’ electronic\n immigration system and information technology resource, which includes the network, application, managed\n access developer portal, external drives that upload, process, store, receive or transmit information.\n

\n

\n USCIS’ electronic immigration system is an online, account-based system that allows users to submit\n requests for immigration benefits and certain immigration services, as well as view certain applications,\n petitions, and requests; receive electronic notification of USCIS notices and decisions; confirm\n employment eligibility and lock employment eligibility information against misuse; submit Freedom of\n Information Act (FOIA) and Privacy Act requests; receive real-time status updates on pending cases and\n work eligibility; and use defined roles to access certain technical specifications within designated\n interface portals. USCIS’ electronic immigration system allows individuals, attorneys, accredited\n representatives, and other authorized users to conveniently and securely set up and manage online\n accounts; electronically submit certain applications, registrations, petitions, or requests and supporting\n documents; receive and respond to USCIS notices, requests for evidence, and decisions electronically; and\n pay filing fees, biometric services fees, registration fees, and immigrant fees. Periodically, USCIS will\n release additional functionality that will allow individuals, attorneys, and accredited representatives to\n perform additional functions online, which may include, paying service and processing fees, filing motions\n to reopen or reconsider, submitting program registrations, engaging in technical integration capabilities\n with programming interfaces, exposed data, and content management systems, paying administrative appeal\n fees, confirming employment eligibility, obtaining FOIA or Privacy Act responses, and requesting fee\n waivers online.\n

\n

\n These Terms require that you use this system only to perform lawful immigration-related functions\n and to communicate with the Department of Homeland Security (DHS) and any component thereof, including\n USCIS. The Terms detail the laws, policies, and procedures you must abide by when using the system\n to submit any application, petition, registration, or request to USCIS, submit technical programming\n interface data, access exposed data content, or communicate with DHS and/or USCIS. The Terms also\n detail what actions are prohibited when using the system and the penalties for misuse.\n

\n

\n By accessing or using this system, you are legally bound by the terms and conditions noted below. If you\n do not agree with any provision of these Terms then you may not access USCIS’ online electronic\n immigration system for any purpose including, but not limited to, creating an account, filing an\n application, petition, registration, or request, paying a filing and/or biometric services fee, paying a\n registration fee, checking a status online, confirming employment eligibility, and requesting assistance\n with access, use or technical issues associated with the USCIS online electronic immigration system,\n engaging in technical integration with: programming interfaces, exposed data, and content management\n systems, or managed technical access to the developer portal. Any violation of these Terms may\n result in immediate suspension or termination of any access provided to the USCIS online electronic\n immigration system and may result in administrative or civil actions as allowed by law, or criminal\n prosecution.\n

\n

\n
\n
\n
    \n
  1. Governing Laws
  2. \n
      \n
    • \n These Terms are governed and construed in accordance with the laws of the United States. Any\n failure by DHS or any component thereof, including USCIS, to enforce any provision in the Terms{' '}\n will not be considered a waiver of any privileges, immunities, or rights provided under applicable\n Federal, state, and foreign laws. These Terms do not create any right or benefit, substantive\n or procedural, for any individual or entity.\n
    • \n
    • \n If any provision of these Terms is held to be invalid or unenforceable by a court of law, the\n remaining provisions of these Terms shall be severable from the invalid or unenforceable\n provision and will remain in effect.\n
    • \n
    • \n To the extent permitted by law, USCIS disclaims all warranties whether express or implied, including\n the implied warranties of merchantability, fitness, for a particular purpose, title, and\n non-infringement. Accordingly, our liability shall be limited to the fullest extent permitted by\n applicable law, and under no circumstance will we be liable to participants or others for any lost\n profits, revenues, information, or data, or consequential, special, indirect, exemplary, punitive, or\n incidental damages arising out of or related to participation and use of the services and program\n accessed online using USCIS myAccount, or its successors.\n
    • \n
    \n\n
  3. Trademarks and Logos
  4. \n
      \n
    • \n DHS is the trademark owner and authorized user of the myAccount name and logo and the name and logo of\n the various systems accessible from this portal, including, but not limited to, myUSCIS, FIRST,\n E-Verify and myE-Verify, 3PI, and all successors. Users may not use these trademarked items without\n the prior written consent of DHS.\n
    • \n
    • \n Nothing in these Terms shall be interpreted as authorization to use the official seal, insignia\n or other visual identities of DHS, USCIS, E-Verify, myE-Verify, FIRST, myUSCIS, USCIS ELIS, myAccount,\n 3PI, or any other DHS or USCIS service or system, (for example, myE-Verify Self Check). Participants\n shall not use the DHS, USCIS, FIRST, myUSCIS, USCIS ELIS, myAccount, E-Verify, myE-Verify or Self\n Check seal, insignia, or other visual identities in any manner to imply endorsement of any commercial\n product or activity by DHS, USCIS, E-Verify, myE-Verify or the United States government. Use of these\n seals, insignia or other visual identities without authorization violates federal law (See, 18 U.S.C.\n §§ 506, 701, 1017). Creation of an online account and use of these systems and services or the receipt\n of information from any USCIS portal does not grant any licenses to copyrights, patents, any other\n intellectual property rights, or the rights to any of the materials on the site or sites or materials\n accessed by use of the site. Users warrant that none of the information provided to participate in or\n use the USCIS online electronic immigration system (including an individual, unique e-mail address)\n infringes any copyright or the intellectual property rights of any third parties.\n
    • \n
    \n\n
  5. Rules of Behavior
  6. \n

    \n The Rules of Behavior (RoB) noted below are consistent with the purpose of USCIS’ online electronic\n immigration system.\n

    \n
      \n
    • \n I understand that any access granted to me by DHS or any component thereof, including USCIS, for use\n of USCIS’ electronic immigration system is based on my need to perform specific online tasks and\n activities related to the managed technical access to the developer portal, configurations of\n programming interfaces, or other specifically permitted access, preparation and filing of requests for\n immigration benefits and services (such as, applications, petitions, registrations, and payment of\n various fees), relief from removal (such as, requests filed with USCIS by aliens in exclusion,\n deportation, or removal proceedings), obtaining or verifying legal status, administrative appeals,\n motions to reopen or reconsider any rendered decisions, legal status, confirmation of employment\n eligibility, FOIA or Privacy Act response or other associated relief , benefit, or service.\n
    • \n
    \n

    I agree to the following:

    \n
      \n
    • Use
    • \n
        \n
      1. Online Account Holders
      2. \n
          \n
        • \n I will only use USCIS’ electronic immigration system as designed and to perform authorized U.S.\n immigration-related functions and communicate with DHS and USCIS.\n
        • \n
        • \n I will not create an online account unless I am at least 14 years of age. In the event I am under\n 14, a parent or legal guardian must create an online account in their own name in order to file\n applications, petitions, check the status of a case or request submitted on my behalf, or submit\n other appropriate requests or engage in other authorized use.\n
        • \n
        • \n I will only use USCIS’ electronic immigration system for official DHS or USCIS-related\n communications, notices, responses, or correspondence in relation to any immigration application,\n petition, registration, or request; request for legal status or deferred action; relief from\n removal proceedings; request for advance parole or employment authorization; confirmation of\n employment eligibility; request a FOIA or Privacy Act response; payment of filing fees, biometric\n services fees, premium processing fees, payment of registration fees, motions to reopen or\n reconsider or administrative appeal fees, payment of immigrant fees or for filing a request for a\n fee waiver; access to the developer portal; or for authorized review and configuration of\n technical programming interface products.\n
        • \n
        • \n I will abide by all applicable laws and regulations that pertain to the submission of an\n application, petition, registration, or request to USCIS; request for legal status or deferred\n action; relief from removal proceedings; request for advance parole or employment authorization;\n confirmation of employment eligibility; payment of filing fees, biometric services fees, premium\n processing fees, registration fees, request for FOIA or Privacy Act response motions to reopen or\n reconsider or administrative appeal fees, and/or immigrant fees or for filing requests for a fee\n waiver online.\n
        • \n
        • \n I will also submit any requests for immigration benefits under penalty of perjury and with a\n certification that I understand the contents of the filing and supporting documents submitted with\n any filing.\n
        • \n
        • \n I will abide by all applicable laws and regulations related to the access and use of any DHS or\n USCIS government computer system, including USCIS’ online electronic immigration system,\n designated for the filing, adjudication, communication on any application, petition, registration,\n or request for an immigration benefit; request for legal status or deferred action; request for\n advance parole or employment authorization; confirmation of employment eligibility; request for a\n FOIA or Privacy Act response; payment of filing fees, biometric services fees, premium processing\n fees, registration fees, other service fees, motions to reopen or reconsider or administrative\n appeal fees, payment of immigrant fees or for filing requests for a fee waiver online; or for\n authorized review and configuration of technical programming interface products.\n
        • \n
        • \n I understand that DHS reserves the right to monitor usage and activity on the USCIS online\n electronic immigration system. DHS may view or scan any file stored on the electronic immigration\n system. I understand that DHS maintains a right to access the contents of any stored data on the\n USCIS online electronic immigration system at any time, for any purpose, including the enforcement\n of the immigration laws and any laws related to the access and use of government systems. All\n electronic activity on the USCIS online electronic immigration system may be inspected and is\n subject to monitoring without additional notice, as deemed necessary, and to the full extent,\n unless expressly prohibited by applicable statutes. I understand that the use of USCIS’ online\n electronic immigration system constitutes my consent to collection, monitoring and auditing of my\n use of USCIS’ online electronic immigration system, by DHS and any of its components and by any\n Federal, state or local law enforcement entity, for implementation, adjudication, investigation,\n and enforcement of the immigration and criminal laws. This does not abrogate any limitations on\n information disclosure specified under any system of records notice governing access and use of\n DHS systems.\n
        • \n
        • \n I understand that I must create, provide, and maintain the security of my unique online account,\n account password, authentication code, other log-in and account creation features and\n requirements, as well as the answers to security questions for password reset.\n
        • \n
        • \n I understand that to access or use USCIS’ online electronic immigration system, I must use valid\n credentials to access an account I am authorized to access by DHS or USCIS. I agree to use my\n online account for the purpose for which it was created and in the manner it was designed. I agree\n to use a valid personal and personally-controlled, unique email address or username and other\n required authentication credentials with each online access attempt and session. I agree to use a\n valid unique, online account password and the generated access passcode delivered by email or SMS\n (“Short Message Service”), MMS (Multi-Media Message Service) text message, or any other provided\n authentication credential intended for access to and use of USCIS’ online electronic immigration\n system. I agree that each individual user, including legal representatives and authorized agents,\n should have an individual, unique email address and online account password for their account.\n Each online account is used to certify that any information submitted in the online electronic\n immigration system is true and correct, and that the electronic signature shall be considered an\n affirmation, under penalty of perjury, that any such information submitted, was submitted with\n full knowledge, intent, and understanding, or, if represented, was expressly agreed to and\n authorized by my legal representative or the company’s legal representative, in the event of\n registration or certain select services and processes.\n
        • \n
        • \n I agree to use my personal online account solely for filing a request for myself or, in the case\n of attorneys and accredited representatives, on behalf of an individual client or corporate\n entity, as applicable. In the case of account holders who are authorized and registered to\n participate in the developer community of users, I agree to use my personal online account solely\n to access the managed developer portal and in compliance with my assigned user role and\n permissions. When using a registration account, or account type such as an applicant, petitioner,\n requestor, or legal representative account, I agree to use the account I created solely to submit\n required registrations or other required submissions that I am authorized to submit to USCIS on\n behalf of an employer, agent, or other authorized individual or entity. In the instance of\n submitting requests on behalf of minor children, incapacitated or disabled individuals, if\n requested by DHS or USCIS, I agree to provide proof of authority such as guardianship orders,\n proof of recognized family relationship, or other required information and evidence.\n
        • \n
        • \n I am responsible for safeguarding my unique credentials associated with my online account,\n including my unique email address associated with my online account, username, account password,\n and passcode and not disclosing it to any other person. I understand that, as a USCIS’ online\n electronic immigration system account holder and user, I am the only person authorized to use my\n access credentials to access my assigned online account in USCIS’ online electronic immigration\n system.\n
        • \n
        • \n If my online account has been compromised in any way. I will notify USCIS immediately, by either\n calling the Contact Center at 800-375-5283 or sending USCIS an electronic message as instructed on\n the uscis.gov website.\n
        • \n
        • \n My identity will be tied to my access credentials and the USCIS online electronic immigration\n system account to which I have requested and been granted access. I understand that my ability to\n electronically sign and submit applications, petitions, registrations, or various requests,\n including submissions of technical configurations, is directly tied to my USCIS online electronic\n immigration system account. I understand that my legal representative, if any, will be able to\n submit an application, petition, or request on my behalf after I have expressly agreed to his or\n her representation and authorized him or her to file requests with DHS or any of its components.\n If submitting registrations or other authorized submissions as an authorized official for a\n company or other organization or entity using a registration account or other specialized account,\n I agree that I can only do so if I have obtained express authorization from the company,\n organization, or entity to submit registrations or other authorized submissions.\n
        • \n
        \n\n
      3. Attorney and Accredited Representative Online Account Holders
      4. \n

        \n If I am an attorney or accredited representative seeking to represent, representing, or submitting\n an application, petition, registration, or request to USCIS on behalf of an applicant, petitioner,\n beneficiary, or requester seeking an immigration benefit, immigration service, legal status or\n deferred action; relief from removal proceedings; advance parole or employment authorization;\n confirmation of employment eligibility; payment of filing fees, biometric services fees, payment of\n premium processing fees, payment of registration fee, submitting motions to reopen or reconsider or\n administrative appeal fees, and/or immigrant fees or for filing requests for a fee waiver, or any\n other tasks or action on the USCIS online electronic immigration system, I will:\n

        \n
          \n
        • \n Abide by the rules of professional conduct prescribed under section 292 of the Immigration and\n Nationality Act (8 U.S.C. 1362) and Title 8 of the Code of Federal Regulations, parts 292 and\n 1003.\n
        • \n
        • \n Timely submit a signed Notice of Entry of Appearance as Attorney or Accredited Representative,\n Form G-28, in the manner and format, designated by USCIS, to notify USCIS of my appearance as an\n Attorney or Accredited Representative on behalf of the applicant, petitioner, beneficiary,\n registrant or requester.\n
        • \n
        • \n Ensure that when representing an individual person, each client I represent has created his or her\n own online account, with unique credentials pertinent to the established account, such as an email\n address, username, and online account password and that each client I represent can access, review\n and personally electronically sign his or her application, petition, or request I have prepared on\n his or her behalf in USCIS’ online electronic immigration system, through their own personal\n unique account.\n
        • \n
        • \n Only create, access, and use the representative online account, authorized by DHS and USCIS, for\n interaction with USCIS’ online electronic immigration system, to prepare an application, petition,\n request, registration, or submit fee payments or registration payments on behalf of my client and\n to electronically sign the designated form notifying USCIS of my appearance as my client’s online\n attorney or accredited representative.\n
        • \n
        • \n Be responsible for the proper protection and disclosure of any personally identifiable information\n (PII) to USCIS via USCIS’ online electronic immigration system. Any potential improper disclosure\n of PII that occurs as the result of my intended or inadvertent misuse of USCIS’s online electronic\n immigration system is my responsibility to disclose and remedy. At its discretion, USCIS may\n notify me and/or my clients in the event of a suspected improper disclosure of PII.\n
        • \n
        \n
      \n
    • Prohibitions
    • \n
        \n
      1. Online Account Holders
      2. \n

        \n If I am an individual seeking to file an application, petition, registration, request, or appeal\n through USCIS’ online electronic immigration system for any immigration benefit, immigration\n service, legal status or deferred action; relief from removal proceedings; advance parole or\n employment authorization; confirmation of employment eligibility; receipt of FOIA or Privacy Act\n response; payment of filing fees, biometric services fees, premium processing fees, registration\n fees, immigrant fees, motion or appeal filing fees, filing requests for a fee waiver online, any\n other service fee or benefit request, or if I am engaging in authorized review and configuration of\n technical programming interface products, managed technical access to the developer portal, content\n management systems, or other specifically permitted access, I agree that I will not:\n

        \n
          \n
        • \n Access any user accounts, data stores, systems, applications, form types, backend data, or\n technical programming interfaces to which I have not been granted access and that are not\n expressly authorized for access to or use by me by DHS or USCIS, or create any online account if I\n am under the age of 14.\n
        • \n
        • \n Attempt to bypass access control, monitoring, or auditing measures instituted by DHS or USCIS to\n ensure the integrity and security of U.S. government systems, including USCIS online electronic\n immigration system.\n
        • \n
        • \n Use anyone else’s online account, secure account password, authentication credentials or answers\n to security questions for password reset to access or use USCIS’s online electronic immigration\n system.\n
        • \n
        • \n Share my email address, username, secure account password, online access code, or any other user\n identification or authentication credential used to access USCIS’s online electronic immigration\n system with anyone else for their own use in the USCIS online electronic immigration system.\n
        • \n
        • \n Authorize another person to log into, access, or use my USCIS online electronic immigration system\n account.\n
        • \n
        • \n Allow or permit another person or legal entity to electronically sign any application, petition,\n registration, or request for me and that I am required to personally, electronically sign any\n application, petition, registration, or request that I am submitting unless I am mentally\n incompetent, have a legally designated guardian or surrogate, or am a minor child under 14 years\n of age.\n
        • \n
        • \n Allow another person, attorney, accredited representative, company, legal entity, organization, or\n authorized agent acting on behalf of a company, legal entity, corporation, partnership, or other\n organized business, to setup or manage my online individual account, secure account password,\n authentication credentials or answers to security questions for password reset to access USCIS’\n online electronic immigration system on my behalf as an individual applicant, petitioner,\n registrant, requestor or technical contributor. Exceptions apply to a legal guardian, parent (if\n requestor is of minor age), or other agent expressly authorized and permitted to act on behalf of\n another individual by DHS or USCIS.\n
        • \n
        • \n Use my USCIS online electronic immigration system account or individual authentication credentials\n to file or electronically sign an application, petition, registration, or request for someone\n other than myself, confirm employment eligibility, submit or access technical programming\n interface data without permission, or file or electronically sign an application, petition, or\n request for more than one person, unless I am acting as that person’s legal guardian, parent, or\n acting pursuant to a lawful grant of power of attorney on that person’s behalf as recognized and\n authorized by DHS or USCIS.\n
        • \n
        \n\n
      3. Attorneys and Accredited Representatives Online Account Holders
      4. \n

        \n If I am an attorney or accredited representative seeking to represent, representing, or submitting\n an application, petition, registration, request, or appeal on behalf of an applicant, petitioner,\n beneficiary, or requester seeking an immigration benefit, legal status or deferred action; relief\n from removal proceedings; advance parole or employment authorization; confirmation of employment\n eligibility; receipt of FOIA or Privacy Act response; payment of filing fees, biometric services\n fees, premium processing fees, registration fees, immigrant fees, motion or appeal fees, filing\n requests for a fee waiver online, or any other service fee or benefit request I agree that:\n

        \n
          \n
        • \n I cannot act or appear on behalf of an applicant, petitioner, requester, employer, or agent until\n after he or she has consented to my representation pursuant to 8 CFR 292.4 and has personally\n executed his or her signature on all required documentation.\n
        • \n
        • \n I will not file an application, petition, request, registration, or other submission in USCIS’\n online electronic immigration system until I notify USCIS of my appearance as an attorney or\n accredited representative on behalf of the applicant, petitioner, or requester I seek to\n represent, and this notice is appropriately submitted to DHS or USCIS in accordance with laws and\n regulations.\n
        • \n
        • \n I will not electronically sign an application, petition, request, or registration for an\n applicant, petitioner, registrant or requester in USCIS’ online electronic immigration system. I\n acknowledge that it is the duty of my client to sign the application, petition, registration, or\n request under penalty of perjury, certifying that he or she understands the contents of the filing\n and supporting documents submitted with any filing.\n
        • \n
        • \n I will not allow different applicants, petitioners, registrants, or requesters to use or share the\n same online account or to be linked or granted access to a USCIS’ online electronic immigration\n system account that is not theirs and associated to their individual unique authentication\n credentials.\n
        • \n
        • \n I will only use the authorized representative online account that I created to access and use\n USCIS’ online electronic immigration system or obtain any information contained therein.\n
        • \n
        • \n I will not access USCIS’s online electronic immigration system using an applicant’s, petitioner’s,\n registrant's, or requester’s online account or perform any actions under cover of applicant’s,\n petitioner’s, registrant's, or requester’s online account, including executing any required\n electronic signatures.\n
        • \n
        \n\n
      5. \n Legal Entities, Corporations, Partnerships, Companies, Organized Business, and Agents Acting on\n Behalf of Such Entities\n
      6. \n

        \n If I am an authorized official or agent acting on behalf of a company, legal entity, corporation,\n partnership, or other organized business, including, but not limited to the preparation of\n applications, petitions, requests, registrations, or other submissions, or providing interpretation\n or translation services for the filing or submission of an application, petition, request,\n registration, or other submission, including submissions of technical configurations, and\n programming interface data with the DHS or any component thereof, including USCIS, U.S. Customs and\n Border Protection, and U.S. Immigration and Customs Enforcement, I agree that:\n

        \n
          \n
        • \n I may not file any application, petition, request, registration, or other submission with DHS or\n any component thereof, including USCIS, without the express consent of the applicant, petitioner,\n registrant, or requester.\n
        • \n
        • \n I must abide by all Federal, state, and local laws governing the authorized practice of law and\n prohibiting the unauthorized practice of law in the jurisdiction in which the company, legal\n entity, corporation, partnership, or other organized business or authorized agent acting on behalf\n of a company, legal entity, corporation, partnership, or other organized business, resides, has a\n physical presence, conducts business, or authorizes transactions involving any interactions with\n USCIS, DHS, or any component thereof.\n
        • \n
        \n
      \n
    • \n Protect Personally Identifiable Information (PII) – (Applicable to All Users)\n
    • \n
        \n
      • \n I understand, for the purpose of accessing USCIS’ online electronic immigration system, that I may\n be handling or uploading documents or data that contain PII, and I affirm that I will adhere to all\n privacy laws and rules governing the safeguarding and use of PII.\n
      • \n
      • \n I agree to safeguard PII information from accidental, unintentional, or unauthorized disclosure at\n any time and to any person not authorized to have access to such information.\n
      • \n
      \n\n
    • Incident Reporting – (Applicable to All Users)
    • \n
        \n
      • \n I will cooperate willingly with DHS or USCIS on any investigation of any privacy, security, or cyber\n incidents and, if directed by DHS or USCIS, I will voluntarily relinquish all access to and use of\n USCIS online electronic immigration system during the period of investigation and/or law enforcement\n action in response to such incidents.\n
      • \n
      • \n If my online account has been compromised in any way. I will notify USCIS immediately, by either\n calling the Contact Center at 800-375-5283 or sending USCIS an electronic message as instructed on\n the uscis.gov website.\n
      • \n
      \n\n
    • Penalties for Misuse – (Applicable to All Users)
    • \n
        \n
      • \n I understand that any violation of these Terms may result in immediate suspension or termination of\n my access to USCIS online electronic immigration system and may subject me to administrative or\n civil actions as allowed by law, or criminal.\n
      • \n
      • \n I agree that I may be held accountable for my actions or inactions that result in any DHS or USCIS\n computer security incident, privacy incident, or computer security violation. This includes the\n possibility of immediate suspension or termination of my access to USCIS online electronic\n immigration system, administrative or civil actions as allowed by law, or criminal prosecution.\n
      • \n
      \n
    \n\n
  7. \n Termination of Access or Use of USCIS’ Online electronic immigration System\n
  8. \n
      \n
    • \n USCIS, in its sole discretion, may suspend or terminate account access to and use of USCIS online\n electronic immigration system immediately, without prior notice.\n
    • \n
    • \n USCIS also will suspend or terminate service if USCIS determines there has been a privacy or security\n breach, misuse of the system, or breach in the Terms by any user.\n
    • \n
    • \n USCIS reserves the right to reinstate or restore service to any specific user after USCIS has made a\n determination, in its discretion, that restoration or reinstatement of service is warranted.\n
    • \n
    \n\n
  9. Links to Other Web Sites
  10. \n
      \n
    • \n USCIS’ online electronic immigration system may contain links to third party web sites or services\n that are not owned or controlled by DHS or USCIS. These may include federal, state, and local\n government websites of the United States, and may also include websites owned and operated by private\n entities.\n
    • \n
    • \n USCIS has no control over, and assumes no responsibility for the content, privacy policies, or\n practices of any third party web sites or services. I acknowledge and agree that USCIS shall not be\n responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused\n by or in connection with use of or reliance on any such content, goods or services available on or\n through any such web sites or services. DHS and USCIS strongly advise individuals who intend on\n accessing USCIS’ online electronic immigration system and third party websites to read the terms and\n conditions and privacy policies of any third party web sites or services.\n
    • \n
    \n\n
  11. Changes to Terms of Use
  12. \n
      \n
    • \n USCIS reserves the right, at its sole discretion, to modify or replace these Terms at any time.\n
    • \n
    • \n By continuing to access or use USCIS’ online electronic immigration system after updated revisions\n become effective, I agree to be bound by the revised Terms.\n
    • \n
    • \n If I do not agree to the new Terms, I agree not to access USCIS’ online electronic immigration\n system for any purpose including, but not limited to, creation of an online account, filing of an\n application, petition, registration, or request, paying a filing and/or biometric services fee,\n checking a case status online, requesting assistance with access, submitting technical configurations\n or programming interfaces, accessing specific end user data, or any technical issues associated with\n USCIS online electronic immigration system.\n
    • \n
    \n\n
  13. Acknowledgment
  14. \n

    \n I acknowledge that I have read the Terms and understand and will comply with them. I agree to\n abide by the Terms and understand that if I do not accept the Terms, I am not eligible to\n access or use USCIS online electronic immigration system. I understand that any violations of these{' '}\n Terms and any criminal activity will result in immediate suspension and/or termination of my\n access to and use of USCIS online electronic immigration system and that I may be subject to\n administrative or civil action as allowed by law, or criminal prosecution.\n

    \n
\n
\n \n
\n
\n
\n )\n}\n\nexport default TermsOfUsePage\n","import React, { useCallback, useContext, useEffect, useRef, useState } from 'react'\nimport { useApiClient } from '../../../hooks/useApiClient'\nimport { FloatingButtonIcon } from '../../../assets/icons'\nimport { Button } from '../../baseComponents'\nimport { myAccountContext, pathContext } from '../../../contexts/contexts'\nimport '../TermsOfUse/termsofuse.css'\nimport './CreateAccountTos.css'\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook'\n\nconst CreateAccountTos = () => {\n PageTitleHook('USCIS Online Account | Legal')\n const { setUrl } = useContext(pathContext)\n const { setUser } = useContext(myAccountContext)\n\n const scrollArrowRef = useRef(null)\n const agreeButtonRef = useRef(null)\n const scrollContainerRef = useRef(null)\n const [showBtn, setShowBtn] = useState(true)\n const [submitButtonDisabled, setSubmitButtonDisabled] = useState(false)\n\n const apiClient = useApiClient()\n\n let scrollingInterval: any = setInterval(() => { })\n\n const handleSubmit = (e: any) => {\n const url = window.location.origin + '/v1/users/accept_terms'\n setSubmitButtonDisabled(true)\n apiClient\n .post(url)\n .then((res) => {\n if (res.status === 200) {\n setUser(res.data)\n if (res.data['authentication_state'] === 'awaiting_password_creation') {\n setUrl('/create-password')\n }\n if (res.data['authentication_state'] === 'fully_signed_in') {\n setUrl('/dashboard')\n }\n }\n })\n .catch((err) => {\n console.log(err.response)\n })\n }\n\n const handleKeyDown = (e: any) => {\n if (e.repeat) return\n if (e.key === 'Enter' || e.key === ' ') {\n scrollingInterval = setInterval(scrollDown, 100)\n }\n }\n\n const handleKeyUp = (e: any) => {\n if (e.key === 'Enter' || e.key === ' ') {\n stopScroll()\n }\n }\n\n const startScrollDown = () => {\n scrollingInterval = setInterval(scrollDown, 100)\n }\n\n const scrollDown = () => {\n if (isBottom(document.getElementById('container'))) {\n stopScroll()\n } else {\n window.scrollBy({\n top: 100,\n left: 0,\n behavior: 'smooth',\n })\n }\n }\n\n const stopScroll = () => {\n clearInterval(scrollingInterval)\n }\n\n const isBottom = (el: HTMLElement | null) => {\n return el ? el.getBoundingClientRect().bottom <= window.innerHeight : false\n }\n\n const trackScrolling = useCallback(() => {\n const wrappedElement = document.getElementById('container')\n if (isBottom(wrappedElement)) {\n setShowBtn(false)\n } else {\n setShowBtn(true)\n }\n }, [])\n\n const handleClickPageDown = () => {\n window.scrollBy({\n top: 100,\n left: 0,\n behavior: 'smooth',\n })\n }\n\n useEffect(() => {\n window.addEventListener('scroll', trackScrolling)\n return () => window.removeEventListener('scroll', trackScrolling)\n }, [trackScrolling])\n\n return (\n
\n
\n {showBtn && (\n
\n
\n \n \n \n
\n
\n )}\n

Terms of Use

\n\n

\n U.S. Citizenship and Immigration Services Online Electronic Immigration System\n

\n
\n

\n This document contains the Terms of Use (“Terms”) for the U.S. Citizenship and Immigration\n Services (USCIS) online electronic immigration system accessed using established portals, such as myAccount\n access page, or its successor. You should read these Terms in their entirety and acknowledge that by\n creating an account or accessing or attempting to access systems and services available online through\n myAccount, or its successor, that you have read, understand, and agree to comply with these Terms in\n order to access and use any or all of these systems. The Terms apply to every individual and user,\n including attorneys and accredited representatives acting on behalf of a business, corporation, limited\n partnership, limited liability company, or other legal entity, and any employees of such entities, who\n accesses, uses, or creates an online account in USCIS’ electronic immigration system and information\n technology resource, which includes the network, application, managed access developer portal, external\n drives that upload, process, store, receive or transmit information.\n

\n

\n USCIS’ electronic immigration system is an online, account-based system that allows users to submit requests\n for immigration benefits and certain immigration services, as well as view certain applications, petitions,\n and requests; receive electronic notification of USCIS notices and decisions; confirm employment eligibility\n and lock employment eligibility information against misuse; submit Freedom of Information Act (FOIA) and\n Privacy Act requests; receive real-time status updates on pending cases and work eligibility; and use\n defined roles to access certain technical specifications within designated interface portals. USCIS’\n electronic immigration system allows individuals, attorneys, accredited representatives, and other\n authorized users to conveniently and securely set up and manage online accounts; electronically submit\n certain applications, registrations, petitions, or requests and supporting documents; receive and respond to\n USCIS notices, requests for evidence, and decisions electronically; and pay filing fees, biometric services\n fees, registration fees, and immigrant fees. Periodically, USCIS will release additional functionality that\n will allow individuals, attorneys, and accredited representatives to perform additional functions online,\n which may include, paying service and processing fees, filing motions to reopen or reconsider, submitting\n program registrations, engaging in technical integration capabilities with programming interfaces, exposed\n data, and content management systems, paying administrative appeal fees, confirming employment eligibility,\n obtaining FOIA or Privacy Act responses, and requesting fee waivers online.\n

\n

\n These Terms require that you use this system only to perform lawful immigration-related functions and\n to communicate with the Department of Homeland Security (DHS) and any component thereof, including USCIS.\n The Terms detail the laws, policies, and procedures you must abide by when using the system to submit\n any application, petition, registration, or request to USCIS, submit technical programming interface data,\n access exposed data content, or communicate with DHS and/or USCIS. The Terms also detail what actions\n are prohibited when using the system and the penalties for misuse.\n

\n

\n By accessing or using this system, you are legally bound by the terms and conditions noted below. If you do\n not agree with any provision of these Terms then you may not access USCIS’ online electronic\n immigration system for any purpose including, but not limited to, creating an account, filing an\n application, petition, registration, or request, paying a filing and/or biometric services fee, paying a\n registration fee, checking a status online, confirming employment eligibility, and requesting assistance\n with access, use or technical issues associated with the USCIS online electronic immigration system,\n engaging in technical integration with: programming interfaces, exposed data, and content management\n systems, or managed technical access to the developer portal. Any violation of these Terms may result\n in immediate suspension or termination of any access provided to the USCIS online electronic immigration\n system and may result in administrative or civil actions as allowed by law, or criminal prosecution.\n

\n

\n
\n
\n
    \n

    \n
  1. Governing Laws
  2. \n

    \n
      \n
    • \n These Terms are governed and construed in accordance with the laws of the United States. Any\n failure by DHS or any component thereof, including USCIS, to enforce any provision in the Terms{' '}\n will not be considered a waiver of any privileges, immunities, or rights provided under applicable\n Federal, state, and foreign laws. These Terms do not create any right or benefit, substantive or\n procedural, for any individual or entity.\n
    • \n
    • \n If any provision of these Terms is held to be invalid or unenforceable by a court of law, the\n remaining provisions of these Terms shall be severable from the invalid or unenforceable\n provision and will remain in effect.\n
    • \n
    • \n To the extent permitted by law, USCIS disclaims all warranties whether express or implied, including the\n implied warranties of merchantability, fitness, for a particular purpose, title, and non-infringement.\n Accordingly, our liability shall be limited to the fullest extent permitted by applicable law, and under\n no circumstance will we be liable to participants or others for any lost profits, revenues, information,\n or data, or consequential, special, indirect, exemplary, punitive, or incidental damages arising out of\n or related to participation and use of the services and program accessed online using USCIS myAccount,\n or its successors.\n
    • \n
    \n\n

    \n
  3. Trademarks and Logos
  4. \n

    \n
      \n
    • \n DHS is the trademark owner and authorized user of the myAccount name and logo and the name and logo of\n the various systems accessible from this portal, including, but not limited to, myUSCIS, FIRST, E-Verify\n and myE-Verify, 3PI, and all successors. Users may not use these trademarked items without the prior\n written consent of DHS.\n
    • \n
    • \n Nothing in these Terms shall be interpreted as authorization to use the official seal, insignia\n or other visual identities of DHS, USCIS, E-Verify, myE-Verify, FIRST, myUSCIS, USCIS ELIS, myAccount,\n 3PI, or any other DHS or USCIS service or system, (for example, myE-Verify Self Check). Participants\n shall not use the DHS, USCIS, FIRST, myUSCIS, USCIS ELIS, myAccount, E-Verify, myE-Verify or Self Check\n seal, insignia, or other visual identities in any manner to imply endorsement of any commercial product\n or activity by DHS, USCIS, E-Verify, myE-Verify or the United States government. Use of these seals,\n insignia or other visual identities without authorization violates federal law (See, 18 U.S.C. §§ 506,\n 701, 1017). Creation of an online account and use of these systems and services or the receipt of\n information from any USCIS portal does not grant any licenses to copyrights, patents, any other\n intellectual property rights, or the rights to any of the materials on the site or sites or materials\n accessed by use of the site. Users warrant that none of the information provided to participate in or\n use the USCIS online electronic immigration system (including an individual, unique e-mail address)\n infringes any copyright or the intellectual property rights of any third parties.\n
    • \n
    \n\n

    \n
  5. Rules of Behavior
  6. \n

    \n

    \n The Rules of Behavior (RoB) noted below are consistent with the purpose of USCIS’ online electronic\n immigration system.\n

    \n
      \n
    • \n I understand that any access granted to me by DHS or any component thereof, including USCIS, for use of\n USCIS’ electronic immigration system is based on my need to perform specific online tasks and activities\n related to the managed technical access to the developer portal, configurations of programming\n interfaces, or other specifically permitted access, preparation and filing of requests for immigration\n benefits and services (such as, applications, petitions, registrations, and payment of various fees),\n relief from removal (such as, requests filed with USCIS by aliens in exclusion, deportation, or removal\n proceedings), obtaining or verifying legal status, administrative appeals, motions to reopen or\n reconsider any rendered decisions, legal status, confirmation of employment eligibility, FOIA or Privacy\n Act response or other associated relief , benefit, or service.\n
    • \n
    \n

    \n I agree to the following:\n

    \n
      \n

      \n
    • Use
    • \n

      \n
        \n
        \n
      1. Online Account Holders
      2. \n
        \n
          \n
        • \n I will only use USCIS’ electronic immigration system as designed and to perform authorized U.S.\n immigration-related functions and communicate with DHS and USCIS.\n
        • \n
        • \n I will not create an online account unless I am at least 14 years of age. In the event I am under\n 14, a parent or legal guardian must create an online account in their own name in order to file\n applications, petitions, check the status of a case or request submitted on my behalf, or submit\n other appropriate requests or engage in other authorized use.\n
        • \n
        • \n I will only use USCIS’ electronic immigration system for official DHS or USCIS-related\n communications, notices, responses, or correspondence in relation to any immigration application,\n petition, registration, or request; request for legal status or deferred action; relief from removal\n proceedings; request for advance parole or employment authorization; confirmation of employment\n eligibility; request a FOIA or Privacy Act response; payment of filing fees, biometric services\n fees, premium processing fees, payment of registration fees, motions to reopen or reconsider or\n administrative appeal fees, payment of immigrant fees or for filing a request for a fee waiver;\n access to the developer portal; or for authorized review and configuration of technical programming\n interface products.\n
        • \n
        • \n I will abide by all applicable laws and regulations that pertain to the submission of an\n application, petition, registration, or request to USCIS; request for legal status or deferred\n action; relief from removal proceedings; request for advance parole or employment authorization;\n confirmation of employment eligibility; payment of filing fees, biometric services fees, premium\n processing fees, registration fees, request for FOIA or Privacy Act response motions to reopen or\n reconsider or administrative appeal fees, and/or immigrant fees or for filing requests for a fee\n waiver online.\n
        • \n
        • \n I will also submit any requests for immigration benefits under penalty of perjury and with a\n certification that I understand the contents of the filing and supporting documents submitted with\n any filing.\n
        • \n
        • \n I will abide by all applicable laws and regulations related to the access and use of any DHS or\n USCIS government computer system, including USCIS’ online electronic immigration system, designated\n for the filing, adjudication, communication on any application, petition, registration, or request\n for an immigration benefit; request for legal status or deferred action; request for advance parole\n or employment authorization; confirmation of employment eligibility; request for a FOIA or Privacy\n Act response; payment of filing fees, biometric services fees, premium processing fees, registration\n fees, other service fees, motions to reopen or reconsider or administrative appeal fees, payment of\n immigrant fees or for filing requests for a fee waiver online; or for authorized review and\n configuration of technical programming interface products.\n
        • \n
        • \n I understand that DHS reserves the right to monitor usage and activity on the USCIS online\n electronic immigration system. DHS may view or scan any file stored on the electronic immigration\n system. I understand that DHS maintains a right to access the contents of any stored data on the\n USCIS online electronic immigration system at any time, for any purpose, including the enforcement\n of the immigration laws and any laws related to the access and use of government systems. All\n electronic activity on the USCIS online electronic immigration system may be inspected and is\n subject to monitoring without additional notice, as deemed necessary, and to the full extent, unless\n expressly prohibited by applicable statutes. I understand that the use of USCIS’ online electronic\n immigration system constitutes my consent to collection, monitoring and auditing of my use of USCIS’\n online electronic immigration system, by DHS and any of its components and by any Federal, state or\n local law enforcement entity, for implementation, adjudication, investigation, and enforcement of\n the immigration and criminal laws. This does not abrogate any limitations on information disclosure\n specified under any system of records notice governing access and use of DHS systems.\n
        • \n
        • \n I understand that I must create, provide, and maintain the security of my unique online account,\n account password, authentication code, other log-in and account creation features and requirements,\n as well as the answers to security questions for password reset.\n
        • \n
        • \n I understand that to access or use USCIS’ online electronic immigration system, I must use valid\n credentials to access an account I am authorized to access by DHS or USCIS. I agree to use my online\n account for the purpose for which it was created and in the manner it was designed. I agree to use a\n valid personal and personally-controlled, unique email address or username and other required\n authentication credentials with each online access attempt and session. I agree to use a valid\n unique, online account password and the generated access passcode delivered by email or SMS (“Short\n Message Service”), MMS (Multi-Media Message Service) text message, or any other provided\n authentication credential intended for access to and use of USCIS’ online electronic immigration\n system. I agree that each individual user, including legal representatives and authorized agents,\n should have an individual, unique email address and online account password for their account. Each\n online account is used to certify that any information submitted in the online electronic\n immigration system is true and correct, and that the electronic signature shall be considered an\n affirmation, under penalty of perjury, that any such information submitted, was submitted with full\n knowledge, intent, and understanding, or, if represented, was expressly agreed to and authorized by\n my legal representative or the company’s legal representative, in the event of registration or\n certain select services and processes.\n
        • \n
        • \n I agree to use my personal online account solely for filing a request for myself or, in the case of\n attorneys and accredited representatives, on behalf of an individual client or corporate entity, as\n applicable. In the case of account holders who are authorized and registered to participate in the\n developer community of users, I agree to use my personal online account solely to access the managed\n developer portal and in compliance with my assigned user role and permissions. When using a\n registration account, or account type such as an applicant, petitioner, requestor, or legal\n representative account, I agree to use the account I created solely to submit required registrations\n or other required submissions that I am authorized to submit to USCIS on behalf of an employer,\n agent, or other authorized individual or entity. In the instance of submitting requests on behalf of\n minor children, incapacitated or disabled individuals, if requested by DHS or USCIS, I agree to\n provide proof of authority such as guardianship orders, proof of recognized family relationship, or\n other required information and evidence.\n
        • \n
        • \n I am responsible for safeguarding my unique credentials associated with my online account, including\n my unique email address associated with my online account, username, account password, and passcode\n and not disclosing it to any other person. I understand that, as a USCIS’ online electronic\n immigration system account holder and user, I am the only person authorized to use my access\n credentials to access my assigned online account in USCIS’ online electronic immigration system.\n
        • \n
        • \n If my online account has been compromised in any way. I will notify USCIS immediately, by either\n calling the Contact Center at 800-375-5283 or sending USCIS an electronic message as instructed on\n the uscis.gov website.\n
        • \n
        • \n My identity will be tied to my access credentials and the USCIS online electronic immigration system\n account to which I have requested and been granted access. I understand that my ability to\n electronically sign and submit applications, petitions, registrations, or various requests,\n including submissions of technical configurations, is directly tied to my USCIS online electronic\n immigration system account. I understand that my legal representative, if any, will be able to\n submit an application, petition, or request on my behalf after I have expressly agreed to his or her\n representation and authorized him or her to file requests with DHS or any of its components. If\n submitting registrations or other authorized submissions as an authorized official for a company or\n other organization or entity using a registration account or other specialized account, I agree that\n I can only do so if I have obtained express authorization from the company, organization, or entity\n to submit registrations or other authorized submissions.\n
        • \n
        \n\n
        \n
      3. Attorney and Accredited Representative Online Account Holders
      4. \n
        \n

        \n If I am an attorney or accredited representative seeking to represent, representing, or submitting an\n application, petition, registration, or request to USCIS on behalf of an applicant, petitioner,\n beneficiary, or requester seeking an immigration benefit, immigration service, legal status or\n deferred action; relief from removal proceedings; advance parole or employment authorization;\n confirmation of employment eligibility; payment of filing fees, biometric services fees, payment of\n premium processing fees, payment of registration fee, submitting motions to reopen or reconsider or\n administrative appeal fees, and/or immigrant fees or for filing requests for a fee waiver, or any\n other tasks or action on the USCIS online electronic immigration system, I will:\n

        \n
          \n
        • \n Abide by the rules of professional conduct prescribed under section 292 of the Immigration and\n Nationality Act (8 U.S.C. 1362) and Title 8 of the Code of Federal Regulations, parts 292 and 1003.\n
        • \n
        • \n Timely submit a signed Notice of Entry of Appearance as Attorney or Accredited Representative, Form\n G-28, in the manner and format, designated by USCIS, to notify USCIS of my appearance as an Attorney\n or Accredited Representative on behalf of the applicant, petitioner, beneficiary, registrant or\n requester.\n
        • \n
        • \n Ensure that when representing an individual person, each client I represent has created his or her\n own online account, with unique credentials pertinent to the established account, such as an email\n address, username, and online account password and that each client I represent can access, review\n and personally electronically sign his or her application, petition, or request I have prepared on\n his or her behalf in USCIS’ online electronic immigration system, through their own personal unique\n account.\n
        • \n
        • \n Only create, access, and use the representative online account, authorized by DHS and USCIS, for\n interaction with USCIS’ online electronic immigration system, to prepare an application, petition,\n request, registration, or submit fee payments or registration payments on behalf of my client and to\n electronically sign the designated form notifying USCIS of my appearance as my client’s online\n attorney or accredited representative.\n
        • \n
        • \n Be responsible for the proper protection and disclosure of any personally identifiable information\n (PII) to USCIS via USCIS’ online electronic immigration system. Any potential improper disclosure of\n PII that occurs as the result of my intended or inadvertent misuse of USCIS’s online electronic\n immigration system is my responsibility to disclose and remedy. At its discretion, USCIS may notify\n me and/or my clients in the event of a suspected improper disclosure of PII.\n
        • \n
        \n
      \n

      \n
    • Prohibitions
    • \n

      \n
        \n
        \n
      1. Online Account Holders
      2. \n
        \n

        \n If I am an individual seeking to file an application, petition, registration, request, or appeal\n through USCIS’ online electronic immigration system for any immigration benefit, immigration service,\n legal status or deferred action; relief from removal proceedings; advance parole or employment\n authorization; confirmation of employment eligibility; receipt of FOIA or Privacy Act response;\n payment of filing fees, biometric services fees, premium processing fees, registration fees, immigrant\n fees, motion or appeal filing fees, filing requests for a fee waiver online, any other service fee or\n benefit request, or if I am engaging in authorized review and configuration of technical programming\n interface products, managed technical access to the developer portal, content management systems, or\n other specifically permitted access, I agree that I will not:\n

        \n
          \n
        • \n Access any user accounts, data stores, systems, applications, form types, backend data, or technical\n programming interfaces to which I have not been granted access and that are not expressly authorized\n for access to or use by me by DHS or USCIS, or create any online account if I am under the age of\n 14.\n
        • \n
        • \n Attempt to bypass access control, monitoring, or auditing measures instituted by DHS or USCIS to\n ensure the integrity and security of U.S. government systems, including USCIS online electronic\n immigration system.\n
        • \n
        • \n Use anyone else’s online account, secure account password, authentication credentials or answers to\n security questions for password reset to access or use USCIS’s online electronic immigration system.\n
        • \n
        • \n Share my email address, username, secure account password, online access code, or any other user\n identification or authentication credential used to access USCIS’s online electronic immigration\n system with anyone else for their own use in the USCIS online electronic immigration system.\n
        • \n
        • \n Authorize another person to log into, access, or use my USCIS online electronic immigration system\n account.\n
        • \n
        • \n Allow or permit another person or legal entity to electronically sign any application, petition,\n registration, or request for me and that I am required to personally, electronically sign any\n application, petition, registration, or request that I am submitting unless I am mentally\n incompetent, have a legally designated guardian or surrogate, or am a minor child under 14 years of\n age.\n
        • \n
        • \n Allow another person, attorney, accredited representative, company, legal entity, organization, or\n authorized agent acting on behalf of a company, legal entity, corporation, partnership, or other\n organized business, to setup or manage my online individual account, secure account password,\n authentication credentials or answers to security questions for password reset to access USCIS’\n online electronic immigration system on my behalf as an individual applicant, petitioner,\n registrant, requestor or technical contributor. Exceptions apply to a legal guardian, parent (if\n requestor is of minor age), or other agent expressly authorized and permitted to act on behalf of\n another individual by DHS or USCIS.\n
        • \n
        • \n Use my USCIS online electronic immigration system account or individual authentication credentials\n to file or electronically sign an application, petition, registration, or request for someone other\n than myself, confirm employment eligibility, submit or access technical programming interface data\n without permission, or file or electronically sign an application, petition, or request for more\n than one person, unless I am acting as that person’s legal guardian, parent, or acting pursuant to a\n lawful grant of power of attorney on that person’s behalf as recognized and authorized by DHS or\n USCIS.\n
        • \n
        \n\n
        \n
      3. Attorneys and Accredited Representatives Online Account Holders
      4. \n
        \n

        \n If I am an attorney or accredited representative seeking to represent, representing, or submitting an\n application, petition, registration, request, or appeal on behalf of an applicant, petitioner,\n beneficiary, or requester seeking an immigration benefit, legal status or deferred action; relief from\n removal proceedings; advance parole or employment authorization; confirmation of employment\n eligibility; receipt of FOIA or Privacy Act response; payment of filing fees, biometric services fees,\n premium processing fees, registration fees, immigrant fees, motion or appeal fees, filing requests for\n a fee waiver online, or any other service fee or benefit request I agree that:\n

        \n
          \n
        • \n I cannot act or appear on behalf of an applicant, petitioner, requester, employer, or agent until\n after he or she has consented to my representation pursuant to 8 CFR 292.4 and has personally\n executed his or her signature on all required documentation.\n
        • \n
        • \n I will not file an application, petition, request, registration, or other submission in USCIS’\n online electronic immigration system until I notify USCIS of my appearance as an attorney or\n accredited representative on behalf of the applicant, petitioner, or requester I seek to represent,\n and this notice is appropriately submitted to DHS or USCIS in accordance with laws and regulations.\n
        • \n
        • \n I will not electronically sign an application, petition, request, or registration for an applicant,\n petitioner, registrant or requester in USCIS’ online electronic immigration system. I acknowledge\n that it is the duty of my client to sign the application, petition, registration, or request under\n penalty of perjury, certifying that he or she understands the contents of the filing and supporting\n documents submitted with any filing.\n
        • \n
        • \n I will not allow different applicants, petitioners, registrants, or requesters to use or share the\n same online account or to be linked or granted access to a USCIS’ online electronic immigration\n system account that is not theirs and associated to their individual unique authentication\n credentials.\n
        • \n
        • \n I will only use the authorized representative online account that I created to access and use USCIS’\n online electronic immigration system or obtain any information contained therein.\n
        • \n
        • \n I will not access USCIS’s online electronic immigration system using an applicant’s, petitioner’s,\n registrant's, or requester’s online account or perform any actions under cover of applicant’s,\n petitioner’s, registrant's, or requester’s online account, including executing any required\n electronic signatures.\n
        • \n
        \n\n
        \n
      5. \n Legal Entities, Corporations, Partnerships, Companies, Organized Business, and Agents Acting on\n Behalf of Such Entities\n
      6. \n
        \n

        \n If I am an authorized official or agent acting on behalf of a company, legal entity, corporation,\n partnership, or other organized business, including, but not limited to the preparation of\n applications, petitions, requests, registrations, or other submissions, or providing interpretation or\n translation services for the filing or submission of an application, petition, request, registration,\n or other submission, including submissions of technical configurations, and programming interface data\n with the DHS or any component thereof, including USCIS, U.S. Customs and Border Protection, and U.S.\n Immigration and Customs Enforcement, I agree that:\n

        \n
          \n
        • \n I may not file any application, petition, request, registration, or other submission with DHS or any\n component thereof, including USCIS, without the express consent of the applicant, petitioner,\n registrant, or requester.\n
        • \n
        • \n I must abide by all Federal, state, and local laws governing the authorized practice of law and\n prohibiting the unauthorized practice of law in the jurisdiction in which the company, legal entity,\n corporation, partnership, or other organized business or authorized agent acting on behalf of a\n company, legal entity, corporation, partnership, or other organized business, resides, has a\n physical presence, conducts business, or authorizes transactions involving any interactions with\n USCIS, DHS, or any component thereof.\n
        • \n
        \n
      \n

      \n
    • Protect Personally Identifiable Information (PII) – (Applicable to All Users)
    • \n

      \n
        \n
      • \n I understand, for the purpose of accessing USCIS’ online electronic immigration system, that I may be\n handling or uploading documents or data that contain PII, and I affirm that I will adhere to all\n privacy laws and rules governing the safeguarding and use of PII.\n
      • \n
      • \n I agree to safeguard PII information from accidental, unintentional, or unauthorized disclosure at any\n time and to any person not authorized to have access to such information.\n
      • \n
      \n\n

      \n
    • Incident Reporting – (Applicable to All Users)
    • \n

      \n
        \n
      • \n I will cooperate willingly with DHS or USCIS on any investigation of any privacy, security, or cyber\n incidents and, if directed by DHS or USCIS, I will voluntarily relinquish all access to and use of\n USCIS online electronic immigration system during the period of investigation and/or law enforcement\n action in response to such incidents.\n
      • \n
      • \n If my online account has been compromised in any way. I will notify USCIS immediately, by either\n calling the Contact Center at 800-375-5283 or sending USCIS an electronic message as instructed on the\n uscis.gov website.\n
      • \n
      \n\n

      \n
    • Penalties for Misuse – (Applicable to All Users)
    • \n

      \n
        \n
      • \n I understand that any violation of these Terms may result in immediate suspension or termination of my\n access to USCIS online electronic immigration system and may subject me to administrative or civil\n actions as allowed by law, or criminal.\n
      • \n
      • \n I agree that I may be held accountable for my actions or inactions that result in any DHS or USCIS\n computer security incident, privacy incident, or computer security violation. This includes the\n possibility of immediate suspension or termination of my access to USCIS online electronic immigration\n system, administrative or civil actions as allowed by law, or criminal prosecution.\n
      • \n
      \n
    \n\n

    \n
  7. Termination of Access or Use of USCIS’ Online electronic immigration System
  8. \n

    \n
      \n
    • \n USCIS, in its sole discretion, may suspend or terminate account access to and use of USCIS online\n electronic immigration system immediately, without prior notice.\n
    • \n
    • \n USCIS also will suspend or terminate service if USCIS determines there has been a privacy or security\n breach, misuse of the system, or breach in the Terms by any user.\n
    • \n
    • \n USCIS reserves the right to reinstate or restore service to any specific user after USCIS has made a\n determination, in its discretion, that restoration or reinstatement of service is warranted.\n
    • \n
    \n\n

    \n
  9. Links to Other Web Sites
  10. \n

    \n
      \n
    • \n USCIS’ online electronic immigration system may contain links to third party web sites or services that\n are not owned or controlled by DHS or USCIS. These may include federal, state, and local government\n websites of the United States, and may also include websites owned and operated by private entities.\n
    • \n
    • \n USCIS has no control over, and assumes no responsibility for the content, privacy policies, or practices\n of any third party web sites or services. I acknowledge and agree that USCIS shall not be responsible or\n liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in\n connection with use of or reliance on any such content, goods or services available on or through any\n such web sites or services. DHS and USCIS strongly advise individuals who intend on accessing USCIS’\n online electronic immigration system and third party websites to read the terms and conditions and\n privacy policies of any third party web sites or services.\n
    • \n
    \n\n

    \n
  11. Changes to Terms of Use
  12. \n

    \n
      \n
    • \n USCIS reserves the right, at its sole discretion, to modify or replace these Terms at any time.\n
    • \n
    • \n By continuing to access or use USCIS’ online electronic immigration system after updated revisions\n become effective, I agree to be bound by the revised Terms.\n
    • \n
    • \n If I do not agree to the new Terms, I agree not to access USCIS’ online electronic immigration\n system for any purpose including, but not limited to, creation of an online account, filing of an\n application, petition, registration, or request, paying a filing and/or biometric services fee, checking\n a case status online, requesting assistance with access, submitting technical configurations or\n programming interfaces, accessing specific end user data, or any technical issues associated with USCIS\n online electronic immigration system.\n
    • \n
    \n\n

    \n
  13. Acknowledgment
  14. \n

    \n

    \n By clicking \"I agree\", I acknowledge that I have read the Terms and understand and will comply with\n them. I agree to abide by the Terms and understand that if I do not accept the Terms, I am\n not eligible to access or use USCIS online electronic immigration system. I understand that any violations\n of these Terms and any criminal activity will result in immediate suspension and/or termination of\n my access to and use of USCIS online electronic immigration system and that I may be subject to\n administrative or civil action as allowed by law, or criminal prosecution.\n

    \n
\n
\n
\n\n
\n \n
\n
\n )\n}\n\nexport default CreateAccountTos\n","import React from 'react'\n\nexport const EverifyLogo = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n )\n} \n\n","import React from 'react'\n\nexport const FirstLogo = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n\n )\n} \n\n","import React from 'react'\nexport const MyuscisLogo = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n )\n}\n","import React, { useContext } from 'react';\nimport { EverifyLogo } from '../../../assets/icons/everify_logo';\nimport { FirstLogo } from '../../../assets/icons/first_logo';\nimport { MyuscisLogo } from '../../../assets/icons/myuscis_logo';\nimport { pathContext } from '../../../contexts/contexts';\n\nexport interface DashboardCardProps {\n url: string;\n buttonText: string;\n description: string;\n type: string;\n}\n\nconst logoMap = new Map();\n\nlogoMap.set('myUSCIS', );\nlogoMap.set('first', );\nlogoMap.set('myEverify', );\nlogoMap.set('E-Verify+', 'E-Verify+');\nlogoMap.set('Account RP', 'Account RP');\nlogoMap.set('Edit myAccount', 'Edit My Account Profile');\n\nconst DashboardCard = (props: DashboardCardProps) => {\n const { url, buttonText, description, type } = props;\n const { setUrl } = useContext(pathContext);\n\n return (\n
\n \n {logoMap.get(type)}\n
\n
\n

{description}

\n
\n setUrl(url)}\n >\n {buttonText}\n \n
\n
\n \n );\n};\n\nexport default DashboardCard;\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport { NewPageIcon } from '../../../assets/icons';\nimport DashboardCard, { DashboardCardProps } from './DashboardCard';\nimport './dashboard.css';\nimport { myAccountContext, pathContext } from '../../../contexts/contexts';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\n\nconst cardDataMap = new Map();\ncardDataMap.set('myuscis_url', {\n type: 'myUSCIS',\n buttonText: 'Go to myUSCIS',\n description:\n 'Apply for immigration benefits, find tools and resources to assist in preparation for naturalization, and search for doctors in your local community.',\n});\ncardDataMap.set('first_url', {\n type: 'first',\n buttonText: 'Go to FIRST',\n description: 'Submit, manage and receive Freedom of Information Act (FOIA) requests.',\n});\ncardDataMap.set('myeverify_url', {\n type: 'myEverify',\n buttonText: 'Go to myE-Verify',\n description:\n 'Confirm your records for employment eligibility, track E-Verify or Self-Check case status, and protect your identity by locking your Social Security Number (SSN)',\n});\ncardDataMap.set('accountrp_url', {\n type: 'Account RP',\n buttonText: 'Go to Account RP',\n description: 'This is the link to the Account RP relying party test tools.',\n});\ncardDataMap.set('everify_plus_url', {\n type: 'E-Verify+',\n buttonText: 'Go to E-Verify+',\n description:\n 'E-Verify+ is only for newly hired employees contacted by their employer to complete the Employment Eligibility Verification, Form I-9, as part of the E-Verify+ process.',\n});\ncardDataMap.set('editMyAccount', {\n type: 'Edit myAccount',\n buttonText: 'Edit My Account',\n description:\n 'Editing your profile includes making changes to your email, password, phone number, security questions, or the two-step verification method and backup code.',\n});\nconst cardOrder = ['myuscis_url', 'first_url', 'myeverify_url', 'everify_plus_url', 'accountrp_url'];\n\nexport const Dashboard = () => {\n PageTitleHook('USCIS Online Account | Your USCIS account');\n const { user, setUser } = useContext(myAccountContext);\n const { setUrl, setUserState } = useContext(pathContext);\n\n const [allUrls, setAllUrls] = useState({});\n const [cards, setCards] = useState>([]);\n const [cardsCreated, setCardsCreated] = useState(false);\n const [accountType] = useState(user['account_type']);\n\n const apiClient = useApiClient();\n\n useEffect(() => {\n let isApiSubscribed = true;\n setUserState('');\n apiClient\n .get('dashboard')\n .then((res) => {\n setUser(res.data);\n if (isApiSubscribed) {\n const allUrls = res.data['urls'];\n setAllUrls(allUrls);\n }\n })\n .catch((err: any) => {\n console.error(err);\n });\n return () => {\n isApiSubscribed = false;\n };\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const createDashboardCards = useCallback(() => {\n const cards: Array = [];\n cards.push({ ...cardDataMap.get('editMyAccount'), url: '/edit-account' });\n cardOrder.forEach((urlName) => {\n if (allUrls[urlName]) {\n cards.push({ ...cardDataMap.get(urlName), url: allUrls[urlName] });\n }\n });\n if (accountType === null || accountType === 'noaccounttype') {\n let el = cards.find((el) => el.type === 'myUSCIS');\n\n let myuscisCardIndex = cards.indexOf(el!);\n cards[myuscisCardIndex] = {\n ...cardDataMap.get('myuscis_url'),\n url: '/users/type',\n };\n }\n setCards(cards);\n setCardsCreated(true);\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [accountType, allUrls, setUrl]);\n\n useEffect(() => {\n if (!cardsCreated && Object.keys(allUrls).length > 0) {\n createDashboardCards();\n }\n }, [allUrls, cardsCreated, createDashboardCards]);\n\n return (\n <>\n {cards.length !== 0 && (\n
\n
\n

Welcome to your USCIS Account

\n

Please select what you want to do.

\n
\n {cards.map((card, idx) => (\n \n ))}\n
\n

\n Not sure what service you need? Start at{' '}\n \n uscis.gov\n \n \n \n {' '}\n

\n
\n
\n )}\n \n );\n};\n","import React from 'react';\nimport './LegalSection.css';\n\nexport const LegalSection = () => {\n return (\n
\n

Legal

\n
\n \n Department of Homeland Security Consent\n \n \n DHS Privacy Notice\n \n \n FBI Privacy Notice\n \n \n Paperwork Reduction Act Burden Disclosure Notice\n \n \n Terms of Use\n \n
\n
\n );\n};\n","export default __webpack_public_path__ + \"static/media/login_dot_gov_logo_sign_in.1bcfccf0.svg\";","import { GetPasskeysData, PasskeyListItem } from './PasskeyInterfaces';\nimport { AxiosInstance } from 'axios';\n\nexport const listPasskeys = async (apiClient: AxiosInstance): Promise> => {\n let passkeys: Array = [];\n\n try {\n const getPasskeysResponse = await apiClient.get('/webauthn/get_passkeys');\n const getPasskeysData: GetPasskeysData = getPasskeysResponse.data;\n\n if (getPasskeysData.records?.length) {\n passkeys = getPasskeysData.records;\n }\n } catch (e: any) {\n // console.log(e.message);\n }\n\n return passkeys;\n};\n","import { PasskeyRegistration } from './PasskeyInterfaces';\nimport { AxiosInstance } from 'axios';\nimport type { PublicKeyCredentialCreationOptionsJSON } from '@simplewebauthn/browser';\nimport { startRegistration } from '@simplewebauthn/browser';\n\nexport const registerPasskey = async (apiClient: AxiosInstance): Promise => {\n let registration: PasskeyRegistration = { success: false };\n\n try {\n // request options from server\n const optionsResponse = await apiClient.post('/webauthn/new_passkey_options');\n const optionsJSON: PublicKeyCredentialCreationOptionsJSON = optionsResponse.data;\n // console.log(optionsJSON);\n\n // send options to device and receive credential back\n const credential = await startRegistration({ optionsJSON });\n // console.log(credential);\n\n // send credential to server\n const serverResponse = await apiClient.post('/webauthn/add_passkey', JSON.stringify({ credential }));\n // console.log(serverResponse);\n\n registration = { success: true, user: serverResponse.data };\n } catch (e: any) {\n // console.log(e.message);\n }\n\n return registration;\n};\n","import { PasskeyListItem, PasskeyRemoval } from './PasskeyInterfaces';\nimport { AxiosInstance } from 'axios';\n\nexport const removePasskey = async (apiClient: AxiosInstance, passkey: PasskeyListItem): Promise => {\n let removal: PasskeyRemoval = { success: false };\n\n try {\n const removePasskeyResponse = await apiClient.post('/webauthn/remove_passkey', { id: passkey.id });\n\n removal = { success: true, user: removePasskeyResponse.data };\n } catch (e: any) {\n // console.log(e.message);\n }\n\n return removal;\n};\n","import { PasskeySignIn } from './PasskeyInterfaces';\nimport { AxiosInstance } from 'axios';\nimport type { PublicKeyCredentialRequestOptionsJSON } from '@simplewebauthn/browser';\nimport { startAuthentication } from '@simplewebauthn/browser';\n\nexport const signInWithPasskey = async (apiClient: AxiosInstance): Promise => {\n let signIn: PasskeySignIn = { success: false };\n\n try {\n // request challenge options from server\n const challengeResponse = await apiClient.get('/webauthn/generate_challenge');\n const optionsJSON: PublicKeyCredentialRequestOptionsJSON = challengeResponse.data;\n // console.log(optionsJSON);\n\n // send challenge options to device and receive credential back\n const credential = await startAuthentication({ optionsJSON });\n // console.log(credential);\n\n // send credential to server\n const serverResponse = await apiClient.post('/authentication/sign_in_with_passkey', { credential });\n // console.log(serverResponse);\n\n signIn = { success: true, user: serverResponse.data };\n } catch (e: any) {\n // console.log(e.message);\n }\n\n return signIn;\n};\n","import { PasskeyListItem, PasskeyEdit } from './PasskeyInterfaces';\nimport { AxiosInstance } from 'axios';\n\nexport const editPasskey = async (\n apiClient: AxiosInstance,\n passkey: PasskeyListItem,\n newFriendlyName: string\n): Promise => {\n let removal: PasskeyEdit = { success: false };\n\n try {\n const removePasskeyResponse = await apiClient.post('/webauthn/update_passkey', {\n id: passkey.id,\n friendly_name: newFriendlyName,\n });\n\n removal = { success: true, user: removePasskeyResponse.data };\n } catch (e: any) {\n // console.log(e.message);\n }\n\n return removal;\n};\n","export default __webpack_public_path__ + \"static/media/passkey-icon.78f433d7.svg\";","interface MagicOrProps {\n passkeysEnabled: boolean;\n}\n\nconst MagicOr = (props: MagicOrProps) => {\n const { passkeysEnabled } = props;\n\n return passkeysEnabled ? (\n
\n
OR
\n
\n ) : (\n
OR
\n );\n};\n\nexport default MagicOr;\n","import React, { useEffect, useState, useRef, useContext } from 'react';\nimport { ValidatedInput, SectionalAlert, Button, Checkbox, Modal } from '../../baseComponents';\nimport { validateEmailFormat } from '../../../utils/utils';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport { LegalSection } from '../../LegalSection/LegalSection';\nimport { configurationContext, myAccountContext, pathContext } from '../../../contexts/contexts';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\nimport loginGov from '../../../assets/images/login_dot_gov_logo_sign_in.svg';\nimport './SignIn.css';\nimport { PasskeySignIn, signInWithPasskey } from '../../../utils/apiWrappers/PasskeysApiWrapper';\nimport passkeyIcon from '../../../assets/icons/passkey-icon.svg';\nimport MagicOr from './MagicOr';\n\nconst SignIn = () => {\n PageTitleHook('USCIS Online Account | Welcome to US Citizenship and Immigration Services');\n const { alert, setAlert, clearAlert, clearPersistentAlert, setUser } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n const { configuration } = useContext(configurationContext);\n\n const [submitSignin, setSubmitSignin] = useState(false);\n const [disabledSubmit, setDisabledSubmit] = useState(false);\n const [pwdFieldType, setPwdFieldType] = useState('password');\n const [emailInputVal, setEmailInputVal] = useState('');\n const [passwordInputVal, setPasswordInputVal] = useState('');\n const [emailValidationMsg, setEmailValidationMsg] = useState('');\n const [passwordValidationMsg, setPasswordValidationMsg] = useState('');\n const [loginGovAlert, setLoginGovAlert] = useState({ type: '', message: '' });\n const [hideRender, setHideRender] = useState(false);\n\n const { appSettings, mobileView, loginDotGovEmail, loginDotGovUuid, lg_linked, lg_account_status } = configuration;\n\n const [loggedInWithLoginGov, setLoggedInWithLoginGov] = useState(false);\n const [loginGovModEnabled, setLoginGovModEnabled] = useState(false);\n const [loading, setLoading] = useState(true);\n const [showLoginGovModal, setShowLoginGovModal] = useState(false);\n\n const alertRef = useRef(null);\n const loginGovAlertRef = useRef(null);\n const emailRef = useRef(null);\n const passwordRef = useRef(null);\n const showPasswordRef = useRef(null);\n\n const passkeysEnabled = useRef(false);\n const BUTTONS_SIDE_BY_SIDE_WIDTH = 'w-full md:w-5/12';\n const BUTTONS_FULL_WIDTH = 'w-full';\n const signInButtonsWidth = useRef(BUTTONS_SIDE_BY_SIDE_WIDTH);\n\n const apiClient = useApiClient();\n\n const handleModalCancel = () => {\n setShowLoginGovModal(false);\n };\n\n const handlePasswordCheckbox = (e: any) => {\n if (e.currentTarget.checked) setPwdFieldType('text');\n else setPwdFieldType('password');\n };\n\n const handleEmailInputChange = (e: any) => {\n if (disabledSubmit) setDisabledSubmit(false);\n if (!loading && emailInputVal !== '') {\n if (alert.message !== '') clearAlert();\n if (emailValidationMsg !== '') setEmailValidationMsg('');\n setEmailInputVal(e.target.value);\n } else {\n setEmailInputVal(e.target.value);\n }\n };\n\n const handlePasswordInputChange = (e: any) => {\n if (disabledSubmit) setDisabledSubmit(false);\n if (!loading && passwordInputVal !== '') {\n if (alert.message !== '') clearAlert();\n if (passwordValidationMsg !== '') setPasswordValidationMsg('');\n setPasswordInputVal(e.target.value);\n } else {\n setPasswordInputVal(e.target.value);\n }\n };\n\n const validateEmailField = () => {\n if (emailInputVal === '') {\n setEmailValidationMsg('Please enter a valid email address');\n } else {\n setEmailValidationMsg(validateEmailFormat(emailInputVal.trim(), true));\n }\n };\n\n const validatePasswordField = () => {\n passwordInputVal === '' ? setPasswordValidationMsg('Password cannot be blank') : setPasswordValidationMsg('');\n };\n\n const handleSubmit = () => {\n validateEmailField();\n validatePasswordField();\n if (lg_account_status !== '') {\n handleLoggedInWithLoginDotGov();\n } else {\n setDisabledSubmit(true);\n setSubmitSignin(true);\n }\n };\n\n const handleLoginGov = () => {\n apiClient\n .get('/login_dot_gov/authorize')\n .then((res) => {\n if (res.data.enabled === false) {\n console.log('login dot gov mod is not enabled');\n } else {\n window.location.href = res.data.login_dot_gov_url;\n }\n })\n .catch((error) => {\n console.log(error.response);\n });\n };\n\n const handleSignInWithPasskeyButton = async () => {\n setDisabledSubmit(true);\n const signIn: PasskeySignIn = await signInWithPasskey(apiClient);\n\n if (signIn.success) {\n setUser(signIn.user);\n } else {\n setAlert({ type: 'error', message: 'Sign in with Passkey failed.' });\n setDisabledSubmit(false);\n }\n };\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter') {\n if (emailValidationMsg !== '') {\n emailRef.current!.focus();\n } else if (passwordValidationMsg !== '') {\n passwordRef.current!.focus();\n } else if (!disabledSubmit) {\n handleSubmit();\n }\n }\n };\n\n useEffect(() => {\n setHideRender(loginDotGovEmail !== '' && lg_linked === 1);\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loginDotGovEmail]);\n\n const handleLoggedInWithLoginDotGov = () => {\n setLoggedInWithLoginGov(true);\n if (lg_linked === 1) {\n handleLoginGov();\n } else {\n setLoginGovAlert({\n type: 'info',\n message:\n 'To connect your USCIS online account to Login.gov, please sign in. This will only need to be done once. If you do not have a USCIS online account, please create an account below.',\n });\n }\n };\n\n useEffect(() => {\n setLoginGovModEnabled(appSettings.includes('LoginGovModEnabled'));\n\n if (lg_account_status !== '') {\n setLoginGovAlert({ type: 'error', message: lg_account_status });\n setHideRender(false);\n } else if (loginDotGovEmail !== '' && loginDotGovUuid !== '') {\n handleLoggedInWithLoginDotGov();\n } else {\n setLoggedInWithLoginGov(false);\n }\n if (loading) {\n setDisabledSubmit(false);\n setLoading(false);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (alert.message === undefined) return;\n if (alert.message !== '') {\n setDisabledSubmit(false);\n alertRef?.current!.focus();\n } else if (loginGovAlert.message !== '' && loginGovAlertRef.current !== null) {\n loginGovAlertRef.current!.focus();\n }\n }, [alert, loginGovAlert]);\n\n useEffect(() => {\n passkeysEnabled.current = appSettings.includes('PasskeysEnabled');\n signInButtonsWidth.current = passkeysEnabled.current ? BUTTONS_FULL_WIDTH : BUTTONS_SIDE_BY_SIDE_WIDTH;\n });\n\n useEffect(() => {\n if (submitSignin) {\n if (emailValidationMsg !== '') {\n emailRef.current!.focus();\n } else if (passwordValidationMsg !== '') {\n passwordRef.current!.focus();\n } else {\n if (alert.message !== '') clearAlert();\n apiClient\n .post('/authentication/sign_in', {\n email: emailInputVal.trim(),\n password: passwordInputVal,\n })\n .then((res) => {\n if (\n res.data.msg ===\n 'Your two-step verification method was originally set to SMS. Because you do not have a valid mobile number associated with your account, your two-step verification method has been automatically switched to e-mail.'\n ) {\n setAlert({\n type: 'info',\n message: res.data.msg,\n shouldPersist: true,\n });\n } else {\n clearPersistentAlert();\n }\n setUser(res.data);\n })\n .catch((error) => {\n if (error.response.data.authentication_state === 'second_factor_soft_locked') {\n setUser(error.response.data);\n } else if (error.response.data.error === 'Token already in use') {\n setUrl('/invalid-ial-token');\n } else {\n setAlert({\n message: error.response.data.error,\n type: 'error',\n });\n alertRef.current!.focus();\n }\n });\n }\n setSubmitSignin(false);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [submitSignin]);\n\n const loginGovModalBody = (\n
\n

\n You are now leaving the USCIS myAccount webpage and will be directed to Login.gov website to complete your\n sign-in process.\n

\n

\n Please note:\n

\n
    \n
  • \n Login.gov is an official U.S. government system used for secure sign-ins across multiple agencies\n
  • \n
  • \n After you sign in through Login.gov, you will automatically be redirected back to myAccount to access your\n USCIS services.\n
  • \n
\n
\n );\n\n return hideRender ? (\n <>\n ) : (\n
\n \n {loginGovModalBody}\n \n
\n

Sign In

\n {alert.message !== undefined && alert.message !== '' ? (\n
\n {alert.message}\n
\n ) : (\n <>\n )}\n {loginGovAlert.type !== '' && alert.message === '' && (\n \n {loginGovAlert.message}\n
\n )}\n
\n \n
\n
\n \n
\n
\n {mobileView && appSettings.includes('WebviewDevelopmentModEnabled') ? (\n
\n ) : (\n {\n e.preventDefault();\n clearPersistentAlert();\n setUrl('/forgot-password');\n }}\n >\n Forgot Password?\n \n )}\n \n
\n\n
\n \n\n {passkeysEnabled.current && (\n <>\n \n
\n {\n e.preventDefault();\n clearPersistentAlert();\n setUrl('/passkeys/faq');\n }}\n className=\"text-dhs_light_blue hover:text-dhs_focus_light_blue hover:underline focus:ring-1 focus:ring-dhs_focus_blue focus:underline mt-2 mb-5\"\n >\n Learn more about Passkeys\n \n
\n \n )}\n\n {loginGovModEnabled && !loggedInWithLoginGov && (\n <>\n \n\n setShowLoginGovModal(true)}\n onEnter={() => setShowLoginGovModal(true)}\n />\n
\n {\n e.preventDefault();\n clearPersistentAlert();\n setUrl('/login-gov-faq');\n }}\n className=\"text-dhs_light_blue hover:text-dhs_focus_light_blue hover:underline focus:ring-1 focus:ring-dhs_focus_blue focus:underline mt-2 mb-8\"\n >\n Learn more about Login.gov\n \n
\n \n )}\n
\n
\n\n {!(mobileView && appSettings.includes('WebviewDevelopmentModEnabled')) && (\n
\n

Don't have a USCIS online account?

\n {\n e.preventDefault();\n clearAlert();\n setUrl('/create-account');\n }}\n className=\"text-dhs_light_blue hover:text-dhs_focus_blue focus:ring-1 focus:ring-dhs_focus_blue hover:underline font-bold mt-1 mr-auto\"\n >\n Create an account\n \n {\n e.preventDefault();\n clearPersistentAlert();\n setUrl('/resend-confirmation');\n }}\n className=\"pt-4 text-dhs_light_blue hover:text-dhs_focus_light_blue hover:underline focus:ring-1 focus:ring-dhs_focus_blue focus:underline mt-1 mr-auto\"\n >\n Didn't receive confirmation instructions?\n \n
\n )}\n {mobileView ? null : (\n <>\n
\n \n \n )}\n \n );\n};\n\nexport default SignIn;\n","import React, { useEffect } from 'react';\n\nconst hostName = window && window.location && window.location.href;\n\nexport const Error404 = () => {\n useEffect(() => {\n console.log('referring url', window.location.href);\n }, []);\n\n return (\n
\n

ERROR: PAGE NOT FOUND

\n

{hostName}

\n
\n );\n};\n","import React, {\n useRef,\n useEffect,\n ChangeEventHandler,\n useContext,\n useState,\n MouseEventHandler,\n ChangeEvent,\n} from 'react'\nimport { useApiClient } from '../../../hooks/useApiClient'\nimport { myAccountContext, pathContext, configurationContext } from '../../../contexts/contexts'\nimport { ValidatedInput, Button, SectionalAlert, Checkbox } from '../../baseComponents'\nimport { defaultUser } from '../../../reducer/myAccountInitialState'\nimport { MoreInfoContainer, MoreInfoTrigger } from '../../baseComponents/MoreInfoContainer/MoreInfoContainer'\ninterface TwoFactorAuthenticationProps {\n label: string\n value: string\n handleChange: ChangeEventHandler\n handleCancel: MouseEventHandler\n validate: Function\n validateMsg: string\n text: any\n children: any\n setUseBackupCode: Function\n useBackupCode: boolean\n type: 'account-creation' | 'sign-in' | 'edit' | 'change-mobile' | 'reset-password' | 'delete-account'\n}\n\nexport const TwoFactorAuthentication = (props: TwoFactorAuthenticationProps) => {\n const {\n label,\n value,\n handleChange,\n handleCancel,\n validate,\n validateMsg,\n text,\n children,\n setUseBackupCode,\n useBackupCode,\n type,\n } = props\n\n const { alert, setAlert, clearPersistentAlert, setUser, token } = useContext(myAccountContext)\n const { setUrl } = useContext(pathContext)\n\n const inputRef = useRef(null)\n const backButtonRef = useRef(null)\n const cancelButtonRef = useRef(null)\n\n const sectionalAlertRef = useRef(null)\n const [disabledSubmit, setDisabledSubmit] = useState(false)\n const apiClient = useApiClient()\n const keyDownHandler = (e: any) => {\n if (e.key === 'Enter') {\n if (validateMsg !== '') {\n inputRef.current!.focus()\n } else {\n handleSubmit()\n }\n }\n }\n\n const { configuration } = useContext(configurationContext)\n const { appSettings } = configuration\n const rememberMeAllowed =\n appSettings.includes('SecondFactorRememberMeEnabled') && type === 'sign-in' && !useBackupCode\n const [rememberMe, setRememberMe] = useState(false)\n\n useEffect(() => {\n if (validateMsg !== '') inputRef.current!.focus()\n }, [validateMsg])\n\n useEffect(() => {\n document.title = useBackupCode\n ? 'USCIS Online Account | Backup code'\n : 'USCIS Online Account | Enter the secure verification code'\n }, [useBackupCode])\n\n const [containerOpened, setContainerOpened] = useState(false)\n\n const handleSubmit = () => {\n clearPersistentAlert()\n validate()\n\n if (validateMsg.length > 0 || value.length === 0) {\n return\n }\n\n setDisabledSubmit(true)\n\n switch (type) {\n case 'account-creation':\n handleCreateAccountSubmit()\n break\n case 'sign-in':\n handleSignInSubmit()\n break\n case 'edit':\n handleChange2FASubmit()\n break\n case 'change-mobile':\n handleChangeMobileSubmit()\n break\n case 'reset-password':\n handleResetPasswordSubmit()\n break\n case 'delete-account':\n handleDeleteAccountSubmit()\n break\n }\n }\n\n const handleCreateAccountSubmit = () => {\n apiClient\n .post('/users/confirm_second_factor_method', { verification_code: value })\n .then((res) => {\n setUrl('/account-creation/backup-code')\n setUser(res.data)\n })\n .catch((err) => {\n setAlert({\n type: 'error',\n message: err.response.data.error,\n })\n setUser(err.response.data)\n })\n .finally(() => {\n setDisabledSubmit(false)\n })\n }\n\n const setLinkedLoginGovAlert = (data: { lg_account_linked: string; msg: string }) => {\n setAlert({\n type: data.lg_account_linked === 'success' ? 'success' : 'error',\n message: data.msg,\n shouldPersist: true,\n })\n }\n\n const handleSignInSubmit = () => {\n if (useBackupCode) {\n apiClient\n .post('/authentication/backup_code', { backup_code: value })\n .then((res) => {\n if (alert.message !== '') clearPersistentAlert()\n setUser(res.data)\n if (res.data.lg_account_linked) setLinkedLoginGovAlert(res.data)\n })\n .catch((err) => {\n setUser(err.response.data)\n if (err.response.data.authentication_state === 'incorrect_2fa_code_received') {\n setAlert({\n type: 'error',\n message: 'Backup code is invalid.',\n })\n }\n })\n .finally(() => {\n setDisabledSubmit(false)\n })\n } else {\n apiClient\n .post('/authentication/verification_code', { verification_code: value, remember_me: rememberMe })\n .then((res) => {\n if (alert.message !== '') clearPersistentAlert()\n setUser(res.data)\n if (res.data.lg_account_linked) setLinkedLoginGovAlert(res.data)\n })\n .catch((err) => {\n // This isn't the cleanest way to do this. Ideally we return the session even on a failure then we can just set the user.\n if (err.response.data.authentication_state) {\n setUser(err.response.data)\n }\n if (err.response.data.authentication_state === 'incorrect_2fa_code_received') {\n setAlert({\n type: 'error',\n message: 'Please enter a valid verification code.',\n })\n }\n })\n .finally(() => {\n setDisabledSubmit(false)\n })\n }\n }\n\n const handleResetPasswordSubmit = () => {\n setDisabledSubmit(true)\n apiClient\n .post('/password_reset/verify_second_factor', { code: value, token })\n .then((res) => {\n setUrl('/edit-account')\n setUser(res.data)\n })\n .catch((err) => {\n setAlert({\n type: 'error',\n message: err.response.data.error,\n })\n // This isn't the cleanest way to do this. Ideally we return the session even on a failure then we can just set the user.\n if (err.response.data.authentication_state) {\n setUser(err.response.data)\n }\n })\n .finally(() => {\n setDisabledSubmit(false)\n })\n }\n\n const handleChange2FASubmit = () => {\n apiClient\n .post('/users/confirm_second_factor_method', { verification_code: value })\n .then((res) => {\n setUrl('/edit-account')\n setUser(res.data)\n })\n .catch((err) => {\n setAlert({\n type: 'error',\n message: err.response.data.error,\n })\n // This isn't the cleanest way to do this. Ideally we return the session even on a failure then we can just set the user.\n if (err.response.data.authentication_state) {\n setUser(err.response.data)\n }\n })\n .finally(() => {\n setDisabledSubmit(false)\n })\n }\n\n const handleChangeMobileSubmit = () => {\n apiClient\n .post('/users/confirm_mobile_number', { code: value })\n .then((res) => {\n setUrl('/edit-account')\n setUser(res.data)\n })\n .catch((err) => {\n setAlert({\n type: 'error',\n message: err.response.data.error,\n })\n // This isn't the cleanest way to do this. Ideally we return the session even on a failure then we can just set the user.\n if (err.response.data.authentication_state) {\n setUser(err.response.data)\n }\n })\n .finally(() => {\n setDisabledSubmit(false)\n })\n }\n\n const handleDeleteAccountSubmit = () => {\n apiClient\n .post('/account_deletion/verify_second_factor', { code: value, token })\n .then((res) => {\n setUser(res.data)\n })\n .catch((err) => {\n setAlert({\n type: 'error',\n message: err.response.data.error,\n shouldPersist: true,\n })\n if (err.response.data.error.includes('You have been signed out')) {\n setUser(defaultUser)\n } else {\n // This isn't the cleanest way to do this. Ideally we return the session even on a failure then we can just set the user.\n if (err.response.data.authentication_state) {\n setUser(err.response.data)\n }\n }\n })\n .finally(() => {\n setDisabledSubmit(false)\n })\n }\n\n const handleRememberMeChange = (event: ChangeEvent) => {\n setRememberMe(event.target.checked)\n }\n\n return (\n
\n

{label}

\n\n {alert.message !== '' && (\n
\n {alert.message}\n
\n )}\n
\n {text}\n
\n
\n \n
\n\n {rememberMeAllowed && (\n <>\n
\n \n \n
\n \n

\n If checked you will not be prompted to enter in your one-time verification code for Multi-Factor Authentication for 24 hours within this same browser.\n

\n\n \n \n )}\n\n
\n \n {useBackupCode && (\n setUseBackupCode(false)}\n />\n )}\n {type === 'delete-account' && (\n \n )}\n
\n {children}\n
\n )\n}\n","import React, { useRef, useState, useEffect, useContext, useCallback } from 'react';\nimport { Button } from '../../baseComponents';\n\nimport { TwoFactorAuthentication } from '../TwoFactorAuthentication/TwoFactorAuthentication';\nimport { NewPageIcon } from '../../../assets/icons';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport { configurationContext, myAccountContext, pathContext } from '../../../contexts/contexts';\n\nexport const SignInAuth = (props: {\n type: 'account-creation' | 'sign-in' | 'edit' | 'change-mobile' | 'reset-password' | 'delete-account';\n}) => {\n const { user, setUser, setAlert, clearAlert, clearPersistentAlert, token, alert } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n const { configuration } = useContext(configurationContext);\n\n const { mobileView } = configuration;\n const { type } = props;\n\n const [codeValidation, setCodeValidation] = useState('');\n const [signInCode, setSignInCode] = useState('');\n const [twoFAMethodValue, setTwoFAMethodValue] = useState('');\n const [useBackupCode, setUseBackupCode] = useState(false);\n\n const lowerSectionRef = useRef(null);\n const [introText, setIntroText] = useState(<>);\n const [lowerSection, setLowerSection] = useState(<>);\n\n const apiClient = useApiClient();\n\n const handleCodeChange = (e: any) => {\n setSignInCode(e.target.value);\n if (codeValidation !== '') setCodeValidation('');\n };\n\n const handleCancel = () => {\n if (alert.message !== '') clearAlert();\n switch (type) {\n case 'account-creation':\n setUrl('/account-creation/select-2fa');\n return;\n case 'edit':\n const clearUnconfirmedData = {\n ...user,\n unconfirmed_mobile: '',\n unconfirmed_two_factor_method: '',\n };\n setUser(clearUnconfirmedData);\n setUrl('/edit-account/select-2fa');\n return;\n case 'change-mobile':\n setUrl('/edit-account/mobile');\n return;\n case 'delete-account':\n handleCancelDelete();\n return;\n default:\n return;\n }\n };\n\n const handleCancelDelete = () => {\n apiClient\n .post('/account_deletion/cancel')\n .then((res) => {\n setUser(res.data);\n })\n .finally(() => {});\n };\n\n const validateSignInCode = () => {\n if (signInCode === '') {\n setCodeValidation(`${useBackupCode ? 'Backup' : 'Secure verification'} code cannot be blank`);\n }\n };\n\n const handleUseBackupCode = (value: boolean) => {\n clearPersistentAlert();\n setCodeValidation('');\n setSignInCode('');\n setUseBackupCode(value);\n };\n\n const clearValidation = () => {\n setCodeValidation('');\n setSignInCode('');\n };\n\n const getNewCode = useCallback(() => {\n let endpoint = '';\n\n switch (type) {\n case 'account-creation':\n case 'edit':\n endpoint = '/authentication/send_second_factor_code?confirming_2fa=true';\n break;\n case 'sign-in':\n endpoint = '/authentication/send_second_factor_code';\n break;\n case 'change-mobile':\n endpoint = '/authentication/send_second_factor_code?confirming_mobile=true';\n break;\n case 'reset-password':\n endpoint = `/password_reset/send_verification_code?token=${token}`;\n break;\n case 'delete-account':\n endpoint = '/account_deletion/resend_second_factor_code';\n break;\n }\n\n apiClient\n .get(endpoint)\n .then(() => {\n setAlert({\n type: 'success',\n message: 'A new verification code has been sent.',\n });\n clearValidation();\n })\n .catch((err) => {\n console.log(err.response);\n });\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const maskPhoneNumber = (value: string | null | undefined) => {\n if (!value) return '';\n const usPhone = value.replace('+1 ', '');\n return (\n usPhone.substring(0, usPhone.length - 4).replace(/[0-9]/g, '*') +\n usPhone.substring(usPhone.length - 4, usPhone.length)\n );\n };\n\n useEffect(() => {\n if (useBackupCode) {\n setIntroText(<>Please enter your backup code to continue.);\n return;\n }\n\n let twoFAMethodValueString = '';\n let verificationMethod = '';\n let userMobile: string | null | undefined = '';\n\n switch (type) {\n case 'account-creation':\n case 'edit':\n verificationMethod = user.unconfirmed_two_factor_method!;\n userMobile = user.unconfirmed_mobile;\n break;\n case 'change-mobile':\n verificationMethod = 'Mobile';\n userMobile = user.unconfirmed_mobile;\n break;\n case 'reset-password':\n case 'sign-in':\n case 'delete-account':\n verificationMethod = user.two_factor_method[0];\n userMobile = user.mobile;\n break;\n default:\n break;\n }\n\n let msg = <>;\n\n const resendCode = (\n {\n if (e.key === 'Enter') getNewCode();\n }}\n className=\"nav-link pl-0 cursor-pointer my-0 mx-0 inline\"\n data-testid=\"request-new-verification\"\n onClick={getNewCode}\n tabIndex={0}\n >\n please request a new verification code.\n \n );\n\n const enterNewMobile = (\n

\n If the phone number listed above is incorrect,{' '}\n {\n if (e.key === 'Enter') handleCancel();\n }}\n >\n try entering it again.\n \n

\n );\n\n switch (verificationMethod) {\n case 'App':\n twoFAMethodValueString = 'your authentication app';\n msg = (\n <>\n Please wait for your authentication app to generate a verification code, and then enter the code to\n continue. If you have multiple accounts on your app, use the verification code for USCIS.gov.\n \n );\n break;\n case 'Mobile':\n const phone = userMobile!.replace(/^\\+[0-9]{1,3}(\\s|-)/, '') || '';\n\n msg = (\n <>\n {`A verification code has been sent to ${maskPhoneNumber(\n phone\n )}. Please enter the code that you received. If you do not receive the code in 10 minutes, `}\n {resendCode}\n {type === 'edit' || type === 'account-creation' || type === 'change-mobile' ? enterNewMobile : null}\n \n );\n break;\n case 'Email':\n msg = (\n <>\n {`A verification code has been sent to ${user.email}. Please enter the code that you received. If you do not receive the code in 10 minutes, `}\n {\n if (e.key === 'Enter') getNewCode();\n }}\n className=\"nav-link pl-0 cursor-pointer my-0 mx-0 inline\"\n data-testid=\"request-new-verification\"\n onClick={getNewCode}\n tabIndex={0}\n >\n please request a new verification code.\n \n {type !== 'delete-account' && user['unconfirmed_two_factor_method'] === 'Mobile' && (\n

\n If the phone number listed above is incorrect,{' '}\n {\n if (e.key === 'Enter') handleCancel();\n }}\n >\n try entering it again.\n \n

\n )}\n \n );\n break;\n }\n\n setTwoFAMethodValue(twoFAMethodValueString);\n setIntroText(msg);\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [useBackupCode]);\n\n useEffect(() => {\n const showTryAnotherWay = !mobileView && type === 'sign-in';\n\n let component = <>;\n\n if (useBackupCode) {\n component = (\n

\n <>If you have lost access to {twoFAMethodValue} and the Backup Code, \n \n Contact Us\n \n \n \n \n

\n );\n } else if (showTryAnotherWay) {\n component = (\n handleUseBackupCode(true)}\n ref={lowerSectionRef}\n />\n );\n }\n\n setLowerSection(component);\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [introText]);\n\n // Use more conditional rendering in the jsx vs useEffect\n return (\n <>\n
\n \n {lowerSection}\n \n
\n \n );\n};\n","import React, { useEffect, useState, useRef, useContext } from 'react';\nimport { ValidatedInput, Button } from '../../baseComponents';\nimport { LegalSection } from '../../LegalSection/LegalSection';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport { configurationContext, myAccountContext, pathContext } from '../../../contexts/contexts';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\nimport { throttleAlert } from '../../../utils/utils';\n\nconst CreateAccount = () => {\n PageTitleHook('USCIS Online Account | Sign up for a USCIS account');\n const { setAlert } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n const { configuration } = useContext(configurationContext);\n\n const { mobileView } = configuration;\n\n const [submitCreateAccount, setSubmitCreateAccount] = useState(false);\n const [emailInputVal, setEmailInputVal] = useState('');\n const [emailValidationMsg, setEmailValidationMsg] = useState('');\n const [disabledSubmit, setDisabledSubmit] = useState(false);\n\n const emailRef = useRef(null);\n\n const apiClient = useApiClient();\n\n const handleEmailInputChange = (e: any) => {\n setEmailInputVal(e.target.value);\n if (emailValidationMsg !== '') setEmailValidationMsg('');\n if (disabledSubmit) setDisabledSubmit(false);\n };\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter' && !disabledSubmit) {\n handleSubmit();\n }\n };\n\n const handleSubmit = () => {\n if (emailValidationMsg !== '') return;\n setDisabledSubmit(true);\n setSubmitCreateAccount(true);\n };\n\n useEffect(() => {\n if (submitCreateAccount) {\n if (emailValidationMsg !== '') {\n emailRef.current!.focus();\n } else if (!/^[a-zA-Z0-9._'%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/.test(emailInputVal.trim())) {\n setEmailValidationMsg(\n 'Please enter a valid email address. Please do not include accented letters or letters outside of the Latin alphabet.'\n );\n } else {\n const url = window.location.origin + '/v1/users';\n apiClient\n .post(url, { email: emailInputVal.trim() })\n .then((res) => {\n setAlert({\n message: (\n
\n A USCIS Account confirmation email has been sent to{' '}\n {emailInputVal.replace(/\\u2019/g, \"'\").trim()}. Please follow the instructions in the email to\n confirm your USCIS Account request. If you do not receive the confirmation email within the next 10\n minutes, please return to this page and request your confirmation instructions again.\n
\n ),\n type: 'success',\n shouldPersist: true,\n });\n setUrl('sign-in');\n })\n .catch((err) => {\n if (err.response) {\n if (err.response.status === 401) {\n setEmailValidationMsg(\n 'Please enter a valid email address. Please do not include accented letters or letters outside of the Latin alphabet.'\n );\n emailRef.current!.focus();\n } else if (err.response.status === 400) {\n setUrl('/sign-in');\n } else if (err.response.status === 429) {\n setAlert(throttleAlert);\n setUrl('/sign-in');\n }\n }\n });\n }\n setSubmitCreateAccount(false);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [emailValidationMsg, submitCreateAccount]);\n\n return (\n
\n
\n

Create Your Online Account

\n

\n Your USCIS account is only for you. Do not create an account to share with family or friends. Each person\n should have their own online account even if they are minors. Individual accounts allow us to best serve you\n and protect your personal information.\n

\n

\n You must provide your own email address below if you are the one who is filing a form online, submitting an\n online request, or tracking a case. Your email address is used to log in to your USCIS online account. All\n USCIS email communications will be sent to this address.\n

\n
\n \n
\n {/* Must use onMouseDown on the submit button because of the onBlur field validations. onClick causes user to have to click button twice */}\n
\n \n
\n
\n

Already have an account?

\n {\n e.preventDefault();\n setUrl('sign-in');\n }}\n className=\"text-dhs_light_blue hover:text-dhs_focus_blue focus:ring-1 focus:ring-dhs_focus_blue no-underline font-bold mt-1 mr-auto\"\n >\n Sign In\n \n
\n
\n {mobileView ? null : (\n <>\n
\n \n \n )}\n
\n );\n};\nexport default CreateAccount;\n","import { useContext } from 'react';\nimport { myAccountContext, pathContext } from '../../../contexts/contexts';\n\nexport const parameterFromAccountType = (accountType: string) => {\n switch (accountType) {\n case 'self':\n return 'applicant';\n case 'representative':\n case 'paralegal':\n return 'legal';\n case 'registrant':\n return 'company';\n default:\n return 'default';\n }\n};\n\nexport const LegalText = () => {\n return (\n
\n

\n Invitations expire 7 days after they are sent. You did not timely accept the invitation to join the Legal Team.\n

\n
\n

\n To receive a new invitation, you should ask the Legal Team's attorney or accredited representative to invite you\n again.\n

\n
\n );\n};\n\nexport const CompanyText = () => {\n return (\n
\n

\n Invitations expire 7 days after they are sent. You did not timely accept the invitation to join the Company\n Group.\n

\n
\n

To receive a new invitation, you should ask the Administrator to invite you again.

\n
\n );\n};\n\nexport const ApplicantText = () => {\n const { clearAlert } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n\n return (\n
\n

\n Your invitation link has expired. To continue the account creation process, you must set up a password using the{' '}\n {\n clearAlert();\n setUrl('/forgot-password');\n }}\n aria-label=\"forgot password link\"\n className=\"pl-1 text-dhs_light_blue hover:text-dhs_focus_blue hover:underline focus:ring-1 focus:ring-dhs_focus_blue no-underline font-bold mr-auto\"\n >\n Forgot Password\n {' '}\n page. You must use the same email address that received the invitation from your legal representative in order\n to complete setting up your online account. Enter this email address on the next screen to complete the password\n creation process and connect with your representative to share draft forms for your review.\n

\n
\n );\n};\n\nexport const DefaultText = () => {\n return (\n
\n

\n It has been at least 7 days since you were invited, and you did not accept the invitation. If the invitation\n expired before you could accept it, request a new invitation to be sent to you.\n

\n
\n );\n};\n","import React, { useContext, useEffect } from 'react';\n\nimport { useParams } from 'react-router-dom';\nimport { myAccountContext, pathContext } from '../../../contexts/contexts';\n// import { redirectPaths } from '../../Routing/Redirection'\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport { exceededMaximumAttempts } from '../../../utils/utils';\nimport { parameterFromAccountType } from '../InvitationExpired/InvitationExpiredUtils';\n\nexport const ConfirmToken = (props: {\n type: 'sign-in' | 'primary-email' | 'recovery-email' | 'reset-password' | 'account-creation';\n}) => {\n const { setAlert, user, setUser, setToken } = useContext(myAccountContext);\n const { setUrl, userState, setUserState } = useContext(pathContext);\n\n const { type } = props;\n const { confirmToken } = useParams();\n\n const apiClient = useApiClient();\n\n // Don't kick off the redirection process until token confirmation is complete\n useEffect(() => {\n setUserState('confirming-token');\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (userState !== 'confirming-token') return;\n if (user.cis_uuid === '' && type === 'reset-password') {\n handleResetPassword();\n } else if (type === 'sign-in' || type === 'account-creation' || type === 'primary-email') {\n handleSignIn();\n } else if (type === 'recovery-email') {\n handleRecoveryEmail();\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userState]);\n\n const handleResetPassword = () => {\n setToken(confirmToken);\n const url = window.location.origin + `/v1/password_reset/identity_verification_method?token=${confirmToken}`;\n apiClient\n .get(url)\n .then((res) => {\n setUser(res.data);\n if (\n res.data.msg ===\n 'Your two-step verification method was originally set to SMS. Because you do not have a valid mobile number associated with your account, your two-step verification method has been automatically switched to e-mail.'\n ) {\n setAlert({\n type: 'info',\n message: res.data.msg,\n shouldPersist: true,\n });\n }\n })\n .catch((err) => {\n if (err.response.data.authentication_state === 'second_factor_soft_locked') {\n setUser(err.response.data);\n } else if (err.response.data.error === 'User has exceeded the maximum number of attempts.') {\n setUserState('');\n handleCatch(exceededMaximumAttempts, 'sign-in', '/sign-in');\n } else {\n handleCatch(err.response.data.error, 'forgot-password', '/forgot-password');\n }\n });\n };\n\n const handleSignIn = () => {\n const url = window.location.origin + '/v1/users/confirm';\n apiClient\n .post(url, {\n confirmation_token: confirmToken,\n })\n .then((res) => {\n setUserState('');\n if (res.data['authentication_state'] === 'fully_signed_in') {\n setAlert({\n type: 'success',\n message: 'Your email address has been successfully confirmed.',\n shouldPersist: true,\n });\n setUser(res.data);\n setUrl('/edit-account');\n return;\n }\n if (res.data['authentication_state'] === 'tech_support_password_reset') {\n setUser(res.data);\n setUrl('/tech-reset/create-password');\n return;\n }\n if (res.status === 200) {\n if (res.data.msg !== '' && res.data.msg !== undefined) {\n setAlert({\n type: 'success',\n message: res.data.msg,\n shouldPersist: true,\n });\n }\n setUser(res.data);\n if (res.data.authentication_state === 'not_signed_in') {\n setUrl('/sign-in');\n }\n }\n })\n .catch((err) => {\n let nextUrl = '';\n const errMsg = err.response.data.error;\n if (\n (type === 'sign-in' || type === 'account-creation' || type === 'primary-email') &&\n errMsg.includes('Your email address has already been confirmed.')\n ) {\n nextUrl = '/sign-in';\n } else {\n if (err.response.data.api_creation) {\n nextUrl = `/invitation-expired/${parameterFromAccountType(err.response.data.account_type)}`;\n } else {\n nextUrl = '/resend-confirmation';\n }\n }\n handleCatch(errMsg, '', nextUrl);\n });\n };\n\n const handleRecoveryEmail = () => {\n const url = window.location.origin + '/v1/recovery_emails/confirm';\n\n apiClient\n .post(url, {\n confirmation_token: confirmToken,\n })\n .then((res) => {\n setUserState('');\n\n if (res.status === 200) {\n setAlert({\n type: 'success',\n message: res.data.msg,\n shouldPersist: true,\n });\n\n if (res.data.hasOwnProperty('email')) {\n setUser(res.data);\n setUrl('/edit-account');\n } else {\n setUrl('/sign-in');\n }\n }\n })\n .catch((err) => {\n const nextUrl = user.email === '' ? '/sign-in' : '/edit-account';\n handleCatch(err.response.data.error, '', nextUrl);\n });\n };\n\n const handleCatch = (message: string | object, nextState: string, nextUrl: string) => {\n setAlert({\n type: 'error',\n message: message,\n shouldPersist: true,\n });\n setUserState(nextState);\n setUrl(nextUrl);\n };\n\n return <>;\n};\n","import React, { useContext, useEffect, useRef, useState } from 'react';\nimport { Button, Modal, SectionalAlert, ValidatedInput } from '../../baseComponents';\nimport QRCode from 'react-qr-code';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport { myAccountContext, pathContext } from '../../../contexts/contexts';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\n\nconst AuthApp2faConfirmation = (props: { type: string }) => {\n let nameSpace = '';\n\n switch (props.type) {\n case 'account-creation':\n nameSpace = 'account-creation';\n break;\n case 'edit':\n nameSpace = 'edit-account';\n break;\n default:\n break;\n }\n\n PageTitleHook('USCIS Online Account | Enter the secure verification code');\n const { user, alert, setAlert, clearPersistentAlert, setUser, token } = useContext(myAccountContext);\n const { setUrl, userState } = useContext(pathContext);\n\n const [codeValidation, setCodeValidation] = useState('');\n const [signInCode, setSignInCode] = useState('');\n const [email, setEmail] = useState('');\n const [qrkey, setQrkey] = useState('');\n const [issuer, setIssuer] = useState('');\n const [showQRCodeModal, setShowQRCodeModal] = useState(false);\n const [showHelpModal, setShowHelpModal] = useState(false);\n const [isChange2fa, setIsChange2fa] = useState(false);\n const [loading, setLoading] = useState(true);\n const [disabledSubmit, setDisabledSubmit] = useState(false);\n\n const alertRef = useRef(null);\n const inputRef = useRef(null);\n\n const apiClient = useApiClient();\n\n const handleModalCancel = () => {\n setShowQRCodeModal(false);\n };\n\n const handleHelpModalCancel = () => {\n setShowHelpModal(false);\n };\n\n const handleCodeChange = (e: any) => {\n clearPersistentAlert();\n if (disabledSubmit) setDisabledSubmit(false);\n setSignInCode(e.target.value);\n setCodeValidation('');\n };\n\n const handleCancel = () => {\n clearPersistentAlert();\n const clearUnconfirmedData = {\n ...user,\n unconfirmed_mobile: '',\n unconfirmed_two_factor_method: '',\n };\n setUser(clearUnconfirmedData);\n setUrl(`/${nameSpace}/select-2fa`);\n };\n\n const verifyS2FACode = () => {\n apiClient\n .post('/password_reset/verify_second_factor', {\n code: signInCode,\n token: token,\n })\n .then((res) => {\n setUser(res.data);\n setUrl('/edit-account/change-password');\n })\n .catch((err) => {\n if (err.response.status === 401) {\n setAlert({\n type: 'error',\n message: err.response.data.error,\n });\n }\n });\n };\n\n const confirm2FACode = () => {\n apiClient\n .post('/users/confirm_second_factor_method', {\n verification_code: signInCode,\n })\n .then((res) => {\n setUser(res.data);\n if (isChange2fa) {\n setAlert({\n type: 'success',\n message: 'Two-step verification successful.',\n shouldPersist: true,\n });\n setUrl('/edit-account');\n } else {\n setUrl('/backup-code');\n }\n })\n .catch((err) => {\n if (err.response.status === 401) {\n setAlert({\n type: 'error',\n message: err.response.data.error,\n });\n }\n });\n };\n\n const handleSubmit = () => {\n if (signInCode === '') {\n setCodeValidation('Secure verification code cannot be blank');\n inputRef.current!.focus();\n } else {\n setDisabledSubmit(true);\n userState === 'forgot-password' ? verifyS2FACode() : confirm2FACode();\n }\n };\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter' && !disabledSubmit) {\n handleSubmit();\n }\n };\n\n useEffect(() => {\n if (!loading) return;\n let url = window.location.origin + '/v1/users/set_second_factor_method';\n if (user['authentication_state'] === 'fully_signed_in' && user['two_factor_method'].length > 0) {\n setIsChange2fa(true);\n url = window.location.origin + '/v1/users/update_second_factor_method';\n }\n apiClient\n .post(url, { method_name: 'App' })\n .then((res) => {\n if (res.status === 200 && res.data['qr_code_options']) {\n const qr_email = encodeURI(res.data['email']);\n const qr_codekey = res.data['qr_code_options'].key;\n const qr_issuer = encodeURI(res.data['qr_code_options'].issuer);\n setEmail(qr_email);\n setQrkey(qr_codekey);\n setIssuer(qr_issuer);\n }\n setLoading(false);\n })\n .catch((err) => {\n setLoading(false);\n console.log(err.response);\n });\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!loading && codeValidation !== '') {\n inputRef.current!.focus();\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [codeValidation]);\n\n useEffect(() => {\n if (!loading && alert.message !== '') {\n alertRef.current!.focus();\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [alert]);\n\n return loading ? (\n <>\n ) : (\n
\n \n
\n

Email: {email}

\n

Key: {qrkey}

\n

Please enter your key code in your authentication app.

\n
\n \n \n
\n

What is a QR code?

\n

\n A QR code stores URLs and other information in a series of black and white squares that are read by your\n smartphone camera.\n

\n

Have a previous QR code for this account?

\n

\n If you had a previous QR code for this account, try deleting it, and rescan the QR code on top of this page\n using your authentication app. It is possible your app is not time synced correctly. Please refer to your\n app for troubleshooting tips.\n

\n
\n \n

Verification Code

\n
\n {alert.message !== '' && (\n
\n {alert.message}\n
\n )}\n
\n

\n You requested to use an authentication app to generate a secure verification code to log into your USCIS\n online account.\n

\n

\n An authentication app is a mobile security application that generates secure verification codes.You can use\n any authentication app you prefer.\n

\n

Scan this QR code with your authentication app.

\n
\n
\n \n
\n setShowQRCodeModal(true)}\n />\n
\n setShowHelpModal(true)}\n />\n
\n
\n
\n
\n

Please enter the secure verification code from your authentication application.

\n
\n \n
\n
\n \n
\n
\n
\n );\n};\nexport default AuthApp2faConfirmation;\n","import React, { ChangeEvent, useEffect, useRef, useState } from 'react';\nimport { ValidatedInput } from '../../baseComponents';\nimport { ErrorMsgsProps, FirstErrorProps, NUMBER_OF_SECURITY_QUESTIONS } from './SetSecurityQuestions';\nimport './SecurityQuestion.css';\n\ninterface SecurityQuestionProps {\n allQuestions: Array;\n selectedQuestions: Array;\n questionNumber: number;\n question: string;\n setQuestion: Function;\n answer: string;\n setAnswer: Function;\n errorMsgs: Array;\n setErrorMsgs: Function;\n errorFocus: FirstErrorProps;\n}\n\nexport const SecurityQuestion = (props: SecurityQuestionProps) => {\n const {\n allQuestions,\n selectedQuestions,\n questionNumber,\n question,\n setQuestion,\n answer,\n setAnswer,\n errorMsgs,\n setErrorMsgs,\n errorFocus,\n } = props;\n\n const [options, setOptions] = useState(allQuestions);\n const [appended508Text, setAppended508Text] = useState('');\n const questionRef = useRef(null);\n const answerRef = useRef(null);\n\n // Handles where to put the focus when there are multiple validation errors. It sets the focus on the\n // question or answer input field IF this instance of SecurityQuestion is the first one that contains a validation error\n useEffect(() => {\n if (errorFocus.index === questionNumber && errorFocus.type === 'question') {\n questionRef.current!.focus();\n }\n if (errorFocus.index === questionNumber && errorFocus.type === 'answer') {\n answerRef.current!.focus();\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorFocus.index, errorFocus.type, questionNumber]);\n\n // Handles removing items from the list of options which have already been selected in other instances of SecurityQuestion\n useEffect(() => {\n const updateOptions: Array = [];\n allQuestions.forEach((opt) => {\n // only display questions which have NOT been selected\n if (!selectedQuestions.includes(opt)) {\n updateOptions.push(opt);\n }\n // include the selected question for the current question in the list of options\n if (opt === question) {\n updateOptions.push(opt);\n }\n });\n setOptions(updateOptions);\n }, [allQuestions, question, selectedQuestions]);\n\n const clearDropdownError = () => {\n if (errorMsgs[questionNumber].question !== '') setErrorMsgs(questionNumber, 'question', '');\n };\n\n const handleAnswerChange = (e: any) => {\n if (errorMsgs[questionNumber].answer !== '') setErrorMsgs(questionNumber, 'answer', '');\n setAnswer(e, questionNumber);\n };\n\n useEffect(() => {\n let aria508Text = '';\n if (selectedQuestions[questionNumber] !== '') {\n aria508Text = selectedQuestions[questionNumber];\n } else {\n aria508Text = errorMsgs[questionNumber].question === '' ? 'Select one' : errorMsgs[questionNumber].question;\n }\n setAppended508Text(aria508Text);\n }, [errorMsgs]);\n\n const SelectQuestionInput = ({\n fieldName,\n options,\n onSelect,\n value,\n }: {\n fieldName: string;\n options: string[];\n onSelect: any;\n value: string;\n }) => {\n return (\n
\n \n
\n \n {value === '' ? : <>}\n {options.map((option, idx) => {\n return (\n \n );\n })}\n \n
\n
\n );\n };\n\n const handleSelectedQuestion = (event: ChangeEvent) => {\n const selectedOption = allQuestions.find((opt) => opt === event.target.value);\n setQuestion(questionNumber, selectedOption);\n setAppended508Text(event.target.value);\n clearDropdownError();\n };\n\n return (\n <>\n

\n Question {questionNumber + 1} of {NUMBER_OF_SECURITY_QUESTIONS}\n

\n\n \n {errorMsgs[questionNumber].question !== '' && (\n
\n {errorMsgs[questionNumber].question}\n
\n )}\n \n \n\n
\n

\n {`Security Answer ${questionNumber + 1}`}\n *\n

\n handleAnswerChange(e)}\n value={answer}\n type=\"text\"\n ref={answerRef}\n hideLabel\n />\n
\n \n );\n};\n","import React, { useEffect, useState, useRef, useContext } from 'react';\n\nimport { SecurityQuestion } from './SecurityQuestion';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport { Button, SectionalAlert, SpinnerCircle } from '../../baseComponents';\nimport { myAccountContext, pathContext } from '../../../contexts/contexts';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\n\nexport const NUMBER_OF_SECURITY_QUESTIONS = 5;\n\nexport interface ActiveQuestionProps {\n id: number;\n question: string;\n active: boolean;\n old_index: number;\n}\n\nexport interface ErrorMsgsProps {\n question: string;\n answer: string;\n}\n\nexport interface FirstErrorProps {\n index: number | undefined;\n type: 'question' | 'answer' | undefined;\n}\n\nconst initialErrorMsgs = Array(NUMBER_OF_SECURITY_QUESTIONS).fill({\n question: '',\n answer: '',\n});\n\nconst initialFirstError = { index: undefined, type: undefined };\n\nexport const SetSecurityQuestions = (props: { type: 'account-creation' | 'edit' }) => {\n const { type } = props;\n\n PageTitleHook('USCIS Online Account | Security question');\n const { setUser, alert, setAlert, clearAlert } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n\n const [activeQuestions, setActiveQuestions] = useState>([]);\n const [questionList, setQuestionList] = useState>([]);\n const [securityAnswersData, setSecurityAnswersData] = useState({});\n const [isLoading, setIsLoading] = useState(true);\n const [questionsAreLoaded, setQuestionsAreLoaded] = useState(false);\n const [answersAreLoaded, setAnswersAreLoaded] = useState(false);\n const [selectedQuestions, setSelectedQuestions] = useState>(\n Array(NUMBER_OF_SECURITY_QUESTIONS).fill('')\n );\n const [answers, setAnswers] = useState(Array(NUMBER_OF_SECURITY_QUESTIONS).fill(''));\n const [errorMsgs, setErrorMsgs] = useState>(initialErrorMsgs);\n const [firstError, setFirstError] = useState(initialFirstError);\n const [disabledSubmit, setDisabledSubmit] = useState(false);\n\n const alertRef = useRef(null);\n\n const apiClient = useApiClient();\n\n const handleSelectQuestion = (idx: number, value: string) => {\n if (alert.message !== '') clearAlert();\n if (disabledSubmit) setDisabledSubmit(false);\n let selectedQuestionsCopy = [...selectedQuestions];\n selectedQuestionsCopy[idx] = value;\n setSelectedQuestions(selectedQuestionsCopy);\n let answersCopy = [...answers];\n answersCopy[idx] = '';\n setAnswers(answersCopy);\n };\n\n const handleAnswerInput = (e: any, idx: number) => {\n if (alert.message !== '') clearAlert();\n if (disabledSubmit) setDisabledSubmit(false);\n setAnswers(\n answers.map((answ, i) => {\n if (idx === i) {\n return e.target.value;\n }\n return answ;\n })\n );\n };\n\n const updateErrMsg = (idx: number, key: 'question' | 'answer', value: string) => {\n const errMsgsCopy = [...errorMsgs];\n errMsgsCopy[idx][key] = value;\n setErrorMsgs(errMsgsCopy);\n };\n\n const validateFields = () => {\n const currentErrs = [];\n\n for (let idx = 0; idx < NUMBER_OF_SECURITY_QUESTIONS; idx++) {\n const questionErrMsg = selectedQuestions[idx] === '' ? 'Please select a Security Question' : '';\n const answerErrMsg = answers[idx] === '' ? 'Security Answer cannot be blank' : '';\n currentErrs.push({ question: questionErrMsg, answer: answerErrMsg });\n }\n setErrorMsgs(currentErrs);\n\n const firstIdx = currentErrs.findIndex((err) => err.question !== '' || err.answer !== '');\n if (firstIdx >= 0) {\n setFirstError({\n index: firstIdx,\n type: currentErrs[firstIdx].question !== '' ? 'question' : 'answer',\n });\n }\n\n return firstIdx >= 0;\n };\n\n useEffect(() => {\n apiClient\n .get('security_questions')\n .then((res) => {\n const questionObjs = res.data.questions;\n const questions = questionObjs.map((questionObj: ActiveQuestionProps) => questionObj.question);\n\n setActiveQuestions(questionObjs);\n setQuestionList(questions);\n setQuestionsAreLoaded(true);\n })\n .finally(() => {\n if (type === 'edit') {\n apiClient\n .get('/security_answers')\n .then((response) => {\n setSecurityAnswersData(response.data.security_answers);\n setAnswersAreLoaded(true);\n setIsLoading(false);\n })\n .catch((error) => {\n console.log(error.response);\n });\n } else {\n setAnswersAreLoaded(true);\n setIsLoading(false);\n }\n })\n .catch((error) => {\n console.log(error.response);\n });\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!questionsAreLoaded) return;\n if (type !== 'edit') {\n setIsLoading(false);\n return;\n }\n if (answersAreLoaded) {\n let answers = Object.values(securityAnswersData);\n let chosenQuestions: Array = [];\n let givenAnswers: Array = [];\n\n answers.forEach((answerObj: any) => {\n const questionId = answerObj['security_question_id'];\n const answer = answerObj['text'];\n const questionIdx = activeQuestions.findIndex((obj: any) => obj.id === questionId);\n const question = activeQuestions[questionIdx].question;\n chosenQuestions.push(question);\n givenAnswers.push(answer);\n });\n setSelectedQuestions(chosenQuestions);\n setAnswers(givenAnswers);\n setIsLoading(false);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [questionsAreLoaded, answersAreLoaded]);\n\n const createBody = () => {\n let body = {};\n for (let idx = 0; idx < NUMBER_OF_SECURITY_QUESTIONS; idx++) {\n const activeQuestionIndex = activeQuestions.findIndex((item) => item.question === selectedQuestions[idx]);\n body = {\n ...body,\n [idx]: Object.assign({\n security_question_id: activeQuestions[activeQuestionIndex].id,\n text: answers[idx],\n }),\n };\n }\n return body;\n };\n\n const handleReturn = (e: any) => {\n setUrl('/edit-account');\n };\n\n const handleFinish = (e: any) => {\n const errorsExist = validateFields();\n if (errorsExist) return;\n\n const path = `/users/${type === 'edit' ? 'update_security_answers' : 'set_security_answers'}`;\n const body = createBody();\n setDisabledSubmit(true);\n apiClient\n .post(path, { answers: body })\n .then((res) => {\n setUser(res.data);\n if (type === 'edit') {\n setAlert({\n type: 'success',\n message: 'You have successfully created your secret questions.',\n shouldPersist: true,\n });\n setUrl('/edit-account');\n } else {\n if (res.data.lg_account_linked) {\n setAlert({\n type: res.data.lg_account_linked === 'success' ? 'success' : 'error',\n message: res.data.msg,\n shouldPersist: true,\n });\n }\n }\n })\n .catch((err) => {\n if (err.response.status === 409 || err.response.status === 400) {\n setAlert({ message: err.response.data.error, type: 'error' });\n }\n });\n };\n\n return isLoading ? (\n \n ) : (\n
\n

Security Questions

\n {alert.message !== '' && (\n
\n {alert.message}\n
\n )}\n

\n Set five security questions. You must remember these answers when you are contacting the help desk.\n

\n {selectedQuestions.map((question, idx) => (\n \n ))}\n
\n \n {type === 'edit' && (\n \n )}\n
\n
\n );\n};\n","import React, { useContext, useEffect, useState } from 'react';\nimport ReactToPrint from 'react-to-print';\nimport { Button, SectionalAlert } from '../../baseComponents';\nimport { configurationContext, myAccountContext, pathContext } from '../../../contexts/contexts';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\n\n// Add margins to the page when printing the backup code\nconst getPageMargins = () => {\n return `@page { margin: 10em 5em 10em 5em !important; }`;\n};\n\nconst introMsg =\n 'If you lose access to the mobile phone number, the authentication app, or the email address used to establish your two-step authentication method, you can use this backup code to log in to your USCIS online account. Keep this code secure in a safe place for future use.';\n\nconst BackupCode = (props: { modalClose?: Function }) => {\n const { modalClose } = props;\n const { setUrl, userState, setUserState } = useContext(pathContext);\n const { user, setUser, clearAlert } = useContext(myAccountContext);\n const { configuration } = useContext(configurationContext);\n\n const { mobileView } = configuration;\n\n const [hasUserData, setHasUserData] = useState(false);\n\n const apiClient = useApiClient();\n\n /**\n * In edit mode, the BackupCode component is displayed in a modal, so the header and card container are not used.\n * Edit mode also has an extra button for generating a new backup code\n */\n\n useEffect(() => {\n setHasUserData(user.email !== '');\n }, [user.email]);\n\n const handleContinueOrClose = () => {\n clearAlert();\n if (userState === 'edit') {\n modalClose && modalClose();\n } else {\n setUserState('');\n setUrl(user.authentication_state === 'fully_signed_in' ? '/dashboard' : '/set-security-questions');\n }\n };\n\n const handleGenerateNewCode = () => {\n const url = window.location.origin + '/v1/users/generate_new_backup_code';\n\n apiClient\n .get(url)\n .then((res) => {\n if (res.status === 200) {\n setUser(res.data);\n }\n })\n .catch((err) => {\n console.log(err);\n });\n };\n\n const MainContent = () => {\n PageTitleHook('USCIS Online Account | Backup code');\n return (\n <>\n
\n If you lose access to the mobile phone number, the authentication app, or the email address used to establish\n your two-step authentication method, you can use this backup code to log in to your USCIS online account.\n
\n\n \n <>\n

Keep this code secure in a safe place for future use.

\n
\n \n

\n Your backup code is: {user.backup_code}\n

\n
\n \n
\n\n
\n {mobileView ? null : (\n
\n \n );\n };\n\n if (!hasUserData) return null;\n\n return userState === 'edit' ? (\n \n ) : (\n
\n

Backup Code

\n
\n \n
\n
\n );\n};\nexport default BackupCode;\n","export default __webpack_public_path__ + \"static/media/exclamation-triangle.c06f2e24.svg\";","import { useContext, useEffect, useState } from 'react';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport { configurationContext, myAccountContext, pathContext } from '../../../contexts/contexts';\nimport { Button } from '../../baseComponents';\nimport alertIcon from '../../../assets/icons/exclamation-triangle.svg';\n\nconst AccountType = () => {\n const { user, setUser } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n const { configuration, setConfiguration } = useContext(configurationContext);\n\n const [accountType] = useState(user['account_type']);\n const [selected, setSelected] = useState();\n const [isDisabled, setIsDisabled] = useState(true);\n const [h1btoggleEnabled, seth1btoggleEnabled] = useState(false);\n\n const apiClient = useApiClient();\n\n const handleChange = (value: string) => {\n setSelected(value);\n setIsDisabled(false);\n };\n\n const keyDownHandler = (value: string, e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n setSelected(value);\n setIsDisabled(false);\n }\n };\n\n const handleSubmit = (e: any) => {\n setIsDisabled(true);\n\n let url = window.location.origin + '/v1/users/set_account_type';\n\n if (selected === 'representative') {\n setUrl('/confirm-representative');\n } else if (selected === 'self') {\n apiClient\n .post(url, { account_type: 'self' })\n .then((res) => {\n setUser(res.data);\n setConfiguration({ ...configuration, accountTypeNeeded: false });\n //In the future we should be sending them directly to the dashboard and let redirection handle navigation.\n setUrl('/');\n })\n .catch((err) => {\n console.log(err.response);\n });\n } else {\n apiClient\n .post(url, { account_type: 'registrant' })\n .then((res) => {\n setUser(res.data);\n setConfiguration({ ...configuration, accountTypeNeeded: false });\n //In the future we should be sending them directly to the dashboard and let redirection handle navigation.\n setUrl('/');\n })\n .catch((err) => {\n console.log(err.response);\n });\n }\n };\n\n useEffect(() => {\n document.title = 'USCIS Online Account | Account type';\n }, []);\n\n useEffect(() => {\n // if they have an account type setup send them to their dashboard\n if (\n (accountType !== null && accountType !== 'noaccounttype') ||\n (accountType !== 'noaccounttype' && accountType !== null)\n ) {\n setUrl('/dashboard');\n }\n\n // Shows h1b option if account is enabled\n const toggleName = 'RegistrantAccountTypeEnabled';\n const url = window.location.origin + `/v1/app_settings/enabled?toggle_name=${toggleName}`;\n\n apiClient\n .get(url)\n .then((res) => {\n if (res.data.enabled === true) {\n seth1btoggleEnabled(true);\n } else {\n seth1btoggleEnabled(false);\n }\n })\n .catch((err) => {\n console.log(err.response);\n });\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n
\n

Account Type

\n\n
\n
\n

\n USCIS only offers certain benefit types for online filing. Please refer to the{' '}\n \n USCIS File Online webpage\n {' '}\n for further guidance.\n

\n

\n H-1B registrations and Form I-129 H-1B petitions can only be filed using the attorney or accredited\n representative account or a company account.\n

\n

Select an account type:

\n handleChange('self')}\n onKeyDown={(e) => keyDownHandler('self', e)}\n >\n \n \n
\n handleChange('representative')}\n onKeyDown={(e) => keyDownHandler('representative', e)}\n >\n \n \n
\n\n {h1btoggleEnabled && (\n handleChange('h1bregistrant')}\n onKeyDown={(e) => keyDownHandler('h1bregistrant', e)}\n >\n \n \n \n )}\n\n
\n \n
\n \n \n );\n};\n\nexport default AccountType;\n","import { PencilIcon, EyeIcon } from '../../../assets/icons';\n\ninterface EditAccountRowProps {\n label: string | null | undefined;\n value?: string | null | undefined;\n buttonClass?: string;\n buttonText: string;\n onClick: Function;\n testId?: string;\n}\n\nexport const EditAccountRow = ({\n label,\n value = '',\n onClick,\n buttonClass,\n buttonText,\n testId = 'edit-account-row-btn',\n}: EditAccountRowProps) => {\n const isView = buttonText.toLowerCase().includes('view');\n\n return (\n \n
\n
{label}
\n
{value}
\n
\n\n
\n onClick()}\n >\n
\n {isView ? : }\n \n
\n \n
\n \n );\n};\n","import React, { useEffect, useState, useContext, useRef } from 'react';\n\nimport { Button, Modal, SectionalAlert } from '../../baseComponents';\nimport { EditAccountRow } from './EditAccountRow';\nimport { myAccountContext, pathContext, configurationContext } from '../../../contexts/contexts';\nimport BackupCode from '../BackupCode/BackupCode';\n\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\nimport './EditAccount.css';\nimport { useUpdateConfiguration } from '../../../hooks/hooks';\n\nconst EditAccount = () => {\n PageTitleHook('USCIS Online Account | Edit your USCIS account');\n\n const { user, setUser, alert, setAlert, clearAlert, clearPersistentAlert } = useContext(myAccountContext);\n const { setUrl, setUserState } = useContext(pathContext);\n const { configuration } = useContext(configurationContext);\n const { appSettings } = configuration;\n\n const [showBackupModal, setShowBackupModal] = useState(false);\n const [showUnlinkModal, setShowUnlinkModal] = useState(false);\n const [showUnlinkConfirmationModal, setShowUnlinkConfirmationModal] = useState(false);\n const [loginGovModEnabled, setLoginGovModEnabled] = useState(false);\n const [userSignedIn, setUserSignedIn] = useState(false);\n\n const sectionalAlertRef = useRef(null);\n\n const apiClient = useApiClient();\n const updateConfiguration = useUpdateConfiguration();\n\n const passkeysEnabled = useRef(false);\n const passkeysRowProps = useRef({ buttonClass: '', buttonText: '', url: '' });\n\n useEffect(() => {\n if (alert.type === 'error') {\n clearAlert();\n }\n // The purpose of this call is to make sure a user is signed in.\n // Ideally in the future this will be taken care of with websockets to avoid the call.\n // A second solution would be to have local storage sync the state of the app so that will sign out a signed out user.\n\n apiClient.get('/authentication/state').then((res) => {\n // apiClient will redirect when there is no user. Therefore we can assume there is a user.\n setUserSignedIn(true);\n if (alert.message !== '' && sectionalAlertRef.current !== null) {\n sectionalAlertRef.current!.focus();\n }\n try {\n const rp_url = new URL(window.location.href.split('return_to_rp=')[1]);\n if (rp_url.hostname.endsWith('uscis.gov') || rp_url.hostname.endsWith('dhs.gov'))\n sessionStorage.setItem('rp_url', rp_url.href);\n } catch (e) {}\n });\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleDoneEditing = () => {\n if (sessionStorage.getItem('rp_url')) {\n window.location.href = sessionStorage.getItem('rp_url') ?? '';\n return;\n }\n clearPersistentAlert();\n setUrl('/dashboard');\n };\n\n const handleDeleteAccount = () => {\n clearPersistentAlert();\n setUrl('/delete-account/verify-your-account');\n };\n\n useEffect(() => {\n setUserState('edit');\n\n setLoginGovModEnabled(configuration.appSettings.includes('LoginGovModEnabled'));\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (alert.message !== '' && sectionalAlertRef.current) {\n sectionalAlertRef.current!.focus();\n }\n }, [alert]);\n\n useEffect(() => {\n passkeysEnabled.current = appSettings.includes('PasskeysEnabled');\n\n if (passkeysEnabled.current) {\n if (user.passkeys?.length) {\n passkeysRowProps.current = {\n buttonClass: '',\n buttonText: 'Edit',\n url: '/passkeys',\n };\n } else {\n passkeysRowProps.current = {\n buttonClass: '',\n buttonText: 'Add',\n url: '/passkeys/register',\n };\n }\n }\n }, [appSettings, user.passkeys?.length]);\n\n const handleModalCancel = () => {\n setShowBackupModal(false);\n setShowUnlinkModal(false);\n setShowUnlinkConfirmationModal(false);\n };\n\n const getTwoStepVerificationText = () => {\n switch (user.two_factor_method[0]) {\n case 'Email':\n return 'Primary Email';\n case 'Mobile':\n return 'SMS (Mobile Phone)';\n case 'App':\n return 'Authentication App';\n default:\n return user.two_factor_method[0];\n }\n };\n\n const getMobileText = () => {\n return user.mobile !== null ? user.mobile.replace('+1 ', '') : 'None';\n };\n\n const getRecoveryEmail = () => {\n return user.recovery_email || 'None';\n };\n\n const onClickWrapper = (goToUrl: string, refreshUser: boolean) => {\n if (alert.message !== '') {\n clearPersistentAlert();\n }\n setUrl(goToUrl);\n };\n\n const handleUnlinkOk = () => {\n handleModalCancel();\n apiClient\n .post('/login_dot_gov/update', { lg_email: '', lg_uuid: '' })\n .then((res) => {\n setAlert({ type: 'success', message: res.data.message });\n updateConfiguration();\n setUser({ ...user, login_dot_gov_linked_email: undefined });\n })\n .catch((err) => {\n console.log(err.response);\n });\n };\n\n if (!userSignedIn) {\n return null;\n }\n\n return (\n
\n \n \n \n {\n handleModalCancel();\n setShowUnlinkConfirmationModal(true);\n }}\n info={false}\n okButtonText=\"Unlink\"\n >\n
\n You can unlink your Login.gov account from USCIS online account. If you do so, you will no longer be able to\n login to USCIS with your Login.gov credentials.\n
\n \n \n
\n {`Are you sure you want to unlink your Login.gov account \n ${user.login_dot_gov_linked_email} from your USCIS online account?`}\n
\n \n

Edit Account

\n\n {alert.message !== '' && (\n
\n {alert.message}\n
\n )}\n\n
\n onClickWrapper('/edit-account/primary-email', true)}\n buttonText=\"Edit\"\n />\n onClickWrapper('/edit-account/recovery-email', false)}\n buttonText=\"Edit\"\n />\n onClickWrapper('/edit-account/change-password', true)}\n buttonText=\"Edit\"\n />\n onClickWrapper('/edit-account/select-2fa', true)}\n buttonText=\"Edit\"\n />\n onClickWrapper('/edit-account/mobile', true)}\n buttonText=\"Edit\"\n />\n onClickWrapper('/edit-account/set-security-questions', true)}\n buttonText=\"Edit\"\n />\n setShowBackupModal(true)}\n buttonText=\"View/Edit\"\n />\n {passkeysEnabled.current && (\n onClickWrapper(passkeysRowProps.current.url, false)}\n />\n )}\n onClickWrapper('/edit-account/account-activity', true)}\n buttonText=\"View\"\n />\n {loginGovModEnabled && user.login_dot_gov_linked_email && (\n setShowUnlinkModal(true)}\n buttonText=\"Unlink\"\n />\n )}\n
\n
\n \n {appSettings.includes('UserDeactivationEnabled') && (\n \n )}\n
\n
\n );\n};\n\nexport default EditAccount;\n","import React, { useContext, useEffect, useRef, useState } from 'react';\nimport { Button, Modal, ValidatedInput } from '../../../baseComponents';\nimport { formatPhoneNumber, validateMobileFormat } from '../../../../utils/utils';\nimport { myAccountContext, pathContext } from '../../../../contexts/contexts';\nimport { useApiClient } from '../../../../hooks/useApiClient';\nimport PageTitleHook from '../../../../utils/PageTitleHook/PageTitleHook';\n\nconst EditMobile = () => {\n PageTitleHook('USCIS Online Account | Mobile phone');\n const { user, setUser, setAlert } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n\n const [inputValidationMsg, setInputValidationMsg] = useState('');\n const [inputValue, setInputValue] = useState('');\n const [currentPhone, setCurrentPhone] = useState('');\n const [openModal, setOpenModal] = useState(false);\n const [disabledSubmit, setDisabledSubmit] = useState(false);\n\n const inputRef = useRef(null);\n\n useEffect(() => {\n setCurrentPhone(formatPhoneNumber(user.mobile));\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const apiClient = useApiClient();\n\n const handleSubmit = () => {\n let val = inputValue === null ? '' : inputValue.match(/[0-9]/g)?.join('');\n const validationMsg = validateMobileFormat(val);\n setInputValidationMsg(validationMsg);\n if (validationMsg !== '' && inputRef.current) {\n inputRef.current!.focus();\n return;\n }\n\n setDisabledSubmit(true);\n apiClient\n .post('/users/set_mobile_number', { mobile: val })\n .then((res) => {\n setUser(res.data);\n setUrl('/change-mobile/auth');\n })\n .catch((err) => {\n setUrl('/edit-account');\n });\n };\n const handleDeleteModal = () => {\n setOpenModal(true);\n };\n\n const handleDeleteModalCancel = () => {\n setOpenModal(false);\n };\n\n const handleDeleteMobile = () => {\n setOpenModal(false);\n apiClient\n .post('/users/delete_mobile_number')\n .then(async (res) => {\n if (res.status === 200) {\n if (\n user.two_factor_method[0] !== res.data.two_factor_method[0] &&\n res.data.two_factor_method[0] === 'Email'\n ) {\n setAlert({\n type: 'success',\n message: 'Mobile number was deleted. Two step verification changed to email.',\n shouldPersist: true,\n });\n } else {\n setAlert({\n type: 'success',\n message: 'Mobile number was deleted.',\n shouldPersist: true,\n });\n }\n setUser(res.data);\n } else if (res.status === 401) {\n setAlert({\n type: 'error',\n message: res.data.error,\n });\n }\n })\n .then(() => {\n setUrl('/edit-account');\n })\n .catch((err) => {\n setInputValidationMsg(err.message);\n inputRef.current!.focus();\n });\n };\n\n const handleCancel = () => {\n setUrl('/edit-account');\n };\n\n const handleInput = (e: any) => {\n if (inputValidationMsg !== '') setInputValidationMsg('');\n if (disabledSubmit) setDisabledSubmit(false);\n\n const value = e.target.value;\n if (value === '(0__) ___-____' || value === '(1__) ___-____') {\n setInputValue('');\n } else {\n setInputValue(formatPhoneNumber(e.target.value));\n }\n };\n\n const getMobileNumber = (mobile: string) => {\n return mobile !== null ? mobile.replace('+1 ', '') : '';\n };\n\n useEffect(() => {\n const mobileNumber = getMobileNumber(user.mobile ? user.mobile : '');\n setInputValue(mobileNumber);\n }, [user.mobile]);\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter') {\n handleSubmit();\n }\n };\n\n return (\n
\n \n
\n
\n

\n Are you sure you want to delete the mobile {currentPhone}?\n

\n
\n \n

Mobile Phone

\n
\n\n
\n

\n If you have selected SMS as your two step verification method, this phone will receive your verification code\n when you confirm it.\n

\n \n

\n If you select to receive text messaging notification to a U.S. mobile phone number listed in your account and\n accept these terms and conditions, you acknowledge that Standard Messaging Rates or other charges related to\n these notifications may apply.\n

\n

\n USCIS advises that you read the privacy policies of any application you use, especially if you share any\n personal information. USCIS is not responsible for the information collection practices of non-USCIS\n applications.\n

\n
\n
\n \n {user.mobile !== null && (\n
\n
\n );\n};\nexport default EditMobile;\n","import React, { useContext, useEffect, useRef, useState } from 'react';\n\nimport { Button, Checkbox, Modal, ValidatedInput } from '../../../baseComponents';\nimport { validateEmailFormat, EMAIL_NO_ACCENTS_ERROR_MESSAGE } from '../../../../utils/utils';\nimport { myAccountContext, pathContext } from '../../../../contexts/contexts';\n\nimport { useApiClient } from '../../../../hooks/useApiClient';\nimport PageTitleHook from '../../../../utils/PageTitleHook/PageTitleHook';\n\nconst EditRecoveryEmail = () => {\n PageTitleHook('USCIS Online Account | Recovery email');\n const { setAlert, user, setUser } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n\n const [inputValidationMsg, setInputValidationMsg] = useState('');\n const [inputValue, setInputValue] = useState('');\n const [openModal, setOpenModal] = useState(false);\n const inputRef = useRef(null);\n const initialInput = user.recovery_email ? user.recovery_email.replace(' (unconfirmed)', '') : '';\n const [currentPassword, setCurrentPassword] = useState('');\n const [passwordInputValidationMsg, setPasswordInputValidationMsg] = useState('');\n const [pwdFieldType, setPwdFieldType] = useState('password');\n const [disabledSubmit, setDisabledSubmit] = useState(false);\n\n const passwordInputRef = useRef(null);\n const showPasswordRef = useRef(null);\n\n const apiClient = useApiClient();\n\n useEffect(() => {\n setInputValue(initialInput);\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [user]);\n\n const handlePasswordCheckbox = (e: any) => {\n if (e.currentTarget.checked) setPwdFieldType('text');\n else setPwdFieldType('password');\n };\n\n const handlePasswordInput = (e: any) => {\n if (passwordInputValidationMsg !== '') setPasswordInputValidationMsg('');\n if (disabledSubmit) setDisabledSubmit(false);\n setCurrentPassword(e.target.value ? e.target.value.trimStart() : '');\n };\n\n const handleSubmit = () => {\n if (inputValue.trim() === user.email) {\n setInputValidationMsg('Please use a recovery email that is different from account email.');\n inputRef.current!.focus();\n return;\n }\n\n let recoveryEmail = inputValue === null ? '' : inputValue.trim();\n const validationMsg = validateEmailFormat(recoveryEmail);\n if (validationMsg !== '' && inputRef.current) {\n setInputValidationMsg(validationMsg);\n inputRef.current!.focus();\n return;\n }\n setDisabledSubmit(true);\n apiClient\n .post('/users/set_recovery_email', {\n recovery_email: recoveryEmail,\n current_password: currentPassword,\n })\n .then(async (res) => {\n const alertMsg = `A USCIS Account recovery confirmation email has been sent to ${inputValue\n .replace(/\\u2019/g, \"'\")\n .trim()}. Please follow the instructions in the email to confirm your recovery email request for USCIS Account. If you do not receive the confirmation email within the next 10 minutes, please return to profile update page to start a new request.`;\n setAlert({\n type: 'success',\n message: alertMsg,\n shouldPersist: true,\n });\n setUser(res.data);\n setUrl('/edit-account');\n })\n .catch((err) => {\n const errorMessage = err.response.data.error;\n processErrorMessage(errorMessage);\n return;\n });\n };\n\n const processErrorMessage = (errorMessage: string) => {\n if (errorMessage === 'The recovery e-mail address cannot be the same as the primary.') {\n setInputValidationMsg(errorMessage);\n inputRef.current!.focus();\n } else if (errorMessage === 'Invalid e-mail address provided.') {\n setInputValidationMsg(EMAIL_NO_ACCENTS_ERROR_MESSAGE);\n inputRef.current!.focus();\n } else if (errorMessage === 'The password provided is not valid.') {\n setPasswordInputValidationMsg('Your password must match your current password');\n passwordInputRef.current!.focus();\n } else if (errorMessage === 'The current password is required.') {\n setPasswordInputValidationMsg(errorMessage);\n passwordInputRef.current!.focus();\n }\n };\n\n const handleDeleteModal = () => {\n setOpenModal(true);\n };\n\n const handleDeleteModalCancel = () => {\n setOpenModal(false);\n };\n\n const handleDeleteRecoveryEmail = () => {\n setOpenModal(false);\n apiClient\n .post('/recovery_emails/remove', {\n current_password: currentPassword,\n })\n .then(async (res) => {\n if (res.status === 200) {\n const alertMsg = 'Recovery email deleted.';\n setAlert({\n type: 'success',\n message: alertMsg,\n shouldPersist: true,\n });\n setUser(res.data);\n } else if (res.status === 401) {\n setAlert({\n type: 'error',\n message: res.data.error,\n });\n }\n setUrl('/edit-account');\n })\n .catch((err) => {\n const errorMessage = err.response.data.error;\n processErrorMessage(errorMessage);\n return;\n });\n };\n\n const handleCancel = () => {\n setUrl('/edit-account');\n };\n\n const handleInput = (e: any) => {\n if (inputValidationMsg !== '') setInputValidationMsg('');\n if (disabledSubmit) setDisabledSubmit(false);\n setInputValue(e.target.value.trimStart());\n };\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter' && !disabledSubmit) {\n handleSubmit();\n }\n };\n\n return (\n
\n \n
\n
\n

\n Are you sure you want to delete the recovery email {initialInput}?\n

\n
\n \n

Edit Recovery Email

\n
\n
\n

\n {' '}\n You may provide an optional Recovery Email address, which can be used to reset your password if you lose\n access to your Primary Email account. It will not be used for any other communication from USCIS.\n

\n \n
\n \n
\n \n
\n
\n
\n
\n \n {user.recovery_email && (\n
\n
\n );\n};\nexport default EditRecoveryEmail;\n","import React, { useContext, useEffect, useState } from 'react';\nimport { Button } from '../../baseComponents';\nimport { configurationContext, myAccountContext, pathContext } from '../../../contexts/contexts';\nimport { useApiClient } from '../../../hooks/useApiClient';\n\nconst LegalRepresentative = () => {\n const { setUser } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n const { configuration, setConfiguration } = useContext(configurationContext);\n const [isDisabled, setIsDisabled] = useState(false);\n\n const apiClient = useApiClient();\n\n const handleSubmit = (e: any) => {\n setIsDisabled(true);\n apiClient\n .post('/users/set_account_type', { account_type: 'representative' })\n .then((res) => {\n setUser(res.data);\n setConfiguration({ ...configuration, accountTypeNeeded: false });\n //In the future we should be sending them directly to the dashboard and let redirection handle navigation.\n setUrl('/');\n })\n .catch((err) => {\n console.log(err.response);\n setIsDisabled(false);\n });\n };\n\n useEffect(() => {\n document.title = 'USCIS Online Account | Confirm that you are a representative';\n }, []);\n\n return (\n
\n

Confirm that you are a representative

\n
\n
\n

A representative must be:

\n

An attorney

\n

\n I am a person who is eligible to practice law in, who is in good standing of the bar of the highest courts of\n any U.S. state, possession, territory, commonwealth, or the District of Columbia, and I am not under any order\n restricting me from the practice of law. (See{' '}\n \n 8 CFR 292.1\n {' '}\n for additional information.)\n

\n

An accredited representative

\n

\n I am a person who is a representative of a qualified nonprofit religious, charitable, social service, or\n similar organization established in the United States, and who is recognized by the Department of Justice.\n (See{' '}\n \n 8 CFR 292.1\n {' '}\n and{' '}\n \n 8 CFR 1292.11-1292.20\n {' '}\n for additional information.)\n

\n
\n
\n \n setUrl('/users/type')}\n />\n
\n
\n );\n};\n\nexport default LegalRepresentative;\n","import React, { useContext, useEffect, useRef, useState } from 'react';\nimport { useApiClient } from '../../../../hooks/useApiClient';\nimport { myAccountContext, pathContext } from '../../../../contexts/contexts';\nimport { validateEmailFormat, EMAIL_NO_ACCENTS_ERROR_MESSAGE } from '../../../../utils/utils';\nimport { Button, Checkbox, ValidatedInput } from '../../../baseComponents';\nimport PageTitleHook from '../../../../utils/PageTitleHook/PageTitleHook';\n\nconst ChangePrimaryEmail = () => {\n PageTitleHook('USCIS Online Account | Change your email');\n const { user, setAlert } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n\n const [emailInputVal, setEmailInputVal] = useState('');\n const [emailInputValidationMsg, setEmailInputValidationMsg] = useState('');\n const [disabledSubmit, setDisabledSubmit] = useState(false);\n const [submitSignin, setSubmitSignin] = useState(false);\n\n const emailInputRef = useRef(null);\n\n const [passwordInputVal, setpasswordInputVal] = useState('');\n const [passwordInputValidationMsg, setPasswordInputValidationMsg] = useState('');\n const [pwdFieldType, setPwdFieldType] = useState('password');\n\n const passwordInputRef = useRef(null);\n const showPasswordRef = useRef(null);\n\n const apiClient = useApiClient();\n\n useEffect(() => {\n setEmailInputVal(user.email);\n }, [user.email]);\n\n const handlePasswordCheckbox = (e: any) => {\n if (e.currentTarget.checked) setPwdFieldType('text');\n else setPwdFieldType('password');\n };\n\n const validateEmailField = () => {\n if (emailInputVal === '') {\n setEmailInputValidationMsg(EMAIL_NO_ACCENTS_ERROR_MESSAGE);\n } else {\n setEmailInputValidationMsg(validateEmailFormat(emailInputVal.trim()));\n }\n };\n\n const validatePasswordField = () => {\n passwordInputVal === ''\n ? setPasswordInputValidationMsg('Password cannot be blank')\n : setPasswordInputValidationMsg('');\n };\n\n const handleSubmit = () => {\n validateEmailField();\n validatePasswordField();\n setDisabledSubmit(true);\n setSubmitSignin(true);\n };\n\n useEffect(() => {\n if (submitSignin) {\n if (emailInputValidationMsg !== '') {\n emailInputRef.current!.focus();\n } else if (passwordInputValidationMsg !== '') {\n passwordInputRef.current!.focus();\n } else {\n setDisabledSubmit(true);\n apiClient\n .post('/users/set_new_primary_email', {\n new_email: emailInputVal.trim(),\n password: passwordInputVal,\n })\n .then((res) => {\n const successMsg =\n user.email === emailInputVal.trim()\n ? 'Your account has been successfully updated.'\n : 'Your request to update your account was processed successfully, but we need to verify your new email address. Please check your email and click the confirmation link to confirm your new email address.';\n\n setAlert({\n type: 'success',\n message: successMsg,\n shouldPersist: true,\n });\n setUrl('/edit-account');\n })\n .catch((err) => {\n if (err.response.data.error && err.response.data.error === 'Invalid e-mail address provided.') {\n setEmailInputValidationMsg(EMAIL_NO_ACCENTS_ERROR_MESSAGE);\n }\n if (err.response.data.error && err.response.data.error === 'The password provided is not valid.') {\n setPasswordInputValidationMsg('Your password must match your current password');\n }\n });\n }\n setSubmitSignin(false);\n }\n }, [submitSignin]);\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter' && !disabledSubmit) {\n handleSubmit();\n }\n };\n\n const handleEmailInput = (e: any) => {\n if (emailInputValidationMsg !== '') setEmailInputValidationMsg('');\n if (disabledSubmit) setDisabledSubmit(false);\n setEmailInputVal(e.target.value);\n };\n\n const handlePasswordInput = (e: any) => {\n if (passwordInputValidationMsg !== '') setPasswordInputValidationMsg('');\n if (disabledSubmit) setDisabledSubmit(false);\n setpasswordInputVal(e.target.value);\n };\n\n return (\n
\n

Change Your Email

\n
\n
\n

\n You must provide your own email address below if you are the one who is filing a form online, submitting an\n online request, or tracking a case.\n

\n \n
\n \n
\n \n
\n
\n
\n
\n \n setUrl('/edit-account')}\n />\n
\n
\n );\n};\n\nexport default ChangePrimaryEmail;\n","import React, { FunctionComponent } from 'react';\n\nexport const FooterTop: FunctionComponent = () => {\n return (\n
\n
\n
    \n
  • \n \n FOIA Requests\n \n
  • \n
  • \n \n myE-Verify\n \n
  • \n
  • \n \n myUSCIS\n \n
  • \n
\n
\n
\n );\n};\n\nexport default FooterTop;\n","export default __webpack_public_path__ + \"static/media/dhs_logo.16a5671c.svg\";","import React, { FunctionComponent } from 'react'\n\nimport uscisfooterseal from '../../../assets/images/footer/dhs_logo.svg'\n\nexport const FooterMidLogo: FunctionComponent = () => {\n const imgSrc = uscisfooterseal\n const imgAlt = `U.S. Department of Homeland Security seal U.S. citizenship and immigration services`\n\n return {imgAlt}\n}\n\nexport default FooterMidLogo\n","export default __webpack_public_path__ + \"static/media/email.85bec5ee.svg\";","export default __webpack_public_path__ + \"static/media/facebook.9d898081.svg\";","export default __webpack_public_path__ + \"static/media/x_logo.0839241c.svg\";","export default __webpack_public_path__ + \"static/media/linkedin.ba84f84c.svg\";","export default __webpack_public_path__ + \"static/media/instagram.bfd69ab9.svg\";","export default __webpack_public_path__ + \"static/media/youtube.80347064.svg\";","import React, { FunctionComponent } from 'react';\nimport email from '../../../assets/images/footer/email.svg';\nimport facebook from '../../../assets/images/footer/facebook.svg';\nimport twitter from '../../../assets/images/footer/twitter.svg';\nimport X from '../../../assets/images/footer/x_logo.svg';\nimport linkedin from '../../../assets/images/footer/linkedin.svg';\nimport instagram from '../../../assets/images/footer/instagram.svg';\nimport youtube from '../../../assets/images/footer/youtube.svg';\n\nexport const FooterMidSocials: FunctionComponent = () => {\n return (\n
\n
\n
\n \n \"Facebook\n \n
\n\n
\n \n \"X\n \n
\n\n
\n \n \"YouTube\n \n
\n\n
\n \n \"Instagram\n \n
\n\n
\n \n \"LinkedIn\n \n
\n\n
\n \n \"Email\n \n
\n
\n
\n \n Contact USCIS\n \n
\n
\n );\n};\nexport default FooterMidSocials;\n","import React, { FunctionComponent } from 'react';\nimport { FooterMidLogo } from '../FooterMidLogo';\nimport { FooterMidSocials } from '../FooterMidSocials';\n\nexport const FooterMid: FunctionComponent = () => {\n return (\n
\n \n \n \n
\n \n );\n};\n\nexport default FooterMid;\n","export default __webpack_public_path__ + \"static/media/dhs_seal.b2a75fc1.svg\";","import React, { FunctionComponent } from 'react';\nimport dhsfootersealsmall from '../../../assets/images/footer/dhs_seal.svg';\n\nexport const OfficialLogoAndLink: FunctionComponent = () => {\n return (\n
\n \n
\n

USCIS.gov

\n

\n An official website of the{' '}\n \n U.S. Department of Homeland Security\n \n

\n
\n
\n );\n};\n\nexport default OfficialLogoAndLink;\n","import React, { FunctionComponent } from 'react';\nimport './FooterExternalLinks.css';\nimport { useMediaQuery } from '../../../hooks/hooks';\n\nexport const FooterExternalLinks: FunctionComponent = () => {\n const screenSizeSmall = useMediaQuery('(max-width: 640px)');\n const screenSizeLarge = useMediaQuery('(min-width: 1024px)');\n\n const links = [\n { href: 'https://www.uscis.gov/about-us', text: 'About USCIS' },\n { href: 'https://www.uscis.gov/website-policies/accessibility', text: 'Accessibility' },\n { href: 'https://www.uscis.gov/about-us/budget-planning-and-performance', text: 'Budget and Performance' },\n { href: 'https://www.uscis.gov/website-policies/dhs-component-websites', text: 'DHS Components' },\n {\n href: 'https://www.uscis.gov/records/request-records-through-the-freedom-of-information-act-or-privacy-act',\n text: 'FOIA Requests',\n },\n {\n href: 'https://www.uscis.gov/about-us/equal-employment-opportunity/equal-employment-opportunity-data-posted-pursuant-to-the-no-fear-act',\n text: 'No FEAR Act Data',\n },\n {\n href: 'https://www.uscis.gov/website-policies/privacy-and-legal-disclaimers',\n text: 'Privacy and Legal Disclaimers',\n },\n { href: 'https://www.uscis.gov/sitemap', text: 'Site Map' },\n { href: 'https://www.oig.dhs.gov/', text: 'Office of the Inspector General' },\n { href: 'https://www.whitehouse.gov/', text: 'The White House' },\n { href: 'https://www.usa.gov/', text: 'USA.gov' },\n ];\n\n let columnsCount = 0;\n\n if (screenSizeSmall) {\n columnsCount = 1;\n } else if (!screenSizeSmall && !screenSizeLarge) {\n columnsCount = 2;\n } else if (screenSizeLarge) {\n columnsCount = 3;\n }\n\n const columns: any[] = [];\n\n for (let i = 0; i < columnsCount; i++) {\n columns.push([]);\n }\n\n let columnIndex = 0;\n\n for (let i = 0; i < links.length; i++) {\n if (columns[columnIndex].length >= links.length / columnsCount) {\n columnIndex++;\n }\n columns[columnIndex].push(links[i]);\n }\n\n return (\n \n {columns.map((column, index) => (\n
\n {column.map((link: any) => (\n \n {link.text}\n \n ))}\n
\n ))}\n \n );\n};\n\nexport default FooterExternalLinks;\n","import React, { FunctionComponent } from 'react';\nimport { OfficialLogoAndLink } from '../OfficialLogoAndLink';\nimport { FooterExternalLinks } from '../FooterExternalLinks';\n\nexport const FooterBottomLogo: FunctionComponent = () => {\n return (\n \n \n \n \n );\n};\n\nexport default FooterBottomLogo;\n","import React, { FunctionComponent } from 'react';\n\nexport const FooterBottomIframe: FunctionComponent = () => {\n return (\n
\n
\n
\n \n
\n
\n
\n );\n};\n\nexport default FooterBottomIframe;\n","import React, { FunctionComponent } from 'react';\nimport { FooterBottomLogo } from '../FooterBottomLogo';\nimport { FooterBottomIframe } from '../FooterBottomIframe';\n\nexport const FooterBottom: FunctionComponent = () => {\n return (\n
\n \n \n \n
\n \n );\n};\n\nexport default FooterBottom;\n","import React, { FunctionComponent } from 'react';\nimport { FooterTop } from '../FooterTop';\nimport { FooterMid } from '../FooterMid';\nimport { FooterBottom } from '../FooterBottom';\nimport { ReturnToTop } from '../ReturnToTop';\n\nexport const Footer: FunctionComponent = () => {\n return (\n
\n
\n \n
\n \n \n \n
\n );\n};\n\nexport default Footer;\n","export default __webpack_public_path__ + \"static/media/icon-black-lock.f0afe386.svg\";","import React, { useState } from 'react';\n// import { BlackLockIcon } from \"../../../assets/icons/blackLock\";\nimport flagSrc from '../../../assets/images/header/icon-us-flag-46x26.png';\nimport govSrc from '../../../assets/images/header/icon-dot-gov-80x80.png';\nimport lockSrc from '../../../assets/images/header/icon-https-80x80.png';\nimport blackLock from '../../../assets/images/header/icon-black-lock.svg';\n\nexport const GovBanner = () => {\n const [isExpanded, setExpanded] = useState(false);\n //migrating svg's to seperate files prevented inheritance of text styling\n const downArrow = (\n \n drop down expand\n \n \n );\n\n const upArrow = (\n \n drop down collapse\n \n \n );\n\n const toggleExpand = (evt: React.MouseEvent) => {\n evt.preventDefault();\n setExpanded(!isExpanded);\n };\n\n return (\n
\n
\n
\n \"An\n \n An official website of the United States government\n \n
\n toggleExpand(evt)}\n >\n Here's how you know\n {isExpanded ? {upArrow} : {downArrow} }\n \n
\n
\n {isExpanded ? (\n \n
\n \"Dot\n
\n Official websites use .gov \n

\n A .gov website belongs to an official government organization in the United States.\n

\n
\n
\n
\n \"Secure\"\n
\n Secure .gov websites use HTTPS \n

\n A{' '}\n \n lock ( \"a )\n {' '}\n or https:// means you’ve safely connected to the .gov website. Share sensitive\n information only on official, secure websites.\n

\n
\n
\n
\n ) : null}\n
\n \n );\n};\n\nGovBanner.displayName = 'GovBanner';\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAaAgMAAAC1PIYfAAAAAXNSR0IArs4c6QAAAAlQTFRFAChovwow////QBD1EwAAADVJREFUGFdjYAAC1lAwCGBA4XCBwCowWIDKwa2HYcGCBQhlKByq2rMKARagckIRIACVQyc9AKu6ejvrbmYVAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAUKADAAQAAAABAAAAUAAAAAASKG51AAAAV1BMVEUAAAAgcL8geMcgdcUgecIgeMMgd8IjdsIjecQjeMIid8MidsQieMMieMMid8Iid8MieMIjeMIjd8Mjd8IjeMMjeMMid8Mid8MieMIieMMid8Iid8IjeMPlLO2YAAAAHHRSTlMAECAwP0BPUF9gb3B/gI+Qn6CvsL/Az9Df4O/wQqu59AAAAr9JREFUWMPlWMmuozAQbBscwgAhgI23+v/vnAPRe5OMN5Z3GE0dEBKiVO3e3E2UBqt/PaQ0AGCkfPyqGZ3A7bECgFLLMAzDohQArI/bMTbxdIAaxJskJgYFuKfYTXc38FMT/tZMHua+h431BqpNnBZrFUxffJyNgcraJBRMU0THZ+iiIxIWMy+Q5/xQasrgXVbkA5qXHzbXeKS9sWLcFw0jVpbka/fGV5tgrJyv9idA5V3kL3aIj6jyjoXtPcZHVPmg1Suqo0WkwhpyV3u8LLV/B0ezN14+5XxEOHeaTkG793yYPT9HyP38bvBAJzHgj4rCjKbTsIaF2Y9CoPt6d4ougDLfUSSuIBRfkWzyAu+3HRJFLkf4wwGm5/l82SydfFqcxAtzRibz0+aSKSPuGxmZk9uCusmL+0ZK5kY1okhckUyMRLQGfSwkEoj1Y7USsXAaD0hCxBKakQh/bJWO02lVxWJbUIdIF2SLimCK9k2GLuoTImJ1XVfE6rquibZnVdfJOyxGUiqRnIAiAQBE21PFz2/zirqe0ExXEi6GEsX/AOGA/5HQXusU+w/EYSL1DhBijBeHI4QcXax8EXEXq16OxyWIWIHd9O0rr1uBJX3JPeTlEx1tUtykOoDhiSYVbqOHesqLyk9XEb7uIFNobuEiifCk87qDiDMDReiyRFZeQyjtT104L5L4JfAHLu3MrucJjWU/N/gQLe7saOaWj1HtpNHr57B49Xh7/QBOpM+sCELDJ9Pu6BLD6XCx8McYK+fZ3pVOhi/6F9NHVlU6tfzKbdtC2zyW27btWfcVbPMa7/pSvt75gq0pX2DKVqYGS5k1jYXML3UlbHEVZYOFvKecd5ew3a4tfmvhnpHR+PZ0sPszX0wekP37JMbqXgJ+OtgymlEDgJRz3/f9LCUA6LGhE2CiG5WyAGCVGjuRO7jfEEhgsl4ohSEAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAUKADAAQAAAABAAAAUAAAAAASKG51AAAAV1BMVEUAAABwnyBwnyhwnytxnihwnyhxnipwnylxnihwnyhxnylwnylwnypwnypwnylxnylwnypxnilwnylxnipwnylxnilwnypxnipwnylxnilwnypxnilxnyokh4+IAAAAHHRSTlMAECAwP0BPUF9gb3B/gI+Qn6CvsL/Az9Df4O/wQqu59AAAAsZJREFUWMO9mVubojAMhlOYDjKAWGjp6fv/v3MvdJ3RLaEFZnOlj/qSpDk0kYgX8fF11doBgNP6+vUh6IB8XhcAMGYehmGYjQGA5fq5jyZvATCDfFFJyMEA4SaLcReHqJr0Z42KcJcSmugdTMt4S7QGrs92Z+NgNm2SBq7JwlUTbJaLpMdUZagX4pBryhDDppJX2Crf2ZXFlT+NBWNZNIxYBMtrS+OrZYh1iHV5AtQxrPxK7OIR1TGItL37eER1TFq9oN5bRGosqeNq95el9t/gaErj5V2dtwivgqVDYsNrPkyxOgas4vRq8EAHZcCPiiKcpcPinUjT94pE93wdDJ0gxn1HkTwDKJ+R7E5R8FtFuZkjVa+11l/VZr7cLVVxowfe8JAb3+dEVPcjUXzmBzzF8fVDhXtQs41G/OABgdXxjhrBPlUDgKqJagUAmv0yRiJaDB8LwN9DawHwEWYWIsGnsQKgkm/SCS1I8s8MAJ7hUgFwvD2SOrB+BuC/30WA9bhAt3UmAH742GwACSMZcybQmPOBTp0JnB1xUSMmJGQSXNywwBFJGXcDTRpo/i/QqzOBs2fDphy4EYe7gFzqlQMxssWhGFihY8tXMVBCsgW2GDhAEFlzHtBYvkkVAzHybXROA2e+jVJU63eLpKzeXB53ELXevdshIe36nUBlXpayh4tHBHp9DlD737pwnqSi9r93aRd+OQ50Xvze4EM0h6OjWZjfRrWDRi/vw+LZ4+35AziRPbIiSA2fwoa9S4xg02uRuI9YhyhKVzobvNVfCbtnVWW55dfWti21zRNb27aSdV/GNq+Joc/l9SFmbE2rGS5vZeow51nTeOjtpa6Gz66iYvDQF+7wLhq+K9ritx7htrKj/7wF+PLMlyoCun/9N0F89BqIamfLaEYLAFpPfd/3k9YAYMeGDoiQ3WiMBwBvzNjJLcf9AYWTWpeNchQ4AAAAAElFTkSuQmCC\"","export default __webpack_public_path__ + \"static/media/dhs_seal_1R.583c6629.svg\";","import React from \"react\"\n\ninterface LogoutIconProps {\n className: string\n}\n\nconst LogoutIcon = (props: LogoutIconProps) => {\n const { className } = props\n return \n\n \n \n \n \n \n\n}\n\nexport default LogoutIcon","import React, { useContext } from 'react';\nimport { useSignOut } from '../../../hooks/hooks';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport LogoutIcon from '../../../assets/icons/LogoutIcon';\nimport { Button } from '../../baseComponents';\nimport { configurationContext } from '../../../contexts/contexts';\nexport const SignOut = () => {\n const signOut = useSignOut();\n const apiClient = useApiClient();\n\n const { configuration } = useContext(configurationContext);\n\n const handleSignOut = async () => {\n if (configuration.loginDotGovEmail !== '') {\n handleLoginGov();\n } else {\n signOut();\n }\n };\n\n const handleLoginGov = () => {\n apiClient\n .get('/login_dot_gov/sign_out')\n .then((res) => {\n if (res.data.enabled === false) {\n console.log('login dot gov mod is not enabled');\n return;\n } else {\n window.location.href = res.data.login_dot_gov_url;\n }\n })\n .catch((error) => {\n console.log(error.response);\n });\n };\n\n return (\n
\n \n
\n );\n};\n","import React, { FunctionComponent, useContext, useEffect, useState } from 'react';\nimport { configurationContext, myAccountContext, pathContext } from '../../../contexts/contexts';\nimport uscis_white from '../../../assets/images/header/dhs_seal_1R.svg';\nimport { SignOut } from '../SignOut';\nimport { useLocation } from 'react-router-dom';\n\nexport const HeaderBannerBar: FunctionComponent = () => {\n const { user } = useContext(myAccountContext);\n const { userState } = useContext(pathContext);\n const { configuration } = useContext(configurationContext);\n const { mobileView } = configuration;\n\n const [showSignout, setShowSignout] = useState(false);\n const location = useLocation();\n\n useEffect(() => {\n const excludeSignOutForPaths = [\n 'sign-in',\n 'create-account',\n 'terms',\n 'forgot-password',\n 'resend-confirmation',\n 'login-gov-faq',\n '/delete-account/response',\n 'invitation-expired',\n '/passkeys/faq',\n ];\n if (\n userState === 'forgot-password' ||\n excludeSignOutForPaths.some((value) => location.pathname.includes(value)) ||\n mobileView\n ) {\n setShowSignout(false);\n } else {\n setShowSignout(true);\n }\n }, [location, mobileView, userState]);\n\n useEffect(() => {\n if (user.account_deletion_state === 'deletion_failed') {\n setShowSignout(true);\n }\n }, [user.account_deletion_state]);\n\n const imgSrc = uscis_white;\n const imgAlt = `U.S. Department of Homeland Security seal U.S. citizenship and immigration services`;\n\n return (\n
\n
\n \n {imgAlt}\n \n {showSignout && }\n
\n
\n );\n};\n","import './EnvironmentBanner.css';\n\nfunction getEnvironment() {\n const environments = ['local', 'dev', 'dt', 'pt', 'preview'];\n const origin = window.location.origin;\n\n for (let i = 0; i < environments.length; i++) {\n if (origin.includes(environments[i])) {\n return environments[i];\n }\n }\n\n return '';\n}\n\nexport const EnvironmentBanner = () => {\n const environment = getEnvironment();\n\n if (!environment) {\n return null;\n }\n\n return (\n \n {environment.toUpperCase()}\n \n );\n};\n","// I couldn't get the worker to run in a seperate file with the bundler. So we use a blob here.\nconst workerBlob = new Blob([\n `\n let intervalIds = {}\n let timeoutIds = {}\n self.onmessage = function (e) {\n switch (e.data.command) {\n case 'interval:start':\n var intvalId = setInterval(function () {\n postMessage({\n message: 'interval:tick',\n id: e.data.id,\n })\n }, e.data.interval)\n\n postMessage({\n message: 'interval:started',\n id: e.data.id,\n })\n\n intervalIds[e.data.id] = intvalId\n break\n\n case 'timeout:start':\n var intvalId = setTimeout(function () {\n postMessage({\n message: 'timeout:tick',\n id: e.data.id,\n })\n }, e.data.time)\n\n postMessage({\n message: 'timeout:started',\n id: e.data.id,\n })\n\n timeoutIds[e.data.id] = intvalId\n break\n\n case 'interval:clear':\n clearInterval(intervalIds[e.data.id])\n\n postMessage({\n message: 'interval:cleared',\n id: e.data.id,\n })\n\n delete intervalIds[e.data.id]\n break\n case 'timeout:clear':\n clearTimeout(timeoutIds[e.data.id])\n\n postMessage({\n message: 'timeout:cleared',\n id: e.data.id,\n })\n\n delete timeoutIds[e.data.id]\n break\n }\n }\n\n`,\n]);\n\nlet worker: any;\n\ntry {\n worker = new Worker(URL.createObjectURL(workerBlob));\n} catch (error) {\n worker = {\n onmessage: () => {},\n postMessage: () => {},\n };\n}\n\ntype WorkerTimerType = {\n id: number;\n callbacks: any;\n setInterval: Function;\n setTimeout: Function;\n clearInterval: Function;\n clearTimeout: Function;\n onMessage: Function;\n};\n\nlet workerTimer: WorkerTimerType = {\n id: 0,\n callbacks: {},\n\n setInterval: function (cb: any, interval: number, context: any) {\n this.id++;\n let id = this.id;\n this.callbacks[id] = { fn: cb, context: context };\n worker.postMessage({\n command: 'interval:start',\n interval: interval,\n id: id,\n });\n return id;\n },\n\n setTimeout: function (cb: any, time: number) {\n this.id++;\n let id = this.id;\n this.callbacks[id] = { fn: cb };\n worker.postMessage({\n command: 'timeout:start',\n time,\n id,\n });\n return id;\n },\n\n onMessage: function (e: any) {\n let callback = this.callbacks[e.data.id];\n switch (e.data.message) {\n case 'interval:tick':\n if (callback && callback.fn) callback.fn.apply(callback.context);\n break;\n case 'interval:cleared':\n delete this.callbacks[e.data.id];\n break;\n case 'timeout:tick':\n if (callback && callback.fn) callback.fn.apply(callback.context);\n break;\n case 'timeout:cleared':\n delete this.callbacks[e.data.id];\n break;\n default:\n }\n },\n\n clearInterval: function (id: number) {\n worker.postMessage({ command: 'interval:clear', id: id });\n },\n\n clearTimeout: function (id: number) {\n worker.postMessage({ command: 'timeout:clear', id });\n },\n};\n\nworker.onmessage = workerTimer.onMessage.bind(workerTimer);\n\nexport default workerTimer;\n","import React, { useEffect, useState } from 'react';\nimport { SectionalAlertErrorIcon, SectionalAlertInfoIcon, SectionalAlertWarningIcon } from '../../../assets/icons';\nimport './StatusBarSection.css';\n\ntype Status = {\n type: string;\n text: string;\n};\n\ntype StatusBarSectionProps = {\n showPreviewText: boolean;\n};\n\nconst getIconByStatusType = (type: string) => {\n switch (type) {\n case 'info':\n return ;\n case 'warn':\n return ;\n case 'urgent':\n return ;\n }\n};\n\nexport const StatusBarSection: React.FC = (props: StatusBarSectionProps) => {\n const [statuses, setStatuses] = useState([]);\n const { showPreviewText } = props;\n // In the future statuses should come from configuration context.\n // Do not reevaluate statuses based on configuration.\n useEffect(() => {\n if (showPreviewText) {\n setStatuses([\n {\n type: 'urgent',\n text: 'This is a test version of our site, not the production environment. If you meant to access the live site, please visit:',\n },\n ]);\n } else {\n setStatuses([\n {\n type: 'urgent',\n text: 'We are currently experiencing technical difficulties. Some features of the myAccount experience may not work as expected. We apologize for any inconvenience this may cause. We are working to resolve the issues. Please check back soon.',\n },\n ]);\n }\n }, [showPreviewText]);\n\n const handleDismissedPressed = (status: any) => {\n setStatuses(statuses.filter((s) => s !== status));\n };\n\n const hanldeKeyPressed = (keyPress: any, status: any) => {\n if (keyPress.code === 'Enter' || keyPress.code === 'Space') {\n handleDismissedPressed(status);\n }\n };\n\n return (\n
\n {statuses.map((status) => {\n return (\n \n
\n
\n {getIconByStatusType(status.type)}\n
\n
\n {showPreviewText &&
You are in the Testing Environment
}\n
\n
\n {status.text}\n {showPreviewText && (\n \n {' '}\n myaccount.uscis.gov.\n \n )}\n
\n
\n\n {/* Dismiss button */}\n {!showPreviewText && (\n
\n hanldeKeyPressed(keyPress, status)}\n >\n {\n handleDismissedPressed(status);\n }}\n >\n \n {/* remove this for preview */}\n\n Dismiss\n \n \n \n
\n )}\n
\n
\n
\n );\n })}\n \n );\n};\n","import { useContext, useEffect, useRef } from 'react';\nimport { GovBanner } from '../GovBanner';\nimport { HeaderBannerBar } from '../HeaderBannerBar';\nimport { configurationContext, pathContext } from '../../../contexts/contexts';\nimport { EnvironmentBanner } from '../EnvironmentBanner/EnvironmentBanner';\nimport { StatusBarSection } from '../StatusBarSection/StatusBarSection';\n\nexport const Header = () => {\n const { setHeaderRef, headerRef } = useContext(pathContext);\n const { configuration } = useContext(configurationContext);\n const { mobileView, appSettings } = configuration;\n\n const topRef = useRef(null);\n\n const showStatusBar: boolean = appSettings.includes('StatusBarSectionEnabled');\n let showPreviewText: boolean = false;\n\n if (window.location.host === 'myaccount-preview.uscis.gov' && !mobileView) {\n showPreviewText = true;\n }\n\n useEffect(() => {\n if (!headerRef) setHeaderRef(topRef);\n }, [setHeaderRef, headerRef]);\n\n return (\n
\n {mobileView ? null : }\n {showStatusBar && }\n {showPreviewText && }\n \n \n
\n );\n};\n","import { useState, useContext, useEffect, useRef } from 'react';\nimport { Modal } from '../baseComponents';\nimport { configurationContext, myAccountContext } from '../../contexts/contexts';\n\nimport { useApiClient } from '../../hooks/useApiClient';\nimport { defaultUser } from '../../reducer/myAccountInitialState';\nimport workerTimer from '../../utils/worker-timer';\nimport { setIdleTimer } from '../../hooks/useApiClient';\n\n// We add on one second to the timer to make sure that the timer has expired on the backend first.\nconst TIMEOUT_TIME = 20 * 60 * 1000 + 1000;\nconst SPEEDY_TIMEOUT_TIME = 30 * 1000 + 1000;\nconst PROMPT_BEFORE_TIMEOUT_TIME = 2 * 60 * 1000;\nconst SPEEDY_PROMPT_BEFORE_TIMEOUT_TIME = 20 * 1000;\n\nconst getTimeSinceLastTimerRefresh = () => {\n return new Date().getTime() - Number(localStorage.getItem('idleTimerLastRefresh'));\n};\n\nconst getIdleTimerTime = (useSpeedyTimers: boolean, syncedTime: boolean) => {\n const idleTimerLastRefresh = syncedTime ? getTimeSinceLastTimerRefresh() : 0;\n return useSpeedyTimers ? SPEEDY_TIMEOUT_TIME - idleTimerLastRefresh : TIMEOUT_TIME - idleTimerLastRefresh;\n};\n\nconst getPromptTimerTime = (useSpeedyTimers: boolean, idleTimerTime: number) => {\n return useSpeedyTimers\n ? idleTimerTime - SPEEDY_PROMPT_BEFORE_TIMEOUT_TIME\n : idleTimerTime - PROMPT_BEFORE_TIMEOUT_TIME;\n};\n\nconst IdleTimerContainer = () => {\n const { user, setUser, setAlert } = useContext(myAccountContext);\n const { configuration, setConfiguration } = useContext(configurationContext);\n\n const [showIdleModal, setShowIdleModal] = useState(false);\n const [idleTimerId, setIdleTimerId] = useState(0);\n const [promptTimerId, setPromptTimerId] = useState(0);\n\n const apiClient = useApiClient();\n\n // Refs are used here so that the callback timers don't have stale references.\n const userRef = useRef(user);\n const idleTimerIdRef = useRef(idleTimerId);\n const promptTimerIdRef = useRef(promptTimerId);\n const configurationRef = useRef(configuration);\n\n useEffect(() => {\n userRef.current = user;\n }, [user]);\n\n useEffect(() => {\n idleTimerIdRef.current = idleTimerId;\n }, [idleTimerId]);\n\n useEffect(() => {\n promptTimerIdRef.current = promptTimerId;\n }, [promptTimerId]);\n\n useEffect(() => {\n configurationRef.current = configuration;\n }, [configuration]);\n\n const setupIdleTimer = (syncTimers = false) => {\n let idleTimerTime: number;\n let promptTimerTime: number;\n\n let useSpeedyTimers = configurationRef.current.appSettings.includes('SpeedySessionTimeoutEnabled');\n\n if (!syncTimers) {\n localStorage.setItem('idleTimerLastRefresh', new Date().getTime().toString());\n }\n\n idleTimerTime = getIdleTimerTime(useSpeedyTimers, syncTimers);\n promptTimerTime = getPromptTimerTime(useSpeedyTimers, idleTimerTime);\n\n const idleTimerId = workerTimer.setTimeout(() => {\n console.log('const idleTimerId');\n if (userRef.current.authentication_state) {\n getAuthenticationState();\n setUser(defaultUser);\n localStorage.clear();\n setShowIdleModal(false);\n setConfiguration({\n ...configuration,\n lg_email: '',\n lg_uuid: '',\n lg_linked: '',\n lg_account_status: '',\n loginDotGovEmail: '',\n loginDotGovUuid: '',\n });\n setAlert({\n message: 'Your session expired after 20 minutes of inactivity. Please log back in to access your account.',\n type: 'success',\n });\n }\n return workerTimer.clearTimeout(idleTimerId);\n }, idleTimerTime);\n setIdleTimerId(idleTimerId);\n\n const promptTimerId = workerTimer.setTimeout(() => {\n if (userRef.current.authentication_state) {\n setShowIdleModal(true);\n }\n return workerTimer.clearTimeout(promptTimerId);\n }, promptTimerTime);\n setPromptTimerId(promptTimerId);\n };\n\n const handleResetTimer = (syncTimers = false) => {\n setShowIdleModal(false);\n workerTimer.clearTimeout(idleTimerIdRef.current);\n workerTimer.clearTimeout(promptTimerIdRef.current);\n setupIdleTimer(syncTimers);\n };\n\n useEffect(() => {\n setIdleTimer({\n resetTimer: handleResetTimer,\n });\n setupIdleTimer();\n\n window.addEventListener('storage', (ev) => {\n // If the timer resets on another tab, sync the timer to that time\n if (ev.key === 'idleTimerLastRefresh') {\n handleResetTimer(true);\n }\n });\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getAuthenticationState = () => {\n apiClient\n .get('/authentication/state')\n .then((response) => {})\n .catch((error) => {\n if (error.response.status === 401) {\n setUser(defaultUser);\n localStorage.clear();\n setAlert({\n message: 'Your session expired after 20 minutes of inactivity. Please log back in to access your account.',\n type: 'success',\n });\n }\n });\n };\n\n const title = 'Session Timeout';\n const okText = 'Continue Browsing';\n\n return (\n \n

\n We noticed you haven’t been very active, hence we will sign you out in 2 minutes. Please click on “Continue\n Browsing” to remain signed in.\n

\n \n );\n};\n\nexport default IdleTimerContainer;\n","import { useEffect, useState, useContext, useCallback } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { configurationContext, myAccountContext, pathContext } from '../../contexts/contexts';\n\nlet leavingApp = false;\n\nexport const resetLeavingApp = () => {\n leavingApp = false;\n};\n\ninterface RedirectionProps {\n children: any;\n}\n\nconst isUnAuthenticatedRoute = (pathname: string) => {\n if (pathname === '/reset-password/auth') return false;\n if (pathname === '/reset-password/create-password') return false;\n return (\n [\n '/sign-in',\n '/create-account',\n '/legal-terms',\n '/resend-confirmation',\n '/forgot-password',\n '/login-gov-faq',\n '/passkeys/faq',\n '/myuscis-capacity',\n ].includes(pathname) ||\n pathname.match(/^(\\/|\\/account-creation\\/|\\/update-email\\/)confirmation\\/(.+)/) ||\n pathname.match(/^\\/recovery-email-confirmation\\/(.+)/) ||\n pathname.includes('/reset-password') ||\n pathname.includes('/invitation-expired')\n );\n};\n\nconst canVisitAccountTypePage = (accountType: string | null) => {\n return !accountType || accountType === 'noaccounttype';\n};\n\nconst canVisitLoginGovLinked = (lgAccountLinked: string) => {\n return lgAccountLinked === 'success' || lgAccountLinked === 'failure';\n};\n\nconst shouldBeSentToDashboard = (pathname: string, user: any) => {\n if (user.authentication_state !== 'fully_signed_in') return false;\n if (['Mobile', 'App'].includes(user.unconfirmed_two_factor_method)) return false;\n if (pathname.includes('/update-email/confirmation')) return false;\n if (pathname.includes('/account-creation/confirmation')) return false;\n if (pathname === '/account-creation/backup-code' && user.second_factor_strategy === 'backup_code') return false;\n\n if (pathname.includes('account-creation')) return true;\n if (pathname.includes('/reset-password')) return true;\n\n switch (pathname) {\n case '/':\n return true;\n case '/sign-in':\n return true;\n case '/create-account':\n return true;\n case '/legal-terms':\n return true;\n case '/resend-confirmation':\n return true;\n case '/forgot-password':\n return true;\n case '/login-gov-faq':\n return true;\n case '/auth':\n return true;\n case '/users/type':\n return !canVisitAccountTypePage(user.account_type);\n case '/confirm-representative':\n return !canVisitAccountTypePage(user.account_type);\n case '/login-gov-linked':\n return !canVisitLoginGovLinked(user.lg_account_linked);\n }\n\n return false;\n};\n\nconst shouldBeSendToEditAccountPage = (pathname: string, user: any) => {\n if (user.authentication_state !== 'fully_signed_in') return false;\n if (pathname === '/delete-account/verify-your-account') return false;\n if (pathname.includes('/delete-account')) return !user.account_deletion_state;\n};\n\nconst directedRouteByAuthenticationState = (user: any, pathname: string) => {\n switch (user.authentication_state) {\n case 'second_factor_soft_locked':\n return '/soft-locked';\n case 'awaiting_two_factor':\n return '/auth';\n case 'incorrect_2fa_code_received':\n return incorrect2faCodeReceivedRouteHelper(user);\n case 'awaiting_terms_of_use_acceptance':\n return '/account-creation/terms-of-use';\n case 'awaiting_password_creation':\n return '/account-creation/create-password';\n case 'awaiting_2fa_method_selection':\n return awaiting2faMethodSelectionRouteHelper(pathname);\n case 'awaiting_2fa_method_confirmation':\n return awaiting2faMethodConfirmationRouteHelper(user, pathname);\n case 'awaiting_security_questions_setup':\n return awaitingSecurityQuestionsSetupRouteHelper(pathname);\n case 'tech_support_password_reset':\n return techSupportPasswordResetRouteHelper(pathname);\n case 'fully_signed_in':\n return fullySignedInRouteHelper(user);\n default:\n return '';\n }\n};\n\n// start helpers to extract some complexity out of directedRouteByAuthenticationState above (SonarQube: \"Cognitive Complexity of functions should not be too high\")\n\nconst incorrect2faCodeReceivedRouteHelper = (user: any) => {\n return user.unconfirmed_two_factor_method === 'Mobile' ? '/edit-account/auth' : '/auth';\n};\n\nconst awaiting2faMethodSelectionRouteHelper = (pathname: string) => {\n return pathname === '/account-creation/totp' ? '' : '/account-creation/select-2fa';\n};\n\nconst awaiting2faMethodConfirmationRouteHelper = (user: any, pathname: string) => {\n if (pathname === '/account-creation/select-2fa') return '';\n if (!user.unconfirmed_two_factor_method) return '/account-creation/select-2fa';\n\n if (user.unconfirmed_two_factor_method === 'App') {\n return '/account-creation/totp';\n } else {\n return '/account-creation/auth';\n }\n};\n\nconst awaitingSecurityQuestionsSetupRouteHelper = (pathname: string) => {\n return pathname === '/account-creation/backup-code' ? '' : '/account-creation/set-security-questions';\n};\n\nconst techSupportPasswordResetRouteHelper = (pathname: string) => {\n return pathname.includes('confirmation') ? '' : '/tech-reset/create-password';\n};\n\nconst fullySignedInRouteHelper = (user: any) => {\n if (user.unconfirmed_two_factor_method === 'Mobile' || user.unconfirmed_two_factor_method === 'Email') {\n return '/edit-account/auth';\n } else if (user.unconfirmed_two_factor_method === 'App') {\n return '/edit-account/totp';\n } else {\n return '';\n }\n};\n\n// end directedRouteByAuthenticationState helpers\n\nconst directedRouteByResetState = (user: any) => {\n switch (user.reset_state) {\n case 'awaiting_two_factor':\n return '/reset-password/auth';\n case 'create_password':\n return '/reset-password/create-password';\n default:\n return '';\n }\n};\n\nconst directedRouteByAccountDeletionState = (user: any, pathname: string) => {\n switch (user.account_deletion_state) {\n case 'password_verified':\n return '/delete-account/verify-2fa-delete-account';\n case 'second_factor_verified':\n return pathname === '/delete-account/response' ? '' : '/delete-account/confirm-delete';\n case 'deletion_failed':\n return '/delete-account/response';\n default:\n return '';\n }\n};\n\nconst shouldBeSentToSignIn = (user: any, pathname: string) => {\n return !user.authentication_state && !user.reset_state && !isUnAuthenticatedRoute(pathname);\n};\n\nconst shouldBeSentToLoginDotGovLinked = (lgAccountLinked?: string) => {\n return lgAccountLinked === 'success' || lgAccountLinked === 'failure';\n};\n\nconst shouldBeSendToBackupCodePage = (user: any, pathname: string) => {\n if (user.authentication_state === 'fully_signed_in') {\n return (\n user.second_factor_strategy === 'backup_code' &&\n (pathname === '/account-creation/auth' || pathname === '/account-creation/totp')\n );\n } else if (user.authentication_state === 'awaiting_security_questions_setup') {\n return (\n pathname === '/account-creation/auth' ||\n pathname === '/auth' ||\n pathname === '/account-creation/totp' ||\n pathname === '/login-gov-linked'\n );\n }\n};\n\nconst shouldBeSentToAccountTypePage = (accountTypeNeeded: boolean, pathname: string, accountType: string | null) => {\n return pathname === '/dashboard' && accountTypeNeeded && canVisitAccountTypePage(accountType);\n};\n\n// We need to look into this and see if we need to implement it..\nconst shouldReturnToSaml = (pathname: string, user: any) => {\n return (\n pathname === '/dashboard' &&\n user.authentication_state === 'fully_signed_in' &&\n user.before_dashboard === 'return_to_saml'\n );\n};\nconst returnToSaml = (samlRoute: string) => {\n if (!leavingApp) {\n leavingApp = true;\n let host = window.location.origin;\n if (host === 'http://localhost:3004') {\n host = 'https://localhost:3003';\n }\n window.location.href = host + samlRoute;\n }\n};\n\nconst getDirectedUrl = (user: any, pathname: string, configuration: any) => {\n if (user.force_redirection) {\n leavingApp = true;\n window.location.replace(user.force_redirection);\n return ''; // don't redirect anywhere (just go to the URL in force_redirection)\n }\n if (shouldBeSentToSignIn(user, pathname)) return '/sign-in';\n if (shouldBeSentToLoginDotGovLinked(user.lg_account_linked)) return '/login-gov-linked';\n if (shouldBeSendToBackupCodePage(user, pathname)) return '/account-creation/backup-code';\n if (shouldBeSentToAccountTypePage(configuration.accountTypeNeeded, pathname, user.account_type)) return '/users/type';\n // The next link might need to be reworked.\n if (shouldReturnToSaml(pathname, user)) {\n returnToSaml('/api/saml/fully_signed_in');\n return '';\n }\n if (shouldBeSentToDashboard(pathname, user)) return '/dashboard';\n if (shouldBeSendToEditAccountPage(pathname, user)) return '/edit-account';\n\n let directedRoute = directedRouteByAuthenticationState(user, pathname);\n if (directedRoute) return directedRoute;\n directedRoute = directedRouteByResetState(user);\n if (directedRoute) return directedRoute;\n directedRoute = directedRouteByAccountDeletionState(user, pathname);\n return directedRoute;\n};\n\nexport const Redirection = (props: RedirectionProps) => {\n const { user, clearAlert } = useContext(myAccountContext);\n const { url, setUrl, headerRef } = useContext(pathContext);\n const { configuration } = useContext(configurationContext);\n\n const { children } = props;\n\n const location = useLocation();\n const navigate = useNavigate();\n\n const [redirecting, setRedirecting] = useState(true);\n\n const scrollThenNavigate = useCallback(\n (url: string) => {\n if (!!headerRef) {\n headerRef.current?.scrollIntoView();\n }\n navigate(url, { replace: true });\n },\n [headerRef, navigate]\n );\n\n useEffect(() => {\n if (url === location.pathname) return;\n\n if (url) {\n if (url.includes('http')) {\n window.location.href = url;\n } else {\n clearAlert();\n scrollThenNavigate(url);\n setRedirecting(true);\n }\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [url]);\n\n useEffect(\n () => {\n if (leavingApp) return;\n\n setRedirecting(false);\n\n const directedUrl = getDirectedUrl(user, location.pathname, configuration);\n if (directedUrl && directedUrl !== location.pathname) {\n clearAlert();\n scrollThenNavigate(directedUrl);\n setRedirecting(true);\n setUrl(directedUrl);\n }\n },\n //eslint-disable-next-line react-hooks/exhaustive-deps\n [location.pathname, user]\n );\n\n return redirecting || leavingApp ? null : <>{children};\n};\n","import { useEffect, useContext, useState, useCallback } from 'react';\nimport { configurationContext, myAccountContext } from '../../../contexts/contexts';\nimport { Outlet, useLocation, useNavigate } from 'react-router-dom';\nimport { Footer } from '../../FooterComponents/Footer';\nimport { Header } from '../../HeaderComponents/Header';\nimport IdleTimerContainer from '../../../components/Timer/IdleTimerContainer';\nimport { Redirection } from '../Redirection';\nimport { useApiClient, setCheckForSignedInUser } from '../../../hooks/useApiClient';\n\nexport default function RootLayout() {\n const { configuration, setConfiguration } = useContext(configurationContext);\n const { setUser } = useContext(myAccountContext);\n\n const apiClient = useApiClient();\n const location = useLocation();\n const [configurationDataLoaded, setConfigurationDataLoaded] = useState(false);\n const [userDataLoaded, setUserDataLoaded] = useState(false);\n\n const isCardPage = (path: string) => {\n const fullPages = ['/dashboard', '/login-gov-faq', '/passkeys/faq'];\n return !fullPages.includes(path);\n };\n\n const { mobileView } = configuration;\n\n const refreshConfiguration = useCallback(async () => {\n await apiClient\n .get('/configuration/state?configuration')\n .then((res) => {\n setConfiguration(res.data);\n setConfigurationDataLoaded(true);\n })\n .catch((error: any) => {\n console.log(error);\n });\n }, []);\n\n const getAuthenticationState = useCallback(async () => {\n await apiClient\n .get('/authentication/state')\n .then((res) => {\n setUser(res.data);\n })\n .catch((error: any) => {\n console.log(error.response.data.error);\n })\n .finally(() => {\n // Once the app loads, all future calls need to check if there is a user for navigation purposes.\n setCheckForSignedInUser(true);\n setUserDataLoaded(true);\n });\n }, []);\n\n useEffect(() => {\n loadState();\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const loadState = async () => {\n await getAuthenticationState();\n refreshConfiguration();\n };\n\n useEffect(() => {\n sessionStorage.clear();\n }, []);\n\n if (!configurationDataLoaded || !userDataLoaded) return null;\n\n return (\n
\n {mobileView ? null : }\n
\n
\n \n \n \n
\n {mobileView ? null :
}\n
\n );\n}\n","import React, { useContext, useEffect, useState } from 'react';\nimport { pathContext } from '../../../../contexts/contexts';\nimport { Button, Table } from '../../../baseComponents';\nimport PageTitleHook from '../../../../utils/PageTitleHook/PageTitleHook';\nimport { useApiClient } from '../../../../hooks/useApiClient';\nimport { timestampToDateTime } from '../../../../utils/utils';\nimport { SpinnerCircle } from '../../../baseComponents';\n\nexport const eventsHeaders = [\n {\n title: 'Date',\n key: 'created',\n },\n {\n title: 'Event(s)',\n key: 'event_name',\n },\n {\n title: 'Device',\n key: 'device',\n },\n];\n\nexport interface RowProps {\n created: string;\n event_name: string;\n device: string;\n}\n\nexport const AccountActivity = () => {\n PageTitleHook('USCIS Online Account | Account activity');\n const { setUrl } = useContext(pathContext);\n const [formattedRows, setFormattedRows] = useState>([]);\n const [isLoading, setIsLoading] = useState(true);\n\n const apiClient = useApiClient();\n\n const formatEventsData = (events: Array) => {\n const rows: Array = [];\n if (events.length > 0) {\n events.forEach((event) => {\n rows.push({\n created: timestampToDateTime(event.created_at),\n event_name: event.humanized_event_name,\n device: event.humanized_device || '',\n });\n });\n }\n setFormattedRows(rows);\n };\n\n useEffect(() => {\n apiClient.get('events').then((res) => {\n formatEventsData(res.data.events);\n setIsLoading(false);\n });\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleReturn = (e: any) => {\n setUrl('/edit-account');\n };\n const handleLinkNavigate = () => {\n setUrl('/edit-account/change-password');\n };\n\n return isLoading ? (\n \n ) : (\n
\n

Account Activity

\n
\n
\n

\n If you see a device or event that you do not recognize, or you suspect someone else may have your account\n password, please consider{' '}\n {\n if (e.key === 'Enter') handleLinkNavigate();\n }}\n >\n changing your password.\n \n

\n

You have taken the following actions in your account in the last 30 days.

\n
\n\n
\n \n \n\n
\n \n
\n \n );\n};\n\nexport default AccountActivity;\n","import React, { useEffect, useState, useRef, useContext } from 'react';\n\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport { Button, SectionalAlert, ValidatedInput } from '../../baseComponents';\nimport { myAccountContext, pathContext } from '../../../contexts/contexts';\nimport { QuestionProps, defaultUser } from '../../../reducer/myAccountInitialState';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\nimport { exceededMaximumAttempts } from '../../../utils/utils';\n\ninterface SecurityAnswerProps {\n id: number | null;\n text: string;\n}\n\nconst defaultAnswer = {\n id: null,\n text: '',\n};\n\nexport const AnswerSecurityQuestions = () => {\n PageTitleHook('USCIS Online Account | Security question');\n const { setUser, alert, setAlert, clearAlert, user, token } = useContext(myAccountContext);\n const { setUrl, setUserState } = useContext(pathContext);\n const [questions, setQuestions] = useState>([]);\n const [answers, setAnswers] = useState>([defaultAnswer, defaultAnswer, defaultAnswer]);\n const [errorMsgs, setErrorMsgs] = useState>(['', '', '']);\n\n const alertRef = useRef(null);\n\n const apiClient = useApiClient();\n\n useEffect(() => {\n if (user.questions && user.questions.length > 0) {\n setQuestions(user.questions);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (alert.message !== '') {\n alertRef.current!.focus();\n }\n }, [alert]);\n\n const handleSubmit = (e: any) => {\n if (alert.message !== '') clearAlert();\n const errs = answers.map((ans) => (ans.text.trim() === '' ? 'Security Answer cannot be blank' : ''));\n setErrorMsgs(errs);\n if (errs.some((text) => text !== '')) return; // check for non-empty error message\n\n const body = createBody();\n\n apiClient\n .post('/password_reset/verify_security_answers', { token: token, answers: body })\n .then((res) => {\n setUser(res.data);\n setUrl('/create-password');\n })\n .catch((err) => {\n const data = err.response.data;\n if (!!data.questions && Object.values(data.questions).length > 0) {\n setAlert({\n type: 'error',\n message: 'Sorry, your answers do not match',\n });\n setAnswers([defaultAnswer, defaultAnswer, defaultAnswer]);\n setQuestions(Object.values(data.questions));\n } else if (data.error !== '') {\n setAlert({\n type: 'error',\n message: exceededMaximumAttempts,\n });\n setUserState('');\n setUser(defaultUser);\n setUrl('/sign-in');\n } else {\n console.log('should never reach here');\n }\n });\n };\n\n const createBody = () => {\n let body = {};\n answers.forEach((ans, idx) => {\n // body = { ...body, [idx]: Object.assign({\n // \"security_question_id\": ans.id,\n // \"text\": ans.text }) }\n body = {\n ...body,\n [idx]: {\n security_question_id: ans.id,\n text: ans.text,\n },\n };\n });\n return body;\n };\n\n const handleChange = (text: string, id: number, index: number) => {\n if (alert.message !== '') clearAlert();\n if (errorMsgs[index] !== '') setErrorMsgs(errorMsgs.map((item, idx) => (idx === index ? '' : item)));\n\n const answersCopy = [...answers];\n answersCopy[index] = { text: text, id: id };\n setAnswers(answersCopy);\n };\n\n return (\n
\n

Security Questions

\n {alert.message !== '' && (\n
\n {alert.message}\n
\n )}\n

Please answer your personal security questions to verify your identity.

\n {questions?.map((item, index) => (\n
\n

\n Question {index + 1} of {questions.length}\n

\n\n
\n

\n {item.question}\n *\n

\n

\n {`Security Answer ${index + 1}`}\n *\n

\n handleChange(e.target.value, item.id, index)}\n value={answers[index].text || ''}\n type=\"text\"\n hideLabel\n />\n
\n
\n
\n ))}\n
\n \n
\n
\n );\n};\n","export const passkeysFaqItems = [\n {\n title: 'Are passkeys the replacement for passwords?',\n body: (\n
\n

\n Passkeys are a replacement for your password. With passkeys, you can sign into your USCIS online account using\n your face, fingerprint, or PIN. Signing in with a passkey is simple, fast, and helps protect you against\n phishing attacks.\n

\n

\n

Passkeys are supported on desktop and mobile browsers.

\n
\n ),\n },\n {\n title: 'How does authentication with passkeys work?',\n body: (\n
\n

\n Instead of sending a password over the internet, your device generates a pair of keys: a private key and a\n public key.\n

\n
\n
    \n
  • The private key is stored securely on your device
  • \n
  • The public key is resgistered with the website or application
  • \n
\n
\n

\n When you want to sign in to the website or application, your device has to prove that it has the private key.\n After you unlock your private key, your device digitally signs a challenge from the website or application.\n The website or application verifies the signature using the public key and grants you access.\n

\n
\n ),\n },\n {\n title: 'Are passkeys considered multi-factor?',\n body: (\n
\n Yes, passkeys are considered a form of multi-factor authentication. When you use a passkey, you must use a\n device that stores the passkey (somehthing you have) and unlock it with biographic information or a PIN\n (something you are, or something you know).\n
\n ),\n },\n {\n title: 'Are passkeys phishing resistant?',\n body: (\n
\n Yes, passkeys are phishing resistant. When they are created, passkeys are associated with the specific domain\n that the website or app are registered with. A passkey created for your USCIS online account can only be used\n with your USCIS online account. While a user can be tricked into landing on a similar looking website, they\n can't present their passkey to the malicious website. Their device won't allow it.\n
\n ),\n },\n {\n title: 'Can I use passkeys across multiple devices?',\n body: (\n
\n

\n Yes, passkeys allow you to use cross device authentication: a passkey might be stored on one device, and you\n can use it for sign in on another device.\n

\n
\n

This is handy, for example, when you need to sign in on a new device.

\n
\n

\n To link your devices together for cross device authentication, you must scan a QR code that's generated on the\n device where you want to sign in. During this process, a proximity check takes place to ensure that the\n passkey is only being used for authentication on a link device that's nearby. With this technology, you can\n rest assured that your passkey can't be used by a remote attacker to gain access from far away.\n

\n
\n ),\n },\n];\n","import React, { MouseEventHandler, forwardRef } from 'react';\nimport { CollapseIcon, ExpandIcon } from '../../../assets/icons';\n\nexport interface AccordionItemProps {\n id: number;\n title: string;\n onClick: MouseEventHandler;\n open: boolean;\n body?: any;\n}\n\nconst AccordionItem = (props: AccordionItemProps, ref: any) => {\n const { title, onClick, open, body, id } = props;\n\n return (\n \n \n

\n {title}\n

\n
\n {open ? : }\n
\n \n {open && (\n
\n {body}\n
\n )}\n \n );\n};\n\nexport default forwardRef(AccordionItem);\n","import React, { forwardRef, useState } from 'react';\n\nimport AccordionItem from './AccordionItem';\n\ninterface AccordionProps {\n items: Array<{\n title: string;\n body: any;\n }>;\n}\n\nconst Accordion = (props: AccordionProps, ref: any) => {\n const { items } = props;\n\n const [open, setOpen] = useState(-1);\n\n const handleClick = (idx: number) => {\n idx === open ? setOpen(-1) : setOpen(idx);\n };\n\n return (\n
\n {items.map((item, idx) => (\n handleClick(idx)}\n open={open === idx}\n />\n ))}\n
\n );\n};\n\nexport default forwardRef(Accordion);\n","import { passkeysFaqItems } from './PasskeysFaqItems';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\nimport Accordion from '../../baseComponents/Accordion/Accordion';\nimport { Button, SectionalAlert } from '../../baseComponents';\nimport { useContext } from 'react';\nimport { pathContext } from '../../../contexts/contexts';\n\nexport const PasskeysFaq = () => {\n PageTitleHook('USCIS Online Account | Passkeys FAQ');\n const { setUrl } = useContext(pathContext);\n\n return (\n
\n
\n

Passkeys Frequently Asked Questions

\n\n
\n

What are passkeys?

\n
\n

\n Passkeys are a replacement for your password. With passkeys, you can sign into your USCIS online account\n using your face, fingerprint, or PIN. Signing in with a passkey is simple, fast, and helps protect you\n against phishing attacks.\n

\n
\n

Passkeys are supported on desktop and mobile browsers.

\n
\n
\n \n {'Biometric data stays on your device and is never shared with USCIS'}\n \n
\n\n \n
\n
\n );\n};\n","import React, { useContext, useRef, useState } from 'react';\nimport { LegalSection } from '../../LegalSection/LegalSection';\nimport { Button, SectionalAlert, ValidatedInput } from '../../baseComponents';\nimport { configurationContext, myAccountContext, pathContext } from '../../../contexts/contexts';\nimport { EMAIL_ERROR_MESSAGE, validateEmailFormat, throttleAlert } from '../../../utils/utils';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\n\nconst ForgotPassword = () => {\n PageTitleHook('USCIS Online Account | Reset your password for your USCIS account');\n const { alert, setAlert, clearAlert } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n const { configuration } = useContext(configurationContext);\n const { mobileView } = configuration;\n\n const [emailInputVal, setEmailInputVal] = useState('');\n const [emailValidationMsg, setEmailValidationMsg] = useState('');\n const [disabledSubmit, setDisabledSubmit] = useState(false);\n\n const emailRef = useRef(null);\n const alertRef = useRef(null);\n\n const apiClient = useApiClient();\n\n const handleEmailInputChange = (e: any) => {\n clearAlert();\n setEmailValidationMsg('');\n setEmailInputVal(e.target.value);\n setDisabledSubmit(false);\n };\n\n const validateEmailField = () => {\n let err = '';\n if (emailInputVal === '') {\n setEmailValidationMsg('Please enter a valid email address');\n err = 'Please enter a valid email address';\n } else {\n setEmailValidationMsg(validateEmailFormat(emailInputVal.trim(), true));\n err = validateEmailFormat(emailInputVal.trim(), true); //allow accented characters for forgot password email\n }\n return err;\n };\n\n const handleSubmit = () => {\n setDisabledSubmit(true);\n\n let validationErr = validateEmailField();\n\n if (validationErr !== '') {\n emailRef.current?.focus();\n return;\n }\n\n apiClient\n .post('/password_reset/request_instructions', {\n email: emailInputVal.trim(),\n })\n .then((res) => {\n setAlert({\n type: 'success',\n message: 'You will receive an email with instructions on how to reset your password in a few minutes.',\n shouldPersist: true,\n });\n setUrl('/sign-in');\n })\n .catch((err) => {\n if (err.response.data.error && err.response.data.error === 'Invalid e-mail address provided.') {\n setEmailValidationMsg(EMAIL_ERROR_MESSAGE);\n emailRef.current?.focus();\n setDisabledSubmit(false);\n }\n if (err.response.status === 400) {\n setUrl('/sign-in');\n }\n if (err.response.status === 429) {\n setAlert(throttleAlert);\n setUrl('/sign-in');\n }\n });\n };\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter') {\n handleSubmit();\n }\n };\n\n return (\n
\n

Forgot your Password?

\n {alert.message !== '' && (\n
\n {alert.message}\n
\n )}\n

\n Password reset instructions will be sent to both your primary and recovery email address (if you have one on\n record).\n

\n\n
\n \n
\n\n
\n \n
\n
\n

Already have an account?

\n {\n e.preventDefault();\n if (alert.message !== '') {\n clearAlert();\n }\n setUrl('/sign-in');\n }}\n className=\"text-dhs_light_blue hover:text-dhs_focus_blue focus:ring-1 focus:ring-dhs_focus_blue no-underline font-bold mt-1 mr-auto\"\n >\n Sign In\n \n {\n e.preventDefault();\n setUrl('/resend-confirmation');\n }}\n className=\"pt-4 text-dhs_light_blue hover:text-dhs_focus_light_blue hover:underline focus:ring-1 focus:ring-dhs_focus_blue focus:underline mt-1 mr-auto\"\n >\n Didn't receive confirmation instructions?\n \n
\n {mobileView ? null : (\n <>\n
\n \n \n )}\n
\n );\n};\n\nexport default ForgotPassword;\n","import React, { useRef, useState, useEffect, useContext } from 'react';\nimport { Button, SectionalAlert, ValidatedInput } from '../../baseComponents';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport { configurationContext, myAccountContext, pathContext } from '../../../contexts/contexts';\nimport { LegalSection } from '../../LegalSection/LegalSection';\nimport { validateEmailFormat, throttleAlert } from '../../../utils/utils';\n\nexport const SUCCESS_ALERT_MSG =\n 'If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes.';\n\nexport const ResendConfirmation = () => {\n const { alert, setAlert, clearAlert } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n const { configuration } = useContext(configurationContext);\n const { mobileView } = configuration;\n const alertRef = useRef(null);\n const successAlert = {\n message: SUCCESS_ALERT_MSG,\n type: 'success',\n shouldPersist: true,\n };\n\n const [emailInputVal, setEmailInputVal] = useState('');\n const [validationMsg, setValidationMsg] = useState('');\n const [submitSignin, setSubmitSignIn] = useState(false);\n const [disabledSubmit, setDisabledSubmit] = useState(false);\n\n const emailRef = useRef(null);\n\n const apiClient = useApiClient();\n\n const handleInputChange = (e: any) => {\n clearAlert();\n setValidationMsg('');\n setEmailInputVal(e.target.value);\n setDisabledSubmit(false);\n };\n\n const validateEmail = () => {\n if (emailInputVal === '') {\n setValidationMsg('Please enter a valid email address');\n } else {\n setValidationMsg(validateEmailFormat(emailInputVal.trim(), true));\n }\n };\n\n const handleSubmit = () => {\n setDisabledSubmit(true);\n validateEmail();\n setSubmitSignIn(true);\n };\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter') {\n handleSubmit();\n }\n };\n\n useEffect(() => {\n if (submitSignin) {\n if (validationMsg !== '') {\n emailRef.current!.focus();\n } else {\n apiClient\n .post('/users/resend_confirmation_email', { email: emailInputVal.trim() })\n .then((res) => {\n setAlert(successAlert);\n setUrl('/sign-in');\n })\n .catch((error) => {\n setAlert(error.response.status === 429 ? throttleAlert : successAlert);\n setUrl('/sign-in');\n });\n }\n setSubmitSignIn(false);\n }\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, [submitSignin, emailInputVal, validationMsg]);\n\n return (\n
\n

Resend Confirmation Instructions

\n {alert.message !== '' && (\n
\n {alert.message}\n
\n )}\n
\n \n
\n\n
\n \n
\n
\n

\n Return to\n {\n e.preventDefault();\n clearAlert();\n setUrl('/sign-in');\n }}\n aria-label=\"return to sign in\"\n className=\"pl-1 text-dhs_light_blue hover:text-dhs_focus_blue hover:underline focus:ring-1 focus:ring-dhs_focus_blue no-underline font-bold mt-1 mr-auto\"\n >\n Sign In\n \n

\n
\n {mobileView ? null : (\n <>\n
\n \n \n )}\n
\n );\n};\n","import React, { useRef, useContext } from 'react';\nimport { SectionalAlert } from '../../baseComponents';\nimport { LegalText, CompanyText, ApplicantText, DefaultText } from './InvitationExpiredUtils';\nimport { configurationContext, myAccountContext, pathContext } from '../../../contexts/contexts';\nimport { LegalSection } from '../../LegalSection/LegalSection';\nimport { useParams } from 'react-router-dom';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\n\nexport const InvitationExpired = () => {\n PageTitleHook('USCIS Online Account | Invitation expired');\n const { clearAlert } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n const { configuration } = useContext(configurationContext);\n const { mobileView } = configuration;\n const alertRef = useRef(null);\n const { text } = useParams();\n\n const textComponentFromTextParam = () => {\n switch (text) {\n case 'applicant':\n return ;\n case 'legal':\n return ;\n case 'company':\n return ;\n default:\n return ;\n }\n };\n\n return (\n
\n

\n Invitation Expired\n

\n
\n Your invitation has expired.\n
\n {textComponentFromTextParam()}\n
\n

\n Return to\n {\n clearAlert();\n setUrl('/sign-in');\n }}\n aria-label=\"return to sign in\"\n className=\"pl-1 text-dhs_light_blue hover:text-dhs_focus_blue hover:underline focus:ring-1 focus:ring-dhs_focus_blue no-underline font-bold mt-1 mr-auto\"\n >\n Sign In\n \n

\n
\n {mobileView ? null : (\n <>\n
\n \n \n )}\n
\n );\n};\n","import React, { useContext, useEffect, useRef, useState } from 'react';\nimport { useApiClient } from '../../../../hooks/useApiClient';\nimport { myAccountContext, pathContext } from '../../../../contexts/contexts';\nimport PageTitleHook from '../../../../utils/PageTitleHook/PageTitleHook';\nimport { Button, Checkbox, SectionalAlert, ValidatedInput } from '../../../baseComponents';\nimport { defaultUser } from '../../../../reducer/myAccountInitialState';\n\nconst VerifyYourAccount = () => {\n PageTitleHook('USCIS Online Account | Verify your account');\n const { user, setUser, alert, setAlert, clearAlert } = useContext(myAccountContext);\n const { setUrl } = useContext(pathContext);\n\n const [passwordInputVal, setpasswordInputVal] = useState('');\n const [passwordInputValidationMsg, setPasswordInputValidationMsg] = useState('');\n const passwordInputRef = useRef(null);\n const showPasswordRef = useRef(null);\n const [pwdFieldType, setPwdFieldType] = useState('password');\n const [disabledSubmit, setDisabledSubmit] = useState(false);\n\n const alertRef = useRef(null);\n\n const apiClient = useApiClient();\n\n const handlePasswordCheckbox = (e: any) => {\n if (e.currentTarget.checked) setPwdFieldType('text');\n else setPwdFieldType('password');\n };\n\n const handleCancel = () => {\n clearAlert();\n setUrl('/edit-account');\n };\n\n const handleSubmit = (e: any) => {\n if (passwordInputVal === '') {\n setPasswordInputValidationMsg('Password cannot be blank');\n passwordInputRef.current!.focus();\n } else {\n setDisabledSubmit(true);\n apiClient\n .post('/account_deletion/verify_password', {\n email: user.email,\n password: passwordInputVal,\n })\n .then((res) => {\n setUser(res.data);\n setUrl('/delete-account/verify-2fa-delete-account');\n })\n .catch((err) => {\n const errMessage = err.response.data.error || 'unknown error';\n\n if (errMessage === 'Incorrect password received.') {\n setAlert({\n type: 'error',\n message: 'Please enter a valid password.',\n });\n } else if (errMessage.includes('You have been signed out due to ')) {\n setAlert({\n type: 'error',\n message: errMessage,\n shouldPersist: true,\n });\n setUser(defaultUser);\n }\n });\n }\n };\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter') {\n handleSubmit(e);\n }\n };\n\n const handlePasswordInput = (e: any) => {\n if (alert.message !== '') clearAlert();\n if (disabledSubmit) setDisabledSubmit(false);\n if (passwordInputValidationMsg !== '') setPasswordInputValidationMsg('');\n setpasswordInputVal(e.target.value);\n };\n\n useEffect(() => {\n if (alert.message !== '') {\n alertRef.current!.focus();\n }\n }, [alert]);\n\n useEffect(() => {\n clearAlert();\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n
\n

Verify Your Account

\n {alert.message !== '' && (\n
\n {alert.message}\n
\n )}\n\n
\n
\n
\n
\n {}}\n value={user.email}\n type=\"text\"\n inputMode=\"email\"\n onKeyDown={handleEnterDown}\n readOnly={true}\n additionalStyling=\"bg-gray-100 opacity-100 text-black\"\n />\n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n );\n};\n\nexport default VerifyYourAccount;\n","import PageTitleHook from '../../../../utils/PageTitleHook/PageTitleHook';\nimport { pathContext } from '../../../../contexts/contexts';\nimport { useContext } from 'react';\n\nconst DeleteAccountSuccess = () => {\n PageTitleHook('USCIS Online Account | Delete account response');\n const { setUrl } = useContext(pathContext);\n\n return (\n
\n

Your Account was Successfully Deleted

\n
\n
\n

\n You have successfully deleted your USCIS online account. To access USCIS online services, you need to create a\n new account. You may use the same email address as the deleted account if desired.\n

\n
\n
\n {\n setUrl('https://www.uscis.gov/');\n }}\n >\n Go to USCIS.gov\n \n
\n
\n );\n};\nexport default DeleteAccountSuccess;\n","import React, { useEffect, useState, useContext } from 'react';\nimport { Button } from '../../../baseComponents';\nimport { myAccountContext } from '../../../../contexts/contexts';\nimport PageTitleHook from '../../../../utils/PageTitleHook/PageTitleHook';\nimport { useApiClient } from '../../../../hooks/useApiClient';\n\ninterface CaseDetail {\n cases: Array;\n drafts: Array;\n}\ninterface SPFormat {\n title: string;\n approval: number;\n humanized_approval: string;\n reason: string;\n case_detail?: CaseDetail;\n}\n\ninterface SPApprovals {\n first: SPFormat;\n myeverify: SPFormat;\n 'my.uscis': SPFormat;\n}\n\nconst initSPFormat = {\n title: '',\n approval: 0,\n humanized_approval: 'approved',\n reason: '',\n case_detail: {\n cases: [''],\n drafts: [''],\n },\n};\n\nconst PROLOGUE_ACTIVE_ITEMS = 'Your account has one or more active items and cannot be deleted at this time.';\nconst PROLOGUE_SUBMITTED_TRANSACTIONS =\n 'This account has submitted transactions with USCIS. You cannot delete this account.';\nconst PROLOGUE_DELETE_NEVER_REPRESENTATIVE = 'This account has an associated profile. You cannot delete this account.';\nconst PROLOGUE_WARNING = 'This account has active transactions with USCIS.';\n\nconst ACCOUNT_DELETE_NOT_NOW = 'Your Account Cannot Be Deleted Right Now';\nconst ACCOUNT_DELETE_NEVER = 'Your Account Cannot Be Deleted';\nconst FIRST_SUB_HEADING =\n 'Before you can delete your account, you must review and/or download documents prior to deleting your account.';\n\nconst wrapItemsInQuotes = (items: Array) => {\n const wrapped = items.map((i) => `\"${i}\"`);\n return wrapped.join(', ').trim();\n};\n\nconst DisplayUSCIS = (props: { title: string; reason: string; case_detail: CaseDetail | undefined }) => {\n const { title, reason, case_detail } = props;\n return (\n
\n

{title}

\n

{reason}

\n
    \n {case_detail && case_detail.drafts.length > 0 && (\n
  • {`Drafts: [${wrapItemsInQuotes(case_detail.drafts)}]`}
  • \n )}\n {case_detail && case_detail.cases.length > 0 &&
  • {`Cases: [${wrapItemsInQuotes(case_detail.cases)}]`}
  • }\n
\n
\n );\n};\n\nconst DisplayFirstOrMyEverify = (props: { title: string; reason: string }) => {\n const { title, reason } = props;\n\n return (\n
\n

{title}

\n {title.includes('(FIRST') &&

{FIRST_SUB_HEADING}

}\n
    \n
  • {reason}
  • \n
\n
\n );\n};\n\nconst DeleteAccountFailure = (props: { spApprovals: SPApprovals }) => {\n PageTitleHook('USCIS Online Account | Your account cannot be deleted');\n\n const { spApprovals } = props;\n const { user, setUser } = useContext(myAccountContext);\n\n const [titleText, setTitleText] = useState('');\n const [mainDescription, setMainDescription] = useState('');\n const [firstData, setFirstData] = useState(initSPFormat);\n const [myEverifyData, setMyEverifyData] = useState(initSPFormat);\n const [myUSCISData, setMyUSCISData] = useState(initSPFormat);\n const [loading, setLoading] = useState(true);\n const apiClient = useApiClient();\n\n const handleBack = () => {\n apiClient.post('/account_deletion/cancel').then((res) => {\n setUser(res.data);\n });\n };\n\n const keyDownHandler = (e: any) => {\n e.preventDefault();\n if (e.key === 'Enter') {\n handleBack();\n }\n };\n\n useEffect(() => {\n formatResponse(spApprovals);\n setLoading(false);\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const formatResponse = (spApprovalData: SPApprovals) => {\n let canBeDeleted = true;\n\n for (const [key, value] of Object.entries(spApprovalData)) {\n const approvalStatus = value['humanized_approval'];\n if (approvalStatus === 'denied forever') {\n setTitleText(ACCOUNT_DELETE_NEVER);\n canBeDeleted = false;\n switch (user.account_type) {\n case 'self':\n case 'registrant':\n setMainDescription(PROLOGUE_SUBMITTED_TRANSACTIONS);\n break;\n case 'representative':\n setMainDescription(PROLOGUE_DELETE_NEVER_REPRESENTATIVE);\n break;\n default:\n setMainDescription(PROLOGUE_WARNING);\n }\n } else if (value['humanized_approval'] === 'denied right now' && canBeDeleted) {\n setTitleText(ACCOUNT_DELETE_NOT_NOW);\n setMainDescription(PROLOGUE_ACTIVE_ITEMS);\n }\n\n if (key === 'my.uscis' && approvalStatus !== 'approved') {\n if (value.case_detail && value.case_detail.drafts.length > 0 && value.case_detail.cases.length === 0)\n setMainDescription(PROLOGUE_WARNING);\n setMyUSCISData({ ...value, title: 'myUSCIS' });\n } else if (key === 'first') {\n setFirstData({ ...value, title: 'Freedom of Information Act Immigration Records System (FIRST)' });\n } else if (key === 'myeverify') {\n setMyEverifyData({ ...value, title: 'myE-Verify' });\n }\n }\n };\n\n return loading ? null : (\n
\n

\n {titleText}\n

\n

{mainDescription}

\n {myUSCISData.humanized_approval !== 'approved' && (\n \n )}\n {firstData.humanized_approval !== 'approved' && (\n \n )}\n {myEverifyData.humanized_approval !== 'approved' && (\n \n )}\n
\n \n
\n
\n );\n};\nexport default DeleteAccountFailure;\n","import React, { useEffect, useState, useContext } from 'react';\nimport { useApiClient } from '../../../../hooks/useApiClient';\nimport { myAccountContext } from '../../../../contexts/contexts';\nimport PageTitleHook from '../../../../utils/PageTitleHook/PageTitleHook';\nimport DeleteAccountSuccess from '../DeleteAccountSuccess/DeleteAccountSuccess';\nimport DeleteAccountFailure from '../DeleteAccountFailure/DeleteAccountFailure';\n\ninterface CaseDetail {\n cases: Array;\n drafts: Array;\n}\ninterface SPFormat {\n title: string;\n approval: number;\n humanized_approval: string;\n reason: string;\n case_detail?: CaseDetail;\n}\n\ninterface SPApprovals {\n first: SPFormat;\n myeverify: SPFormat;\n 'my.uscis': SPFormat;\n}\n\nconst initSPFormat = {\n 'my.uscis': {\n title: 'myUSCIS',\n approval: 0,\n humanized_approval: 'approved',\n reason: '',\n case_detail: {\n cases: [''],\n drafts: [''],\n },\n },\n myeverify: {\n title: 'myEverify',\n approval: 0,\n humanized_approval: 'approved',\n reason: '',\n },\n first: {\n title: 'FIRST',\n approval: 0,\n humanized_approval: 'approved',\n reason: '',\n },\n};\n\nconst DeleteAccountResponse = () => {\n PageTitleHook('USCIS Online Account | Delete account response');\n const { setAlert, user, setUser } = useContext(myAccountContext);\n\n const [loading, setLoading] = useState(true);\n const [accountDeleted, setAccountDeleted] = useState(false);\n\n const [spApprovals, setSpApprovals] = useState(initSPFormat);\n\n const apiClient = useApiClient();\n\n useEffect(() => {\n apiClient\n .post('/users/delete')\n .then((res) => {\n if (res.status === 200) {\n setAccountDeleted(true);\n localStorage.clear();\n }\n setLoading(false);\n })\n .catch((err) => {\n setAccountDeleted(false);\n if (err.response.status === 401 && user['account_type'] !== null) {\n setAlert({\n type: 'error',\n message: err.response.data.error,\n });\n }\n if (err.response.status === 422) {\n setSpApprovals(err.response.data.sp_approvals);\n setUser(err.response.data);\n }\n setLoading(false);\n });\n //eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <>\n {!loading && accountDeleted && }\n {!loading && !accountDeleted && }\n \n );\n};\nexport default DeleteAccountResponse;\n","import React, { useContext, useRef, useState } from 'react';\nimport { myAccountContext, pathContext } from '../../../../contexts/contexts';\nimport PageTitleHook from '../../../../utils/PageTitleHook/PageTitleHook';\nimport { Button, ValidatedInput } from '../../../baseComponents';\nimport { useApiClient } from '../../../../hooks/useApiClient';\n\nconst ConfirmDelete = () => {\n PageTitleHook('USCIS Online Account | Delete account');\n const { setUrl } = useContext(pathContext);\n const { setUser } = useContext(myAccountContext);\n\n const [confirmInputVal, setconfirmInputVal] = useState('');\n const [confirmInputValidationMsg, setconfirmInputValidationMsg] = useState('');\n const confirmInputRef = useRef(null);\n\n const apiClient = useApiClient();\n\n const handleCancel = () => {\n apiClient.post('/account_deletion/cancel').then((res) => {\n setUser(res.data);\n });\n };\n\n const handleSubmit = (e: any) => {\n if (confirmInputVal !== 'DELETE') {\n setconfirmInputValidationMsg('Please enter the text exactly as displayed to confirm.');\n if (confirmInputRef.current) {\n confirmInputRef.current!.focus();\n return;\n }\n } else {\n setUrl('/delete-account/response');\n }\n };\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter') {\n handleSubmit(e);\n }\n };\n\n const handleconfirmInput = (e: any) => {\n if (confirmInputValidationMsg !== '') setconfirmInputValidationMsg('');\n setconfirmInputVal(e.target.value);\n };\n\n return (\n
\n

Delete Account

\n

Please Read This Information Carefully.

\n\n
\n

\n By deleting your online account, you will no longer have access to any of the listed USCIS Services. Deleting\n your account is permanent and cannot be reversed. A deleted account cannot be reactivated.\n

\n

myUSCIS: This means you will lose the ability to:

\n
    \n
  • \n Apply for certain immigration benefits online\n
  • \n
  • Access your case filing history
  • \n
  • Manage completed and pending cases
  • \n
  • Track your case status
  • \n
  • Use secure message service
  • \n
\n\n

FIRST: This means you will lose the ability to:

\n
    \n
  • \n Submit Freedom of Information Act (FOIA)/Privacy Act requests online using FIRST. (Note: These requests may\n still be submitted by email and by using Form G-639, which is available on uscis.gov.)\n
  • \n
  • Manage received FOIA and/or Privacy Act responses
  • \n
  • \n Submit requests for your personal immigration record or another person’s immigration record\n
  • \n
\n\n

myE-Verify: This means you will lose the ability to:

\n
    \n
  • Confirm your employment eligibility records using Self-Check
  • \n
  • Track E-Verify or Self-Check case status and case history
  • \n
  • Protect your identity by locking your social security number in E-Verify
  • \n
  • Use myUploads to provide supporting documents to E-Verify
  • \n
\n\n

\n Once you type “DELETE” to confirm your desire to delete your online account, your account and all\n associated data, if any, will be deleted. Your data can no longer be retrieved. The deletion of your account\n is final and cannot be reversed.\n

\n

\n Type the word “DELETE” in uppercase letters to confirm.\n

\n\n \n
\n
\n \n \n
\n
\n );\n};\n\nexport default ConfirmDelete;\n","import React, { useContext, useEffect, useState } from 'react';\nimport { SectionalAlert, Button, Modal } from '../../baseComponents';\nimport { useApiClient } from '../../../hooks/useApiClient';\n\nimport { configurationContext, myAccountContext } from '../../../contexts/contexts';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\nimport { useUpdateConfiguration } from '../../../hooks/hooks';\n\nconst LoginGovLinked = () => {\n const { configuration } = useContext(configurationContext);\n const { loginDotGovEmail, loginDotGovUuid } = configuration;\n const { alert, setAlert, clearPersistentAlert, user, setUser } = useContext(myAccountContext);\n const apiClient = useApiClient();\n const updateConfiguration = useUpdateConfiguration();\n\n PageTitleHook('USCIS Online Account | Link to Login.gov account');\n\n const defaultConfirmationModal = {\n title: '',\n show: false,\n keepLinkedAccount: true,\n };\n\n const successfulLink = alert.type === 'success';\n const [confirmationModal, setConfirmationModal] = useState(defaultConfirmationModal);\n\n useEffect(() => {\n updateConfiguration();\n }, []);\n\n const linkNewAccountBody = (\n
\n

\n Are you sure that you want to link your new Login.gov account ({user.lg_email}) to your USCIS account?\n

\n

\n If you proceed by clicking on the “Yes” button, your old Login.gov account ({user.linked_lg_email}) will\n no longer be associated with your USCIS account.\n

\n
\n );\n\n const keepLinkedAccountBody = (\n
\n

\n Are you sure that you want to keep {user.linked_lg_email} as your linked Login.gov account?\n

\n
\n );\n\n const handleLinkNewAccount = () => {\n setConfirmationModal({\n title: 'Link New Account',\n show: !successfulLink,\n keepLinkedAccount: false,\n });\n };\n\n const handleKeepCurrentAccount = () => {\n if (successfulLink) {\n clearPersistentAlert();\n setUser({ ...user, lg_account_linked: '' });\n } else {\n setConfirmationModal({\n title: 'Keep Current Linked Account',\n show: !successfulLink,\n keepLinkedAccount: true,\n });\n }\n };\n\n const handleModalCancel = () => {\n setConfirmationModal(defaultConfirmationModal);\n };\n\n const handleModalOk = () => {\n clearPersistentAlert();\n if (confirmationModal.keepLinkedAccount) {\n setConfirmationModal(defaultConfirmationModal);\n setUser({ ...user, lg_account_linked: '' });\n } else {\n apiClient\n .post('/login_dot_gov/update', {\n lg_email: loginDotGovEmail,\n lg_uuid: loginDotGovUuid,\n })\n .then((res) => {\n updateConfiguration();\n setUser({ ...user, lg_account_linked: '' });\n })\n .catch((err) => {\n if (err.response.status === 401) {\n setAlert({\n type: 'error',\n message: err.response.data.error,\n });\n }\n });\n }\n };\n\n return alert.message !== '' ? (\n
\n \n {confirmationModal.keepLinkedAccount ? keepLinkedAccountBody : linkNewAccountBody}\n \n
\n

\n {successfulLink ? 'Linking Successful' : 'Linking Unsuccessful'}\n

\n {\n
\n {alert.message}\n {alert.type === 'error' && (\n
\n

\n Your USCIS account cannot be linked to two Login.gov accounts.\n Your USCIS account already has an associated Login.gov account:{' '}\n {user.linked_lg_email}\n

\n\n

\n If you wish to keep\n \n {user.linked_lg_email}\n \n as your linked Login.gov account, please click on the “Keep Current Linked Account” button below.\n

\n

\n If you still wish to link\n \n {user.lg_email}\n \n instead, please click on the “Link New Account” button below:\n

\n
\n )}\n
\n }\n\n
\n \n {alert.type === 'error' && (\n \n )}\n
\n
\n
\n ) : (\n <>\n );\n};\n\nexport default LoginGovLinked;\n","export const loginGovFaqItems = [\n {\n title: 'How does a Login.gov account work with a USCIS online account (myAccount)?',\n body: (\n
\n If you have both a USCIS online account and a Login.gov account, you need to link the two accounts. You can use\n your Login.gov credentials to access your immigration information on the participating USCIS account platforms.\n You can always use your unique USCIS login credentials to access only your USCIS online account anytime you want\n – even after you have linked it to Login.gov.\n
\n ),\n },\n {\n title: 'What if I already have a USCIS online account and want to use Login.gov?',\n body: (\n
\n Once you link your existing USCIS online account to your new Login.gov account, you may access your USCIS online\n account by using your Login.gov access credentials. Login.gov is an optional way to sign on that allows people\n to easily access many government applications.\n
\n ),\n },\n {\n title: 'What if I don’t have a Login.gov account?',\n body: (\n
    \n
  • \n Click the “Sign in with Login.gov” button on the USCIS Sign In page to be directed to the Login.gov website.\n
  • \n
  • Click “Create Account” and set up your account with Login.gov.
  • \n
  • \n Once you’ve finished creating your account with Login.gov, you will be directed back to USCIS to log in; using\n your email, password, and verification code.\n
  • \n
  • Then you will be automatically directed back to your USCIS application.
  • \n
  • \n You will only have to do this process once to link the two accounts. Moving forward, you can use the “Sign in\n with Login.gov” button for a quick sign-on experience.\n
  • \n
\n ),\n },\n {\n title: 'What if I already have a Login.gov account?',\n body: (\n
    \n
  • \n Click the “Sign in with Login.gov” button on the Sign In page. From there you will login to Login.gov with\n your email, password, and security code.\n
  • \n
  • \n After logging in to Login.gov, you will be directed back to the USCIS website to sign in. You will use your\n USCIS online account credentials (email, password, and OTP verification code) to successfully sign in.\n
  • \n
  • Then you will be automatically directed back to your USCIS application.
  • \n
  • \n You will only have to do this process once to link the two accounts. After that, you can use the “Sign in with\n Login.gov” button for a quick sign-on experience.\n
  • \n
\n ),\n },\n {\n title:\n 'What if I already have a Login.gov account, do I also have to create a USCIS online account to explore my immigration options?',\n body: (\n
\n Yes, you must create an online account to file benefit requests and access certain online services. Your new\n USCIS online account can be linked to your existing Login.gov account. Login.gov is an optional sign on\n experience to allow people to easily sign into many government applications using the same access credentials.\n
\n ),\n },\n {\n title: 'What if I need help?',\n body: (\n
\n If you need assistance accessing your Login.gov account or experience problems while creating a Login.gov\n account, please explore the\n \n \n Login.gov help center\n \n \n prepared by the Login.gov team.\n
\n ),\n },\n {\n title: 'Where can I find more information?',\n body: (\n
\n You can learn more about Login.gov on their\n \n \n website\n \n \n . You can learn more about a USCIS online account at this\n \n \n page\n \n \n .\n
\n ),\n },\n {\n title: 'Am I required to have a Login.gov account to use USCIS applications?',\n body: (\n
\n No. You must create a USCIS online account to access USCIS applications. Login.gov is an optional sign-on\n experience to allow people to easily sign into many government applications.{' '}\n
\n ),\n },\n];\n","import { loginGovFaqItems } from './LoginGovFaqItems';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\nimport Accordion from '../../baseComponents/Accordion/Accordion';\nimport { Button } from '../../baseComponents';\nimport { useContext } from 'react';\nimport { pathContext } from '../../../contexts/contexts';\n\nconst LoginGovFaq = () => {\n PageTitleHook('USCIS Online Account | Login.gov FAQ');\n const { setUrl } = useContext(pathContext);\n\n return (\n
\n
\n

Login.gov Frequently Asked Questions

\n\n
\n

What is Login.gov?

\n
\n

\n Login.gov provides a secure and private online access option to participating government services and\n applications. With a Login.gov account, users have the capability to use the same access credentials to\n sign into multiple government websites.\n

\n

\n

\n Like the USCIS online account, also known as\n \n myAccount\n \n , the Login.gov account meets\n \n federal security standards\n \n .\n

\n
\n
\n\n \n
\n
\n );\n};\n\nexport default LoginGovFaq;\n","import React, { useEffect, useState } from 'react';\n\nexport const LastUsed = (props: { timestamp?: string | '' }) => {\n const { timestamp } = props;\n const [timeInWords, setTimeInWords] = useState('');\n\n useEffect(() => {\n if (!timestamp?.length) {\n return;\n }\n\n const dateFromTimestamp = new Date(timestamp);\n const minutesAgo = getMinutesAgo(dateFromTimestamp);\n\n if (minutesAgo <= 1) {\n setTimeInWords('1 minute ago.');\n } else if (minutesAgo <= 59) {\n setTimeInWords(`${minutesAgo} minutes ago.`);\n } else if (minutesAgo <= 119) {\n setTimeInWords('1 hour ago.');\n } else if (minutesAgo <= 1440) {\n const hoursAgo = Math.floor(minutesAgo / 60);\n setTimeInWords(`${hoursAgo} hours ago.`);\n } else {\n setTimeInWords(\n new Intl.DateTimeFormat('en-US', {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }).format(dateFromTimestamp)\n );\n }\n }, [timestamp]);\n\n const getMinutesAgo = (datetime: Date) => {\n const now = new Date();\n\n const millisecondsAgo = now.getTime() - datetime.getTime();\n const millisecondsPerMinute = 1000 * 60;\n\n return Math.floor(millisecondsAgo / millisecondsPerMinute);\n };\n\n return <>Last used: {timeInWords};\n};\n\nexport default LastUsed;\n","export const MenuPencilIcon = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n};\n","export const MenuEyeIcon = () => {\n return (\n \n \n \n \n );\n};\n","export const MenuXIcon = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { useApiClient } from '../../../hooks/useApiClient';\nimport {\n PasskeyListItem,\n PasskeyRemoval,\n listPasskeys,\n removePasskey,\n editPasskey,\n PasskeyEdit,\n} from '../../../utils/apiWrappers/PasskeysApiWrapper';\nimport PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\nimport React, { useContext, useEffect, useState, useRef, ReactComponentElement } from 'react';\nimport { Button, SectionalAlert, MenuDropdown, ValidatedInput, Modal } from '../../baseComponents';\nimport { pathContext, configurationContext, myAccountContext } from '../../../contexts/contexts';\nimport './passkeys.css';\nimport LastUsed from './LastUsed';\nimport { MenuPencilIcon } from '../../../assets/icons/MenuPencilIcon';\nimport { MenuEyeIcon } from '../../../assets/icons/MenuEyeIcon';\nimport { MenuXIcon } from '../../../assets/icons/MenuXIcon';\n\ninterface ModalProps {\n title: string;\n visible: boolean;\n children: ReactComponentElement;\n hideCancelButton: boolean;\n onCancel: () => void;\n onOk: () => void;\n}\n\nconst emptyModal = {\n title: '',\n visible: false,\n children: <>,\n hideCancelButton: true,\n onCancel: () => null,\n onOk: () => null,\n};\n\nexport const Passkeys = () => {\n const { configuration } = useContext(configurationContext);\n const { appSettings } = configuration;\n const { setUrl } = useContext(pathContext);\n const apiClient = useApiClient();\n const [passkeysList, setPasskeysList] = useState>([]);\n const { alert, setAlert, setUser } = useContext(myAccountContext);\n const sectionalAlertRef = useRef(null);\n const [showModal, setShowModal] = useState(false);\n const [showEditPasskeyModal, setShowEditPasskeyModal] = useState(false);\n const [modalProps, setModalProps] = useState(emptyModal);\n const [passkeyInputVal, setPasskeyInputVal] = useState('');\n const passkeyInputRef = useRef(null);\n const [passkeyValidationMsg] = useState('');\n const [selectedPasskey, setSelectedPasskey] = useState({\n id: -1,\n friendly_name: '',\n last_used_at: '',\n });\n PageTitleHook('USCIS Online Account | Manage Passkeys');\n\n useEffect(() => {\n if (!appSettings.includes('PasskeysEnabled')) {\n setUrl('/edit-account');\n }\n }, []);\n\n useEffect(() => {\n async function fetchPasskeys() {\n setPasskeysList(await listPasskeys(apiClient));\n }\n\n fetchPasskeys();\n }, []);\n\n const handleCancelButton = (e: any) => {\n setUrl('/edit-account');\n };\n\n const handleNewPasskeyButton = (e: any) => {\n setUrl('/passkeys/register');\n };\n\n const handleOnModalCancel = () => {\n setShowModal(false);\n };\n\n const handleOnEditPasskeyModalCancel = () => {\n setShowEditPasskeyModal(false);\n };\n\n const passkeyDropdownOptions = [\n {\n name: 'Edit',\n icon: MenuPencilIcon,\n },\n {\n name: 'View',\n icon: MenuEyeIcon,\n },\n {\n name: 'Remove',\n icon: MenuXIcon,\n },\n ];\n\n const handlePasskeyDropdownSelect = async (value: string, passkey: PasskeyListItem) => {\n switch (value) {\n case 'Edit':\n handleEditButton(passkey);\n break;\n case 'View':\n handleViewButton();\n break;\n case 'Remove':\n handleRemoveButton(passkey);\n break;\n }\n };\n\n const handleEnterDown = (e: any) => {\n if (e.key === 'Enter') {\n if (passkeyValidationMsg !== '') {\n passkeyInputRef.current!.focus();\n } else {\n handleOnEdit();\n }\n }\n };\n\n const handleOnEdit = async () => {\n const editStatus: PasskeyEdit = await editPasskey(apiClient, selectedPasskey, passkeyInputVal);\n\n if (editStatus.success && editStatus.user) {\n setAlert({ type: 'success', message: 'Your passkey has been successfully renamed.' });\n\n setUser(editStatus.user);\n setPasskeysList(editStatus.user.passkeys);\n handleOnEditPasskeyModalCancel();\n } else {\n setAlert({ type: 'error', message: 'There was a problem editing your passkey.' });\n handleOnEditPasskeyModalCancel();\n }\n };\n\n const handlePasskeyInputChange = (e: any) => {\n setPasskeyInputVal(e.target.value);\n };\n\n const handleEditButton = async (passkey: PasskeyListItem) => {\n setSelectedPasskey(passkey);\n setPasskeyInputVal(passkey.friendly_name);\n setShowEditPasskeyModal(true);\n };\n\n const handleViewButton = async () => {\n setShowModal(true);\n setModalProps({\n title: 'View Passkey',\n visible: showModal,\n children: (\n

\n Your passkeys are stored with your device's web browser as well as with USCIS. If you would like to view or\n remove the passkey on your browser, you will need to navigate to your browser settings.\n

\n Google Chrome: chrome://settings/passkeys\n

\n Note: Removing a passkey from USCIS will not remove it from your browser and vice versa. However as\n long as one is removed, the passkey will no longer work\n

\n ),\n hideCancelButton: true,\n onCancel: handleOnModalCancel,\n onOk: handleOnModalCancel,\n });\n };\n\n const handleRemoveButton = async (passkey: PasskeyListItem) => {\n const removal: PasskeyRemoval = await removePasskey(apiClient, passkey);\n\n if (removal.success && removal.user) {\n setAlert({ type: 'success', message: 'Your passkey has been successfully removed.' });\n\n setUser(removal.user);\n setPasskeysList(removal.user.passkeys);\n } else {\n setAlert({ type: 'error', message: 'There was a problem removing your passkey.' });\n }\n };\n\n return (\n
\n \n {modalProps.children}\n \n\n {/* Modal for form cannot be called in traditional way, need to implement future logic for modal to handle this */}\n \n
\n \n
\n \n\n

\n Manage Passkeys\n

\n\n {alert.message !== '' && (\n
\n {alert.message}\n
\n )}\n\n
\n {passkeysList.map((passkey) => (\n
\n
\n {passkey.friendly_name}\n
\n
\n \n
\n
\n \n
\n
\n ))}\n
\n
\n \n
\n
\n
\n
\n );\n};\n\nexport default Passkeys;\n","export default __webpack_public_path__ + \"static/media/passkey-fingerprint-icon.5b1105a7.svg\";","import PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\nimport React, { useContext, useRef, useState, useEffect } from 'react';\nimport { Button, SectionalAlert } from '../../baseComponents';\nimport { pathContext, myAccountContext, configurationContext } from '../../../contexts/contexts';\nimport './passkeys-register.css';\nimport fingerPrintIcon from '../../../assets/icons/passkey-fingerprint-icon.svg';\nimport { useApiClient } from '../../../hooks/useApiClient';\nimport { PasskeyRegistration, registerPasskey } from '../../../utils/apiWrappers/PasskeysApiWrapper';\n\nexport const PasskeysRegister = () => {\n const { configuration } = useContext(configurationContext);\n const { appSettings } = configuration;\n const { setUrl } = useContext(pathContext);\n const { alert, setAlert, setUser } = useContext(myAccountContext);\n const [registrationCompleted, setRegistrationCompleted] = useState(false);\n PageTitleHook('USCIS Online Account | Register Passkey');\n\n useEffect(() => {\n if (!appSettings.includes('PasskeysEnabled')) {\n setUrl('/edit-account');\n }\n }, []);\n\n const sectionalAlertRef = useRef(null);\n const apiClient = useApiClient();\n\n const handleCancelReturnButton = (e: any) => {\n setRegistrationCompleted(false);\n setUrl('/edit-account');\n };\n\n const handleCreatePasskeyButton = async (e: any) => {\n const registration: PasskeyRegistration = await registerPasskey(apiClient);\n\n if (registration.success) {\n setUser(registration.user);\n setUrl('/passkeys');\n setAlert({ type: 'success', message: 'Your passkey method has been successfully added.', shouldPersist: true });\n } else {\n setAlert({ type: 'error', message: 'There was a problem adding your passkey.' });\n }\n\n setRegistrationCompleted(true);\n };\n\n return (\n
\n

\n Register Passkey\n

\n\n {registrationCompleted && (\n
\n {alert.message}\n
\n )}\n\n
\n
\n \"fingerprint\n
\n

Sign in faster next time

\n

\n You can sign in securely with your passkey using
your fingerprint, face, or other screen-lock method.\n

\n

\n \n Learn more about Passkeys\n \n

\n\n {registrationCompleted ? (\n
\n \n
\n ) : (\n <>\n
\n \n
\n
\n \n
\n \n )}\n
\n
\n );\n};\n\nexport default PasskeysRegister;\n","import PageTitleHook from '../../../utils/PageTitleHook/PageTitleHook';\nimport { Button, SectionalAlert } from '../../baseComponents';\nimport { useContext } from 'react';\nimport { pathContext } from '../../../contexts/contexts';\n\nexport const MyUscisCapacity = () => {\n PageTitleHook('USCIS Online Account | My USCIS at Capacity');\n const { setUrl } = useContext(pathContext);\n\n return (\n
\n
\n

Please try again later...

\n\n
\n \n {'myUSCIS is currently experiencing a high volume of requests. Please try again later.'}\n \n
\n\n
\n
\n );\n};\n","import React from 'react';\n\nexport const PlaceHolder = () => {\n return (\n
\n

Temp Page

\n
\n );\n};\n","import React, { Suspense } from 'react';\n\nimport { Route, createBrowserRouter, createRoutesFromElements, RouterProvider } from 'react-router-dom';\nimport { SpinnerCircle } from '../baseComponents';\n\nimport Select2fa from '../pages/Select2fa/Select2fa';\nimport SoftLocked from '../pages/SoftLocked/SoftLocked';\nimport TermsOfUsePage from '../pages/TermsOfUse/TermsOfUse';\nimport CreateAccountTos from '../pages/CreateAccountTos/CreateAccountTos';\nimport { Dashboard } from '../pages/Dashboard/Dashboard';\nimport SignIn from '../pages/SignIn/SignIn';\nimport { Error404 } from '../pages/Error404/Error404';\nimport { SignInAuth } from '../pages/SignInAuth/SignInAuth';\nimport CreateAccount from '../pages/CreateAccount/CreateAccount';\nimport { ConfirmToken } from '../pages/ConfirmToken/ConfirmToken';\nimport AuthApp2faConfirmation from '../pages/AuthApp2faConfirmation/AuthApp2faConfirmation';\nimport { SetSecurityQuestions } from '../pages/SetSecurityQuestions/SetSecurityQuestions';\nimport BackupCode from '../pages/BackupCode/BackupCode';\nimport AccountType from '../pages/AccountType/AccountType';\nimport EditAccount from '../pages/EditAccount/EditAccount';\nimport EditMobile from '../pages/EditAccount/EditAccountPages/EditMobile';\nimport EditRecoveryEmail from '../pages/EditAccount/EditAccountPages/EditRecoveryEmail';\nimport LegalRepresentative from '../pages/LegalRepresentative/LegalRepresentative';\nimport ChangePrimaryEmail from '../pages/EditAccount/EditAccountPages/ChangePrimaryEmail';\nimport RootLayout from './layouts/RootLayout';\nimport AccountActivity from '../pages/EditAccount/EditAccountPages/AccountActivity';\nimport { AnswerSecurityQuestions } from '../pages/SetSecurityQuestions/AnswerSecurityQuestions';\nimport { PasskeysFaq } from '../pages/PasskeysFaq/PasskeysFaq';\nimport ForgotPassword from '../pages/ForgotPassword/ForgotPassword';\nimport { ResendConfirmation } from '../pages/ResendConfirmation/ResendConfirmation';\nimport { InvitationExpired } from '../pages/InvitationExpired/InvitationExpired';\nimport VerifyYourAccount from '../pages/DeleteAccount/VerifyYourAccount/VerifyYourAccount';\nimport DeleteAccountResponse from '../pages/DeleteAccount/DeleteAccountResponse/DeleteAccountResponse';\nimport ConfirmDelete from '../pages/DeleteAccount/ConfirmDelete/ConfirmDelete';\nimport LoginGovLinked from '../pages/LoginGovLinked/LoginGovLinked';\nimport LoginGovFaq from '../pages/LoginGovFaq/LoginGovFaq';\nimport Passkeys from '../pages/Passkeys/Passkeys';\nimport PasskeysRegister from '../pages/PasskeysRegister/PasskeysRegister';\nimport { MyUscisCapacity } from '../pages/MyUscisCapacity/MyUscisCapacity';\nimport { PlaceHolder } from '../pages/Placeholder/PlaceHolder';\n\n// Lazy load the CreatePassword component\nconst CreatePasswordForm = React.lazy(() => import('../pages/CreatePassword/CreatePasswordForm'));\nconst ChangePasswordForm = React.lazy(() => import('../pages/ChangePassword/ChangePassword'));\n\nconst LazyImportPasswordForm = (flag: string, type: string) => (\n <>\n \n
\n \n
\n
\n }\n >\n {flag === 'create' ? : }\n \n \n);\n\nconst router = createBrowserRouter(\n createRoutesFromElements(\n }>\n } />\n } />\n\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n \n \n \n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n }\n />\n } />\n } />\n } />\n } />\n } />\n } />\n \n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n\n \n } />\n } />\n } />\n \n\n } />\n } />\n } />\n \n )\n);\n\nexport const Routing = () => {\n return ;\n};\n","import React, { useReducer } from 'react';\nimport { testInitialState, defaultAlert } from './myAccountInitialState';\n\nexport const actions = {\n SET_USER: 'SET_USER',\n CLEAR_USER: 'CLEAR_USER',\n SET_ALERT: 'SET_ALERT',\n CLEAR_ALERT: 'CLEAR_ALERT',\n CLEAR_PERSISTENT_ALERT: 'CLEAR_PERSISTENT_ALERT',\n SET_SHOW_CREATE_ACCOUNT_ALERT: 'SET_SHOW_CREATE_ACCOUNT_ALERT',\n SET_ACCOUNT_ACTIVITY_EVENTS: 'SET_ACCOUNT_ACTIVITY_EVENTS',\n SET_TOKEN: 'SET_TOKEN',\n SET_SHOW_ANNIVERSARY_LOGO: 'SET_SHOW_ANNIVERSARY_LOGO',\n};\n\nexport function MyAccountReducer(state: any, action: any) {\n switch (action.type) {\n case actions.SET_USER:\n return { ...state, user: action.value };\n case actions.SET_ALERT:\n return { ...state, alert: action.value };\n case actions.CLEAR_ALERT:\n // If an alert is persistent, we don't want to clear it.\n if (state.alert.shouldPersist) {\n return state;\n } else {\n return { ...state, alert: defaultAlert };\n }\n case actions.CLEAR_PERSISTENT_ALERT:\n return { ...state, alert: defaultAlert };\n case actions.SET_TOKEN:\n return { ...state, token: action.value };\n case actions.SET_SHOW_ANNIVERSARY_LOGO:\n return { ...state, showAnniversaryLogo: action.value };\n default:\n return { state };\n }\n}\n\nconst changedUser = {\n ...testInitialState.user,\n email: 'test_email_com',\n};\n\n// ======= Component(s) used only for testing reducer ============\nexport const TestUserUpdate = () => {\n const [state, dispatch] = useReducer(MyAccountReducer, testInitialState);\n\n return (\n
\n

Email: {state.email}

\n \n
\n );\n};\n","export const pathActions = {\n SET_URL: 'SET_URL',\n SET_USER_STATE: 'SET_USER_STATE',\n SET_REFRESH_USER_DATA: 'SET_REFRESH_USER_DATA',\n SET_HEADER_REF: 'SET_HEADER_REF',\n};\n\nexport function PathReducer(state: any, action: any) {\n switch (action.type) {\n case pathActions.SET_URL:\n return { ...state, url: action.value };\n case pathActions.SET_USER_STATE:\n return { ...state, userState: action.value };\n case pathActions.SET_HEADER_REF:\n return { ...state, headerRef: action.value };\n default:\n return { state };\n }\n}\n","export const configurationActions = {\n SET_CONFIGURATION: 'SET_CONFIGURATION',\n};\n\nexport function ConfigurationReducer(state: any, action: any) {\n switch (action.type) {\n case configurationActions.SET_CONFIGURATION:\n return { ...state, configuration: action.value };\n default:\n return { ...state };\n }\n}\n","import { useReducer } from 'react';\nimport { initialState, UserProps, AlertProps } from './reducer/myAccountInitialState';\nimport { initialPathState } from './reducer/pathInitialState';\nimport { Routing } from '../src/components/Routing/Routing';\nimport { MyAccountReducer, actions } from './reducer/myAccountReducer';\nimport { PathReducer, pathActions } from './reducer/pathReducer';\nimport { ConfigurationReducer, configurationActions } from './reducer/configurationReducer';\nimport { ConfigurationProps, initialConfigurationState } from './reducer/configurationInitialState';\nimport { myAccountContext, pathContext, configurationContext } from './contexts/contexts';\n\nexport function MyAccountProvider({ children }: any) {\n const [state, dispatch] = useReducer(MyAccountReducer, initialState);\n\n const myAccountValue = {\n user: state.user,\n setUser: (value: UserProps) => dispatch({ type: actions.SET_USER, value }),\n alert: state.alert,\n setAlert: (value: AlertProps) => dispatch({ type: actions.SET_ALERT, value }),\n clearAlert: () => dispatch({ type: actions.CLEAR_ALERT }),\n clearPersistentAlert: () => dispatch({ type: actions.CLEAR_PERSISTENT_ALERT }),\n token: state.token,\n setToken: (value: string) => dispatch({ type: actions.SET_TOKEN, value }),\n showAnniversaryLogo: state.showAnniversaryLogo,\n setShowAnniversaryLogo: (value: boolean) => dispatch({ type: actions.SET_SHOW_ANNIVERSARY_LOGO, value }),\n };\n\n return {children};\n}\n\nexport function PathProvider({ children }: any) {\n const [pathState, dispatchPath] = useReducer(PathReducer, initialPathState);\n\n const pathValue = {\n url: pathState.url,\n setUrl: (value: string) => dispatchPath({ type: pathActions.SET_URL, value }),\n userState: pathState.userState,\n setUserState: (value: string) => dispatchPath({ type: pathActions.SET_USER_STATE, value }),\n headerRef: pathState.headerRef,\n setHeaderRef: (value: any) => dispatchPath({ type: pathActions.SET_HEADER_REF, value }),\n };\n\n return {children};\n}\n\nexport function ConfigurationProvider({ children }: any) {\n const [state, dispatch] = useReducer(ConfigurationReducer, initialConfigurationState);\n\n const configurationValue = {\n configuration: state.configuration,\n setConfiguration: (value: ConfigurationProps) => dispatch({ type: configurationActions.SET_CONFIGURATION, value }),\n };\n\n return {children};\n}\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './stylesheets/index.css';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}